-- CREATE DATABASE  IF NOT EXISTS `sergios_mwcloud` /*!40100 DEFAULT CHARACTER SET latin1 */;
-- USE `sergios_mwcloud`;
-- MySQL dump 10.13  Distrib 5.5.34, for debian-linux-gnu (i686)
--
-- Host: mysql8.websitesource.net    Database: sergios_mwcloud
-- ------------------------------------------------------
-- Server version	5.0.77

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Not dumping tablespaces as no INFORMATION_SCHEMA.FILES table on this server
--

--
-- Table structure for table `peg_uploadstash`
--

DROP TABLE IF EXISTS `peg_uploadstash`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_uploadstash` (
  `us_id` int(10) unsigned NOT NULL auto_increment,
  `us_user` int(10) unsigned NOT NULL,
  `us_key` varbinary(255) NOT NULL,
  `us_orig_path` varbinary(255) NOT NULL,
  `us_path` varbinary(255) NOT NULL,
  `us_source_type` varbinary(50) default NULL,
  `us_timestamp` varbinary(14) NOT NULL,
  `us_status` varbinary(50) NOT NULL,
  `us_size` int(10) unsigned NOT NULL,
  `us_sha1` varbinary(31) NOT NULL,
  `us_mime` varbinary(255) default NULL,
  `us_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `us_image_width` int(10) unsigned default NULL,
  `us_image_height` int(10) unsigned default NULL,
  `us_image_bits` smallint(5) unsigned default NULL,
  PRIMARY KEY  (`us_id`),
  UNIQUE KEY `us_key` (`us_key`),
  KEY `us_user` (`us_user`),
  KEY `us_timestamp` (`us_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_uploadstash`
--

LOCK TABLES `peg_uploadstash` WRITE;
/*!40000 ALTER TABLE `peg_uploadstash` DISABLE KEYS */;
INSERT INTO `peg_uploadstash` VALUES (1,1,'10iex8w2z6ew.trz7wk.1.png','/tmp/phpPdFjNj.png','mwrepo://local/temp/2/27/20120420104719!phpPdFjNj.png','file','20120420104719','finished',24526,'ffs36gk45suzgctnt9kzylmnwv6plgc','image/png','BITMAP',600,550,8);
/*!40000 ALTER TABLE `peg_uploadstash` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_langlinks`
--

DROP TABLE IF EXISTS `pvt_langlinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_langlinks` (
  `ll_from` int(10) unsigned NOT NULL default '0',
  `ll_lang` varbinary(20) NOT NULL default '',
  `ll_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `ll_from` (`ll_from`,`ll_lang`),
  KEY `ll_lang` (`ll_lang`,`ll_title`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_langlinks`
--

LOCK TABLES `pvt_langlinks` WRITE;
/*!40000 ALTER TABLE `pvt_langlinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_langlinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_category`
--

DROP TABLE IF EXISTS `peg_category`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_category` (
  `cat_id` int(10) unsigned NOT NULL auto_increment,
  `cat_title` varbinary(255) NOT NULL,
  `cat_pages` int(11) NOT NULL default '0',
  `cat_subcats` int(11) NOT NULL default '0',
  `cat_files` int(11) NOT NULL default '0',
  `cat_hidden` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`cat_id`),
  UNIQUE KEY `cat_title` (`cat_title`),
  KEY `cat_pages` (`cat_pages`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_category`
--

LOCK TABLES `peg_category` WRITE;
/*!40000 ALTER TABLE `peg_category` DISABLE KEYS */;
INSERT INTO `peg_category` VALUES (1,'Páginas_con_enlaces_rotos_a_archivos',0,0,0,0),(2,'TABLAS',29,0,0,0),(3,'TKT',8,0,0,0),(4,'VISTAS',19,0,0,0),(5,'TKTOut',4,0,0,0),(6,'PROC',16,0,0,0),(7,'LIBR',3,0,0,0),(8,'RPRT',3,0,0,0),(9,'FORM',11,0,0,0),(10,'TRIG',9,0,0,0),(11,'OOBasicCode',6,0,0,0),(12,'SQLCode',2,0,0,0),(13,'MACRO',22,0,0,0);
/*!40000 ALTER TABLE `peg_category` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_updatelog`
--

DROP TABLE IF EXISTS `pvt_updatelog`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_updatelog` (
  `ul_key` varbinary(255) NOT NULL,
  `ul_value` blob,
  PRIMARY KEY  (`ul_key`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_updatelog`
--

LOCK TABLES `pvt_updatelog` WRITE;
/*!40000 ALTER TABLE `pvt_updatelog` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_updatelog` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_page_props`
--

DROP TABLE IF EXISTS `fzg_page_props`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_page_props` (
  `pp_page` int(11) NOT NULL,
  `pp_propname` varbinary(60) NOT NULL,
  `pp_value` blob NOT NULL,
  UNIQUE KEY `pp_page_propname` (`pp_page`,`pp_propname`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_page_props`
--

LOCK TABLES `fzg_page_props` WRITE;
/*!40000 ALTER TABLE `fzg_page_props` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_page_props` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_searchindex`
--

DROP TABLE IF EXISTS `pvt_searchindex`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_searchindex` (
  `si_page` int(10) unsigned NOT NULL,
  `si_title` varchar(255) NOT NULL default '',
  `si_text` mediumtext NOT NULL,
  UNIQUE KEY `si_page` (`si_page`),
  FULLTEXT KEY `si_title` (`si_title`),
  FULLTEXT KEY `si_text` (`si_text`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_searchindex`
--

LOCK TABLES `pvt_searchindex` WRITE;
/*!40000 ALTER TABLE `pvt_searchindex` DISABLE KEYS */;
INSERT INTO `pvt_searchindex` VALUES (1,'pu8c3a1gina principal',' notas sasu800 sas_aa_data aau800 data sas_pendientes pendientes sas_md_data mdu800 data sas_zz_data zzu800 data proyectos spanex spanex_mercado mercado spanex_competencia competencia spanex_ideas ideas 911bike notas_scl_bicicletas sclu800 data mecu8c3a1nica curso mecu8c3a1nica - 1u8c2ba curso mecu8c3a1nica - 2u8c2ba theu800 extensive guide tou800 bicycle repair bicycletutoru82ecomu800 sugerencias mantenimiento diagrama enu800 diagrama esu800 glosario esu800-enu800-fru800 911project_lista_compras lista compras tourconsultants tourconsultants_repu8c3bablica_checa repu8c3bablica checa tourconsultants_francia francia bicicletas bicicletas bicicletas mecu8c3a1nica curso mecu8c3a1nica - 1u8c2ba curso mecu8c3a1nica - 2u8c2ba theu800 extensive guide tou800 bicycle repair bicycletutoru82ecomu800 sugerencias mantenimiento diagrama enu800 diagrama esu800 glosario esu800-enu800-fru800 mercado 911project_lista_compras lista compras sitios bicyclingu82ecomu800 biciclubu82ecomu800 ejercicios ejercicios ejercicios ejercicios para aliviar elu800 ciu8c3a1tico sciatica pain relief 1u800 minute sciatica exercises ejercicio para lau800 prevenciu8c3b3n yu800 tratamiento deu800 lau800 ciu8c3a1tica -- -- finance finance finance paraisos panama letonia ecuador australia tailandia rusia kazajstu8c3a1n yu800 otros paises. transferencias electru8c3b3nicas western union moneygram xoom contact divisas electru8c3b3nicas bitcoin liberty reserve pecunix paxum perfect money paypal cu800-gold hoopay gdpu800 mtgox '),(26,'bicicletas tiendas',' happybuy avu800 scalabrini ortiz 361u800 011u800u82e4857u82e2467 011u800u82e4856u82e8913 happyu82ebuyu800u82eargu800 gmailu82ecomu800 rodadospaternal terrero 2200 011u800u82e4586u82e4243 polanskiworld aguirre 1066 du800 conu800 cita previa 011u800u82e15u800u82e4991u82e2357 polanskiworld gmailu82ecomu800 tuhogarsustentable cabello 3433 011u800u82e6091u82e3838 info tuhogarsustentableu82ecomu800 '),(27,'sasu800 zzu800 data',' ehu800 1055 shawnmarr rdu800 unit 127u800 mississauga ontario l5hu800 3v2u800 cau800 1u800u82e9058915309 '),(29,'geometriau82ecuadrou82ebicicletau82epngu800',' '),(30,'bicicletasu82ediagramau82estemu82epngu800',' '),(8,'bicycle diagram-enu800u82epngu800',' '),(9,'bicycle diagram-esu800u82epngu800',' '),(10,'diagrama enu800',' file bicycle diagram-enu800u82epngu800 '),(11,'diagrama esu800',' file bicycle_diagram-esu800u82epngu800 diagrama enu800 diagrama inglu8c3a9s file bicicletau82edespieceu82ejpgu800 1u800 cuadro 2u800 horquilla 3u800 u8e280a8manubrio manillar 4u800 stem 5u800 expansor 6u800 tornillo deu800 apriete u8e280a8 7u800 yu800 8u800 juego deu800 direcciu8c3b3n veru800 abajo u8e280a8 9u800 cubierta 10u800 llanta 11u800 maza buje 12u800 rayos 13u800 cubeta derecha deu800 lau800 caja pedalera u8e280a8 14u800 bolillasu8e280a8 15u800 ejeu800 u8e280a8 16u800 cubeta izquierda deu800 lau800 caja pedalerau8e280a8 17u800 taza izquierda caja pedalerau8e280a8 18u800 contra tuerca deu800 lau800 caja 19u800 palanca biela izquierda 20u800 tornillo 21u800 arandela 22u800 protector contra elu800 polvo 23u800 palanca biela derecha yu800 plato 24u800 taza derecha caja pedalera 25u800 punteras 26u800 pedales 27u800 cadena 28u800 vela tubo delu800 asiento 29u800 apriete delu800 tubo delu800 asiento 30u800 asiento 31u800 piu8c3b1u8c3b3n u8e280a8u8e280a8 32u800 correa deu800 lasu800 punteras '),(12,'glosario esu800-enu800-fru800',' table align center style background #f0f0f0;  espau8c3b1ol  align center style background #f0f0f0;  ingles  align center style background #f0f0f0;  francu8c3a9s  - asiento saddleu8e280a8 selle - cadena chainu8e280a8 chau8c3aene - caja pedalera bottom bracket bou8c3aetier deu800 pu8c3a9dalieru8e280a8 - cu8c3a1mara inner tubeu8e280a8 chambre u8c3a0 airu800 - correa puntera toeu800 strapu8e280a8 sangles cale pied - cuadro frameu8e280a8 cadre - cubierta tyre pneuu8e280a8 - delantero frontu8e280a8 avant - ejeu800 axle axeu800 - freno brake freinu8e280a8 - horquilla forku8e280a8 fourche - juego deu800 direcciu8c3b3n headsetu8e280a8 jeuu800 deu800 directionu8e280a8 - llanta rimu800 janteu8e280a8 - manubrio handlebaru8e280a8 cintre - maza hubu8e280a8 moyeu - palanca crank lever manivelleu8e280a8 - palanca cambios shifter - palanca deu800 freno brake lever levier deu800 frein - pedal pedal pu8c3a9dale - piu8c3b1u8c3b3n cogu800 - sprocket pignon - piu8c3b1u8c3b3n libre freewheelu8e280a8 roue libre - plato - corona chainring couronneu8e280a8 - puntera toeu800 clip cale pied - rayo spoke rayonu8e280a8 - rosca threadu8e280a8 pasu800 deu800 visu8e280a8 - rueda wheelu8e280a8 roue - rueda wheel - stem stemu8e280a8 potence - telescopio head tube tube deu800 direction - trasero rearu8e280a8 arriu8c3a8re - tubo deu800 asiento seat tube tube deu800 selleu8e280a8 - tubo inferior down tube tube diagonal - tubo superior topu800 tube tube horizontale - vaina inferior chain stay baseu8e280a8 - vaina superior seat stayu8e280a8 hauban - vela - tubo deu800 asiento seat post tige deu800 selle - '),(2,'fzgu800u82edocsu82eprocesosu82ecomposicionu82ejpgu800',' '),(3,'fzgu800u82edocsu82eprocesosu82epreciosu82ejpgu800',' '),(4,'fzgu800u82edocsu82eprocesosu82epresupuestou82ejpgu800',' '),(5,'fzgu800u82edocsu82eprocesosu82eproductosu82ejpgu800',' '),(6,'fzgu800u82edocsu82eprocesosu82eayudau82ejpgu800',' '),(7,'fzgu800u82edocsu82epantallau82epresupuestou82ejpgu800',' '),(13,'notas',' __toc__ sclu800 bicicletas terrabike sanu800 diego 896u800 - coquimbo cascos raja 19u800u82e990u800 - 259u800 - 416u800 sabu800 10u800-15u800 bikenew sanu800 diego 802u800-848u800 casco sixsixone 18u800u82e900u800 - 245u800 - 394u800 altared cristobal colon 5821 - lasu800 condes alderete 1651 - vitacura lau800 chancha pigu800 fuenzalida 205u800 - locu800 13u800 - lasu800 condes casco biscia 12u800u82e000u800 - 154u800 - 250u800 parrillas belda mallsport mall plaza vespuscio bicimundo vitacura 4868 - vitacura central bici general gambino 398u800 lobo bike diagonal rancagua 980u800 sabado 11u800-15u800 sportxperts lasu800 condes 12340 locu800 5u800 sanu800 diego 844u800 '),(14,'notas sclu800 bicicletas',' tiendas importadora caupulican wu800 http icbikesu82eclu800 cu800 leon zimend; gisela zimend du800 sanu800 diego 867u800 tu800 56u800-2u800-6961937 lau800 cleta terrabike sanu800 diego 896u800 yu800 coquimbo mapa pereira vespucio suru800 irrazabal hasta salvador josu8c3a9 cau8c3b1as - manuel matta sanu800 diego derecha cascos raja 19u800u82e990u800 - 259u800 - 416u800 sabu800 10u800-15u800 bikenew sanu800 diego 802u800-848u800 casco sixsixone 18u800u82e900u800 - 245u800 - 394u800 altared cristobal colon 5821 - lasu800 condes alderete 1651 - vitacura lau800 chancha pigu800 fuenzalida 205u800 - locu800 13u800 - enu800 frente deu800 alto lasu800 condes casco biscia 12u800u82e000u800 - 154u800 - 250u800 parrillas belda mallsport mall plaza vespuscio bicimundo vitacura 4868 - vitacura central bici general gambino 398u800 lobo bike diagonal rancagua 980u800 vespucio suru800 francisco bilbao pasando jose miguel claro sabado 11u800-15u800 '),(15,'notas sclu800 electro',' '),(16,'notas sclu800 informatica',' '),(28,'curso mecu8c3a1nica - 1u8c2ba',' contactos instructor  diego maldonado  mu800 011u800u82e5377u82e1711 centro deu800 formaciu8c3b3n profesional nu8c2ba7 ramsay 2250 - caba tu800 011u800u82e4783u82e8725 contactos roberto garcilazo marcela mariano preceptor notas notas notas sistema deu800 cambios trasero fusible anclaje delu800 sistema deu800 cambios trasero paralelo alu800 ejeu800 delu800 piu8c3b1on. file bicicletasu82efusibleu82ejpgu800 75px tope inferior limita alu800 equipo queu800 nou800 zafe fuera delu800 sistema enu800 forma externa tope superior limita alu800 equipo queu800 nou800 seu800 corra entre elu800 equipo yu800 lau800 rueda trasera. piu8c3b1ones medidas 11u800 32u800 11u800 34u800 11u800 36u800 descarrilador servicio servicio servicio verificar relaciu8c3b3n plato piu8c3b1on. para piu8c3b1ones deu800 13u800 dientes generalmente deu800 piu8c3b1on au800 rosca elu800 plato debe seru800 deu800 48u800 dientes plato grande para queu800 nou800 quede corto analizar elu800 costo-beneficio deu800 hacer algu8c3adn cambio cambiar elu800 piu8c3b1on deu800 11u800 casete involucraru8c3ada cambiar lau800 masa yu800 rearmar lau800 rueda. cambiar elu800 plato significaru8c3ada reajustar elu800 descarrilador delantero yu800 ademu8c3a1s cambiar lau800 cadena poru800 conu800 1u800 ou800 2u800 eslabones mu8c3a1s. verificar largo deu800 cadena. ubicar lau800 cadena enu800 elu800 plato chico yu800 lau800 corona chica. lau800 distancia tiene entre lau800 cadena yu800 lau800 rueda superior delu800 cambio trasero tiene queu800 seru800 deu800 deu800 1cmu800. siu800 lau800 cadena estu8c3a1 demasiado alejada deu800 lau800 rueda superior estu8c3a1 corta yu800 elu800 resorte delu800 cambio trasero trabaja conu800 demasiada tensiu8c3b3n. siu800 au800 lau800 inversa lau800 cadena toca lau800 rueda superior deu800 lau800 pata deu800 cambio estu8c3a1 demasiado larga yu800 elu800 resorte nou800 trabaja conu800 lau800 tensiu8c3b3n suficiente. enu800 lou800 queu800 hace au800 lau800 cadena hayu800 otros dosu800 factores elu800 estiramiento yu800 lau800 suciedad. elu800 estiramiento seu800 dau800 poru800 elu800 usou800. cuando lau800 cadena cumple losu800 3000 kmu800 pierde lau800 distancia original entre perno yu800 perno yu800 esou800 nou800 su8c3b3lo empieza au800 perjudicar au800 lasu800 coronas delu800 piu8c3b1u8c3b3n sino tambiu8c3a9n alu800 paso deu800 losu800 cambios. seu800 puede verificar elu800 estado tratando deu800 hacer torsiu8c3b3n enu800 lau800 cadena. siu800 lau800 torsiu8c3b3n supera losu800 30u8c2ba esu800 necesario plantear elu800 cambio. retirar rueda trasera verificar cableado chequear siu800 lau800 funda deu800 cambio esu800 realmente deu800 cambio 4mmu800 yau800 queu800 enu800 muchos casos suele seru800 deu800 freno 5mmu800 yu800 lau800 funda deu800 freno nou800 esu800 delu800 diu8c3a1metro interno correcto niu800 tampoco tiene lau800 rigidez queu800 debe tener unau800 funda deu800 cambio. poru800 otra parte debemos prestar atenciu8c3b3n alu800 largo deu800 lau800 funda yau800 queu800 siu800 esu800 corta puede hacer queu800 nou800 entre deu800 forma franca alu800 regulador estrangulu8c3a1ndose. ajustar tensiu8c3b3n cable ajustar descarrilador trasero ajustar topes superior eu800 inferior ajustar fusible deu800 pata deu800 cambio elu800 fusible debe estar paralelo au800 lau800 cadena yu800 alu800 piu8c3b1on. para verificar queu800 nou800 exista desvu8c3ado esu800 unau800 pieza corta yu800 nou800 siempre esu800 verificable au800 simple vista siu800 estu8c3a1 descalibrada usar elu800 calibrador deu800 fusible. seu800 retira lau800 pata deu800 cambio yu800 seu800 inserta elu800 calibrador enu800 elu800 mismo lugar queu800 elu800 perno deu800 montaje deu800 lau800 pata deu800 cambio. punto superior marcar elu800 extremo superior deu800 lau800 llanta tocando elu800 calibre sobre elu800 costado deu800 lau800 llanta como siu800 fuese unu800 patu8c3adn deu800 freno. punto inferior marcar elu800 extremo inferior deu800 lau800 llanta tocando elu800 calibre sobre elu800 costado deu800 lau800 llanta como siu800 fuese unu800 patu8c3adn deu800 freno. enu800 elu800 caso queu800 nou800 coincida verificar queu800 lau800 rueda seu800 encuentre correctamente centrada. enu800 elu800 caso queu800 estu8c3a9 correctamente colocada yu800 queu800 elu800 calibre detecte queu800 elu800 fusible este doblado forzar conu800 elu800 mismo calibre hasta queu800 queden parejos alineaciu8c3b3n vertical punto izquierdo medio marcar elu800 extremo izquierdo deu800 lau800 llanta tocando elu800 calibre sobre elu800 costado deu800 lau800 llanta como siu800 fuese unu800 patu8c3adn deu800 freno. enu800 elu800 caso queu800 nou800 coincida forzar conu800 elu800 mismo calibre hasta queu800 queden parejos losu800 tres puntos alineaciu8c3b3n horizontal ajustar sistemas deu800 frenos sistemas deu800 frenos sistemas deu800 frenos herradura cantilever balancu8c3adn vu800-brake usado para frenadas mu8c3a1s bruscas yau800 queu800 ataca au800 lau800 circunferencia deu800 lasu800 ruedas disco usado para frenadas mu8c3a1s suaves yau800 queu800 ataca alu800 ejeu800 deu800 lasu800 ruedas yu800 lau800 aplicaciu8c3b3n deu800 fuerza esu800 diferente. stems stems stems hoyu800 losu800 sistemas deu800 stems sonu800 intercambiables yu800 modulares. antes seu800 instalaba elu800 famoso stem deu800 1u800 queu800 comunmente utilizaba unu800 expansor para agarrarse delu800 cau8c3b1o. file bicicletasu82ediagramau82estemu82epngu800 center border 200px cuadros cuadros cuadros existen diferentes u8c3a1ngulos deu800 ataque como seu800 veu800 enu800 lau800 foto file geometriau82ecuadrou82ebicicletau82epngu800 center border 400px sabiendo queu800 existen algunos estu8c3a1ndar como 69u8c2ba tipo inglesa mu8c3a1s relajado 72u8c2ba mtbu800 herramientas taller herramientas taller herramientas taller genu8c3a9ricas juego deu800 llaves 8mmu800 - 17mm limas plana redonda martillos bolita plano chico maza goma pinzas pico deu800 loro punta llave deu800 fuerza llave francesa 10u800 cutter sierra deu800 arco bimetalizado deu800 32u800 dientes metro poru800 pulgadas yu800 centu8c3admetros destornilladores phillips punta plana calibre metal tijera especu8c3adficas especu8c3adficas especu8c3adficas llave pedales deu800 15mm pero mu8c3a1s finas file checkedu82epngu800 20px extractor plato yu800 palanca ejeu800 punta cuadrada llave cricket conu800 anclaje 0u800u82e5u800 file checkedu82epngu800 20px extractor caja pedalera tubo 14u800 para anclaje deu800 0u800u82e5u800 extractor para piu8c3b1on au800 casete file checkedu82epngu800 20px llave sujeta piu8c3b1on au800 casete extractor para piu8c3b1on au800 rosca file checkedu82epngu800 20px llave sujeta piu8c3b1on au800 rosca llaves para conjunto deu800 direcciu8c3b3n file checkedu82epngu800 20px 36u800 40u800 file checkedu82epngu800 20px 30u800 32u800 file checkedu82epngu800 20px clavador deu800 cubeta llave para conos 16u800 14u800 yu800 13u800 15u800 file checkedu82epngu800 20px calibre comparardor para fusibles file checkedu82epngu800 20px llaves allen file checkedu82epngu800 20px corta cadena file checkedu82epngu800 20px calibre para desgaste deu800 cadena macho para pedales alu800 revu8c3a9s deu800 unau800 terraja 1u800 2u800 playera yu800 9u800 16u800 macho mu8c3a9trico 5mmu800 10mm para fusibles llaves sacacubiertas file checkedu82epngu800 20px saca u8c3b3vulo parche soluciu8c3b3n lau800 tirso-gomez centrador cadenas cadenas cadenas cadenas para mtbu800 largo habitual 116u800 eslabones procedimiento deu800 armado recambio procedimiento deu800 armado recambio procedimiento deu800 armado recambio posicionar enu800 piu8c3b1on chico plato chico yu800 tensionar unu800 poco lau800 pata deu800 cambios seu800 repliega alu800 nou800 tener lau800 cadena yu800 tensionando lau800 cadena sabremos como quedaru8c3ada enu800 elu800 caso deu800 tensiu8c3b3n mu8c3a1xima . elu800 tensado correcto responderu8c3ada au800 lau800 distancia entre elu800 segmento deu800 lau800 cadena entre elu800 u8c3baltima polea-plato yu800 lau800 polea superior deberu8c3ada estar enu800 elu800 rango 1u800-2cmu800 contar losu800 eslabones au800 cortar. posicionar enu800 piu8c3b1on grande plato grande yu800 verificar queu800 lau800 pata trasera seu800 acerque au800 casi lau800 posiciu8c3b3n vertical conu800 respecto au800 lau800 maza trasera. caja pedalera pedales caja pedalera pedales caja pedalera pedales extracciu8c3b3n pedales atenciu8c3b3n todos losu800 pedales llave 15u800 ou800 allen seu800 extraen lado derecho donde seu800 encuentra elu800 plato posicionado au800 lau800 derecha frente au800 lau800 caja pedalera girar enu800 contra reloj. lado izquierdo posicionado au800 lau800 izquierda frente au800 lau800 caja pedalera girar como reloj. armado deu800 ruedas armado deu800 ruedas armado deu800 ruedas rodado 26u800 -cu800 arou800 36u800 agujeros-cu800 rayos 270mm-cruzado deu800 4u800 tiempo promedio deu800 fu8c3a1brica 10u800\' #fase 1u800 ##colocar lau800 maza enu800 forma vertical ##insertar rayos deu800 1u800 enu800 1u800 introduciendo deu800 arriba hacia abajo sobre lau800 saliente superior losu800 rayos. ##tomar 1u800 rayo insertarlo enu800 elu800 primer orificio au800 lau800 izquierda delu800 agujero deu800 lau800 vu8c3a1lvula delu800 arou800 yu800 asegurarlo conu800 unu800 niple. ##tomar elu800 rayo siguiente delu800 sentido contrario alu800 reloj eu800 insertarlo elu800 4u8c2ba agujero libre delu800 arou800 enu800 elu800 sentido contrario alu800 reloj yu800 asegurarlo conu800 unu800 niple. ##repetir lau800 acciu8c3b3n anterior hasta completar lau800 vuelta. ##tomar lau800 maza conu800 lau800 mano izquierda desde lau800 saliente inferior yu800 girar enu800 elu800 sentido contrario au800 lasu800 agujas delu800 reloj manteniendo sujetada conu800 lau800 parte superior delu800 brazo elu800 canto delu800 arou800. ##verificar queu800 elu800 rayo siguiente alu800 agujero deu800 lau800 valvula delu800 arou800 seu800 encuentra enu800 forma perpendicular au800 lau800 vu8c3a1lvula dejando liberado eseu800 espacio para poder ajustar lau800 presiu8c3b3n delu800 neumu8c3a1tico. #fase 2u800 ##insertar rayos enu800 losu800 espacios restantes deu800 lau800 saliente superior deu800 lau800 maza introduciendo enu800 forma inversa deu800 abajo hacia arriba au800 lau800 fase 1u800. ##tomar 1u800 alu800 azar cruzar losu800 tres primeros rayos hacia lau800 izquierda poru800 encima deu800 losu800 mismos yu800 poru800 atru8c3a1s delu800 cuarto probablemente haya queu800 doblarlo . ##insertar elu800 rayo enu800 elu800 2u8c2ba agujero libre enu800 elu800 sentido contrario alu800 reloj yu800 asegurarlo conu800 unu800 niple. ##tomar elu800 rayo siguiente delu800 sentido contrario alu800 reloj yu800 repetir elu800 punto anterior. ##repetir lau800 acciu8c3b3n anterior hasta completar lau800 vuelta. ##alu800 visualizar elu800 entramado au800 distancia seu800 puede observar unau800 estrella deu800 9u800 puntas #fase 3u800 ##daru800 vuelta lau800 rueda ##dibujar unau800 lu8c3adnea imaginaria entre elu800 agujero deu800 lau800 vu8c3a1lvula yu800 elu800 centro deu800 lau800 maza. deu800 estar correctamente armada hasta elu800 momento esau800 lu8c3adnea imaginaria debiera cruzar lau800 maza entre 2u800 agujeros deu800 lau800 saliente libre. ##au800 partir delu800 cruce deu800 lau800 lu8c3adnea imaginaria enu800 elu800 saliente libre contar 4u800 agujeros libres yu800 enu800 elu800 5u8c2ba colocar unu800 rayo deu800 arriba hacia abajo. ##insertar lau800 punta delu800 rayo enu800 elu800 primer agujero libre delu800 arou800 au800 lau800 izquierda delu800 agujero deu800 lau800 vu8c3a1lvula yu800 asegurarlo conu800 unu800 niple. probablemente haya queu800 doblar unu800 poco elu800 rayo para queu800 seu800 inserte poru800 encima delu800 cruce deu800 losu800 2u800 rayos yau800 insertados enu800 lau800 fase 1u800-2u800 . ##au800 partir delu800 rayo insertado enu800 lau800 saliente libre insertar unou800 poru800 medio hasta completar lau800 saliente libre deu800 lau800 maza. ##insertar elu800 siguiente rayo enu800 contra delu800 reloj alu800 igual queu800 fase 1u800u82e4u800 ##repetir hasta completar todos losu800 rayos insertados #fase 4u800 ##insertar losu800 restantes rayos enu800 losu800 agujeros libres deu800 lau800 saliente deu800 abajo hacia arriba desde elu800 interior deu800 lau800 maza hacia afuera . ##alu800 igual queu800 enu800 lau800 fase 2u800 tomar cada unou800 deu800 losu800 rayos enu800 sentido contrario alu800 reloj izquierda superponer au800 losu800 3u800 primeros yu800 pasar poru800 debajo delu800 cuarto rayo probablemente haya queu800 doblar elu800 rayo asegurando conu800 unu800 niple sobre elu800 primer agujero libre luego delu800 4u8c2ba rayo ##repetir hasta finalizar elu800 armado. ##ajustar todos losu800 niples au800 lau800 misma altura. rodado 26u800 -cu800 arou800 36u800 agujeros-cu800 rayos 265mm-cruzado deu800 3u800 rodado 26u800 -cu800 arou800 36u800 agujeros-cu800 rayos 265mm-cruzado deu800 3u800 rodado 26u800 -cu800 arou800 36u800 agujeros-cu800 rayos 265mm-cruzado deu800 3u800 idem anterior conu800 lasu800 salvedades deu800 #enu800 cambio deu800 4u800 lugares hacer 3u800. #tener enu800 cuenta queu800 cada vezu800 queu800 seu800 reduce elu800 entrecruzamiento elu800 largo deu800 losu800 rayos seu800 reduce enu800 5mmm. '),(17,'notas sclu800 varios',' '),(18,'spanex mercado',' velux flamia grupo dapu800 tannit mercado deu800 sanitarios barrio elu800 tru8c3a9bol barrioeltrebol hotmailu82ecomu800 contacto flavio bertolini '),(19,'spanex competencia',' internacional facilsoftu82enetu800 moiu800u82eitu800 teowin gesfacil ingnio carpingest 2005 domestica winmaker '),(20,'tourconsultants repu8c3bablica checa',' praga alojamiento hotel mars praga 10u800 '),(21,'tourconsultants francia',' paris hoteles hauteville opera  41u800 rueu800 du800\'hauteville 75010 paris france 01u800 47u800 70u800 41u800 39u800 contacto hider  '),(22,'sasu800 pendientes',' rapiestant patentes ablu800 unidad cdu800 anses facturas nuevas baterias laptopaid tres sargentos 463u800 3u8c2ba 0800u82e345u800u82e0227 lvu800 10u800-18u800 '),(23,'sasu800 mdu800 data',' oftalmologu8c3ada vanelli constanza 20110824 revisiu8c3b3n general. 0u800u82e75u800 catalini gabriela bitu8c3a1cora 20130218 revisiu8c3b3n general 20130227 fondo deu800 ojos 20140206 revisiu8c3b3n general ortodoncia vieiro marcela bitu8c3a1cora cardiologu8c3ada novo fedor bitu8c3a1cora 20130208 ecostress conu800 ejercicios. diagnu8c3b3stico maipu8c3ba 20130228 consulta 20140130 consulta. fixeril traumatologu8c3ada senes eu800 bitu8c3a1cora 20120813 resonancia magnu8c3a9tica nuclear traumatologu8c3ada columna lloyd rudu800 bitu8c3a1cora 20130306 consulta. 20130307 resonancia magnu8c3a9tica nuclear 20130410 consulta rmnu800 20140219 reumatologu8c3ada gomez andrea tu800 15u800u82e6158u82e1017 lun0800-1400 mar0800-2000 mie0830-1400 jue1700-2000 bitu8c3a1cora 20110831 tendinosis. blokium b12u800 20111007 resonancia magnu8c3a9tica nuclear 20111109 tendinitis bicipital 20121205 ecografu8c3ada dedo 4u8c2ba derecha. nutricionista gimenez mariana bitu8c3a1cora 20110901 info foru800 first column more info foru800 first column info foru800 second column more info foru800 second column info foru800 third column more info foru800 third column '),(24,'mantenimiento',' lasu800 revisiones periu8c3b3dicas deu800 lau800 bicicleta mejoraru8c3a1n susu800 prestaciones yu800 ampliaru8c3a1 lau800 vida u8c3batil deu800 lau800 misma. lau800 regularidad conu800 queu800 seu800 realicen lasu800 revisiones debe depender delu800 usou800 queu800 seu800 leu800 du8c3a9 deu800 lasu800 condiciones climu8c3a1ticas bajo lasu800 queu800 seu800 utilice delu800 rendimiento deu800 siu800 seu800 conduce poru800 unu800 camino ou800 poru800 carretera suu800 calidad... lau800 revisiu8c3b3n periu8c3b3dica anual deberu8c3ada considerarse como elu800 punto deu800 partida para unu800 ciclista medio queu800 cumple unas condiciones normales .  antes deu800 cada vezu800 queu800 seu800 monte enu800 bici   comprueba queu800 lasu800 ruedas estu8c3a9n infladas yu800 queu800 losu800 frenos funcionen. verifica queu800 nou800 haya ningu8c3ban radio roto yu800 queu800 nou800 falte ninguna pieza.  revisiones semanales   comprueba siu800 lau800 cadena estu8c3a1 adecuadamente lubricada comprobar losu800 cubos yu800 elu800 soporte inferior para saber siu800 hayu800 bamboleo. hazu800 girar lasu800 ruedas para comprobar queu800 estu8c3a9n bien centradas.  trimestralmente   amplia revisiu8c3b3n deu800 lau800 funcionabilidad deu800 losu800 frenos. comprobar elu800 ajuste deu800 losu800 cambios deu800 marchas. engrasar elu800 tubo delu800 asiento. puede queu800 tu8c3a9cnicamente nou800 seau800 unau800 parte mu8c3b3vil pero nou800 seru8c3ada deseable queu800 pudiera quedar atascada.  alu800 menos cada dosu800 au8c3b1os   desensamblarla poru800 completo limpiar todas susu800 partes yu800 lubricar todas lasu800 zonas mu8c3b3viles. engrasar lasu800 zonas deu800 contacto \'metal conu800 metal\'. reemplazar lasu800 partes desgastadas cuando seau800 necesario. '),(25,'sugerencias mantenimiento',' lasu800 revisiones periu8c3b3dicas deu800 lau800 bicicleta mejoraru8c3a1n susu800 prestaciones yu800 ampliaru8c3a1 lau800 vida u8c3batil deu800 lau800 misma. lau800 regularidad conu800 queu800 seu800 realicen lasu800 revisiones debe depender delu800 usou800 queu800 seu800 leu800 du8c3a9 deu800 lasu800 condiciones climu8c3a1ticas bajo lasu800 queu800 seu800 utilice delu800 rendimiento deu800 siu800 seu800 conduce poru800 unu800 camino ou800 poru800 carretera suu800 calidad... lau800 revisiu8c3b3n periu8c3b3dica anual deberu8c3ada considerarse como elu800 punto deu800 partida para unu800 ciclista medio queu800 cumple unas condiciones normales .  antes deu800 cada vezu800 queu800 seu800 monte enu800 bici   comprueba queu800 lasu800 ruedas estu8c3a9n infladas yu800 queu800 losu800 frenos funcionen. verifica queu800 nou800 haya ningu8c3ban radio roto yu800 queu800 nou800 falte ninguna pieza.  revisiones semanales   comprueba siu800 lau800 cadena estu8c3a1 adecuadamente lubricada comprobar losu800 cubos yu800 elu800 soporte inferior para saber siu800 hayu800 bamboleo. hazu800 girar lasu800 ruedas para comprobar queu800 estu8c3a9n bien centradas.  trimestralmente   amplia revisiu8c3b3n deu800 lau800 funcionabilidad deu800 losu800 frenos. comprobar elu800 ajuste deu800 losu800 cambios deu800 marchas. engrasar elu800 tubo delu800 asiento. puede queu800 tu8c3a9cnicamente nou800 seau800 unau800 parte mu8c3b3vil pero nou800 seru8c3ada deseable queu800 pudiera quedar atascada.  alu800 menos cada dosu800 au8c3b1os   desensamblarla poru800 completo limpiar todas susu800 partes yu800 lubricar todas lasu800 zonas mu8c3b3viles. engrasar lasu800 zonas deu800 contacto \'metal conu800 metal\'. reemplazar lasu800 partes desgastadas cuando seau800 necesario. '),(31,'bicicletasu82efusibleu82ejpgu800',' '),(32,'mercado',' proveedores mayoristas fu8c3a1bricantes mayoristas fu8c3a1bricantes mayoristas fu8c3a1bricantes -- fullpagename #proveedor proveedor -- fullpagename #monti monti fullpagename #angeldiaz angeldiaz campagnuolo fullpagename #filardi filardi fullpagename #pastorino pastorino fullpagename #osvaldofreier osvaldo freier fullpagename #dalsanto dalsanto fullpagename #olmobikes olmo bikes tiendas tiendas tiendas fullpagename #happybuy happybuy fullpagename #rodadospaternal rodadospaternal fullpagename #polanskiworld polanskiworld fullpagename #tuhogarsustentable tuhogarsustentable distribuidores distribuidores distribuidores fullpagename #carloskarabitian carlos karabitian contactos contactos contactos -- proveedor proveedor proveedor ---- -- monti monti monti ---- pringles 3474 lomas delu800 mirador buenos aires argentina tu800 54u800u82e11u800u82e4482u82e1771   happybuy happybuy happybuy ---- avu800 scalabrini ortiz 361u800 011u800u82e4857u82e2467 011u800u82e4856u82e8913 happyu82ebuyu800u82eargu800 gmailu82ecomu800 rodadospaternal rodadospaternal rodadospaternal ---- terrero 2200 011u800u82e4586u82e4243 polanskiworld polanskiworld polanskiworld ---- aguirre 1066 du800 conu800 cita previa 011u800u82e15u800u82e4991u82e2357 polanskiworld gmailu82ecomu800 tuhogarsustentable tuhogarsustentable tuhogarsustentable ---- cabello 3433 011u800u82e6091u82e3838 info tuhogarsustentableu82ecomu800 filardi filardi filardi ---- avu800u82emosconi 3194 011u800u82e4571u82e9265 lv8u800-12u800 15u800-19u800 s9u800-13u800 pastorino pastorino pastorino ---- italia 6343 calle 41u800 villa ballester villa adelina alu800 fondo buenos aires argentina pastoolsbykes yahoou82ecomu800u82earu800 011u800u82e4729u82e9142 osvaldofreier osvaldofreier osvaldofreier ---- osvaldo au800u82efreier su800u82eru800u82elu800 libertad 755u800 tapiales lau800 matanza buenos aires tu800 11u800u82e4442u82e1751 fu800 11u800u82e4442u82e1756 marcas http wwwu800u82erstu800u82ecomu800u82etwu800 enu800 rstu800 carloskarabitian carloskarabitian carloskarabitian ---- carlos karabitian tu800 0351u82e4936060 fu800 0351u82e4931003 distribuidor http wwwu800u82erstu800u82ecomu800u82etwu800 enu800 rstu800 dalsanto dalsanto dalsanto ---- dalsanto tu800 0332u82e7455400 otto krause 4541 pacheco. pciau82ebuenos aires olmobikes olmobikes olmobikes ---- gralu82eantonio deu800 sucre 555u800 moru8c3b3n buenos aires argentina tu800 54u800u82e11u800u82e4628u82e0600 angel berman - director general sergio berman - director general martin tandecarz - director carlos gonzalez - gerente producciu8c3b3n pedro fredenhagen - gerente deu800 ventas interior actualizaciu8c3b3n   localyear localmonth localday2 . localtime '),(33,'templates','  actualizaciu8c3b3n   localyear localmonth localday2 registro reparaciones registro reparaciones registro reparaciones cliente equipo recepciu8c3b3n preu800-diagnu8c3b3stico diagnu8c3b3stico final reemplazos mou800 cierre entrega observaciones  actualizaciu8c3b3n   localyear localmonth localday2 registro planilla registro planilla registro planilla '),(34,'bicicletau82edespieceu82ejpgu800',' '),(35,'checkedu82epngu800',' '),(36,'sasu800 aau800 data',' hoyu800 monotributo codigos visa amex master spanex revisar boton endoso cheque libro cheques mysql replication ojou800 detectar pantalla eliminado desde 4u800u82e03u800 chile paneles solares '),(37,'curso mecu8c3a1nica',' '),(38,'curso mecu8c3a1nica - 2u8c2ba',' bitu8c3a1cora du8c3ada 1u800 armado bmxu800 mtbu800 gama baja parte 1u800 du8c3ada 1u800 armado bmxu800 mtbu800 gama baja parte 1u800 du8c3ada 1u800 armado bmxu800 mtbu800 gama baja parte 1u800 instalaciu8c3b3n deu800 cubetas caja pedalera izquierda previa instalaciu8c3b3n deu800 cubetas juego direcciu8c3b3n superior eu800 inferior previa. presentada verticalmente instaladas 2u800 cubetas superior conu800 parte cu8c3b3ncava hacia arriba eu800 inferior conu800 parte cu8c3b3ncava hacia abajo. engrasar grasa amarilla lau800 parte cu8c3b3ncava deu800 lasu800 cubetas yau800 instaladas enu800 elu800 cuadro. instalaciu8c3b3n deu800 horquilla piezas bu8c3a1sicas jaulas deu800 rodamientos deu800 juego deu800 direcciu8c3b3n grapodina 2u800 cubeta deu800 juego deu800 direcciu8c3b3n inferior 1u800 cierre deu800 cubeta superior conu800 bordes rugados conu800 pistas internas para enroscar enu800 horquilla 1u800 arandela deu800 punto interno 1u800 cierre deu800 juego deu800 direcciu8c3b3n superior conu800 bordes facetados 30mm para ajuste deu800 cierre 1u800 grasa amarilla horquilla herramientas tubo metu8c3a1lico deu800 diametro superior alu800 tamau8c3b1o deu800 lau800 horquilla martillo llave deu800 juego deu800 direcciu8c3b3n. llave pico deu800 loro instalaciu8c3b3n deu800 cubeta horquilla presentada verticalmente introducir lau800 cubeta deu800 cierre conu800 lau800 parte cu8c3b3ncava hacia arriba. introducir cau8c3b1o para rematar lau800 cubeta hasta queu800 seu800 encuentre rematada yu800 horizontalmente alineada. verificar queu800 elu800 cau8c3b1o nou800 tenga salientes queu800 lastime elu800 revestimiento. colocar lasu800 jaulas deu800 rodamientos deu800 direcciu8c3b3n sobre lau800 canaleta deu800 lasu800 cubetas delu800 juego deu800 direcciu8c3b3n conu800 losu800 rodamientos visibles deu800 cara au800 lasu800 cubetas engrasadas delu800 cau8c3b1o deu800 juego deu800 direcciu8c3b3n delu800 cuadro. introducir lau800 horquilla deu800 abajo hacia arriba cerrando lau800 cubeta inferior atornillar lau800 horquilla conu800 elu800 cierre deu800 cubeta superior ajustando levemente conu800 lau800 mano introducir lau800 arandela deu800 punto conu800 elu800 punto orientado hacia atru8c3a1s. lau800 arandela tiene elu800 tamau8c3b1o delu800 tubo deu800 lau800 horquilla poru800 lou800 queu800 elu800 punto deu800 lau800 arandela sirve deu800 fijaciu8c3b3n. golpear lau800 arandela conu800 martillo ou800 martillo tubo golpeando lau800 curvatura deu800 lau800 arandela hasta queu800 lau800 misma llegue au800 topar conu800 lau800 parte superior delu800 cierre deu800 cubeta superior conu800 borde rugados. introducir elu800 cierre deu800 juego deu800 direcciu8c3b3n superior deu800 borde faceteado ajustando conu800 lau800 llave deu800 juego deu800 direcciu8c3b3n. elu800 ajuste tiene queu800 seru800 lou800 suficiente para queu800 gire libremente pero sinu800 queu800 eseu800 torque haga girar muyu800 libremente lau800 horquilla. instalaciu8c3b3n deu800 sten instalaciu8c3b3n deu800 caja pedalera abierta mtbu800 conu800 caja deu800 playera pieza u8c3banica caja palancas plato piezas bu8c3a1sicas ejeu800 palanca plato cubetas 2u800 contratuerca arandela conu800 punto interno jaula grapodina 2u800 pedales herramientas llave francesa llave caja pedalera ou800 punzu8c3b3n martillo llave pedales ou800 llave 15mm instalaciu8c3b3n engrasar lau800 cubeta correspondiente alu800 plato palanca eu800 insertar unau800 grapodina conu800 lasu800 bolillas orientadas hacia elu800 sector cu8c3b3ncavo deu800 lau800 cubeta. engrasar levemente losu800 topes delu800 ejeu800 introducir unau800 grapodina engrasada enu800 lau800 punta delu800 ejeu800 mu8c3a1s corto conu800 lasu800 bolillas orientadas hacia lau800 punta delu800 ejeu800 introducir suavemente elu800 ejeu800 poru800 lau800 parte liberada deu800 lau800 caja yu800 queu800 tope lau800 grapodina conu800 lau800 cubeta yau800 colocada previamente colocar lau800 cubeta restante roscando para asegurar lau800 posicion sinu800 clavarla. colocar lau800 arandela conu800 elu800 punto recorriendo lau800 muesca adu800-hocu800 roscar lau800 contratuerca ajustando lou800 mu8c3a1s posible verificando queu800 elu800 deslizamiento deu800 lasu800 palancas estu8c3a9n algo trabadas. destrabar desajustando lau800 cubeta. colocar losu800 pedales seu8c3b1alizados pedal derecho esu800 rosca normal yu800 pedal izquierdo esu800 rosca invertida enrosca contra reloj yu800 presentarlos haciendo unu800 paru800 deu800 vueltas. ajustar pedales manteniendo lau800 llave fija yu800 ejecutando elu800 movimiento deu800 pedaleo hacia adelante. bmxu800 piezas bu8c3a1sicas ejeu800 unu800 lado mu8c3a1s corto queu800 elu800 otro cubetas 2u800 contratuerca arandela jaula grapodina 2u800 plato palancas 2u800 pedales herramientas llave francesa llave caja pedalera ou800 punzu8c3b3n martillo llave pedales ou800 llave 15mm observaciones verificar queu800 elu800 centrado deu800 cadena seu800 encuentre enu800 4u800 72u800 instalaciu8c3b3n engrasar lau800 cubeta correspondiente alu800 plato palanca eu800 insertar unau800 grapodina conu800 lasu800 bolillas orientadas hacia elu800 sector cu8c3b3ncavo deu800 lau800 cubeta. engrasar levemente losu800 topes delu800 ejeu800 introducir unau800 grapodina engrasada enu800 lau800 punta delu800 ejeu800 mu8c3a1s corto conu800 lasu800 bolillas orientadas hacia lau800 punta delu800 ejeu800 introducir suavemente elu800 ejeu800 poru800 lau800 parte liberada deu800 lau800 caja yu800 queu800 tope lau800 grapodina conu800 lau800 cubeta yau800 colocada previamente colocar lau800 cubeta restante roscando para asegurar lau800 posicion sinu800 clavarla. colocar lau800 arandela roscar lau800 contratuerca ajustando lou800 mu8c3a1s posible verificando queu800 elu800 deslizamiento deu800 lasu800 palancas estu8c3a9n algo trabadas. destrabar desajustando lau800 cubeta. colocar elu800 plato palanca ajustar conu800 elu800 tornillo para lau800 punta deu800 ejeu800. clavar conu800 llave colocar losu800 pedales seu8c3b1alizados pedal derecho esu800 rosca normal yu800 pedal izquierdo esu800 rosca invertida enrosca contra reloj yu800 presentarlos haciendo unu800 paru800 deu800 vueltas. ajustar pedales manteniendo lau800 llave fija yu800 ejecutando elu800 movimiento deu800 pedaleo hacia adelante. du8c3ada 2u800 armado bmxu800 mtbu800 gama baja parte 2u800 du8c3ada 2u800 armado bmxu800 mtbu800 gama baja parte 2u800 du8c3ada 2u800 armado bmxu800 mtbu800 gama baja parte 2u800 instalaciu8c3b3n frenos vbrake parte 1u800 piezas bu8c3a1sicas manecillas frenos vbrake tornillos arandelas herramientas llave allen atornillador elu8c3a9ctrico. instalaciu8c3b3n colocar manecilla conu800 chapa enu800 elu800 vu8c3a1stago derecho deu800 lau800 horquilla introduciendo elu800 resorte enu800 lau800 posiciu8c3b3n media colocar manecilla sinu800 chapa enu800 elu800 vu8c3a1stago izquierdo deu800 lau800 horquilla. idem colocar manecilla conu800 chapa enu800 elu800 vu8c3a1stago izquierdo deu800 lau800 vaina superior introduciendo elu800 resorte enu800 lau800 posiciu8c3b3n media colocar manecilla sinu800 chapa enu800 elu800 vu8c3a1stago derecho deu800 lau800 vaina superior. idem fijar conu800 losu800 tornillos adu800-hocu800. instalaciu8c3b3n deu800 descarrilador superior pata deu800 cambio parte 1u800 piezas bu8c3a1sicas descarrilador superior pata deu800 cambio bulones 9mmu800 herramientas llave tubo 9mmu800 macho rectificador 10mm instalaciu8c3b3n colocar elu800 descarrilador posicionado sinu800 dau8c3b1ar elu800 revestimiento. posicionar elu800 descarrilador conu800 lau800 pieza central alineada enu800 forma paralela alu800 plato. deu800 seru800 posible regular lau800 altura delu800 descarrilador entre 1u800-3mmu800 delu800 plato grande. enu800 caso contrario posicionar para queu800 seu800 desplace conu800 libertad. ajustar elu800 bulon conu800 lau800 llave correspondiente presentar lau800 pata deu800 cambio. ajustar lau800 pata deu800 cambio conu800 lau800 muesca deu800 guu8c3ada queu800 serviru8c3a1 deu800 tope. enu800 elu800 caso queu800 seu800 dificulte lau800 tarea verificar queu800 elu800 interior roscado deu800 receptaculo deu800 lau800 pata deu800 cambio seu800 encuentre limpio yu800 siu800 revestimiento. siu800 seu800 encuentra conu800 pintura hacer unau800 pasada deu800 unu800 macho 10mm. enu800 elu800 caso queu800 exista revestimiento enu800 lau800 uu8c3b1a limitante deu800 tope fijador para queu800 nou800 exista unu800 movimiento basculante deu800 lau800 pieza repasar lau800 zona conu800 lima redondeada. du8c3ada 3u800 service deu800 amortiguaciu8c3b3n horquilla du8c3ada 3u800 service deu800 amortiguaciu8c3b3n horquilla du8c3ada 3u800 service deu800 amortiguaciu8c3b3n horquilla horquilla xxxu800 seu800 procediu8c3b3 au800 retirar losu800 topes superiores. para lau800 extracciu8c3b3n cuidadosa seu800 utiliza unau800 llave tubo desbastada enu800 lau800 boca yau800 queu800 elu800 u8c3a1ngulo entre elu800 borde exterior yu800 elu800 borde interior deu800 lau800 llave au800 veces tiene unau800 pendiente queu800 erosiona losu800 tornillos superiores. hayu800 queu800 debastar eseu800 tubo para queu800 calce justo. elu800 tubo derecho enu800 elu800 caso queu800 tenga unu800 regulador deu800 compresiu8c3b3n hace elu800 recorrido mu8c3a1s liviano ou800 mu8c3a1s duro debajo deu800 lau800 rosca deu800 regulacion deu800 compresiu8c3b3n queu800 seu800 suelta conu800 unu800 tornillo allen deu800 diametro mu8c3adnimo suele tener unau800 llave allen conu800 rosca inversa. esta rosca empuja hacia arriba elu800 interior delu800 sistema elu800 tubo izquierdo tiene unu800 tornillo queu800 permite extraer elu800 interior delu800 tubo. generalmente eseu800 interior seu800 encuentra clavado poru800 lou800 queu800 au800 poco deu800 extraer elu800 tornillo seu800 debe golpear conu800 unu800 martillo deu800 goma para poder desclavar elu800 interior horquilla yyyu800 du8c3ada 4u800 service mtbu800 gama alta du8c3ada 4u800 service mtbu800 gama alta du8c3ada 4u800 service mtbu800 gama alta scott limpieza deu800 partes encerado blem problemas deu800 cuadro diagnu8c3b3stico siu800 bien lasu800 vainas superiores seu800 encontraban enu800 forma equidiestante au800 lau800 rueda nou800 asiu800 lasu800 vainas inferiores. anu8c3a1lisis elu800 diagnu8c3b3stico sobre lau800 comba deu800 lau800 rueda fueu800 descartado. seu800 detectu8c3b3 queu800 lau800 razu8c3b3n erau800 queu800 alu800 estar flojo elu800 fusible deu800 lau800 pata deu800 cambios elu800 ejeu800 deu800 lau800 maza trasera lastimu8c3b3 elu800 cuadro haciendo queu800 enu800 elu800 ajuste seu800 corriese hacia adelante. soluciu8c3b3n seu800 desbastu8c3b3 receptu8c3a1culo delu800 ejeu800 trasero para emparejar elu800 defecto yu800 seu800 corrigiu8c3b3 lau800 comba 1u800 5mmu800 para balancear elu800 efecto delu800 cierre delu800 ejeu800 trasero. seu800 desarmu8c3b3 elu800 piu8c3b1on trasero para suu800 limpieza. alu800 seru800 unu800 piu8c3b1on au800 casete seu800 utilizaron lasu800 herramientas delu800 extracciu8c3b3n deu800 piu8c3b1on au800 casete yu800 lau800 llave cadena lu8c3a1tigo para sostener elu800 giro delu800 propio piu8c3b1on. seu800 coloca lau800 llave cadena quedando au800 45u8c2b0 hacia arriba generando torsiu8c3b3n agarrando elu800 rayo queu800 seu800 encuentre enu800 lu8c3adnea. aplicar elu800 desenrosque delu800 piu8c3b1on usando lau800 llave deu800 extracciu8c3b3n apoyando lau800 rueda enu800 elu800 piso yu800 ejerciendo fuerza hacia abajo conu800 lau800 llave extractora au800 lau800 derecha . armado para lau800 incorporaciu8c3b3n deu800 lau800 rueda trasera plegar lau800 pata deu800 cambio hasta queu800 elu800 piu8c3b1on quede enu800 elu800 medio deu800 lau800 cadena. luego retraer hasta elu800 receptu8c3a1culo delu800 ejeu800 yu800 ajustar. elu800 cierre deberu8c3ada quedar hacia atru8c3a1s au800 menos queu800 exista unu800 habitu8c3a1culo adu800-hocu800. para lau800 incorporacion deu800 lau800 rueda delantera apoyar lau800 rueda sobre lasu800 rodillas para ajustar elu800 cierre ru8c3a1pido hasta elu800 pliegue. giant seu800 extrajo lau800 caja pedalera seu800 retiru8c3b3 elu800 pedal izquierdo poru800 losu800 tornillos. previamente sacar elu800 tapu8c3b3n plu8c3a1stico conu800 elu800 extrator deu800 tapon para hollowtech iiu800 alu800 seru800 unu800 pedal integrado seu800 retiru8c3b3 elu800 conjunto delu800 ejeu800 yu800 plato palanca. seu800 desarmu8c3b3 losu800 platos yu800 seu800 reemplazu8c3b3 elu800 plato intermedio dado queu800 hacu8c3ada queu800 elu800 salto hacia elu800 plato grande costase eu800 impidiese queu800 salte alu800 piu8c3b1on mu8c3a1s grande. seu800 extrajo elu800 buje delu800 piu8c3b1on au800 casete dado queu800 lau800 ceru8c3a1mica estaba dau8c3b1ada movimiento hacia losu800 lados . nou800 seu800 cambiu8c3b3 pero siu800 seu800 limpiu8c3b3. hubo queu800 modificar elu800 largo deu800 losu800 receptaculos deu800 losu800 tornillos dado queu800 elu800 plato intermedio tenu8c3ada unu800 grosor diferente alu800 existente. seu800 desarmu8c3b3 elu800 piu8c3b1on au800 casete procediendo au800 suu800 limpieza. seu800 extrajo elu800 du8c3ada 5u800 service mtbu800 gama alta du8c3ada 5u800 service mtbu800 gama alta du8c3ada 5u800 service mtbu800 gama alta scott mantenimiento suspensiu8c3b3n delantera centrado rueda trasera desgomado sinu800 cu8c3a1mara fibra deu800 pegado - lau800 existente centrado lasu800 llantas tipo shimano xtu800 tienen doble ajuste sinu800 niples lasu800 herramientas suelen venir conu800 lasu800 ruedas . retirar parcialmente elu800 tornillo deu800 compresiu8c3b3n derecho . retirar parcialmente elu800 tornillo delu800 tubo izquierdo . desclavar ambas losu800 tubos internos retirar ambos tornillos. volcar hacia elu800 recipiente deu800 aceite usado teniendo cuidado. purgar comprimiendo yu800 expandiendo lasu800 botellas verificar losu800 retenes deu800 sellado botellas-barras retirar gotear conu800 elu800 aceite pesado completar conu800 aceite 10wu800 hasta elu800 tope inferior deu800 buje. roscar conu800 unu800 torque mu8c3adnimo elu800 tapu8c3b3n roscada esu800 deu800 plu8c3a1stico cargar conu800 aire enu800 lau800 parte superior precarga positiva conu800 50psi. cargar conu800 aire enu800 lau800 parte inferior precarga negativa conu800 50psi. completar conu800 aire enu800 lau800 parte superior hasta 100psi testear elu800 rebote yu800 elu800 cierre lubricaciu8c3b3n caja pedalera hollowtechii sacar tapon hollowtechii retirar losu800 tornillos 2u800 allen deu800 lau800 base deu800 lau800 palanca izquierda retirar lau800 palanca izquierda. retirar lau800 arandela plu8c3a1stica. retirar elu800 conjunto deu800 palanca-plato-biela. siu800 seu800 resiste desclavar conu800 mazo deu800 goma. limpieza delu800 interior deu800 lau800 caja pedalera. engrasar conu800 grasa semipesada verde-amarilla limpieza delu800 conjunto palanca-plato-biela. colocar elu800 conjunto deu800 palanca-plato-biela. colocar lau800 arandela plu8c3a1stica. engrasar elu800 extremo dentado deu800 lau800 biela. colocar losu800 tornillos conu800 unu800 torque deu800 du8c3ada 6u800 service mtbu800 gama alta du8c3ada 6u800 service mtbu800 gama alta du8c3ada 6u800 service mtbu800 gama alta snake cambio piu8c3b1on yu800 cadena mantenimiento horquilla sasu800 piezas bu8c3a1sicas herramientas llave automu8c3a1tica. llave tubo 9mmu800 llave allen mantenimiento colocar lau800 pieza completa enu800 lau800 morza prensando elu800 tubo principal. siu800 esu800 unau800 pieza conu800 recuperador neumu8c3a1tico nou800 conu800 resorte tomar elu800 valor deu800 presiu8c3b3n para colocar lau800 misma presiu8c3b3n alu800 reinstalar. retirar elu800 aire existente enu800 lau800 xxxxx neumu8c3a1tica. retirar parcialmente losu800 tornillos inferiores rosca normal retirar completamente losu800 tapones superiores. retirarlos conu800 lau800 pieza parada yau800 queu800 puede perder aceite. retirar elu800 tapu8c3b3n derecho queu800 forma parte deu800 lau800 pieza deu800 bloqueo conu800 sumo cuidado yau800 queu800 puede tener aceite arrastrado enu800 elu800 fondo verificar losu800 ou800-rings cambiar retirar elu800 aceite deu800 lasu800 barras enu800 elu800 recipiente para queu800 decante lau800 suciedad. purgar losu800 restos deu800 aceite accionando lasu800 botellas hacia arriba yu800 hacia abajo hasta queu800 nou800 quede aceite. retirar parcialmente losu800 tornillos inferiores rosca normal . desclavar ambos vu8c3a1stagos. retirar ambos vu8c3a1stagos. mantener cuidado conu800 elu800 retiro delu800 vu8c3a1stago derecho yau800 queu800 au8c3ban puede contener aceite. esu800 probable queu800 siu800 estan ajustados losu800 vu8c3a1stagos nou800 salgan fu8c3a1cilmente. empujarlos presionando desde losu800 agujeros deu800 losu800 tornillos hacia arriba. verificar queu800 ambos vu8c3a1stago nou800 seu800 encuentren deteriorados bujes etcu800. limpiar barras botellas enu800 suu800 interior. losu800 retenes superiores. interior delu800 cristo puente detergente engrasar elu800 interior deu800 losu800 retenes superiores ensamblar nuevamente lasu800 piezas ajustar lasu800 piezas internas conu800 losu800 tornillos inferiores clavu8c3a1ndolos colocar aceite rojo sellador enu800 elu800 interior delu800 tubo izquierdo neumu8c3a1tico . completar conu800 aceite 10wu800 elu800 tubo derecho hasta queu800 haga tope conu800 lau800 parte inferior calculada delu800 dispositivo deu800 bloqueo. colocar elu800 dispositivo deu800 bloqueo yu800 atornillar elu800 tapu8c3b3n. colocar elu800 tapu8c3b3n delu800 tubo deu800 recuperaciu8c3b3n yu800 insuflarle deu800 40u800-50u800 psiu800. probar contra elu800 piso conu800 bloqueo ou800 sinu800 bloqueo. lau800 prueba delu800 bloqueo debe seru800 mu8c3a1s liviana queu800 lau800 deu800 sinu800 bloqueo. probar elu800 recupero completo. siu800 nou800 recupera insuflar enu800 forma completa deu800 acuerdo au800 lasu800 indicaciones ou800 alu800 valor original previo alu800 desarme. completar elu800 armado yu800 detalles deu800 terminaciu8c3b3n. seu800 procediu8c3b3 au800 retirar losu800 topes superiores. para lau800 extracciu8c3b3n cuidadosa seu800 utiliza unau800 llave tubo desbastada enu800 lau800 boca yau800 queu800 elu800 u8c3a1ngulo entre elu800 borde exterior yu800 elu800 borde interior deu800 lau800 llave au800 veces tiene unau800 pendiente queu800 erosiona losu800 tornillos superiores. hayu800 queu800 debastar eseu800 tubo para queu800 calce justo. elu800 tubo derecho enu800 elu800 caso queu800 tenga unu800 regulador deu800 compresiu8c3b3n hace elu800 recorrido mu8c3a1s liviano ou800 mu8c3a1s duro debajo deu800 lau800 rosca deu800 regulacion deu800 compresiu8c3b3n queu800 seu800 suelta conu800 unu800 tornillo allen deu800 diametro mu8c3adnimo suele tener unau800 llave allen conu800 rosca inversa. esta rosca empuja hacia arriba elu800 interior delu800 sistema elu800 tubo izquierdo tiene unu800 tornillo queu800 permite extraer elu800 interior delu800 tubo. generalmente eseu800 interior seu800 encuentra clavado poru800 lou800 queu800 au800 poco deu800 extraer elu800 tornillo seu800 debe golpear conu800 unu800 martillo deu800 goma para poder desclavar elu800 interior horquilla yyyu800 '),(39,'911project lista compras',' llave torque llaves llantas shimano xtu800 quita tapu8c3b3n shimano hollowtech iiu800 pinza saca clip deu800 seguridad arandela kitu800 sangrado avid. destornillador elu8c3a9ctrico conu800 torque pedales plegables morza grande terrajas llave armado para horquilla suntour xcru800. inflador deu800 precisiu8c3b3n. guu8c3ada corta cau8c3b1o fusibles comunes rodillo entrenamiento '),(40,'bicicletasu82ehorquillasu82emantenimiento',' sagu800 -hundirse poru800 elu800 peso- isu800 theu800 amount that theu800 fork compresses when sitting onu800 theu800 bike inu800 au800 neutral riding position. depending onu800 riding style sagu800 isu800 typically setu800 anywhere from 20u800-33u800 ofu800 theu800 fork fork\'su800 travel. your f100 hasu800 100mm oru800 about 4u800 inches ofu800 travel. ifu800 youu800 want tou800 getu800 25u800 sagu800 youu800 should useu800 upu800 about oneu800 inch ofu800 your fork fork\'su800 travel just sitting onu800 theu800 bike. objetivo lau800 idea deu800 lau800 suspensiu8c3b3n esu800 doble. enu800 primer lugar esu800 lau800 intenciu8c3b3n deu800 absorber losu800 impactos deu800 lau800 tierra antes deu800 llegar alu800 jinete queu800 mejora lau800 comodidad . enu800 segundo lugar mantiene lasu800 ruedas enu800 contacto conu800 elu800 suelo para mu8c3a1s deu800 lasu800 veces lau800 mejora deu800 agarre yu800 control herramientas estamos trabajando su8c3b3lo conu800 losu800 ajustes disponibles fuera delu800 tenedor aquu8c3ad asu8c3ad queu800 nou800 vamos au800 necesitar muchas herramientas. algunas bandas deu800 sujeciu8c3b3n yu800 unau800 cinta mu8c3a9trica sonu800 esenciales yu800 usted necesitaru8c3a1 unau800 bomba deu800 amortiguador siu800 tienes horquillas conu800 suspensiu8c3b3n neumu8c3a1tica . sagu800 configuraciu8c3b3n fork_setup_ziptie 8ku800 1u800 . forks funcionan mejor cuando seu800 lesu800 permite asentarse unu800 poco enu800 suu800 viaje bajo elu800 peso delu800 ciclista du8c3a1ndoles alguna extensiu8c3b3n deu800 reserva para queu800 lau800 rueda puede caer enu800 losu800 agujeros yu800 plumu8c3b3n pequeu8c3b1as gotas sinu800 queu800 elu800 resto deu800 lau800 moto caiga demasiado . para conseguir elu800 hundimiento correcto empezar conu800 unau800 simple brida deu800 plu8c3a1stico alrededor deu800 unau800 pierna . fork_setup_measure 8ku800 2u800 . brida deu800 plu8c3a1stico enu800 suu800 lugar empuje hacia abajo hasta queu800 estu8c3a1 descansando enu800 elu800 sello tenedor enu800 lau800 parte superior deu800 lau800 corredera . luego subir au800 lau800 moto yu800 adoptar lau800 posiciu8c3b3n deu800 ataque - unu800 poco fuera deu800 lau800 silla deu800 montar equilibrado entre lasu800 manos yu800 losu800 pies deu800 peso centrado sobre lau800 moto. tendru8c3a1 queu800 seau800 realmente unu800 buen equilibrio unu800 ayudante ou800 algo au800 inclinarse suavemente para lograrlo. asegu8c3barese deu800 queu800 lau800 brida deu800 plu8c3a1stico esu800 justo abajo deu800 lau800 junta deu800 tenedor yu800 suavemente bajar. ahora mida lau800 distancia entre lau800 brida deu800 plu8c3a1stico yu800 elu800 sello tenedor . elu800 valor u8c3b3ptimo estu8c3a1 enu800 algu8c3ban lugar entre unu800 cuarto yu800 unu800 tercio delu800 recorrido total tenedor - enu800 unu800 recorrido deu800 100u800 mmu800 queu800 querru8c3a1 alrededor deu800 25u800 -35mm deu800 sagu800 . ejecutar mu8c3a1s holgura siu800 teu800 gusta unu800 paseo suave felpa menos siu800 teu800 gustan lasu800 cosas mu8c3a1s firme. siu800 esu800 salvajemente fuera tendru8c3a1 queu800 hacer algunos ajustes deu800 primavera ... fork_setup_preload 8ku800 3u800 . siu800 usted tiene unu800 tenedor bobina - surgido suu800 primera parada debe seru800 elu800 ajuste deu800 precarga . esto poru800 lou800 general vive enu800 lau800 parte superior deu800 alu800 menos unau800 pata tenedor - algunos tenedores su8c3b3lo tendru8c3a1n unou800 algunos generalmente modelos deu800 presupuesto tendru8c3a1 dosu800. siu800 nou800 tienes suficiente holgura gire elu800 ajustador enu800 sentido antihorario su800 . siu800 usted tiene demasiada holgura gire enu800 sentido horario . vuelva au800 medir hasta queu800 seau800 correcto. siu800 usted esu800 considerablemente mu8c3a1s ligero ou800 mu8c3a1s pesado queu800 elu800 promedio queu800 podru8c3ada nou800 seru800 capaz deu800 ajustar elu800 hundimiento acaba conu800 losu800 ajustadores deu800 precarga . siu800 usted esu800 lau800 luzu800 esu800 posible queu800 tenga holgura suficiente conu800 cero precarga ; siu800 eres pesada puede tener demasiado conu800 lau800 mu8c3a1xima precarga. enu800 cualquier caso usted tendru8c3a1 queu800 cambiar elu800 muelle real deu800 unu800 encendedor siu800 estu8c3a1 claro ou800 mu8c3a1s pesado siu800 eres mu8c3a1s pesado unou800 . poru800 lou800 general este esu800 su8c3b3lo unu800 caso deu800 deshacer lau800 tapa enu800 lau800 parte superior deu800 lau800 pierna tirando delu800 muelle viejo yu800 cayendo unou800 nuevo pulg fork_setup_posspring 8ku800 4u800 . losu800 propietarios deu800 lasu800 horquillas conu800 suspensiu8c3b3n neumu8c3a1tica nou800 tienen queu800 preocuparse deu800 precarga ou800 losu800 cambios deu800 lau800 primavera . acaba deu800 obtener suu800 bomba deu800 choque au800 menudo seu800 suministra conu800 lasu800 horquillas yu800 au8c3b1adir ou800 quitar elu800 aire hasta queu800 elu800 hundimiento esu800 correcta. alu800 igual queu800 losu800 diales deu800 precarga habru8c3a1 unau800 vu8c3a1lvula deu800 aire debajo deu800 unau800 gorra enu800 unau800 ou800 ambas piernas. siu800 hayu800 aire enu800 lasu800 dosu800 piernas tratar deu800 tener lau800 misma presiu8c3b3n deu800 aire enu800 ambos. nou800 apriete demasiado lasu800 bombas deu800 choque - hacerlas hasta losu800 registros deu800 calibre yu800 unu800 toque mu8c3a1s . pruebe lau800 presiu8c3b3n recomendada poru800 elu800 fabricante deu800 primera yu800 ajustar hasta queu800 elu800 hundimiento esu800 correcto - hemos golpeado unu800 aparatito presiu8c3b3n tenedor conu800 recomendaciones para algunos tenedores actuales. fork_setup_negspring 9ku800 5u800 . algunos tenedores deu800 aire tienen unu800 resorte deu800 aire negativa asu8c3ad como elu800 muelle principal positivo . esto estu8c3a1 diseu8c3b1ado para contrarrestar lau800 primavera positiva para superar lau800 fricciu8c3b3n estu8c3a1tica inicial au800 menudo seu800 encuentran enu800 horquillas deu800 aire yu800 ayudan au800 queu800 seu800 muevan mu8c3a1s fu8c3a1cilmente sobre losu800 baches pequeu8c3b1os. enu800 esta etapa establecer elu800 muelle negativo au800 lau800 misma presiu8c3b3n queu800 elu800 resorte positivo . mu8c3a1s adelante seu800 puede utilizar elu800 muelle negativo para afinar lau800 sensaciu8c3b3n delu800 tenedor ; adiciu8c3b3n deu800 aire haru8c3a1 queu800 seau800 mu8c3a1s flexible sobre losu800 baches pequeu8c3b1os liberando unu800 poco deu800 aire haru8c3a1 queu800 seau800 mu8c3a1s ru8c3adgido sobre losu800 baches pequeu8c3b1os pero tendru8c3a1s bobu800 menos. amortiguaciu8c3b3n springs ordenados esu800 hora deu800 daru800 vuelta au800 suu800 atenciu8c3b3n au800 lau800 amortiguaciu8c3b3n . unu800 tenedor conu800 su8c3b3lo brota enu800 ella tiende au800 mantener rebotando mucho despuu8c3a9s deu800 unu800 bache hau800 pasado. amortiguaciu8c3b3n mantiene lasu800 cosas bajo control poru800 lou800 general poru800 medio deu800 aceite queu800 esu800 forzada au800 travu8c3a9s deu800 pequeu8c3b1os agujeros enu800 losu800 pistones . algunos tenedores deu800 presupuesto nou800 tienen amortiguaciu8c3b3n hidru8c3a1ulica confiando enu800 cambio enu800 lau800 fricciu8c3b3n ou800 elu800 poco deu800 amortiguaciu8c3b3n inherente au800 muelles deu800 elastu8c3b3mero . pero siu800 hau800 deu800 amortiguaciu8c3b3n yu800 hayu800 unu800 ajustador deu800 lau800 mano poru800 u8c3a9l esto esu800 lou800 queu800 hacer conu800 u8c3a9l fork_setup_rebound 9ku800 1u800 . lau800 amortiguaciu8c3b3n deu800 rebote mantiene elu800 tenedor deu800 rebote deu800 vuelta demasiado ru8c3a1pido despuu8c3a9s deu800 unu800 golpe. rockshox manitou yu800 pace ponen susu800 ajustadores deu800 rebote enu800 lau800 parte inferior delu800 tenedor deu800 lau800 pierna derecha marzocchi yu800 foxu800 lesu800 ponen enu800 lau800 parte superior . para entrar enu800 elu800 estadio deu800 bu8c3a9isbol deu800 pieu800 au800 horcajadas sobre lau800 moto ponu800 tusu800 manos sobre lasu800 barras yu800 ru8c3a1pidamente empuje hacia abajo yu800 despuu8c3a9s hacia arriba . lasu800 horquillas deu800 rebotes deben casi mantenerse alu800 du8c3ada conu800 susu800 manos. siu800 losu800 golpean agregue mu8c3a1s amortiguaciu8c3b3n . siu800 vanu800 au800 lau800 deriva lentamente hacia arriba reducir lau800 amortiguaciu8c3b3n . usted tambiu8c3a9n puede tener unu800 ajustador deu800 lau800 amortiguaciu8c3b3n deu800 compresiu8c3b3n . deje esto enu800 menos deu800 momento . vaya paseo despuu8c3a9s deu800 esau800 pequeu8c3b1a porciu8c3b3n elu800 tenedor debe estar enu800 elu800 estadio deu800 bu8c3a9isbol deu800 rendimiento. pero lau800 u8c3banica manera deu800 conseguir queu800 enu800 elu800 clavo esu800 salir yu800 pasear . deje lau800 brida deu800 plu8c3a1stico enu800 suu800 lugar eu800 iru800 au800 montar unau800 ruta familiar como lou800 haru8c3ada normalmente . usted debe conseguir lau800 carrera completa enu800 losu800 mu8c3a1s grandes u8c3a9xitos queu800 teu800 encuentres. siu800 nunca inferior au800 losu800 tenedores au800 cabo usted puede conseguir lejos conu800 muelles mu8c3a1s blandos menos aire . siu800 usted estu8c3a1 tocando fondo todo elu800 tiempo queu800 necesita unu800 resorte mu8c3a1s ru8c3adgido ou800 mu8c3a1s aire. mu8c3a1s difu8c3adcil esu800 deu800 amortiguaciu8c3b3n. seu800 puede tomar unu800 tiempo antes deu800 queu800 estu8c3a9 enu800 sintonu8c3ada conu800 lou800 queu800 elu800 tenedor estu8c3a1 haciendo. unau800 prueba sencilla esu800 encontrar unau800 secuencia deu800 golpes muyu800 seguidos deu800 tamau8c3b1o mediano - rau8c3adces deu800 losu800 u8c3a1rboles lasu800 rocas unu800 tramo superficial deu800 pasos ou800 incluso unau800 vieja escalera enu800 elu800 suelo. cabalga hacia ellos au800 unau800 velocidad razonable yu800 concentrarse enu800 lou800 queu800 hace elu800 tenedor deu800 . siu800 todo seu800 siente animoso yu800 vagos au8c3b1adir unu800 poco deu800 rebote. siu800 seu800 siente como siu800 conseguir gradualmente mu8c3a1s corto reduce lau800 amortiguaciu8c3b3n delu800 tenedor ; demasiada amortiguaciu8c3b3n evita queu800 elu800 tenedor deu800 totalmente reu800- extendiu8c3a9ndose despuu8c3a9s deu800 cada golpe poru800 lou800 queu800 losu800 paquetes deu800 abajo gradualmente. esu800 probable queu800 encuentres sigues haciendo pequeu8c3b1os ajustes para unu800 buen nu8c3bamero deu800 paseos. au800 medida queu800 seu800 familiarice conu800 elu800 ambiente deu800 lau800 suspensiu8c3b3n empieza au800 jugar conu800 elu800 muelle negativo yu800 lau800 amortiguaciu8c3b3n deu800 compresiu8c3b3n para conseguir lau800 sensaciu8c3b3n deu800 queu800 deseas . poru800 lou800 general corremos ninguna ou800 muyu800 poca amortiguaciu8c3b3n deu800 compresiu8c3b3n pero siu800 desea reducir tenedor bobu800 yu800 elu800 hundimiento alu800 frenar au800 expensas deu800 plushness pequeu8c3b1a protuberancia elu800 viento unu800 poco mu8c3a1s adelante. enu800 realidad nou800 hayu800 reglas duras yu800 ru8c3a1pidas - siu800 seu800 siente bien au800 usted probablemente lou800 esu800. ');
/*!40000 ALTER TABLE `pvt_searchindex` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_redirect`
--

DROP TABLE IF EXISTS `pvt_redirect`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_redirect` (
  `rd_from` int(10) unsigned NOT NULL default '0',
  `rd_namespace` int(11) NOT NULL default '0',
  `rd_title` varbinary(255) NOT NULL default '',
  `rd_interwiki` varbinary(32) default NULL,
  `rd_fragment` varbinary(255) default NULL,
  PRIMARY KEY  (`rd_from`),
  KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_redirect`
--

LOCK TABLES `pvt_redirect` WRITE;
/*!40000 ALTER TABLE `pvt_redirect` DISABLE KEYS */;
INSERT INTO `pvt_redirect` VALUES (37,0,'Curso_Mecánica_-_1º','','');
/*!40000 ALTER TABLE `pvt_redirect` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_watchlist`
--

DROP TABLE IF EXISTS `pvt_watchlist`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_watchlist` (
  `wl_user` int(10) unsigned NOT NULL,
  `wl_namespace` int(11) NOT NULL default '0',
  `wl_title` varbinary(255) NOT NULL default '',
  `wl_notificationtimestamp` varbinary(14) default NULL,
  UNIQUE KEY `wl_user` (`wl_user`,`wl_namespace`,`wl_title`),
  KEY `namespace_title` (`wl_namespace`,`wl_title`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_watchlist`
--

LOCK TABLES `pvt_watchlist` WRITE;
/*!40000 ALTER TABLE `pvt_watchlist` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_watchlist` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_querycache_info`
--

DROP TABLE IF EXISTS `peg_querycache_info`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_querycache_info` (
  `qci_type` varbinary(32) NOT NULL default '',
  `qci_timestamp` binary(14) NOT NULL default '19700101000000',
  UNIQUE KEY `qci_type` (`qci_type`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_querycache_info`
--

LOCK TABLES `peg_querycache_info` WRITE;
/*!40000 ALTER TABLE `peg_querycache_info` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_querycache_info` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_archive`
--

DROP TABLE IF EXISTS `pvt_archive`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_archive` (
  `ar_namespace` int(11) NOT NULL default '0',
  `ar_title` varbinary(255) NOT NULL default '',
  `ar_text` mediumblob NOT NULL,
  `ar_comment` tinyblob NOT NULL,
  `ar_user` int(10) unsigned NOT NULL default '0',
  `ar_user_text` varbinary(255) NOT NULL,
  `ar_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `ar_minor_edit` tinyint(4) NOT NULL default '0',
  `ar_flags` tinyblob NOT NULL,
  `ar_rev_id` int(10) unsigned default NULL,
  `ar_text_id` int(10) unsigned default NULL,
  `ar_deleted` tinyint(3) unsigned NOT NULL default '0',
  `ar_len` int(10) unsigned default NULL,
  `ar_page_id` int(10) unsigned default NULL,
  `ar_parent_id` int(10) unsigned default NULL,
  KEY `name_title_timestamp` (`ar_namespace`,`ar_title`,`ar_timestamp`),
  KEY `usertext_timestamp` (`ar_user_text`,`ar_timestamp`),
  KEY `ar_revid` (`ar_rev_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_archive`
--

LOCK TABLES `pvt_archive` WRITE;
/*!40000 ALTER TABLE `pvt_archive` DISABLE KEYS */;
INSERT INTO `pvt_archive` VALUES (6,'FZG.DOCS.Procesos.Composicion.jpg','','',1,'Administrador','20120329164929',0,'',46,46,0,0,2,NULL),(6,'FZG.DOCS.Procesos.Precios.jpg','','',1,'Administrador','20120329164959',0,'',47,47,0,0,3,NULL),(6,'FZG.DOCS.Procesos.Presupuesto.jpg','','',1,'Administrador','20120329165020',0,'',48,48,0,0,4,NULL),(6,'FZG.DOCS.Pantalla.Presupuesto.jpg','','',1,'Administrador','20120329204512',0,'',59,59,0,0,7,NULL),(6,'FZG.DOCS.Procesos.Productos.jpg','','',1,'Administrador','20120329165105',0,'',49,49,0,0,5,NULL),(6,'FZG.DOCS.Procesos.Ayuda.jpg','','',1,'Administrador','20120329170632',0,'',55,55,0,0,6,NULL),(0,'Notas','','Página creada con «*SCL **Bicicletas ***Terrabike ****San Diego 896 - Coquimbo ****Cascos Raja= 19.990 - $259 - $416 ****Sab 10-15 ***BikeNew ****San Diego 802-848 ****Casco Sixsixone= 18.900...»',1,'Administrador','20130320125936',0,'',94,94,0,622,13,NULL),(0,'Notas','','',1,'Administrador','20130320171038',0,'',95,95,0,629,13,NULL),(0,'Mantenimiento','','Página creada con «Las revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depende...»',1,'Administrador','20130321115601',0,'',139,139,0,1372,24,NULL),(0,'Bicicletas_Tiendas','','Página creada con «*HappyBuy *RodadosPaternal *PolanskiWorld»',1,'Administrador','20130321120038',0,'',145,145,0,41,26,NULL),(0,'Bicicletas_Tiendas','','',1,'Administrador','20130321120610',0,'',146,146,0,164,26,NULL),(0,'Bicicletas_Tiendas','','',1,'Administrador','20130321120640',0,'',147,147,0,171,26,NULL),(0,'Bicicletas_Tiendas','','',1,'Administrador','20130321120816',0,'',148,148,0,201,26,NULL),(0,'Bicicletas_Tiendas','','',1,'Administrador','20130321121624',0,'',149,149,0,353,26,NULL),(0,'Bicicletas_Tiendas','','',1,'Administrador','20130321122259',0,'',150,150,0,543,26,NULL),(0,'Notas_SCL_Informatica','','Página creada con «*Samsung NP-NC110P **CL: $1500 ($2407) **AR: $2700 en 12 *Acer I3 **CL: $2300 ($3686) **AR: $5100 *Dell 14 I3 **CL: $2500 ($4007) **AR: $5800 *Galaxy Tab II **CL: $1800 ($2...»',1,'Administrador','20130320172652',0,'',103,103,0,239,16,NULL),(0,'Notas_SCL_Informatica','','Página blanqueada',1,'Administrador','20130804154114',0,'',162,162,0,0,16,NULL),(0,'Notas_SCL_Varios','','Página creada con «*Mochilas  *Camaras  **D3100 ***CL: $3.500 (5.617) ***AR: $7.692 **D3200 ***CL:$5.300 (8.506) ***AR:$9.590 **D5100 ***CL:$5.000 (8.025) ***AR:$9.552 *Porta Paquete Tubo *Po...»',1,'Administrador','20130320172920',0,'',104,104,0,281,17,NULL),(0,'Notas_SCL_Varios','','',1,'Administrador','20130321101007',0,'',132,132,0,310,17,NULL),(0,'Notas_SCL_Varios','','Página blanqueada',1,'Administrador','20130804153947',0,'',159,159,0,0,17,NULL),(0,'Notas_SCL_Electro','','Página creada con «*Batidores  **Philips ***AR: 379 ***AR: 479/554  *Batidora Manual / de Mesa **Liliana ***AR: >300 *Trituradora  *Ventilador  **Combi (Paris) ***CL: 200»',1,'Administrador','20130320172413',0,'',102,102,0,151,15,NULL),(0,'Notas_SCL_Electro','','Página blanqueada',1,'Administrador','20130804154052',0,'',161,161,0,0,15,NULL);
/*!40000 ALTER TABLE `pvt_archive` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_page_props`
--

DROP TABLE IF EXISTS `pvt_page_props`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_page_props` (
  `pp_page` int(11) NOT NULL,
  `pp_propname` varbinary(60) NOT NULL,
  `pp_value` blob NOT NULL,
  UNIQUE KEY `pp_page_propname` (`pp_page`,`pp_propname`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_page_props`
--

LOCK TABLES `pvt_page_props` WRITE;
/*!40000 ALTER TABLE `pvt_page_props` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_page_props` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_templatelinks`
--

DROP TABLE IF EXISTS `fzg_templatelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_templatelinks` (
  `tl_from` int(10) unsigned NOT NULL default '0',
  `tl_namespace` int(11) NOT NULL default '0',
  `tl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `tl_from` (`tl_from`,`tl_namespace`,`tl_title`),
  UNIQUE KEY `tl_namespace` (`tl_namespace`,`tl_title`,`tl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_templatelinks`
--

LOCK TABLES `fzg_templatelinks` WRITE;
/*!40000 ALTER TABLE `fzg_templatelinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_templatelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_templatelinks`
--

DROP TABLE IF EXISTS `pvt_templatelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_templatelinks` (
  `tl_from` int(10) unsigned NOT NULL default '0',
  `tl_namespace` int(11) NOT NULL default '0',
  `tl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `tl_from` (`tl_from`,`tl_namespace`,`tl_title`),
  UNIQUE KEY `tl_namespace` (`tl_namespace`,`tl_title`,`tl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_templatelinks`
--

LOCK TABLES `pvt_templatelinks` WRITE;
/*!40000 ALTER TABLE `pvt_templatelinks` DISABLE KEYS */;
INSERT INTO `pvt_templatelinks` VALUES (12,10,'Table');
/*!40000 ALTER TABLE `pvt_templatelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_protected_titles`
--

DROP TABLE IF EXISTS `fzg_protected_titles`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_protected_titles` (
  `pt_namespace` int(11) NOT NULL,
  `pt_title` varbinary(255) NOT NULL,
  `pt_user` int(10) unsigned NOT NULL,
  `pt_reason` tinyblob,
  `pt_timestamp` binary(14) NOT NULL,
  `pt_expiry` varbinary(14) NOT NULL default '',
  `pt_create_perm` varbinary(60) NOT NULL,
  UNIQUE KEY `pt_namespace_title` (`pt_namespace`,`pt_title`),
  KEY `pt_timestamp` (`pt_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_protected_titles`
--

LOCK TABLES `fzg_protected_titles` WRITE;
/*!40000 ALTER TABLE `fzg_protected_titles` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_protected_titles` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_category`
--

DROP TABLE IF EXISTS `fzg_category`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_category` (
  `cat_id` int(10) unsigned NOT NULL auto_increment,
  `cat_title` varbinary(255) NOT NULL,
  `cat_pages` int(11) NOT NULL default '0',
  `cat_subcats` int(11) NOT NULL default '0',
  `cat_files` int(11) NOT NULL default '0',
  `cat_hidden` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`cat_id`),
  UNIQUE KEY `cat_title` (`cat_title`),
  KEY `cat_pages` (`cat_pages`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_category`
--

LOCK TABLES `fzg_category` WRITE;
/*!40000 ALTER TABLE `fzg_category` DISABLE KEYS */;
INSERT INTO `fzg_category` VALUES (1,'Páginas_con_enlaces_rotos_a_archivos',0,0,0,0);
/*!40000 ALTER TABLE `fzg_category` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_trackbacks`
--

DROP TABLE IF EXISTS `peg_trackbacks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_trackbacks` (
  `tb_id` int(11) NOT NULL auto_increment,
  `tb_page` int(11) default NULL,
  `tb_title` varbinary(255) NOT NULL,
  `tb_url` blob NOT NULL,
  `tb_ex` blob,
  `tb_name` varbinary(255) default NULL,
  PRIMARY KEY  (`tb_id`),
  KEY `tb_page` (`tb_page`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_trackbacks`
--

LOCK TABLES `peg_trackbacks` WRITE;
/*!40000 ALTER TABLE `peg_trackbacks` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_trackbacks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_iwlinks`
--

DROP TABLE IF EXISTS `pvt_iwlinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_iwlinks` (
  `iwl_from` int(10) unsigned NOT NULL default '0',
  `iwl_prefix` varbinary(20) NOT NULL default '',
  `iwl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `iwl_from` (`iwl_from`,`iwl_prefix`,`iwl_title`),
  UNIQUE KEY `iwl_prefix_title_from` (`iwl_prefix`,`iwl_title`,`iwl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_iwlinks`
--

LOCK TABLES `pvt_iwlinks` WRITE;
/*!40000 ALTER TABLE `pvt_iwlinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_iwlinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_user_groups`
--

DROP TABLE IF EXISTS `fzg_user_groups`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_user_groups` (
  `ug_user` int(10) unsigned NOT NULL default '0',
  `ug_group` varbinary(16) NOT NULL default '',
  PRIMARY KEY  (`ug_user`,`ug_group`),
  UNIQUE KEY `ug_user_group` (`ug_user`,`ug_group`),
  KEY `ug_group` (`ug_group`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_user_groups`
--

LOCK TABLES `fzg_user_groups` WRITE;
/*!40000 ALTER TABLE `fzg_user_groups` DISABLE KEYS */;
INSERT INTO `fzg_user_groups` VALUES (1,'bureaucrat'),(2,'fzgusr'),(1,'sysop');
/*!40000 ALTER TABLE `fzg_user_groups` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_updatelog`
--

DROP TABLE IF EXISTS `fzg_updatelog`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_updatelog` (
  `ul_key` varbinary(255) NOT NULL,
  `ul_value` blob,
  PRIMARY KEY  (`ul_key`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_updatelog`
--

LOCK TABLES `fzg_updatelog` WRITE;
/*!40000 ALTER TABLE `fzg_updatelog` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_updatelog` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_transcache`
--

DROP TABLE IF EXISTS `pvt_transcache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_transcache` (
  `tc_url` varbinary(255) NOT NULL,
  `tc_contents` blob,
  `tc_time` binary(14) NOT NULL,
  UNIQUE KEY `tc_url_idx` (`tc_url`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_transcache`
--

LOCK TABLES `pvt_transcache` WRITE;
/*!40000 ALTER TABLE `pvt_transcache` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_transcache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_job`
--

DROP TABLE IF EXISTS `fzg_job`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_job` (
  `job_id` int(10) unsigned NOT NULL auto_increment,
  `job_cmd` varbinary(60) NOT NULL default '',
  `job_namespace` int(11) NOT NULL,
  `job_title` varbinary(255) NOT NULL,
  `job_params` blob NOT NULL,
  PRIMARY KEY  (`job_id`),
  KEY `job_cmd` (`job_cmd`,`job_namespace`,`job_title`,`job_params`(128))
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_job`
--

LOCK TABLES `fzg_job` WRITE;
/*!40000 ALTER TABLE `fzg_job` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_job` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_user_properties`
--

DROP TABLE IF EXISTS `fzg_user_properties`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_user_properties` (
  `up_user` int(11) NOT NULL,
  `up_property` varbinary(255) NOT NULL,
  `up_value` blob,
  UNIQUE KEY `user_properties_user_property` (`up_user`,`up_property`),
  KEY `user_properties_property` (`up_property`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_user_properties`
--

LOCK TABLES `fzg_user_properties` WRITE;
/*!40000 ALTER TABLE `fzg_user_properties` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_user_properties` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_searchindex`
--

DROP TABLE IF EXISTS `fzg_searchindex`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_searchindex` (
  `si_page` int(10) unsigned NOT NULL,
  `si_title` varchar(255) NOT NULL default '',
  `si_text` mediumtext NOT NULL,
  UNIQUE KEY `si_page` (`si_page`),
  FULLTEXT KEY `si_title` (`si_title`),
  FULLTEXT KEY `si_text` (`si_text`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_searchindex`
--

LOCK TABLES `fzg_searchindex` WRITE;
/*!40000 ALTER TABLE `fzg_searchindex` DISABLE KEYS */;
INSERT INTO `fzg_searchindex` VALUES (1,'pu8c3a1gina principal',' gestiu8c3b3n retail industria spalnex gestion spalnex gestion spalnex gestion spanex esu800 unau800 aplicaciu8c3b3n orientada au800 lau800 gestiu8c3b3n deu800 productos yu800 servicios deu800 terminaciu8c3b3n delu800 mercado deu800 lau800 construcciu8c3b3n civil. consta deu800 mu8c3b3dulos queu800 permiten desde lau800 construcciu8c3b3n deu800 productos yu800 servicios hasta elu800 control deu800 lau800 producciu8c3b3n deu800 losu800 mismos. existen 2u800 entidades principales conu800 lasu800 queu800 seu800 trabaja dentro deu800 lau800 aplicaciu8c3b3n au800 saber productos contactos dentro delu800 concepto deu800 productos quedan incluidos todos aquellos elementos queu800 puede conformar unu800 producto terminado unu800 modelo ou800 unu800 conjunto deu800 elementos au800 comercializar. dentro delu800 concepto deu800 contactos quedan incluidos todas aquellas personas fu8c3adsicas ou800 juru8c3addicas queu800 sean objeto deu800 alguna operaciu8c3b3n dentro deu800 lau800 aplicaciu8c3b3n. lau800 versiu8c3b3n actual nou800 incluye lau800 gestiu8c3b3n gru8c3a1fica delu800 armado deu800 losu800 elementos sinu800 queu800 esto seau800 unu800 impedimento para poder generar productos comercializables. para profundizar enu800 losu800 conceptos seu800 detallan au800 continuaciu8c3b3n algunos subesquemas queu800 sonu800 deu800 importancia dentro deu800 lau800 aplicaciu8c3b3n. gestiu8c3b3n deu800 productos gestiu8c3b3n deu800 productos gestiu8c3b3n deu800 productos enu800 lau800 gestiu8c3b3n deu800 productos seu800 engloban unau800 serie deu800 procesos necesarios para mantener lau800 integridad yu800 elu800 normal desenvolvimiento deu800 losu800 mu8c3b3dulos deu800 lau800 aplicaciu8c3b3n. aquu8c3ad seu800 hanu800 definido enu800 forma individual obviamente interrelacionadas entre siu800 varias entidades au800 saber nota au800 lou800 largo deu800 esta ayuda seu800 podru8c3a1n observar algunos gru8c3a1ficos conceptuales queu800 tienen como algunas figuras queu800 significan archivo fzgu800u82edocsu82eprocesosu82eayudau82ejpgu800 center vista conceptual delu800 proceso denominamos productos au800 todos losu800 productos terminados yu800 ou800 materias primas queu800 lou800 componen. dentro deu800 esta estructura deu800 informaciu8c3b3n incluye lau800 informaciu8c3b3n referida au800 lasu800 magnitudes deu800 control delu800 producto yu800 losu800 coeficientes deu800 precios au800 aplicar sobre precios deu800 costo delu800 producto para lau800 venta yu800 lau800 imagen delu800 producto enu800 elu800 caso queu800 exista archivo fzgu800u82edocsu82eprocesosu82eproductosu82ejpgu800 center vista conceptual delu800 proceso seu800 observaru8c3a1 mu8c3a1s adelante queu800 elu800 concepto deu800 producto esu800 amplio yu800 queu800 incluye subproductos paru8c3a1metros deu800 subproductos precios composiciones diferenciadas yu800 otros elementos queu800 permiten tener unu800 mantener unu800 portfolio deu800 productos muyu800 variada. para esto seu800 subdivide losu800 productos enu800 productos ppdu800 propiamente dicho. au800 partir deu800 aquu8c3ad productos precios precios deu800 losu800 productos composiciones conformaciu8c3b3n deu800 conjuntos deu800 productos ou800 elementos para conformar otros productos comercializables. seu800 incluyen aquellos aspectos deu800 control deu800 forma yu800 categoru8c3ada deu800 producto. esu800 necesario aclarar queu800 dada lau800 versatilidad deu800 lau800 aplicaciu8c3b3n puede incluirse dentro deu800 unu800 producto compuesto otros subproductos ou800 elementos tales como mano deu800 obra colocaciu8c3b3n transporte etcu800. productos productos productos alu800 tiempo delu800 ingreso deu800 lau800 informaciu8c3b3n deu800 producto yu800 au800 efectos deu800 mantener lau800 integridad deu800 lasu800 estructuras deu800 informaciu8c3b3n unau800 vezu800 finalizado elu800 ingreso deu800 lau800 informaciu8c3b3n deu800 eseu800 producto alu800 almacenarse tambiu8c3a9n genera enu800 forma automu8c3a1tica registraciones dentro deu800 lasu800 estructuras deu800 precios yu800 deu800 composiciu8c3b3n conu800 losu800 valores deu800 precios enu800 0u800 yu800 unu800 registro deu800 composiciu8c3b3n conu800 losu800 valores deu800 coeficientes asociados enu800 0u800 esu800 importante diferenciar losu800 coeficientes indicados dentro deu800 lau800 estructura deu800 producto yu800 losu800 indicados dentro deu800 lau800 estructura deu800 composiciu8c3b3n. dada lau800 facilidad deu800 integraciu8c3b3n deu800 productos ou800 kits conu800 diferentes componentes ou800 elementos unu800 elemento dentro deu800 unu800 producto puede tener valores diferentes au800 elu800 mismo elemento aplicado para otro producto. enu800 elu800 caso deu800 productos como lasu800 aberturas probablemente lasu800 dimensiones reales deu800 losu800 interiores deu800 unau800 ventana sean diferentes au800 lasu800 deu800 otro modelo deu800 ventana aunque estas ventanas enu800 siu800 tengan lau800 misma dimensiu8c3b3n. enu800 elu800 caso queu800 seu800 desee precisiu8c3b3n deu800 costos estos coeficientes yu800 valores seru8c3a1n deu800 suma importancia. precios precios precios seu800 refiere au800 lau800 lista deu800 precios. debe existir unau800 registraciu8c3b3n deu800 precios poru800 cada producto activo. siu800 elu800 ingreso delu800 producto seu800 realiza dentro deu800 losu800 procesos normales esta registraciu8c3b3n debiera existir. poru800 cada registraciu8c3b3n existen au800 lau800 fecha 4u800 tipos deu800 precios diferentes. normalmente elu800 precio 0u800 estu8c3a1 indicado como precio deu800 costo . elu800 resto 3u800 definidos enu800 elu800 release 20120328 puede seru800 aplicado au800 discreciu8c3b3n delu800 usuario. nuestra sugerencia esu800 dividir lau800 polu8c3adtica comercial enu800 3u800 tipos deu800 clientes. lau800 asignaciu8c3b3n delu800 tipo deu800 cliente seu800 realiza dentro delu800 mantenimiento deu800 contactos. archivo fzgu800u82edocsu82eprocesosu82epreciosu82ejpgu800 center vista conceptual delu800 proceso losu800 valores deu800 cada unou800 deu800 losu800 precios poru800 tipo deu800 cliente pueden automatizarse au800 travu8c3a9s deu800 losu800 coeficientes deu800 precios establecidos dentro delu800 esquema deu800 datos deu800 producto. existen au800 lau800 fecha 5u800 procesos queu800 afectan directamente este concepto cambio masivo aplica unu800 coeficiente deu800 actualizaciu8c3b3n au800 todos losu800 tipos deu800 precios deu800 acuerdo au800 unu800 filtro deu800 producto dado. masivo coeficientes actualizaciu8c3b3n permite modificar losu800 coeficientes deu800 actualizaciu8c3b3n deu800 acuerdo alu800 precio 0u800 enu800 forma masiva deu800 acuerdo au800 unu800 filtro deu800 producto dado. precios general permite modificar losu800 valores deu800 precios nou800 coeficientes poru800 producto individual. precios tabular normal permite modificar losu800 valores deu800 precios poru800 producto enu800 unu800 formato tabular. precios tabular poru800 proceso permite modificar losu800 valores deu800 precios poru800 conjunto deu800 productos aplicando enu800 forma selectiva elu800 coeficiente au800 utilizar. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n esta estructura deu800 informaciu8c3b3n alberga unau800 matriz deu800 producto-elemento componente deu800 producto. esta esquema permite definir losu800 elementos componentes deu800 unu800 producto sean estos bu8c3a1sicos necesarios ou800 optativos. archivo fzgu800u82edocsu82eprocesosu82ecomposicionu82ejpgu800 center vista conceptual delu800 proceso unu800 simple ejemplo deu800 esta definiciu8c3b3n esu800 elu800 siguiente class wikitable producto componentes necesario - ventana corrediza xxxxx marco lu8c3adnea xxxxx vidrio incoloro 4mmu800 vidrio templado opaco accesorios lu8c3adnea xxxxx instalaciu8c3b3n ventana corrediza xxxxxx align center siu800 nou800 nou800 siu800 siu800 - enu800 elu800 ejemplo precedente observamos unau800 abertura conu800 susu800 componentes yu800 conu800 lau800 posibilidad deu800 definir entre 2u800 opciones conu800 queu800 tipo deu800 interior seu800 podru8c3a1 presupuestar. este esquema permite mantener variable lau800 definiciu8c3b3n deu800 productos deu800 acuerdo au800 losu800 precios individuales deu800 cada elemento. debido au800 queu800 deu800 este esquema partiru8c3a1 elu800 cu8c3a1lculo deu800 losu800 precios poru800 defecto alu800 ingresar unu800 nuevo producto enu800 forma automu8c3a1tica seu800 agregaru8c3a1 unu800 registro deu800 componente mu8c3adnimo conu800 losu800 datos delu800 elemento igual alu800 producto. esto nou800 debe modificarse au800 menos queu800 quiera establecer unu800 producto compuesto enu800 cuyo caso solo seru8c3a1 necesario contar conu800 unu800 producto bu8c3a1sico. proveedores proveedores proveedores seu800 refiere au800 losu800 cu8c3b3digos deu800 proveedores. inicialmente seu800 utiliza para diferencias losu800 productos deu800 acuerdo au800 suu800 procedencia yu800 para facilitar elu800 proceso deu800 cambio deu800 precios siendo estos cu8c3b3digos losu800 atributos deu800 diferenciaciu8c3b3n entre materias primas similares. presupuestos presupuestos presupuestos este mu8c3b3dulo permite gestionar presupuestaciones para clientes deu800 forma amena yu800 precisa dependiendo suu800 amplia flexibilidad deu800 cuales hayan sido losu800 datos ingresados enu800 lau800 conformaciu8c3b3n deu800 losu800 productos. esu800 posible presupuesto alta pendientes presupuesto alta pendientes presupuesto alta pendientes este proceso permite elu800 ingreso yu800 visualizaciu8c3b3n deu800 presupuestos pendientes. elu800 formulario seu800 divide enu800 4u800 partes  cabecera  sonu800 losu800 datos principales delu800 formulario.  detalle presupuesto  seu800 detallan todos losu800 productos queu800 formaru8c3a1n parte delu800 presupuesto  detalle producto  seu800 detalla todos losu800 elementos queu800 conforma unu800 producto yu800 susu800 adicionales.  detalle deu800 paru8c3a1metros adicionales deu800 item  seu800 detallan losu800 datos inherentes au800 posiciu8c3b3n cantidades ou800 cualquier otro dato adicional queu800 nou800 dependa enu800 forma directa au800 losu800 datos deu800 cantidad ancho ou800 largo yu800 alto. archivo fzgu800u82edocsu82eprocesosu82epresupuestou82ejpgu800 center vista conceptual delu800 proceso  cabecera  seu800 destaca lau800 inclusiu8c3b3n deu800 losu800 datos delu800 cliente yu800 lau800 asignaciu8c3b3n deu800 unu800 agente deu800 venta delu800 presupuesto. esu800 importante lau800 definiciu8c3b3n deu800 losu800 datos delu800 cliente ingresado dado queu800 dependiendo deu800 lau800 tipificaciu8c3b3n delu800 mismo varariu8c3a1 enu800 forma directa losu800 precios au800 aplicar enu800 losu800 presupuestos. u8c3baltimamente seu800 au800 agregado lau800 informaciu8c3b3n deu800 agente comercial queu800 corresponde au800 quiu8c3a9n esu800 responsable delu800 presupuesto yu800 gestor delu800 cumplimiento delu800 ingreso deu800 toda lau800 informaciu8c3b3n necesaria tanto para elu800 cu8c3a1lculo presupuestario sino tambiu8c3a9n para suu800 posterior fabricaciu8c3b3n enu800 caso deu800 seru800 aprobado. archivo fzgu800u82edocsu82epantallau82epresupuestou82ejpgu800 center vista conceptual delu800 proceso  detalle presupuesto  seu800 detallan losu800 datos mu8c3adnimos deu800 productos necesarios para lau800 confecciu8c3b3n delu800 presupuesto. estos datos sonu800 cantidad producto cu8c3b3digo yu800 ou800 descripciu8c3b3n ancho largo yu800 finalmente alto. para losu800 casos deu800 productos definidos conu800 magnitud igual au800 unidad unu800 solo tomaru8c3a1 lau800 informaciu8c3b3n indicada enu800 elu800 campo deu800 cantidad. alu800 tiempo delu800 ingreso deu800 lau800 informaciu8c3b3n deu800 productos enu800 forma automu8c3a1tica seu800 completaru8c3a1 lau800 secciu8c3b3n deu800  detalle producto . esta secciu8c3b3n esu800 lau800 queu800 permitiru8c3a1 agregar losu800 adicionales definidos enu800 suu800 oportunidad para completar elu800 producto mencionado. cabe aclarar queu800 solo seu800 podru8c3a1n agregar ou800 eliminar lou800 elementos delu800 detalle deu800 producto queu800 nou800 formen parte delu800 esquema bu8c3a1sico deu800 unu800 producto . au800 suu800 vezu800 siu800 losu800 elementos deu800 losu800 productos ingresados tuviesen paru8c3a1metros adicionales au800 especificar seu800 agregaru8c3a1n enu800 forma automu8c3a1tica dentro deu800 lau800 4u8c2ba secciu8c3b3n delu800 formulario. dentro delu800 detalle delu800 producto seu800 observan losu800 siguientes datos elemento cu8c3b3digo delu800 elemento queu800 forma parte delu800 producto descripciu8c3b3n elemento descripciu8c3b3n delu800 elemento queu800 forma parte delu800 producto precio unitario precio poru800 unidad deu800 magnitud delu800 producto deu800 acuerdo au800 lasu800 condiciones delu800 presupuesto tipo deu800 cliente magnitud especificada etcu800. precio precio delu800 elemento deu800 acuerdo au800 lasu800 condiciones delu800 presupuesto yu800 lasu800 cantidades especificadas. detalle indicador para incluir lau800 descripciu8c3b3n delu800 elemento dentro deu800 lau800 descripciu8c3b3n impresa delu800 presupuesto alu800 cliente. esta secciu8c3b3n delu800 formulario presenta lasu800 siguientes caracteru8c3adsticas esu800 indistinto elu800 ingreso poru800 cu8c3b3digo deu800 elemento ou800 poru800 lau800 descripciu8c3b3n delu800 mismo. losu800 campos deu800 cu8c3b3digo deu800 elemento yu800 descripciu8c3b3n delu800 elemento poseen unu800 botu8c3b3n deu800 ayuda contextual. solo seu800 desplegaru8c3a1n losu800 valores tanto deu800 cu8c3b3digo deu800 elemento como deu800 descripciu8c3b3n deu800 elemento indicados dentro deu800 lau800 composiciu8c3b3n deu800 producto. ademu8c3a1s como seu800 mencionu8c3b3 anteriormente existe unau800 4u8c2ba secciu8c3b3n deu800  paru8c3a1metros adicionales  queu800 pueden afectar au800 unu800 presupuesto. enu800 este caso seu800 detallan losu800 valores distintos au800 lasu800 medidas generales queu800 afectan alu800 presupuesto yu800 suu800 posterior diseu8c3b1o ou800 colocaciu8c3b3n. enu800 esta secciu8c3b3n pueden incluirse cualquier valor yu800 depende deu800 lou800 ingresado dentro deu800 lau800 tabla deu800 valores adicionales deu800 productos veru800 mantenimiento deu800 datos auxiliares lasu800 caracteru8c3adsticas definidas deu800 este formulario sonu800 lasu800 siguientes elu800 esquema deu800 informaciu8c3b3n posee 4u800 grupos deu800 datos yau800 comentados. losu800 grupos deu800 datos sonu800 independientes excepto alu800 tiempo deu800 ejecuciu8c3b3n deu800 este mismo formulario yu800 enu800 lasu800 acciones deu800 ingreso deu800 informaciu8c3b3n deu800 cada grupo. elu800 alta deu800 unu800 producto enu800 elu800 detalle presupuesto presupone elu800 ingreso enu800 forma automu8c3a1tica deu800 alu800 menos unau800 registraciu8c3b3n enu800 elu800 detalle producto. elu800 alta deu800 unu800 producto seu800 referencia au800 elu800 producto enu800 siu800 yu800 suu800 composiciu8c3b3n siu800 lau800 misma tiene mu8c3a1s deu800 unu800 elemento asociado. presupuesto aprobaciu8c3b3n presupuesto aprobaciu8c3b3n presupuesto aprobaciu8c3b3n au800 losu800 efectos futuros deu800 gestiu8c3b3n deu800 fu8c3a1brica yu800 deu800 cobranzas cada elemento aprobado nou800 podru8c3a1 seru800 modificado. presupuesto aprobados presupuesto aprobados presupuesto aprobados consulta deu800 presupuestos aprobados au800 lau800 fecha. generalidades generalidades generalidades esta versiu8c3b3n deu800 lau800 aplicaciu8c3b3n seu800 encuentra desarrollada bajo unu800 ambiente propicio para lau800 gestiu8c3b3n deu800 tareas generales deu800 oficina. este esquema permite gestionar lau800 informaciu8c3b3n enu800 forma clara yu800 sencilla mientras seu800 tenga conocimiento deu800 lau800 estructura deu800 informaciu8c3b3n deu800 lau800 aplicaciu8c3b3n. como yau800 seu800 encuentra indicado lau800 gestiu8c3b3n deu800 datos seu800 encuentra basada enu800 lau800 definiciu8c3b3n deu800 formularios queu800 permiten enu800 general elu800 ingreso yu800 mantenimiento deu800 lau800 informaciu8c3b3n volcada dentro deu800 lau800 base deu800 datos deu800 lau800 aplicaciu8c3b3n. muchos deu800 losu800 formularios yau800 tienen incorporada dentro delu800 mismo unau800 facilidad deu800 filtro simple queu800 atau8c3b1e au800 losu800 productos categoru8c3ada ou800 proveedor deu800 losu800 mismos pero tambiu8c3a9n esu800 posible realizar bu8c3basquedas deu800 mayor precisiu8c3b3n conu800 elu800 entorno donde seu800 hau800 desarrollado lau800 aplicaciu8c3b3n estos formularios enu800 suu800 gran mayoru8c3ada au800 menos queu800 seu800 especifique lou800 contrario permiten gestionar elu800 ingreso modificaciu8c3b3n yu800 eliminaciu8c3b3n deu800 documentos ou800 registraciones ingresadas enu800 lau800 aplicaciu8c3b3n. elu800 otro elemento queu800 esu800 posible ejecutar dentro deu800 losu800 formularios esu800 lau800 deu800 consulta yu800 consulta parcial. para esto u8c3baltimo enu800 necesario indicar cuales vanu800 au800 seru800 losu800 atributos poru800 losu800 cuales esos datos vanu800 au800 estar desplegados. au800 nivel delu800 usuario lau800 definiciu8c3b3n deu800 lau800 consulta parcial consiste enu800 presentar elu800 mismo formulario pero enu800 blanco para poder indicar campo poru800 campo cuales vanu800 au800 seru800 losu800 datos queu800 serviru8c3a1 deu800 atributo deu800 selecciu8c3b3n deu800 lau800 visualizaciu8c3b3n. para elu800 caso particular deu800 losu800 campos deu800 texto queu800 desconozcamos parte delu800 criterio elu800 mismo puede seru800 reemplazado poru800 lau800 siguiente sintaxis like como seu800 indica enu800 elu800 pu8c3a1rrafo anterior esu800 imprescindible anteponer elu800 prefijo like antes au800 lau800 cadena deu800 caracteres. seu800 observa tambiu8c3a9n queu800 au800 ambos lados deu800 lau800 cadena deu800 caracteres seu800 situ8c3baa elu800 signo deu800 porcentaje . este signo tiene lau800 funciu8c3b3n deu800 comodu8c3adn. lasu800 siguientes cadenas sirven deu800 ejemplo like ventana indicaru8c3a1 queu800 eseu800 criterio deu800 bu8c3basqueda seru8c3a1 para todos losu800 elementos queu800 comiencen conu800 lau800 palabra ventana . like vidrio indicaru8c3a1 queu800 eseu800 criterio deu800 bu8c3basqueda seru8c3a1 para todos losu800 elementos queu800 tengan enu800 cualquier posiciu8c3b3n dentro delu800 campo seleccionado lau800 palabra ventana . referencia ru8c3a1pida referencia ru8c3a1pida referencia ru8c3a1pida respuestas au800 preguntas frecuentes ;u8c2bfque sucede cuando seu800 ingresa unu800 nuevo producto elu800 ingreso deu800 unu800 nuevo producto seu800 utiliza cada vezu800 queu800 exista unu800 producto ou800 elemento componente deu800 unu800 producto para indicar losu800 elementos mu8c3adnimos deu800 identificaciu8c3b3n deu800 eseu800 producto ou800 materia prima denominado elemento . ademu8c3a1s enu800 forma automu8c3a1tica seu800 generan registraciones tanto enu800 lasu800 tablas deu800 precios como enu800 lau800 deu800 composiciu8c3b3n marcando enu800 esta u8c3baltima elu800 atributo deu800 elemento primario para asociarlo enu800 elu800 caso queu800 seu800 coloque como elemento u8c3banico dentro deu800 unau800 presupuestaciu8c3b3n. ;u8c2bfque sucede cuando elimino unu800 presupuesto seu800 eliminan todas lasu800 registraciones asociadas productos yu800 elementos asociados alu800 producto. ;u8c2bfque sucede cuando elimino unu800 producto deu800 unu800 presupuesto seu800 eliminan todas lasu800 registraciones asociadas deu800 elementos componentes deu800 eseu800 producto enu800 eseu800 presupuesto queu800 pueden variar enu800 cada presupuesto . ;u8c2bfque sucede cuando modifico lasu800 magnitudes deu800 unu800 producto enu800 unu800 presupuesto seu800 actualizan losu800 precios enu800 eseu800 presupuesto conu800 lau800 u8c3baltima lista deu800 precios vigente deu800 todos losu800 elementos asociados au800 lasu800 magnitudes delu800 producto modificado. ;u8c2bfque sucede cuando modifico lasu800 cantidades deu800 unu800 producto enu800 unu800 presupuesto deu800 lau800 misma manera cuando seu800 modifican lasu800 magnitudes seu800 actualizan losu800 precios enu800 eseu800 presupuesto conu800 lau800 u8c3baltima lista deu800 precios vigente deu800 todos losu800 elementos asociados au800 lasu800 magnitudes delu800 producto modificado. ;u8c2bfque sucede cuando modifico unu800 producto cu8c3b3digo deu800 producto ou800 descripciu8c3b3n indistintamente seu800 procede au800 eliminar lasu800 registraciones existentes delu800 producto modificado yu800 seu800 agregan losu800 elementos asociados au800 eseu800 producto conu800 elu800 precio actualizado deu800 acuerdo au800 lau800 lista deu800 precios vigente. ;u8c2bfse puede recuperar unu800 presupuesto eliminado nou800. enu800 elu800 caso queu800 seu800 haya pulsado poru800 error lau800 tecla deu800 eliminaciu8c3b3n existe unau800 pregunta deu800 seguridad antes deu800 eliminar fu8c3adsicamente lau800 registraciu8c3b3n delu800 presupuesto. ;u8c2bfque sucede cuando ingreso unu800 producto enu800 unu800 presupuesto lau800 aplicaciu8c3b3n automu8c3a1ticamente ingresa como elementos bu8c3a1sicos aquellos queu800 hayan sido seu8c3b1alados como bu8c3a1sicos dentro delu800 esquema deu800 composiciu8c3b3n deu800 producto. siu800 elu800 producto tiene otros elementos asociados pero nou800 estu8c3a1n definidos como bu8c3a1sicos esu800 posible ingresarlos debajo deu800 losu800 bu8c3a1sicos. enu800 este caso enu800 particular solo estaru8c3a1 permitido ingresar aquellos productos asociados enu800 lau800 composiciu8c3b3n previa yu800 nou800 otros productos elementos. ;u8c2bfque significa aprobar unu800 presupuesto esu800 elu800 proceso queu800 permite fijar unu800 prespuesto yu800 queu800 nou800 pueda seru800 modificado. ;u8c2bfporque nou800 puedo enviar poru800 correo electru8c3b3nico unu800 presupuesto probablemente nou800 estu8c3a9 incorporado elu800 dato deu800 correo electru8c3b3nico principal dentro deu800 contactos. proceda au800 mantener actualizada lau800 informaciu8c3b3n deu800 contactos. ;u8c2bfa queu800 seu800 refiere elu800 mantenimiento deu800 contactos lau800 aplicaciu8c3b3n define como contacto au800 toda persona fu8c3adsica ou800 juru8c3addica queu800 tenga relevancia dentro delu800 proceso. esto significa queu800 tanto losu800 clientes proveedores agentes comerciales yu800 otras personas deben figurar dentro deu800 esta entidad. lau800 diferenciaciu8c3b3n deu800 cada unou800 deu800 ellos seu800 encuentra enu800 lau800 asignaciu8c3b3n lasu800 diferentes categoru8c3adas desplegadas enu800 elu800 formulario correspondiente. glosario glosario glosario concepto definiciu8c3b3n -  formularios  losu800 formularios ofrecen unu800 mu8c3a9todo ou800 rutina para elu800 ingreso controlado deu800 datos. enu800 siu800 unu800 formulario consiste enu800 unu800 conjunto deu800 elementos ou800 controles queu800 mantiene unu800 dato. -  base deu800 datos  conjunto deu800 componentes deu800 informaciu8c3b3n. puede contener estructuras deu800 datos como asu8c3ad tambiu8c3a9n rutinas yu800 funciones asociadas au800 lasu800 estructuras deu800 datos -  tabla  conjunto deu800 datos referentes unau800 entidad deu800 informaciu8c3b3n. puede seru800 representada como unau800 planilla deu800 2u800 dimensiones conu800 registraciones yu800 atributos comunes deu800 esau800 entidad deu800 informaciu8c3b3n. -  entidad  conjunto deu800 datos referentes queu800 conforman unau800 unidad cuyos atributos lau800 diferencian deu800 otras unidades registrales. lau800 conformaciu8c3b3n deu800 unau800 entidad seu800 puede daru800 basada enu800 solo unau800 tabla ou800 unu800 conjunto deu800 ellas. - '),(2,'fzgu800u82edocsu82eprocesosu82ecomposicionu82ejpgu800',' '),(3,'fzgu800u82edocsu82eprocesosu82epreciosu82ejpgu800',' '),(4,'fzgu800u82edocsu82eprocesosu82epresupuestou82ejpgu800',' '),(5,'fzgu800u82edocsu82eprocesosu82eproductosu82ejpgu800',' '),(6,'fzgu800u82edocsu82eprocesosu82eayudau82ejpgu800',' '),(7,'fzgu800u82edocsu82epantallau82epresupuestou82ejpgu800',' ');
/*!40000 ALTER TABLE `fzg_searchindex` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_objectcache`
--

DROP TABLE IF EXISTS `peg_objectcache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_objectcache` (
  `keyname` varbinary(255) NOT NULL default '',
  `value` mediumblob,
  `exptime` datetime default NULL,
  PRIMARY KEY  (`keyname`),
  KEY `exptime` (`exptime`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_objectcache`
--

LOCK TABLES `peg_objectcache` WRITE;
/*!40000 ALTER TABLE `peg_objectcache` DISABLE KEYS */;
-- INSERT INTO `peg_objectcache` VALUES ('sergios_mwcloud-peg_:messages:es','K?2??.?2?R\ns\r\n??S?δ2??\0','2014-02-22 18:18:57'),('sergios_mwcloud-peg_:pcache:idhash:116-0!*!*!!es!*!*','?????b???	?1?\Z?D	-?@X?????F?=?=$a?>?C?/?g|cZ?R??\r3?|?\>?3׺??{>?]rI/?????tɞ?.?]?j?u???"???g???~??Q?????I?N?E?k?6Z?ġ&???\0V?\\}i?Ţ	G?#V^A?\'?9y<`??ͥ??r???h/??]?<8K{F<???????\\pj?}???????&5??????'0??1????????4??O?)??qq8-?e?O????K?o(?T?o0J?q???	??)\'????1???G?lE홉???2f????!\0?@!?Ilr?^\'&??9??&???n3si1?3	E????ޕ?R????`Ӣ??ٕ?t??[??ZxF?d??-\0$>=\0gp??????]AAIw)&?0,no???m????ގ??E??0p???f?1?Emʉ???3?k??I	m4????B????\"c????\Z\\O?C?????z??˫qk??Z???SD~V:???N>v~`????????椳??dG~K?)21\'[????}F???????ﺃ?e?7?k0?Ns4nO.-̩??(?2å-]=l?S??֎R?\Z?eEU???8?*???\\ʑ>?"x ???=]?4?@╀ຍ W?ϣ܀??(??.?nw?????i?????\n?????0?X͆?+??Kt$T?uE)?h?????bUbo???ß?k?????q?*?Y:??<??????౽??A??/?Y??ys?/6???2?????N??????˿?%?	:???v,)MV?Ud??Dh?*+\Z?=??0a=??R\r??????	:?j??pb???KRM?")t??+?]rԂ?t??hp????k&z*??s??\'@?=Y??? ???E???߻??4k`a??*??\\????dt	2?[?[?X?N?*4J??l???\'???>?????ÊO??˰f??????	{u??Y??)0???1?gpR??-????L???#ؼ?0~2É?B?υ?R?&yH??????gm?Q[????d????`^???U?*H?D.???S3ȩ???d???9?r7?EeP+fP+?F?Zݡ????Ǔ?]$??2Z?2????,??\0?u*?ť???t\Z????*??J\'M??2?3?O#TRԌ????,F?K????r\"5????U??xϴ!ъ$}???Y@$x?%??S?z;M?[?I??????=Y{?Gk?l??=?ӵ???\\??3y??Ƀ??r??\r?E?պ?\0Ւw??(?y??????^Q%??(h?[Kp`Aa6EZ??x~???\?/?XN?ҁrJTq]?]2?^h?@??bD(??m?}<????˰?kU??JE+k?A??','2014-02-21 18:10:25'),('sergios_mwcloud-peg_:pcache:idhash:124-0!*!*!*!*!*!*','uT?????头q????CUA??h??Lr,۲???H???f??ZhG??~???Gď?Ҡ????/\"Ϛ?_&?3?P?ޠG?y{_M(??A?{+(\Zɂ?4e??ws.o???@?l??d)?B/?O%R?(ą\rOE?rA???ǋ?6??b<-*?/ (<??K<??o@{	???UyU7??I?=?5S?????W??[????x???m?Y?\r???2F??@@?Hd?X??zm??/?rt+AZJ??F??\n??ҮӸo??<?h3??R???a??-?\(] t?b??v`?????oJ??????(m??k?:?i?l?Z?v???1??????P???Φ?[?a?1?\"ZB=-?\"ᰉ??>??qO???:?M\r???W?YU|`?]??I?z??\r?As???^??D?.????3?Yf??3\r??\r8|E?V??e??????N??Y)?t?Ď!?],??????u??Е?J???C???g0v+???p\rjk?٭en???˱?2?E6?9Kƛ??????????_','2014-02-21 18:10:18'),('sergios_mwcloud-peg_:pcache:idhash:127-0!*!0!*!*!*!*','?V??>?????m !q\'?9	S<?F???G??3y?^?΋u%???I?$fw????s\\Ϛb.??˥?????d+?K??^۳?y?c?1Zs???Z4??4[g?K*cr܎???.?J8?-Th?\Z??$??$E?~??~Kyi??F???#?????ex???d?\n?P??+˱??B?/????_\0\nc,ĕ?l?k?????4??*(Oy2(?FW`:D??\r?+?ڟ??^p}3???f????\0/ ?"G??\r????8]?o???8?a4?#W=???6????cN??׃٤???8??MgA????	ᓏ?Og?A???S????T~8??fV????)?$??ŭ?????:^J??????m??M? ???@?8???)?W??q?2Ӑ?P????1eB6??6B4\r???J<d?\\?????j?\\?0_?$?v?ی????)E?h??m??6???(???A*????\n??)?????Փ?i#?Fk,??M?????HGRh%????ӱ]?۳{v)??Ïp?ʁOG4}??l?+?ЙSRU?-?\"?Cϫ?М)?v\n??^??\\{xVQ?Ak6Fa??._)?h=??jXSN???@?۲??\'p[̱?^??zH??c???.6b?cl5???.??a?????X?n݊|U4?&P??u?P??Xw????8>.?Z?t?L??4/??u????w?DjT?????lҡ$Iʚ?Y??NRH??????????5??ʎ?q??g?z?P??yJ??ԜLK??]u?Aؒ?1y!Ѓ?E\'??̳ڦ\r?A??{??;?i?4O???ӛ??2k??Y??Me\\1[.?*?????MP?Mј?<?p92??Q????5?.8A?L??X1????Ջ?'?8ޔ????P?6?&Y? E7?/$??fqT?bx?????K??f?S\rJ?????niNU/?(???K%?????hx?AI??X?{?c??\r','2014-02-21 18:08:05'),('sergios_mwcloud-peg_:pcache:idhash:14-0!*!0!!es!2!*','?Ys????W???	{?[\"@R<???nw??Hr{c76 Qp?\0?Z???~??|1o??eօP?)???\n?*dVfU??y6ӍY?B;8??M?fc??6????}?.???}}????^?{?5Ð?????Ϛ???;?"r\"׆W???\"?,????jZͿz???#\r?w??R?gh?0??R?L??o????Kl??˾?F????Khe??ܘ?4??vЛ??\\???9R?l-3$?jׄ?\\????;?????????r????D??x???Ӆ?fh_}}??~	L;???P? Ȑ\re??km??+?X???\0\\xb<M?W??)G2??~??Z????^??`V?T{??yXwɜ??^?z?_ƇU?4\'C5?????F)x??I?W?Y?-????Ԧ;?9?~?????? ?,?׍B???????T?~X\n??~X???~ҏ?IoL?05!?1mA??*ҏJ?ҏk???C?I	?yu??H??5?{?@V?if????\r?f??j>??^??J\'t?,?j?~\\?YPF??d?z???Oz?????<?YLדrH?鋌&?W??mB???\̴?!%???b +????`ʠ???P?ҧ??r0?i?=?3Jx?R?O?C5mP(c`???<hb??-@ӋA?ZS?jZ?????y???Z?V,9F?R?6P???\rA?i??&???Bۥ??.?F??jZ?<?oM???1.M/?`?7?MO?)ua+?^?ؚ??l?@?I?70Vs؆?A?W??\"?X-`+?z??o\"?2~X,t?|-4?	0V؊e?n???&B?[?P????*??°X*???כ??l?A/W?&rAo??\r??H?R}??\\??Z?V,@,???\\???+???w?z?jã?????????m̕?}?F???aOc?????2????M?<?G???k?Q??B$?x?}????\'9??>??蠧???\r^̳O?I????ń??S??Q??d??Pk7?1?xP\0????5?0U??9?\0???6?.>??????????v?p??????AN?`???y???T\\7ڥ???ᝩy?\r?_??O??ٜ?Tg????F	?e??1<??????Le???֋?`??fg??W???????\r-aJ.Nw8???????R??\"U????2qQe:??}?n?????????S???̥\0\\?(???k?f??5ڳ?ڕ??]3????kt?_\0???o?V@j????4X2K;L?]??۳?b??d]?4??-?\"?}????ߙf?????G????u????ya??}?\#?|???z?*8??Ұ????u]???\rXrM?Y?<;?iu??j~?????t?ϮEg??Mت??1?? 7??6???cJ???ؒ?d???T\"{nk<޾??]3??????\r?W?5?|??????k?s?N?????錯W?\\a9?Q\"???Xԯ7/1QU?\\U]?45???V??v?e\"????װ?1?^^??????o?S?=????n??+??e4??<?֝????B2L??ڳ?????I?iم?????????&???^???(????E`z??????cs}`??4h????\\mCw(??w????!\Z;	???lo	{?6?$?7??@Ed???ǂ^f8??\"?Gfd?	?4??e???M1.!?Lj????b?u????1A2/Q3_9?1Ӣ???>?????2E??=?ᨏ??7X??:AL?>B???\0?|????\nr<X??F??b?%????8??{?N8?@?C?????D?^T~???O?y??̷??/???I????}?$??d??\nl??O7r?&? o8r???=t??@|??????T??\n?v??n7??(s?qx?vV??7?;Z?QW???=??wϚ?^????R?v?tT???$*nV??uk??czN-?~qv8?Sv?????I.??74?E?߄n?Wk?n??UA\\???Ndg??ԫy???e???R???.??E?v????`?Ƶ??7f+?-`S?Chhz?T?&|	b??????_\\?z?sG?	y?????????9?[??Zv9?+??\'??v???X+\Z?0#/???権EȄ???d;??S{0+?2/窧?X???????#????;I?Oq????????j?-`??(ּ5W??2X?ާ`]J????ꢦK??r\'-,YК-?a?+4Va?6	jkm???=??\ZQ=?hQg?w???4P?	????7*P\\#.?QY	?zx??X?}s?ni?}?U?k}?.??k{ڀW՞?P㸡??@2?$y1????pؾ\n|k.??|??c?5|\n???\Z??y?t5{??v?????3???????Tf??E??`%;?u?x??? ]]?&??K??+?7??i????@m?-;??IH??f//a?YF??\n?i?\\?7????lV???ː??????	??u~?l?6׏?h!??eZ%Q?MBs?l????y?Yn?\r|j\rW?.??Z??\r?o*\r???W???M??????<?9???x	?xK??/?{vsڑ??ꥦg?\Z??K ?????\Z??~?o?CmW??}?V?????~ ?5Y?????<?e???Y?s?ւ	?{\n?ٕ????%??ڏ??*?0?z?FW-,`-̱??\o?3?????`??]$?????AC??~?ߣ?D???l??a\"????:O?Mi6_??o??V???~?I\\[L?xqiGm?????'??x?D????S??_ܛ????=??5?Dd*?Q??|9?5???ڱ]+??(TW?à???p2k?\'?G?ƹ3ѭ???[9?|?(0;????lguQM?N????Md3?<?$?,l3H 7݅\r?v?%??Ƚ?{DA-?Yx5dP?"맒^̳Oj???s焨-?(㮑^̳O?F??t?????>Y?2o??@^??s??0#ܢ\raC?&%?n?xH!??23???r????h\0+ҁ???r?:~?hJQ?5????S????ZkO`??d??y??*?$O7????*D9eb(@???? @??v-??@-???֏?@??\"^P/b?m????t?u???]-cT?S?????t??]??\0?~!?>b\Z\n??{ƵQk?Qm?Kn?R?? C*?)Pੀ??G?<???Tlr?7??????.3{??ʉ???5\Z?Vj??א????,gE\'?`o??TO$?GD???o?6@?im\'%??R?Y;?:????0?{[???jE??R`	4h??l?Җ?Y????̯O??#g???Ҧ?????;??1OC\ZhP=O??ѯ????????wҹ?]??J?f????Dd8h?D?????????-:N,???b|?jq?ڽF????J?^??#??b?.<???d?K{mnn??2EC???????^~\0?????tBM??Ti?Ơ۔?:S?W?????+0Jz\\o???8/}?^??y?`\"?\Z???S,2)w?};W>?3u??ޣ????֜?j????-?u֍$???????5?3?䳩v ?]?(\nR??PtqYq???Q?jI?ʃ??MtD??Ic5)h?5i<?\Z?????@???3J?~C1}?Ѱ1.ȥ)?	Z?^?$?:&?\r7%,??\Z}???l??\'?`ЧC??t9?!??b>?G????????\???/???F?t	-v??*	o???`?}[?{O?c???6??}?[???ٚ????????9&??g???$?DACR$?񻳫w???hf??<J???DW@??,ӕ4?\Z?\n?}^)<??p?+H?C?l\ZoE???????w????C??+?nt????????ټt?P\rW??U?`t???\'?HGO?j|?????\\e???u??Ѩ?????xf??z????jw??F??RF\0?I?\"???C?!?̕k?ѾZ<~\nA???2???܍?C3??}????ǁ??˹???Z???$ \n??r?^`???kϔ??3q????????C?S?e???W6?'x?¤?c/o??Ax????9}??\"\\?P?????^?#?E??N@??MzE$9%$ؘ????:p???uR?x?G?Twaj????y?h?Wɘ????ʃWa!>???5Xh??,4U?e7p??d[\\???u^h??i:??iH??(D}?]?]t?6??҃3	??6??<??2X(D??B\0?p	??(fI/?bh?&???1D?#nh?˂rlzu?^?	?'??rL-U?e??| ?P??zֱ???>E?W\0?\0?\n`g?\"?ӆĨ??'s????o.-?~)ؓ???#??\r???????\nq?]C??F?????(?O??j????ڇ%YZ[?g????g?k???S??٤Q???}???e`?윚?7???????񓹾Zu??X?\r???;<w??Kӵ:?U]?T9@?԰:?\\yN[v.?y1????i0r?Xk???y\"??mw ,f?~?"??o9Ǆ鼔????R??a???????F??I??㥷?+?OI???[?6?^????)o???L??Y*\r=.???>Ѭ?=?kb???؞]???{?5\'?|P5???<?$\\Uﲾf|?x ?\'???)???.?6ȴ??\nfT?)?ζvN?o?RKJ?@??,?\ni??+f?n??_o)???!ynx?|?	b{a??Rb??޸????s??yD?s8^????0??~??o?W?mvu(tV?????6?!:??\n?????p\0?w?L??Z;k?ܞ????#?k??avO=MM\\o??m)??\r#?s???H?8K???Zl?u*???~~?5$i?????&4m???????????,????L?B?}?vty?L????V??ᛨp\n?????{\nlrg?X6Q?i°??t??H??C?k??U7???0?o?r??u⦫??m?ێ????F?yݖ???(???=3x???Kq)B????lgh????z\'?DvXMv????f?kЉ?6??Y?X??GՖ???V=?(?????Xo?2L?l2/~??㢂F??(6I\"??ȵ?lI??????y~?X?^ޕ?N^?????\Z??AW?ek??]O0?8?7D??b??W\')ft?w?????x? nՐ??X???T???fF??\'???rᤒ_?މ??\"Ywͅ???Y?^???ČA?)/??+,n?y??5??A?{:0???C?|??D??]p˷???3??%I??lL]?h]??-??v??????"|}?????j??B.??k??N)d<Cu??r0??G4[Nڶ?i&??z?:`?&ZH?٣I??Z??E*ݕ??/4;Z??<?a???@ND?9?M?㋤?Jʭ????ܬ?s3?dq??????aeI6&?Z\\??oi??\\?6?ىpNO ff????WRݘ?2Ę!?rHT$.ɍ??6P??F?@?????rN?ԫy?Y??Q????G?%?A#(??\"4^=$+?m???	?;?^?};?~x?/HZj??Sn???`????Ͳ\n̛???미?`??M?׃???,&?cX??	D<?w9XE?楯?G틷o???q???$~TK?X1?2???PJ???'?1l?????WǕ<3G0???????#ʊ???$??*V?\"??_aV?0Vi`????~t???????V?P??.W[6?LQV?&so???%???????鴕???\"4???N??\\?$ 	?\?ۧ??a/k?wKӍ?U#??g0|r	C?hL???O?哦?hvR?-?0?F?Z?>+#Ԍ??\"?:]?p?X??tN?ٴ??Xh܅\'2K?,?\rq?@:?A???<M???b?Ԛ\Z?=)??;??ŸR????Z?,\r??k??b????ƪg?鑝	??D<+??-?+?R5E??g ??Y>|?>?CNG??r??Q?9^????eq&Aꈒܰ?SR?<yP?.???\'?Y?A?>?1?CB?qM/F??????|?-L?,?9??I?OKB\0⥘??R?mla????&R+\"?4??^z1?I???s?^5???[O5x_?????_#??\????QPM?kك3?$??Hq \Z)e*y?I?;\"!@?ʇ???C?s??B?\????\\\\T\0H??y??q~&e?Y?gq?eB.H???????ѣ?8?I	$i?T?^?*땳])|?X?9)۬?7j?F??R??x????|o?4Y?$?<HB1Y??O?\r?????\'ǀ\0Ôt???٫\"+???p????#n#??;???e)?qWlV!?K??%?Y?Jo??=?????O^?ɓ@?,??0:D9L\Z!?l?I??p??r6~ ?????????\z6?Q1Q??B?Qi???%߉?ރdK?x????????^CcX??n?V9??d?/?^?;o%?T?lWvo???0??=e?X??܍n?b?f??U4??????>:VtK????	?٪??Q?r?W-??F???????`Ɏ?鞌|???%?Hǫ?????Ds??\Z̋?O?X?\"IVs?? \'\\?r7???{?5?L?tL??Ěґ??0M?D???D????nkŵ?iv8???Y????#t\'?n??]L^k8;Ծ91?;???уF2/|[wJn?`m???????W4???P&ϲ<??o!?0S;?\06N?J\"1F<N?F?8:-??d_`?OZ?ɌSq%$Ӛ?>}G*?\0(??CS#??????l?YJݢ9?گ?C?B#M????c?-慯(:g?:C?s9H??u8?|i#kLT>?8?+????F6?|?u??>ae ?ԡ?f??n???=r?o???k??\\~?<D;f???[??Ck??o?Т\0-??9N?R???gU?u???????^K?FPTI?U????Ga??hY܅????4T[U??ܩ?y;h???6P????\'m?x?o?%CiIàe?E&]PltJ??U#?	?0W??;?<???X\ZOY?2&^??T??}???Q?????E?-??vK9Gc???\Z??,>D????Zjj?D??????Nؑ?#??Hrl???F#&?G:Q?Y?/???0-N-??i?????d???w?W????h?????Y?"Z֞<??	??|0?????H?\0?L??1??? 2b???l,n???#T??h???s???1?!???b(6????ܓ???$??Xkk?g`???],Rzƒc1???`\\;wt?9??\^eϼ\Zˑy???c?d?Zk?d??WxmOý??V?8Ǫ???d???3?y?8???I?????????J?3נbW()C???97L?7?d???L|???????????Yg??l^???\nK?.yua?U?? g???Kvлi?(????3?J!?l?T?? ?9WgI?`:?/??????wT\n?9???)8O??K>??d?Z-??;-?v???8F?.e?G\'????????c??K?h?R???I?ɭD?xN?/ϓ?r)???\0?1H?g?I?<?=?^R?3?\"?t?M?E??x8EN??????SG?B?\0??????D?6ֲ???????vj`?I?#?S\ZR?Z?ՖԼ?p>???????J|??Gr82W?2?j?嶫???c?D?4?J#?????L????o?`G;??m?g???x?,?ј8?s??αL_ݿ???? ?޳F?.??.??e??dRm??\n7????????\'?N|?????)a\rS???0-?τ=?????????y??@v??=W??????????&%l???oD`?nw?z?KJ?;????CC??Ʒ?{??@?'??Xw_???Kz?iJȮ@-??rc?Zt.???si_]I9+???\r??TVkܪ3??(1sm?<W2???{?????W\r\\?{U?????ݕ9???g?[???7,x?\\w\"?)?jߜ?|K??\Z??\'??D?;uaA???Sy!??T qlG?~`y?D??/,l??\'H??7??Y~x?c?ihI???x)?@b0?4,/r\'???9$O??}~???\Z?Z\\\n?23????Zk??rd?U??;?X??\n???>?????z?Z?Z_?8?g??\\?!????+r|?s+?0󹼴@Zi$3?Ix?=???H?ɿ7=?[?n4>????]?_\"%?p??EG?n??5b;?2l???Ӏ?nG???Ꜩf?T:ĵI??+?dK?|??{????˲???燐?????S??.9?/[?6r???7?,h??I?abw????=Z9?>ς??h䔌Q攴|??:d?ɏ????i????R??????=?|??i1??P.:+\n?x???\"<?t?#6S????g?&??????dO???i7F??}Ɉݒ\'~ހ?Q????b?),G?????t??t?e?\rL??<ɣ{??_$?Ժ?J]??n?v???|9??????C?????I?\0?V#???5ĝ???xJ?????H?x????V???Wf??)r??\"??F??g?(oQ.r??%?â?? ???Uz?J????e?o?n??V??VU˓Fe???\0??????z\0VH??8@?4q??;?&Ym9???!??M?[\Z\'???.$C??C]o?N?˜??q??Ŝ{x̴O?h??????\\Zü`m??C?[\n?{??????a?9|?t??z_?H,?*?@Ӵ?	??nH?hI?l?q1d%?3IoRgc?K?&???\0??*?????-j9\"^ڱw?????????h<9:x???\r??ة㈤A%W?q??+a???q?3?O??:z\"F??!?\0̐?\0??=1?i?ޑ?\\Z]vJf????z?\nC????&F?8??\"G-????c? ???m9??????0?b???\n???8Ą(\r9?K)?bs?9X;??ʍQ??r-???t??>?]??????h?"?Hg?Yf??hc?????߳?E????hOdҫ?i?w??u&oϫ`???\"?:<?b???=	}G?k?͐????(??L~ ???w?u???\"5?\Z?_\0??N}r???Q_??\"??:#??.???V??v???@???s?<???=	٘?(K~?*???)]???*:??OǬ?ױ\';6-4g?S???Da?e??Gnj?^??]Iַl???&?3ma\Z/?????\r?Z?`???M|?"s0??k???m??b????U#??L???G??1???b?mJ|?o߼9? ޘ??^i )????݌??-ǃ9+?_D?2?#?U???e{???\\H8?)?3?f??>?嗗?n0=p?????u?????D!#*?r?tb/?\3???N?n????X\n/??$?TR@?0?????????&)[!b???v.?qJ??r)?`?=\r???????5?N>5Izw?Ďb???xT)\'ѩ??Vj/?4???ӬH????ucZ??????6-?i??k?`v^-??????F??Бe ?-??<?????\\??ɉo??߿??䅶?&?t?[?Ǵ?C?f????7#sE???7???`???I??9+?\'?F????ǖ?\"??W\'A/I??$Fv}Q?~??>?\Z?B??D?3??????@???4S\\0%?.Бe??EF?\\?m??????????\r?U#?v???}????r?,U?D)̛(t?ޘ?p?R/ ??p??v@????>?jgG?????8gi??ϴH՘?E`ȉ!?|\r\"~K-?&?	?+4E$???\r	?L????\r?U???9?x??t?\"`D\0&3ʔ??4sy/??ڡtC?~??`?M[??????jD?@)?1?$_/)~?????`???2?\r???\nq??M???D?&???	~?~?ӟ??wL???E??M??E@Oم?E?o?Ҩ&?٨?e??\r?c^I?C??J:???x^??d??????%+.2?{i?e?E?[??X?????3>I????\Z??r??\nr???7?#V?I????C??\"?Ӿ????cb?i/?q*c	??1?-?N??֝m[(?> ???ta-???a	??LV.2?]cw\0?\0W1G??4?+????E? P?nc????Ԅ????\rk?r	?ND?;sw?5:?҆r?"???{Ks???:?4ݟ??j,??;??d??????i?yP?v??ٱ?w???+Z?uĸ???X5[?b?M??ae??????????S-{?O?_P?ԋ?????I5g9??J?G\"??xȰMݾ????=?d3k2\\??w?p?M?4??;???	Y????iJ?#4?C??m*?=?&{oP7??????3)?q??	??੒?U?2?M+2??|O??????g}????\??Ì??j??O??{Ԍ??}????\'?????U???$5??????,V?????+???1??u?zQ?9<??ζ???)X)w?*???\Z??d??v?pF??z?U#?XA.}]?y??v??.?}???????Q????q勺?n?+?Sw늝ؐw.`-??c?X?G{1????D?2?g6???@?Le闯????U?P???-??f??ꮓ=+0?{w??H##vq?u)R??8a??????J93ޢ???Fo]0^L4Zv??:??d46?6ҧ?p?}??nS??m:l??????J?eg楀)?z??˗?????2=?+?+XG4?'?i????h?????'???????=p?Ekk?????F:???x????????,h6:&???ȆFY+??_?|??4??8o????Nt?}???`??&E{>~x????4?9֭?????u???????????d??\'?Z?\Z~??]?f????X?'@ް??9???7x??^?Ж_???ʾ???Yn??=??????c0?????%?????)\Z~9p`C????f=C?????ɏ?xM=bloK??i8T7??HK]??????? pj{1??v?E?k> ?k?+?q؍>y۟ɵn?Fj??2?t?B??f8??????????^4?,?7?f?-?7-?aY\'s80f??)????(????=J???q`??/}???\'UᏀg#;??B~L???D?*\Z??#i??? ?-+D?5UwQ?g?d???5?V?L?+_??F?Ʒ?w⛖?r??44?U???S??E??낯???L???r?????yʭ???????t?=??#?????NT??S?v???B9?ٱ4K\Z??\n??҆lO\Z7?Zo???Eؐ????M?6???'3?V??ﺴ	?)?L9?VG4T?ӕ?A>?5?o0?۱??B??Y?GjhpD.??foA%?s, ???|?͔_f??̬>?l??5gv6?h?L?0G#.???D?Ӏ?	?\Zq?@$?D?A??I????l.?ep!??????r#K??~z|??:~?$?g?a/?r?,\'-1?zA???N????&\\??õ+d?H???f????QV????\0И????t?!????\ZY?Z??bU8????,/? ?=????'?띶a??Z???|ny+?"?n8??>_.??(??8????:\0?nf??4FZz?ݩ???\"%???C?7??Fin????L?yv/.qQ????k?۵?????:??zH?$?23J?8?:?\0???r??D_??M馪Q???`??S??<??0CT??$3?????a?!??\\9#?.?????????????1????S????ܑ???Q?A?\r$??.?Lye&t?5?}?2I?\n??:}?U?2}?Ω?ȯ;??/M??#-?<?~??JM??7:????1L???.NR????x?"?m?????C?e??&??a???Lu?7??K?}?_??|3???y?Ei`?6????J?x?-?{??(A,*E4?-/L?p???|?\'?????@??)k;Y??????k?^Y???{qyG1mb?.-D\'???????????w???\'?????S?????Y?\";/??HUH????*T???h\0I???nJ?&Ƭ??\"??Br\rK^_?? (=????????&??X3??j????ȼ????????70C?Os????W??Ɯ??ϕ???d??j???'?F???????R#	????????Շ??Y-#/?~??]{?6?n????R?:SG+? ??pT?V?\/?Hﻅ`??wT??}?!???۴P??Ƈ?H??)???p6??n????F????`y?hG????\"???y?#O??&.b?;?g?????b?????;穝@???x??6!1?JND?\0????H>n?st???"_?R?5?0um?9?????F???F}GW!i(?4:!9?bI?$?c??s0?,??Q??????r?vr?N0r??ݸ?\"??c%??$?0`8?8????_?L11?????9\"H*?vBS?9<e??%?\0?{TQ?????8??Ÿ?n?r?f?~??\0?G[???\8yV???Uc0?`a???L,?^??x?&9???6??db5e\'????fb??dkll??;!;?G|???ǃ<??#???????7?O??<+#?ԥ?`4bf?y???????b?·?洧 r??	@?e??~????\n?7?n?)?T??<T?7?jo2m??"ͪ???<??T?vS?????\0B,?T?m?H????^_?Q|;??y??n?Xo?l0̋??v?<T??\n???<???@?e?N?$?S3u7?j21?Q}?(??V+??Gj???\Zݔ??nL???\\ltЯ\Z?c%i?n??\r?W??F?V?$?<V?F7?j:0r뷔?????????~????d麾W?\"D?U5CwtV??6G3?>?????.+}??O(???S??ء?\Z,?~?HǪ?????G?n\Z???????N?ۢ\Z????_???$?\r??nl?????T??ړ>?ӭB?@?hnQi?A?4U,;???^鵠?H??\n?5U??A7?I???Y\n??ET?+U??tS??pTʹ\"Ds??Ѩ_??*Kn?3???-???-Ҍڠ9T??A3??x??i??l?D?+?鹃nZ??O???0\"Ds??ϠH??t?A????0?2(?ڠ?+??!Q?*<??r?mO??-?m?A:uk+????Gu?=?Z\" !???X?O?\"4?{?Z?|?MEH????	\r?iBƸ߯^?$?ئ&?+???J\ZvS???>???t????\n?B\n<U?а?.d???j%???xnSҍ?}H?\r;*C}??d?h?MeHW(CO?64?rM?u?[?\r\r??\r?;Y\n<U???:4?V?$??ꐮ0<)?*}h????u??p????X??J\Zvԇ???\ZO?}ө???Î??8?V?H$?\Zc??-\'ba??c?ĻG??L(?RT`?????NOp??/н\"enI:?2???E?g?Y?oA????5?#o㥾W???]h??;HבF\"?R?\'???!x????p`\0F??????ߘ???8?K??\ZXC6??Q??,U<????)?[??e#?kA6?!ʐ?Bfˀ?Oq???)G2??Q??pV?????G\rx??T?1?%\0W????N?qկ?R??:t???P~Z@y\Z???P????H?(??H??_???nc\"K 6 >Ղ??*?K?&?k??D?Q1?ģ&??-??WE?Q)|??q-??????)!~)??\"??񧵦u??x?i5???e?q?i폚O??W????Ϛ2?Z????y֔Qd:р??\'???C? ~??>??g\"~-?zR?\"~?EC?J ?6!~J??	g??Z??B(+t????J\"?TR??C?a+4?H?Q	l??2T????D???pá???/??v??B?????????V,A0p??Z??a!l??q?????Vhʐ?ؚH^?\rlłaP??4?v{ȸ6?Lc? ?????6pł???.??d???7\0?X2?j?%?5\rr???\r?E)?Z\\??_m\0\\?l??ᠷ???*??\0?:?#\0W,H??????Ń^.??o%????+??????5\0?X@????B??a?? ՈJ4?B?c?0?b	A???\0?B?NTF??ڻx??K??i??9??M?o???????z?????b?uۢ????B????????`)??????1Ꚙ??5?a/\"???w-???k??????\r?\'???\n?:??T?5x;?p|?O1?I~????+L?\'?R??3??G????','2014-02-21 18:12:00'),('sergios_mwcloud-peg_:pcache:idhash:17-0!*!0!*!*!*!*','?Y???gªٍٚu??-k???V?[???HHB$\0??I?j>d?!???[?	?????A\n?H\'??\Z?&\Z?>?\Z]??A???]??:<\n?d?Mpχ??0.?F????"?J2:g\'?MFSv?f?F??8????^?S,?8?n??5t&??Z???h,x?????Z???v??؅????\r?)FIs??$??<??v?a???a??oaLv?t?Ǵ	??6??2??i?;?"??p#?!?IvL@|?Ŧ??3?r.X$F25,5諫!?h??k?\?}???:>?)\\?V)??<?5?????`|??o^?o?y	sH?????????k???,e???-AC?LP??)چ]:r?#)&N?\"B??2S??R*?A??p-??\04	5?e:????/??r????\\~FC?P???>?\nV???}`???????L??\r?Sp??0ڱ<?	Mc?5?o???)?u?!|(?ܷ\\Gt\Z3(???^v???7?0???5!???TN%t???/(ᩥ>??M1?Q9??B??]?h	??&?U?a??=X	4??3m$a)??"ATt^\\???c?xS\0&??!?C.aB??+?d,?ਙ?lc?`?????_?\?????鬠?% G???t????eY+;˪?Y&?Y&d?9Oc???c??E?$r?????xH?DUh??\0|?P??????e???D?*??p?????????q????j????+?Z??RN۩E?2?ܖ?ډ$????g?????`?\Z%-K?`岝?W?PR????*ftz?/Ęl??z?|?Ú??,2?pT?kAB61??L??gj?????7[???!l׾????1?e?Xs???"$??Q\"??j??xaSr?rL????PAcZ??<c:R<+u.*L???lU?Z??\0\Z?&?`+?m???SM??M??јG?f䂫$????r!]??漅?????-????ڊ?)?U\\?5???q?E?+x0v@\n?h??Udm??MP?,?\0??)????5*?*~?F??[?n?F[?.??3h͌??E?usU˘???X??????kZ??g???Y?Zp???O$?R???????\r?@+,?zO??`?ȾR}U????(??B?·???Nm?h?˫?\r?s?O?\0?Y?ʦv?[???dh鬠??????|^??_*y2EԶ?קn?????6??)?wܺ_k?K????ڝ?Ǎ?E??-??<a\n?CwX??V?jE?u???h7???t?۰?????Zջ?Ț????X?6S???Ԁ????\n&pbRUMkZ?Z??/a??%?`Ҿ??\0JF???f[S?.\"?m#)???N?H?Y\rW?/?<x?^???*t??R??-F?M???????}?#???:ŕ??????\n??^???????6P??\r?$??$߉ꒄ?h??????o4|o2my??"???߱И`?0?T?[k秖C@???c??o\0|?Q[K??\',K???yAp?9?˝???v????%?ԤG|??????>ٻb????p?!{??̪A񩴃???߳?퍥6???ZY???H?XHz???рL???(B?Q???K5_2,K??'?<-n!?=|o????.^?k8??A޳5|5ǹ??|???????YqW?Ջ??x?????? \ZK??dd??????wHpd?.??ArA?N?&??i??~??>??ڹT??\r=?pE??????*4<B??????=x8??QxO????0??a?Wg8h4??f<??¦;??c|8\0?Թ???)/(=???k???8??˗H?l???d??B???B??ct??x??Mن?sS??\0???khB??ޯ?u?+Fc?y???&?؁\\?????6mf]?T5]?ޢI/~ x%??J?FU???????'??md$ؒ??G?s???????%??-??i?L?r]????-?;?e?dbK??nY?#g3??D;??j???e?x\"??=?Ȭ@?S?6????]?v??x????Dc	??gx?1<??$??:???\r?`]?)?"6???U?????,ـJ?gNY?%Ͼ?vP?9j?ʑ??M??_??jr??e?}?:x??r???','2014-02-21 18:06:04'),('sergios_mwcloud-peg_:pcache:idhash:2-0!*!0!*!*!*!*','?W??ͳ?a\'}?"??/?dv\\˭=?ib?y??$X\0??d???>??]?????k?mhwq??_?8s*$??B???|??N?xT????t@̔?H1???.???{?Jr????q?8p<\'?A??\n??????#QB?<p?4NXa??B? Ӂ?NhRoZ$?aᔒ???g?????W?G	? R~vjBX???H\r??<@??-k?)l?<??0*?[??9?pY??E\n??_??uڤB????\'ww?s8s?d??\r?\"^???T4????K????\03A?PC???K%?H??f??>?R?H?Jx_??J?ط????pƣB\'?F????|???\"?D???]]-N؜_!??g[cTq????9\n^^?g_c??M ?7??k?z^5?!R	?i??q_\Z?#?`????\rgM???%???kOI?祚????B???9[??{ a?i?z?{ӷ?>??>\'	K?\"4`k)<)? ??x?????k?zs.Uю??I\n????????c?@?\'??bi??rǏ9d?=\0?6??????w???_Y~M@+??\Z????Z?{?Kl???]?9,o??,^Q?\n?????????)?Ls??}????h?%?p???Y?>gٽt&4p?/_????A?????o??`?FƮ??`???y\Z??E????!~k\"^??{m82B?æ+???j-4?|???2]????u+???????z?*`?^驿ӑh?.???zX??ï???W???b???צ??%??:?????q?????)VX[zTX?g????ݪ??̙X?C?g?u?.t&?Xo???aK;s??Ib??o??E?c??OJ?$X?ڼa?k??ɺ?????e??>?\"???TdX???????m?)%???	?b??3*Ú????[?~5???{?J3??4?????y2?=-?ݝ?\rsK=4?V\\l3Ô?N?>???~?[㗩\0??z2?????\\##?iT?????-th?mZ?C?????\n?y;?Υ*n.H??\\?m??4?g??}??<???\?C5??NmC?+9\\1LW쥍qz?*?L^%?]??1/?MЂz??????','2014-02-22 18:19:19'),('sergios_mwcloud-peg_:pcache:idhash:209-0!*!0!!*!*!*','?V????W?ڪ?H?Em?@	wU???=??kwB??!g??jA??ovf?1?|??Ҡƅ?????????M?8M??\'?&A??-)?h????=g?????E(?8???9?kÞ?}?B??nk;J?tu??R?u???X?r????X?~???\Z???|?#c>?iE@??l8?KIa?L?-??{?;??I?N????????BoוTbg/?d?Z?k???????/?h?v<{w????9?ߌ?a???????????>??~??*?`F~?k??hp???p??wމ?4???5??1??BR?qC????JF??TD?H$a(9iyn?jL?6MxF?1?"J4?(q[???k???ޘB???0ajQd?߰?|?h??v&ȼUK???6y??7*??l?kd?B?+??Zp??l ?|lJX??4?<N?N(h?G??G??ob????,\'e??y\Z?A@lf;?^??dbQ`??x??Q???????]Hš?p?????c??A??fޣ??????????u?v???k_??qMs???9խÍp?e?V???J?t?v?]#??P?????v:???8??dF????V[??0??Z??(?/?&??R<7u]?gV???r?Nul-??%e??'T?????#]3+?????E?F)<&?^??	ֿ1u?D????jQd???C???.Cs%?r???V???S*?\rƢs?|LD?T{X??ô?}Z??\0es3???|?????ڻ?wa?q?Q?\ry????l<?g\\N?????:>???m:DTBG?\Z>?!݉Ly??? ?;?^o?j6?R???58??6Ń?kR\'2?+?Z?P??Ҳ??q?).A\\?vilV?6-???w??s=?R??α~?=N????O7z+46??^p?E?','2014-02-21 17:44:33'),('sergios_mwcloud-peg_:pcache:idhash:209-0!*!0!!es!*!*','?mS?ޯ˯?U[{[?$!(?+Tv??S?>IL?r??&\"Z???|[???V!?????~K\'Ƕa?Љ8??c???????#|#???S???p.)F??s5?????|?N?י? ?b`????5?ծ?T?Ҏ)??$???L??K?A?hp?퓩?n?C\'ȝb?GZ?????Bb?\nR?v??3??dB\\??.F?~מspF?>???#????Z%?My?\\??)??????X????>???7fP4O???`>?~:?鵬? ??????GD????]W?%?????P?\\C??f?UK???ΰ?`M?????\\??7?e???^??MR????\Z	<|?????E	Y+?,?,3?????n?Q?h<??N1?hƛ??1???\0?\n/?1:?tO????G??]?J???Xc?vݓ֜?Ɵ?[z?E????~???R???o/+?]?u??-????-????87F??PG??e?????*~?Uyʹ?{߻g?QZS??iUe??ǭ?]ɗ?*?֢`?Ն??k?4i???䋱]?"?YőY??$??\0??Y迍jUx>\"J|\"P?C???#?????62?????ʐqQ?5???1Hqr?m???۶??Z?2?H??Mc???\\??\'??MnghI?ui?R?v*??5??y(?Fs\"f?BGFS??????O/?	??9|f?U}?????9|E? >??????????hX?*??`\Z???k-??{????S?g??????d?Lؒf2??}Gl.Բj\0?Աp?nk??N6??"hXZ??????f?~?8?8?u^??#ܟxQ?n??#%??\Z?YF(?dBj?K???9 ^Ò`?)?+?????9?M ??i	IB=u#?<??????%?z??A〱<???ۉL???ZYڛ2?v?`j-b-?ؒ?c6??p??GK?XnQII??\"???B???1?y?yI???f?	?z?\'????????t=,??????W?????6\ZE?7??2?,??5	6???^??X??7\0??????xu?sl?ͱ?^???R????wT\r\\9vz???>bWX???J??yÈ?8+?yjt?w0:?{??7??{????v?y;?\Z\Z?????????w!%??U????+7]??˛n]?XV6X?Xr?N\Z?6?e??\"?E>c?i???UE?%csk??슰??)?W?NE539ؑ?\\n?*?1?	?1???)qW??Q??????','2014-02-21 18:00:58'),('sergios_mwcloud-peg_:pcache:idhash:214-0!*!0!*!*!*!*','?U?*7=??㇪?J??@.RU(:A%TP?x?g??#??Q>?Ч~B~???3$Tq?yߗ?Y1:???+WV????=[6`?X?ѡe??訒?#)n?HN???K????0M?H?0??????D??\\Xg???d?x<?[???????7?;?????B?Ӫ?r????Er?T???2?>?_?r@F??|ӞPl?U??N??? ]?/???J??吧Nh5?L????L\n?????n;?\n6??Sn??C??W.\'X:l?G???'ȣ?%?,M??lx???_kлx???\nN?w?#??Vrw8?)w:??n?ta3??ሁRי?)X?\rf?>S])????љk뺰-??KRY!Ɋ????7W?\"????(%?p????[??X)?%_+U??	??n?????o?)OW@6­?ZvM??K???uWC???5??l??Ea???x????r?(\0??$\n??u0??%?f\\???a鐳?=? \"6?rsm???K?J??ŷ?M?:3??NC?,X??bY?>Nmz?[?C?ѣ?}???+????{??cw[Fq??x?LQlf#?Tgp?PO??p?dp?<?\\J0?#?????\Z?:????jD??7???\rޠT???^?{????7J????PYۋ?o??????s?Q?h???e<?_>??`/?G?K????7????"?@?%?B?,.???ͷǺ*qxkڕ???C??????????????b9?m?\Z???z?_ƉV??O,?????F?-?a^?WtI?/?','2014-02-21 18:05:59'),('sergios_mwcloud-peg_:pcache:idhash:235-0!*!*!!es!*!*','????O?z?\"??@A???m?a?;?j[Ml???f`???b{db??\rtg6????s?O?|?lZؘ!?8?U+??????`J???o??\"?>E?2w\r?D??[	??m??=S>?????ѐy?]?o?Zxu*??_>??\r??&??%?\0<??????WG???t?\\vг>??Ɉ??a\\Rat?M?tP?iN?U????g?F?g/?d??xq?????????T\"vU,?h????????)?2]??q??Q???#l???Gs.??\Z????o?e?>???/????I\r??t	֒\Z?.??S??	?Ȍ????7P6rd?ŊX?Z???>???fY?|8??r?*?3??????\0&?????\n?2\r???D?J\"ߡ??D%\Z?0C?L?-???p?x???3~\0???{???W?u??#??????,9???|9???YmH?e?M????l?ʇ+l??u=?X^????pl=곀)*??W*??w?\ZQ]hHh??????P?>\Z?L?|8D???????????.?tC?;\'b???_??tΣ??\'?%N??d!?=s?r:uO??/??h/%?_?????4Zκ?դ????=??	KGXl_??|n?y?F?@?????Nݲ?C?%??V;I#??X$?\"?7??\r? >:+??b;H?????~?C?????2???	J??0?U&??K???ܣ sq?0???YO?U&\\?*??p??????zͪBg???geJ??ED?\0T???]DC??Vih??+?e???ju	????|?wN?Ss??&f??X*r{]??\rG?fޜ?????????J??4?\n*Dhy???H?????$???\Z??\Z-??????h9ML?6q??g:@FK;?뫛???-??o%?b?dZ??y?????{?6?,?S ??.?c?;?ǐ???_??ܲkVF??z4?????9??%C?̘&?O????h?????????[???b}Zc54??^X???????0?!gk??6?&?'??=???%o=?H????#)????dG!??????G?6\0s%x????*m?ǯ?$U\Z?UO3?Н?Co?[?\r??h??2ZV	-kgZ?]???Ѽ???s?	+????3+?`U@\0|??\0?????S?ٕM??c?C?	9??x??\B?QB??3??????s??sW?M?ï3?hU?ۇ???)??Z?\n??O??P?T{z????N?y??<??U]?????????P?o??ݙp???Uo?Q????z\'ѪKJ?u????i[?\n\n?|h?SS?%?Q!?2>???zoh?G??כ?e???;??[u?????P??ވ̘?֏N?/?????','2014-02-21 18:11:42'),('sergios_mwcloud-peg_:pcache:idhash:47-0!*!*!!es!2!*','??۶?=?$3??)R?????ډ?v???????$X???~??}?????LJ?bY?3?=q??سX?ł#K??G1?F	?XM?\Z[???crϕnlzz????x}%`?l? ?q??#??D?????)硥?x?8??X?????!?T\Z8?0???q????????4??\\?????mNY?'嵞\Zj=?o=???8??V???G??z???ڡi??,??????<???\"????!x?????)??/~?8>ԇ7?h?mq???? ?I???*Zh??H?E????pDO????VE?I??Z?;?\nv??Y??~???-?4??Rб?5FњlGL???#???????a\0????T?[T?-5??Y???Oo???s?}?ݭh?8?Y???`@*mim?%ՂR-?[???g???d???wB>Ճ2=???T?)? U????sK?f!???\\\\Z)?$ ??????/+Y1ԟק;\r????S??j?0S?}?9qY?????????(?tv=??~?Lb;??M???~_???YL????G?͓??	?_?\r?^???????6K????1˟???*?<?z??t??S???Wg?W??vX?ٍ??f??4Wv7??????+=s:??x~??>?v???Vpn???????\'梧\'?JO_?F?~y5\Znt?;z?Ɖ?7?F?<^c{?<?m??e?[(???[?er]͒?n}.? ?֒??V?u?!?A??R?Xs4p??ק?ܿ?x??iw?~?zǬ??.??????"??R??l?_?>??ԉ?VtV?Q?J-s?)~?B?̦)H??&S??=%???]`?l?W?KS5S-tJ?U??????8??W??R???~?g??W?\{????$??{?_3??@??):??D????4;?X8????HV+H!?&)F?P???iSy??k??z?????T????/??!?@%Ȇɹ?ڦ?5???N?-?????_??\Z??f?v?I\\??WGn??\r?N???????M A??o???zn?5?#b򼿍a@?????????VgĽ?B??????o?????$???\"??\r?5Z????A3,Ň??@l??+]l5??ЦA[?\Z?B??;???ZZZB??^9<?Q??N??\r\rgr?\n??8?V%]u??uSۋW?2?R?\\?Y<Ac?#?;s??+??F????????L????;3???<?ٗ???蹶??0s?\??ut?T?;?̹=?&?????Qb???O?+??Qg?U?9?Ѫ@??u?2?ҽ?\Z???Mb?????tI?(I?\0[?q?????R4K??[????l?<f\n?^?}`???E?!?Ҷ???f?pv0y????eK%?[?Q?m??&NG?M2?e`?b~zm?u?O&b????t&???????\0?? ?.?@?W ?E??C+????dŲ?U?Us_T?km?VMd?#k??n=S?ר?k?4ګx?m????O?<y?Q׬?k??m?m?n?c?????ʢ\nV?Vk_XG???ɫ???:h_9??W?c??4gy?ӭHk\'pp?Ș͈H#???1???Wb?4?0?8O7}&?YyɟV^̷??q??u?^y???mX-????h?\0???=?;eo?u<?E9N?Q?<X7E*\0b??0??^Ҥ?Ӻ??O??J=,ʦ۴??	???D$?k??C#?(f?`??BU,?z?jx*j??B**P????s.?K?Y3????M\r~?p|?','2014-02-21 18:06:11'),('sergios_mwcloud-peg_:pcache:idhash:50-0!*!*!!es!*!*','?????B?v:??	?!??L??@v??\Z?@??"	?????????-?3M????G?sunk??1????p.???lş?{??[?Y??4????"?? ?Q?|n6?????P???	??Z?֨?U?Ԙ{?hƑGn?W?|?8`AY??>V~9%???öqxb??8???SkTdO?r??\\9??o?Z6*?=????6????oǴr?"LFS\'|???1??yr?;3?e?G??0v??6?	r]Z?öM??x????;?j?Ğ?ݎ???}?e%j?}T???W乯?P?34????\"E?B<%??u??e?\'?`\nJ??-*??w???G??g35??;?B???9?pؐK?0	_?]ϟ??o??u???????hc???9?a??<T.wC%y{	F3????S?g?xԧ?p?]??uZ??:?	??PB????K?0?????\r.z??MN?Kt?ylfZ?{?h?Z??f????n?5??>w???J?3??t????_\rn??F??Â\Z?>?c?e?????Qn????f???? ??sG2A#xn?????˅z????-?Qi@?oh?ȸ(\r??D?`??6??L????i?"Q&??4p?9XE?b#???k????? QiB??\nA?Oc??u?D???1???2WitU/??R}?o???w?3#莊?!?I>?,?????2#ӯv???f[jY}?+?ޒH?#?P?D?!??ux֌?^E2?Բ\Z(Y????ְG??H?c[??O??6??2NIܡI-\\???K??(ui?J?,5?&kK?잨??|?xp:??=?u3=5???9km.\'@?3Y?:?????Kq?I??r-?????+[??cΨK\n?$???=??Z??? ~?4??;?6?$?c??-?}??X??V]}??ّs?5g?e)~???0h0͵??֚?@?	?1?R??q??~?`6?\0x??\'?$?n???J?.?϶?k???ڲ???Ȯ?#\"$2]M???1??!?ꏒ??Z???^@Nߏ?U+\"???$9}r7#p\n?Ԍ??mP?\0R?I?)?????Y@????m?Y??Y\0??R(?p???j??vN?HZ??#??j?Ꞅ?ŉ???,F?[?V???\'?????(?????JS????ׯb\"????pAI?ir???Iؚ?o?^?׫??zU?_????????_?Cjz??Y??ߐy??*	??ˑ?q??\Z?/?N????IB??56IS??$<??z?~????L?P?5%+?e]?^2-e^b?? [e1\"3?At?<?Κ?˰?k^?V3?\Z???','2014-02-21 17:36:26'),('sergios_mwcloud-peg_:pcache:idhash:51-0!*!0!!es!2!*','?M????+`n̄??7A???em?[-۱????wa?6d??-j??|??s??L?????\r\0?????q?2?????z?ò?go???vә???p???6???x4?t????M??$??oX??m??"?????g6?y-???\'?????m2????ѽzcmb?݅ϯ?Óh?>;?=;??`?m?G?1???\0?H??=?w????o???h??/9<??O??????A?r\"?\\??NY\rL?\rSh??t???????7Ϸ?<M?7?e?n?d?r?? ???=A??d/,?6?z,?v3?}?Ľ ؐ??t\Z6????q??C??6&nx9?2???v?P_????N9?T?????	??/?k????rH???L??t??^????e???h&i?\\1b?G<^g?lxa??&]??G:??]ʭ?????hr0???;sI???HA??4h\"??t??WXA-v?k^D=?2?V?T/?\Z7?`9[???+?16C?|2u^/M?Ѭ?|?Mw???J??s?^?Yl8??z^;Dp??<?^??t?ڻ??8	?????s?f<?#??}QgU???A?0?mM???????m?j?b?#??EfK>???\'tu[ֳX????V{?[?	?6Тn?\Z?匲?\????O?Й~G??????ak ?.??W???\"of?&?O?~?{?F?c??#???:?D??a???&ȤK\nô?jaAw4zq?{??ͥ???Wa?˗?i??s???K??p`A<???&[k?&?_ւ??????1_???l??????~?G??]??Q0Y??]???%?????p+????s\\t?nX?~+?\\[?{?16r??$?8?.Iv]\0?C????%??ð??C8????D?;????ᰎ!İ\r??b?X?_?n`??(???~??4z@?#??????????\0??tz?<??????ab!???4??????8??a̤???]??bcM??9?ƎS??2\\NBu̧??m??F??UēM??????.?????c?????B1\0gb%?:<F?g\0?_?]????$?r?6??t?1$g?g???x5f-b?B;??g-?bb?h??A{?.???Na??"Z?2W?I??CI???I??	??F???\'??<Z??<s??mO?k??:?߅8^ˢ?86)??Jڜ???????Y??3?W?(? Va?7??)???Φ?+0[D?L-H\r\"?n?9?????????Y?}?4b?fFj????o???d??Ǡ7܇S?W???\r?o?ğ~?T??e???x???0T???"#δ?7??`7i?F(Ea??>??6??YƑM?Lnf-	??܄?\0!\0?(?B\0 ?@?\0?U?:2b?\r+?1?o¦j?\"z;p????gYTsRԠg?0?@a?)?МR?\r<?????6?`͖???N?????Q\'????[?\n?~z?\"?ޡ????;\\???=[???f[ǰW?DO3???9??-9z15?????l?x??NK?Ƀ`????g(B??X??1??o?????>???u??Fߤ+ܦي	?????V*???????no??G?8zT?\0?@?e?????dI$?c??^K\\?j?򫀠_????x??+w<??G???K???m?D?>X+Hݭ?@??`?????\nV?p?XE???Md9K?xdA?@ y?J?n+?t?k!2??D-D??,wP?µa%:?qE???@??-???\r?Ѱ?5???????"1=?7Mpd]??|~?\0?ͷ0E??m?1\n&R4?B)?k\"???8??BI??%d?????K\'N2??"?o?Is??ȉ?7???=???8>?bf?R~)D??`??v?L9$;.h?ޒA}?A׹\\??[IV?COh??ΐE?????,F&ծ?Q{ &Ɩ???K??Kn???ز?\Z?%lL5??q!X[)???????\??vC???8?~vR??_eL?\'3?ΘGR?????b?|?z&h)???=?Jfғ	?@????\'@??V?l霓??VkN,<Z3ؾ?jFD?KX?M??~ͻ??w??wI?2O???u?w??B?1?9?s???R?????Yv?|?<?I?[?I?:|	?O\"f??xY???P? ;??f[?pÀ?~??=???%_??<?-?Ӽe;?ַ?\"?????f?1?k??f?(??/?A?d????\"c^?G?cbԧR??P???-W|???Q,?????5P????????/??]??˖ ?.c4J?F?61?a?@??w?????p?/P?R??5L?%yۉ(Q??l??%??xe?~?O?yrk\'? ?? N?6????#L?LY|??O??`?tF??s??\0??d???o??????&ŵʭł?wb?l(\r2v????kN?d??t???T?/^?????@<??w???7x`????D?7ݠ??J*]E?UP?AV?nЗ|,?K?n???-??ʣ?;=տ<?pB????c۳ד?q? +.>??0?Q\\{G8?fYBv??\"?????+5#$?? ?_4Yn8??$?٘o`??$B?ZF/m@Φ?H???&Z9.?e?\\ ???x\'??h????xc??ӶX????Y??q? y?T??tX??? 	?Ro?b????!?`?^!??0?X????k???,?????3׳?\n5??Ϩg?;$?????=?O?H?s??}_ύ?\0>Ui???hv??WRhI?\0?\Z?F??U?;???Lo4????+^?Zgm[\Zt~C?C$?i?6??O:\'?+{ʀf?<E\0X??&??<Tr@?B\r/????????\rS??n??̈́??\"?31,/??+,H?? 2u??[\0?#??qA?d ?L?????69?&????[???Y??aP\\ron|??L?:???&uI???E?p???ZH{?=???xج???V2?????\0wń?W˚?Y+&????????705??\nS-?Ց2\\???W?3???>??d?EfL\\?ܧ?6?0??!?)\\??}?\r??C^&SL??F?r-мx??#q???V{?M??\0O?ղH<??5a??}?n؄B|\0M?T?+\0???Fϔ?4???I????\Zv?VEf?????@g??ќH??K??s?????)? ?????w?:y???s??{#ׯ{??߯?????%???|e?oq ?????????????????v?Y\'???&\r:????c???7]?瘤A^)˜XWx?q?a?w\"،???5C???HI?8?I\0YNKQa96?q?g?CQ??Jz?J5??l4ή?t-?xy?Pϵ?猥??2\nS????[v?????2?tz??\0?bđň?^???-\n????@ ???Zk??I(}D?qG?^????\'wbQ?Q???????M9?~;?????\rƏ???M????;!Ba???e?"a̍?L_?\0hps?<??s)?_D?0?.?rx?o?\n8	:?-?!???gvoL???,?#?Bz;!7?&iZ??%M\r????BCoh?#Z6$x?e??~\0\n?H?]H?1F??KO?E+c,?????\nԟHm~ܨ??ȼf?~3?0??4N?????6Ҧ0:\Z????????%??=<?p???K!c?\'???R? Y`&m??D?pH!??\'`?.??m????qd?\n???????gxz???NL?K?????v??6H?ȾS??Nז?????W೅Q? ??mYj{???䎉ۑa8??$+x}W\n??u??p|?d????N????o\"?:?q,??<f???l?M0`=?????(W0Oa>??A?B??BO??i?P??????_?\rƖ???$??FT??K}????C!C? ?f\0?L?2???@,uA???b?#u?#??t??F{F??<??DB2???;?ꄁ?L?-yԭR<???-?????\"8?\r??X??dtv????\'9?擝A͗c?[?-Rz??0?`???D?&?寉2?8????۱^???Oբj?&????)?g-T47??????+????f⸒*O????砍ӊ$?{?v???`I????z?nxL?ω	*??????W?b\0.قe\"?????a???-??J??????Z?#?l^?@???Z?}?4l???????c?Z?`-z?????	?Z??\?QGJ?Q????tH???$?I??\Z/e\0??]b???;????$??d???=????y??Ѧ???4?>?yr??????y??Гt;+??f)?%\n??S?\"?r`?ڬ7!\rX\nf??B?M)ә?x?#2??B????/??>	~P?||?Dė???P?^pݺ?n?Y0B??Lj????i?#????`?#C̤ y.??fidM?me?>???L?? u@榃h??\'?fjI!?v@l????a??????3$??\\-!\n<f@噆?RU??G?<x?H?2e?Z/?ֳY>k???FXdG??^#?ŃNL?\"J`K??+Iȸ:?4tl?'??+?y?cZ???`??>}?(,?3??\'?nC?=?A*????>??{????=?	KQ???͊L??Z??tg????Ff?/????Z?)??Xq4˔Q	b [?	?kh5?r?%v5&?1???:C`d-?ʸ?*??X?+?0?Գ??9????G??$t??|K??ZNM?{?Ժ??k?i????5v?)?V	??\rC;Ć?__???EE??M?rg??3p)HP??Wo????y?f?????љK<u????????????\'wM????#?,????0޵?Ash?c%bp?S@-?5#???i)???<???????g$\"$?`? ?dB̉@?2?O??I?1ym?I???,?	Z?n??\\e????+??H?dc}??Ry??Z?/<뇣\'ʳi?O?I??\\%?? ?0-&??*?~ۥj?B??h!,=_?L??)u??bYB??x?????t!?=??8?(K?,?\"42????:?xU?(??{\'?.?L????A??T?????R??=?;\n)???39Y2??4????fQ.%5	3N??.z٘??Q?<??? :?6IA????????b48?K9c?^???:??+?h?Ό??&?[1&?p??")?(?r]???Պ?TU\0zr?\'???=?9?????_???)D??\0?ڈ1kfÏ?pJ?_p\"%nb\'(?k?kAg?v??j>\Ze,??.v??)?\r?J??????-i??G~????靝^?,G,r|!9Tх??k?(?z\"???'??bQ???H?t??`??e??V?N{}??)???????X?m?O??4F???8????$?ᨼ?v~?S?0]K??%?Y??{??t?8m?Ey<?ݞ?????e?4%e?&?P?????wo?4?P?J??!?y??????LJ?q9??????????e??e?-F?X捒\Zp4\"?T?3ACDI\0<\n??6.ZG\'$?\"!??e{9+p???l?/ՑL)gW?ǫ?????]e#Ł???v???Y?5??1? ?ƏgU?*?֩?	?`?#??\"????}c?w>??ZLֿ\ZTT??H????8HE\n??RI??}ws\\?ͷ?]?j\'>?2?\n?ͅ?j,???sp?)?@u?\r?a????W*?m-R?FG`?er??b??S?!?۶[\r??މp??$:B\'%?ԮS5??!Ω?>6F?ܘ+,s?ddp??h?°R???ooIƹ3x~?j?T\n?&%???a	G?)??????0?:\\?4?&?u՚?s?Ų?Z??Q??5??x\0l??-?\"???p?z)?ݍ?ZE????s=G??\"???|?5?΀?6W?ήc?5?'?7?????????pN?X?ݵ\\t???A?c}???Y???????/K???+η6??????[]q?3?/????RW?.????????z???,???????\"o?2|??T֥v)???[???n???B???l????m??-?????v????a0:??9H)??\n??J>?&??wi??_????e??H=C+?=;?=?o?M?/ra?9u??/TL?1??K?0\Zt?KPō$?k6???^Q??????h?X?-Zzw?o?\r?\"6sOIE?,VJPI??????0???)?e?#??X\Z???kQsp?*,??#OQi?"a?V?6??????I????4??????\0??/F=????]????	F!Ui???ԉ?^??"ȫ\"?ӘH??A?V???٩<?6M)?+}`c?n.#???c?ǌ???"????C??w???_̢e򼋼R??	]???W?pIljл???n??X?K???0?B?`@g?B?rlѪ?IN\r0HV?D9?L?Y?V?????$5?\"?`k?/ݲY?)?.????Ɠ????????ܒ??l??????Pe?d??????E?Z???????(??Ĥ???Xbf?5yrPS?Sj??J?"Ȁ\r6d%\rE&X??ZO?C_?t+\Z\n?O?}???Od\0?dۉB?\Z?43?k?????R?c???a?ׁ?)7D????\0?&\'??B\n? ??X??sHے:??ʽ?Z5??+??jld????O5?nJ?0?@??*?5#u??͢?#?/?t??cn???\Z????3ak?iM??Z?~?[>??跌?~)?xR+NFc???Њ??\'??????H????6?Q\ne?V(e????n??^V&zq?p?eM???F?????䅱?z?4v/?????????bc??E?v??!???+ύA~?RSEt?K???Z\'?Q\nQz?r??????mp??a?%?j?{R?P???`Wl\0mϛwbӺO?\J?Ʉ?????J??.w?(???\??0??(?NJ??a+]??u/1dn?3;?pͭ?Z\Z?Tu+!M6?M?W??V2m?خ?t???t???,=a???.8?\n??c???a?U?	V?0?u?oW??RX?\"??RX??~?Pղ??	???Ϸn4R?pb??#V\Zssqy??rS????????1 i??7*????j???<}?.?1?׊??ܮ?j???.?զ?{j?ч\']W???8?p?N?NoH?????-߾?gs?Z@?FbAfK???i??=?a???t?R??>M????*nm?-?qtiڠqC\n؝?c??r??jP??1????ƶ\"?n?Ğ(???(?\n<f?9?W%?? +?3V????N???v?U??ǲ!ӝM???<і??U??????M+䌖?0Je??\"??????৘?BB0?V=*i^W5Q???gT??????K????r??D.?FD?j?l??{?6dekѩEA?w?f??pܼ*C??4e??\0??ݭC??CGx?B?TX46cVb?%??Y??X???T???٨?6???????݃??Wx??W??ӼhL_Fp\rd<?B?DS\rf9?e?ʥ??????J?????0/?f??\'?{?r???u????A?D>G9]?8???.kR?ޤ???aۉ^??^?j?%??S)?Y?NJ?TJ?N??u?\Z}??x9???t~)?d????)??o~???j?'?=qs?t$??YU T9=?V?5?-??ܢ??\r_??>???Z???6I*??k??/?<?We?|????-֍?6??!nу???\r?CA?\0?d{+?H??Mi?Sa7?8?????	\n\"?\ZW??????n:t|????4??ȳ??N?V??$Be?\'?\'???Y[?T?r??`?sQ0??]e?1Y~Ϣ??Z??3?>}v\nBR~K&+z?h`W??cwhR???AÑ??EV??m$H??????+?<?W??????[Q?r??\~???<?gSY\'?T?Q*??h?\r?*]? 59P??M?vK??d\'&?K%$2?N?r? ?q?M?N?????I;?\'??,U??k??\Zd??]????5?м}}i{??>tE?l?#?????*qջ?>??????d$??\rn?0???8&C?L?L	?ɰ?%?.??O+?O?e_A?i?!v??:???XJ%??2?B??h	k?)xI?SU?Hq?0$ i????ǓR??\Z???̺?e?\n??????੔58?)3&Z?XAp?k״׳n``}ssc???\0\nb;????7??WK]T??P?t????n\Z?~?????\"?4?b?E???i2\Z????}j?M?7	??0\Z????\n?????????QkZ9I?W6-0.b?\?}??.???Z\'I;??l2,??n???	?G*{8SM?: ?5ӯĴ???Jq|??????PM\n?<??)??Cy???ӂi!??ܲ?p?c???\0?[??Y?*???\nF$9?b;ݵ???g?(9Eg˜VB$NK??r:?YU??????r?n7?\nũӘ\\xJV??ރK̊Ux??ȍL?V?:&\"??0ݹ(?\Zt??ՉjV?YҶ ??V?h?x???lX?W,?8???d?FD?	?y?#?N`??Y?a????eɴIۡ?0????׭h??t?>G\"p?@??(4@??\'\\??Z???X?e?.?:T?RU?/fΡ?my??a?,??G???N\"T????\0d&?q??oL????w?R?3Y??Z{n?a?Vd?D?g)V???O?????Wt???f%???r,s.Z???bZ?m\rl	?\!??nթ?>)b???1???H\n??s:?ru?El+????Oc?Y9?~ꓣ????v~g?>l?L?C7n??Bl1??!?ݩH???U?%#???K?`?,?D:??z??????$;*9??,?@(i????D?????!&C\n-?T?L???掺?zk?Wv???d-??L?0??|6,??&?ETilg6;8Cdz?.?????յ?ۗ??.???4?\iK?\ri?^7?2?*	?<U??p?=?VvQ9??Ъ??5?4??Ȕ?6f?j?.Ó???=???*pL?????a??Ig??{??QeZ͋????Py???sџ_\'\"?b?#??????d?xbzo???ʈ?`?t??7?u??}???Ǜ????1Vi?3?Don??\'?#?R?W6?\n7=??e?Շ?????M??<????	:g\'`?>??)5??fF8??C-?V?:?????G??2Y}/b?V??=??R?*Nv\n?h-~KD1??g?s???\0?ZQ?0?E?r?\\???H?????<ц!?v#??;??!Z???3??*?Va	;?HkA???\\?:?????̉?,;<?4#L??b??6cy?x????7*??S5?Y\rA?i}\Z???\"B:?z?ݳ#/?????X?*?|	??o3????gx?X<Wq}?0?T\'{?]?LQ|jߝ?y\'NRt?ujt?N??;&?S\"?q5?x?b?&[xe??C????uERV?]-H??????#3?s???\"BlQ,???<6ǕG?T?uH?wn???T????g?̑J_??dO/?銫d??c?Ȋ?ڇ??һ?????D?ȁ_????c.?sr}qC?uM??:??\????????<d1?*??}}?JD_X??n?`?u???!>V.R*?ԱO?Dq??L?)VK=/?^???\Z!\r??$z?kn V??????a?U=j?*`???Q^??U ??s???&?e??ZLVhJV?=Ҽ??uO?S?y?s?n{23{??]???K5ȚS?i?Ϙ?^}???ɷX??????????.h\rrǇ???8???>_O;??c??{?SK=?7????ދ??X):S????%3X???O??!??\'?(???t(??Z?{U/?d??eLy??????????????[?mڥ?}?Ԭ?y(??????d*&??I?9???\\?&???ˣ +?Dq?f????^Ok.ZsҺ?ޭ??K?e?;\Z??s,?	?bU??\'*??7??fq??C??&???>!t?+0???vZ?ҮVAL????2??????:??pз$???S????h?ޕb_?U?|?EjZxѱ?;?Cc??6?p?:?M?ߠ%>??o+(?;????|Y?s??_֖/?ltT??-?h??[ٷ???ѽńQ%??+?\ZZ??dH?\\v<??3A?f?W???n?8?????y????U??s?fss?x??Ŗ?:Ϗ?\\N???o?5??˶b?;CS?zt????q?????56?0?CD??b\0??U]?S?Z?z:?tqV[7??I????oq?V?[/:B????4씆ŵ??kS;??N??AA^dA????ho?Y??^	+Y\r?t?dNVP??P*IM ??m?.P???>??9??l\\aS?a?RL??K? h???????l??_n>?f?5O?4Ôf?!0ĥ?/?vɪ?])M??U?0҄???Ko?\0???q库???:???C??q??\0o??e^qv?aE卉????D?25?5(N8D1M,?m??:g?w].?ym?i?HRQ?*@?m?Ӗ?p??*?vi8?r?B:O?n?+~?#?E??٩???4+?Eԧ????0?{?Y?X??;?P????9W?k?????a2\r?Z?}y?;??:c?5.Pd\\???D??6??d?ӟ??9ɔ?R9?????!s?????}$np`*?B?S??9?S\'?o?e4????Bz??????~V\\^?m??`????N.??ײV?;?.?=?Ҟ??cb??Ls?tn2??VB!յ?)=??Mj?ű????\n$t???O??ã·{\0TŤ*?)???:?N?X????c?o????\\W#i^\r?@?6?#(.f?m?^?\ZXۭ??.??&?????j??5???b???YǞ?6ҦI=f?C/??^k? ??S??r?y??????????x?RXDu????Ԃ?H???????n?;\"?Vg????:???7\0>3???/?)??g{?R???N?:?????\r????d?m?Ts+р???????J5.????j?T-y?n8nf?O?I\Z???Au.,k%????/?;%5\\?.????r??q۰?ުJ{w?VW?[H?q?Hz?8O??4S=?d??r?????V???i?:??t?ӿ?H0?+?Sq[5Ӗ?b??c????u???:y?cԊ???/??>?u?o?L?3q??<??.3??&????????x?V-?D?M\\????b???\'v̀?~????\n???Ku?'??Tj??z=?Y?\"?q??\\?b?/S=v??@Ԥ?\\۱?c??L??蔒ڊ??5?l蒉v?^6n??txj?d?or?F??L???1\\???(v?f??????\?id??s\nΦ??9?0??sJ??E?]?\\??????7?UK2??	??n?V??Dق??ԍoF??{?/<??]\Z?t7?CWK???;??ó??????.????????+O?????\\Că?g/L?<???G??D?Yn?mp???+??ej???4ȶ?B?U?MVtKS?J?H0????UGM!T!??=?<7F??84xW?]?;?|)???]A$???`???Y??F6??VC:????M?xڭ???x?K???w?9U??\0Efn?hǅ?Z??(?REhi????D???N???R?vV???MT??\Z?J<e? L?`_?B???????!y??'????n	???+c}?塺?\r|O??˼?Vӆ\0?rK?z?????o??7Z?\\?4???eBM???RbIp?ax??????O???8??'??x6??r????wT^???ْJ=+޻??ƅ???[??I???O?*??{?????b?????????-?\r{<??|??t???&????a??????????\r0 ?n?5??8???~???Io0??d??*J~????䯿?o=?Mes??3??6??lh???????\ZM?????Ťs????o&?G:~ӟtz??7߽????????0tsa?\Z?w>??p?Ɦ߅	\Z;???Ѵ?la?????~?Ԩ????!<+߾s????????|?i?W?W?\"???; x???$?BW\0a????x??}kǵ?? ?nG???lND;??0ڳI????c??~\Z???x?O?~??4??]ģ???Nޏ>??n6`a~??X{-h???^?3???O???????-??????????pI?^??????h?,{????6I????tAp?z?T\r????/]????????L??\\o/f??\n??#??5?/?y?????h<???j???MR3??w??\r??o7????}???????E????X?k(P?M?B???O?b??a?|{?7???K?۹??????????????a??9?q?8?;U?????\'???p?????ӓ`{??J?)??h?=???6?\n{He;?????k?<?M???~??????m?s???Q??????7??4?Q????o?%??J???T<IV?{??~?%?av?o?\rN?yqr1ey????\"????-+?D??g\0????x?U?tF3-???A?4/??\H?\Z?_?na?~?>?mw???0??٦?,???s??8l??<.?<\'???7I0??V??_&Ǡ@??W$?e??4跢Ao?D?>\"h?A?8???B???n??T???Hx?ǻ???<8\rT~%ҡ?+???Q??4@h????+0?1>?`|e:??Q?0k??}?n?8(?5????=o??c\Z?bi??X??}??????v??Z`??.?BZ?U????v?rzE?8\0???޷????-۸?F???n?8???8n?b??3M?01????z%][m?*??W??3?ė?];˩?X?ѫ???d???<Blg(??A?@?1???????d??~\Z??D??5??????Э2??P?????ޯC???h?30???	?^*??2x?1n]?pnD???lg??罒	?&??????ȇ^??D??W?v?ot1,i?"d?,?t?	??\0???:\Z??/?????????Y?C??A?n???????/JmC?H?0??T?BT???-??????\"?????H?82li??/%Ak???H?????????U?Qϳ?? zU??\'?>?+????OvV?)$d?L?=e??e?Ov??J???YW\'5-	????L:?\'?gW?+̟???????jh?C\"!We?챞??:?E?????p8>??7x??k0????K?T?&P`tV???ݝ?`ml??i????jg????E`?*?g??-|?x?\"	a;??Z?؆Qja??????????B?ⰴ?1ϣ?+??>??~:Ut??~;?<?(G???щE??LY?\'6?po{7??8?6?????_?u?^.????F?e.7???x\n???\0^?niq]???={W??!???????SE?뷴?????????Z?5$?hi͍??W???????3RM/Z>?Z?h??????hU?\{?v\n???_???geo?????Z?????#%ZZs????J}?`?n??--1??0?BKc?`9e\\?T7? \"????? Reۊ*??4砥a8:?b3?iV׶?r<?,??$<?DY}\nw????ɨ???:f?[X?{???>U??9?????+1?'??A?na5?\r?n?????j??<??p??r?.???C?????]-???YI????D?G??m?z?*??l?K?<Kd??{? ???M෩???^>?q????n?w?*u\"N??d?J???}Tk???????????\\?>????3???(m>D???<????S1j?\\0F㲝a?A5X[q??6????#??!E???x??](?_?{s???ׯ?\0,???????s,ե?Et??8=??+*??)U??;???0?\Z?Ƒ5?i/??eY????;p???{?d?2I?????????H??*z??\Z?І)?a:???\Z???{aѷ??c?/{??0??w?A:?!?)v﭅?-?ԟ?Q3?C??X?X?{?uh?n?I?o?????n?1?[?? ????Fx?9?????\r?\n2?ٰ???L?viWH?????l&???zg.?L?-P?&B?_CG?z?E4??Z\0?ױܣxo??@????;?`???s4?7???F?RH ?\\?Ub?7A??L??e?ÄGoX?????gE\'????|?0q???D?????3/t?j??????U????b?c???KTo-4\r\\?G9?? ??[K??????=????8????\?RuAwp\r?~?????۸+al?0u??CG?XY?up5AfRg[????B\Z}??z???G?Yz]???H??j,????5???F???4????g?????2??ߚW???????2?\Zv?? Ǥ}G;5F\'??=???#\\?u,a?X????\0f?2C?]}u??\r???O????C?A?y{ݑL^??_????K)????s?????e&8??\ZЛ???nŠ?syT5\"???ӯP?{?nU?1VQӅR?K??Wq?R?{?Ж7?wo??LTG????'??\0?Th?OxWOy\Z????????[g????A?@K??s?,u?0????0?????ד???|??M??*???uH6h?C?\0#?1?i.??Cw܄?'?g?sm?k??~:??1!݁c?????jP7??\n?TOx?????'????ꢫ鿭????4??|?ҡ???ҋ?xK{?o֦?)??\'??\0?}??????G??e4?aИa_?r?7?h?ߥ?? ??~?.k??5ǹ??ְW??????OC???u??e?ŧ????(?ċ?͝????????','2014-02-21 15:13:35'),('sergios_mwcloud-peg_:pcache:idhash:59-0!*!0!!es!2!*','????༖??????y????$?m]V?]???2??2??)[է>f>`?????\0	$n$(wwZ?sJ?H0\0?@\\??5ھ?ď???n?lk?d䎶?W???9??????ԻY? ????L^?d??_?1?6~1??4H>|uk??0???؃?؃??/??cP??????5??(?!????Lӵ?~???L.?p?v[%+/?`???o??{?????q\r$(A?????????A?Fq0?$?Z?-AR???jѸ???aZ?6%???H@4??1q*\\??܋\'g?&?\'3?Y{qM?^?=?b/cᮩB5?d}???@??F??ĥ)9?f?G86???}i????8??8iC?B(???\"bH]????0!?\Z??8?N?Nqo?????aZ?@????Y9??qp?N?vD8M??1Иz?8??Uu???|8yw?Z?VED?+\'#??B??/??vҞ?ae$?????0???????S??g\r??\Z?>?\\F?????h?Z@????vM?pr?NL????; ??!8z?A???=2I0???M???_??m9q?fK2?n?]2reW\Z?Y???*)>$m??`???itq?C?i????????S?WhF?e????????1?f+?,???ױw㝤??"???j?\r?????ъǾU?@?`?H?_?@?eU???4?T?c????=F?S?~?*4\Z?@k?g?n8???]ȏ???P??B?????\??W+?(d^????zd???????\'h\'?*??Z,?????FuE???b???E???L?g????zӠ?Gam?P????պҠ?D??\n??)4.M?.4h??G2??_A?`P?kzE?(;,?t?A?ӀF?Bej?LA?B???A??	E;???5?,?\"??{?$??b??*;>6/?\rK??_?????fX\'+TP?????nh?<??=)??T3?g?\'??t?6Nԉ??T??ҤH??f^F҇`??@?E???;?r?s{??K:C???i8lF`?YL??\ru?8Zd6?????P\"?D&??)???m%???Q׉?fy????i??ӡ?L????Q??܊??\Z??U?0?<?\Z[\"?o?zjp??\n?fm	RQ[?o:]y?ލM?6H?0????#o??o.݊,???\0@\r$kG???x???Krt??Z??&????????v$?,?u???5????tG3?*???gR??gK???4?`T?f??֣4???m??lcP/??????U???+??D??a)?\'???\0`??j-\n\0??[d(??nz?c?F?\\Y\n???M?5??h???ɨ ???8n???{??@hp?s?6?N{6?w??????P?\r????_z??X?^?#W???N?????_??????gL&?????\'?????C\r?]\\4&?d??\r l\r?M???)???R??AB?s??ՈZ?D??\"?\Zd48M?5?Z)\\??\nc?/?9D44r?ʫw??ne?=^??:?rO?;dGP8???sO?x????}Ǵ??)?\Z?	????k??҂?p??Jl???k???ԗ?J??\0?tGAp??r#?Bn	\rA??$/#????t?,B??????J2JG#??d??/9??#??䠺?=X?䄺?4??4\'?????]?G/?A?~۔??V??]~ڹ???"?m?+ud%???3????_ؗv?????5???\"?8?3?F?????h?^?v{\"lڑ?ʥ-?n1???qZ8??dpS?[q?b9?? ?Y\\C?K\0??.\Z????*???rΚ`9?"??4J????{?\\?????\Z?????,?EC?\rn?`~?f?SŁ?n	o??:??r???6???A?޽??[????????ďi_???????\n??}^!???ث?????y?>!ȳ?E????Z??h?????????o???@V????\r???????h{??[6?TD???)mU?N??D?-<????8|_&?e?????????[?U\'.zvxyg l???r?:??\'??y?????Z?Z?\n???kb?C?/?_?_???wǗW?L?6l?V??\r?<?	~????[????K?	`??D???ϲ??????,??\0?x????#}?nߪ\Z????/E?xI??M?KR?]?D?`?Z?J(??????S>?\nr\0?)??E???&??1?uԣ?#??????gQLè<l??x???O??9O??Aj_??? G?*ys]?????aX??f??O!?\no????#D8tM?*?\\??Y?M??p5??xɮ*???u???????+? א???ϙs26??Q2????\$??Y?????\0?q?\Z?a?????0???\\??р?yq??0?????ǽ???q6\\(??0?????%???????????O????x???e??32?<??Iq>?D?pSx??m???vq?b,?Q?A&Gt??M?\Z??:֦P?P??ݖ??\"??ڛj??????H?G??`?׏???u?R??????I???ߢ?q^??w????????\'?VLgq????????n?Ҵ$??v@i?96?-??Tݢ?X?6u?R$J??Vͤ???/?%?]????Spv~U??#m?\0?u?\"????l\'u?\"Ϸ??E??R?p?Zh??m]?_?E???????y?~??\04???\"??m?)??+???_R?{*?S??i>?rT?i????????????(?򟸔???^?3ov-z??V???J???+???????X_?b??<:L?*?Ω?}U爒???\r?.?o?)?\\??5???<??{f??r???I?;????o?\r?O?V?OX}???#???Z??6hD???????rˣ???I??j?X??ݯ?????j????)????K??01?<???8?n6	??h??<??f??X?\0E?.)9?AR??	?-/??,E2?????O???!{HO?س??)?1??+?ʅ,&`cFSx?O\n?????\Z9?첤??M嫪? ?r??>.??????<?24?~\"z?|½?DױyR`??/m1???r??$`l???(DI(\0?/???y??{7??{\'?4?ǽ??ꙨR@%??]?<??餀QL/9\rp???o?cĸo????ӎ???$R?c?26H`U-?Nդ3B??AAZBn?N>??Τ??? ?l3??.?(??$?鄖R?0?H/^@?i?i?5???,?!????EQzE?EIw	w?y???l-???????dCEUi.)H?\ZL???\'\'g??ǧ?9????[?0????$?.ȵ????6??Ȍ?*?(??i??`?~??_?o?cdtho??j$9D???H\ZYq&???v?C??Фޑ?@?bMM1?1?b3?n?{\Zd?w?0uw6?p????g?6?????N?팩-\ny??S?L3??????2K^3B????U?&?I?r?U?y?20?"??a?֪k~??C??j??p?????ڏ\'?\rU.ѫ?PVU?N?M>?Z8k????~pW߱?[?Tԙ0\"??cb?N????z,??BU??\rx:???w\n???&?l?ǭj??W?3џT??*?8hnj<gM??#??eU ud?_?R%~ܯj6?\ZH>ʛ#?@*??BEw??=??????????9?Ţ?9?Y??\r*˯Ԫ??c??uE??W????????3?J??r??-?Px\r?lP??????X????\"?$??i>Y??8???:=??F\'??ѷh!~??\Zcg?e[5?𧐹?\'???L??mm?isU?y????????΋1H??2e???=??OΎ?O??????,??s<???4???%??t??,??ك\"?=\0:?=??%KJ?0ϱ??????_-^]@V????F?=??0??B???????6??+Dqq???s??w??x]H>?%&???W^???g???zٓ2+k?U-++?E?.rZ,?K?kD?%????q???"??K;?d?k??Hs?#???E??Gd???0٦??s=)?q?c??\'#?=??I?Y??\??\"?̒<?Y?xF?µ???ۇQS?^p??Χ???????????R???K?3?L%3?????????0eU@6U??r?\"???????!t.kk??0Y?n]??矘X?z<?q???5?q?QB???õͺu??0ס?[???a2?????F?A???????i~???O??C}_?8ך!N.?????h?gH???????f녆/`^?&?39ͳ?X?^8?\'i??0?Ø2??ԋq??M?2WK?????\\?X???P/?\'?Kn?????b\\?X????????8ԋq???D?\?????˚n	??$??$A??n?(!?L?'?	7???m\n??rq???mM\\DsR_???U?-f?f3?#\\???\'??????`?S?NK???*?| g?ZP??J?qu]??2?oΪ??RP)?/?c}??p???<??}\\?????ՏO?y???ޕU??4????????1)??d??NN_>?+??&??????ࣟd??἟?(T?2}8??r?????{??ePCB??su??C?3r????`m!?#?rB?\0?e???$B???qc?/.?F???$l?%???,J?6ua?ZWn??b??X???f3TwDm3LJ?c8T?2???^ƅaM?ޘ??Ce?@???N???\r?Nʩ9\\C<:?,?M?JN???K??ooV(S???|Wn??[??C??#x?B?????,sH)?Z?sx8???ңʏ??mՙ??, `s?}??^B?a??+0??:Y.?4????3???????Yb??8??AE?2?)6???N???1??&?JikΜ짐9?k?9?o?9(d??yH<IY\r?s	4???D?8?????\0???k/???????b߀???????\"J=]?????%(?ˇ??????Y?\rn????w???[|??? h*ș}3fm???L?\Z?\"o_???^?V?????	l??G?Kշ1??\n????&?4c8?0??\0?Yl??????*?1+Сqvw??????U??Ȝ??!???*??.???\Z???]??1?>W?nǧR??P????oSd???????/?\'?+??wW???x.V*V??\Z??E4???z1???6Y???????6o??;?$O???U	B?????a??w~?l? A@????/???1????$N??ݘ?[?\ZTd4???o??\r?ufc~պg?Kor?qU?]d??K>Z?w??\'?Hx??????t?s??=??Ҽ?h]#\\?)??????V??)??!?(A????,?	?Ga\r????v@!??*????4R?>??u??B?=???,\nw????J?w?T???\n(?f^?Ku?qR?Rj?l??????Pi??Q?C??-??/??$\0^zI0?????????	?Nή?t????[)???C?_?	]9E?b\Zi?tqz?#??????O?7D?w?????z????]\\\0???Z?ۺ??b?]M??4Z??؃????jc?"J??3???b\r?%?o?P??}ӵ????????x???^?a?h8?????????;?G???SjfPj????x?\\Зp??????h???٭?܎????h?????h???\0Q?K$!??+?cX???&@=o?OF?3????\ZΧ???l??F??w&|w??Gq?/??n?+?s????	??t??=???=Yn훣?P?????{??f\rG?j???{0???֜???=??3???ZZ6??/n?B???=??E?`7?6???8??̑??_NJ?7ou?^-??Gfv\\???H^O-k?+???=???o??Kr?u??u???if???^?i0??1?wYӱ?-?Ɍ?p?-?%??p1FiQKm?a;4??nr?hC1ݲ???w?D(?A?WmAY??F?\\???0?J\"i???bY??ŉ?h??=*,,x	aTYQz?#oT?	ϲn???6???J*??pj ha?>26?iэ;($?j????\r_U\"<??ٗ???_??'S??t!??8?d?K5?|$2???3???[?d????	?s=¤???\\?P?5??2\Z<{NN? s?5q?T??r?C?\rHA?????᧪4?Y?v?l??揋???T|M????xn??????Y?(d????/??\???z?z~2????\'X\rG???#Ri?B7??ɋC?G?-5ܹ\r???u???????s????????r>Ln=?L????O?ӧ?}?O????.???MI??i8??j}~??ؽ?/????O????b~???v?D??ԏCoQW?\\?8+??/O;?\Z?0???&e??`?^?!>?^C?????r<x?5??׀%?*?O?????]z_??^?BU??%a?t?N?M\"?e> ??9e???z?0????????????\n????+??V?a?4?8???BŧZ??c-???O2?1?\"(#h\'?(l?x?`5?????4?AK_?F.??f???	?Z?hK@??m׈?`??h????ݍơU???$?d?95?l?WV?g?&??`T?\n?.&?K?Ӎd????d?\"?V?褆(??\'??:	????܏?f<ቺ?ԍa?\'?M#J???????\"̖㲢1?c??M???X????,bK?????dL\"???l??Ï~7~@E?????B??|@DJ??C>?>?ɪ?n?n:r?Y?F?q<G?L \\m??.d͠?|@??Ύx?Cz?;2ıY?,?LX!??,p\r\n?\\F??BS?Z&@?-?:[,tB????T???O?X?+?\"????rQ|?,2??"F\rx??Z}?fT?qYX???;Θ$??0iؖI?x?\ry|ꨝ?g?????S??겊??jƪ^??<^u?k?7<^Q??%??s瞔WBF1?1bTG?q]?Q??'eTƥJ?0?JgTf???`??[p/?+d%?Q#VvT?????}?.\\t6?	i+|7?M?u1?(?\'??]?p??݈{?n?????1??4mt???A?????0F???V???zz??*?E?M?Dq??Z5???Z?v?G=Y???	?avТ?R?^??#\\^0\n5?G?????&?\Z?b?Dq??r?ЪFw??b?\\`s9??????;?S?k?H?Ƌ??82?Ѯ]?8W?\\V???v?]??4!5???:(?_?\'???<??j?̾????"?tЦ]?X?E`{$?<.Y<}??O?̡????w?!ވ_]4jC????I<]??K?l?a?l?Idg???mjG?9qY????f?leKj?a?x!?-????~?ޭp????=ƔQA?]?\0ֈf?dT(Q??S??&w~{?4??SBtw?{?>{??pE\'??	\'?\"?.?1???xPA5?eA?>p?*?uf?Q?`4FG?>k?*_S.o?\n+??N㍘??L1+)\"????G(??s?3?w?:?}??e?\'cX?Y?;????#?uЉ-;;?ƀ???w??}?=\'???n??@?????r?????n??cE???W]???G\r???kG?ل??E~??j?\"?y????90z??ձ.?w?'`^???S??uXŁƫR?MD?F\\pXD6?ewT??Ɍ3?;T1???4s?'??Ս-???Y?.s\\ ??5?1?,?͔[)?f??hwT?k?`i.0C4w?o:9͍??,?Հ???-ANx?wP??}?~?L!?xJ???:?X??K???h?<?(q??W??????7?{D?sZG??b????+??*߰?̼??uJ??&??\r;?<]???\r?'\Z{?\"???g;????????s?a}??g1Ei?-F9??G?w?q:{??\r3?Q??Jo?zUB?????BMv???1?t=䩨?$%bOp?:?\Z΀Uyse???????????uTM???莨Y5\'̏???????<?p??Z?i??&????+???2?;*??h???#l)̑V??????r??AnG???}vQ??vPQ8?????!<c??K???J!).*?9?+?p??w?nM?	?DU???\'`G??\Z܎*?i???.Bq?K(??e?xj??I?????E???\\??\"??s\'tWE???LU]B??thI?\\I???E???hs<IK??\'`?zQ?*^?Ǩ^E??(P?&?FQ??????*諫?7W?o1??a@?d5DQ6(?\"C?}?\"????pGZdԏ_????a0?^??^?V(?N??(Hx?L\0?S?e???I?PǕV@>^cRB??(a̸???-R1??L?\0a?B֒!K?\n???[???3֢q?i\\?(P1f?\nF?0?iL?\n?Z?f?U??N??\0THqiR?TJ?HE?S\rrz|r?A?Rj??C5곢&?b?R?1a??\Z?V!?R:\\9M?5\ZV?2(%??\ni???]??I???\ZG>?h???R???Qx:?Y???*A>$q??l???1o??I?*0P?@???VMN]C??u:?U???;&??\n?z:????19?\n]D\Z#??x????r???8?M?o?qb??+?q(???:%\'?????&???˂F???4??6L?D????9}\n??U\0?qV#?\"9Q\n]?Q??16{i$??4?`)\"?DrJ?K)ShMÚt????FN???\nBb?Jf??????_??pV L@??[YkB????W? )?n??Rʚ?6??P8lF?\"?DJ?B?ԉ?Ѡ??n2/@DJ?J???j??rC:??X??-w?X)?\ne?x???-?B!???Et??l?ܸ)?\n??ࡃe?.\rS????:X?Ge&?@?!?42^0??}1?$(@??J??@?:`miH??fQ????Q??;??6?? ?	?HǨ+?أ^B??(B?St???]??R?l?ߕ????	?h ??5?s??\\ߕ??\?.?Y?/\Z?6????,x?k??Ne?T9cK?V,?ngt?ME?t???R??CC??\'?,?Bu9?v?֡???S?ҡ???????n?)*ӹ?Z??ʾ????8?<?;.?}?|}%+N@?_?????J?Jl????Ƕ?	????Oa????E!?%*?!?L??P=X??*?X%?K?JX????????\'D???D?????^D?`????m?kx0EE???(??G۸h(??8??`ͪ?o???????=??M\nG!?????????<@?m?Pt??<D?Z????????E?^(??z?J-!^/???????+R??\n?????','2014-02-21 17:38:11'),('sergios_mwcloud-peg_:pcache:idhash:9-0!*!*!!*!*!*','?????\\4)???\"xjl?Q?N??C:??Ɛ?{w?0?????~ǐ?۽}?ou?\rU3d?&)K?υl?=5\r9?ٝ??)P???ܚuZ??)s?B?k˧|<????a]W̩ϿQ+a.?R?^???_}??mY?;?'??j????꫊;???$?OӴ-?ڌQ?!?	???/KQ?C*?H????V??Zi@}?ӊ֑??p>??y?N?z?k?Ě?{f??$??????ħ?ID>w\'???GW??????\"J???+?j~????nH???M??f??tysWD???r?Xc????P?\\?C?g??@N\'?????P??\\?p??Ǩ??K?w?b>??\'mm}93G_-?????\"\\?d???g???z]{W??????AQ1?Y?C???????B??\rk/2??{???ծ9?W?L??C?o?+p.???_???=?{?=???{??z\0g??<N?(???t?O<???X5?B??_?-?NW۽????d??Ё?Q?51?.?S?NP5?n?>??}?;?{9n>?4%?j?e~3ȕ^wZh?i??/??Z???O?E????izI????????S???x8??Cu8?????C[?I???V#҈-,??$,?!AJcD??F#n4?A?uU?????\0??ןî?cQ?r?j?^?T?Y?T0B????ްϼ?Y??`??r=s??+h\\????C?~??3F\\?\r?O?P\"??5]?\"6?4????Mg?My???X Q#R7\r???CM%ho$j?\'C\ZN?R?<?I?5??? ??pVe(x??g??[??8?#4?f.???J???c??ݍ?hC쿱?u?y\'XR??\0?????u??I?ye(???3?>Bm???z#u XP?????IN?p?*O?U???j~-;??~zE?O??!?k?"??\n7Z?P?{消\\??8Sn???[???!e?4|?h扬\\2?J?K\nU??cwU\Z?r?D???{Q???9???	????Eɣ?W???:???τ???pU????X&X?&?goG7?:?p#f?X???ǽ3?|???>?h`???#o??X+?_٨+O6????U<\n??????:W8?i֌YjՃ??F?\04?LĆ?V?1?j?@q??B*?/\n?:??s:?Jg??Tgu??4tN??','2014-02-21 17:35:21'),('sergios_mwcloud-peg_:pcache:idoptions:116','E??\n?0D?e?@??Z?9??????A4JV?E??&?Y??????;????pe,??L????????I?JH-T??괫????"?$vNl?%??mK5?\n??dה???E?+?`????ېo9??f?????-?m?','2014-02-21 18:10:25'),('sergios_mwcloud-peg_:pcache:idoptions:124','E??\n???0?gM??z??V4ັ?{w[axH??????l??@Z?,A???If???2???_?!Ш꼭??z?>#O8&[???ri?Ŀ?kxr????v~?s????n?','2014-02-21 18:10:18'),('sergios_mwcloud-peg_:pcache:idoptions:127','E?A?0E? S,X?K??Q?\Z??05???!n&?????ptM???-B???8???ee?SVݿ??&?i?5h??????L?Ԉ??????o??rؚp^ŷ??????#??7{????','2014-02-21 18:08:05'),('sergios_mwcloud-peg_:pcache:idoptions:14','E???????\0??h<?^v?N?L??dw??4\Z/????G?????0wxl?J?\'???7???*?"??2e6??R??o???16{?Tu???=Gi??????/~???~??Yޚ?u?T7?,?R ??\Z?o,Bi??h[???C\"	??{<?','2014-02-21 18:12:00'),('sergios_mwcloud-peg_:pcache:idoptions:17','E?A\n?0E???M??,K????Ԉ?B?x?&?t??{ï?p?M?<8?#-B%?????H?eE?ӭ0???\ZM??Ҙ????w??x??a*???1?ˣT}{?/n?Ԅ??\\[M!?K???@»???f]','2014-02-21 18:06:04'),('sergios_mwcloud-peg_:pcache:idoptions:2','E???0???tkE?\rG??hd??DCxw??x?|??????_??@GZ?2????\0+L?Čjs?~$?@+4Jk?s̿T?5?˔?F??эCp<H???ZlEj?7???i?HxV????c׀]?','2014-02-22 18:19:19'),('sergios_mwcloud-peg_:pcache:idoptions:209','E?M\n?0F??I???????jЀF???wob?n??~J?\\uݙ?PF+SA0??g;:P?$O?$%?(R???Y?Sy???(KE?\"Fw?nt???˾??֠*???)?9?P?N?ڟ??T?F7ֵ?\n?????mD2?O</?y?????','2014-02-21 18:00:58'),('sergios_mwcloud-peg_:pcache:idoptions:214','E??n?E?e>?LjZ?R\\J7?m????M????s/SQIp?M?8??V??`??Ex\Z?H`??<?+??D??4???e嗦{??yy?a*r???i?G???b܀?	??\\[??0????????n?0?','2014-02-21 18:05:59'),('sergios_mwcloud-peg_:pcache:idoptions:235','E??\n?0D?e?@??Z?9??????A4JV?E??&?Y??????;????pe,??L????????I?JH-T???Z?:|??D???ȵ???l??w?\r?Bq>???cQ????2T.t??N??/?o}f۾','2014-02-21 18:11:42'),('sergios_mwcloud-peg_:pcache:idoptions:47','E???0?ߥ@????x4\\???? +$*?݈????m?g???Z{??qa????L???dI\Z{)????\"(!S?B?&妪?}???	?\"?Sd??9.??f\Z?@?(??ۺ??Ϡ\rp?\r?[?v???????֚?\\Ñ(??1???q\r??','2014-02-21 18:06:11'),('sergios_mwcloud-peg_:pcache:idoptions:50','E??\n?0D?e?@?4?vs,=/m??4JV?E??&?Y??????;?p?<?X /ȍ4E\rx?2?v?"???\"㒉8?jW???\'>?J2?X??g??}s7??AWȎ?'٦???\r\n\\????\r?5????\\???7??m_','2014-02-21 17:36:26'),('sergios_mwcloud-peg_:pcache:idoptions:51','E?An?E????:,?.+o?q<2#?b????V?lF?|h??]<?y\"?W??GQx`%3Ї???Vٽ??Ji??<]?N?W?v??:\Z???(n??v?????_?????`\Z\\y????S\'???Q??Cf=????v??"G????$-]??v?','2014-02-21 15:13:35'),('sergios_mwcloud-peg_:pcache:idoptions:59','E?An?E?????3,?,#o?q<2#?b???V?nF?|??pvwO7?	?7?a??(????P?r???|!?Vڨ:??????|?8>?2??Tq?????????/~\n\r??????M~?{?*?_Ȍ?\'7p???????PS?r???O>??e\Z??^?','2014-02-21 17:38:11'),('sergios_mwcloud-peg_:pcache:idoptions:9','E??n?E?e>?$1}8Y?K?ݧMhlZ?\nJ鿛(?p9?W????]it?%???B?Ƀ??/?B?Yr?~&A0.?H?>?????L?r???$c??~1?؋??"?o?=/i??2???L[?9?.????','2014-02-21 17:35:21'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:0f22d8ac2cc2ae065384491cdd717fcf','????L?????#?ۻ\0??? ( *LLt   ???޸??d?ދ˭??=/^?+?\n?̓?g?\'?$???n?_?W????????I\\<???9ѻ??nЗ,j]?=X֩?????[/?-?'{?O^??<]j????e?????1?c~_Ո?,2C\0?????0⯞v?/=??~??w?z?b|????߿???p?7+t?L??Z`F??{Y??Ydpo???ǩ?:23׏?#\r??:??~Ӵ??;,??/??juBgu?/????@?	y?????^????l?OC?0?;?\\?????\M????r?R$QUR8??t??\'?|?3?!????Z?]????L2?4????\"+	???????nn????*???ߨZ7?Y??#5mۏ?-P??(M??K?n??????0???z??%;\'?)?{?m;?Da??\nm?Q?f?i???~*?~?{\'QA_?0;_?j?F? bu?\"_????}T????~?p?L??@?1???s???O?x?Y??8????<W????u??????t????v??j\r???3?????R??7P???0?i>b???Z}???T?`ʪ??/????ǐ???\0?Ԁ?????t??n÷?Ϫ???\\??b??n????iK?mUU\rV(?r?S???k?q?,????6?@???T>???z?8?????bH?\Z?????g݃B?xi??{????Wyɝ??R?????=??	????n??sn$?A:h?r?s???5?5?s??pƕ?u?&???kd?#?f:w?v??ڹS?Tݞ?\r??:I?惊\'#????????lz?????\n?%P??e?n8??n?????s??>?{????HI?????iJ???(:M?*{\\?\0?S????u?0????AU-Է?߻yj???J?}????s?6w???"?????/?Rq?[??e??P???AV /???????<?]#r?w?x7o??<?????x??޾?@?4?rI?<?ܷU???y??Iލ???8t?>ݏ???~?B?\r4T8H۱?̄B???\n??.????8?\'???FNa?W?b??:??{sgO?ޣ??=??????z?r?>I?i??\\<???X?\'?m@?i%???~x<??-???@o?+?|????>?f?w埜 ^Pd7??\\?/;?ߚ!ykBv?r?8\0y????[???^??G?9??=n;??na;?G} ???\0Wϱ???w?nC`??U???ɉE*f?|??C???S?N?/A??:k????̇???Cx^v񲺟<zU2޽j?La?????j?w*?????Z???ë??????ߧw???\\???g????!???????r.?+LB???S?{???X??ԫ?`?? ???n[?䟶?[?R??V*?j`??9?t\n\"XvZ8???5?*n?&????u?+??L??\Z??X????{ȣ?\0U?\'c??D????A|????|~$?/??r?*;Yd???o%??m??-Ad??j????*???Q%?G???!??&:? \n??????r	??rZ|[??ȃ?*\nxo??0?N?̮?^\nz?=w??e?eb???U?????}3Xz۬??????2???z???)?SܔA????(??????g?M??`????????dZY??g??>?3?`wO???1p?+?????x???I???w?}??;?Y???? ?9׀?%??\'a??O???l???d????,????!??????S???=?S??S+3??8C+0????S???\'?]\"83?????$?̞??)??E?R?UN??4??	?`??????ZR?????{Ew?L8=?\'_?y?E?F}?????Z????\Zj?'?k????J?y??0??rZj??zPh? ???٩G??+s	?>?|??_????aG?????ո?𞪛K?A?b??????7=\0??E???w??q?ݡ?t·??gZT6?ճ????	?֨g??Fp?????*2??]w?%?A???Z?T=<?r??A?o?1???S???;P?a?Q??_?7 ?ZWÉ5?W??<???@Et????Y???ƪ?\0??n#P?p?????/?ܒ??P?+t?w	???v5???_]?r???4\\?XNm?3??r?zM?UK?y?.p??????h?\\?s7?????<?????W??w??Ê?u1???¥????FZ1e???b??[N?)=????4 ?\'˓??\0?????U9p??z???@G?$9?u??V?l??^??6?ҿ?c[8??< d?*?.?S???????RHwH???H???7铞???N?9?v?\\{:??2???*??={?5?G?OC?@O?r0?4??Vn??B???????Zwm??????8?(??????????0__b?????L??W^?????q?,{?\\?????>??-?o????-??W?\r?^?????h?</?U??q\'Kx??!r???Z9E?O?Jh?O\n???y?????0w	?t??pp??Zs2 ?0?u	\0?=??.V?4?j?/??q???i?`???>9?p\\l???Q??\\?4????Ѻ[??g?ٟ@`???G7 A8?? ????O???[?c ?{:???o?~??D???r?\Zs-ѻ??????	\04V????+%\"?n??j????$?????=;ư??????kI?ⓦ?3?iU????\r1<??\r??X^?M?2b2\r?uy2<?VN3|????F??K???x?-ՙ.p??cǸB???&:?x?¶??*?? ?$#? кbb??\Zjg?e??kR???0?Ԉ?????dy|??9?m???????s?C2]y?S?XsqF??IY??,????u????юQ?؀c:??Dϋ?????M??]???ɞkbb???t?)?)Cآ]$?i5??ǈӔE?Y???wݞjNw?f%?@?5?t?6?5????B??c2r??\0??ucrQCw?1CYe?m?]??,ԃ?dX??8י?`U.????????6???Ns????????Z\Z??{?ὁ???Q????\'y{?6??{$?Ƙ?o???{oI???H-a m?mv?je?\'r??z|?up\\p?9;??]??N7Φp1?蕳??(?Z%??-?\n???0?qK]3?̗??Z??|?)f??Ibr?סj??\"tH???y???L??????xE?~}5[???k\'??o?ũ?????hq???R??+??J??????1Ş?Ŧ????s?^??*QR	??5?|????kjT?Z?9/ؾ?2??Bh8c?ٯ3^?X??:???? ?KwFZ?ƭ?x?????`??~g?=??̂???????2?g?/׏d???-????ݾ??????E?G?/??j@#rZ]???m?;3??????\Z??s?p?.??b???+??>	?pߔ?tW?????v??c?S???`??2D?z??q?x?DjA???ڂmͱY?z+0׏??յmR??k?*?q?????u?xZՖ?Z?ӎ?_W?wۃ??ma???}???????\\???????7~?z?? $[~???m	~?????"o?????????3n֘??V[?nW?k?Z]???d?{??n??K?????????;)??@?&?}?????8Sx]T\"t???L?8??ۉ?p?\'?#?mI?%vj???{???[?????????Ol????/??\r????|k\\\'??,/W??????????1\\$??x?G?A??????n?x?$????\'?Z??????q?N???B^????Я??_??^?^??Q???٧E?d??????s\'O??A?~??e?m^_o????B}?Z???L????1?gx?~5?~??xp7՗??V_??%?k???{???y??????p??o̵	?Ĵ????U?&??}u???? !;?B????8>y}}?94q???F&V?3Z?\Z?.??3:?D??2M?9|%?3c$J???????K)+?y6;???ڬ??s?N??sމ?%?e?\'a2???yx56?;{?S硗:???????△?????锟????????d?A(?D@?????\r???#d???JqS?3???D?ӕ?.??Y#Zv[9???1????x??Ѓ`??`-8?G??w????,U??????Q$V,?м????tϭ]??????w{?????????j???J<????e???B?????[?Ce??0A#?\"?K|v?\n?F:Τ\rYI?L)-	9??????a?}*???O=v?G?,b???E\Z???\n???1????h??4T?Ǫ4?Z&??`??????dzu?6\"g	kO??;G?????;-y????L4\'??L!M????N?{?G;H?l?4$Y\'-????!?E???MW<9?Ɖ4????U`t;\\2ɦIte???e?x??{%5L9_?????ǵ????%N{?j??8???4WlO?g?4?E??f?O???8ڦm??Q?rA??'?a?,?}c????V?cB8???++??!?N./???D???:qB??$=\'r?L©?K??G;???N???t?PFJ\Zo?M?U3?	????w???ǌP6?"Q?M??????O?\\l??\"?ج\Z?I??HX??9<?Dk;Ip???e???h?]oħ????x????趫yANK??nhR????I?T?ŉ?%?e??8?e?ɱ???I??3??1SӠ7?j?:y??p?K1???.??+?c???5??KkD3^(?6Eg6?p-5??%Qz.^?$AD?~???n\r?ဗ????SJ =??u2\'&??3??\L???1???[C)?R???{??EMFR&??&??`????*\"7???uI2(??8??αPFy<?欙?o֋z݉??",?)??(????Ra??U+U??0????%T?uH%^?*?V*?Ag?Q??N ?r0???????\\?t?[j?\"???G????jR?^g?ࡵ?p}???Mˌ>?V?t????)??=??????I\ZE$&\0df???$?,ű?)?????X????Kv?~!?d???9Ep#?6%??|6?=?i3?Me??6Sk?1a??????{???\ZH?Y&C:?Iy4?s?????8>=Ң???vs,??Myl\06M??2???? \Z? ??mta0?????]NV%?A?JL??y??=uQVn?k?@??2ۖ??Q?B??ͅ????{h>Vm1H???☯????>u?7\r?k?u@??\\Z??,?s\Z???ʥ;???Kr(????9???x??HẆ?;?p?JUdҶD9:?n9\n?b\"?0{r$?5B?O???(?}??!P=yPμ!Y?2??f????b?9oN?`??	?i???l?i2??=?????Wq6??J?F?????8!1?!**\\?ڤ&,?t?.&??5/v?=???A?xd??H?9??[ȫ?\Z?U??Qk,????݁R#\\?Y!??|0????????\\?BJK??pq?uJ??^?0???Pƌf?`???0?.].Gx??q?҆?N[{??R?8үk;B?n?/?)?K??????o?n?o?x?v+Tqh???????@曐?VA-??s?#3?G6??E????6?SZ?s??dx?|S?|?b&[b?:\"??-??C????o???6?????SF?+Rc??!q??%5?0]?X(????q???+??>?\0???5?f)?8$4NZ\Zp.stK?s??C_ލK8K???:m?K?c|??m??L?k.B)7r;:#?9)?S4???3}P?????,?2?]??p??Ü????ԧ8\"\rX\"?ɮy??KsG??-9??~j?B???+Sx_??G?I7?\Ze>?Kȯ???X[gi73}w9E???܎\\N??(S???oe|?????&s??؏???ӡ;l??g??@wR<???%SvA?m?7u?P???B?J ??Z)??&1?!?????ݘ	+?8?W??????nҥ??BKb?0??⺁x~??CT(??r???F\rF?|?b?`?ݎ??SdH?;???????ĿZ?%?8s?4?s?g6?3?y?n???E.L??Ѯ6r?7??B??????XxA???yw*??k????Rc???uzI??C$???}%ȇ?e????>??m????!O???j?yl??;?=/??&???8??n\0???߱?k]۬p?c?????	|?0??hZ??\0_k???ɨe??IK?:?P*?HJ?Bn?<??#VN?q9?JYb?<??AW???rn+m? ??@$%?Ł?u?-n\'??.??N????????\Fm?3s-6ٌ?x?7?jǞK\'fd?v1F͹|?x9ƷS]gK?Wv???!*??????M?Љ???!?&???B$????T!A??E?? ~?O?4???x?D?>???:D????.L /.\n??YO2?????g6B?\'/????n?!???P?c???????疍K&?q?\rn#|?vRT?;?yz:??r}????{????ap\\j?\0$??e??f/aZ?Ze??*???\0?Q2\"Q????n=c\r??3^????ڋ??ֱ??5T{?N?=n???"?5H??n?Q???3?\"sZ?t??\0??ٶ??_w}0$?=?U??????p?s1?V&??X?^RX?13D?m?>?Jh?D?\(	?}?K?	F????M???!??a??\\?T?nq?\r5Ұ(Os?ց\'Tz3S]????Z?Luk??;5`??\"87?\rRM??q?@.??3??????E????;?e%??y?p?,X%??t?=fD??S5Z-???"k ZwpME܄??GVLP??ĸ????1 ?=聟??r<y??đu1?ZNȸ?@?ZC???????H ???H1R???Ǥu??!/1???ҠJ?h3??%0X#2\"?X??eK:Z?Ns^W??qͳ?\"`?p?]\'ތd?^????0?????d?_?cno?i?%?????;SbGp???????I?(I?m?!\'v?'o*??????\'i??A?d$@>???SV?rG?y֓??qo?\n????7????rB?UP???6Gg?fq6j????Ǉma???8?A???5me ?y?#???\0?k?\0 --@!Hϲ???p?0?Z??\"? 3\Zs?????+N ?d=64嚓u?????p??$?Q?.???m?)?@l`???4J~_??????????C?k?*?j?KAR?<?%???????Tr(%????L??h?r̴i????\"ږ]FlA??R7)r?*j ??v??+Q??GI??4s??%?|آr?c?l?H?UC???0?j??-\\0??q聑jtNn?/???8B?h?~d 2??^l???[\0H??؂1??????? ???8???@???i?\n???e??^?\'????keLn?;^?O???s??(?P?i?=0??}?????,+R?C????d?v?M?x?nB??b<(#>LpSd??\Z?zg*bD.????\Z??6q?\n????כ??L?b??\??(?U?[?`?Y?W?:???&?x???!??????Z?? ?s??P/C9???oC?L??@?3JV\\?=???t??٬??3H???+]]??0??9Ê{l?????~s?H2e??9?? p?r??-5FۈSϦ?a4o?D?A1?\\ ?АE.????pA???#;R?P-??BH??[F$\"?n?q?5=?!?P??:?r???#m?>?BN?/??\\??p(?P??,?%$?c?t??kg<\r\0???K?? ?(<??)2?P??1wKl?\r??J7??*l?@iwWq?	??\0?>(r??m.vY??ϗ,?c?&??߁\ZT\0???px?^/P?7\n?\r?)T.??ChM\0?~Ƞ??ʪ??+<?2\0???ʘ?W?\r7:??ɘ\Z?????v?6?????cq?p???)?H?&??\\?=?Hn?%?㜒?]ZB$??{????5?Y?????\'??S? ʝ?wʺ;?{?&?S??&???yJ?l\r?.??G?Wbu-?\'Op???0pw$??1h?$P?(s#P???1??a?????A`?ǂ???f???F?6?\Z\n?????P@ ?C?AW?\0?\0??	T??@Q\"P??n{LA?\n??'???5o??Ў???-?p?.??ئ??J%?<???=???\Z??\r??~?~^@-\n????޶E?S?V ?\'3+s???NZZ???6ڴ?ҵTk!ɶD???b???h;??4??9C???uD?{?g??x????|͵j???H?A8H[U*? ??"%?S??(D??B?dNd?mG8?h)?X???????!4q:L?r?????N???g2tF.$???P??FP&?X?Q??P??Rp??N{(P??????VPd??j5????RRp	YP?????:R???9???Q??A|??'?3?QC???????cff???%??!?8????m?ͥ?:SFI???k???$?#wX?;c?m??31z??????8?k;p?	W???h?+??\"Kʛ???2?{Ě?rGs&?l2?$nS?/貧+:B?D??ihh`??+?ahl?CbT?nSԂ ??\0;ք?\0\"??*BCA?_H<?@???.4V?LC??q1x?[?????Y???|%?0????|?Z?c?K@??N?U?k?m#?????|??L??e??f9?G?E?sd?\'?N2??e?ezM?G???9??\0^b?=o??ĩŴ?GD:U???!Eg??F??8\"??D????\rr?!V?2?qRFs??ZV?y??P?t? ???t7??,??Uu??b??R?P?Cy?؆??QqxA2?N/H/r\r?5 !?@??????ahfn???G>	?Ay?@??????9=b?ÁΌ(\\???%PM?M$:T\n??f??<???Q?M??x@?Lt@??g?9???b\ZZ?s??	???C\na???QJ???)\r:?ܖ?ElPQɩ?\"????K????ТMZ?M ???p\\PW?E?????%lx??l??=?#??9hF??`?Y????G?z?????̆7???co?͗?????????{W1??l?lӥDy6?]?Uʋ)!???V?2D??G2???M?R?3??*7o\'??i????t???h????఍Ĵ??F?%??t\\??5?BR????u}???A?_??:{\Ztn??Eh???֯t6???$4?oC?}??!?_?8?????[g}-?\"1\0??\"tk?:????e??;G???֖e???\l?????f]?Y???ꖫPf????Z`P?%Z?<]?\nwVA?$???ĵ?̧?????P???????B?7=9?󩝧KØ?h`XO^??6??C2????????.??8,????w/??7??|A?-??????W?+??r??? x63syUcx????:u???W?? V??\Z???i?u?????_?\'#\\:?k??????\ZF???BUzw\n?վ?\'?]?ߔ{P???w?????v_?{4??Ǵ?f??$?6?????`?g????p??5????O??O |?~!??????%N?>W??{~\\\\?.}}??? ???\Z??h?آ?????7????n?0϶?;Г?N????????%??.H噝~??????S??,?;?X?w???ñG˺^.X?yܖ????$????֡B?f??\Z?T????͙L?/8]>?{????Uo$^?????k>9?i?g?? 2^$i?wl???4Q?c?[v?3WLk+??e???\0?+????ԓ4?????iT?P???k?!ˇn\'???}?\r???$\r)??2??Ӄ1???Y;Q??rl????X?\\????|???i??v????t?\???1??/ϕ?i.GK;\\Kj??RZ㮴???D?[8\"???FG?0????^??ן?xߊ?h????????4?-?em??]????i?q;???h!u\0Z=?D????(??I?>?C>0?pC?M! ????4?\"?9T?Jv#?sEL??pIT0?މp?ZT?a??]????j??N?z?!;?e\0>\0??q6KC???~m?0M}??^?d;????c9???jHw?S??|O/1	t?tH?????n??aL?C??آ??R #?&?5h???&?~*???????.??Gz??G?BB?*Ę?\"?ŀ?j?e,!???6?Ox?Ob?o???4f9??8?H?-P?y;?$(?????yY???[C?\0??Q??Č??Ѡ??E?h?[@_oI???҆?\\????^:ʥt??\0??3BFbL?it???9j?n??/??0O????J!JbŵܒhU(?Ay&PV?\n;;??I?X???C???v?,\Z?\r??:C??\"?I\"\\Fp??ko????uk?[ ????~??c????;?v?U?hY?30i5Gm =?>?{??k\r??]?GD9j6w?o?E?g????X??ҍ?????\r????32?E?ε?#(????O\"??0\n&]?x]???ghc?B9Z1S.???bcν؈f?????????>C?ٌ?TmFL\0?DIy??YES(9`p????ʻ???k\r??$?ۑZf?$?A??????b???	k??h?*???)?C????\r?g?^^??6?Z?5?<v??\"???8̤?*.???H??????(o??W?vW?????5??z??i?g?tW??}5??%?^??`վ???/??懷: ??>??[?>N\0?\n?Ñ?O??????z/?X???\'????|XH?9c?ۜ?`fYR>8?ѡk_:\'??K?p?j\r???D?ぴ8??\'?ߥ?te7???-?i??Ak!????j\r?4?>x?b?|???????7??`??kR?\Z?e?]??5?˦0??+???	m?\r\"?\\l>GC???g?????ǅ.??/??شo???=?-??	?X???-??>.WC?؅΅|??0?ZuRֿ??\Z????}C_????#o[,??;?+f????k??r???6N??:??=?T??p??zs????@?s?vw\Z???$?N???~?H??Z??????C%e?kH6?u???ߐh??2xfu?!??iyNuD&????Ë>??%?ЛJ??o??b????Op??+???|? N{??N??}\\}?w[W?U??>?Mj???0z??k8?m???piu$?U??GWy??t>]??r????????:??>M[?G<??/`?P?}??o4̷H?|;??H?????nT??{o?r???p?5_?????\Z??t\"U???0??????x???|P`h???`L1??a?^9}1??????>|~??(???ܿ0p?ۣ?\\}???!?σ???{u=???T?l?:?|?[?=?oiR?Q??u?!E????????/????w???P??uu????+B?0??????>%/֥:?껄??z?iR???}|?@?????]????Sŧ?֎?{??{?{????9|o\0?I?ϊ?e??7??8??????{??0<?Ya??-̲0???V????m???5???o??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:275fc68d8dcd26575c54c2e4ccf53852','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȭ쪚??VT??w??o?nAZ_????Z??a??V???~?B3??G~?|????????0?(?7\n??Qh?~?"??:J3?ڌ?4???E+>???I???,k\0??Śa?????/\0?\Z&h???r?}???̠x仡yy???,\n?\"?V??/?iY?N???????M?M-9???????>??V????fPCj?|7_:??k???????}??????<?\n?-~??͢?s?????z?{Ap???wJ<d?X_?0?-w??????s????	?qO?,?4???n?Nܓ[/>oTm?\'????iav{??|Q?d~t???;E{3?ɿ:?????v???????ԵR?n7??\nrA{vLH?m>z??X?]???׎?L?$??-?a²?\'?	3??]?w??Pd????}?)1Y???c6.???=??#?????????????y}	?B%=d|???s??n?qq???????>?\0}???{?Hٶo?KN*?????i????o?|,?\0o?k??/?u?+~\0b?f?@7??~|?bEx????>}	???gȶz????ﾛ?e?9;????\n^??\n?nέpq???3?ޮ??u??7_?,y=w???^??O??B?B?@\"??/?ð??i=9?'???ON?Tny)j?7^?#?x[?????f!?_????(ϷW.?*5_㤢1?????i??+^??;?\n???M??????????A????ZfT{S????\0??ũ???U?^??n??Z9??ȏO??$?.?m]?P???L 1ޘ???????K?p??1??x???ڹ????M˲??Ĵ?^?\r???????-?A᳂B??U_4\0?Y>?z??tO??&?~??+H??7?????bM{z?ҳz*ݬ?\\q?#W늙?r3q?O?>(\rȕ?????z\04?,`?RZ??--p??@?^?@?#PӼ1???bk?o&?t?~(???+??KI???:=?a?\0????[~ȹ??<]?w??????׵*??\r???}?P?zq/n??w?nķ??8??15?^?^u???{?|{?᜜a??o?????x݇?;??kYw??Ńg@s???????%@gL?p???tݲ?;?w<\r???瘳?C3L???M??xpj?\0??\\i?/f??ZT?-^V)???Z|{?5???ů?u??C?,ï?/?Ӈ?~-s??W?ǰ?Ki?????O??\n???(9??S??Eۂn!/m???x*e?*????\'?a?Z?m???s??%?.C????(?5?/?ű?W??|{??w\'?T??N??%?D????ֶ??o<?&Z	k?Z????????䭳޼n?_-7o?l߸X?:d???nc??\0????Z?8?????d?i?????n????֬A????tu?r?v?R\0\0yP\r޽?V4W?_????[?[n??~??\?T?L??-h??????[W???_??[o?????zy]??q?\Z??<iz??0?@`?.?v?9??tQ?]??c??A????ۥ ?J/??t;r[ 4???\Z&??n??R(?W?@?B?????h_?v??K?e?E?x? ?R:.z????q??A`??b%ѿ?~?k?ۅ X4?Թ???N?QF??{sv?~??_??$&?>_???~h?־?8׊??KE?Z?vO\0????\n??\r?3???s????LS????\r?p??&?0?G?>??U?C5?\0????寥???n??(???c^kN??[0`?*?Kk]y??????a?7	?G???&>?|??]???8???????s\n?+F?w?\Z؃R???qq?w????)?V?0>??o-?{ ?a?=??\0@z?????ߋܹ\\eA?+\nw?\\???Ы??gt????=Ӣ?w?+?????%??????̊W=(??"???-_7?!?a?nh&?Y?èh?kWn?\\??}????P??X?`??߽??j;?sK??|蠤YN}T?\"x?=\'???+:???@?7}???????E???L??/?????????????I????????nn??x????י?7??T?L???؛?k??Y?*???Aނ?di?@?Y?g??0xT?_?M?G:?J???k?D?E??|?d???Zc??b?2?Z?q{?NӞ˻Q71??%#??Ҫ??Cҟo^????_?o?X???`\'^?k߮=??ۂ|?????????\Z?????0?U@O???y?'Ё?Vn\r?F?C????ұ????_???5??r??????P!h?ۃ?@????Wp??t???x3??`???v????\\??7?d???J??*??鎫??o??(?w??\n?y??+?pS?ͳ?p???Q?K?r+_?)????i14U(?]<)<??w՝g?\{??W??z*_?8??u@???@}???Z??G???B?????G?y?$~ϭ???c x猁ֻ\ri?\ZÿU??\0??J?????q???#& ??B?ѣ? ?????\\?>g??;?????????|?2?t?W????-Ӿ?Z?\"	\04Vjv;O???v?????g?\'?|?cv\n?r<?2\"a??l`????iq?-sSU?0oLl<e48,?@p2E?<G\r???Mj)M?\'???f?\Z?.&?ϥ?(Y+?%ϺG?1o??????.s8?\Zʩ???(#>?KYk\rFs?+?m\'??????#?I??`{t???_P?\'??a?*?UQ?s??n??/??l+ǌ?:?2]???Τ?6?&?ʉր?Qt#R??z,8z?z???7D?Z???x???ӓ\'Za?N?4??Z?????lf?=?m?gF!#??ʬ??7\'???m?OVn2a?H?-:!,?? ???"[\r?%?????:Ӗ??S?ft?o??9Y\"+_?????G?}Ǘ??0??ݵ?????'8o?W??g?圁????-?nO?F>nYM=??V??Z?)??s?bk??u????????aC?Ì??P?<u	???ӂm??㾱?ƾiv?\nH?>[7?????????S???o?3\nӕ\r?\\.???????!?Hc?CQgc?G?%??k??Ԋ???|Ŧv5?\n????k??w??????,?M?UzђF?ڀ\'\n?LP?n?????l!?3?n??H??B???W?ەG???B@K?W??%??`aj?2 k%&?77?i?????˝??Z|?m????????3#gT\\?l?t|?(0sD??;]7??1???Ƣ?|]Ң4?u?v_????@%??\0-~???m?;3????*󔮭4??e?????G?CR??Z\0}b?\r>h??WUK4?3,㽏5?U?q?\\V0U ????^???N??R7?????Y??S??S??U?z?"?=????x?,??r????;?R???????XMUWK?2R??ڮ̙8Oa{N???rWY??G?\0?A??????T?C????^?P\'@???m???'C???j??i\"PU??j???7??th??x/?T?\r?_:?}7H1X??x????=ζc?W咯d?.?Yd?U??G9??*?\0?????i趦?0*?Ϯ?Ϳ????4\n硂FA|Q?Y?3??̛?N????ٛ ??ү?D?L?tQ??a????=T4b9??:?~4??E???y?0????E?K?i??ܻhC?E?&A}?A~zح??+}O??>D?????8^w_z?\~??ZhC?????I6?????xѤ?c?;??#;?{?q??/W???????6??c?H??F????|?????[???/\"??\Z?????7??\"\"o??]?_B^????I??m]e6?m\Z??x?	? !?\r??1??R?Ҋˆ??D???̘??l\"`ؤ????f?B9#???-?[?????<???????(?|?a?@PzF??4???XN?\'NÉI=?93???m/?2??r.?9\Z?s̩KG?dQ$?F??U????????(?l糨??VS7?n??\\T??????CA?=?\"S??l????ց??.????\n茜w\"?5[t????]$\r$o??\?ҘB\Z??N??{??????Kc]??~/ֶk?w?h?Kõ`$????f??Z?N??\?.?}̹???1?h8Ef?V?b?J?1?r83?Mn̈Ԉ???Uc????-ܡ<Z??iF?\0#\r???u\n|??\"??e?ϘT#?erTV??3?[z?'ӄ:n???X???????$?R,?4.c??8??d????l+?1\n??n??pa???a?;???e8eŭ??Ƒ?re???c?oOsΡw?D??#Ռ?ѭ?q?>?z??vr?????x??}?1?\9?6?;?&?3????C^?͹?ȃ???????f?k?$?w?^Nc??6?ƞ??vv??n;\0{?q?x?S?Źl8?;?f?a\Z˪U?Rf2??>??\nQ?;?Dl?????E?ӢO?:?05?Z?&E#[?͕#?˙??`Q!???0È??5????????qh?8??q4???uǜ?rn?m?S???`??M?????&??A?U`]????2.???]~????G??\\L???Y,H-???D_?3????Մ?]g???w??\Z?(?Wu??)	??B*??i?O\n??X??T3?h{??y?J?i75\\qZ?:?X??Ic\n????0??J?9???M?q?"???-(c??pVf?*Z???hǗ?7gF??`???0?I4??px=8x?;??=?N\Z??b(!?LI?p?\\??\?h̖??!?C?dt?Vr?K?<??+?\'?P?Ey??;???\\;\'Y`g?cY?mr?n6{n\'??=e?\r?]??nٛ??^wbxJ\'Kxݰ???dS??d?|v\0>????\'E?em?Vs?:?A???OFNbe]=?=?*????xF?G~?>?{????-ɥ̮UI?6s<??B?q}?Ŏ?4f\"?`??ױ?>?&%?Y_??????,?B?y ?1?D]#?vN?2x-U%?q?a?Lޢ;i7Y??@wa9cuY?[1?'z?N??C?6??f?b????;M>x\nύW?????_u??ZaS?s?	\'\05??9N?T?h?t(h????i?l?[??(????i+d=?M??l\Z{3y???3R??Xq<?86W?????H????h?*?\"vY!1y?DKM?;??ozK??._??Rn?A?/\\?XG??c??X?ⱶ?O??:?&@????6V?????8???G?8??fP[ۖr{??????$?-1????????-U???s??\"K??&r2\'M;????P??W0&\'|<W????????́???=ő??9!?????^ѭ??5??U\"·u???1?[u\Z???@#yd%?!?!kR????,iS?)Ȭ?FB??8&?V?g{????sĔ?HrȎue?ܰm???˶TeU????ۀ݁R?%m!4??ax\\\rƋ?0??Cc?I-0???J?힉	#??S\\s?/?cX????x???ՑM???l???e?????Q?g\'??qw#?#3??|???????蕾???U|??_???"???l?i{g<P=u?n}?X???!?]??N?z\Z?X-?K?V.?e<ԘR\ngjc?'?Sʥ??w??*/`u?J7????4?m4vsrf(??\\w?????r,?????>?	????rw?#????v?H???\\uI1$v\Z\n#t???>?\n?R?CWڏs8K?E?HJ??????	c|\n?]H??i??6h?v`?KZ?B?͈돎?? ????2?w26???a??szl????P?b?8`?"?Z?3?ʵ=?i\'&gIm?cm9?)????EcxB?????-????z?1?e\'?k??Ș?⺍J?d??y?\Zu???MT??>???ZK???!p?thOx:??0???#dw5??Y????7??Ⰾ??r ???d{?c???\\?y:?\r?\"F?1? ?\Z????l???l??F??-W?Ǎ????XG?R?P?d;#?v??[???==ጺ@bw???Er!|F}?????,)h}????Io????????:??\|F??DN;???n??8??b??\Z3ǋ?0???????Gn??2xHu?KjM?>AĦ=?Y??rLk#1I??!?-??l~????O????V҄???x;\n?81wU??Z??\';s8\0g&.j?Kuka?s?t??|?	|-?V????_k?\n?F+??	]X?TR?Tő??t?\n+6??di?1R$ME?Miӑ?H#?F?%??~???????ڲY?QKgA?k?v/??R?4R?f?????s&R_??m??	6[R1BǦ\"-??1njs????????u??(\\_?]\'ׇz?J?=|?????;E???Mĵ???-?Yp#l????2??ذ7?r\"@?ԖsE???i@^???5?_???o??2??9y?]?*D?? ????ߦ?gHܭ\'<ϕ??>e?Iv???!???L?bB<\\?????oU??n?\0v??L???a*P? ?8&?4?X????PX?u??鈔??&?L???զ8?q???g5??Mc17??[?x?e?:?U(????W̏???w???6?Z+K?\"??\0\0????z?ƾ??g:!??:??j\r?\r{B?'?1??%??{?3C?@?;?????W?r???p???F??(?M???\"\"?R???HLzW?n1??b???0f?\r??+?&??:,???8]?gE??-??SiE(q?8?v?k?p4+,T??s??eOH\\??cf1-??#*?6h?ng??X???|J`V???E]?>1Zc??j?B?i?? ?=.=7?Vˑ?x??>??#?b?U?0G??T\Z_\"??s???#\0\"?PS?C ??G?eK????K\0\n???:??Ŭ%{+f??f?????h?n\r?s?Q?(?\\\\?W]3܎d?^????:??????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????@[q\n^ \\?????ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V????L??	????@dB??؂??`.?\0?`q?c??H?C~????Z4??[I\\89G?i?NMVR???l?????????:?sv???)?c????????ln\0?H??#??;3f?4?8N?|?\"C?Ώ0M?IT	?%:Zx*??74?3???Fn??!??no??q??IG??ʷ???QH?h?ug]9^??]\rL4?H_ZC4?.r]?4?5?/?@D?G/?^?r|???ہ???<?:_m? >?UW??c?????VЙPf??f)XK?5G?\n?iF8????`???????Ǝ?yV?OC?2?J?[a??˴?̙???Rm ?p%	l???je+?N]=1#E?0U@S???&?:cn{?B:[??:??ħC8$?:M?JA??5???????+??v\n*t???z;??r,?U??B늎??s??d??T?!?`C??*?$??Z??4???A?Ml???\r?(??u??xh??-*&?ʐ??>???}xA?`^pQ?@?;????0?@??6??P?\0~X?5\\?!??*?B;???\\???#c??????;\Z???rY?r:???|??,l\"??1)?Lqs?;??N?????\'???f??????,?Z??;Kb!8?&X??M?x?W?^??3???N?m???x???D<????[=촏F???}??و???"??k?V?=?x+?(???ls\"??p??	[z??9?:\r=??0?`4??P0?6???o@???\n]?̻\0???5PI?ZE?@\r?ڝ1	?V(T?@?/?9?0?Vl?A;??????8?b??[(?@?0/SPP??j?????y?y?(`?#?q???c-VaF;?????6W?]z??{LF]]??d??8,??????%μ??͐??:?%\"?н??n2<v??Y??j%;?I .???*e?	q??\'?$\"??&\"?i4Ǔ??CX?1????ݨ*K??A????k=?Bg?	:#A?0???#(?,?????z???\n)	8@?N\'?=d??????VP??????ԄE@??5ZP???{?ح??z?	R?IWm/A|???E%MD\r??\rS??u????7q??3???????Ү????9??1???c<??;????????	????׾pdA??l??c?ۊt?\'@kL???Y???a?0???o?&???}?Ri@`ɸ?Rr????z\"]?440K??46P?!1\n???\0j?z\n??\r??CU\0??z#?????/$? ?O\Z?B???Ը<h??-???ج}zq?>??2?\n????H????!?E ?h??????w?*?????|??L??FF??h/??\"??0	Z΢??Y???7?}:???	?ڮS?r????f??Q?N?'\n;?	?\\7??Zw?!??x/[??V?E?F$Jeńb=-??0*???g?\\Y?A?1p??BYԱ!???>\n??$o???????\r9?????8d?^?^?Z& k@\nB?*?#9????ahfn???G>	?Ay?@?ή??95?W???op??????/;M????)????<??<??e)??0???Cc@S?c??Ӓ?%???1??	?b?Z??	?.?0%x??)JPI?o0??;????+uD)??S?S27????t??r\n?q&??@?VcHm?\"?b?\"漍A`l	+?? ????\'?(?\0?5??= ??0??,r\n̉?9??k???fC??-?8?cg?K?6;?q?ng.????JwMy+&?E??f֕ڹ???"?6?LQ@??\r??jɘM????0??;J;옚!?????????????L?d[[??c?????8_Z??B???#Z???c}\r?J__??S?????@Z??P_CjB?ЈC?\ru????d???|???c?}͏???ė????<?Qs(-?a?M9b?\\o??1:?\'? ͦI???Mp??s˗\Z???+???.?x?$fZ^E???x4`;H?R0<?6?=????9??Pl??۞?????j5q??8?m-f?sH????-T\n????????=?Z???p???u???z?޺Wזvui????k?????Bx}?[?I?????6?pe????>|????I?hk?{?|?\rd?|#Jܣv??[??L?/??????????n??????tS?x??????,??????^??4?LUhWna?h9?'`??\'8?h??e}D?????d?????ӷ?-/??KL?~?\\??x$Iu??r??? ???j?M?ۢ?????\'?????????Г?N????????%?-?\\??+???/h??Deen+I\rE??&?ګt?oY????/?-???ݚʌ????@??}?3SH??#?]~b`?fO??????@~[C?????k>)W????7\"cY??:C?x?6#%;??u??:%?E?ס????/?D?𻂪?Wc4Q%pj???9Ք&䠣3?k???U?M????,??[?*?O8??;?2????؝????.??SǞ???|?,???v?)?Ί??i??hwtdm?t???+??2Pm???:?-*?|4rq????S?n??I?v???J??8?7X???w?}=??????֟??0?Ic?q???	?u?<???$??]?\"\n??Ds??w???-?w?v?V?????A\" ??xOq:E\\m(#:?-?\nho??Q\0$Q??z/?wn5??L3]?BWo?j~???ĩ?n?do24??18͆~?R?!??Y?0M]?e?N?f?8t2??ɾ??ȧ*ҝ???r~???	?(???V?W\0\r?c??$???0o=	?T?oX@C?U)/?????MKS)?6>#???L-Q??i*?R:\n J<??????,?f????x\"??y?^?e?1?땸bi<Z???????TO?=?9??Ⱥ-F???5?^	??.3z0?????,??Y???Ҁ??!??K]???:?\')O,??k???>???4P?S?x@?ڳl?P??x??;@nn?R?Rd???)?)??;????tefvZ?C9^?:u??or?)?\n?b???P?????????0???:o4z??߭[??`?@??ѡ?n??????}t<q;&i????Z$??h͛??l(??=???????#<?????K?N?????\'????o??l?-c?h????܅?????7?ȍ?h0\n&?ް??Ǩ94Z?>???[(??l?͝p̼e?s??\\??/g?lF??:?'?T??ĜB??ʤ???`B??Xɍ?\'? ????\"?????YCљC?bp}N??r(??\"??<!?????\r?g??_??\r??6qP4???A?????C?-???? ???cm??\'mz??us?????sa	?5??X?????]?]??T?~?P~?X܉\Z???\?lHqޛ??U@????f?:u??˦?M?8??Ag?s?o???_???G/W݋?:?7i#7{???M?-I?????6]??!%L????=?O??~7\Zへ86??`??Al??>?????Ƞ????G? n?T?b9hL[???Ĭk֦??r?$o?N??>?Z?ѺάGa?6V??9u?΃1_3??3?n?t?5?7}??????HX?K??m??SN\ZRk<2(W;,w:,????\"?2+,??e?v???8???102??y??\\?b???bs?\n?>??mC_??e(??m??şS?v??8?ve??G5????\r??y?????ߑw\rr????;???????8???*^o?ۑ?7???E7??CFy?cH(Uª??3$j?ܼ?l4t?v???l?	O???y????a?!x?Ol?v>Uf?????0c??9\\.?ie????6p????~?v?U?????O?~?0z?k8????i?%????M???ŧ?</??Z=????ۙ?OW?V||\"?Z?̻	꯵?%????????N????g-^PNV?vu????߮?2?=??g?6??$??v-6*??Қt?8???????B?}\\I8^?c8?????s?ߟ??P?????!?&Y?F\";?G??,Z?|z?;) ????)\r???????GVVO?;??Tv~i~???????ќ???_?????\'J?[??a?|s?j??]??U?J<ζ??????䇶끳p1z???M????\"?F??С??ҽ???%jZKdUm?Q?LTt?Q?1\0?	BH??FG???????7T??]?o??85??p??衍v? ތ??'rv???,hp~?????P???D?{?|??Z!????o????\'?>?????6R??R?????A?\'?S???/q1??????_zh?_?[??곫S?????0`?\'???o-?{ֻ??*\\?~^xuS??ă}k_ 蜹v?????nCحb?/?????^? K?S\0`???`?;p?ؾ??\\7??n?W%??b?P??ƃ?)\r~I??????ӌ?\n?}??i????[sUư?裌9?U???rP:???C????\r=?????^\'جaHƢnji?Ot?????G냻??o??q???8??z?ċ???P?\'P??I??~??.:K??i???q8sn?????\'d?W??$c?٠?????????????? 6GYڨם??#n6Wq??ec?e????[?"???5??wu??W??B??@?????%??G2?????w??r:??3s??z@???$??cz??wk?3??y??7??N??w?i<0^??+?]??????????N???x??\'4??Va?և???O?ʜ_5?o?/f??뫚???????ܴ?????????C??[?Z?????&Za???E	?MXTDz??\"#,????0?ISZ?3?8?Z??\n?\'?ٶpFm?p??O?r??:?2h1???l,1??\"?@,pv??m???SX?????\"%?5	lXl_?<ψ??;?-6%?&??p??ru????;ZH??)^?%????X???a?s܀?=q??cN??D?????T؟k???g8f??>?8??\r??O??EG?.?:n?\\???~??v	:??O?5???u????3?k??.???Gs??5?܇???'??ϗx?x?}????z?l?+lu{l?\'.T??{o???????T??G????8n?xh^?-??BpG??)?j}?e???\n??????5w?j???sf:P*????k۟????!<?\'^5޾N????]??t??D???ʟ~4?r{??????8O?>;??r2??|}?m?K?????v?M\"?n?0-m?????|??????L??پ?????J?!??\"?<xy?]6??Q5??~?\'???v^??3xx??ey~?-g??N?????A????F??=????杂?lt?x?v?V??ip?h?t???rd??\r$Vh?[\n?%?%h?????t?o?6??O????;??y3?D?>Y?????>ܱK?֦??r2`19????:?}W???ǽW?Z?ߣ<3??ޗ?GW???????????O?~..?o?/%\r??>\Z?;?UJ?q???m??????7?h?z???\'lY??@???P?~[??x?п?\r????????J?	}?:???????8???̻g?T??b??b?	???\'T?C?X͏??]?r?q???b\0??*?????/ϲ?????E?~]N/>ՓoC?????Ló?rE???;????&X???C\r[????z?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J??ƟhlJD???ԧ??}4}???ŏT?ڃ??\"????~?.?\0?e??[?oE??+\Z+?2x@?̣??W????\"??0}?@7???\'????+?3x>1?#^?<?IW\\f?sC?\"?\'??N??Ⅷ?????Zѽ\0w>???G?VA?.I?????tr??o!???n?s?\\9????????????q4^$?????ir?&????\0~p???????br=\\??\n?3?Z/??ri?????p?Zd?:?n$#?l?(??@Qe|?m?n/\'?vX?\ZX>\Z???>7???zd6;?v?-aM?F\r;????\"?dy?|4??Q1a????7??????4??帕??i0???SizF????	?\r???0???vE?J?qt??????<=9?????y???k?????NL?o????????Y?߬?\'Ϝ?U?????\ru??k߰?\'???ϯ?s?$y????$??????\"+?֟b??2?? UY?????w??????????ې?/XX?&$W2wa??j?'?HCRkćşV8???????/?~T=????_W?\\????^|>>D??K??\\c$??M?G+Z?;?x??j?b?????l?o?Dy\\????n???(?ߴ?-J??7r??\0J?J7?/*\02?M???雷??K8????w?w(?z{???{?????x??#???Kt????Lo??~?????i??J??????ʒw`??V???l?\03??r|[y\0(??%q~|7????2?e?*??(?f/???]??[\'????^??????	???)?\J?5??EY????????K??ᛯN???i4fq??&?/?o?k?>9?\'??????<TX????snՔţ???3[???????/????+?????^??g??m???jy?w>*???\\????o???????^?o0??? ?]\0???? ??????ԭ?u?5??۽.^???vJ6C??{M_?l?W?O?L?~+?j???(?ߞ????77?k@U>???Y?䭍?T???d?Q\n>?FD????WX????xp?j??????pW???????`??.?h4??E???%o??P?|?N???????Q??_?Z??*?Ӽ\0w??@W?ˍ??^J?>%?N+???ȳ|?3?????p??a??4??N?G~?濔P????x?k??jW?U?0`?6?#L?f?uηG???j?ݘ??*F;?{{?v_??TT?q?b?Ɗ?Kû???P?Dx}?z-???)???SϚ??NQ?G??d?\\?^??;t??????^?\\?0A,???k?Z??췚kIj=@???n?=?n:]l?\n?K?}?{?_S?r?3??V?e?n???a?J?^?&^u????d?]/?+\\<?????ٶ2??<uq?n???]⃪Q?|??7??k???=???;??`}?=зy	??tv??rw?{ƭ?n????+D?c?[G???s7 w<???????$??,??_??f??u?Z?^i?nU!?g9^????7?A????j?_Q{o{?b??L?\\y?)?Z???S?|QqU???}?????j/0?>]ZP??,??l?Y\Z? W>??k?r?U?Aq?8U?c11??S???veÛ!?H??gH?Y?k/???y?c\"*???.?*\nZ???]??}??OΑ:???]\r????݈R%aPz??3~/?????\\??????u35?k????K??J?5畓??͍??w?h?(?V?v?a?3?)R?CS???~5B?p2??7θw?ZW??8??v????h?i/\0cfj????L????v;??Z??wE\0-R(?y?\n	QH뿶܅~??8u(#)Vj????To?LU?`???*F?0??????r?#?{ˣ-???֑:?m?l+?\'Ң??Ĭ#+ ?6?1??????????G?^\\????? ??+0?3?	u????A???????\n????????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????q???ߔ?㔋??P???$^$\Z\Z?n?~???[$????elf?ƾOꚖu}˛?T???̈́??-???1?tL\\????KʣN[??q??`?\ҷ=?.?[??H;??U???????jx??%??S?S,F????U??$??????R&h?]???o?$O[y3w]?`{?»S??\"ޔ???`?q2?4\Z$׻cl?r??????Q%??F??Z`k?????a?A*fl??N?hN??m?r\\PW)??b#?NL?~jM?M?\'??%?ϥS ?D???+?????o????q?????m??`??I?a?5?Ѵ?í???nXv??=M???Z????ORmB$S??NKs?C?\ro%?d.?e?O?g?n???TX.??u?v?$?]y.?_Fu?-? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??f???\'?????x?\Z3??\n\\?'J	,?s?ܟ????3?&?S*??Qj??V??,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	???W\nzAǿX҃??t?'Ji??Nl?s?i??\n&???o?w\r󏒨rN???u?&????G.?r?w?A?hA??:????.?ii???[L??3	??????q?N??H????D8G???=ߔ????D??L?U?vAj?.?6L???5??ԙ*h?GlX??7??A??,a}??b\0???A??o<mD?.???U|?[???Dp?nԛ=*mH??.???qQ??? 7];<????"?t?閹񥥊d#?wܵ\Z~??????s?F?T??K???(?C??vGu7??7????????/??p3???>,v?????1+]?@?4???Q?v?_?\r??????\Z8~?/4p??9I??Ib?_$?FdU8{~??f?V????B??@Oj+.?g??AN?????????8llXfՈ??1l???`\"vb:l??,? 1k???????6??RoN??k hS?\\?l?????????Ҩ???????}}??{??\0?1???\r???ɠ?\'?}?o??F??\'???==?1O????ɘ???N?)m#h7#\Z?ƒ[?Z?촙tL??w??Il??#w??N?Š?~??Cc+????Z8??Ҥ???c?M???t??'????b?7:?}????ځeۮ? {9\Z?n???Ʈ1\Ztˤ1????x0??\rY׎@?WDM?\"278\r?;?	??f??}y?t???Cwߘ\Z??q?ۓ???[?????ͅr???Z3H<\'y?\'?(\n?2?76?g?Zkު??????Qۛb??q?Ƽ?	?zc??F#>}?7?I?d??|???4??fNG?ioO??\b?3l+O??=?????h????Aܹ???G4މ????????C\r??????h?GS?(?R???\"??#%z?U??k??\n?h1Ng*??<S.U???Ձ???Bj?n\'1A??+?*u?????of0U\'|ߏ?Wp??7?ev??p?*???'?վ??̵Lw?$??[???V_m?h?n??V?ⶋA۫1?u?K?\Z$繇?????U,??TN?|????????}???l12??F?c??2I?Tr??????4????I߫?ٺ??\Zn??f??Z?O?S?o?պ???a#?}????p??jl?a]?L??Z?????c?}b?S??(k7Z?Q?\rt ?????D\\????п??A{?z̮z??????\}?C?e??<kz???5R-?????%??l;?uxqRw????&C?O\r??=i???;^;????????%y?k%?Q?6-W???c??ʹ^?G??1?j???d??6j7???^hֳN?}?y?\0t?2q???F4hw?7)v?kж??coM\Z?4?????qd?^??????zY????˷?v?p?2????u#1\Z??\r`?z?\n?,آ?i???ծ7&큗???J?0????kx$>??1Ni(??]?O?M?dת?Zߧ?A?Irh??S?Z	?Ʃ????F?????????7?a??iSl??	??E?C?[??@??5?\'Ypl??Z?????\r??r??x??\Z?7???\"???$?e2?,Z???w???OZ?!?@_\Z?N($~*\\???\\CON?_?d?????vJ???Q?q????1ޖ?w?	?u????oG{???ɤ?d?|?D??????Z??7????FNdm??ܘl??G?C???0??ƍC??@A??????J??b??6x????Q??G???M??? ?\Z???t.뙧(̮\n?I??W??zlH0J????????\'m?\'??/?і{{????????zG??*?w?\n? ]c?+??lfR??F?秭R]`?}F7??]??|?Q?d?_?V|\n??????c?й??Z???(?Fg????%??9?[?MD?d0?????????`0?ZRs???????;?]?O?$7$=g??????1yo?????0Z????i??DfOfj???????&????xN?z3?ԝ?2?98???#????Z\Z?	q$??M?!?\"4M?\\?{h???sw?v??XX?\'?3???t?q?3_????F%ga?;t93h	?O?U7?ɖ܋M9?Γ??)?ܽ{???? [??n?Ac?w???q\'zL?֨??N?w???r?f?Z??&?0?v??\'?\\??1??ϰ&%۽??@cy?˝6?7??ܭ7bL?q??e?COmg\\J\ZD[??v?ӎ ????E??????^??>?R??	?N?N&ӳh???=_??a4I??P??&?`x?i?=o?1n?Z?̤9??R??`??*?.?;)òIO???ϵQ?m?MFMd???m??ud??5I?Z/?}9^?#???H8??(L????%????I,7????\'????v??????8Z)|\r?????A?~????W??,??þ??Q1????\'K??<??$????=??\'?c?????????k?????q??j??vGʈ?l??l=????x??/?L??fٚ$??Z??ߢ9????0݃Ǔ??>??Z$?Nn\'?rW??$qX?Y??w\\?c?H???l???b?6?>t?,?I?????ǹB??6r?T????.ctLȫ??r{\"<{?r??jˌ??o??Ρq??DQĢ?0??tF˂G?b?g\"???H????Ef?a?;?*???q??~?2*?2?Gqo????qf?p֐H~???c;d?????y?#??ǅ?ˇ\"???Nb?\";b?????&q?+@%\n???;C\0?\ZOq2??|??ђ+|?9??M????e?E;\rIn&Kq?*??ṅ/׼????i????\"?C[?p?\'?)o??9??C???{\Z???/ݐaQg)<???Dۑ<?r??Y???n?u?-\n???[????e\Z????bF?z?0??5?1?vI???+?,?@co?S?Df?[M[???$???8p0?$|?\"?c	N?%1t??6?l>@F??IY?9??!????))?qS?-?`$9?0?sy<Zav????J?2:?B?A}?(x?:E????H?%3?2i?+?\"?b?7:????Lv,???4?G?*L=?DY??g\"Bɘ?Q,\"ŘM????夿?)7?<?$;$rv\r3????c?`5\\??????]?b%????糢???????X??#ݩ?G ?o?}9??????T?|??e??̍?]?????֊???y?ZK?v????????&f\n?7!???A??5p??g=M?v??z??w?F??V?:?[fGׁ??[??l??߾??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:27cedf66b625ac1ebee81cd83da1c6ba','????0E?|?v?L?$?e??F?@,l٦)??5MVm??\ZϽ?9?g??mR{?`?6\\)?wn???c?????)???93???\'?G???:?u\\??<??6???????@?.?U????gE???????o?}?\Z?hб??S?6ab?]k????????%???fF<?N??XP????X?$䋪????ۙJ???oT[U?*?\\ \0??z?x!+???l?/','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:2b970e33a041b9ae2dbb019fb30a83ff','???!?~\n?R??????OU?U?D?????׉??_???ꥀ43???V??f?hxiQ?Ɲ??pFKR	ڼ?o8?u?h%?:\"???X????	??3?|?SD??!???????\r?\\???3<?0l??*ʊη?V??!ҩ????t=+?iw?=?{@Jm[?L?]????u?*????????SJtLR?g??7??1?b2-c?l????|???x??B?a??R??Z????G?\0?W??ĉ??\\\n%٨SXЯ?\r??4??s\0h??y]ק[?r?B?=H׮??[?:@?v??\'WM?C}???ci7#?????5n	??˅?%?͚:l?Y??/??)mb2??Zm??-Y?O.P,K??$??R|Q@?P?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:3731e201eeaac0985c73af2c5467675b','}R??0|?X=?U????t??j??a??%)??\n?*ꓵ;3{?uY????????Z?uz%G͡O????\'??b?????[?%:[zP?????),	??U?qg=y?({? (?G?IO????\'Ig?	??[?????Ԉ?S???"?????Q ??^!O??EE ??m ?lo?9?,Ҥ8`???m??4????co?~ͦZ֗?oϹH\"?§ƞI/ꈨ?vtubo??q???]{l?9?H?????c?8[?r?@X??P0?{?S??Q(T??. :\n???!m??%S?>??(r??ƺ?c?5?????/?ݼ!?????:???P????\r','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:3e832b72c0de5aa985fbdd3a86b19cbb','?y??̖\'?ߟ\"???E?Ђ?L??bb???2?\0	PZ~?qGR?R??[5???2bq???????:????W?????R?xy????}M???Fi?폍???ҭ??k??Ui?I??ej?ؤ???Y?R?Q?a?????<=$ΗK^???=?\'H?ohV??\n????/??-??ݸ??{??I???!?\'8~??U????o?w;r??r??E?7w#P??????/??~{_???y?d??iR~)?r???{X?[??៼?}?????????-?E/?v?r?C???\r?/߫?)?o֡L/?R??????en%Ef?-??$	(???????q?楕??y?P??\rN???j?==?9 L?? ??2?^.????)m+??????ZvA	?⻐?Z?V???T??m?	?,???N?Y???????x?B????\\?'$r?ϗ?D??L?R?%??}.???H?????~?????/gI?#p?otG~~M??^1???????????:?\'_\0????i??Y?6,?+?2???ϒ????????Φ	?r???????A?Kxbm?{\0?mGV?9<?Zv??MA}?\09??????r~????ŏ?;19D????????o?\04?'? ?????{#????`?????w? ??[T?/??y???eP˟?o???|.???0????????????:?[uV?M\Z9??ׯNjbPۙ[?pV???r??^W?6?>\0x?U???ɟY~???뼜?V??;??(???pz?u[?l??ۙl???x?;{)???Ix.̅? ??\n????i??4?J?)?oP_?o?0h??\\r=ڿ?Ѝ	x0?ྛCf?	+p@\Z7O??L??????!\0R???/?D?????b?e????????xQ??\"=??$?\0?????1?????>S?GF]??]s??M???|????^??g?zv?~ܔ?ʟ?Zw??y??A??\????V?`hEL??E???H ???=+?֊???V?????b?H????_=+?ܼ٤???@?B?!?\0]???%NO_????????Dח?޿?3??_I?x???????q?s??\nT?$??w??<?yW??1?????·?%/??????/CPݧ???N??h??o|<??????-E?@a\\?u?o?v?^?"n?(1?渑[>???(??\0???a?????ᶟ?~??ؾ?\0/묙E^|.1O?B?*???:^?ȭH??,??????K??9???f[????g\"??$??M??O\0r\0?|ׂ?mA?????g?֝Wh???%9H??q?Y?p~?\'???6ek?.	3htҪ?6????8/?:v/??????E????!?????}?m?{w?x?<?z?/m?s??7???gٺ??{?m??ˎ??U<??u?1?yi{\0n???^^^???bV?\0??;y{7/???????e?>??x.?? ??\\?	@&O?W?>־????!????????DEɇ??[?n????P????Op??.?=?~?3???R???X\rk??-;O?&?S\r\\??????}ȁ\Z~?(??-??????;? ?!?|L????d????? \0K?f?{.???Ph_?^\n???*m?R{?IS?q??O??p\r?7V?;(\' ??\'??C?Eh]??\?:??po.???N//@[??>???i??????s?i??Q?i????]e*???????????i????_b?(`[??qA?~?񰱡?\\????Ip?S?\r????-\r??	?!??܇?????????????_??Po} l@????7?=}r??>}?Ǉ?g?X?r?&ރr???n?????ݜ~)?se??P{pV????ڞ\\??\\????V?9????L????IZ~ɬ2???m??_????`E?_cv??c?i?QrG??~<ܽ??k??'7Ϲ>???/?xW?s?G??!I??G?/??۰?n D?/Iھ??\"??{????&wY??r?|????{???28????lé?R?=?/?ف???????b?????????#??Z?o?\nqo-???|????;???~????M?s?'~???~tsύ_?f??}Kśch=K??m??8?I?????򴄲\r??4?܀?yƿ??]?0?u{??A?a??\0?????o[0?g_?k?[K?????-?B?.j???X>?	?????(?????k?C???n?m:?~q??:P???~?\\????\rT>??x?=?ѿJ??6???\'w???\0ϋ???O?????M?????\Z?t????%???????qT?t???ɳ@??~C*????7A?͵??@????n5????իy????0?B??????ַ???:Bw	h>4ݝ???7????.?m?t?su`Q\0\n^`???]S-2???0???q̽?ەa?^ϕ{?\n?'5,|u:g??zd?/zo]?re?D?(?/Q깵???\0?>?W.??>5?0???7??\0k\nyr??? ?ruaC?`?	,?{v???t>?>?{???\\??];????p??]\\?O?X_?n?\Z޶`??;Vi}?Ot?\0?X?;\Z?+\\?+??{)ꅢ????n??0???	???/#֭f]l??????2?j\Z?B?؅\n??\rް??LR\ZǒS??r?G\ZҒ>m?n\'??\\??"??6HT???28&hP\'?d|@U$?:??ܡ????[?Z?H??![?)?K?Ayt?#??3??K6J?<?f̌?N??=?&?9????xǱ?T?7???2?%??!w??5?+ҋ?r6????????????џ2???^N??E??owbl?F?c?!3?3z؛??X^Z}d^?????)A???*\'?[??4V,?8??3?܊6???f??rȜ?Y?+c??}*\'??2?뮗????Fђ2??????????E?w?e<wi ???KoP?}?:??$u?T???=???s??L?u?Y??r???:޲?f??L??i?$6?YK????7???.???p?;???x?1;?Ok??ڬ?cw3R?c?%?\n;H????u???Py1????Z?w͊?eG[??ZtŭAw????ZL?(??9?0????\"/md??@?2׺??Z???۵??c}?????`??U髕w?0H?.?8i????k?k?x????_?ޗ????oC????~??FmCI??g??8J???Q?M7????{/ퟷx?f??˃????????Xܕ??=?顸??d?DǗ??2?A???Q??&??\???l??͢?8???????O?jS@#rʹ=?????<??:? ???ҽ???o?????g?ȅ?7ż\nPaB@*<>J?^wS??G?~|?:?|??4jO??7?j??????v8?(\r?m?^???oA]o?~?	?8V??7??8?>???Ϡ?y?y?????????s?ri??6?vn9??6?3q?8A+\"`?Z????????\n???	Wa??q??/_U??K???<2A???.?G?=???D T~?a?}}?&??C??^o?A?????p?\0??\\~~???{????˿?P0??p͸5?m????????-?@??~n9??}|2??wnF?ݿ7??讘???;???T?_??p?????E?????؟?=6?o)??.Z?6?{??n???>?~6?^;??????>&2s???\'?U??~Lr7?@x??????{????\"=???????u??????<(CWњ?P??^????i?!??????޵<??~?Y?C??7?<_?I??M??wЎ????韗?!???	|???? Qo?#?Hȏ?Z?]??x?y??DK?g??Om?h??h?/???0\nʍ???[??c???????????C??Dsq??y???e?ۅmh?^?\n?V??V?3???W%8????\'?8v????ԊZ̤N	?????~6???!C;?3?<C?w^\r]:X:\Zo*?HK???m?ڲa??F??s??y_Q٫Vi?!$S֊??3?U?AZ-?ɱ??MP?pB?k?afu???kFj|\\©#&)3F?L?䐳???½?!E,i??ʧ??cYBa?A???{}<$??cWQc?oLH???(a\'??.???H6?ψ~???P??Q6?Z3????-Q?=flp???Y%??[??[:>@?rB?sԛ?s~fCt<?Ģ0?Z?r???Ԍ??	?)=G~KO3?֋???ii?+T?ߧ?LfEN6?DW????UT??1???k$CU?????\'?e??)>#?.a*?????;	Vs???u?#,IIǗ?????|?ؑN?6\'?Z?>u????J57???e???-]G?U4N7G?B??f1w?J??;????^?*??ٖ%?L4g????<?hC??>?f?-m_&??#???17U??ν:???7?=P???!M???4EO????U??\"?5!m4+lHw?T????7$??8a?????D??n??O??i???(碕????/Eú??fP!?? ?%?*A??i?\n?"r??ϋ	?VaN??d???d?[?????vi??4?S|o??cA?9M`?ܸ??j\\Ú?#???m4?%??\\?Ld?????ŸNgީ???\\G?<?I?2t?5????#?rAJ??ې$??Q?8?K[m?!????n????z?????\"?oI\"	?φI???,?L?(??D???:x?\"R̒ݖ?F?&?ol???H\n??zC?H[\\C{D?ԅ????W̊?g@???D?U%au?>Qi?Յ?5?8+I?BHGz\"????\Z???C?T??7??????????3KW?0???d?Y1?vk{?"?^o??O????a?uR???x?tBeX?x?i#?js?????C@????I?3??kS?????@??Y??dg?u??U-?	ݐ?K??tx?Bcr?!f????,??b??SB?p?i???tW?\"?hc-7?!%?Ml??QZ?I??,?۫	#C4p2??Y}??\nM??(???J??\\???&7gX	`Vͷ#a?FL?q??8???Z??:67\n?????p?hr?6(?\"ng?????\0q?C?M&\\M3??vű??$??σ???D\n>P#??	??}=b??+Y????L????7?\"???fQ????K??(,?d????<?R?z??:?݋??P?9b????ymwցFl?i??BT!?Ϭ5~*?~j?:?????e?????#??i<Q???Ƨ??r?R?????hI$O?6+Ү???34l??:???\"K?c.rr?=k?????\0$?A??u%?r?h?ʘ?>??	_?V+?&*B\"~A???{ʤ?+??`-5\r?\Z??9???SS?j\nag\r#?]a?Z\ne?$?k?v\Z3\\j?QO??M??ƭ?nr?Ino????b?\r?4???@f;???r????sEA?ٮ??= ?0?Ϡ?5??4?\\O?3h??Z?5??\\F.do??Uŭ??\nT??cX?Q????QY???Ymxl賥*?bϨ??-???????x}???//????????5,??)?[??X.??u??jt?????-;?4	Hf{?V??`?L_ٚ??????\n?\"ѩ`?}?U?O?|??i3?G;?q???h???v\'ꦱ?3????<?3Q???z*>???o???\ZGH<d???\\?:??*??A?؉&?$F?<d<?U&\"\nn??:????jKH1;?Ce?s?\0?!??.~????{?AIUA?????a~??-?sF???)ҽQ`r??qq?S??>I!?b?:??Y???l???3??ffѽ ??b?3l?p?Be{???????\r)?s~?s???ۨ?Ȩ??R?T?5?ˢɏ???-5e???,??ز??aq????????c?-??K?:??=cEmgt? ??5e?????j5??Ǭ?>5{k\\????˺? }?V:_xS??¼?R????m֫??b3??eEã{\\?\r5?(Uk\r??????M?a?>?%??X?h?윷\0!䯰`?????`f??Q, g#?????r(n?X[?\"=?w?k?i?????o?1]?a?\rc}????M1??_is<!G?An????C?{t g?????mYl?`z-1t?s,`???$?+b?͟?]??\n4n?m??͆:\0?3M??:???????HU???Zb?׊2m???()??@Y?RE?H؂?yKR!Y?t?f!?Lɒ̌????K??.|??\\_??>!???Ɯ3????{6,8o??-Ҿ̀?u???B?f?Zn}?F?.??̺Hg=t??/?.?g????Z?]???سt??pX%b??0?P????*??????r?p*??????A????~??Ț??????DWQ???C?>Q=?Rd???????+V????o??i#?2??l????n?6?B?>??ķ?!oS?G?I?\"F??I???S5??q??G????>ݯ????i\0???8&14?X?ul\Z?B?P??	???????\"2)?+J?u?Z?S_E=g?/vF=l??iqh?\n?:?.8?Y`~?0??;l??h?ϭ~???D:>???0>?;?	?g??U??a?????i??m???x*A?MX?s533???ld??$???SfN퍵_l?T? ??\' ݄WÕ?!\\#???3Lz?Ԗ?6?4´g? 2>?v?\n?_?????c3?Tæ}?????n??lBԓcpĆ???kM?᤻L2??3\\?M???}???\\?5??<??{p?L???ݦ)?DMaݑ?}D?,?|f?[HF}??q?Alc?A?n?}_?J?[Φ?"??F??k.a?,in\0&???\0??\0?@??\0?!??W&G?d??t$?Q???? I$k+???rh?،{??7????m2??2\Za?AB ~?f?Nb??/???x?S\n?2?W??*??D??A?n&???5\\??#y?\'??ss?x1ۘ<?}@3*{N?*?7?:4A??:.4oK?`Ph:???=.?!P3A???Z;??`rZ\'Z?iG.(?}sX.Pa??\Z???????????g1?4Ћ?9?v5???\noy?V??\0???@^??\0@^ڀC???9C???,C\0\'?bE?+?f*2u:d?2?d???Zsf??2???|pbB?B?~rn????U۟???\n$f?+[f?????^??ɚ?H?B3?S?P?	[q?_D]??2C5e>K?????4XvbK?0?\"5$1L?Ʉ??a`?a?5???y?0#6?S	??/j\',????{?x??;??i&5????qѴ?k??br?YKJ?EE`?????\Zjq??????????3\0?	??jj{=???????3o??@~??=??[t????o?+^[???????v??$EY󆲣z?\rMOԚ?F?*?Lg???2\"?$?C?VaNfOט?0?f?KT?@!?J????j4?HaY;?0r?`a?Q?Y5C??PU??t2J?vԕ?????!/???k1????JW?????Sf1?9??F?au??&\Z?׀א̧?^?4y\r?q\Z??0z\rq??|0??LH!{?\0?ފ??n?z?V????τ??|???5???S\r?ө?P?????S???\'c???[??\r?????m/??Cb?Li??	\Z????,Ӧ$016?#?b???s^??\0\n(r?#??@?p??00c.?????????\'???I?SA=1ػ?=?;b$?Z?ԝ?}/??:I`nW?9@?%??\Z?nZWTTC????:>???!?bC??rA|?y???-݀?\0?-??{????p\0?m?n?-Z}pɅ??9??88?]l?0? ???BD\0	?,?,4??da????0YP!?\0y?К\0??C??E\'??ؚ@?L?̘????Ny?8O2`d?2G~??4?-N??K??cřpr????p̲??????\ ??g?j\'q?^ly#X?????˂??\Z??H]?f?R?f.????ө?Rq??!v:?|?$???(???\\3X?Q??C????Ib?zKY7S???Ǘ(? <???K?r0(=???`4?\"T?&?Y?&]? P?!zh?? ?k 9л?0H??\0%f?r???B?>?//\"o?ۗЎ??T??J=????M???y@?I?5Ԫ[??!???@?W@??E?@w?1?,YcCG?ʜ?px??e??gfˁ?(}T?@??#[????BmxMb????2?Va?Y+??4b ???,?$?d??笕??I?????*?? ?IF!Ba1C???3LMu<?Y?????a????O?Н?1?	*????v??M?N???gtF?,???p??Fp&?T?Iq???N	???b??=z\0Z(hG?vЁ????(??\0?чx1r???G??86?µg?60@|y??K?O?D\r?]W٥?M>?Z?3wـ????ilWͭ?tV???UJ???+t??g???????f7DEnh?z???$\n?I????1?1C7?1?R?׀ט???|??t???)9??DG??f?\niJ`?p?????o:???\Z\Z\Z???46P?!3Z???\0n?z\n??M??(?D?z????Q???2z4Ph???U??`n\\\r4\\??m?xlֱ????3B??????~?Kl?,?N??#??k??C3_???????2#?g??gău<?? ,㾿>?????	Î?c,v	d???>4???j??\r`*?TU&wӫ???~B?0_?2?Ք???2?ZC?$Rc9ɄVfO?Թ??}?@?rm?q\0vCO??)Iu?0?A???0XQ??6??H????:?0 ??lx??9%B?gz?+_?C3???iy??\"??x0<S???2???8?^?y?\0?|???????^pg???\g}?e^??H??ΰa_\n\r?k?f?ym?x?_????-/	fm??E?G??6?\'?W!?\\?\r??*???\'??r??l?c?/?>ƙТ$??M ???r\\Iw??1?Ɩ???P??????4#?q?`?E????Ma~ba??????bѷNӚ?ա????ĸ??|2Yʜ?=?=y??	Y-f??ʑ4?????l??$??;?g^??Ghj/zTa??R>#?+d??MI????Z?$b????5??s??U???????TyJ?????r???]1[\rя?}U?;??fC??܄YB#qb?^C6?g???rf??%?^s|,?\0?g?a=?dqh?=Z2?>?=i0?vڦJ2?Ѕa??????XϘS??Wm#iN?>?kj?9?l??u\'?g??\r?4ݡLģ13D??.<????@?l?\Z?I?Ԓ?XJ???:E?1??M{????^??&??)?Z???????e????|I?op??????D???>?;?w?^ޝ??+?6w?S???c?37/+y??r???n>??2????~???vVq_??p???^??e????c=?^m?ah?ߟ??YY????\\??o???d????߳?]???)?\"q7??????nxw^???_d?I?A??@???????v]߳\0???w??};????t?e_??9_|?%?t?d??%A?L??z?~{??E??e??`{L`7{??m??Г?N???9???q???7}?\\??;??h??\\cdv/ICMܣYl?{????CJ?Q??~????߻ʊ?????֡%?????k?]??:???>???-???s?CԺ,?v/\'癦???7&ce?uƧΜЫLG{?R?&?fԘ??R?M\"??S2?p;?M{)?[?????Ic-?:ٓ????S;??B?9?????<	?y.v?АJ]?S?3??Zs????s?\'??<\r?%?y??+??F??)??s>\rL5???7?????#?	$]>\Z????h???x]?;????\ntyk?Y?'??dë$??\".?`;?c1bI9x+Oc΍)?il?Ӂ3??8ll??a??gW???d?]?w???????`??????\r???b?w\Z?z.T	,ZF?z?艏?p?#>??LaP}`?????ϼWladd??ʁ?i???M9?s\n?Ј??VtT??1׋??fw?n????=??_ڳ?˹??!#u?fP6?&7?E??	??L +??8À?l#?Pkf???.B	?4???C?XhR???K???X|?P??J??????e???K???3?@?(??&?v?,CGw?????????^~?2?hG2@?ʄgZ1?n???>?????t?)??:hM??????OK?^ Z???:\0???x)?4e o4?ti$??ޑ??U??t\r{r???ER?A??\n?????*MP???B???Л???噌˳?\???????)ԕ?<_??{???M?f?M?vm?a+S??Ix???o????0#?w<????7?????{??|tHR???Pq?vP?47????????t??\'?5?D/k????:?3>??[@yĦ?????}??8??]??{	:r?`???2]QN???3\Z>Hc?Z0\n&<???d?K;}g-?섪6}???t?1?h?ߠ??Uo?2V=s?????U??d?B:sY?gRHa????*??;\rNL-??T9?)????Q?-???N?n???OJ?j??aGH?{ ??h?a??߫???7 jŊ\nQt???^?sa?Lߚ??@?=??υ??Y??O?	#iT?;??3?ZK?K?р???>Ye?ܬ?\\????$?}2?u?vx??oAV4?n3???z~?????\0??B??vO??	??i?{??X???~V?۵Q???X?0???9?9???z????uNf?? ??`:ݜ??a\Zw?b?\'?Z?i?u:?O????W?N?ki?\'??ֵ????0?]????)??k???wq:N?8??^?]???~*?פ7??;????0???!>L<?????\"??p?Q*?V?????|Ie%???CV3lC?̼?V̜L1o?7??b0?????Xmi̙:epiy_??j?Y??Źn??q?????r}???p}?뒷?7?R?/w??S?h??̡F???DzYc?2rY??y???#?rm?	???+?/?????E#?O??@zo+R</???yAY[??K??sr@?s^/_?/?x\\?]h?I?mپ??	w????????`??[??:????ma?\0?????Y?#??μ?}?????????vן?\r~.\'0zK?|n?U????wW?K?r?[|?????6??{0?u????~??|?#??y??0@??+?y???????>???_??匿???.?Q?_z?K???	?^?.????O???????o?????????[??s??????hnW\"?땼???QB/?}??RXI?z???/L?s????w??IJh???????`g???,??t&C7s????d1?????wLC? A???U?????\n?gX?G?9?w?9K`{??6?j8?0Xw\"a????I`?D?????I??W	?/??(?$??$\rY<???Z&?rIi1??]<????6????P??k-?:I???	?qգf??{????n@N3\"EJ	?0?#h???JQ\\?t??c????D?\'s?T?f@?,?.	???_Lă(l???ތ??????֒ެg8???1?-?,MӀ:0?}TVB>?҆?]\'??????缙???A3n\ng???j?;???T??????֎??+wgސT?LȞ??|?)???a檖1ɏa?[??T??6??\?.???j?ړ??b??:?:Rj??Ŭ?x?>a??-6?i?M??ˊ??tjcL(5K?ƥQQ?2??-?1G4,2?2\'??JI??\rR?U ?BW?4??!?Y????a?W???Wir?ک??????x???c5???ZqҐYq??Av7\n?{Wf??n?8̈́??{??v?????u6b#q\\?;M?][u5????????y?&??????\"??F3:̗݊P???l?.??:|!?????\?????iv?Ѳ1??m?z??eӕ;?3:\"??lC?r???2/q??\\?0??? ]?L?(V܈??s~j?|? ????`˔,??????#?\r?$K?5?z\Z???????ͨ???Łꦴ@?E6O???91Etd\';z:h????ƶ???Yj®???I7?1?f?ˀ??PiE?(9+??	++?A?#+???????sz	??`?AfF9?Y?\"b??E?q=Yc\"?"G??2wLV\'????^8?UQ+???դ9???\\&QSS?[???/?I3??7Gc??U????{??K?^!l\rz??????\3^?tZ?Gd??\n()?N???k*vˑώvV&ˈk??s?x_??(?#[?7߃???&?/???????.7????- ???? ????d??\E3?\n?*Ly?D???6k?r\'JX)?(?\nlxfl?E??RAP??A??0??KD??\Z?????????ђ;l??Xπ?r*~???EE?????,???J?	?ZL?i<7??????[rK>??!??Vi?$TEݍ6ǚj?????`?<ʢFdVu??&?sb??v?,?-?K.?C?|???;?[u?\r\'?S?0??)M:}\'?Ӑ???"M?????%??G?????pX??<?j????WgG????Қ;:	?\'v>?~F?^iT+\\???Y?)?\\?C??x???\r?9???????˄NǑ:^?.?L??I??pe%?????ԛ??2<s?F\'d?T??@<]O	?΍???4e$?0p?I6r??%`?vs]?y??E?F,??ͨ?H???7Y]??cD???iЂ?1\\o)?P?k?Wl@?\rQl?e@?p?9?`׳????Ɓ?Ũצm?h?*???Y?&7????A?	?M?({????S?؜?C?\\5??]ԁ???d?\Z\'W????0&Mh???֭??U?{c(?@??uWۥ???ڡ$?VcWM?T?M\0???????9r5??Z??-o?6U?i???+w??-?E?0?6?u?Q6\'???.&?ZZ?Z?߇È??Yg??\Z`??????+V?4?(V>?N\n?OGN?4G?\"?b??@?ʡ.??+?????	???<-??H???\"??O?BӺ?)??????=?kz?8>?}??\r 2ǰ$???,?0??\Z/?A?1?\n???;????#b+3???[7¶3?W?Bu?F\\?FR??J;?1?????C{RX??K(?RI??P???|?\n?????VF?T??$e????$| ?4?]w??nMo???{?S??\???9???\0????\'??Ȏ?\Z?W?x??v\'q?Е????:????i??'?)8!?I_B?n??Ia???a??Z????)$????ni\0??Tڀ?????xȪ?R????UеKX?3?ʌWcm???|Ny^ä4?@????8h\0?F?ڄ?Z??R!??Ʌ?9qT???Ƥج??hm?Fu?{?z?G?????????)Xೠ\0J<?Vq??`.r\r>A6@b;??Y[??????G?)???^:.??\Z1g??ub3E?OX?y(\"%e?KR?B<_.?\Z?? ??:????s??[g??N??Dj??It왇???}?I?ؓ??P@???2???Y?Z????>7???\Z8?z1?\\?z%?TbPytB??T?*	??d??|?E?w?\"??쥀Q???֕?R?Sr?^.D?y	????r0@??rS???W(\n8???Z}?P\n|?*8O?B????e=?zш?	_-	)??e2???:[+㣔?@ne?M@?(8Ǵ??????6ԙt?Ô???\r?\';?=;??N؋ga?K???\Zюϊ?/\0???GC??0??'??I!??\n\"?hW?\"??B???t??	= M??i????a\'?qg?nBM??????&:].Ig?????dʧCG??c?8?g?-W?t?&?????d??BN?i?Ǡ????\'?P?\0?0?????<h?:\r?͐H?݊???x$)(?????_???L?wUs?0C?Tq??}ﰴ\"B?Y??"l!?g匜B#??G]5]V#{????\'% ??Ɍs>?z?9bD????k:?0?h??78?????ޝ?]?Άoz??;?G%?iWw?<_?`???@\n&)jq!?d5??06P9tv?p?Cm??x?????Y\nYw???^jM??~Uj????9UM??ծ??C>(?gl??K#i??\'eJ?bw?l?.?X?C-??X?r?? ??wU???I?դ???n[0n4?7a?xQ?f\\\Z?؂?GĚ5????.q?u?????b??H+,[(`b?f;?󴉩????2?\nQy??u\n0??D???@w?1??k׏??\n????0m?\\?Ȇ?????@????uh?ߋ??v=5???l\r??K+S`a?c??t?sSlv????)?X?ZS??????]?4?\0/O?r|i\n???Ss?G?#????O?(????????u??e?t1q??? .??~?rH?? ?ĥ?ĭ??G)6??.a?wV?2?2?\r??lOi???RU?ׯX?H\r?[s?M#?DW??\Z?Zl?Ț?|\0??]8??}?\n0??ЄuU?ː?!`+?+ܴ\"?^??nEH\n?v??7?¨??$ׂL?s;??lٸ$????ΰ&?j????D/Q7?)	?\ZG6T?L???????+???|???!???% ??p????\0?!X\0?nL???:???wKA\0??\ZF?%????K:\r?>???????2?rs?*O??L?С??C넙GA????؎p??mt?휩뼜??-?\0?.?d?m??:#d0]?;?2ũ?rLů?2.i\Zf)=]??E]y?\0o???"?HCP????^?r?i??ej?4՞?\0:G?&?]SXͣ@?(?\r?NE??%??( Ld??U?+?[?Ӱ??f9#?H??f???????[??5K?????%`?8M!oZ??\"+???\Z]o?%`???\'G?G??-????@?\nA(????*p????9?'??????????ޫ??w{?\\?Jm??<d՜\"z???θ?Xl7???k\'_.?8????\\u@????9\0p??;?VV?1?x\"?ds\Z???a?͢&G?޷?v?N[f9(???n?????E8;}w?a?Y7Q??\0M?\@ě?Fs?Ea??,5?\'v?/?kD?m?8	L?np,???#???Q??ĩoF???(??Ή??w$?0m??	nU^? ?{nb?t?)e\nȺ???d???u	?? ? ???_\'M)/???S1?ܒ]a\"???\"??rؠuO????????F???e?ӌ???2???ql?j`?S6?8?D?Q	-?[0P??Nh7?????K??l??}@V?nw<B????4>???؎??????Z??5???R7?????b\"||`???@?+?n?uXF{?ng?oP?XI??Z?\0,?e?a?????2eӪ?%???TH????@\'???!??ń2d?7????	??Kj??3\r? ?t`ﻍ.t2Z<???P?\ZW?noN?????:kP?I\n-h??E?Ȃ??Z%A,?MC?.???4?\0????,܇.?`?w??$?r?H?C?G???g?\\({?r??w}????\\(?`D?????8?ݪ?r?2[?q鎦?|?-t*?????юl?m?|?*݂hN??0l?!ZIQ?9??B/??gV????C?Ҳ?f+?S,?u?=x?\rB?Rf`?6?? ^???㦟z?:Y?1㽓???@O??AZ=?8K@??ݩ??l?i?SD?0N7??]E??\n??UH8t#?j?M?l{QOb#????Avn?????^H?嚬??E&?ԛ???$???;?}?r?G?\?Ď??8?m?s????V*g욨^uTz?????,Yws???n?{;)R?:\0>??i?Y???|I;?C4????sd??	??G f!Ckh??mʳ=???l??6???????xA????!w??r???9LdOD\rº?;x?͕\Z?%?a???]?	?+??Z??}\"MÄ)??????0?P?(F??bDfGj ???˟???`s????ًGe?0?FI??	???\\,?@?\"?X=??PQ&茬zK???_(??4?v5_?{Z=?Pq?>T??b&Ǚm??Ҭ\'[?o????BE\r?߉?u???}??\\#???jw?f~o?@??r?ѓ]????^	H?l??;ViTp??܌:?mj?i??Ȍ??????k9	\\\ZY?B??PG?\r=#??N?s\n?S?d???,?=?;?Ah?^?L\\)\'o??{5???I??b???#?n?Y?kpm%PMY?kh?5| ̛??	??????G̚?d?8???bp\r?]?@?is???Q?v?????A??t??j???p?m?@L??`{(>,?d?!aOյ?-?9h???V?mz?8N????????j_??/???WF????Ӯ[?{???)|???[v?׵_??f????	e???Pv?nI??N???	??̋q?\\0vE?\0]C;??]?T??ԋ??"???j?\n?e?c???q?d??rs?u????0uTՄ???@q\"a?;??\n??lG?j?mq?lgP??<(????ږ???d??4??H?)?????@?AY|?}+??Yh??m?y2???5??\Z??Em[^2??ܮ?5??,?Z??7lqQ???~SQ> ?0?Z\n???BM?n?W?.2M?Ԓq	??\'h>_?o???m\rʧ2????c??x????j????Y;?]?ԕØ?Vt?Qׇ??|66?\0??mf?4??*pI???@???1e??ҙ?T??ـ??J:??9?h???rkm?QWf?2u?i?[(L,6=?T?p?\'???F?9?q5?`\Z\r?ȩ?ܖ?????CH\Zҡ`??#b$\\#?)%??@?۴?J????F??q#\'Ӆ???է??iT?W%??`H????+?; ?aخ????o????D??\\pK:õ??S????nXj???s}?5i*???!?S?@?g???ql???????r[????D?aa?N$?H????f0??xZ??Qgeٓ??6^?S??V???v??\rU݄??/??j\Z??tv5W{?7?l???{?E??????????g\Zm?,?a?m?+`????W[?v????헹i????D$z????ٵ ?V????Z?Н??60KAE?\\x;o[%x?S??b`??T?Dxٞ!?RPr󣲓h??\nkm\\??5??}??/#?q?mnLL((5@	`???q?m?+ ?j3@??i?BU?۠???u?m}????b٬???>r*?#Yq?﵋?=@\nt䮪?????\\/?|?$?ܴ?ڮ??(????nn???\r???\ZM??\\o7^l?^R??6???J?쎁?<\ZkaG?\'?(?????NT????>??g=???nV?mJ???5??S??Z+7?މ????@??\rBIxB?,????T?P?02??V?CC`Ù???8\0???%???z????%?-??A??N?f?\09?̍h?=#???쇧?t?E???ȩ?:K\"d?/??bG$eJ**M???[?a???P9?fs?"??I?p?????(??M?(??{?`???\nOByŀ????????b??QiXh?Y4Yf4,????w??)?x?C\\??b	?ڀ(|D???????P??????h?:?2`???35C?(?x??,?ۻ???V~?~?η?MI`\0ȍ??0?#}??i6?\0ZmR????9???\\\r(??0D\r<\\!<VAHJ?\\?g???fǥV`DZ??\"??0???*?j?Η?:???????a3?V?lW?????m?SERz7V`?|[:?8???Lߦ!1?????c???I$?7?P??A?\0????<p\"?H)l?~ԷGܚ>???t\0???ρ??)%?۲?????8?5!?g?L\'?{dm?n??RtS?Z;?Ӂ????0=?̃???j$KAE`?1??g?\"?@???E?`\r?On???????a?rG?&?7?!tڿ???o?????(??P??|??_?<??\Zd>S??)?W????oO? ?#??]??&?????g???Ҏ\r}?g?????I????_w?=???o}?K????ׁ??U??g~y6\Z?B??tcEzne???????Ͱ?7\\??G???}g?f3??Y??Nj)]纻.j\rF??n?l????.???~:?????(???????	???k(???\0W???}?9?v-???Pt?N~?????s^8N??+?c??>??????m??????J?????~??????O???_????|???n?=k??n2?.?????\'????%~?|??nh3(ܭ@M&W^?????s??w[S?????ܽ??}Aj???n??????	?~??,z#???,&?d?~T3}?Ň?F??F????????x?͇U9???????lW?\rS??C5??$?pN?`.\n	\\???s??s?nu??Ű;??:?*6+???????En?l?????????+r?@??zh???\r,?%?.YqV?????8Χ???\||?Ο,????km?U?n?>Νx?u׌?Xo??\0???????\\?޷7n+r?S?-?X~CT(s@j?۩#o??Iv(???Ki??M??)??l}?s3?~??S????=8U??@K?l??s???Q?\rb?x?[???9??????@!??????|?r???B?au??|???mƇ}M?r????\n?ͷ????cw?3 ??)O?w.??#?7Ƿ????ӻ;C?\"}W????.?M?}j?Y?????aPf8??8?????G????O2???9?1???I?p?,|y????C?s??bO?????<??B??`з?U??b{???\"w?aO??????Nﹽ?9Xw?V?	HO?뷷??A???qp??T?ڇu?v?w~y???{?8?oy?rn>??K\0]?y??~4??|=???h??/?^???:Ae???U?????w????y?/\\-?]#?]????J??A??.?????;J??	??????d??G\n\\?/l3ˑ۠?????~??{?ϻ+z{??????-????4?k\\*??3Wo?B$i-?[P?a*P?G;???o/x?(???????????ukX???x?1???????>??{\'?0?f??2????ň[C??ɮ?????Z???P?{???H?m?v??????ۜ^????????(???>_[??wi.?IBP?3Q?xB|???|y??????tK?G;y?>??\"cw??\Z?pK?yX??s???9~?gMGw???+z????w?????yi?w??_???.?J+\\?+??{?zE??m?l??#??Pt??*?Hi%?`?!&H?L[o???e?9??M0&?y)?yM?_rl[??>U,?칄??T?????s1????)??c$????ull???!!?mژ??D?C	?a??^nףx??ĵW?5?f????\r?????3?\"-??B?{??]%????,m??z?zu?P?cG????5?E?B?:!т9B?q???\"?(???????{?? N?&2z5?\r?G}tO?#?\Z?y??|\'?Z???????{??t???ۅ?n??wн?T?.???????????\\Z/k?a???m	?2??0?̉?IԒ??pfO?ᑚH*,w?p??????8?$???H???kaN????????????3O???>??y?KEG?ϐ@??}?!??D\"wT?????9tq?=???g???|?X[AT????|???\\?-?j???p?,q?ﲾ\n?Pr?QڟNxZ??u2NV\0?~lLޚ?{j\'?????Ni?ĝE?u?Ӿ???[tt????Ww:I?O]q?t??~w????&???e?Ț?~??ڳɻ,?k??n?+????/Ĭ??\"3#?????ʕ?\"Jb?c)?G?\Z.Q=?\\?Su\Zp?fU??UЮ{Xc?;8???Lvq??l?????pQ??,y??O??o????<?9#m?!?????YQ#K?Z?P??x??\\?\\WT#\'\\??㜼???\"5;???-?A?????????#o???*_?Q>?*?;??1?MG??>?M?(}xJ?l\Z?S?X~5=$???^E??餡???l?1??F?򾚑??La??lq<uC????9?q?????.g????#?J??!VM?iDk3???\\i]u??^?ĦF?M_FŞ>?%D[c?????A7??\Z??=?-uɈRC???P??O?G??m????CX??Xy??\n??\0??S~&O7?:???????????????;?$^G8????t?????M;???w??B????zߪ??1i???^w;X	?v??Q??~n>?????\0;????V\".n{????K%?	???@Xl>+I:\r|?????\nLK??\"?+??ج???\n?????<?nO#K*??6???2??|C????^?y???_??An??7?t??l??^\0??????d????\ZV,t?????H?Kt&???\'??????|7?$???M?5A?d?d\'?5????_5|?????2?p??N\"%M#@?:???mG@?????:%Ԡ5??V{?c????i}??=???z7???@{֣?4z@????????s???f??Gwo?P~?B??h??C?l?ᤑT]?X?$???.?yѓ\"^?$?i?a???r???׶XX2???'?b3]WY??z_??X\n+???k??ZW3L?Ԙcb?Oj1:?L????ɖ#?>?:,????}(??A??ux????}M=??0&???$????fv??r~+??%???$ӱ??[?????A?up??_i.-n?K?????;????x?#	^?y?Z\Z;????]?fP?o?W??S???YS?K???????????$??;????][-?Pżq$5$f??\0>#}R?MGTޟ`?\\4vC?2w?K?w?\nS??9,???,*Ů??8?????^b???K~i\nD?w?????Z?H?????????Z?:/??1?/k?mY?_?{???t]??d???[??n??D?=$?3???>????????x?^p?O??H??&?'z7??H?bk7?#?<>񓕧?;C:????q?N.?.ͤ^`?D?Z5?p^O?N!Ҿ??8??????y???o?Y2ߒ??L?g?;r??Q??Ϲ???v????~3?????$?aQ?n{????<Qœ+?v?&E??fu@?p?)2??lV?Jyc????n5??r???/?#e?:V?i\"?ډpz^ߦ?J???C??7???HG????%???Ǘ??n?&?Q3ĕC?)?)ү\ZTO?&?>??6?>?~??Ç?????7mF?O?oJ?>y??O?y??ؿ??c?zqr;&??]??4?X\\?}??}:??{???\"?l8??ʭ?y?_A<??tp???i/%?0????o???????~????t????a??1????h????,?????[ࡻ???[/??L?;??|?0;?YY??|?b???????]{??????=???WF?o;\Z???7?????a?d_???q??뀺??l^???ބ?a.?п??<???Bߏh?\\?^ߎ.?e????;?п???o?=????p??????eh?9!~(???w??yN:O/?????????){?7??_?6t\0~`????\\??ntr;B?ϓ?R?????߻?Çy/7????????}?l?j}???\r?G?-???v???[?????P???o?a??f??8?{?>????a??t???x???[??wD??ӡ??}??????@?o??I??:z???;?>?zk??X?zv????	????Cpn??????4H??N5?JV?2vAՌ??n???X̊]?J?k&?9Z0???[U?)?d4??^gc?Չ:\\??g\r??0??r?%~??&?9??]z??n??,,?[?n%u??F?C??Y]?w??K??V tz?"?vO??v??:-?u??qk??w(foq??[???Mj??Sm[o)t?p?l%mN?????d?iP????g#aa?\'o.Y??!??A#ȑǴ?????3?ڰ縤$/D?dC{?*??~???e%K??3?Z????ﻍ??????u?'?s??????6?\'??5?Ч<[??D?9?8a?a?֟????mzw???}????7\Z???|???n??Lz?z?n???2;?n??4_???N?????ܿ?5CO?????y???>Νf_??_lL?|??OP?YA?????Q8K<s\r?-?{?m/????o{?VȔ??|,?(?z???R\\?ߤ?{??ON?<?X????*m??||HnώVY G????e?3F????G\rf?\"cA?P>h?????A??u?\"?-^????9??O??$???M?럥}????OtIO+tqP?@?\ج$?{jټ??t:=/??M?s???6??"?.?p??q2z2???D???S??sr.%}?opٻ??%`????N_??*fM+??}r?v[?靠???/s???5I??1??}	????qY?2]?a潺?=V?n??Y??j?i|?]\"?J?	H?'???ﰎܥ?N?z??\\7վ????t?n???ǽ?4? ]?N=???????ݻ?`Χ?~??h߯?????NQ??]???+???۰?zxm[?o?y??m?5˟?GZAc??j?>\n?)??????n??M??ϲ|?5??~~??_Wy㾵?ݦ}?????j???>{????Dw@?}C?2???????oA?F?]?x?)o??a?ݥ	<????To??????!G?)?`_??????:???W9?????PyR?3S~Y??ZP??\'?????݆????\0?#?1??\'37????^?Y?z??\0??E???y\Zg?Я9\0??2p?2?rڔ_.b}/????{??????\n??????\n??????`?????VY?m????`??\r?h2???+@?b?x?~~??+???gY܂??M?>?%?7??3?&p?{????W_?(??}^	???k??(??k3??oP?ys?Ö?}??u=??-_?????ߪ?5????%k?/?e???c?u<G\'?G?????P|?????d_???é֙U?(???_D1?????uE???2??^????\rp??f?????g/??g??n\'???????l????/?O?%?2X&8ջ]???m?5K????m????ד܎?>l?:h?s?'P??\\?Db??W;?????z?g???????%TF`???6?AGy???????>?9?l?-??W{{?\0??:<fx\Z??\'??q?ٻ???K<?ߪ䷿???????q?-?p[???1#?????WvJ?ɿ?? ʴ>}b7i??eEH|??N?&?k?i?j<?X??:?4??\nC?|??\n?	_J??,_?i?Z?Z?B??{ ?1??&??՛?vn_<kHY^?Rʗ??׏?}P?;A|?9??9?ǜ?(\ZE????ۗ?ey???o????v??? ߯\0*K?6??y?>i??[??%??r??R\Z4^??`??????$?rߪ?+???????ߺ????/??{N??ſǰU?%u?????(?\r\"PtPV?<??(?\r?\r????m?Q˚N???????_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:4250852ed2349a0d4d0fc6509a3e7d4c','}?\n?@?O?bCL?Sb2???2?RĻ+?????u??E???F]sJ?ϑ??P(]?1??l??~?d?????_????n??,??F?MgL??(???F??3??\"??{?????þ7\'??tAm??=?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:7af41bc5e80b74436615949e2d266687','\r?? \0????M??"?1aՍ(\r?iLӿ???A*	???7\'??O???m(n??,?\nᬛQ,x?`LE???Kq??HC?????6\Z?1?cG%???RO?eөk_k?[#?*?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:8460fe023bd7a617e69f8da6147c2fcc','?W??}?????L?0!?n??d?mk?-?$?.?}[?\r?2???+Z????^??Y~?9hMSІF?????\CLL<??[	???#???UL\n????ϓ2??!5?;????n?{)3[a?$??=?~??Lm?L?hy&NѼQ^:?$R??YV?????????.*ʌ?"????Ni<-B?̜{?}q??R^?4x?p	????C?xΨh?Y?-:?!????iPu\"??	#)b??6D?????)???/|?e???r??,???h?/?;D?8iͺg\0???9\\?k??? ??HV?xɡ0??X?4???·?n??e10??? ??L??i????\n~r??6ʞ&?n?{??^?bd?e?x?8?\U,S?1?u}?&e?K@b?|??Z\n???W?1????xy??|?"????:F\Z\'???I?????ac?\0??sLG?G?g???15?n??\0\n???\r?Pԩ??l???T?.???.Э???|???HjBھ?Ep?҇?R??pA??)???b?8\0??um֏?????B?\??~??P]??????J)?&?s??={?k??????Q%F?b?/٢???/?kH???/????@??~??@??Z?\"S?M?3????/?6?\??HΝ}oe????)h>:??Rla?HuN?͝???\\s?V?JD;?@$O>??????K??\Z?Y?(+3(???j??f??<????\"?l?????	\\¡??????????-?^?eS??&??CQս??ۮ=f??????$j??S???????K?KO?u??}?nr??gA?!<`??%?~8???R???F??ޓ?F????k?N?`????/??݀?D?1? ?}?1??d?-??c??^Y̭?Hk[,&??˕Sò?i8??\n??2????<?M??d??5l^?4??.q2????(??????^{???Fm?O^??\ro??gx	??m?\Z??P;?c??????׫????<??????????G?ˀ?$?3???sz<ҷ???b?9g????????i???u??b??????????	c????\0','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:8b08bdc91c52a9ffba396dccfb5b473c','???n???E?)@)m?0(q?6???8he?w_{????????l???`?Ywhhz?:U?ATo????S?]5?J?*?0\rފ\r\0?FõKt?V\r???2???%?/?5??;??1?8????~{Xk??W?????}??rQ??:a?????GqŻ???????	??J?K?????w	??js????????w?eN???Z??,'2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:a2401e4d2a708f1d4cdf1dc3feaaf68f','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȩ쪞??VVeJ?w???O?v?Ƞ???+0\rW?ŉf?5???'?4?z??/k\r?o?yȞ\rS?-s????Y?_G?a&_???kԾh???;?v???e\r?o?fnhE??\0?r\r?h???ie_[fP????GY_???/?iY?N???????M?M-9??????>??V????fPCj?????a??f?v??n??????+?z???>???\"?0?R???\r?E;?Z^)??`}!?˷?2競ˢs?Y???A&???D?K@/?^?p??z??j?????L?{???勺\'?????7?? &???N?????G???ŐW??tU?rسcB?-h??\\???\nG????ƾv,e?$?l????^0??{??\0EF?Q˴?o?$%&??,9????|6?	^?g?d????????p?}?W?#?^¨PIO\0_6? ??j??9Q\\\\0vA?p??G??O/@?e??Ñ?A?E??ג??g?????W?Η?>X??|??5s?:???u?+?\0b?f?a?????\"??t3}??ew??m7??6??7=?sv?ͯ?$?x?:?+h+8??????Ƙ?x??zA?E?J????yЕ?j_?}j_?*?F???????֓?r:O??K喗???|???D?.\0oK???????????:?kY?؈?\0????ʓ?⤢1?????i??+^??;?\n???U???l??????A\"???~??:?????|-Nͯ?/????y?`Ϭ???}????}ݻ@????UL????????0ژI??/??W???݆x??/_4?^;7??[?~?iY??????j???~|??h????c????????W??H??u????s?ڦ?\n???=XӞ????J7?eW\\???b?tC??C??re+?e??g?\0???"?T???jK\\??5?_ [?xҼ1???bk?o&?t?~(???+??KI???:=?a?\0???K~ȹ??<]?w???????U?(:~???	?\r????ܙ+??9???Լg???`+?????Ϸ???|???3u?U^????ptg??p-??~dFq???.?_???"?i0??j#]?,?oO????????? Dy??\Z??B?W\Z?|?(?-^V)???Z|{?5???ŷ?u???TY?_%_??w???Z?U???-??>??eoGr?T ?\'W?????5?^?-??????Rv??B????\\r???a~??k??vN??^?ea??rcht?<??%1?&?:?8v5?]??ooC????*????X??h_`[\0?^????????+a\rR+??3+????\Zb??u֛?܍?&?????XB?r?a~?s???{?V{N??>??;Y??d~????2n??A????tu?r?v??0\0y??z?X?q?A\n????????zq?QQxs11S?????fX?C?_??.?>?v????(?).ܾ??^\'O??D?\0??ؽ?˯?`??:,]T}?\01???? Z?R??U?wA??m???A\rKw\rv?i???@?B?????h_?v??K?e?E??? ?R:.z???????A`??b%??8???5ҿ?,\Z@?\?j???p??9;O???/P?MF?/???Ծ?8׊??KE?Z?vO\0???????5?Ϥ?#??????I?3Ma.?b\\?+:&Z/???-L?a?R}:??V	ȯ2\r?Lފ?????W??U?-?|и???QsZ_????0??Z?MhO\\4???~??z??/,Ga?=ȷ??u7?^\r??z?;??|N?s???P{P\n??z*~\\?;_?~?F+s\0??????=??ʞc-K? =?K??ߚܹ\\eC?+\nw?????Ы??gt????=Ӣ?w?+?❛%??????̊W#(??M??|???;??o4??T????7K??z????\\r?r???Qb?V???y?g^=??Y?򡃒fE8?^#???????`?к?\0͏g???T???~MW?3??|???????*????~g?g?\'~????nn??x????י?W??ԠL???؛?k??Y<?܉?(??\r??<߀?????޻?p?z???t??Y?????????rx?kk@?Ί?"?k?Y??;M{,?y????xJ???I?x?~8|?y?|?]?a??z{=??sz?}??t.n????*??zv?j????V?=?jb???\0X?5????????^?{v??\'??Ñ^A)g\\???\'??v?<???	????r??׮???!?\0??r??|??ūy?Kv?Z?TH?B?lA????@?%???C?4?w%n???zV??W\0?\'3?p?Tn??\"<??2\"-??\n%???\'???????Ϲ?p\\O?=?\0????:?Ҁ<?O?\0Xt?޺X?\KB??s7s????????6??u??1??!-?Kc???7?q??B?\\?s???ua\"?2p??Qh??u???c?<?????K???u?=??>??W?vY?|<X/??Xf???????e??D?H\0?????;?r??AE-*?C?6??ÿ[??;??p#??FN6?I?k洸ޖ???[?7&6?2\Z???8??U??ȈN???&Óe?u??3o1\rDq??????ْg?j?????Qc<v$~?9E\r?]????穥?????t??d2??x???$Is?=???f?/(?ᰍ??0??uo??(????R?d)7???\\?Q???c??B??gw?AgR?\\]?k????y??Z=?n?UWa??gk-?c?z<?I????0Y\'?V?^g?-LcqfY_63?t{?6????Be?Ǜts?6??'+7??\\$????\0?аCb????B?????]?Y[?i?z??F3?ٷXۜ,???/???^??w?K?}??}??R}ߟ??????3?????H??[?\'ig#????zD?~X???9M?5?:k?I???ݟ?!?FV}(???????i??f?q?wc??a2?$x/????E?t+B???????7????v%.??V?n7?r?Hz?Q???ס???̣Ēe???RDjEdF@?bS??]?R?Y????;C{?hgD??&??hI#??m@???B?\r(q?z}?C???f?i>7[S???????΁????mv?DI!????ݮ??/0?0?Q??????o????}r??:?rgĪ????w?jl-??????!5???\"^ҝ??i?ꚘW?s>@c?i?.iQ?ƀ:?V?oh&	pB^???Ј\\??Àf??;3????*딮?4??f?????G?CR?e??,????Gi?@w???z?D?s?e???洪8*~??+?*?p?^z\'L?]?U???Z?`???e?,??_?a?k??\n?q???߈UF<?f??????A???u?_?????-kq?)W?mW?????\0\'h??|??,v??=K\0???Y??X??©Yp??k/S(??????x??????#????*o?5Tu_h????th??xk?T???t???f?b&?v???Ȼn?8??_?K?:?1?p\\??"C_??y???4????{?9?LG?O???w????$??a:????T??/?i?J?3?8????????B???	b\\????)??.\n?$???????F,?_?ҏ??????????)?j?3??{?????\"?w???????oI???Hz(?%?~?w?????g_m?wKW??ߍ??/??p?t???]\'????U?n??;???.?|?ѣ????x?0o??>ýF?\"?\n?????q?K???W???:-?{?_?h?[WY?Nł??^?d?*H??nuT?A??Ty??????K\"MF|fL??a660l?4`MX3?H?????l?-???2?z???shK?U>İA (=?ER??vr,????????y??\rƶ??1??9?v?\r??%?#`2?(?yX16???s߉?D[?QC???	i%????7?Q.*??q?u???? ?A??w??????Y?JG?pz?I\n?tFλ???-:]????????|j?p,iL!\r???=j?0n??k??????\?k۵»|?ݥ?0?he?T?.??z`?c??s.C????AԘ`4?\"?pl+K1V??M?o#9???fDjD?Ӫ1k??X??-y??4?U??D????>W???2?gL???9*?K????B???{,pf~f?hOIW)??\Z??\0?{??*?	L??Z6??b??Bl???0c?V?0??2????`u~??B???׷?9?;w?\"o??j?0????[F=m>G;?ߋ??<y???q?Zn?R?us?????a0???\r?????k:??f;3?|λ?q/\'?1?E??c?N;;mlF???wqڃ8U??z???\6ŝE???eU????)???Nl:`?????\"???pqa?k?\"??i?'uZ??a?????-?ʑ|??TZ?(?x?\n??aDXS???GD?T?D?4Q?I?8???0??c?9????v?|??G?r?????IZ? ??.g?fp?V?N?T??.?Gy?Xl??JpT.&b+????M\"??יz??????3???f?`\r?V?殫:^J???y!I???'n1|?KG*?~?=??<S?p???\Z?8-F?Q???1z?N??o%m???i?8d? ???1?8+?f?F?ZQ???3??0?U?m???\8???Ì?\r??\'?YN1??C?$O8D?r?h.L4fK?j?u础v[2??+9?H??y5?Ӣ<a?\r??Uf?,.???,?3ֱ,ݎ69A7?=???p??2y??c?????zA?;1<??%?n?JG???2?>;\0?^?7ۓ?ǲ6???D?o?n?\'#\'????\\Dn?a?gz<#y?????L?Ö?fת$K?9?s??!???l?b?\Z3G0_??(W?????빌??CZ?F!??Y??K;\'???h?0???顸??vZr&oѝ???x????????,????=o1\'qV????y???L1C?ѝ&<??+^S?d??:?????ބ?\Z???\'C*?4A:?s(?y<D騴|6??MO??@k???Ц\\k?6???<???)? ?8???d??s??}?jt?%E4??t?;????<O\"???vӝ?f?7?????/xb`)????J?????ӱb^,L?[?r\"?????i+G?ۍG?\\b??m\Z??\3??mK?=?鐍V?ɖ??F????Ė*???0K?%?9??&????(j?+?>?+As?p????@?b????|??????\?K??????r???:????:?FXov??<???f???5)b??f?r?????d?????\r	~?ϳ?f?Z?9b?$9dǺ?@nX?6??[*?2????w?k?m?????????0<?????1????????%????)??uI????,??0L<?\?Ȧ??\\6?\\ܲ??@?(Ƴ???ґ?>wG^???????>r?얯`?s??>?Ŵ?3??:L?>???e???.?\'z6=???m??X+??jL)?3?1??)?m???\r??n????M???\\??p?\Z?993\n????q?Yy??9?[???Ą??M????\n?X6??a;D$??p????;\r?????M???H??닡+??\r??ܢS$%OYG?|??1>???M?4?\r4I;??-?!l??GG?#}??K?t??]wŋ????=??CQ{?O1D0xJ]-pN??Ĵ???6l?????`l???1<!t???[C~e?=?ra?K??͵?d?q??|2?F?<^??????Fq4w?%??ѐw?@8|:?\'???u]\0qt\'?????D?Hn?n???Hg\ZqXG?9??FZ???m??V?.?f?????#?{????DR??f?6s|a??????{?s???)_??a????Q;]?\\?????pF]?	?;??"?>?>?]??K?4?>???ᰤ???y??K?Xh.>?lud\"\"??K7NKy+V?I`????j\'?w׾???w:?#??W<????&ls? b?v??g]9????$???6?H?ߧK`?+iBf?????N???*???쓝9\\\0?35ꛥ??0?zc:????????{?W???5SZ??܏Ǆ.,}*)P*????|?J??qK???)???æ??y?"?O#ْᗊ]???݉[?y{m???Ĩ?? n?5??]|)J\Z?L3??	?9?????????c=??-??cS??j?7??t?X>????^?:u>A?/Ю???C%???????r??\"??d??^?8?u|?,?6aNS??\Z?OQl???xj˹\"?P? /v??㼚d????۷?I?_YQɜ?خu???|E??ࢇJ???0?$???|}[???Sbw???b%E? n?N㲸???폛%???)?M???5|??cK@3???????uY׎?H	?c?ȔL?Ym?????|V?4sq?l??u??PF???Y?r??M???Q?X???t??@n??%f;??\0\0?.?v?zc?C????yJ`z*?????=\n!w????Ƨ??????!Y ?Mjs?r!?+ok9bz?\\8?{?\0DrA?돦?UW)?8?$&?????*??G?????j;??]\nW??Hjy?.???\"?\n????\"??O?\"???8??@┹h?c??\'$.[?1????rт??????V?3?	??jE>%0+D??¢.[???@qr??!춴?gi????rk??R<y?TÑ~1??K?#CK*?/???9t??\0?@??\0?!?l???Ӳ%n??y????M|Y??b֒??\nVA3[??u[<??n??????l84?~\\?W]3܎d?^??????????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????C[q\n^ \\???h??ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V??~?H??	????@dB??؂??`.?\0?`q?c??H?ڃ? ?icr\Z\\?-???h??$?	???e??Y?&+)??T6t??ZRge????T??ez?|??G??_a??67\0?n?c?R?g&Н3?\Ze#?{>F?!???&?????\n-<?Nˌ\Zә??#?a?_?7?8?5????\?{A??F?q^??????tu?&\Z???!?O???\Z?Z?? ?s??P/C9?????LHw?@???Z????{б??t???t&??s?Y\n??V??:?s????n ???A?)???c$G?????L??V?:???:3s&?t?E?TȲ<\\I`???Z???WO??:@Д?t|??@??Θ??\'???i??3Z(?Ʌr?N??RP{?Mq???t	????>?AA??\n?$?`??!q?K@pU???к???????\0???ʐ?P?!?0?r??s?n\r????֠t?.?P????v?n??̀[<???	\'@e?;??t??0?>??^0/?(????cc?\0^ oX?S?\\\0???К\0???@C?U???W\nx??L??1????]????N??L9v??>\nH?6?ܘN??9?`???e??<?nv?x?????H?NjlQ?4?O???%?V,f??v=<߫?/o??~?V??C?????f\"??Mq??v?#?(?`r?l?d?bFw?5?+?	Z??WF??9?竈or8vr????-????v??f{?z\"0\Z??j8(P?@?r???@????\n?\0?\0΁?\Z?$h\r??D???`???^+?O?᠗??j0?0+?͠?(t;r=?=?B?M??J y??)((UU5?T?g??<???Z0t??8????0??E??zbw??x??.=?v??=&????Q2Dr&??1?V??v???g???V???@??|7?????W????ԃ$???D?2ɋ?????b?DB{?????q??!,?w??Ct|?f?nT??qU??m?????S?3?????q?????\0???A??@??????? C??2? ?h?C+(rhX??КAjB\n?\" ?0껀\Z-??T??z??A??c??0u??_?фkQI?0QC?i?6??0-1:???o!?4s׆9M???????iNi9^L?<ld?O?@????G?>???7t???õ/Y??=??"??Z??vB֤3_bX4?zȀ?B??=?d?6?T\Z?A2.?????D?W??H?\r\r\r?@q?2?\r?cH???*?Z0???c`?P@$B9??Ah(??u???=\Z???ƪ?ih?\05.\Z.`?x~6k?^܏??????r~+??o<?a?uB?1????`????J&C/-dz?߶] ?7_???????ڋ?Ǥ?\'L???(e?y????ra??N}?a5nx?????\\`9F.?YkqBT?S???eB0?|????H????????#?qP=??RY1?XO?????<?o?(W:|?j???z?P?ul?q????D1??q@b?š<ClC΀d???8? C??????Z???C?\nO???ne??[9????P?)Р??#nN???%??\\??	??No??ʻ#?$c ? ϳ?Y??+???????<?o	h=<p?<??^?xe???????tyB?=@	?m?TR??G?'???QJ-|??͡\'?\\.ݰs?m?	-*Ф?R۽?u?X??9oc[?o??\r̅?V??o|?C?f?\Zw@o????SX9???BϵUw)E?!ώӖv\Zر3ۥk???8h?3?\n??[^?????uH?"?\\3??\ZLqA?WE?( C??$?d????Ta??vL͐?q4tZ?T{i?C]???W&????Hw??E??t?/??X?	?u???V??????x??/h??????\\? ??l??!5!Hhġކ:?J_C2?U?\Z?LEg㱏??????}M?}o?KVw??9??l?0Ҧ?1??7?c??Ǔ??fӤ?K?&8c?ع?\rt7???\\?l<?3-/??\r?A<\Z?$q))R??@?x3k/(6S?O\n?|j?????Mo?i???$???*???u?<??????v?Q???p???u?o5?z??u?~[?O??~{޳?h??)???k?c3I]-?۸r???D???]?:ܙ?w??7_?i?[~0µښ??=_%?????(?????????vi~s?˃???}??ރ?G7Ͻ?x?i?d??Wy?p??0U?]Y?????3?p??5????????2???????%/????[???<???]?j;Y????V??.[???????>l?n?&̳Y!\n=?M?݄^?L?8.\Z?Y?݂??)<??z?\Zo)QY??RECQ?!??8???*???i???\\??6x?-n??2#??a???h??R???j?\'&?j2??(v?[?uy??j?o?R?????DƲ(??Nu???mFJv?'?quJ4?n?COa_??4#?U??h:?J?r!;s?)M?Gg??!,?????(????Y?&\n?U$?.pr5wbeW3?;??d??\r\'??=??i??Y*xg=??S??+f஦1???@??#k????^?vB\\i.j?????wQ??????7??\ntGvH*???DGS\n?????rD??w\'.?9?%??????r?4?m???[????i??{?e??DZ?h???ד}?%5???r?7t?H?o8\0?N???\reD\'?????F?[??\n?$*T??έfV?i???mYYͯ?Ɓ?8U??????\08\"????Y-Ľ?????+???z\Z?N???K9?|?\"???!o,?j??????@_??x?8&1??l???ѓI?N?4?	Q???^????д4?ri?҉:??I??2>&??\0?D???n<n???nV?<m^?\'2???u?>??/??X??K??\r????N?R??E?1b7P&\0???X??s?уA?ED\rf?8????}E?,?\r??\\??Ж7?<I?xb??0?^S?f????%@??\n??rԞe+0?\n<?<?rs?%?2.?\"#l??H?M???gb\0e?+3?????թ?d???MѮS??\r????w????p,?x??4&?n??????qc?OIwFh}??1I?????Y?Dk???C??'a??\r?^T???^߯??]t???g|L?>ٶ?woy3?5em;D?F??`??x?z(/{l}?YGn?NG?Q0a/?6?f;F͡?????e[m`?[????vX?9k?f3ZT?>?$??dU&%??02펧?JnTD8???FJ??qǥ???Z:?????Z???CId?I,?????r??6;??????????:??y??h????d?F ?b????mCϗ?nn?١ݕ?.,??րޯ?Q>??ҵڕ*\Z????ˍ???;QCX?k?\r)?s???\n?߼??lU??\0??l\"řt?:???y?|?????\??/t8i#75?ئ??$Q???ᣢk?\'????\0pb????1?Ac<??<?-?????b0????	??\n???r}???@S,?ik?"???u?ԓ??!???d?r։??'Yc5Zי?h ??j?????y?\"?!??a?{?ݚϛ>N?o??`	$,????6??)\'\r?5???;???fo???ƲX;Xԉ??[C??{΅??ŪW????g窐??y??%Ca}?K??+???f?.q\nd???G5??(Dz?????+U???_(7uG???\Z?V΁/???j?8?$??*^?i?V?x<L5??@wq1????Z??j/??????z?E??c?KtMw̢D&<BO??K??+?`?#x?\'J??O????%~???>\r???UT???:??O???]=???????ZNuY?;?.-JR=]]???n?o?>]??)?vLh????3????x?D???\'0????,?gԴ??T6??|lCZ?K?n`????Ag?h??r?v??rE<\\??!?y?u????k???xVӳ??*??,??kê??gݮ???n??z????\\\y.N?????k+͏?pb?#?f\"_Cf?m??hxt?@?,?x{???Y?>~???Q\0??>?)??_???{?nM??)?[@?A\'?4ׇ}>WO6???\\?M?8z??t????<??rC\\???p?r?(??ɱ羾%???P?v??>?w??$???1?5????}Ϗ???<??????n>??}9/?0E????n????9?}?P}??\Z?i???RA??\"???z?V?o?\0??Z????L???6???JHR?%?j?r?DQZ?]W???z???\\????-?o???ToE}???_oKp}T?н:??z9?l???????[??yNh???.??n?YKW?y?#/??߽\n????Moo?>9??0E#5?/?0??4=???L{??Tԭ??D???4??????\r??????:o??S9??G?]?8{??\\q?????C ??qX???n?\'?J3y_??I??V????????w?.?X{?~??s\"?,>?RX?j?q̳???0??7????ט,?X????GF? K???{`o?O@?l???J?????\0????????\"N???_?\Z???UQ?ʽ?Ӻ???İ??s0:^|?!?i~VN?_???q?v???U????J??????\053??wϭx^?o????x??????cP?)n?ͪU????g??P? f~|??ӳo??????Ų???|???????x %,??>r?????\Z~=O????f?vEȐ??Z-???*??x??:2??IH??????Z?>GN~??c??\0?K???99?(R????q6+??dz>???\n1Z?%?9?s???\\Fu?\'?89Ĥ;t>-k#???Hd????E/?OO=e\'?M????K?0??\';?	?¼]?.>??T}m~XT??Kb?ќ???_?????\'J?[??a??q?j??_??U?J<ζ?p??Zϥf???&\n.	???{vU\'?n?E???E?G?????iIT,?U??KD%?Q?F??0,?Gd??Ogtn??MM\'?a?|C5z<ѵ?־]?S?\nי??g?ͥ???B!gWG??ɂf? ?@i	~??\"?Ð??U?r[K??T?????Iz?}FH????;ϲ!գ?*????X?'?A?\' R??̖/q??\n5?g??u????Zߦ?n?Wa??H??G???\Z???z?⮌H?????}? `?е?,???\r??\'\n7????N?~k^????0??E\0??R???\50<㪄?O?)??1??/	5uqtP?Q?Ma??o46?1????bk???}?1???C\\??JgSsr??Y;??U??{?????5??-m??????2??>???????0????ͪ??3A??׹?\Z<?҇\'?ę?\'??r.?S??k???=?R#0!O??.!I??A???;??1\\???	??@l?\'???Q?;K??F????n??R?9?<A??;j???9-eE??F?\Z??@Qc???%??G2?????+?9?Zٙ?9t?mw=??Zo???9=?p5s?J_?????\;Z9?X????\"??(?};????W??fig??uZ???6?????????ʜ_u?o?/f????????ug??W;ϳ=?????C??[?Z?????f!T?}?>,?K8Ch¢\"?h?a?$?]?????????հJo5???i?ۀ5?Z~*Wl҈??\"??,T?ˆ????r	?g??\nO?Q9?q^6??ڛK+RBZÐ??E???F7Kܡl?)?4)\r???êU{s}D?B?L?)m|?u?rۜ?o?F.s???F???ݠZ@??Z?P,???r6????u၁??????ߥWG?߭i?҂?_????C??"ӏ\ZL?G???????]<????k?׸????OZ???/?{??be????????=2??t-ڽ??9????ǥ?r?:ok??|?C?o!???;B??y?GNu??,\'?*J_??,??R{O-???ӁR?????????{:?K?G?Rۻ??B?Ϟ??>???????#t?(???y???Kl>???N??n??M??????2?\0????~{?E??xo?3\\???~d{?f?*?\rc/??T?????˕w??[??ś5Mw?쾜?g?B??Lo?U&?e?K??o*ew7?????ɧ?j[?????????Ǯ???峙?.ˑ?K6?X]l??)?_?l???vZ??C??S?????!&\'?;쀶?8?m?u??>o}?c??e9Gq???su\Z????ߟ?~???".???;?\??/?5tӉ?b?\\)?????{.</?|???)i????x???ǹ???N???{?-W?o?\'lY??@???????ŏ?{???uZ?D??k??~?S?oJNKT??M????8??}??s`??>R??ju?O?????\'??f??p}Y??=܁P??*??˂??=/????E?~??S|*F?uZ?2??׫ٯ?;9???bY?t???׭?m][??ךŎz?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J???hlJD???ԇ??}?|?r???{??:????MA?\"?'Y?u[????v?"k??E@k???{y?{)??tsI?P,8???????>2???t?g??wt??H;?W?B????yᩥ7???>w?`\07?US?UP?K??f?ݱ>????r*????<?~??sY]7X?q?q?+??Z???4^$?????er?6???O????C??|S??????J?p?O??U.?B???X	W?EV?#,?2\"a?=?6??U???l?r?i?u??壁?????l??;?٩?Sl	kJ.6j??(?B?y??f?????	,+H>&??3??F?8?AIs??r?X?[Y??A͖???0???$??@?_?^W ծHR?@b???'???_?g!\'???????q?(??7??+????Nj?~?????f??x???_-7l?;?o\\???=9?Ӟ޾~????I޻T?V?:	??9???PdE_?L\"TXf???Y??J??\?{\'y<>???O=\\?\r??????lBr%sv?????4$?F|X??1a?C???9??H?????U????\ZX%?7m5c??6h?`?ڦ?k?D???hE+????߱V?Z???*??zG?Ǐ???i,]??????qq?&p??????/?????+\0?M?/߼}?S=ϙW??ʣ?_߮????E1?ZVeT*????ķ}?j}?c?j?}??\n7|z?J?1????RV?fg???e??\\?%?z?????_wD^??apI?o?%j???Ji????^?k?*???˥???u????<??Z???p?7ŕK?????.????|???5???S~??@cWK??2Xnx?????9?'??䴟?Γ?>9???\n+?:?nέ??x??xi?^?<??\0?2V??iV?????+??????F?n??E???{???{?׺Ӯ?? ?????????S???@??^??o?>\0q??\n>???}?u???6??@6+?,|????{u??r????h?9\n????\"????\ZP?O????=yk?Ղ?<czDaT??O??q???|????????????pW????????`??.??%K?d?rn?t?Ӓ?ay????N????????X??????mU?i?y???*???8??9?\'?/`{>%?N+???ȳ|?3?????p??a??4??A?G~?濔P????|????	ԮN?>\"Pa?޶l?*F?*?/g???ׂ<??}3毭???ў??W,*:??V1w~cEk???߃|Z???|\"?}?z-?«??)???SΚ?r̥?|?G??d?\\a??]%?@?0?j???veh???<?8??8k%ג<?\0-??Y+T???8f??ߛP??_??Z???9??`?	E ??毼????7???e??Q??庵?J???V?ř?)\r[??U??u??k???G??.X??]t?>\\??HYY??q??B\\~<p?W??v????g?À?x???QU?p?d?????"??е?W??]=F?)?\n???/???%??Z???j??/W??)?!??`J??cx?|???e?.*?*?(?fS??7??????GN??????????r??c??.&????J=?S?/0#p????e??\r??? ???|?????eEY????V?^EA?:d?b?\\c?z???G?*߫?S???(U???)?5v+K??㼁?u?4?k????[??I?5畋??͍?נ??Sz4E|?H??d?????)???A????????gܻB?+?r7???h?i/\0cfj????L????v;??Z??wE\0-R(~?7???m????p?FR?Ԥ???C?ފ_??4????U????r?a(\r{??Y?G??&?G[ڏ:B???#7t6????bO?E???YGV@m?b???lCߥfk?j?&?9?????r\0??I??P`^?f?n?	??ӂ?/E?Ņ.`/??????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????OdXi=??????Ob?rs4??????ċDC?q?=د[?u?_{??ش?ͬ?w????.?oys?j??"??0زE??c5>.?؇??????aIy??17κ???????ӡ?YgkMiG?\"zD??j????y??N?d?X\rtc?Ě??????RqA㸸\n??	?????)4?????	L???????z?=D???oJ??U???7?Ng??l\\	7?NVV[E?????i??U?׻R?0?i???z:8ɢ}8?\"???R?A]?|?????81??5]??????o2=?,??????V1?}~?i?R`.??Y??E??Qr?&??v?FӮG?????a??4??k\rv?0GE>I?	?LM?Y8-ͅ?fN??<??5??:??̜ŭ??OU?34?<B??^???<?_Fu?n? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??????????d?????h??'Z	,?9X???????l????D?96??@?,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	?????dI>%?\'Zi??\'6??l??QA?????y?(xHş%Q?\"??p??ŋMkO??\\P??m??тd?ul?r:?]?????ӱ????w?fv[???ֵ?????1B_?p?n????)???٧????(????Ԝ7\\^m???\\k\"?Tg???U:b??H?\'???????0????????6\"}?ub?*???Z??? ??ܠ?f?J???K઼`O\\?\"\'?E??0?x???&??en|i?\"وo??e????n??sh?7?\Z??b?-??^?wA??ʵ?;???=\'????vw??v????-??eu??a?????!?Y?????????[m?\'n??7??/ɊsD?????????????\"9?\"?????;ǰ??7?0g?_?0zR[???r?-?r:?О8??J?ⰳa?U#6?eǰM6:???؉?+S#?X????w?o?;?V??c?vH?=8????M?]~???>ZZ{??zJ?^V??S&?FwL7???t0???.?x^??'???L???9\"\Z?˟\Z{qSo???O??&cz??.??m????݌h?Kn?k4?????????'???;b?ܩ???5?????Ih6??r.jᴆJ?v??q??E6M??V????n?=k??]??ӥCk?m?J?? h?վ^???,??d??t??d];?_M41??H??h?$<?????Ơ?t???????kOZ??\r&ˣ?.?.?4Bk??=#?4?(\\?h?,??5j?y??????|?Dmo???????u?P\Z?? ??&I?>?R?x??Y8???=M\Zs?9ΰ?<????4N????]d???q???\'Zʢ6?b?5t:CO?\"l????M?ݣdJy$r????8??'J??-????????\\?>5?\'?*O???????????L`9??.???i??C?7+?????8?}????:?q8T?UX???_t?????'x?z???R.??붺??Ru??R9???խU??C?Ar?Gx?:?O?RN<I?M({?K?M^???n?	?#C?4?l??|?$??A%???(??Ic?=lNF???z???ݢ?{?c6?\r?u??;???[I??6rp??\rg??????3?\0??Z?lX?C\0m????m\"??????C???9?8?????????0Mxf=????TTF_cr???|=fW?}?y???v?>?zв?a#???5=?f?ۍ\Z?H???u˱???o6???:<?8??kg?z?fz?!j?b???4N?n??????????n???ǵ?u??[???O????I??Z?zꟘH?n=	?{2?|_?F?0/4????_\0:q\n????^#\Z????;?5?????&?uJ6??t?V?82Y/I??N?,F??[];Y?????ݺ?\r@?0M=??Sl????H?????K???L????5<???4??.֧]?&F?k????Ԍ$94??n??^????q??	X??g?t??????z??)???\"j?!έy>^?M}?\Z?,8??q?Z-?f????)9D?h<AM\r큋?8???ZI?L??~?e?|o?\'??M`,?E\'?.F???\'?̯a5??pZ?;???ɨ???m?[ߏo??;߈???a=˷?????d?3?k??{?}??Mg?	s???`o?O#\'???nL?Gs?#?!??w\0?t{??? ? i???D????F{?[w???????p???t??\r0??Y???O:????f???$Da?{=6$%Ix?H?ߟ???ѓ6~?????˽=??vC?N????x?0C?y?;r3?Y??1וP?63)G??a??\r?.??>??.?V>֨?2??B+>??z???V????????r?3???????????\"?2?????S}???RZ0?d\r?9n?B?rGI?ͮڧy<?????3?Xsz?mH??????0-Mv?޴\\^\"?\'3??t\'??W|???ng<\'[???Cc\n??????\r???:??-?Ʉ8?u?i?ѐF??&?.??=4?`???I;?`,,Ձ????f?Ƹݙ??????????????§̪?i?K???{????F?=Py??(?-~?7۠??;	????	?=??Mk?Y??D\\W??????B??K;?????.???O?X????qͩ??<????Z?1&??x?˲ߡ???3.%\r?-??w;f?iGM[i??"?m?}N\\/ED?h!?L????F\'??4?w???W??$}?(}jotu0?ٴў7?7??t1fҜn??)|}???nD?ờ?a٤??1ۉ?(Ҷ??&??N?\\z?:2q?̚$O-??ƾ??ёNd?l$D&?t?O?֒??om???~????|X???????sA5G+???_v???/>?{??n??j?ۋk?]n|????ٰ]???όIߡ?????k?ngO???m\"༥=q=o???d?Z??10?[?????v???2b&?pF??????\0??Sd?Y?&I?????i???@??䬩?????Ii?ӂ????*P?$???V???7?@?G?[m?;~?1???d?H\Z???e?8?j??$???:??t??cB^%???ەø?U[fL???ot??CG?%?\"?????3Z<\n?#?9??!?c??????lR??:?9????\"?2?Iʨ??R`Ž)/?:ƙ???YC\"?->r4????? ?v???????,?4?Z??!??DSg?˘???0?(GdR???mh<?<??GnDK?????:4?{<?????$??,ŕ\"?????\\???M?\r???m??ܞ??X?Q?J??R?????tC?E????C>?mG???1R???Z??(?\"??n?0?Ɩyxh??cWX2????7s??\?ͦ??????A??N??Qso5lg?ȒHv???0?????%8y??{???jK???\09R?%eI??g???`/?rT??T?lL??L】??????b?*i/?h??s~????????\\wl\"Mǔ?ʤm?\0?X???\"lg#F2???\ZЬ٫0M??He?(3??%c?F\r??c6????????????K?????(??\r??9OpG?GOZv????b,?ϊ?(??V???_??t?R??V8?r???1?W9=??\Zy??????.??????Mw̚g??3???{qHx?G??????F?D7!???A??5p??g=M?v?j??;FK?}?itt???-SӬnߪ?g????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:a300a67a7bef72f29fc3262e421595a4','?i??ڶ&???\nk???????? ( 6T???????????&A͵?unDEE?????1?:f??a?????LW?ŉf????f???Z???Q?c?#??Y????(?7\n?(?>d????x_K#?k???\r??mh>??????nh????h?rM???Ͼ??0+(?nh],?,??7Ԫ??e?z????}_ߊ??o??{?n1???w???7?5???t?_?	???Y??VQ?=????L?]??????}}??E?\r~ۥ?%?M;|;??s???ȗ??3??ѹ?,?O?????Y??i?\'???n?Aܳ?>W?6????q?dz?ݷ=s?z?M?Zo??w3{?vV??9?	????vG?????4?r?B?RW???=;d?[???RqA0??>L7?}?p҉K~.?????????r??O?@\"??|?}?/ɉ???$????w???2_\"pf~?	?\\\'t?;?F$=b?Xo??s??n?qq??\r?@?'?=??(|zx???G?$?l۷??\'I*ꮞ???\\\#:???PP??;?\r0?^?h[|?|?r?^?a???E`??+}????r??????l??Ϻ??b??????0?<,???ܒ?G?0?t?ܽ??r??m?,?<???/T??,1????N?_???M???ON?i>9?\'?}???j?7??32??-e?F??<t?P????z?\'????????qRB??f?????)??3?7P????W *?B?l%l+?D?ϓ?A&?\nO??Zf?Gs\"?0gꂆ|=N??˗O???4??,\Z%????'?m?\r?̋?oa?	?L???ϭ2???u\0e?$?X?M_???G?!C\0R`???ڹ??????gY?b??V????????=?A?@!ȟ?@>OO*S}?J??? ɥ?TZ*??][.	???5???'??f}?????VE?٦:V??m?Ah@*??>\0C?cz\0??E?-??Wz?????????@M?4???????\0(?;)?ĭK+?t|v?@??[~ع?/?<U?;F????Z?T???Uu?K?S?_?^܋[\\{?T?x?4?s ??ҽgx?Ylɱ?o??5??9?k?S7?i??&??ѝ]???33?π?u)???*>??K??Xf????5?(?/1g??fZ??=hv	B?o??Sc=j??}Q~X???Ϣ??!????>??c?y??g??????R	~???}k]?گe???x?ն????#??ɝ/Pj??? ?ʱt?^?yi@??????A@????|?d7L]???k~V??\'?S.YX?s?\Z?(O?Z?n?o???cW?\\R޿????? ????Y??A_`[\0??}??#??V)?AjE?s??7_????θY?no+7?\0^?o^??( ??nc?^{\0n?e??Z?8???ȏ?;Y~?d~???|7?5kP???U???[?\0?<??V+?+n?O???n?????O?-?????Z?W?o??7ú?????ܺ??qS?Z??Z??q;\r}?L?t#??\0b?=`?{	????3?\\Tc?\05|s,??,???x`?DU??D?vAn??})???[߿?\0`??`)?4?N?z?|\n\r?ˎ?????*?,??#\n`?????0?(Y??`???;?J?m?Eh?k?opj?nݹ7g??S?????`??G?]??Y??U?O??(??xD\08?i?\0Tp>/?Ϭ?#??????N?+M?@ɸ??,a<\\l?^????-L?i??????Z) ??4?W??ת?|U?Z??-l|??O\n??c>k???\r?^??'k]z??????a叛?G?L8?r&>?r??_?яrF?{??9Ε#?C\r?I???qq?w??q?F+s???%????F??g	p`@K???lï\"w.ש ???>Ƭ???Vei?Qgr????yQ،;??????V??B?VFp\n{1??\"???-W;????n D??*zx?%??J???????	7܁R扊?E϶?ˋ=3?R;??{???4+©?nR?=?????Ŋ?\0??(~8Ӧ?????|??q?@w])????|?\\?w????????;??6~???=???-B?T??????4??ŅP?h/vV??a5??\'qeP??>Y\Z???O?w???\0??˾	??^??r??R??`^????Հ??????[?R\r~9?=?v????-?????? ??Ҳ?B?C֟o^^????i?z???v©????Ӫ??^?t.n??^??֟?=;???????@O??0?L`\0??????b?l??{i`????\0??/?????VNo\\>??_?m??|P(?????;\\????.?a?0D???n\'??t~.^?/٦??` ?Tl?i??R??@?%??P? \0ͻ??n??\\=?oߡ?\Z:??¥???c?P?+???x5U????R?Z??c??s\r?+?=?&???3Lu?\'?Z}??ͮ@G?⭋U?$??????G??7?$?Z[o\0^Wc x???`L?????7???5?<?`?H??.\\??|c??=?i?痏?????\0?\\?3??ex ?{:??w????@?x?_@YY??W^????z???\Z??"\0@??7??1?s??jQQZ???O ??C???7??ʈ???+>??ݚ?27Q??{#r??~?F??iF????DE?W+???O?EB?tk4L???????L4??&Z???6s8?ȩ:\'?(!>?Y?Ù??ְ???W???1?~?$??%z?!???????ζ%??????̜??>?Ĝ?	S?7r???A??m?l????Ж??X?eZ??Hϲ._י??u??m???Ɏ?c???x?)??C?Y3?4ݨ??&qq?YW?2??;?>??a_???#?@ǭ?a3]???Wq?΄??`LB?Vm4\"?퐜g????R???_???x???\r??bmk?@z?|?v?#?0?ٶvM_?7??ض?ֶ!??.!???O??r????D?ܺ=N?k??au????^?4?8]?u?8K?xDl?q???h????@\"8\"uI?õ_{??M?????j??_??|?<????a???z?]?r?X?4n(kƕ?\\ޭ\ZL??Z^M??%d??(?$?r????[?\"?\"2	#?_??WޮB-q?,~{}?[S1?hkF??kXpU?O^S?r?hq??0??j\\?/qh??b???b{C? tӾ?????m%????_?v??/_???6J/dW?0?????x?????;#V~k?~i??aQ?y\0???L?ː?Z???e?A??5+M???Uy9?2???eY?ap\0G??V?\0\'?Z?h?(?ȥ??yЌ??3?W:?6 ???O?j??u5??.??~??\\?,\r?ZP?KB*?e??ݕfU?z\"?=se~???e\Z?_\r???\n\"?/}??{??yNA???????ժ?s-o?*o	??Wj????>v??ŬS?(va?j???U??????0??0?\"????r?|Z9?yk??L????\0\'h??$?\\e;??%?e?m??*?|V?\\??f?????&P?0????????ү*???6??O!??hrSA?[=?D|{*}?/?????xX?|??m???^m-?W?o?.\r&?X??*]9??K?m???;?t??fi?Y?????r}?:?A?p*????K?wvq??}?E??M?????@?&?????!?Ja5?(T????=?񴭸\ZJ??????}?m~oi??)?:?A?/?^q??l?????X??????{?|???Ih??u?????????6?????YM???/Hz?p?????U????e??????ݵ?^-??a#ѯ?=\Zo???x?_???ݢ͛??>?[%??[W?????W??K??u%???ߦ????????(64T?Xu?vAB??:p??bZi?\'Ȼ???????,?Ɉ?Q?????????4a?G\n?u,?7z?^`??ͦ?2?x?᡻#???h/}?+???)#RҔ`???\r?8?NL???S???ٷ?,v??~??I[}?n?9?%?#?Y,??p?n?V??Nl%bㆎ????O#?%%MVS7?n??\\T???s\r?i{݁ IS??????6????f?K\n??֔???"?u[tڄ?[m$\r$?h?M??j??P&⸎?b?G??5???1g?)?????b}?Tx??6?\\\nf@?X6?|Ou??";?{vuhtw????9w??~0L?i8???n1????L4??F??Mm?!????B???FB??y??~?FZ?S&$???;=?x??1?E???g?yKV?3?fۥ҄>l???????E?<?(B?Y&B???B0Zd????x%5??\Z?r-´?`???p<#?$zu7k?GN״ZG??7??=??ٺ??ys׏T+?mt>??A?g?V3?;?G[?\'o??'?V?+{l?6:???~??A0????mt?r?????6u?-Q?????v}??A̺|Oѧ|?oO[?v\\??\0???i?????#3g????i,?BtPu?[?dL?G?4??/???T?t	aK?"?nc??????c?????-ɖ?>?V*???D?\n??@ZaD?&$=#R????????G[D????'??j?8/???p?$?a??<??;k\r?M??????u9???Cg?e\\:	R????????:?$GG?,b	>b?]???z?_ϛ]??]h;C.???i?s֔EA?m?RZ?%@ǕG?R?????N??q?n?3C???j????%L?F4???a?MZ??ldSs????rfkʈa?*[Mq:҆?Ҍ???Sm\"???ذH???(=???G? o?e?bf6??#?SL%?œ????	c???x=?T?ڳPh?1??𷚜o$??wD^\r??YgMp{^ˬٖ%?y?v???aG?P??C.Z?????z?:???MOif	o?6?H61xO?F???????O??6?????@?}*r?U?b??{?	\"7?ֳ<?/y?????\\???f??$K??s??)???@U?i#?S?@p??b ??IK???\\n\rf{?C?E ÐC??"F-׌???@b< ???Dy-B?\\9??ɛ?ڎ5???.<?,????o>?Vd??Ҥx?Mgx?⦸???????i??6???Ԗǆ??o?\0?x?և??=CR\r?\??=?tx?|6?-?O???\05????Д???ʳ?J??Bo{??|????f.??Hՙ???h1(?4?	???P?<K\"??\'6??`? Poa?A?l?O???????????:h:RL???	?☮????n?h&?k?>R7k??ə8??????$8??n?ۖr{???i?ɖ???6??1??/T?۲f@V?,??!X?\Z?8~??ec????1?)?L8????@?b???|?Ȝ?ȟ????6e?????>???JFĦNwP0?\'????Vr^??,d(Mj??k\\/`?H??? ?~+j?*??!!ِ????S?W\"?[֕j?"??^]S?_QZ*???m?r??\Za/?????7?w?????H??+؆?iQ?;.??N??L?8?????'s???C?ΗC???Sq?&?=m??1????\"M??????K??????o?l?o8?v?ph?ș?x????TO??nQA\r???K??#3??&??y?Ŕ?撛??\'????I??r?w???L?????a?Z:?C???ܻ?ή?Nϊe??7N?+q[?F2F?6|dO?^L???1???	?eS]N?}A??h?????d??C????\C?T!????v????bR$??YSi|s?\0?1:??d,?\"???ح#?)?c4??3<???W???P6?h??]??A?3fd???wOqD???&??S????~??\0uc}1$?ٷ%\n??0?p#O?|	??̌7?a?\?;?{9AF?얔?\'?0?Gڰ?o%|?*??G3?\ \\?x?#&{̛??? mvR)??%????Q_?q?r&?7eb??Χ????o6???a?? ????????{9^2??\ZK?^?b?RhN?`Q|??=?-??xS%vR>W??x3?z???1B??nǌ9?.0??\0e??\\??Â6?ƂK	:Μ???pV??M2Ruq֤??? ?Li[Z???}?????COc???9^?6?Y{??"???f?a???'B?=Y?Ҷv	\"????g{?1???????^bh}?.?	;jҘ?Iѣf???tk??????\ZG>՜??0?9?p?v[f}?P7+?ވɹ??3_k?_ˏ??9ꆫD?ך??3J?#?>?$Bq(F]>?Ac3?f)?Q?a_????c9r?c?4?$[??b?v??[q?)o/W6b 1?ĭS?h?;???S?[9?r8?0g!?eд[S?G??????R????T?G?>?]??v?X?????:? \n?׉??ޤ?M?X?j?tM?HY?H2uq)????1F???????MZ??32L2h݉-??)Ӂ???Gyy???????e#Di??W7[!0?rA???M???0?$?Ox???e???\\?ۆ?>;)?\r????|Jnr??Ts?lWs?????????X?Y<??ƀ??TX?u??鐒?꾎???#??8?r???G?M}Ԝ??km?!?1N??g????U???>??h??\0\r7??e??@????M{?l;??u?C?虎??;??py*]\r??{B?$?!팎?	?.f?b?*7u??????$??????????(?N???\"\"??a??\\??Ԃ?8?UR3(G??Ɓ#z3?m?P??S?0YG#???ک??J??]?]?????nsU?ښ7??@???W?![?1??_T??~?i?5?	V?d??????l|r??#$(m?B???`???r??R<y?\?????q1?NH?#CK*C,\0???5p??\0?@??\0?!?l?tw??{??????B?\"??Ns>?O?????-?h?꫰??j?ehq?\??3C?m??h??;y:??J???<?????`?O	)?Cy??	?#XV?9{4?N/Y?????m?+?d?g??????\'??j\0?A?g4?yw6???	???Ӭ????v S??ps؎Ŗ?q(˗\Z?js?fVg\Z&ú)v?>rgix?F?m?C??y+?p\0@??цw!/Y?\0 /\r?!??;??p?c?	-B??e\n????2l??w???6?????\n??|?<??,I;??sfo|?q&j?g<ֵ??#^???%?+??e??B?%?9/?????]?HU?Tt?9n?H?㺆D?? _>b?4?K3?DbmJ6#44?9͜k????;5œ?=??)q?G?U???F?tآR?#?m?@????3???(\r??I???K|?n????ӄ?B??]????P/?`o?[\0X0?؂e7o?????????ػ?5G{?㵮I\n???u??^?+)??P?ڏ0?????9q{4?{j???y?????S???????@dʱ?!0?3??m?u?8?|??B?Ώp]`???D??T:.2n`N???Ik?ڄq̫B?!|?o???Mg*??i?P:?x?nO?r?`u??&?x?׀א??^?p??????8\rTt0zq???C?	??\0ε??#,cu:?&??=>??Ie\n??????4t?????{l3?	?s\\??h?:?????`?~?2??8&???:Sk*??Q?j]??$????f?\r????CEj(`hQi??@??ϸ??X????+?+????????)-{?,q??I??rS???GP???B\'	,??2?Wؽ?ֵ5?x?????t?	?T?!?bC??rA|\n??[b??p\0?\0?u?ݠ?\rTz?8\0h?Wa???#Z}p˂/?e(h[????t??>??Y??,?-??\0??-?????nd?*?Q`m?,L ?\0yX?5R????U?N?+2?Ҁ???ʘ??lcG#jt??+???r?솏J<??u?<7???%? ?`g3y?pO??)g?8i?"\"2?????zu?	K????&????:v=\"ߩ?\'?ۓ)?ǵcd[!e!???,??M??~?C?h?????x???K?4?\nz??5\Z\'	?E?L?x?#??[?H?5???`Pz,?\r??h?D8?M?w2>v_??@??W~?????	 	ZC\0?D8ج?Q??\n???\\`?f?`x???v?c5??aCP??+t??B??d??J??ZU?a?o???\n?Q?#?q??s?i\n???8??M???Z<n?^??????QQ???(?\"5??\Z-,E???ĩ?W?)??U??@$???>?ma6E????\?????q?J??R??D?\n?\"????(|͈$??I??M/????)??֪??*LqFR?????W?:??I???\Z??m\Z	?R?$=??w?\n9	$@?N\'?=d?o ?@?0?n??W?:?h?7!??D?Pd\0?]?\r?????c?%?p???eP????rۍ?F\'?	????KYG???????????]??яҶ?ח\ZjM9?Of?2دe?M?@???????|dgLo?}??K_8? ?U?iy?1&lE??9?.???,)g?????֤Đ;?թ.c???q??Br???:=??:\r\r\r\\???nu\Z?ǐ??T\0?`=`????@\"B=???h???u???=\Z(4??ƪ?h?\07.\Z.`???\nl?????#B??V?????o?\"?r??????nSK?/-tz7?\\??;???i?.???Sd???O:??u?uzM??Y?Y?Yb?=k.??S??͏?\n0?+?&k???p?8\"A?????7?8J???9?H?ʊ	?zl?|???F?????\\??\0??\'	upǆ??*?(@???r???C???\r%?????8d?^?^?Z.<@р?!?;=??/r????4-?|?^??F\0??4???:??w?.??#/;(???»C??b????m?8?O(??Z! ?q????{?$ox=?}yy?\0?p>???????"y??iZP)?k??b7=1?Z???tElPAN??Zx?隝??YS??3?EHZ?M ?݋r\\HW?E?????%?x?>????r?W??!@3R?;??\0c(j?\\SXk\n?#?:???)?xv?b???gG??.?Mv?ۣ\0????mYK????eH?"????F.?'???Z?i\Z??|J??ۤ:	QL??*?????iL??????T????f??mD?I?Tr$??MF?b?5F?O\n?5?????x\r⏰???]0{?q??4??fC??܄MB#qbv?!???ZN????a??0<???0v6?`?S?Ё?`1?Q9?1\\???9?A$?^/?I??}???b?_?\0???i??Q?!?4Ys\n?V^E?[??6?ĥ?`?Om????@?=m?6S?G\n?lb???.?Fϑ?6?&??3??4>???^?8?v9?????-???si????z??Wz???ʵ?뉾???!??????:???û???^\Z1????.]?2??*??6????d?K+?u߽k?|???|???????qC?????/?Af?K????l?˝????7?\Z?4m?Y?x??&?\Z?2?J?xwJa???i?????f?l??]~Q<??+????x?R}z??MyY?.???y????#I??????K	??f??]?C[մE???8?|xި?\0ۣ????U؂?t??nB??&v\0?q?Ġ\'sq@\n??^?@?%*+sIj?Z?(????[K????,--?????W?????L?rI??h\n?o?V\n??mD???^?????E??oS _C????????~i???\Z?d<???<???Ɏ??h?_1?e(??ؕ#?zh?????c????????F?1?\Z}f?cS?????۱2?;]???????Ai3\'V?????? [?f?;>6??n[}4_Φ?!??~k??????Mbx?i????AP?\?D?\"?4?w?@??XZ?໨4?L?5n?kz+L??C????ax??\r??Z?\"??c?Z??|???xZ??N\Zo??????\\ڃ?;?bw?????\l?:?n????\'?&t8?Yo?8O[?\r?&????`?????@F*?r??0??a\04Q??z\'?9chVЧ???h\rY??1?q?N4UZ????hD??Ӂ?kJO???skm\nx?n.;p?e?u?NfP?9??򉊴\'\r.?????%&?????i?_0?|?Y<8?(x?\"P?ZԢ	??I??JGy?ʤ?JyA??.??ai\"??KGz/Ӌ?L??4??%%\nC?????,f???~?????o??}?_???X?+?!?e???A?zT????,bĮ?N\0ZӨX????A/c\"???[?_g???J=??Lj˞А?^<J?xd?؀?*{SBB4bDK{i?Ou??zԘf\ZC?=?d?	??=L?dB?ľ??\Z\"͢2??C???[???{c ??Yg?|wիuQ?Y???\r??Z?`?o????X??k??:޵????#??z??c??Q?????۴?U#kX/?q5CM?=?:v;??c\r??9?w?D>???g?ͬ????K6X?io?ro????M?[m3???s???^??=?>Z/C7\nX??????*D?V#nY3???|???e}?0????5???LQm:eDE?c?*AAbN?;?ʔ?8?AoL??Xɵ?Gv/??P??\"??????b???'?#Kڡ%*o????9m6\\6;?~?m8?Ƚ???di{YZ???\\?a1??7? ??TW???\Z?M???whW1??%??	?5??ޫ??|???j??h\0????P?}?Ζi?ͪφ罹qz?(7?C???P??u??E?3??2??ֹ?????~7?r.ƟLhN?nr??b?????9%]???$\\? ????_{?m/x???z??+?????7??????o\n????Fo1QR,z???Q|?K???Zד?U<????g??Wm????Þ0L_??????{??8???S?I?????????7ř	??{?a}?h8҄???L?????ۧ#??<??e?0????_\rp?gf?-?-V\r?jE??Gr???ך}C_??2????m\\E?9?ja??P?KI?9???\"???r??r:?B?????P?0s??????"?L?*???0???????[2A?S[?x?D??>?"?!??n8V?\"?\0a??y?ֺr&?)o]?F??2????+V\0??q?o7q??(:?&????𻵋x?R???˧?<??9_????픷UÎK?\"%??L?t?n??S?????cB?0?S?^?\|???n???/ڼ۠?Y+D2)????T=;??t??X9UB????y?=???H??l???\Z?7ڽ6??p??PzA>+????0??<?W?#.??P?i??=???_?vz??u?0???O?~e8?????\\d??&?q???\0?G?<N?yp?}???v???o?L??o?\\\\????k&????t?%1??,??<KZΈ??	???[?<??k!?w5??x^?Ou?wd)rD9?r\r??:?8??چw????h?k@?}9?T???(?????2?Q??n=????g,y??t???r??᳐a?3}}????????\"PI???;l???ѳ:??~M???}??[a91?+G????\'IT????????????^?V=??v6??@w?| B\Z?????????{?7iOGd\\?)?#,Ĵ???u`???+U?(???????nts????U?????i-??????>?Q???V^??@?x:???????re[>u?&?????q0?_??<??*?_]]\Z\0?)?*0[??H ?e\Z7u?7׭?6?+??p?\n?J???9?Q?J?,?????ܻ??WI?????q6ʧ??Ū?q,?F??ܿ?s\\?????e??????>?E)U?OZ{x??칕?^?ڵU??G}޾????h?Rw??u?S\'V??z???R??W?(N\\??x???N?*w?~o?G/U??o?z?Py?????t?Gu???eW?b?;U	*??]E? ~x???0?a`?.??M??P?U??r??4*?L?W?|8?R????^?O?3?dz??Ï???????ۼ???V????/?????7ˎ??=a?@??ӳ????K5??|u?W?k={?I?I?\"?72?%I??Nq?$???n?????;e???????5g5?(B???#?P??W?O??n???:?????eq??? `ߏ?~.?WvY??q. `?o??z)<?????????U-|???́???????Y&?g%?*\\?@?A?r?????Z?͏?z?0?q??+\0W???)?@??Mt?\0?̚J???;:??EK%?M_?X?U?????I?\nP?`?+d??0????\0щ?????=???????I???????Z??\\?[\r?????,????,??@S????b????.?g#MߚozA?G??U[a???ژ????7k????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:af6b39c7174a93015edb590c0fc1c4a3','????̖????/b?@ܪ??ą????????L?\\??o?xvt?$?\'3?N???kG??_?O????[??o??L?)????V+@?[??yQ?v`Y?V??¢v??S?D=?k>z???<???????????I|Q#N???;U?nZ?`??m??;???s?o}????????޿-??p?7+t?L????l????<ު?????????~??< ????M???t^??}?V\'t?g??x??????<?{?~???r????????\?????\L???\n?~H)??*)?]?:p?ˉ????C?pt???o?\0??/?0??y?????{-=?p???]x?????q?r?????????˲???m??????i?f\\|_?V???Oп-{?m???;?J?N0S?z?m;?D?i??^?ӊ?!??T$??򎢂>?0;_?b?F? b?? _???H?~U??>֟???E?X???~d??ե??Gz??e	????`?\Z?n?*?&v$б?B??5?VE?\'???/??N?o??3?????ǈ?ew?? x+??ܺÔU\'@?????CF??,R?\"?߯???<݄o???T??O?#?Za?ם\\1?h\r.]Ӗ??UU5X?H\\7t?u??????$;\"s??\0j?oQ??f??␚N??!}jlt\Z?s???t\nM?C?v\n5U?????ۗz??s??V?O8??Wج?s%?\'?????????????l??$?3?D??%0???^\"?^?4ө?????????dV???R\'3?<\Z?<<???Ȧ???S???]@?\"z?*??\\Y?+:\Z??????7Y~G??D?ڞ|)???%rR???q?{j~?Re????????????>?????9?LPUO??߷.B???&N???\0??v?D?7?M?ݠ??9?\"4?m????,?T\\?n?~??n!`?ȳv?bt?gƮc/?o?H?????2?ۭ?>???????f^?$???=??\0\r/\\73?u;?mY}??R^ ?j?w?"?????O??s4?P!?\Z*?\n??IfB!{?<????3:???;??(???S?????????\'?U?Lp????aQ???^8S?$\n?w^??~?;?_?G??R\ZA?y~???Nm??[?????'?????y??????\'G?g?Ev~?/.???o̐?6?\0;a9y??x?l?-??jg?@?/??????m???k??R????^λr7!??\0Z??*Pk???"??!?>????*F???S?еP??u???\'???????\'?^T??w???ǰ?T?`=?7*?????Z??w(?????'??O?????\Z?s? ?e??~.????8?0	??N?\'תּ_?*a(+???^G3???????:?n	\"??ne?Q_?[?؋???@???`-??@*\n\'ׁ??v???\Zgf?Cב?|?ϏkT?????????~T???J#??N?n?O?C??U??H??????}???????W\'Z??>?8V?9Ο?[?\0Q???_Uլ??3??vQ?@?p?߭\r(0/0o??F?.Q???u.??ֱ???<?oAO???z????|??.??xQ?馸?z?\0??^7???\n????K?YD~?x?????1?D???XC?wP??????V?Wm.??Q^6?\n??a.٣ieI???? ?N?|$????{t?-d\0??^-\r7y???)M??????B?\n??^W؀?T?0???><~O@?- ????K??<?/???????X?k?T??)\Zg?vW?}??p?=,???9p??`?????0??Oҷ?D&pf??r??"I?=~+SX;?^?N﫜؉ti?vJ+??*:y!o??B돚??{E7?L8?8G_?y?E?F}????X????\Zj??k????J?y??0??tZj/???Sh_? ????{??+s	???|{?_????nG?ǧ????p?V??????O???=?g??jz\0??????????y??Cs?7oO??l?r?Gs????Q?]???å??Ud????Kj?*i?8?z??Rϓ????c췍??\\r???}?C\r?\'[|?ހ?h]G?ZG?????\0?6?\"f?Ҫ??????@??	7?:???rM??@?[p?С~?IH?_?????\"?a~??3???Yb????j???q<???kB?*0?????L]q?f???@k?????q?.????s?^%~??+>????_%?\0??*<?S?h/?N???-?J;) oA|?<?O/??<?w_?g\0????]?rwt??Ywa^?c5?????v???i??k.\016??B&?rh?I?j??[<?c;)?^\n?I??\0?????w??>???@??w???sv[?/??????ѓ?????z\Z??zr????????r???\"??G?????{?i?|w\\>Ñ^@9?~}pU?0%??暈??C??ǝ?O0?\\y????????w\r?J@??٫??6??J??+?????|?$٭#tQ?2\\yZ??????⎖?C?0?\'?r?H?????̓\0??s?????qr????3?j??<???%\0?tt/?[????K???v??????S?X?q?!?	???qpa?2s\"?? ???f?e??^]????ǀ????[>?>\'?oy???????]?Q(w????̵D??\r&?a??*	\04V?GB?97??Z???????H1??S{r?a	Q???~!F\rwk:㪼?\nc]?D0?V?6??|a??auQ`zȀ???+??a?t\ZዯM???}B&??ϴ??l?M?"?[vL?d?-?e??\"n\nO`????2I??\"3WM?7?*ASk\rZ?M?\r?;	afY?\Z?Q?eVkr??@?4?2?mu6-)Zt??? ?l굘^6W_v??$g??0n?VS?<?iq??ܝ????e???k%3Ӣ+6Lv(yVæ:F[?+?㚘?+?(?udbW?b?V?_{?4N9ě]???h??rbN\r?)?C?DG??=YQj??i?*??,clF-?m\0Qw/nL?n??t??h??????c?؎M???????˙????v?????\Z?֦?4??6#??0???Z????gQ&a~??JݯyS?t(??3?!C?`j?IxkoA?????\'o???7X6?\n)??O?????l?????foQ?gc?Kv?b??hf-??\\?B????V????]6??9?4;ͨ$1????[Ԝ??ׇ?}?????/6A)?"}}y1????c\'˥o?ũ?????hq???R????J?>????1Ş????vA?|?pu/???(????u1???y׷5=T?Z?9-?/3??Bh8c??3^?EX??:??w?? ?K7FZ??k?E?9K?K????3?-?E????a??e?&_?????s??,\'?\\?????O??eY??????X\Z?3??iЌ\\7?1?x<nN??pi??ύ7ǝ????+?\n?^?X??MY?w?Y]m??h?mg/?1V;?;??>\\??H?N/}???v	?#?ZP?ˤ?`[sl???#>?aum??v?Z?Jo??}?b#?f??????]?w??-,???!????C??xm~8נ??ƯV???\"$?d?״?-?g??C?Z??#߀w????zc?\Z?~?j??\ntm;H???Kֿ?\Z??????_?]_??]?\'nӻ????d????y?3???%B???>?????Xw?=A?K??S????n?n???nm???Ќ]?b???o?x֤?k?p?OV?6??????\"??\nx???r\\?r߇?$?oro?Mh?~0????[??\Z???z?$R?P?\'y=????Sȫ?@???=??Ks?K?k;?|??)J`2??H??[7yRv??\"??6}??-\0??m>?~?P????	????"s?	>?_???4???????}??ϥKV۽\r???_??????%?t!ߘ+?Չi_lg=???LZ????\"MEBnH?O.1?b??sh҂?\Z?rL?H???crhL\'?2????%q??I?T??BZ섕ieB????D?7ދ??4?n?;?9םOS?v?T٘??(	??(?yT?????Ѽ6\r???&<M?U??$(O)???????Rֺ???mݾ$??y??4a?\"?r?{?THvK(\Z͏?ք??g2???+{m??6?G?N6m\\=?I?1Kh??x??0?`E?po??C)<K??0???\/4???&???V̔0н??/???_?$ӝ\nEk.lS??d???12???6_\"?1??N????k???rh??\Z=/??8\ZJ]l??\\??A???U?4?&?h?*?gJ??eK???kvӥ?????D??!????3<[J,?h?#Y#q)B+I???P??8?A\\?Z)?4?????^q??????q???c?6<?R????$??a?;)?km?i???9?????-???IҐ✴??خ?L??R.]\nT?\Z&r_4??6:?5??1x?`?u?l+t?q\n?G?vJ???????o??????%N;?Z??8mؾ<UmO?'??SU???n{????O{?3????$?8?r?'?\ri?\"r]c?4??^\nk?b8Q??????!?N???Pd?KÝD9qB-?3%s?J±Dȡ?C[$?w?RFo???BPFj\Z??u??s?^????ğ??º?P.?"I?D]????????\\?}_ܶD????{??$??d,#?<???%??p???1R???]܉g?????nں?(\0?ˀ??*???I?[?Zʞ?RN?S?\'?s5I?8}?\nf*C??\\??PV?????4??<?ݸ?6d???,??I???녊??tb?8B????\"Z(?2S?0??H2\nv~?'?v??{?2??b?"??.???42?5-?ql?Ҟ?????y?1??!e?r?#?z?eu?+R؉F?7<)?A??	?????J?Eю?? ???:?a?\'?D?w&???ف??h?bXH1??%~?O?H?j}ЬT5\'?̘*??J?? ??xٲh[?H??o?$Y?8???t/???\'??P#??9=W?????J??z?<?G?!i?]??\"?Z[???ս1???O??U???t?6?Ti莚?ȼ?????(L??\W??YJCSu?(??!r??\0??ܲ??J?.?fS??V?8-J?2%?yN?z????ah???FC?鍈\r??+x?H??\Z)?]?}&w,E{?s-?D?????1>0?\'\0???s,??Ml\Z\06M??:]???h̦\'?(??????o?a?Mt??????2.??k?F?K????)7?՜D???Fe?)g\"??\\??>??\Z3_????????Jc25g?_z??n[].j?	a\Z?9???v???'?U?:?3k?J??Q??T_?$??????,?&??9S?KMU(ے??P?ػ???P?????N?]d??<Q?)? S?}?yJ??x}??????\r???s?\'?Z?r?:(??_?d@t&;??x/?2?\n???pi???b?CTR????.Άe??>?ĵ5-??=????\'??LȆ?U?^?k7?????ZK?WXؖ??;t??F?sv???t???rg???v????>?\Z?SFVݎCH??c?w????L	\"e??\0&?Ti?c}??@?P???x?1???ŁyY????辜z??/m?'?t?????U?DحP#?ݢ?A[CbM?[o????C?\rX?T?R?>??|?0fMӖ?O???e?Mp?R?????????/?x?򕲷>??w+?_???D?P~??S^?DU????????ir??g$???s?$??????G?>????wك[\Z??k?5??X??Y*?l?????6)???F61됇!???m???i???????????o??am??(?????u???>%?Ǒ9C???\'S?[?0\\?f?Ss> ?1Ź\nMte?@?\r?Q?????8;mi???q3?cdȏI?)????:4mb?#]?v?4????ݠ/z` 9?цN?w]\0qt\'-P??KP*??0???{?7NW?	仜?????^\':#?~^?bW??k3???j?`	w9R?u?p9r??I?`Qbn?=A?>*???[???n??нA3_?)??eG?ݐXJn?????B.D,????s??L?=??&xi7g?P7???ܢf?ONW8?,??]1?????ָ_xA????U?Åi@??A?sd̴?fA??Cd????????βu?p+?????6????????ބ?z?{\\?aZ?? ??.?rp?4>??\0qz?????????![\nS?G?ֈ\0?V??x}0-_K??5???2L??%?&?P*?@N?bn??<?NI???9?jYb?2Y??s?\s{77????\\tK?1??`?	J6???Y1im\\,=o?\0>Xp??"????d=???ZӚ{.??????5?ʾ+?????e???	]???T^?Z8??;?r??+?8$?D????u?d8?5?2Ĉ;?bC?d:n?????EvǮZj??????Џ??$????w?f#D-s??˫???ᦇZ??0O;$???Zǽ??[6Ι?[??D???IQm???i??<M??l??\0?/~\'?˩? t???@?B?hf??u?>Y?????? 2?!*?2V?y<4=???1???=?ʫ9?,b???*b?=?5???7w?S$\0??9\r?\"j???6\\g&VdN?\0??\0?&?6?????g>????????+~/????\n0?s\n??g3C??qSi\n???E6͙????ϼ|??? ?\\????q0?D&uF?VM(?*??Ap?N?C????Ƭ\'?????????0`^???+??]jו??H-?p&??4??d?Y??J?;?Iu)??yB??5??t?fD??S-Z??2g z???f\rUZ??ADVL?J??????>ɳ ???K??x????#??u?TO?Vt??\"?????ޑ\0?@?????b?u????WI{???Ē\n??ƀ*??OX{6???Ȉ?1?M?`5[?e?Y?'?凌??????S$`vl??x=?{\r???????J?(????EZ?^?3a?-??+??N?ٜp??FIOj?y???>?cq??????[Yw?}J?k *??\0?\Zss?p?y???M_???????i?N?4:??????\r[?b???)???\\??2?????D??B\0\"?A=??E??u\0??(?vG4?N^c\0u?\0?PW??6dfCc\n?l\Z?]wɋ?????&??|c?jA?ub@?B?z?N?????Y_??	????M?v?Tm]A?????y<???]?e??_ҁd\Z???ZG\'??P??4?k)????,??2?$?P\\qY?i*?????E(??lh??ǆ??HŶL?:K???"?? I??U2?\ZVk?E???bWp?.?CMk??S?G??\\?srEg??G???????{6\0\"???w????-?~m ???????C????֦?(pr?2??j?;??i??\\[?(?`\nn?C}_xi{8?;zʯ?ά??\"?ܞ??????#?6`Y????K,?$?p?6g2.\"VA	aB?K??؜??F?a^}{<тBY??NSQ???=F??2??"????F?T?M?=i??BW\'???D????5D?,?=?ZC?B=\rDt\nt??(?ݼ?8??g?Թ?6?to?]݁??IW?\Z?͊Δ6?t?si9ז:Ht@g}??[?\"z??[?$sA?zv?yU=??̕:????g3D???7q&?΢m??e?o(?hvd? ^?Z??h\nT?\ZZ(?:~ӈ??????>??d???]ܧg?9?????ܡ?v??V???#???n\n*t???z???r?\0?Ձ??\Z?@?????4U!?`C??*?$?????t#?mB?]????\r?(?2n5?k???E\\T?0?!?m??m????	x??෠F\0\0/l\0/????t?kxa??EZ?u?2h(?????O,\r?u?)??3?S>???d?H\r?U???0?b?a(?>?!-y?????s?#\"ů6?|??????^n?[?a???/s??R?3FD?/?????㭺j?\'?????;?c?H?v?^?[?????#?[?ь\'?Ź?$3]?CP$ʣ#uj$\"*??#G-R?\\?????? ,???,????P????z\'?C?\ndp?=t?`???,?J??(Jj8??4??@xP}\r?\\`??P???X?u??B??@??7o?:?mJhn?T???!????a?ߠ\n>	-?	?Ԣ??_??L\"??-a??r6\"??=??X???t??6;m?Ѻ9????Y3Y?ez\"???ZX?6?Q?ɓ`??d?^w?( to???mi:A?𞯻?L+v?N???{y?J?eJ??T?\ZH2?H??Jhb?L?\'	?I<H?"??dB?????K?ZP??>?ѻ?:t&?=S?3r&4?<??4?2????z?????::????T?????\r?(P-,???\"??e?u?f???B??(???>????ʿ?Ǯu??\\?S?E?zs?M7	??6?\Z2/?m?L?3?Ҧ??&$???_?83?/uƬ??SR?V*m?$	~??C7?i?l???n??J{???N\0c??]#?Z??'Ȃ??s?HzD?rE),?ex???+=??i??W????????Y\n(?P????r?Q?~?MPF??\0v????D(??\r?.P|!??z??U2\r\r????l???_?????9?\'〩??_???LWDx,??[??O????F6?y%????ۥ*vAOrt5gQ?ˑ?\ZE?7;?z?????$?1\\??ĺ\rf??DIгq???t?8??JI?-???\"y@\"?f???N????G??EF???3?z?سk???g?\\y?A?qp??BY?!???\n?	?$o???????\r9?????8d?^???Z& k@\nB?*?+9??/r-??\?4-?|?/?? ??O???F????U%Q]??E 9t\n??bL?yI?ۭ4??\0??5???&pL	?????SH??W?qh]N)?G???%????N?]?[???r>???|I?QI????????\\ǙТMZ?M ???p?QW?E?????%lx??l??=??|?4#??z0????Ӝ¼?p?:???s%??~?c桷?d?/?qp??\'??v?j?T]?\"fJ??l-??TfcR?c??d?Y:L%\\JǑ??\'?A5~?\'-?????m?JWa?s???l?????籵????2?p<,??9?BJ??x??}???A?_?3?:{????Yh.??֯t6???$4?oC?}??!?_?8???Ӑ??\'}-\")\0??&?????s??U?=??J_?qJQS	H2?zy1??;?J??[.C?c??>?c???da??%??i??Z|ģ?#??Q??@?w?祫Is???;J?w?c;O?1???z?????F?T8Z?Lg?a?O]z9-p?v9???????????????>?????x^??n\\<???????????T{?S\'?3???????n_?]??e?o????\0g旳??N욡?T?2ɾ??d?޼?P?ޜ??/??j?W??=l????????1m?X?xn??M?8?\r4???3?l??????p?GT???_??@?|??!??????%N?>U??y~\\\\?\\??\?A???\'`=??????~u?8?bpڨ?\0?\0????nAO:E#`7?Wd???	l??]`Г9; ?gv?>????^֊??Z?,?n_ d??\'?0?Q?r???????&Ԛ?????\'??}Q?Z??g2?p:_???+<%?~?x?\ryo???.??K???\"E?6:?GM???8t?E{o2s??ڒqW!???𻢺???z?N???zSUFt?8veb????Hl7???a0҄??#?F???~?7&r{?+\'*Vé??;??C?t??_Lw???gp=???@??=_?? ?2U??w?xF?໬?`*???????E??)b?80???ὴ??????'?V?F?`T?c<{?????I??״??>H?ES?<???4??]?fr??(tc?O??\ZZ??7???\r?c?7???b?O?y?1???;?Z?A?L?D???猡E???Զ??fL/??:?k??u8???&??4??f??=V???|???u?aѿ8??ʱ???!??1??&????	@_0?bc\0^4?ix?\"?0[??KDѕ???\rUJ֕??????RFXV+??\n9??f???9????D)`?Z<a?|??\'<sZ?\'s??h??}l?P\Z???W<K&?&(Ǽ?E??~?????,?r¯?L\0\\3?\\?b?嬨W?ѣI4??r?????ӕiC?Rs???j?+f\'?R>?\\??0U?	? 9d??4ZR????5\'???@x??q 7?0?VI??9i?4e?GU??P??????s@{???o?????UU?x?CC?c??Ozs?m?u??齌??r?mgH?e??_6琵7q?,?p??lM?&/??\r????nG>H[qo?@?c??,?????/:&??_P????:]?N???Ysn?۱?1#ß??Z?\Z????I??	?`ʝ?/??ʹ?m̞?+f??2T?ͩ??c?7g{??[L?>A?Ʉ?5}B?\0?$\rI??9UWi%`	??ވ????+??N????Vf?$??y?X?=?v???֔U?1?\n]?M?"??}????\r?\'?^???6???3?8t????=)???I3k_R]R???????????PY???????Se	h¯\rh?????n?i/???}=t??????qg˶zK?????.?4߿????y~(Vߺ?q?PH??|?{R??:\'??{?n??.??zB??!M???cls??eIy????}?\n!`?Ѳ?-/???{???E?|??ҥݘ?=?9?r??q@z͙қ?o8({???u?)潗1?h?\'dN?\?\Z??\"??l?YسFŋ1X4?Š\'\r???h???x?2A ࿉???d????\Z???&;?@!??{|?OJ?Y????????????????\'?ѬA????'???\\??X?U?N?g?#?Rs?o???Zlp>????????v퐾{5??Z?ӕ_p???gρ???sG>5??*???\'?כ?? 	t<????D???ӟt?V?!:)??A?#??gx??O/??V\r?f???Gd? ?<?^???(??^U?E?~??g?.?\0}2???%~\n??q??Ut?\r<?⾇_m]??????\r?)????N.??UA???ՑT?%??.???>^^^{>???"???????????/??I???y?A?x??Uw<?ow?t?;??$???}?ڍ?????`>~???ƀc????=??\'}?U????1T??OW????u\0?????SZ?&.????k/o|????(????`??{????v???dGw?????=8-?8ӽ~??? x???-A??V???q*F??Չ>沨?:֯?2q2ی?\"?<???UW?\\?I?ˬ??H??ژ߿?I	?Zu???4?,????????A??x?띺?	(??Ob?????ݨ?k߽???~%gZ\\??zIs~:?uy?u?yO?ey??y???hۏ6<??v???	??????????c?????9?c???ܞ?UCI??r?f5P??s둷?.A\\??a?I??9???^)?u?n????M???`?\Zc???+??	{???u???s???:?\Z?]v???%??tݻ??.????????/T;M?:I=/??\0N???6????moO?ws??5????x?]?ϭ?\r?7?K?`??8d???????C\r??A?????Cg/??m???1a}??w?O???F?zu???V?x?9??f?2??Ӑ<?6?3?x???Ԓu\\?L`?H?a??????_?b7+o,8?D#?\ZTRu??<???ru/?????????޸zjHQ?\0??^????`??^ߨ???qN??????@?z??y??/>?????'??*o????sU:???.?`???O r|??{?Y????&??{?!??P7?{???|??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:b4a4cf43eef00067890df8a8c4164e0d','͙ks????ϯpf??3??????S-????S\\\ZD?????\0&?Lv?qr\"?J?????mTG?j???v??J??}????Qvu?,?T???????z%?6?Pt??r??iy??q????qI??*?M??¯??a?x?#????0<?+?ezu\r?{???????I}cE??o??,YZ???!??Q?0?+??iGdvgѱ	??\\???zZ???W?<D1?????_T????4??#??]????/:?;?Q?<=?z?vx?=?\rB+U???G??C/?o1J??3o蕨????????4-g???????+X^???????#/?.?d??:\r??v??/^=?cv??(j???~P\'?=-5???/=~ȇ????D?????????/?c???Ss???y??;?p???]>?E0~8I/Փ?K/??Z*e??r????/???ҵ΃??:??\'Xz??w?!??X\n?Gu\"????|?˒C???w???g?[Hg??~W*?b?h??kO??n`?X?οu%V?X??dy?Y+ğ֤?&H?3}??z#i?Hf????4?o????͆????????C??<j??????CR?g?????l-?5?7!Vۨ???'?A?٤Z,o?A3?B<?\\Gkƌ2Z[j???r???????`/`?H&tVFG?V֌?gN?2Z,????????83?<??4??D2?͛????)?0?J\\J#???????\"??cZa?\rF?j\r???r??nZ??Z?t?????ø<??b%-???????_-xNK??????o^ ?M?u??3!??ţ????^?U????\0??d?I\n????a???ui??׶??5??š?I??ͽ??	?N?]?ﲲ?Q?0\"?f?r?2?']Ilk??U???0?f?@k?mu7?%*????????(??/?t???bP??</???T?T#???Јy???U\Zi,r?<????L#H?)>?Ս????s?s?7?\Ý\'2?w?X??eL?EF?f??˩?r?:8?????:?K?Y?t??????Sh?? ?n?IvFTTm?????0?Y?Qڮ??E97avl?֢Kӟ?$?????@??9\"43?????R\n?U@??U?Z@(R??U??A?%?7G?B??\0?n3PM?ҊS?$??誹???9?i??&QrG??#h??V:?7	y?"x?jW?2?,攲}??s?!f??A۟?jY?ms???qOb??d??`%?\Z?1??b??.£?_C*???zr&????R?r?P?UE?\Z\n\ZL??^AA?x???\n??5E??1y??n??L&?L?(+??R\\?g`4!l{JP?䋦V??9i?!2??\n?U^?????LECi?*??B??t??$tU^?]B?\n?\"r?I(???]&LV>?M0???s ????F5]̼?.?]?tqN??х?[?7A?0]???|?Z?4*?c5????\Z??f???ٙ?ے?@s??s??RTg\r??B?????W?B?i?l??Z?V?j????4=&?´B???\\?:$7??LYw??g???6+?<[Y6?1???۷?RǛȈ?f?O??]tG??? p?????ZN?5ƴ?????_?ـ??+FV?EB??j羠???b?2\'MH??\Z4??e L9?Yn??[???ݵ????*??\r??l?a????3??&=?i???c???	??ٌ???з??C???n)?@??????>ɭ.????O????`?`?`81?c???0+4]0?䕝??B????"??????QܮÓϐ?89{????UNS2?Q?v??#	???????#??Gn3?o??̘?`D1j?7L?GwB?\n??\"l5?V??CQ$M???\Z?Ov???\\H?;L<{k/?????\0?b??h???p;޶7?0L[?????(??=0??P]R???e???ɤ???????u???U0??M9]D\nV?g?%?;?q3?(	5S@\"ɢ=?\'???b<?(5:ph[?>`4??X?dKJ?r?%???t??Zmť	?2Uc?8???Lށ\"?ה=V?TkB??mբ??:7K?e1ro?????_?\"? ??Hft?CT???m?(\n? _??\0}\0!]??	?z?	zAZ?6?-?\r??m??x???2?r???r??????M??+??ff?0ɞ\Z?2??X?????In2???R???)?l??\"?????????S_??1,\'N?\\˳?]I??:QW	????%[?R5D7(???B@D/?Q???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:c3a005c034055064ab5f5553477e56aa','??ێ?@???_??M?\nSKDh?n?d?}?.]e??/4??,)?%???\Z??+	?V[?Ā?N|??????e????V.?Y@?k???Ñ?ra[IO??????V?<????Ӎ?4??(?boua???uBـ??l?k/?kH???KR?jGPD??b_S*??\0A\0A\0ݪ?????\r\n=r???????}?bG?K_\n????#?ߘ6J?????w??m??waa?1i<????????1Ke\r${8?Ă?m????T???՝a 5?H-??A(Q?Rf-?[Q?0C?a???p?1^?r???1???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:c88e2bcd56513749bec09a7e29cb3ffa','E?n??N1?MA??\nq?<?\'M2O\"\n??!?z??8AQV0Ch16??՛??C???q?Mtq???&Q??????/??y?T?w?V?7??l?4??&?Lbm??cǵ?ȅ?#(\'???Y??????kN)A	t8pa??ﾶ???L?\n?\\Td?ΡY???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:d0a8a2a14e233f37802ab58d88ff022c','?y??J???<????{?Z?0؀1?Ѩ?f_ll??lgڙΪ?????sݺ?q\"??sN???ݗ??w???? ?~?Z?YmW????J??o+????\n?%I??[??Vi???e\ZN????,;??8?gZ????\'H??^?}$??A??UxA???s?V$????4~A@???QjUE?Տ??9?nG?U??????n??s??h? O=7n!-??E????[???:M?ǲ:D?PYQ`???<?\nύ6??h?i?.rK?&m????\0\\??ӕ*?.b?r?^N??=??X?٩???	??RUa%ef??׷&?$??,n???I??{giQYI???????4?辌???id??[\0?/~?0???8j??[??e??K?%qÛ??\ZqA\r{?(?6_\r?\rW@??`}??eY??M?D???????D?~?LA?}\Z?9??UY??*N???Is?k5>?'?I???n?J?Ïw8?u?\"7??w?)IHz\0??????4???????G??x?f~?<<<?J׆=?\0R????I????,??uV??Nϗ?;4\\????.pk??\'??@?d?[?3??e??????????ܣ\rl;H?G?M?я((϶?X2??̷???`\0?0^???+-n?{?1?vs????NP?x?U???\r?^?@?|Z/?+5?|??]?p?@?|???????O??Lm?F?????6???.??????6??[[?????\0?6?????Yq?U˱J?Z??C~pg?/?ܕ???Q?^7}?¶k???z?1(dP??9׽9???3w??J?????2??\0{V????\n????????????]??O??(?7e?(??=???Z?=ܻ\r??\0??o\n?h??????ZVU????????߼(]Y?^XY\n?\nA?r=?????gA]????n(]?i?Q?R??*??????\"??S???7Z~/ԺQ??????W?`hEgL??E???H????=?ڊ??R??oP??????x?r????@\0???t9I??N??A?\0???r)J?8?ѥ????)tS??U??????/N??^??v\'??!????F??\n?n??g?????;?\'gZ????ԇ?j??.?ޝC\'X??Y??7???}?ۺ???H~Yt??????m????/?|?5??gj???z?I??|I?A?{?`c??D????^?*?o% ?YfD@?k??=3? 9?????ȵJ?????ӗ??~???Ϝ?i??????Oe???,pE??z ??-??ty????? ?e ?<ir?????4p^o??p]???t:i]?t??E?	?@c???B?[H??޵?A?R?}/6!?O?? ?????=?)????i5Y?N?m??b?t댛????(?(@?9?x?䦹????@??ɏV????}?p?nQEWw?G??ق?\"???d?#?@?5x?c????A	??????~???ڂ?(?p?pK?c?u????n?u????.????m??ͅ?ðV????49?w??t?-?????jo`?/?e??вh[?l[???????\"???\nWpb??m]J\0?yj?ZfY???<]??A??R??j??}hJ?;S)???c?pܹ??5H\\y?_@??w?-ӿo?,:??\'xqAP뜲p?Sxs?~;?Z???nf?O?????h????<w???*M??b??\0???_\0*????-??g?i???????[?p.???r???{?n?m?ǹ7???kW	???l??h?????Z??????Ն?\n_MǼ?|??[(P?kv??????\tw+??0au??;??ƅ?{Po????	NR??????\r3??\Z?????㯇?R??Ǡ?qZ???Pb8?~ǒ???z̬?\0?tG???6y/??Xф????]??w35yҨ3?#k??>?ˢ??$?;??/n???????U??)???|(?????J?d????MwZ????[?W?0?\"7$?dJ9\'.??8z??Q??7??T\'?\\G0@)?&???`E|??{,N?_???@]u??o?H???????m?\Z?@?6S??·ߋ5??_w~??qg???͸???ŝ????ly>???xl?{ZY???n????nb?M???V???@LV????}????[??c?F=?%?uDMW?3?y9{?f????$g?\"?D?k?l??Ҟ?Oy?????[/?;?????;?????6;???0wJ`?m???6ҹ?-ȗ?+??L???G?????Ws?߯o?H?b??@?x?ȃ??????O?G??Ы? ??????????W??r?.0?????:?t?*???yfs?????????j??m?6?p???_p??6 {I?ρ?A\0????R?P?-???????&]:??80?(ϰr??GS\rm3I??????<?rn?yeد???@?{g???N?@Շ???Z4t/ߺx?*??P??Q????????m??9?????8?*\Z?y??B???I|C]8b??$?i?????\n燏M??ޏ?n|\n}?o????????????;??????????"?Ǫ?X㹙\0?U???? ?J???B??Tͧ5?\"??Bw?^ b~? 2?\\S???,w?\??\\?N??NF{Ç7??Ќ&??0??҆<??=?"\\?)?%Bto:)V???s\\!:LM=g:?ea[?<M??R[iZN?HhC????Îڛ?2[??:?*?5cn??CorbI?,?oT??&?c?=1^\r?C?A??=zT???Ē??????t??a?m?d?ã=?&??z?֫?ж???m??}??oȁgab?r??)?(3Cت[??e?????"??\Z*n???@??v???`\"t???:??bC*!w\\gɦ?e1ǘ?\\??< ?쟽?\\V?[j?VY??W???p7???k?g2Z?m8?e?????r??g??????!?W&h|ޝ???3?????C??@b?iNi?k?Y???+?D?#i[??貓u{,<Q$5?ϣ??????u?I1?H?A?X6?n-??0E??Wi?X$6????	d?Vv??????1zA???Q??-???\r???[\'i5?I???\??????????\';J?N?^?g??????|?\'M?\0,?????%??{D??#?:???E??~Ѣ?f??1??k}\\%?ǿ?)©???????S??????/???S??B?뇶??7}??;?;O(ά?t???|???x*???[h?<??\0?vO?2-?8???ݢ\0A?^|?TS:????r?>V???xZ?⣫uJ?^\Z???#?J????^??y[paHB.|?ʀ	??\Z??????{[>vͣ?? 8??Ä??_?????<??4H?{g???z?c?^?u?$?Z?+b\rn\\?\0c?a?2?N?\n?i?????wG\':?\' ͽ???뒭?rZ???Z3q^?????pp7?????\0\"?b+|??^??}G??,?qk???94??g?\"???*O??2???_??\n֧??????c@???z?@?\'????\n_0?????M????y?p?"?:8??3????k???͜?NCk??w????ElE7????w\Z??A? ?h?Uҿ???????????j?????ľ^??y\"?L?vј???Y0{?B???T??cx?z]??D?O??(Й?g?)?n???EnA}	?(??֟?M????s?w?Iwm??4????ϥ???1??ǧ????M???? ?g???O??я????>?<z\n???????>]H$?u???k$????~??????g????zM덥? #???s\n?!??cȖ?????/}?j??4??$????zcm,V??Z????&?9}???e\"MA\"vJE>??>q|??????OUڟXX???10)2?E??9wD?{2M??r?L\"=f?H?? 1?xM????Qv??vrc\'sX??w??孥????mY?8?G6?yx??{{?S??????UG?E?r?l*Z?l??AZK?wб?&?~8?\"?4U??9A???0?{N>??L0;\\V)n.???JtW?<?^??2?5???#jx?0?J9??>?!=\n78???????x_?~8Ȭ|?\n???2Y?NL?X???P???[?=??g?v{??x?,???\Zk???0?9?FJ2??=?ʗ섲?o@?G??Sq?-??21_?????%??~?3?R?F??\0~f??F[????̙???\'??wx???v??S??S????޴ 3?H\\?	?6?IS??J#?JndB\\???Fx?Ҏ/?????-l|??N??6?r?޼?f?\'\r?A?jn??-!??:?t?׭?A??.*??H?ju?m?]>?c??>??ٚ\'?4?Ƃ5?Q=P?Fw????/S??l??%z?=?8?a?Z???^?S7k{>??<@????dƒ?8?\Z,?d\\f?&??n?;??$>?8ڥm??Q???2 ?a??,?Cc????\\?p??	!Z?ē??x???\\?@H\"??$?%??։?\'?.?????C?WG?9???)ֱ?%y?\'[???Z??bm??|?LP??bQ?M???0؛_?R?ǁ??\"????4Y?????k????????;ts&?ž????n???QUt????%Z|\\?4)7???O\Z???t????궩,491\r??XmAs2f?\Z?fSݤ?Д7(?&?z???????:e?????N???\'4?r???p??ka?I??(?Һx|=????????/O9^uԄG??d??g?S??$V)?}={}L??T??ԙ??????ʌ???շ!Jݣ\"r??m/?$?????D??+eR&Ӱm-?o?xП9?ڭ\n?v<Ĵ?jn?????]???~T????z?J?$0??b]?? ?>pz??-??`?????2??8?Bܠ?[i?\"ot???#R??5????@???1V??e?m?Vzc}O?fĊ8IxtO\Zb?\'??~???	??Uj2?	?kq?J?佭????2?.?f??F?????q?v)A????F?;R?????U?????u?ٔ0???&???pƋ\0??6?٘N?=CR>\r?\\??C?tr???Ϗ??\05?~?%\\Д??i.=???$?? ??Y??2?w?f1C??U?P???tUE?pE/R???\Z,?xchh?\\?)?#/.?e?{??4ru-??#??8\'2kI˵?ڽ?7d?a??[S-߄?G??d=?X?X֖C?'?x+?c.5ɱ,??\'????????"?\Z>?Ѐ??Ȥc?.rtg(??z?L,BG`?HLu5FWO??*??>,d???<????I??	?[??`????\Z?Z?y???????,??N???b&V(M??ޘ?(??G??pQ/풚???? ??r[?v?3?T??A?xd??Hm8?q:??a\Z?U??Q,?i?=??0???C?N????;??d??X.d??x\'@[????????k???\0%?dm	sm??j?w}???*!?|??z?Ց~???X??????(m?&~N?????;??V??o?z???k?GZ?????@UP[qHy??????\0s?0umdΆ=gN??kM񈌎%_????0?nK?s?G???.\Z?>??9?#7?Ս?????tN??HM?????QFj<ay?T?K????K)YV?Jޏ?h??qL?h??56???\"?*a/ǁ?????S\"%u??j??{?? ۄq??6\\?R^?F?KR?h?\'?xP?????,?`6????h??L=o????H#?(i?o??????udk????YƄ?$?>???a?H?.\'9????]Fq?K{?x?92????6?\'?25\'}|+?M???,???j?>?O??p`P? ovR<??%3vI?mc?? Q?<??BLj`??Z+ފ??<OMtI????b s+e%?J?bpo=??[y,?kZK8E7Lt?S??B?w5b\'????5?t??R??;f?m?!???? ?????6%Z8s???qo0y1?I??ʰɥ?&.\"?~_a??i?????+?̴n??W??9??.??T?j?%??7?鹻?Po???7???&RQ?1??\\??m????)?т?BJ?6??ٞ????r?FTW???pF???????p???,֚?֊2-O?j\nb??&2??6%mш???H)\n?Y?&W?Gq?\ZNX9?????u???`??C???4????)x??ǁHJ1?y?%:?\nC?-J?Wk?#@g ?????^o?l?O?orJuߣS+?Ks????.?^O?????-??E&?i?ow?"?=?N0F7$~L?????V?\"?h?l3d??{?????D???`j;d??sO?UE?re{???I?????Nr?#!?fN??`?a)?? ??W???ŷe????'<??xy_??JvN?}Z??>6+)??U?2;mn????????;???`?\0,??e??n?ᴎ=&?'U.?/?G9?dD???D?z?(\Z*???E??E?:K]?Xo?J??+?3??.???3?Ⴓ??\r3K????\0\Z慅U?۩@???Ā@??v??rA? z?3??=??*??p?Ą?؅p(?:x???????8`?K???T\"?$:?I9?ɍ?_?0&???????2??H?Fk???p?R?8i?iS?8????O?t?P}??????r{웤77a¼&8??MR͆?(q?@?????????g???7?e-?5???x?.Y%????=f??25^/??\Z?"k\"Zt?mE?r??;!(s#???????0(??Z?????ZD????b\r\'d???e?! d r?? ?wD $?j?@H?????`??7P?B\\PiP$R??????1Z??nՑ?v??\'????C??,(????f?????@~?SV?,???m0??Ē????rwN???=ޛ????*?b?Z?5	\"?<sbO????~ ??????I?c???6c\"!*?\"f&??7]#?_???+???*?ۙ?s?r#?SQ嘠򣫻?ERLڎ4??4?䰭캳΅C^????L? \0?W!??@Y?n \0@Y?BP??pF!#?!?Z?X????L???~???-ևdS S?=??\\??P?P?@???d@$??u??d+?\0[?LƖY?z*(@?^??M?Es\\7S?P?_???Q4??P??BL5???])Yd\Z<??e??0??ӥq\\???+{????gif^$R??2?>`S?B_?$c?.??h?2???|آr?S???????{?f????j??iz`?+9????e!!???\0?h?_????\0,/?`Jyݏ?\0?w?????yv]?????2eA??6|ܬJ??Uu91?r??)&wMo?*???dO?\???	4ͳƷJs?r?x??PY???6D?\"???>k??v?????[\"C??2zs#J?hT?ؙ/԰?7?\'Y&hbQ!B??i??K1??l\'????!Xt???rV???jࢉ{x\rd\r???N3P??????0????_?y;	??I9???̭8;?5V``??ߓ???TP??׆?6??9k:Ê{,_JxDg??\r??p`M}?8???^bk??q?4^+??܅?1(F??lY????p???ȗ??vd\'??P?Вڍl??????(rP?c?Mc7]???????O?s7՞7\rrW??\'˗T?`n?3x)4dh?0H?\0p???v,?\0vл?????]?F??w??n? 4l?0\0?!?/?0w+l4\\????4?C???\r??v???n	??K.|?X\0)CEۂ?]???\nt???]z@?[?????????0]?Cp??\ZCo????@T\ntbm?J1??3???r??)5=??h??&].Ҙ??Sq?r??O)?J?H&8]W????I?ҼOK??~?=??s?(?#X???q?&B????l????c??"?fib3??x?????I?4?q%Q7???g??C?&?????r??T@y??ĬGH?\'?????????????#??@4?\r?	?Nf?34??=4??P??ݬ\0$Ao?????Vh>?O?p0??????n???ہF?????m?G??????V	,?\r?`??Z?!?A>-??%DQ????Od?,?b???q?|?Z؅???????????o??R??Z?{?$v+??21i?k???\Z?R?>??????????j???H?A8H[?U*? ??#S?S??(DL?MJ?T\'????#?@tÌGlbwL$?h\Z??8gIy????0?\0?L???D?@?0is?\0Ʉ???@ ????S(I?\n:A?|?\n???^Hd????o?	%4??*?\0i`??)?Y??aPC~??$]?\n??????]??Z\n?.?]u?.V;?\n?;?a/??\"X9???W&?%[?B?\n??,????B???1?????8???	O???	d?+??\"+?\rOG?\0?bC???9?\Z2Y?w(6???z&?4t4p??+?a??Ca4?.S҂ ???ֆP\0??F#???????/?h??H:?Ʀ??Ҹ8<踀/[????]y	????6?\n?G??}?O??H???N?U?FK{?]???ò?非w`??6#٩?E?\Zqg??m???˓M?g???ސ?춧?g@??M?c????W??h\0S???RtWhm&??	?#??$<dD?x???{\r?k?i??\n????????{???J???q\0v????9Yu?\0?@??0DQ???(?K??zaBz?k8?0UJj???g???n?C?/&??ОiȠ??^?\'?y8Ѕ???=?=??????I??LD?ʀ=O?=/̅q?g?P?F% ?q???????\0??Vѡ?\r??L??Ⱥ??f$???)D?GӢF)C????r?r2?rW?????RR?;E,?\r?K??S??gB?\n??7??.?a?.??s?[燠\Z?˨w?w????sЍ\\?0Z??T?_?͜{??????X?fG{n???ʫ?ן???dI?,???ܢJ.???%?x???Z^?QU̍???!z??1?Hm?Ē:^\0U9???????????2?<??K?????????S??J?y??6?XgjG?????Ѯ??\Z?A?????m̞????}1???fC??҄$???\r1????Ux\rs?????C??a??38eڵRt,F:%? ?>&??????$u?D1??^???w&?W?#?e\0v????Фj[??????,M7=?\r???"E@?x_z\0????????\?%?@Nʁ>w?e??\0\rM{??\0[.?tLF??S-5\Z???/?w?????~???????l???(xx;σ??s??y>Z????x?齃fmu?e`%?^\\9_????`??\r????o????Q???+7??D?|??dZ|M#-????Bs??C??????;;?]?????????f?3?;?}???{???M???ӟϛ?\r?'<?l???????3?????	??:wy??????R??????ӏ[^6[??Q???y?\'I?_??y???%????/ڻݶ??ւ@y?O???L?Q8϶Nz0??A??M9?ŎA??%??d.H??~?????S?\\???^\"I?7??\0????s,??a???ב?UdN?8>?\'z?????4???hv-????dz??y[?-??!?{???[=9?i?????d?J???fI?????X???Xk??J??tL?2a??MA?_???ԗ4?????4*ϨQ????-????3u?????嗒??%A?????`.??<R6n\\m??̎]o6??.??}?*???}̺??o????g?A??灤??Z?uDYWvF?y??-?p,???????=iCoŹ???pB?????L??2?Az/???I?o0?+??%x??d???ru???u???@N{??ہȮ??\'K???$?????lL:Xp?hˍ??d ?????`????Al*???3?n?,Q??z\'?ch??E?\"?펢??M?A?z\'????nCv.?0~\0???զ:Rͥ?s???\\0?b???j????l??r?=א???P7}O?0	r?tD???[?n??aJ?B??ܢ?.??{R(#?&?\rd???&?r\Z?d?????\???Gz??O?\"B?+Ĕ?\"?Ő????DB??1?wz?~MOb??/????q?C?????;?$(?ysؑ?V)??\0?iTjt%?0SWX;U?B?xO???b)R5y?ِ????eC北\\KG؁?\Z?J? d?????FO????΢2A?腐?.?????R??Xq#w$?C\n&О????????=V??sT?{??MS???FK????r????V1?1?x~??g?~{??Kd?<????{,???WQo:?.??&&?u????p ŝp?7 {Y?pBԓv{?:?Eܭ0??\??\"???g????nҜ??^?????2?-?Jȵ??	Ҙ?̂I???:t;Y?;??T?v?+?l????\Z??].?+=??j.??jbD%?Hƫ???B???fTٟ΁???x?\"9?Ժ?0?F?/?|=??ݧ&K???ڧe??^\n???5}6?6;?}??pZ?Պ????l?B?????T<?gY?\ZJ??ۧ㣕\'a$???S??????y??=?{????]4@H?Z?^????????u?6fC??Yy?qM?Eo????o;\0^6?D??o/t6;?E??Z?O}?jp?1?d@??!?k????(????6]?28?d\\????ug4Z?G??~????y8?G?ek?mL???M??}DF??<?q4?ԣ?s\r ?1z?c#?F|ᶭ??]?g??p?*??=????ͮ&#qR>??[???S+??Y]?M\"?=L????}???9?2^????Gt|y?czE?X???c?c???t?{9k???w????z=Ɲ?S繐?m?Z Tkv?gl?%?????>o\n?w?ly?S????O??}?I߽?\Z?K?و???????G???\n???????$H??????[??o;R??????۬?O?i????J?h???$Z?ܼ?l4tH??mپ??	?\0a?????+p??ॷB??u??2?~hkg?\0????;?M┱7Pt?\r??{?[??n*??W???>?????^V??8.?6[R=?\?/}?7x???</??&?????}s??????\"?/Z???[?JͷZ֏;Lz??{??????????AZ????J>???w@??*?ܿ??~???m_?/b\r-??.??;?!?Y?????>???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:d7a5760119ba393213108d954b0057bd','?Y??X?6|???f?lz?V?d?g젅E	tSƾ\n;????%?22%ewuM?7R\n????w?T??????O?|???\n?q?A?U??????????&q?תl?6)?ώ۔y?????D????|4A???????\\9????k???7e?I,??-?$?????????????????,?M2?a?????S|7t/?:L?N?????v?????e?n^z?ﷄ~~E|v???O??y???p??i-)^?z??????%????????????m?6??yߖՋ???(?;딕??9L??鼊??T??/??5????8???_??n???N????kr?ʺu??????\'?:????\I???~.???x?Ϯ?Q]v??P?\n?v1???+/?????p??\r?}???|?ԯ??	?K?O??h>5A??_1	?2???w???}?I??k???M?އ3/\Zq????۵???????????????ӿ{??????$\\??]??????????7??wrd?\0mĨ???r0cތ^??d,m?|??B?zv????7??=???ET??g?AVY???????`vǏ=?Y???1?Y?_g??????\n???????O??K4)?z	E`z?Z?qpYN??ZL.N???(΍~?B???;????_ޮ?<.??OUD???'?C?~~???????????wG\\?a???_?????z??Ӗ???达>F??Q???Ө??nԓ?Q\0??-2?#?6?Ye.ގ?:?~??]?y?.}0???bmY~7?q?????)??????}???}e<???Û????7???|?oA?P???????N????>?!?g??ݩ?F????R??h????\r?R?\'???n?(??c??}?\r?E$Y???J>??????????$???&??_?(닓?????????͹ϋg7?xI(ڗ????q??W??\n>?w\"߱???????N介?J?.??H?|?q??p??ą~\\d???.??????3?r?*сg?G??<???f??#&b???L??w?????v????D@?-?>p?????~??????}??|ǥ7??1??^???d???ȤJ?2af??\n&\r???g觝?.8&????a?;??	??^??3???1?P??o???jo׼Ϛ????T~????8?\"?????\n)??o? $??,?6H?????w~9???Y}I?W\Z\n??X?f)??g?}?*,ڴ\"@?4Ȫz0	??????$?k?4?K?FB?=?\r?\rI??`9??	??~/+???????O??C?\'D3d?˛\Z??4??_o?'??G???:q??]??X??????9?$???}E?:Kk?E |?߾?T???q???7v?PL,?	?u??nS?>???;|9l~?_????_??/>?;`\Z6?#?=?.????,??_ޔ?????N??J?????7?n??F޾ѧ^?\r??N???ܱ???N??ũ?{w|$?????f??T?? ???????&?뗮??????e?{??U?r???/M????n?\n]????ߗ??r?1?\Zk??Mٗ?\r???\Z?e???	R?I7???0?????????c?c?^ti??????\'???S?dmz<s?????1g????)?3?E????{f?:k?[?\d?H?V?rm??K?j?,j?????j???v??X??zںm̋??\\W?ᰵڊ??z	?2????? t??A+\0Q^???Mt?w??0c??0??z}8NM*#?4???B+????1????QYu?>p??]o??9????зƵ.z׬????"?Zɲ41a.?>\n?ɥKn.1]?p=?-@	L?v???\'?????b????$\0?????O????^??????=v@???E??;?/???8?3??3&9?&?f\r??Hj<??@??E,CU????;mϕQ???K??1(m~/T;?6??l???v\\L???)m???X??????nǐQ}v??>??"_???????XC?nM#?MM?????N\"?61??J˝??ZG??#}??g\nb????3?8:\rꉕ akK?v$???@?ٰAj?/?c?P{?X?16t??c???A))⺭?d#??)????????????5?0??#Y?A u?&??????vW?n??J?]3c?N??kc?^i?l??jnky?t?zt??????B???	%>?_?)$?Kc??L??V\\?v4e??Ҡ\\?_iٓ????ˠN??GcM????????gB??(?-????S$b{a?????ƂK+N??m9?0?p(?9޳#???\Z?ʵE҉??=t?????\0????T?RAW?4?-?^???ذ?Ô,?)?\'%?Qu?ھ?t???Z?6???B????Z????????0i?^\n?F???gL5??zq????<?)]<ЧM??+R???6???Tb??Y??????f+!bįY?f?>???%??Nv?`Y?????5.f?(t\n?Ta??ە??k9????????M???[``???SY r????????|??B?/_5??t?P?/?T(?Dn?a?=?o}?9?/X????KH?W??v8S?jW?2?f?\Z3?\rg?n?m???c???{???x)?M???S???Մ?2????ZY1kw?>????\"??k??\0F\Z???x?"?45X???{hx???;?S;#?T??\n??m?Q?????K?+??D?(FTg??<?;E??\0;?O`??????V?3qR3? ??\'Xp???_?m[?vO?=-???$?M\n?4?f[?F`\\v]??????Ruc???<??\0??g?r<????-?{?]?dIFt???QcNBr?4t?#????&R???iI?m??fkqd????\'?\rQ?h?	Þ2?????f`?\"\"3AO<cL|?\Ze?\ZS?-???&}l?\\c??3U ;??L[??????C?Ú%?,??5=?'VM1׾4ڊ?-?ˌ?.v9?	@??????\rM???'?J?;?2?!(?oA?$fb?!6???	??/P[U??\??b????e)?Z?*?6?^?V?H?K?#?m?gX\Z?D,?\0_3?6?????حR???.:@q?0h?_؋-hUfx?c?%L???j??x/	f??|\'?4Ξ?z?o???I??6+9sms??DR??p??`5??.???????q? T+e8?/T&z\n???#^??Z?Tz[i?>N^?????F??\Z	? ?a!?"?*Y?\r?2?ڹ@?Y??_??q?V0;?H?&_??V?P?s}V?L!?e?V.?F[O??\'Y8?g?5?I? ?'???<?????sp???td]{C4D???3?ϑ\Z?xWVM?98?黑<3i?d`?5<c?q\r?W?"?t?ƾhOt???èf?A??	J?\\??V\'?dw??s~8Е?FV5??tD?Q6\Z.kt???ۀ??\"?c?JSii)}??fd????j?i???\Zp??6??\ZDi?BB??5?????%9%?~???rG?ͬ??????au?k?u?g㠬V?\n??[k87??3+?[\n????E?????Dr?Ŋ?r??Z?]??ц?S????IE?M????Ɇ?? q2HG$???*????ԡ????P???9??HΘ?R?D?\nڡ?{m?h??-?6?$?wa???\0??%PU?8Zu?ᾷ??v??Z?Q7\"ph???lPC]???ykr?mWLc?0\\??,??"?\"?????o??nId?+ڳ??D???ّ\'P??a???mxIH&>_??\0?x???\rwFwy???\\??Zk??.\'\r?N????%2\n??%MZ[?RW?????[??ju???Nxח?:L6JⲼJ?vB??)g?ud\"=A???|????Q???0?<???h??Y?RLH%Ų1,/????*????O??&???????-Pb?????F?%q?????0???>?֕??R?.[C?]+?!?A??8ۖgX50????\r??1/Y?欳Db?j?$??.?y?#Gm?ƻ?????cRB???Z?w??Q?\n?ѽz1?b=?\\jy3U?Q????Җγ7H???ǥ??rK???$M???H=\\?E?z??v?A??*??8PA?[?n??L??AͶ?3-???l??/???ʾݝ?>?\r\\C(???FA??JQz?-???&???>J??T3H?m?tչ????(S??#G?Rb?-???&6??4R?P??4^:???Vٝ%O/4?\'hGu٬??\0j?bM????\Z?.??m??\n??<???ȿ?;d=}?G?/??es!??L#6Lu?????W???\0=ͻ??DD/?G^???!{?^O(s?n\\?0?N?3t?O?A+wa\\;]<<?R?P?\Z?C-\\??????????????u!?G9p?P????ʒX6YOT\"?rG?dr??g*Y?.?Yk?@???\\???	=h??pyF??A??Z?`2???R??6!\n?M?N?nK??ݕ`c?2܉?z*?0??\"?N?BZ#?b\n??G\'?ǧÈ\"??\'oaHK?\??\rr$?n??4?n?????K?v?fd??y*??`0vi??r? T-??U???,N??R????t!鄧sh)9??\\??<?\rP?%m?X	[?????	?3?Q??tdOJՖi98Y2xxёK????Q?$???<5?D\Z??\0C1٣Rp?p???I????*??@?3?j??.????u??pU??6?F??C???;??o}?nĢ??zU?q}?z???<q\rP/?W?????㇪F?R!??????CA??A?9v	?Vw?D?J{ǤՆ?K?`???.??M???C?$.?vrR????X?????;;*Si????a???npf?S?-??Z;?tк???\N}u??i8_@f-un??``?? -z?\'О?= ?\Z-?;?.???D0??W?#?????E0?e[/?i[kK:zM?????????IF?5\rþSp1\n?\\???K؜:?ڟ썍???/ր?0G?+?.?\Z??%M;?v?M?C????H?KPm??????ߨ??????l?Y??pp\Z3?{k ?>??W?U?xM??\Z귒AQM??jzY?>(????h?>?0??=!R?\"t??m?<U??F?z??@??\????(B??b?nAJbA?Zr?g?????aG?f?DR2Ԍv?YW?r??(??mM????v7\\??d??]????l??? ??u^u(?{???D?????.??/?\Z@?2?rs?i?	?h????^???m\0?}JC?v?-?7s????????M????????@?AV??`6??5	n???a^썢?o?/???㊄???oX?\rx??]\'	????Z[???T??n?5?X????b?r??đ(??3?i3????	W??ǫ?Μ??y??1?;????\0w?????/?s/2GT?SxѶ?Bk???????pXƥ?ֵLU?-?Yr?V?Ea^?D??????\rY\n;?3ܽڇf#?qXF???????Q??\L[??sv??@???;]H??????ݲn`p?#5?Z?S???H??ɹ!Z/\ng?P???Q??F??E??MEYO???6?:*)?\0????\???TG?Yk3?b<\\G????j&]??r5???????z?;M?$??????????+?%??|s???\\g?)d?T:Z?=???O?q??mp?0T?)^<?EC?k??/q\00?c?ymf?#??~??????ʯ<?\\z???9????rD???o$??<?	?????~\n???R??j?а?\'E?<??Q?M?#?Z?]4??f -??웥6m???^?I9K?M(F/?be?S2?X?pLGw\ruM??-?\ZvThcσ C??u:v\"#Y??*^ɍ=Wܶ??J??g+T?|S?????b?Ё?\"???<?G??#3Z?*???MzC??УL?'?????ci4Z?	?j??n&??a??????Z?˓VQ)?\n??\r.?I<^}???ZTA??b??!???	rp?a????+????0E??4???i?1s?:?N???dYA/?WF?\\wF?͜?Yց?UI8?L???\"O??XSz??wx*?-L????wg ?i4?d^ԝ?l??*p??%/?4????č?iL??-i{|?-Mě??t?k\Z????Ħ?g?\\??%}?	#?c?̨)g<4???3?YK~%}0?D2???2R.????&r4ݻ?#?????u?֞x???!(ڊ?????)\\??Y<F$??-\'???- 4r?YsS?e_??۱??s?niE>?a)fN????ɹ?qGw{??)???𖈙????G??O;j?%??mUw??t?.??????;\n鶘85̤??????Έ??5Qx]?	??ǋ?\Z?,???jlصt$??չ-?J???????~?\\q??\n/21t5-?j?wrKۗ?????|?-?uh.x?IUݦ<w:	?k*?'?h)3?O?܆,k<?0@6?C?????\'?J??̓{?FoT?4?M4?NU$!V???`??=̈́?c?e+?\Z?t?V1?6?*P???\n?݂?d4?:?Kf?1??@?I?C??`??/V??*wi???=?-?1D?4(?&&?\r??????6??.? 滑n?\"lrD?????캼-n??\Z??\rHo???*??VA?☁K??N~Н?d?'???t?@?S֫(0?/??~???ZZ?d?????ˡ?D7??L-UBt\\j?S?:uu??*????	????a?٠?\nN*˶.}????????QD??l?????K֬fs>?"g)Ih?\\?[p???\'­{??p?.o/9?U?0??q.>????J5teD?b???6;?Ǔ??f??*y?y?ba͞t2?? Ny?%S??c??????oz+5n8gB)?<fj??TǃV????l??\\ks=???\r	?H?I<?c?6\\Jӛ??0~քB̈cG???d???#????????d}?a???t?????P#a???^??Ӥ$Úk??????cL9???\Z&??:????;??n?q????@?;?={mcX	E>HiL/{Ս-\n???Rmn?-??????D?q?3赬??:?e-1?Ar?6???g????X!H????l?\Z?\0?*\n?v??? ?n?k?%??ƚ?B15??q?Fx_?_?jW?,?^??N;???e?Zʎ\ZH???\\??a0E?\n???=>oXg[?????)?B]?????V1ݣWƾ??????????b??d?>\n?c~?\n??KQ??????k?B?I??d?\r?????ys`w?????X>\\*d?<?Z????????\"??\0\0f?x?p?????+.?????S???LO?b ?1?H8?D??????3!?j?Ӣ??2ݶw\"???0??X??Xp>	???pҞ<|?"\'?L\'???{	ߣ-Bh)????F?Nuw??0Ȥ?<yH???=Ia;3M?????????KT??AjK???S?\Z2-???)??8??Ѝ?[p?ֹ	.F.IE^???%)??\n???T???W?n8k;uc???\Zǭ?R?A??????????L4|?K??<????TKRE????a??;????A????HRA?%???S&5??3\0?\0?u\n????q8Pw\"??vgc??⻮??f4???H$?g?l0?>l\\????q??VO?y?????(i}???B????E?Q?u)?S ?]γ??/?q\00\Z?([ܘ?U8??\'H?z??EE??T@2ע?]?F??w?Qb(y??`???lr?\\??>?;?\0*??e????*??8w듶?0L%\0?2zm{b\ZL?N?hG?K???????Gs??R??.3?????17?h?. ??3???Sa?????Tڥ?@jq???ZbP}\Z?񸽢??dHE??u??j-?_????4??VV?}v?C?Uv:` ?srj0 K?NNz??ԷUJ؟?=xR ?\n??!2>???)??̀?:?3{I?j??p\n?\'?&??de?WWQ???&???`Yy?7\n0??r+?N??)???Ie-?(?nY?x?m??ّ??}??G]??nƽ??&ܝB????_????r`?&?vj???/a???%\"1:m???N??^??\0w?????C?bCZ?r?\Z9??ʒ?<?Ӗ\r???K4ra??????9??61??I?h/?M1k,KZ??m??U??y}iƗ?es???v????4OO{?n??-q??_?ڜ???c{}???5w3??H?.q?d?eW?=?vñX?,1???b????Cz#lu?Y7????k????(ap?Cp?cyXJX???EM?\0(???d???Km?l?K?[?80?\nf-?f????TP????1??B?l??z?j??a????Z3?b;?/?t#[\r?!V???3?n?#????]?%?bnҒ????%??!J????+y?mٛz????Z??h??s??x?????ti????Dg?Dv??-??Y???ǃ?}??>t^?UϠ?A????????t#@\n ??ͭӱ*??]yc?Gd?p???X?t???}??K?	y??u)?@?rn?gsI??5hn[?????*K?P???ʹ?-?%?㦪7??\0?>?XͿX?45bI$?Z?Ϛ	??????B>?q?\r?????L?{Z?e??+fԉ??^7??\0?N?U???Ō?E?(?,?\"p?\'??A7%y?<??M???1?ݒbpڹ^h???I?&\06?j?tr??)?0??KӨe9???c?Wn/l??"??Z:?09?iH??4?\\??J\0Z?0{ُ??rU?[`ƠCX?}??u\0??A?,ܔє.??N?A?I3|???\rI)??ڠ?9??z?B+SWl?/jhУ9??k}??9??tO?\r? G?q?K=?lb覺?. %\ZU?\'?9|ys.??~irf+?V\ntK??	Z??*d???3?e?????0?uh?G+e??x)????*atuѺҰ?bo;<??a???????X3?C?\'?Ɠ{?|?-?_?8?0	?-?얺a??.X??[?q?WR(???????0???۝vJ?жUA?Wo??h??????a?M?2??RY?X??pB??u6?-???8O(5???ĩu??dn(??3\\?????(?mu?v???a??U?\0Y\n?K9cy???A??_AztK?Hs?*??W????{????s@}??du?Մ<wqr?5T4??5?u?P?+?3?B??F?C?X??L??\0???\n?(?S??qS??r??h܇7s?C???L??-83???M<ʬ???(?AN[J>h܈6ъ?B??|????bύ???BS,??v0å????w?????\0??ކBs?Y?JD?6\nt@?ya4?????D?h?????}???Үm?????,J?\0[???5䡴1<?iz??? ?C????h?xЁ?@3r???\\?\'??v?TAن?mb?.?ȕ???C??^3?????:?? ѥg?L?)?i????W?ȀS?A<???@DY???~?u?򷬱6O\"?????$?)iW?% ?\n??_\r*?T?V?m?,֠<?ǭbu5je??l?8?\0n?#bYU	?R??%\n]??s????)???x&e@Bh9,O???dm?????4???uSkdS??K#?Ձ?R\'?????젹?0qٶC??`??????	?L:?rJ2}T?x???3m7??,??\'əIJ<Бlm&(???q?ѷ5?\"ζ???l\r?A?2?5?\Z???Ke-:?Ws^і?^M5d8??S?&?`4MP_j?Ac?w\Zx???aK?h+???ҫ???t???(??+?n?^??{S?p???;?5\\>A?<B?\"Z?5?n??x??ᴛ?Ǜ?%ꓐ????o8????z6??u?˻???C=???o?ܷ|?>?-?????????o?ܷ|?>?-?????????o?ܷ|?>?-?????????o?ܷ??o?????Ӌ??6????C?Q\"@?l?|?????>l?|?????>l?|?????>l?|?????>l?|?????>l???!?????n????o6Q?<??t?z?????l??[????l??[????l??[????l??[????l??[????????-???˛????K??ٜ??]|??s?ٜ6??gs?ٜ6??gs?ٜ6??gs?ٜ6??gs?ٜ6??gs??ٜ__[s??~?\'ϩ???????M?3???????`?\Zo?G???y??#[?????q?d?;?|s?ȧ?`???O??1??sn?)?<x`???<2??k?=4???@=??}?&<P?B????????@????^wC?!9nc2??-?q??!nc??S??<??\n???q?Ƀ????܈{\niڲ?K?O0uO\'???{Zy????????????/{?/$??y??}?=>???.?\0?????E??A?????;???\0?v?????????ڗ????t~????W]???????7׽????7??3???3Q걚??yo\"å????yB????/л????@?????O?޾X??~?????m???~?0$wT?Fʏ?3DƏ?&?0???~??S4aP??ԍ?A???h?AX?r????j???(??????#?????|r??(?\n??鋓䟼??7?+?0ݟ;uc????s/yy???W^??(|DTAݔ?C?7?:?{???ݣ?????/????#?+A???,??S?????i܋*??鸼??O??N???????A???ķ???????zI?????_???Q??;??{]??9?|D?y???4?G??jc?f?N?#7~k?JX???????r??]s??·?h??????^????+???^????Vyw/CxS???w??Yhq??pC??M???yx?7?܄?5?,????\'Ÿ]~ga??A??4MY?\nv{??}/??5PV?fCܚ?r??w??[\nx?x?Z}???V[uR?>???p~?_???\'Exg4??|???# ??c|??>?~?^?λS|Ԏ????|?71?\"?|k?R??????G|ȝ?~ݣ??\\WNw7?o??? [????|S??x_?̒z<ޔ??6?+觏?0?????"Vޡ.uKiA\Z?r???e?T???۾????[?Cp{A~!?H??X?D=?G??PO???|????yh?????b????~??\n??x?;?k?&?6??????>??|?}?????н?}k??w!???\0??M?Ȼ??:zX??D?(?Z?%???k.N???W???????r??vN??????9??S?o?ђ*~?%z???%	L?;1?E?v\Z?u2??w???o\\?)??????]??t??p?/+?ͽk??}W?+????"??????.??뗆??5??\"?3??!p??????\'????ת_???{????#sC??ۃ{???ܛ?C??%?%???󟩲??j?5?LQ???????2?߀?K?Ppc@?????r?`˫???~.+??????_??^??o?/?????T;~9?zq?Y\"?h???????>????V?????_??,m??%?t???@?W????h????\"o???ʗ*???Ha?????^??0??|?_|v)d?KҾ?e???????x=?n?????]??????B@??]?\Za?/?~7?M???@?9?@????v??/?|w?????K?SL?j??Te?%XV?!?T????/???}<K???'?i>c?}?8Ô???(?>??\Z?????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-css:4:e5aaa92d46ce40a42677118d34cadcf6','?y?????0???#̖?֌wlc?m????Z??񾀁R~??0?	?dU???\Z?-/\'\"?;?A??:????]\'?ZY$ՏV?*???zJ???Fi?me!??r?գ?iaUA??$i??R??-?xA?}?L??i}????e?^?n?Lk=??g???????O?D?8.h??\n/H#w]?tܸy?{y?J?*?_P????u?ZUx~???|i??ۑk?,-?????~??'Z/?ύ[Hy\Z??'?wK???X?I?XV??	*+\n?\"???????m6m??n	~٤\r??\Z??^?zr???EP.????k[???4;???3a?>K?*??̬????$???7?7?v????ZTVR}???A??\r48?/#?????s??????~G?s?b???uI??$nxs?#.?a??E??櫁???n??????"????H~???Q??????)??ӸO?\"????*k?Oŉ?׽<i?}??'?D?i|?AW?s??g??@D?ۀ???>%iI??????X???9i?4?q?x?\0??O??\'?gU???@??\"??<iRSw????[??????f???|?nm?^W?Z??ێ? vx????÷u???=???\\???{??mIX?hݨ?????C澔?X?`???5?{?ŭ??W???????\'޼DU??UC???P#???@\r?@!??q?}??P????w|??????'S[???<9????h)?????箣?q\\w??/>?>\0x?\r????V\\!F?????|͐??(we?`o@??M߮??\'???l\nTx??kU?oN,<u?]@(????\\?Z??????U???????`??`?q????\\?\'?޻ƛ????q?Ċ?`?k\r?|L\0H??7?~?΅^?h????UU??????????++?+??@!??\Z?<???S?,??\\\n?[?r???7?\n?^Ŗ???Sd?p\n?~\\????Z7?K?A?P???Ё?J??\0??1@?x8?	?2?\'?^[q^J@q??\r???????O?EnqX???@?@? :\0]NҺPy??c?40\0(?=?<?R ?ti???c\n?????uU?\"y??????w???#??gnH|??0k???µ?x?z???????????ə???0?!??\Zjýۻs??\'kz???#?9]??[7???K?θN?_??\Z??e܌????L?#??C6	R?/? ?q?l??(????S??DY\'????}????g?A4W???V	?~????һ??U????>?????Ǟ|??(|eW?\0?0R????ڂn!O]:??x8??ĸ?\'M?2p?k??mp??K6??\0?N\'?˗??Ȁ4?h?ص@(w)????=?A????$?	????????\"%?w???&???????R??n?q??xY??#?Oԡ???????\\7????@?v?? ??qN^?-??-??b???5[P?@?=?\r?l[}?z)\0?ܩ?~????/(???QnWqP???W[?%n?,?\"????Э???x??????Z?>Թ?zy[?y??U<Xv?&??{ ??.?%v@9?x\nQ?????ZmK?mK?U??pA??|,??ޥ?p\'?>?ѥ\0?W?\0K?e??{???n4̯\\/???*ۇ?Լ?3?r\n\\??	ǝ???r\\??Ǖ???0xg???6ɢ?.p???w??7???S??\r?جpa??ާُO??k????|??ZY ֮?9P<??N????zy߂Xx]?Mv???M??e	???K?W\':O???m\\?????l?p?!??i??M??Ϳu??Z?O_7?6????I??ז???T?\'o}????;???>LX???7??qa??{?????N??F???},Ape????l?롹???????V?=????߱??3?*@\0(??????Mދ|\n?NV4?? pfWv??LM?4??Z?яOoϲh|?'?????\'?wT?)?ozpJ{;?>ib?l????\r?02AdyLҦ?;???UqS??+??A???[W=??(?,???6???j>?#??U?N}U?\"??=?\0\n?w8?????A??7C????E?6q|\rT ?{?)?X???op????ɸ??!??f??E????a??fn?<_?T???ѽ??Q???M7?ݦ??+?n?t  &+???	?>??????ױ	r???غ???쿙?????o3??nc??f?*?Z?8?=??????*O??????\"?????????,??y???F??N?p??\ކk?#?K؂|?????>?z?;0?g?s5?????'f?	t????[?<??S?????}??Z?ꎁ^E?????*???׏?G?+??{?S??h?r??:{DAu?????%?u???7?\\????d[?M+?\0i ???;n??\r??s tS?槩??>{z???\\C?\"t^?ҥ???s?p?+???Y?j@h??H\n$O%?]m????s??=????#,}?u:\'??>?dנ?{??+??@Ԯ???R????ϭw??os ???λ?}\'?_E?o\0xS(?,=\'?o?\'?,WL@b?&޽WHܣp^|lb???|V?????dw???7?Y?}?/`=??:4???????^`??\0 V???`AL?\ZX/?@-??Ok???D7?????	|@?DAd??????Y??????;x8%7?:?r??G?B3???d?\ZJ?|\\?????p9??\0?mн??C?C?p??5M????m?4=VJmI?i9E\"A?\r??&?v?????צ???QQ?s%z?K?dy|??5q{??j????\n?ѣ??????..h/ʕ?\rXߦ{l?t[oo?%{P??qL???h?\Z\nm?????ȁ????xVG????1???2?:[aUjZv??F?g,?????7?Tk?c\'	+	&BW?????/6?r??l*??S???D??????{K???o1v????ws?amw??wf ?u?Ԇ3?[???vX$?1f???????p?+a?2A?l??H?r?.??f%?Q9gi???sJ?[?g????+??m?;?c\'?X&x?Hj???G???????:;?\'?.??z?:l?Z?a??|Wi?X$6????	d?Vv??????1zA???Q??-???\r????\'i5?I???\?uZ?_U???֓?[\']?ۅ?JOV?\?AR>C??&?r\0???Zx}??w?󈠏(2?_??1?h???\"Z???4z????~???\"?ڸZ?].???i=??K?/?????!???v????x??nř?.;-??o\Z?&O??ݲ|MܛŹ??i??Ӣ?8??\\?\n???wH5%??m???n??On????\rH >?ڧt????0??????ZJ?????\0?$???????Q?=??s=g?????y???W?j??z??u?u??甔?}?u`?^???????}?wE????=`?.?S?mva^?m]?ݢv?lt ?u??^?]????.?Ns!?;/ݫ=?lO ?	w3???\n 2(????????\n?f??[?=͡9?0>???m????H߫?#?v?D T~|a?|??&*X??CO3?????????\0iV[??׏?`??????Z?M????y?p?"?:8??;????k???8͜?NCk??????ElE7????;????Q?_4?p??????o\'E>m??Jd?$???~}?Ȼ?Sx?]4&t?0?G????6????>;???}ݟh~??:s]??;?M?Y?\\?ԗ?p????	????I??w?t?OJs?_??.???.׏??xP=>m]????I??n?_??m??ۉc?}??y??\n???Ot???.$?????v?=_?7?u??h~???3????L??????????????dK???s????7?m4\Zn?x??vAB??6????O??6??>{??2?? ;?\"????8>{~~?sh??*??N???1:Rd?n\\L?or??{2M?r?L\"=f?H?? 1?j?????(;^?????9??z?~g??{???,????????ӽ=ũz?n!?:??UG?E?r?l*Z?l?? ?%u?;?&?~8?\"?4U??9A???0?{N>??L0;\\V)n.???J4&X??	?v?H?Z?0刚?%?R???v????_D{?R???F	?dV?R?@H???D\'?????P???[?=??g?v{??x?,???\Zk???0?9?FJ2??=?ʗ섲H?7?У??xN????21_?????%??~?3?R?F??\0~f??F[????̙???\'??wx???v??S??S????޴ 3?H\\?	?6?IS??J#?JndB\\?H???????_??)9[?J????m?޼?f蘓??J57????e??8X?????v?????"?u?Z?6?.?[?k??l͓??Jc?\Z???ʨCcъI?ї?j??E??ߞjj?q?0R????E?Ǎ????%O??j??<????+???t1????????g????b4??? J?)?I??%?P?v???????U???-???k?rDr?[??G $?h?/?n???I?ɓi4q)r?h?`?ѫ#?????ɒ<̓?ZX?|-?6?6i???>`&([tbQ?M???0؛_?R????\\??F??,gR????k????????Z??9?ߟ?aC???#3??n????Dˀ???R?<???????3V?????&\'????V[Мܱ?\rZ?),?2=4?r??ɥ??1?h{?f???NnƯ???SsB??????.Cp-?4??%QZ???G? ???cBw??4?)ǫ????H??5~???sJ???Ŵ?\'b??zF?5?z[ u?&=?-n3?2?\r???r?-G?vTDn??????dPt`I4I?ޱR&e2\r????`1????XU????Ts[?g??0????Q?3??KS???????#*??uշ3?{?????p.tC??C? ?Ý/??0W?nq?2n?Ɋ?щ?W???H%\"l???????qc?̙Cˌ??????摎+??=id???L?i?G\0??R???GHx]?S??TJ???)?/?kv?~)f??K?\"8??*F	\"?/t?5Jܑr????}?\n??,?[ͦ??Q[?3???^0$??9?t\"????z\n????? oq|~?E?????\0M??5????\??ގD???5??Fz@F??f??*?J?(1	?**?+z??=??Qo??@C????yq??????????h9U1?9?YK????E?!???Lߚj?&?<R?Ƹ6!?Ě???:?<????s?I?eQ?=?ݮ?????)?????UE&[t??;Cq?????f`:CpfGb??1?*x\"?ze??0????C????c?&e?'?-n??3&?p??%o?0????0?q?6O\'?`?g?:p??,.3?BiҌ??G1\'??BE??z)Fj?ZǇ??R???Τ?\Z?W?[.PDj???????VU{\Z??})ͽ???\Z??Za?\\??M???cg??Y?,q??-)??	?9a{???:?\'?3Y?'@?\'Y[?\?xt?????%???ϻ{?O2?:??`;A0?????\n??c?'???[?9???/??oE*???}^???v?t??ڸ??T????ͭ??~?8 \n0?]???̀???i?w?)?ѱ???:??XuuƜ??>8???Ʈ»?????cuc*?+#?S&?\'RS?CMs!??(#5??<?X*?%??????,+??>?\0?s?4?f)?8&G4N?Zrs??K?????kK??)??:V??'lo\0Ød?0.q????Qʋ????I??M???????9}???̦c?????B|Й????<?i?%M???6][;\n??l??\r2˘ڜd=??3>\"L?i?$?P_9ct?\'?c??WX???#SnN?O?gsl?)??9?[?i???d?8????Gxb>?f?????\0y???%X?(??K??j?mو?)?c\n1??}?j?x+??5?!?˺W????ͭ??<??ي???LV???QhM,]?Q???\ro?\n5?i???\Z???j4閫?CHag??3??)???O)\"T???O???????3?Ή{?ɋ?fI:Fcӕa?K+ ??M\\D??2???Ihr?Go<??0ӰX?"%0bs\Z???T?j?%??7?鹻?Po???J??(????n??w?\\??g?AJ!?k>n?l?u?	??????3\0?????Z???N??׃??3?Q??~??MA?????ʦ?-\Z]4,i\"?C?4K?*???Q?+??\?}??;?<?2X?P???+Mn+?X\n?? ?Ҏ́?u?]n\'?!??Ϋ????3??Ř?x6??;???R?????????ˇ???|;7?u????	?LZ?]????	??ď????b?YFM?mb?,?	>c??????>Lm??{??????,`/\n?i}=???????f#?????????Z|?x?????/?6޾?݇Sb??!?????fC<?????7y??ܞ??`??̔ߝ?ap\\0|\0?O?GB7??Z?uȓ*p???أ?P2\"Q???n?`\r??^բ???\"B??.m?No?J??+?3?1?Si????]??????G????\0\r???ۭ@???Ā@??v??rA? z?3??=??*??p?Ą?؅p(?:x???????8`ʘ%w??*?I]k????/W&???????2??H?Fk???p?R?8i?iS?8????O?t?P}??????r{웤77a¼&8??MR͆?(q?@?????????w???7?e-?5???]?J?q|????\'?x???D???h??\\?1??\n?턠̍`?I?c??ǀ$?`?Aɯ?_?+???E????B?\nX??0B\"W0w\0?7?#!?TS?C\"??G?#m?tu?!d??E\"E[0??B?5c3F??>ڭ????d??:d?rς?@??]????I>??zM?ҧ??t???UO??\r??X2?:Q?????q?????G???B,Q+?&A$?cN?^@0?\\??:c???z\'i??A?fL$D?@_???9k?<????c??BP%?a;?zb?n$w+?T~tuw?H?Iۑ???z???]w׹p??ن?????8\0`?ā4(K??r\0(KHʳ?d???,pBK??+\"^]\013??CС????ל@z???l\ndʵg??+????p????Y?.????l?9@bv???e???\n\n???(E9YQ??e*j=?AR:e?k*-3?SMe??WJ???m?$?#@?z?4?˺J\"??b?ǈ]3Q??f?\"E?\"?$S\r?g????d?eZg????'i&??\\t??i??"??j\nC?Z3f?ZOU??f2?=0ҕ??r????????l7?|\0d&?ߋ/?K????_0?<???]?'??G9???g??L?GA?s??\r7??dU]Nuàlڑ1ӛj???ӹ8?:???emDM????\\>??TV?|??\r?A???v?-?x?#??<?c>JqKd???XFo.v?R>\Z?v?5????	?XT??6?r\Z?RL?????Yd?,?????ӟ`5p?=???l>^?\n?(k(_??Du?????/ؼ??R?>87s+?vr??X??????5r&??s?1ĵ??Mt?j@Κΰ⾓/%<???Ϗ?I?8???SNQ?cg/????8?\Z?F????C??lY????p???ȗ??vd\'??(`hI?"E?x g<蚱????k?M?jv?'cj???\????ܕr?v???#????^\n\r\Z*? ?ܮ?p??p5?????rN~?0?`?4PU???\r`7???\r?hF\0?mA?M??`C?0??\'?6x͂W?? e?h[p?+???b?O?.X@\\?A\"(\0tat??<]??hx?s.@Vc???}(???`ՠ?J?N?M?u@)??r??|ƹA0^:???p\n???q??Ɣt????~J?GW?@2??`?Hn?%??NI?-!???????9?\\O?`Qdb?7gx?ϛ,?z?1???7??????{????:????8H[C??K\'????ǕD????????&?D+??????????~???HO~K????????F\"0?h\ZD?̎?h P?!zh0T???K?90?YH??\0%???)?Vh>?O?p0??????n???ۅF?????m?%t???B??t??F??Vu\r???????(P?{?'?\nO?8?Ne\'[?8H?P-??6?a???m?w?TڷU{)ɎD-Ľ?????2;?"?????4???%????d?????????p?? ?T(A\"?eF?4???(Q??x????N1?0G8??GlbwL$?h\Z??8gIy????0?\0?L???D?@?0is?\0Ʉ???@ ????S(I?\n:A?|?\n???^Hd????o?	%4??*?\0it ???R??8?à????qI?6h]?a:?t?: k(??|v??X?*l?ɺ?^Dҏ?`????n?Lԝ3J????ʙ?X?a???f??????a?????nc???XY?ƏȊ??>@F??2C?΢??C???\rC?\r????ɷ6\r\r????nm:h???T??`#?F???!@&B;??#hh? t???#\Z?40҅Ϊ?i谀4.:.??5?>kW^??????v??e?????	?9????i?\03??,??y7\06?k3???Z??w??????y?i??h???X{??~t????K?Ʃ?,??0U???\!Ew????8\"1?K?FĠ??9O????f???????+??+{~?g\0???????F?Ж?t<?Ȫ???r???q b???!??f@?@?^??La?ҋ]É?\ZP?PC ?e??E>?t3???{1	?/??L#@?K\'?NO??3G{{6?=?	T?s!??.?{?{^???????J@?0)zS)??d=???CY _?,??u?????ni?R?j??E?R????r2?2&???Q)???b\'?\r?K??S??gB?\n??7??.?a?.??s?[燠\Z?˨w?w????sЍ\\?0Z??T?_?͜{??????X?????_l??WG???;???%??????*?T???(?Ѫ/wky9\'DU17?B???r????Gj???(??X?|nJ/?86#e?kx??іD??????%#?\Z9?X??im?ݩ?b簞?'?v???\r??/l?`?<??????֯0??&$	?8???x\r??k8?+??O?g?&????y??)S?ѱlp?Q9?1Ym?U?d$??XH?4*?y?=?eHޙ?^??d??rb.?B??m?,?󍸤pwfi??m????-?}?@??EwIs???9)????i?44?o??1??c2?m?j?????.??8??`????F/?]??Q?v?7?k?֋?0|?\nku?>&????ՙ[???|????녈??&?l?ʹ??D??9???z?rϊ?Ot????4?"8X?(4O??h?ߟ?????K?Ͽ?~????w?w?????w??w?i??w???????G?M?SW?;a~??!?E?³??????Ѽ??k?=)?m????#/??K?{\\n???'I??.}??Χ#A??\'`?.??E??Z?>9o????????HE3?aT?0;??|??[u`$s	@???????\\h?????z?$ޘ??C?uα??\r?^:Q?,x])?uA????wh؞o?J?/??????3?޿?[?#?߾C?z???[=9}???6ƛ????c?%?:?h?V????a???Qz?ʄ?R#4qW|v?c????m,_?QyF?0?e6Vg?p,??h;S\'??pl?~)iH=_????:???#e????????Y?^??	l??1?}?G?9?}e?v\'?I	?Z?uDYWvF?y??-?p-?X=?Z??????\D`X8!???&G?0????r^??7??Ў?x\Z?????ƈ??ޟF]?ko???]u?Ѓ?;?? ??`?????.?n?N7T\"?#,8}??|hn2??P?B@??0Ni>Gk? 6????3?G?X?:?I?N?c??-W?ط??j?}????6??sY???Ցj.??????n?+?w?&~eS?ٗS?깆?]>??a?zՑP ?G4?/?5??\0?\"d)?-?@?ܓB?5??l8 C??4?n??%?	=?????-o\"V>??6z\n?\!??|A?(?uE?_%b轍??ӳ?z?{??y?Ύ????O??\"]u?󎿳I?Ҏ?7ׁ?dՕRnm??FW??nkǣ?K?/?m?|?U,E?&?8(??Y??B??l??k?;?0_CT	???Ĕ?? ?????v?T&???:???H??P\n?P+n?s?B??9?????0?????m??wov?i??N?h?|???T?C????F???l??7?n??\'??y;p?E????*?g??յ;??Hku??Tc?8HGq\'?r??t=??????mc??=?+rW??Y.?qf??4g???~k???2]{?r??L?4?̂Y0??:A?n7??????0???6T?\'f????].?+=??j.??jbD%?Hƫ???B???fTٟ΁???x?\"9?Ժ?0?F?/?|=??ݧ&K???ڧe??\n/R?Ƅ򯚃>N???}8-tɽjE??E6?!??????T<?gY?\ZJ??ۧ㣕\'a$???S?????????(?w?N?0!Ukx??$??Η;{?=Zc?1?????ׄ??<??s?u??ˡ?(?&?:???"?L??/ߧ?~5??2?????.???Sns?i}????}?P2.?"P?ٺ;\Z??ϣ??OG???ţr?????&??G?y??Qw)??M\'?({?G?\Ha????F|ᶭ??]?g??p?*??=????ͮ&#qR>??[???S+??Y??&?G????}???9?2^????Gt}y?czE?X???c?c???t?{9k???w????z=Ɲ?S繐?c?Z TkN?W?%?{?#?????????].G????t[7???j_?/?F??\"=??O9?T?t???ù#?r???O΁??ۧ???d????G??o\'R??????۬?O?i????J?h???H?~yx<?9h?۲}?9\"??]????mn??C????n??i?????vp?n??9]n~l??2??N??}???n?_4}??????????????8.?6GR=??/}?7x??Ň????3?׿?x}??.>??????????r꯭F%??Z֏;Lz???x??????????AZ???I?:|L]??`	U??Y?M?8?G???}?^ܞeY????mC,??Pt?1?????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:015cb6e80200b5606a06711113d9bbeb','e?͒?8??]>?fz?H????jJ??;k?0٭}??\r?I???Y???⪴,??\r??????F?7??˿?????r?J??p8??GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*}?????FW/?Ajc??Z?!(?`Hك?a?#???I痋`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!????d?1:?~`\0???-v????/hÁw????Q???B?j\r???ǡF??۹dW????ڥb?5??H?????w?-???QNVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?ㆄ??^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ېlG?;rڑ|G?)w??I?=???N?q??????x_??`?a?5oV???????\"\\??;?s??ɟ???S?I???I?????D???|*.ML???\Z??????#?eqg????????qϼ?x?^I???\Z(~??o?}]f??9?T5Rю?h&i?}?pթJҜ???,I?\nH?2??\\jJ??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:019449c08b14b9b55d85b4c87f66fb3f','e?Ks?0???????/?z?3ap0??K?????6?C?%Y/W??}R?nx??s???????h?*Ǌdø	G??L`?򌀬*?????)?????PHO???F?Rq%y{??X?H?????????????/\n??R???PX????????????R?1??n4?:Y???cd}ׁkU?_$e?V?AS\Z)0f?to?\"??)\nJ???ű.???ԕ??/?7Q%???N41?\r??r?F_?RJ?\"A??R?W?m??X?3?\?t%???C????Dwf??+?§??$?YY?x??se]Y3???\r]??[:r?(%???}?9?0v:?1h?Ja߸7|?T0ȭ?b????dߗ??T@?ƨ|C.o]?g?Ir???\ZDuB?ˣ?!>?O????&a$?e?nz?p???}?J?k?9?w8??n?Q<?ezC????z+!?:???gy?????Aʊ\n?[??+???E?+rX?㊜V$M?u?;]ǝ?O??}}}???`?a?7-??J???-3~??;m????ƦN???'?????A?<??U?,Ͳ<?Lw+4???^?C?Ͳ??\r[Dx????c??-^?GҪ?q??C?d?~/????xSQIE;?????????H???xr,Ӽ<???8???_?Y??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:019f8818b1ef733c25ea46241803cbf3','e?͒?8??]>?fz0$??0?=NՔ0?;k?0٭}??\r?Iq?>K????9)???훹zi?{s?˄?@*???	??N5xd%???QyF@6???j??+??m????????\0??+%??Cϡa????[?~???????Qm-?Ե??????G>??????]?.?P!?\'Әj@????+0F6عV-?ERf?4???5??B????!-EA?W?8?!V?u%=?????.?D?k?Í?f?A??l????T+?#u=?????Kv??K??n?]*?@?\cH?Ի\n(??YQÝl?Tr?dt\"+??pn??+k&RM?!????ҕ?D)ը,C?8\\C\ns???v????{#6g?b?A?????7$???\Z5G?r??:KO.?C%o????X?????Dێ-@?=?$??\?lCB[A/?^?ye?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX???????$ݑlG?;rڑ?;R?eGx?G???>l?????????.n???Ê?k?,+x?7?Ȏx????????????l?j????rFI??@???/.Y0Y?h????=????#???lგ????_??^??V+??5P?0????J???ks~?l??[?????c??S??86y???<?G^$????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:01b9e5b43fe3426cc46733da3698a977','e???0?y??N?pc0???cf2?????\\I????{W<ܤ?vW??@?\"9??u??>???F?g?????FcR9Vl7???8??GV0??3???V?\'??RE??u???Bzr?A4Z??+???Cd?\"??me???6^V??F??xAP ?]???՞?d????I秃?ۣ???\ZTH??Ƌ*??=n????]v?UMq??Y?[mMeh???E4?3xk?HM*(?ҚǺ?h??+?\r???^Ёo?I9;?hb??????_?RJ?\"???R?W?m??X?3?\?t%???%??%P??\r?\\??|a?d\'?O^;??@??d?#7?`CW????\\cJI??\rA@}w)??d?WI??{?k????o%?]h??7??}?K4jT?\ny?:KWN;?J^p?A4\'D=?<n?n?'??????{?Iɱv還???b=??w????\Z~N?????S?:s???A?\n]????:?????n?no{?	+*PnAv+??H?\"???"?9?H?]???-;Y???Y???????C0????9?lw?????y?J~ʲ?.?&?\lO?T??ԩ?_?0;$???U??????r?\"?Lw+4???^?C(Ͳ??\r[(?Q\n????3?-^?G???q?釡}2X????????????f????Wd?!??2K+L?]???@???p:??<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:030c977220c0addb001f5acebf310c00','e?Ks?0????p?&?z?3!-? $W?n???+?n???}??"???tñ?`????h?}?K?+訐?с0?<q??CE{?QUZ???Rõl???.\Z?\'j?ɤ`?g???H??Q7n???U\'?6Am\r܀JʹYA?????Rk??@k??n???(?\\,?*}? ?1>TQ?Vԣ?\r?Y?Ԍ????2???????\n^?Rg?D??1\nL?4???.??ؕ?>z?y?t?A%????!?J3?Z??ݰRR?v\"^???]RW}W?i?r??W???A?J??br?\ZB??????b?w??Q?N?Q?V:???3??P5A3????l?L??bt\Z?>??S;??\r]Ű?[??z?Xlr????????k?҅???$R??APG?=0,!f??O??;6	?0??c?+?J?k??????R??9?؏?>NQ??m??97??F?????T???]?a#R8?\'?IQQiW$ِӆ?7$ݐ?\r?????m???a??????????v~?ۯ??? ?_??]NI??9??yN/eZ?1??????S?I??nY?_xY?'Q??????????8??w???!?g????\"\\(:?????ٷp/??Um???퓆????K??6Ǘ?JHܱ????[???aTY?D,?_FQ\\??AY?bD?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:05679f38577c7ff99ab9dc7209986b99','e?K??8??+?|?;?<??T??-???{mӤwk???z?f}?d??J?R?az?s??????q>???T?UɁq?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??Y.??y8*9H2:?????+87Qѕ5?fd?l???uf??j??א????????٨`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9??!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ㎜v????ؑrG???Q?????>????????\"X?vX1͛?e?"?˩I?K?#/?'?y^fGIɟ???S??1ˊ??????E}j?:;???e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???W???????MS?P???R?ť.?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:05c257f02acad29107afabdfeee5562a','??Mo?0??+E?D?,??? N???ZE?c??	棶?!?{\rl?\r??HU%$?;???u\Z?S?z?dC9??VB?!n??Qf????iT?g???\'??U?\'Q?????{8?:? ??]˩??(?ʱ??K<??o?*5???????P?\nL?jǨ?q?(??|?Tk???p?wveY%?1?˂???&S$???M?M??ڽ??Z???Ht?????C?A?n`%?X?6˖\\??ȏ?k????M?????5e??Cm?#?:+???????d????? ???\n??Y?%??????w?h?{????09Kִ?}8a????????\r????? [[?e	?l?????avr?)?O\rjoew?Q^6??K???$(?]*?Q?:??nw,??mB??{C??\0v??W7?\r','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:062d23859676099a33317f227d7c3f88','?{۶??????%???0?n???>??۞????L?:$?k???^$%;m?ܽ?{v???0?\0(???|6ؘ\\??\Z????xO?Ƨ???v[????#8?OGe?M;??ݧ?d?:?(s?.??>m???hw?????o???w????߾{???"??Z\0??}?3??R??????k?L?ҭL???O\r??V???]rο?:OS??????e?w?It???"N???13`z???H??????1???/?????qt??q??U??Y??[???????M?<.>Gy?nZ??F>G?????}W?X???g?7b???q??-???P??Z??<-; hNhY??????tu???L?7i2?z????????\"o?\Z?D??_????B?٘??v??8?<??\Zw????$?-???????_F?E\\?~?x?r??F???yGR???ח?}O~x?&q??????@X?j?,?J?C??U??H?l?)	????y?2?ou=O???\'`?????[?.h?:y????,?N?v?G?o\0?nT??????>9?s??????????QMe???2???o?t??qy?L?}\\ȇ߭2?d????;`Y}e??d?T??F]*?b{,??M???=?~??Oԇ?$J?\Z??K2,<NјE<???DL??\Z;g?9??#R/?:???d?Y6E]d?H-d3?&y??A??y\';H?!??0?)?ݮ$?~z??]??~1K???r????hn?W??F??۵	?k??U&?=JN?*???m;@q)0aH???}?+6?kҪQsi?ó<??????̢?????~??i4+??4^j̓ɵ?n???ڏ???C????5????Y^Fe?I?!??M\Z????{#??!T ??&?|?Q??H?????2???4~?"3ݴ8	\"J6??J?L?2??M?J??}???)L??m?????`n??k?+???ף?%?ŵa92???Fٴ?????谍E?O?Aˈ????8PP?q?]?e???a?u???J>?Y??e6??~?zŏs??kN??!EC?+?.???y?????}?PZi?1?r?\r?\0	????Eta,?]?7??????}??F,5?S?71_??V?`3?DRW㼱?s??U׊\n:???V0??JwV(V????A??d??o?????gj?RevX?o?W*ʬ?????dz%Skj???|???)?E3?,c?\"?	p?}.???9l?*???]D?iH??/????)6q???$?\\/?b/\0???@\r?bPJ?\"???\n?s???G?\Z?w????K??j???pVWxmI?m???Ε??gM?9G?f?ʃ\nZޣ??e?????L?F?E	깑???????????????i?c?x??qy???e???M?u??????[!\05g??9?????uR\\t<[?v1\\?!?e??^??$?i?c??*j]?y???W[?F?ѿΣ?@?5???\Z?4??)?g1ڤ???\r?P?f?r??rFV??<-\0Zl??P?Ђq?Cm???3??:????F\ny?=\'?x?9???x?nAjl????????U2????w`?.C??F?`?Y8P?^\0?蜞O?޻f??hY????q?,?M???ݑ????]?y?u?A??(???i??˭?L??m?*8??\Z?;???^??e????+??As-??O:f t1y?k?U????n??????n?????tY?~q????,]Ӛ?)?G?ǈ?OP?i?T?E~?t\n?RtX???61x˘\Z(?j???J??7\0^o??R#x;??\?RV6MV?^???M??h?kt	]W?Y?g??e?~\nQ???Db?????C?Y????u?r}??ۿsXZ?a?R?5?N??r?5`XK???l0???r???????f??;O?????hAGY	6ͦ?	??4)?Q?hH???֓?\Z]ƭ??v??\"ɊS???????<.?y>?y??SZI2M?{??<<???????????=~:?=??2ڋ_???ZO???Xۺ???>+???\rW?Y?0??\0xh?#.??"?&?yh???_7\\o??-?>?????ާ?\'?g?rX8?G??+o?A??-???V??(\r=??j??	f????z[V???3?H?n??U?k6???;42[???????d\ZD1??5o???*??W??D?)??jG[rB?%Y.].?$?=it?Wq??*}???ʰ	?4?????.??????ȳ?~?$????r?`*???iUw,?ho??b?#P??r????G L?~?b\n&?}?RbsHWIi???4?#????	A??y?2??V?\\P)?Ê0?? ?N?@?f[???BW?/?뎩???C?????s??pX~<9R\"m?F?????????Qfm???h&?N<i=??F? ??3H?C?????ݴ?Jn}5\Z??g?\n????g???????h|Onq?~?Fhf7??%????1???eot??????-4Q0i?????qL??l????????,??|<\Z??=;{?bό?\rj??pC?h?Vc?????xB???7??2S?\'&t???P?F??B??z????\'\nK?0Dg;?%ϟ???Cp??$?h??9-????n???O?ǽ????ON???`?xsg?ŷ?|>C2???1n?ÿ?i6??-????Y?6?ظ?????-?6?EC???\n?\n+{??.?q?\rI5WQYC2??x3?;???Z???k??????	???<??JFy~??P??"?X?$Y?M??v?????գ?\nV ?$?3i?[??N?p=A70Apq?(???p~$!????Z\'Y0??????S??Fq???6˳??ln??HJ;?Y??r]~??E???\???N?%??w#褊?,,??C:pIU?qODRI??:4,[????&-~X?f?P3???mu???????5U[4Rt\Z}A??b??^f)???>6????۳?`N?? ?Ϯ	??.~?&q%??????9?)r6/?_??:?똯?bK??o?X??M???ӱ?A8K??0L????`??.?VU?vEk?*F|?_k>Me?n?O?h&?E	x??9??<?J?Sc??:G?????*`l?o?????L???D|3?ɗ?=\nmr7gt?jg??&Z??\'??????????|T??b?,???TOFY|?Ә[ї???[Q?:M???\"??IR??!{J	?9??(??-?????5wS?8?+?????M3??)??:\rَ? p?1x?9??z?a?X?h?*??Y??????AmPW?v\"ɰ\0???c-a?Dӱ??W9???.????O??O?6??.?VN/tS???^?P4???Н?8h\\Ci??>??&\\R???ȥXƝ???8E??7?ο1p?\0Aq???df?\Z?EIk??+1\rK,S1X2??g@??X:d??ζ/?[|?0X??̭???vO?i???<???TC?l?>???Gn\n?6???ZA???Jx;?%??3?)̬?{\0?\rR??P,??Z\0??YV?&>?Z????I?Fi?_~?O?I?B\Z?U_@Z??ny}??qG\0????ِ?0??y??ʷ???X?\"??l?Lv?B??L???g?w0e,TA?:7/?RI?????ɔ͇&???S؝?i???\Z0??u??1Tw=?჌l,??L;????V?7me?????ա?҃\Z????Y?¯[??:^aY)\\!-??5?<\\????.$?Eiʒ????6/?dE?g?2?P$c??Y?簡?>NV?R?=?z??3%??>?0?+F????QQ???\"???????8⓭2???C?m?d?֯??\r?LL?*?\"\r]~?R??????)?????i???????Q???ll????????|?xJ?9?X?}Ki????Д?h?]?\0&??oj?&k???vV??Zi?R?_Sg??eY?!??}?ۢ?D?Qz??]?,???"???qw:şg(??vr???7????G?1LN??M]??x??[?E?xh?@?`6??<J\Z??!\\??i-????$??i?t2r?????u???????m/?BR?Z<h?jmUIp?MP???oh?u???'@f??/t?ɓ??;j?x????v`{?AEM????? ??C?p??&??e?d.?aۑ?? ?ہ?:????L????J? ??dFSrN? ????$@Z???|S????ӣ?<?2?R>c6-RU.N?? \\^~?????.??\\EOe???	A?Mhdj?h??$ZR\n5?A??????3?wZ???.M65??e???\nk?F?]uCw?reN?څ????\0ڝ?,?\"Z)?\"?m? -??????uٮ?&??6NC??j-??|T+T/Pjdu??n?j??v7?k?ɭ???6a?t?k$?Z??????r??N??g??Q3????O?J1}\n?k?}5◯Ciު??	w?I?>i돰?B??\"&??d?4???֢?E?n???????|?\n?p]?v??u?????????h;$W?\\??4L*?֑}??k??	?	?jIʜ?????m?Φ`|?$??JV?@?<9b???I??l?S???v???m?ʅ???\"W@?????????\\^nu61?[g?g?A|?-q?\ntܧ????b?v??s?7Řr?Ȓ??c??Mؐ?;?%??ʩ?̫R]??ZGvj?kp?eX?!	??q<?\\??+\\?(^?4x?-ZK?	X????Ub˘?\Z&???p8?\n@?80??????z-\Z??8??-????\0?E6????|????'	?????v?????Kk?qgJ??/??*??m\"???aWsk5?????????\r?v?\rv???(???!????f?!\\??27??(??g?W?k?T?????c?:?_????!5,?,?$D???\'j?b??ڬe?Y??.??????t???????V	U?h?⻙]-??9??Uw???핀ڊK??????X??+,?Q(?B?d???\Z\'?j?u????????_?W?Z?7??5<?VR??E+??\n?+pފ&??Su,Th&?.%?;<?]0RmʰX???z???.?.a	????GMNO?\\H???v?W?M??.???\'W?qRfyO ??????4с???????L??4???uY?\\?z?օuu࠾xnL??Ԕu???}p>???s??Q?r???\n[????_???\'9ڢ????RXj?????c??x?z??,??3?PP?e???x?~\rJ~{~p6/K?????o?? ++@?ټ????2???F[??L\"?ǀ3??2??Y<ſo?????\Z~#?」/\0В????dr??c???<$vw?\"\rLqQZL?`?b?R?s4?k&??N[????????????:?.?Ϊ?Y5R?A?*ƪ??????)̈xU?k? ѧv?F????мH-Ô*]??l?[40B??\Z`$*?vA???_??@v@\'???kYQ\r?P?Z	x???c????m??޾^34?%T:???Q_?ި?F??? ߈M???????*<Ow?bE\'*(?8a??ـ|??M????s???lۇl?b$f4??\'?E?c??2I?*?\r?~s?~?????a???*^????\r~?E?Qy??0???}??״???j?H?npX#?\\F[???????w \nZ?????5V???r9??3]b?\0?$???Ef8?TI?4ؗ????%\r|$MpT??\n0??\n??C?.-??O??f?!q]??E??^???У\"??{?0?r?>??]??hȱ{\Z??-?????斿?(????]???|P???E=?+|w1??$G.???^2??nӍ??P:??&?dz?L?t?>?娰V?\"?-沜??*/?q???\n????A??M?)?G??tiMQ?h<A\"?i?w}?l??????+vW????%Z??oM??7/??z?8Q???9??????.?or\"ɓ4?$??*?S??\0p ڋA??i??q??\"??\0???WyTMQ????????????%?5tiPT????\ZC???????\\\n$PUw?ԉ????*?*?y\'?v????>]?E ??"?z[??^Ӻ??!9?b????Y??& ?????????V?,X\Z?@????`????`?-p??G ??\"t?\n???8;D???+??Rvj???+S[_?\'??\'Ȋ??uM??\"?)K???Uk-?L_????Z?lĢ??.P\n?CC-݉n???????\r?^Ѿ???MeP2?\nȭ\r<a?Tr`DNէ->????p??f????_?>??\\??U?_?3??S|R?x??S?JR.? NW:???Mo?\Z????{?>???|\0?????*????/???&?wE????????t?3??d???t?v???Ï=?領?p?1sB?rhZF?n.s????!??cЈb?]`????f?w-??Z7?????:j?eaS?U%???.%???Yܤ?Y?Æ&,\n?[?\'???j??r?z?????s???? ???????\'s?ރoy?w+??m?\"j?r?k\"???qF?A?l??\\$)ݤ$?i??𡐸?Yg*?Vc???\r\Z????????\"?]?s?]<?W????n?{?x3L?w?g+j?r.-S?o?<?\Z!?RJ?3?I?B???v?[Q?ZE???6?[?\'sh?\"Ჹ??Ƌ?g?;??쬿?*3?ź???\n?`?kX????t??????e????k??7r9?a?/??h\r*?9?)?ui?T\'?\ZW^??O?VMQ?@?????????\\?? ?-ku?xؐ~?	??.Vow?\n?D˥??$???{??ٻ?W w?}B?/????9??\0?D×?vٯ$??ћ	????R?Uen%??|$?]?o?t#??T?|B?FtG?PDֈ???e?<-8d???\Z\n???????)??0?M;JNN?????L???#?}?q?!??.?ܵ\\???[a?E~h?Ʀ?r???\r?g??#???Z????4T?????<MW\\4????W?h?t;?a?C????????egw??b??0?????M?<d??wv??>{???߼????????????????????&??ɧ?t2??ȋr??????rЌ?]V?<??????????ux~2`?b??Q?5?>?E5\\????sW~Pq?Mo\'ټh??*?t????J?KQ\0??qu?dl?\\??y?aoS6a\r???zo?ˆ?I?[q????3??y2Vd???D?u?^???\\U;?՗?oɊ\"?m?hXTl)??+??*????????5P\r??{ϟ?U??i(X???4??o?\r??7>??\0?Єqf?у??ax??????V?K?hݗ1?Q?????';?>Qar??znM?vu??6v????\n_^???܀????v??aDu?????1????\Z?E?N?4?3??[?.SJ?x???LIJ?&??Ϯ???^?\'??[????4?Z}?\\v?ձ?mWd?\n?\n3??r+?W\'?L?t\r a?LVF??6S?\\r	??T???Vc@1???\"L???y?????z??\"jO`???7?P׮????????L??=J?{?sp+[?c?sUZM?˨1:?z?\r?<??=*?d??-? jm\r??5????y?4?Q???%O?<?\Z?V/?oK?\'?s[?}??Z??????8S>?C<??|??;Z??i???-????]???o???̪}??z4?)i?j\\??????J˞?Sx?t?L?LV???O?????????????oJ_o?U??s???A?ʦص3???????t???Vz?Q????Ga??Ǹ	a-?{???t!:?#??Xа?Y?????-?Sv?????h?9\r\r#?:?y???21?????oXJ??s???|????6M?c??uʺKK?J???H??\?b19???$?n??V>??r?6??3j?S??5??#j?D?]?????U?n?6(???\rG:?I?+?????=???^]???W?????]???&????#?ٖY?????????ӎ;??????\'?\'؉?Ei/?????]?њ}??z??n#?????`?I??i[?h١??l?x?=???????E ????_???ِE?Gr??Dj??<?!i	??????x???uR?i??\G??B?_??|?!??ă??0??t??\\A?@C??>`Q,fYHz??Qw*< ?(VD@?Z4D????`???0?ơ[????̥Q ?X2??0J?Vo2f?T&?5O?\Zmv1[?;?rp??????:?g,??C=`??6???Z6?~?N\\b????<??????̮?ȡ?Y?\0?M?????????}?\'4???qGT??!{?4=?)?x{\"????N???O??_]????????\0?N????ģ??\n3i?\'zڬ?~ó??\n[&??v???S?k????[χʀh???Q??<????2??^9???x??f?Pa/?CP]??gA?&?l?J???d?????&ص???f?4???KY?\ATn?|0??|?jh??~??@??\\???5(u?&??V	IdM7?U?Ϗ??v?/??Z????9+???ѻ??6???4??<???Z?9??W??\Z`??p\\??҃???>??Dq5^??j???=Ψr1?r?YaE???P?n?????rr&?2?W	?t>?J1?r?L?'>q1????cn?N)?xNqF??>?a^\\??1>P4̀~z?DL???|t??3??????jg?????Id???|?MW?2??????7\"0O\\?&C???u 5???hQ????\ry\0?k	??<?+?:uը?K/???뛷???p}?a??FgߒL?ܥ?o?iZ?&!Շ?%?f,?n,%Z!??\r?W?Vɞ?$u??Lǚ?z\'?A̦??ۺ뭶?\0$G????%5DO1??h?{S?????&??0???qT?CD???Y???ZJ\"`?%]?E???w??:???*ꓦ?t!<-~W?L9??~j????????:?\'l\n???????`?z.=·??Sp???7.??'?QJ??OM??J,,?Ϟ?H?3\"???s6M?\Z?S??z2I??Q????r??m%v?~?rbL~??5˝?????t?t#????W?i{O????p?????_????;?OO???=8?m=???g?1w??S??}???w|???+ ?6}?%??\0\\s??\06?=??r???Ң????????]?l????`2 ??3???fo????????}|????N???÷!?>?\'??????????????6??o?%\n^א$1?w{;Q?n??T????>??Jk??Te??﯇?-?珓????n??>???wP`_??vDTG;(?&q????7???{?U\rPz???N???/>??oX??<_P??}Ah?\r?6I???K??2?F?x???n?j??5l-???ܐ????rh?lå?4?m8$?^D???|6?8???????Q????=?찲??b???_ȿ???,??{/]?Ã?q_?T??9?$Qk*?D??&q\r8?Ni?ݙ:$ˎN8???9?o?z???\Z?\'?^???6?M??tʣ??b	F	ނ?-\\ފ????t?\rk??????\'V?+?=?]B?I?????p?Q??YG?>?:]x?i???qk??-\"F??????Է??T??QFf??????\"????????????!????s?w;?:-?~??z[??ݟ]?rT??{`?W???;*?C(???d[p?/	????????x\n??s%??|?	a?I39ʣ?????N???n~!??x[܄\r}?L֍?1^6w?\'?+???1w?տ???\r\r\Z??$@?s??Y??\n?4????.6?=????k?\\????????mQ?K+jA?[?\n\Zǟ???y?C\\??9j񳃍??|?o?R?cǠ??e?\"??ISZ??v?x4?	{8͋zxTp???e?uӻ????O?ɽ?????????????7??b??i?????M)܄^\Z]Rp???(x:(^??\'?{?ǣ??x?9/谳???D=?R????GgGF(??%vnj+??Ҡ?1+O?A?>?,FF1??????ಥ?\'?\"%??=?j?|?e???^???T??c???_m????&?,\Z??`R{gTP???W-???L%݋`5?6L?(x+Ԋ?E?%hk?Z3g+e???n??Nc??}???l?? U\rb??????,???Tْ??-,?????,?>Kʢћ??o??????X????׳?\"?E<??-???#?t04d?n?$?I??????o?8?W???VN!A%^?W U[i@9???p:?F??.hb*.ԍ\nhc??9????iI??????\"???$b??&???j???6KHQ??@ѱ5?PAs??p?`I_5??&?0?????o?T}?L?$N?[{???k?\nuCp?1?|???gg&??(?1?|???b\\R-?3?D??j??Fi/?4Jz???ku????U??=??BG7??H?@[?U??????tė??gz????5?-?Z? ??ZY,?Dk???·V?y?)?&E?:???8s???????Mf??v??/?`?/??w?W?>x??Vw???80?5ˮ̅???P?;\n?v\"S????ǐK?\"`^?p???jG??L#NBM@??M?mZ!&8?ɤ?n?P7?????r???-	??%??%f?5?u{?=cDӧ?TpL?>b?\r\\??n\r??»?Vh??X???<?ԓʺ|???@-9?=,??p??<\nt??k?\n\0<??e5??CǈU???Cy[*?f??h???˙????򱒦K/??i-@.?ȥ|Ц &???H????T?5?????_??\r???rC?݋P1???ivFL=Q?\"?nPQM???Q?H???Hh?@؁??????ʰ??_6RT.?P{?n?????x?1/?)V?[y?v???S??>?ӫ=????\r婙?7?׼?0????q?hN??B???H??v??????3A???4}???r)???@Q???????E\r?????.?z?<& ?y?1??tI?a8[????n??&?\r??,??????g?5Y#7?r?6.6?a???6?l{ؿ???H?r\Zo????hb??[4???????6?q??F?pЀ?j5Vڄ?5΅?\r??C????A?Sy?????<g\Z???C???k?Ψ???Ϫ?????3?NS?u芦o0?l?x?Ւ?????J?f?naB{?_uי>?F?3??wCC8???^<zHa?^??P??.&??\'n??wk???%nE /?<????_?X?\\????4???I?\nCV???s?L????\"yu?b?h`HE!?*[?????U??\\?[v??B6?Y?\"Ĭ%???t?IAqia?KቐD??4bS??]S?d$?|?tU??2?8JC?݄?r%??C??׀?\"??V?j\nFy????+?e8?>5???ò2??f?̬?p????}˷?|;??M+????s\\??)\"??\r?~????X?s6?)?q?8K͍A???).؞D5?E\Z?d?n?0?v?\r?1?;???㈗P\n??K?$?\n&f??d\'?Ea,?????????z???9?i??ԎF%?w?`b?:+M_\\K?j??G????Ú??TZي???diM??N?ת?\?4*`?טy)f?????=???\Z??Ǝ?v0???Mk????7??B?[nrd?\"?????????t??3[??j^??????????7x??Ǵ?C9}E9??`?񼞐????d???H????G?O??:pN?{??gt?\r??f:@\\ ?T??g~^1?q}Fg??C?1:??.p???w?zJ??}7?N??/rr????ڪ?0?d:?HW|?ȴ?bݤ?I8:?Θr?R?I#??5H??&W?UEd??2??????0-??ƸkU??x˨96?b??/?V?q?DV???^e?֜T??????)΄??jLQ+??~??????ww??q6?Z?`\'C?\rq?kg(????\0Xa;T???5!?w??l*?7N?3?<J??eL????ߦ??X? ?2e??\'\"?Ȅfp???В?1=B???\'?v??c?D+ؚ[??Č?????N]??d?|)?V??.OT?kZ???@??????w?噑????u#T???#???u??????I%???us;??ְc???݂r??\r?5?i)????F?"???????\r???X?7?v??KN????{?η8?&v?@^?^YM????*?8?t2?(??\"w?-??J??IW\'????5C&h?]&/3[7?Y?_?????wj??ǒ?$???w??1ϒ??????d??!C????I?=?A??TC{LL?*?WOw?M???5??w5??-E|?o??+??6`d??:	n??O??uN???Z?4.?4?.=G?R?)x???Br޴??????????\n??0?;???@??????ì??V?n??b?rj? I??}*ҙ?&??M<NbA??`]oC?B???{0t)?~>?o???{F?=????????;©?-u???(6,??[?s?????xR?C`Y?&?EP?f??ғo]2֙E>\n?e|??n?zŖ??H???e?~K?G?ߧ?T+??vr?&?ܞ??????n???i???NF?7cM?K%??ly??*????j???\0F?\r???__f/\Z???0}3LU?wB??z8?sN?r????U?^?nFe?.?K????0h???1	pYNǥ??vD???~??!????[aɪ???G?+(?W???{i?????p,?O^̱?uUy)Q????Kdߐ?Z??????,}?I_??????[?w\\???\rV?[{?DQ/???c?1?RD???V?=(???#?Ð??h|?????n?3?h.!?Y&?Rk-{?tQ}Y?\'x?????!/y>9?\r??&?\'x??^??E?̹=s??????}im-?#??*P?????΢????jǼ??l\'?\n2G8??????9h???d?7?/?/N9p9?1???\r&?9??b???|w???????<??2??yq???b?b?w??׭\'[k?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:06cdd24268e193f741814667372082e5','e?ɒ?@?S??t&?????0?c??R??l?????6˶???\\?q~?,?}qB+?b?}?KA+????a?J<q??CK\'?ѶZ???Fýl???.\Z?\'j?ɤ`????:z??2??NWi\'?(m??\Z???s??>eG???=??a??r~;P?~qgFQ?\0!?塖*v??[m?Ȧq?f?U?~?ɤ?g?e???EP??:?%:^I?Q`?,u??U????'?Y?y`??*??l?`_P?Q?v????B\r+?re?u5?\r?(?[Jv????j?Y+vGN_BH?&?C1?D?????J1\n4????Z;c?????f?\Zߕ????)qP??C??^|\nK?=Y??????;?g-C?^?\\q??7(??q??j?D?ty???O??)????#??3@?'???[???؈ɥvɎ??R??zz???S)?#|????\0?(\\???~C?ܚ??F????H??	?q???~?gR;3?;?H?iw$>????$?????$:??vt?;:m??????-n????????lRM??)?*˛2??jieUʊ<???Y;???Iª4?y^????(?D?5M?ַ??8???0?C?????x?????g?????m????/\Z??5~]zµ??T?B⎭q&q?}y?uZ?s???	Q??E\Z?Q??R?2???\'?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:06d203c22edda67e5948859aa0fe8787','e?͒?8??S:e??l??r??R?Ԁ!y%a??ߖ\0.n?ݭ \\?yR?az?s??????q>???T?UɁq%?xd??<# ??u?vB:?Ut????D(?\'?$@?E???????ҧ?????j?3Hml4??7B?r){P?H?=?<?~9?=j?x0?A?ԟ@Lc???N??X?Q?`??ɘ?????N\n?YD?????FQ????R??????V?u?`??<??4?!???S??6x???UJI?$???G?j?????Kv??K??n?]*?@?\???G?\r?hv`???o?J??2?`?~????f\"??9???3QJ5?e??kHa? ?h?J???Y?}/??F????k?*?Q?*???Y?r?T?\r?9!?qep???O?????ε;mHh+??3??w??*9??>??;?<E?0??????X	???S?ۑ?q?]??Vy;?'HYՀrrܑӎ?w$ۑ|G?)w?i?G{?^v?ם???x_n???O???r~>?(ʬ????n?)6??k?/????-?Z]0Ijγ4OΗӹH???????!?\\???\Z??w@o?!?fY??m>(xy???5?3?=ޫW?j?q??S??????ˌ??U?T?V4??}?pչJrA???@^`v9?evH\Z,??x??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0704d064d3ead92acaac2c01f7631f37','?c??????Ɉ?%?\Z)???m?m?q??g?>??d?????????7I????6	???`\0?|?E???9?????n4??,L\n???E?}??p3J?^G??????;Y$A????m?e?;Ij0<	S????????oO9??,???{?V\\G???b?BgMls??+?X?????Z?????9L??qxo???v?????Ͽ?B?v??E??B8??.O8???5???3\\r????%$??Z??q?õ????vKӛ(4ۊQ??Q??~???)9ɹ?<??2v=ku?D	p?9??W????V??Zr?nx???0?:??Z[? ??Z-?@ݳ??f?U??g??,J?S??_?CU????%BzIx?lg??<,΢Yh???8??O?<??^????q2?%P??*	??\0?}`?d4E?$???\\??D]h??(?8?x????$j?Lq??@??*;??Mh?i??n????w???&????˫?"?.+?$/??R蝖%D?l0ʿ???e??+??@A-G??@7??a[C(j?f6?F^o???L??0j?uB??3???G?2%(/F9k??????xu?6??????Bͤ?GY??57\r\Z=H}?]??7?\Z?<?Fq?ј??;n??8K?\Z??׶??\"????????tn???o?\Z`<???ۚ?m9.?!??CL&?]??????oV?XF:??&2U??ק4w?????3Bq?$/???>\Z?AjW?2y\r?0?Ȁ??VK??-?[0?\\ϴ??\\??l??s????? >????4)???Y.?&?3??"uDТ?O\r	Z?1??\Zc?U?????u???E)\\?4s????"??C?q???-\n[?(?h:??5?H@=c?A7???-g??$??d҈???ϰ??$0@?V\Zѵ2??N;Wm%?f???׼J?[G???\nl?\0?y!??g??X?듯y?u-i??i?#;?C}I(?-??K??[}??4??\'??2???i??%e?????(?????63??\r?۠|????Fӣ,e?\"?pd?]Vlű?!s?30???l?Y:??>??4?S?~^?X):q??d?????c1/\0????	?T?P\"(H??䠟c+?G6V3\r?????I?5????J??;?5U.eo?4w???o?i??;???\Z?]U?w???*?\"R??}????c???*??͎қ?HVQ??????ܰ?m??8??????"1i?\'?2????v?OmK???]ЌfW3TKm?W?????dc???\\g?k~??r?Uk4?w???5??׬???@HF?OY8???Q>??b??K??Y-Z?L\0h???Y@iB?W?i4??j<ԔN???WqH??=G?X?9???4a?@Z??r<?1??^???1?;0?V?AC???֓?\\?̄?c S?j????)̐??a\Z߈\"??e?Wf????_z???0L:????5h???J?\rF,??????jU?G???O?ac*O?iey?zw\Z??]?\r(\r?m?0?ܣcx&??X?+????Ǥ?i??z????uNl?lj???%?y??\\G??I???"??4?P%????\"?~?c?????ڴZ??X??%\Z?B̵??ì?M$?lm???8B3G???7h^??}?]???`?EY?K`\"\nG?$ƱQ^\0???^??I?/??a{?}娴K??????3|L????ŀa%?ofb?}Cϝ???[t?????A?^c??8??AM??u???$M???ʋN^|???@/??d?I#??~4??Fi~E<?t?z5?<]dA??8??̢$?|?y>8??=:?O_????7	??^?O?????\"ibm?~\ZT?}???5ݦ???0?\0?\0<???\r_???(????P??w??um`}?w?ރ?c?2p?rޣd??Yk?????E?????_l?E?'???3??W=???U?0yP3=ɻ???9|%tc?	?whd?_Y.??b:??E??Kk??}\0T2k?Um?%&?˾6??(??I?0Y̑????보L_n?38a?o?G???]]?+K???kM?t1?G?\n	)???r-6u????:?i???Ʋ}Ț!P??????G ?:=r?䘬???6??4u?#mP??ZM%????F?s	A??y?v???l???T-D@???N??`i?{?9???k%b?b|???\nƒ\'?],]???X?d?#!?Zj?P?]?B[Y;>b?1?9?Q2至???s?0?G?pЅ?Q????y\n7?	?`8?,1??N??7?\0????????o???ѭ???~3?QZ?????C~\0?Xt??/MZ0?K\Zh?`?\'9????????G????}?????S5&>4???\"???GXY?!?	???w?c?Z?[?HE쉜s?v???]??????+?ޞ ??<a#9a???x??0;?s????H*???f3-??ξ}~q?\\??{??}?m??????͋??~??w?}?f???!?????h??I!ܲY?r??|??\n{??(7?Dc?j%¯??????D???I9W???>?L$??,5@?%\n+\r#`f?A:?q?e?VG??p\n~O?>nÒ?9w??ʖ????c???E?<???!v???5?0|?\\???+? ?8eCTB8????t??\\??Z???0??? ?????D1???6?9E;?67?q?z??B???#??+s??e~?5?8?0:??`4?m?vMRe9??\'\")?JD\r\Z???v?(jy???#V!?+,jY??6?]??Ֆ`??[i????k)\Z??~lh(???܇by5????`???Y?L?\Z*8DX?5!???\"?tN\\????E?}?G?!C???-??????Q???6G2?????a/?:a?R?????n/??/?L@vyc?\ZF|?_c>Mim?OFQ?\r?l/??????N??/?~??]?;Coh?R)???ۀ?y??w???}(9J???V\"?Br????G????\ZI˒Mc??d+????{A?c?f}H?<5W?(??&?Of?\'8???pp?/p ?-?6??~???K\rT̥b?i?K???8l???????F?r3???~l?P(???\n???]$?wW&?#?g???l?nmdÆ????y???sU???&㼧,~}???X\r\\?n??G]b????Z??L?M<??\"?`?K,:??\Z??>?????簴?\"?f?:P??????U???Vb???QR?S4Xe????ֱ?ΙOۜ2 ?F?F??\0??\0UyRp??\r*?4??;?T?8%?0?L_?????\0Ȩ?#?\0?☒???\Z\'??ˎo???\rt?z?\0??nZ	N??\\?ǚR\Z?(?)\ru????Nw??N<?-??xn?p?ڀf????:<????q??9!?Xΐ?af`ލ9??#!<??O??=?????????????????/??????(\0?sz}??gI:?fۻ??4??1?0=?:?4?S\0?G???,XL??Ѹ??:L??Y??zp4?Ŋ??\Z?*\rM9??8????nXLD~?&?g?"????H???0?a??????S:0?r???\rے?A\r?????(D}??Zi????8|Dy?|t???4???kk`??.???E?AMJ?%??\Z?U??J?E&?)??,?HU?*????U}?????L???EpjQ?࠺??<n??\0Ñ???`??9?\"?x?Up<v???:?Xm?apF?C^6?a)FNd??????d??X?MÎneE???(KP???\'???@?3?!?y\r?̖????ϔ?NS???n????8??.?5\Zs	????Xxb\r~??\0??.:s&?bGԇ?\rF?О{C???%n??J?7??7??LHD?H??????fH??Š`?K\0>?v\Z??2??\rT?رř\'?=C(TW?{???o?????6_?????4ޭbC???X?\?V??f?:???\r?l????ˢ???86\'??H?K+J?\"?????&?Z?XZ?N=??=y??k???m?Wi????:j?A??F?mpS?I???#??f??=+??}??%V<?4.??I@)	???߃M?Ν0:??^?Уq?JI\"?]4@???ulEw?2t?N~\\t?M?0??o?????|??\"-=??????????=PY?W????x????6?ep??4?????a?77?z??ט?????0Pj;yS?3????O~Z	\"2{?8yR?Sb???????&1????:7Ӑ0|>R?P?D?np*?\0$X???H???a??~?`bx\'\n4?|c?ՒeʮI??3+?{?gH??]a19???.?he?7ёk*^?d??;5???s?B????Gi8Q?ݥ?xގ????"??L????????k???̿[d1;?n?vq??????????C숦?/w?????????Y,??va???D?%?0???=?)??'?p??eS??x???t??Wz)zz?i#?-????????OX??????k?1?x4*??V?\n?0??٦#?dѼx,?1цڴYIyꐴ?r?hB?j?Ǐ????D?a???(??????1j?q,??0?0,?<I	1T{???j@???b?]??D?\"?8??@E9???gl???:?S\n?n?w??K??\\Z%\"-?&-?\r?8?q?/\r~????"????4?z\Z??.?Ä??X?M|??E\ZA?????$????ƛ??O????kۯ&??̿?Y??0????????R????AO>?7??53-}?`_`??ÿ?ԯ8\r?Q46?7??N??~;??\'?K???!?.tR???\0??yYs?0??LԗY?5???k???TX??mfa{????X???e@????&??~???O׹?????w9+??r?\0j???Sl??۹????x1K:??rp?ص???L/??NS<?:w?P?],	?0?G!`???5??[b???I?{J*0ѥ??s?u?y???w!?ժ??YS2?t\\R???4???\\?s???]?ʙ???M??ήXJ???!?0???u??????^???? ??e???????tF??ɸŒ,*?;??-?P?Є?[???yPHi??\"??ҁ:1?3?L??N?pD????x}#?S?#/qR??Q?M????5G???g???k???e!#\'߬F???U)?0o?ؠ???4?/bOB??<D??????V??N??-\nН???B\n??S?h8e?\Z??İQY?j???\\l???\?\ra??????????2?bR>$???\'Q¢?c^?:b?|>?Ň?:?#?K?K<IB???\r02?m]Zí?/?Ւ]o?I??????Z?=Eσ֣??	??V[???q?????r(\"\"??????D???????p~???zi#?R?K?S\n#????)?%^???r}m???"?>????5D?/?`?xt?g?~??`??(?v6??vU?3?\rTû͔\0u~????~?\??m???j??Q?:M??Ú_?? ??Y??YzD?\"?????????Zܳ????*?;?GO?|:p?;??^???????}q??????????.??{O???.=ph?j?ߟ???*??2?Lo???a?ֶ..??m?6x?Nl	f?????\0??L?C??u?~?ݝQ?V?=6??nO??]???\\???a2??|??co?>=?.W???????[??\??p??go<??8У??^??>???1????N???$I???O??´?W???]?إ֒嵩?e????Ԟ=Nj???ń??r???(?oIX}.??J?N޿>?e\r????k?z??&?˾{?V???O?z?m?=?ٚr??9???Z?U????i???o?ó?%??Y???`??1??s=R?5[?-??܆?é|??????ӻn?9W???^??C?????/¼?b?^~sf\r????q@,w?ሮ??jV?^~????W\\?޸87?;???????<F????E4:???h??K?9-?9?????9:?kd?d,???f+ ?ܝr=?????u?il4?nU銍?̊&!y\r?\Z????]??1f??Ƶ???????̴???,???m?w?`??g?Q?>X?É?,?IQEKq???)?4]?F?\r&C?B???U?IYl?\n%?D?WtE.????dbAc??Y??a?z?Q?H???6??-V??{zl??k????P?r?1??Yc+?~?*?C(T?[d[p?/?P???rYG??\'PZ?A?(\rq?j??a?e=9?Ky??????h=??-?(B?x[?5]?Lֽ??0??u?\'\'?s???????/״??Ҫ?@\\O?"-Ԁ?cZ?????tf/K?t1?\"/u??64L??s??\Z~?N?%P???\r????\0tqœvt?????Q??.n^?!d??:???4?6?J??~??W????T0?q??߹????G??Qut>d?t?1w<\Z??b~????#Cs	%M(?/???eF?ܳx??????1???;8n??\0??/g4?p(?	???-t?\n?+0??h?V4p?|\Z????????`?z=A????n?G????T??2?qO\n??5_???Ac?Ę@?@??>yϭ??%??????ߐ??C?B?\\???*-0\n?????A	?1??????ڝQ7?m??v??>??#3F?	?*??[k??T???\0??e????5|??'?ϣ???Y???K???iF?l\'St???N4??ܤ???цق?????n?$???	???~????,?\'\\A?H?G7 T[?@Y|W%???????\\??>???A???????Rt?cIF?\Z!???@\\@̽?ȁ?-??F?n?HQЫ@ѱ?As?^}\rv??u?/?ꀡe??Z!O&???????,J??????t??Z?}Cp.dx|??9???r+X??ޯ?N10???H$?3V5=?5?Kc:O??e?L%????#k???\n]Ͳp?#mՖq???ߧ\'?.??r??-lmjW]V?\nk?gr\n??։Vg?????)?gy6l???`????J2?????V6[:????޳.?????S???iz???#?ԇ???K??? ??\ZA9?\\?A???\\g??;??<????\"??Mj??>?\"0??a>A?|??іQ??qT(D?ǀ??\"?F?E,4f8|??w????!M??[?gAY???p?SJG?4l?Yn?k+X??kb6????,_`?@?c#?r?y??Tr\n6k(?~m????ei??r󛢖`(nM#??֗늳??rs??|LG㍂瑷q%@.??N????z??????V????????M??u?Ɛ_k?0?????????tTR??L????̱?z ?6j})????)???(<?/????\n?????<d?O??M?VKx?z???S???ȁ\r?b?\'\r0{??L??Hߴ[???;?a??A???Dk?ۭ??%QL!Q??e???ͭ?-r)??????mQc@K???U?SknU?.?y??ů#:?]?.*1?{3??׋???e?vs}.???"_??Z?ѕM???MgX?-y?VV???rq?<??4Uh??????u??? ??Vz˟͇????߁?\Z??۱??W???_?j;??o?????p????Un?f??G??#TƼ??&??????%Ҷ|_?6N?;??L?M?2?S9tŦ??97NQmh;?=:??????2?׌??/gW?;:?Tt/???!??(??R\\?U??$TC|???)?yh?:???/?\"??M$?dd???Kwq??|2?\0xG??B?????hd?E??????Cy\rC\"Y??F??Ҹc??ZlT-=\\v!k??q?Vw???(Z???2)*.?G?Β?!??iĦ?M????׃?rN???ĖZ?*?GԕK٠ ???gY)????`?UN!?????N???V?XvM?ؤR?^e?????o????ڍ՞????\\Шc????E?>????(ϟ`(?)d?r~?!?kc??9,vi\n?P@??Z??)7\Z{x??,L????c??~\r??o2?[A??HL???????Z???3?}) \\?\'0????UMUø&R.??hT??P?Ci?????4????+\"?%??0D)??|/Z???6?Rp2?YK?-?A㐾??i?Lc????s?h4?x?o???o??(?/?{3?????????v???>$a??.?Vwż??$??z%z?~???#?1??E?q?d??8	*???lFF?7m?T?17/?LḎG??V\\?O?$Q~?Z???܂i? ??T?!?\ZN?\"????l#Z???=?{??)c^1k??wpg\0??[?w:` \'?:?%(\Zb???d?oAK????s\0??01?$Pch????Ԉ??MV??????"?Z??0l\Z?e????fش??????Z????с????H???t?~.`?3a@??fb@+\\?????.?Re??C?q:?X?`#?+????Bn??`}8۞?\rȯ?~????&<?|?????G	T???8?Γ?$?M<??+????,??2?\Z???$???RL??????????Y?l??????????_???V?{???\"?ȴ-??0s?S??u^I??q??U??T??ne1?Z$C?4??*V1Z(l?R?????]?\r?9????]2??5ŜפI!???_\\?????[w??????0~S~T???Q)=??S?0??u?@^?^j-+?	??\r??P?Ė? w?s??7\\??qs???j??????Z?) ??vV??pe?pg??Dɨ?\'<??qTf?'?\'3?p?R??:B\Zw??k9?G??X%?𠧂$???>0t??6Gԁ???\r?j??tt}JۋaW@K?~??A?\rg\Z7,?????VP?7???;??\\??=?\0?᫘?\'-*?\n???0?S???r\Z????.?º??W?Ճ$?????HcZ\Z??7?????]??Ϣpڸ??p#??|(??Z???J???????c-*ِN??.ħA??a?X?܂??H????%???8?0??N4??A?$?c??g?????&??x???XŏO<??n?K?V?qm?4??d?۳,Q????u??J?\\'#\n????bE?Xc?ty1/????ѵ???ER?E?׌?Z?v7ًZ#?@??\06Ý?\\5???sF?tiđ??U?]r?????>?]jڀ????;!IPd?sl????C8??FL%??????`???x4_҂?????@??/?Sp.$)?????4nM]??e?77??&?IU?/??Z??L?%?P?R궅Jf?F?`+?)?F???woX?\'?z??M~?sМ??? -}??*??ǯ??uF??????S#??z9?/??J?l???\03???b?b??kwq͘}f[?Am?f???6.????\"c;?9V\n]k??$-쮱(?0????jS???[	t?䣏p?0???v?m???\"?O?a??Ky????Qmmo???	?G?<|(?????M??????]҉?W?(?ɗ???_=9???ց?6\\?5???uu?? ^6TW&?^?u?(SHhE?r???????\?!g?Y?p??3???O\\??y?-?\r??????oX??????i$5	?>?P?%<QlK????{?6???UBrڂ	??:iM?xv??ג݇}?s??*s0?K??<??????r~??????7z~x????ы?????g??[???	????{??A]^???A??y??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:074460e1b6961ad9a5e3ad8c179f70b1','e?ɒ?0??.??x<??;?TM5R\Z???I???????{A?<=fI?~??s?h?q?e??h4? ?cy?f܄ŉV<??	,?S??ei??E;!*:???*t>\"ғ??ѢP\\I??????h+??l???66?͠??!???=??$k?y??:?????ܙՠB? ?1\\T??\'?ac,Ǩ?k[?C?*??d???*C-??A??[?(?*RA??8??A??C]ٮ????|Mbȩ?Dc3\\ޠ\r^??J?RR7#	?????m? ????]??{?KiǊݑ7?(?G?+?=???n?K%[IN?b?~?????\'??9??t??J5?q??KHa? ?h?J??>[?}#??J?????n_[*?Q?*_S????r?T?\r?9!?qep???O4??D???Hh+??#/?w???*??$>???8E???Ԥ?+X	???S????q?]???{?\'HY^?r3?]?݂??ق??I?%Z?N??ӥ?)<??????:=?<ӻ?????/S@^?{??s&?3/?X?!K?????S??O???<?	x??8\'<9??e?[??O??x??@4??l??)??˷U|gV\r?YUҸ????????LG?pS^JEolN3I???9??	?Ev?g8 i??x.?I????<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0811f9e00b2ca4feefc7e983a74eeb19','e?͒?0??;>?\'???????ةmB?߽??,n?I???l?^F??_???Xt?2??nҲ2:0??!?S\rY?l`??M????ZX?d0?vl[?. ??#??C??r)x׳?X??d??h;??ډfJ??????l?Oف?@a????\n?o????wfH??i?5??͊v??\"??\???\")?Q?JO???\ZCA?KpFKr???????{??"??C]I?????\0?*??l?p\n?P??=ku?JI???x?nxO]?C??C??j???\'?\Za??ݑӗү?zW%????????2?28??~k\'??2z\"Մ???	?	]?O?R???????0wړ9h?Ja߹?s??^P?ٕƏzC?+?*??sT?#??.????\"Y??\r?:!?Aap?>?w??$???Hε;n?o+?????????J1??$>`??;?8E?????$?+?????ڑ?q???+??Ĭl@?rIv??;rڑ?;R??>?v??;????????.n???????>oyV??H?*???Qّ\'i????tj5?????(r, ???	?4?uL?M???\Z??w@o?!?????x?????g?{??Ϥ?nm?L?????.=??_*!iǖ4??޾??-?<?????,???,??S?.??}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0ab0755ff68a82409d253a8baa2eb760','e?K??0??+v|???????;?F?c??	M;??rd??>K?^[??l?^F??_???Xt?2??nҲ2:0????\Z????(# ?F+yz??P?????h]@XG???ZՕ???g???X???n?????6Am\r^$Ե??????>?????CU??(?>?Ҙj@??h?D6??V-?ERf?ꕞ??5?,???.???!-EA?WF?8?>V񇺒?h)???\\T?˵?F?2ܿ?4?z?J??B?????\Z?\nM?P?%?P?NZ5??#?/!?_#??J4;0???m???2?28??~k\'??2z\"Մ???	?	]?O?R???????0wړ9h?Ja߹?s??^P?ٕƏzC?+?*??sT?#??.????\"Y??\r?:!?Aap?>?w??$???HεK7ķ???W?G{O?????|??p5??rMrm???????IP?ø?W?و?Ό?bV6 ?;??qG???ؑӎ?w$??hu?;?????}|}]???~??7;C~.??9O?S?O$?Ƭ??<N>????N?&<Kx??1?R? ??<9WE???)?&?R???u?????rD?\\??m\"?Sr??????g?????????gI_?im?????cK?IZo_?y,#??\"˚&??)9F??8U\0	V?{?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0c263b68f6a7bf6b83959b3cfb30ccb4','e?͒?8??S:%Yg???y?????T#Z?AH?$L?????xpqS??????Tl?^F???\?4ڽ8??0?4\Z?ʱ*90n¡?SY?Z0*?H!?V??????[ٍm???????htS+?$?zy?U???m???)???jh񊠠i???=???=?<?~??=?~qgV?\n??????\0?N??`,??`???I??????N6??\nA???F?ㅴ?^[?\\9?X?ԕ??Gy?໨]??7\Z???m8?׳?????_HP?????8?;?F?.مj.q2ZH?T쎼?Đ~?Ի\Z(????ٞ????YY0x??se]Y3?jFf???D???\\g&J?A?????R?;???]????9r/??J??!ُ??Ш9*ߑ??Yzr?*yťQ??????E????l\n?a%a$?7$??????G?@???p?|??x5??\rMjmR???????)?Hø?W???Uގ?RV	PnC?9??#?;R?iG?9???>?v??;?????????.n???Ê?w??N?ey?????l???T`R???~??S?IQ?4/r?7P??3qL?G?q?eL???\Z??w@o?!?????x???ۗ??{?UϤ???L?W????.3??_??T?c+?IZo_??W	ϊ#?%\n8բ????\\???	????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0d035f73c895d320cc38c32c3afbc647','e?Ks?0????pS?????i!??0u;??	p??????y_?~|\Z?'s???????h?*???q?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ??s?ѢR\\I???+?;?+?֯t???66?????!?n??=???=?<o?t~??=jq??1?A??@Lcz?ͯN6?`,???`?Z5?I?\r????V\n?YD? ??[??L\Z??R????????u%ݱ??Q?=?6?D?K?Í?f?}A??l????T+?-u=??AH?%;S??F???!o??_??J?c???????b????)????TS2s6t%??3RJ5?yz?sHa? S?v?¾qo??T0ȝ?b????d?T??T@???|K.o]Bg?Yr???ZDuB?ˣ?!~?hݱ(???????j??Hh+??=??w???*9l?$?0?x?E???\Z???X	???S????q????p{Vz;?HXY?r+?nH?!??6?C?Rl?C??m?N?a\'۸?m????/??a,{;????`?y?g?????$?a\"?~yQ????l?b?f??9d?MD?@V???SJ??`2??Ј?9O?zx?!G4??lፒ??????Z>?V#?{?~?o????.3??^*k?hǖ4??޾??2/?b??Ƌ?d?????+???|`/?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0d16170c2c8ccc6f563f069cbfe3482d','e?͒?0??;>?\'?	$aߡ?;??\0/?m?v??rd??>K???L?ER?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4?????J???r????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ?Rl?CNrސ4٢m?6?w?\r<]\"???uY?,?eo???,?R@]?^?D????Iq<????6wj19p^?"??D\"?p8?gY??x???me?F?????9?Y7?c??<=}???????Zi??⇱?b??Y?eZ??e-??f???7W??EzLx????}?g???S&??}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0d4a078b0587487ae386971c4e00381b','e???0?y??N?p?M ?z?3?EZ@AH?$L?߽+n????~ \\??I??ph?K?ݣC??????+??,\nZ	?J&??AyF@ֵ??P????i??PHO?&H?F?Jq%yw?sȃ,V?7{??lZ???˺??h???\n??+R?????)z?x??|~{?zpeV?\n?߀??Q\r?_?l???????N?j(.?1t?ͨ????awo???3iH?^Y?T???ue?c??<?z?4?!?b??c?{?6x???UJI?$?V??k???-????Jv??K????+vEޜ??_??J4??\\?K%{INyY?D??s#eCY3???\r]??{:r?)%???}?)?0u:?I??]%??r_???þ?Tlv????o-ШI?o)?C?]9?*yƹќ????E???'Zwl\n??!a$??V$????Wƻ[?@???op?r???xԛ?\r?jiR???????)?@ø짮?p	+?????A???C??m???Rl????mU?[?Vw??.?}}}]n??O??`{???<ḇ???\\??|???????S?KVx??E%?>+??(??fi??Ep??h????]???P ?eqa;?Rx????|g????d??{?c?`?y/?2=??e-??%?=o?<??8B?U???"<?yʏ?$?\"??ݱ?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0dca8dcca335f8b013fe5e4d7a7c4069','e?͒?8??S:%Yg??r??R?Ԁ!9?0????????4?JOeR?az?s?h?????@*Ǫ??	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?p?ѢV\\I??????+?ot???66?m???!???=???=?<?~??=jq??3?A??@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`<??T?.???S???6x???UJI?$???{?j?????Kv??K??n?]*vG?\bH?F?\r?hq`?????$deq????Ate???9??3?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε?$??????G?@???p?|??x5??\rMjmR???????)?Hø?W???Uގ?RV5?܆d;??qG?)w??yݑ4٣}?>?w?<]#????]?,?uo??????\n?y??Y?&?Id%/\Z??[:????,?S???5-NY)D??&? μ&??0????;????rD?,n?6?9xz????o?i?Ҹ??S??????ˌ?6痪F*ڱ?????V???C?͹NҼ???\'~L??ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0e54f7c7c20b6d01fb620b9d82a33ff1','e?͒?0??????	$aߡ?wfG^???4??Ȓ?}?d?!l?(gݰ????8???t_?2??n;Ҳ<????????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺒l?o)??\\T?˹?F?2\\??4?|?J??B??????M?P\nU?%?P?ZU??#?/!?_=??\0J4????????de?C???Ape??	?Y?????(??i<?軋Oa?'c?t?¾s??????b?+???d??1T@-Ǩ\\C.??g?I?(??\ZuB?Ã?!|??hٱ	H?????k?_?P???G^hg???_?I|?~TW??????4ȹI??W0?O?&A?\r??]?a#?;?\'?Y^?????E+??H?\"?9??E???????:?????yq;??W?q3?8JN?=?OS???x:??{cS?f?,?dY2????*8IvN?7?ޖ\Zh???^?C??yc[?????˷M??o???j??G??k????tOks|)??????{???!?0=TG~?TdeWEF?syJ`???x?剽?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0e698693029462cce15caa03a6e77920','e?K??0??s?)??&?\r??;d?e?R?Ԁ!9?0qR?{Z<????[??L?ER?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?vB:?Tt\\???D(?\'?$@?E???????+Ӈ??6?_???ml4[A?WB?){P?H?=?<o?t~>?=jq??3?A??@Lc???N6?X?Q??`?Z5ɘ\r????V\n?YD?????FQ?4??R????????????(??|Mbȥ?D?3??\r??6?J?RRw3	?????\nm? ?n??]??G?ki??7?(?@?????7?????$???,??_???2????#7?`CW?}FG?5#?$Ps?? ??????N2?v??$?ν᫵QQ`???ͮ4~????\Z5????wa??+?%?8???X7Q??|G?@?=,$?????????c==?x??????O?????S?zs???Q-M\n]????:??h???o.a??????5(?\"ن????rܐӆ?7$M?h?:?N??ӭ?Q??????,?xb?O/˒??g?2Q$՞WUYr,???????9?Q??????@?xE.????+4???^?C(Ͳ??[)?S\n???|g?;???????????I_???n*k??i&?????`q>???E??9H?P ???_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0e7384d06a1e57a4054175651fa235ea','e?͒?8??S:%Yg¯???=?*?\rh?#	o*?\\???[?G?tL*6L/?C?b.^\Z??O?\Z?H??7???\0??b?gd??nQOH???[ٍm???Bz2?N4ZԊ+???C?U? me???6^6??F?\r?xEP ???????G>?睒???-?wf5????i?5???v??#??\???\")?Q????I?1???xk9^HKQP?=??C?U?G]??t???\0??*?Z??q??І?=}?J)????ZxO]?C??CR?s?Ts??э?K?țK?H???-?7?=????$???,?_???2????H5#3?`CW?~FW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???ޅ1t??\\$?J^q?AT\'D=?<\n1n?'???[??{XIɹv?????^|==?x?h???~L?????S?s]??I?M\n]?????>0?iWy?w????@ʪ?ېlG?)v?ܑ㎜v??;?&{??:݇??N???k??????ۇE???b??7?\"I???$???cY\0?͛?N????????v?\"ϳ??$O???ϘB?i0Y?h????=????#?eqc??????/???x??I???(~???۟}]f??9?T5Rю?h&i?}}wUQ%x??H??by?|?"=??m ???ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0ef88480f2b417ad8e5757759043559b','e???0?y??N?p?????cf2?????\\I????{W<ܤ?vW??@?\"?I???h??K?ݳC??????+?\r?,???L`?򌀬*??????w}]??????]?\0????f?Y?H?F[Y7~a???U\'???-^a0???g Yc????8??????R?1??n4?:Y?c9Fe}ׁkUS\\$c?V?AS\Z)0f\r??ZE?\'R?\nJ???ű.?Z??v?zGy?t?hC?\'\Z???m8???????H0-????ߕh!u=??5?8]I;U솼9GI?z?	?h?a???o?Jv??2?a?~????f ??9??t?Z3PJ5?i??Ha? ?h?J?o??X?}+??B??????*?Q?*?????r?T?\r?9!?qep???O????L????Hh+??=/?w???*ٯ?$?0?+x?E???\Z???X	???rS?랆qޏ]??Vx?\'HYQ?r?]?݊?$[?Ê?r\\?ӊ??Z?U?k?Zw????}}}?n???O??`???=??4e??t?Kĩ???|{cS?f???[<??$?>O???]&?e???Lw+Ca??;????\nD?,?l?\no?<<?|{??c????ji?G?ah??}]??gs?????7???????\"????j[???<?씐?T>~{y`??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0f0b65dddf8023f47d372fe37db704c5','e?͒?8??]>?fz?IB??N{??)apc?????6?&??,?C?*-?ņ?th???ݛC????F?0R9V%?8\\??#???F??F?{?????vcۢ???????\0?????琇?X?>?[?~???????Qm-?a70???W??f?????E0?????Y\r*??b\Z?\rh~w??c9??\0;ת%?H?Խ6??2tR`?"*?n?ZE???zmM?s]?b??PW????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@???w?-???щ?,?_???2????H5#3?`CW?~FW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹv?????^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ېlG?9?iG?R?eG?I?=???N?q??????x_??`?a?5o?B????.x^%??ŅCz9??????'[:????M?8^?SQ?D?%iY&u??????e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???W??I?I?\?,o??ȋ???u???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0f6e8ced2a970d498cd4336a5f31e3b7','e?K??0??+2>??͆??CO=???x1vj?д?^??7??yr<ls??Ρݘ??F??C??????˷k?8???#˙?:?Y?F?[?????\v]U????????\0?????琇?X?<?[Y?????e+??Qm-^ag0??5???????E0????ŝY\r*??\0b\Z?%h~s?\Zc9???;Ԫ\"?HʬӍ6??2?`?"*??ZE?GRQ?zaM?C]db??+?5???<Ђ??Jt9;??????k??_?RJ?$A?\0?S?[????P??\bot)??;?C???n?D?5?\\??l??+?#+?-?p???+kzRݑ?C??+QGW?6=?$Ps? ??????N2?W)????F?0??*6??QoH?]?K4j???ޅ.t??%?J^q?AT\'D=?<\n1n?'?????{?Hɡv錄??}==?x?h???~N?????S?Zs??^MM\n]?????^3??\'y??e??~???(7#?Id? ق??9/H?]?e?2?w?<?\"????uZ?,?io???,?',?1?Op*xG?I\n????NM&|?N?r?@d)?' ?A?̲?LƷ?\Z?????rD?,nl??9xzz???{f?-_?V%?{o)~???N_??m/??cs?IZo?.???\'?b?V?\'.?iz??LL???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:0ffe6b0140304bfd9c88118020523a69','e?K??0??+2>???ȃ????wfG^???4??W6?%??,?!l??Qκa?4;}qB+???e?w?v ?ey?e\\?CF????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺒l?o)??\\T?˹?F?2\\??4?|?J??B??????M?P\nU?%?P?ZU??#?/!?_=??\0J?e??p#ۓ?J?2:?????X;P????&df????6z??JT?!???>??Ӟ?A?U\n?Ν拳?!@/???ͮ4~??]_????r\r??w????\'\'ɢW?j?QB???~?e? q?f?r?]? ???&_O???>?*E????????????N_?oh?s?|W?`??L??{\Z????,w????i$Y?tE?+rX?㊜V$[???Z??????????????v~?ۯ???`????Ӥ??"+??e?P???????M?O?FI???K??d?Cy?u:g?z[j??G?zx?!G4??m?"?%OO/?a?Z??Ҫ????C???~??=?????vlN3I????<?*<Q???_T?YgQ?????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:10e8bf01521550968b9e4689ef08df35','e?Ks?0????p??y??cf2?X@AH?$L??{W<ܴ?vW?b?E??????`??Z???_??ZaBZVD;Ƶ?dt??!+X?5?????נW	??k?M????pd??x?UUJ.?z??񝬕M??J;Q?Bi??ABU??;??(???8?a??r~;T?????!??Z?Z??6CdC߃?jՐ_$e6?N?QZQa?"(x??I?g??zit?S]D??+??,?=Ѓk?Jp??(C????[\\?]?RR?n&^??RWC_?i*???dg???Q?Z??b7?9???ޕ@?&;fxW?M?Q?^?QBV{???WF???\'3?`|W????l?GJ?B??>????:??\r]??o??:k?\'??B??!?r?k\rP?*ג??zr?,Jq??A?????0?A??'Zwl??!~$??Vķ?????{{O?????r???p??\r?ri???????IP?ø?W؈??	bV??7??rI6???oHm??v??;?/??????,n???????9mv,?????a|ʣ4??<??????S?	Os̠,?q??P?1??9??FXro2?-5Ј?[G?zx?!G4???*?%/?Þy?Z<?V#?}?~?\'??A_?hmN/???c?IZoO?8q?YYGq???$?Y????GYU??/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:11ed9375cbb40f6f58a8ca1b27ba7c18','e?͒?8??]>?fz !!??N{??)???ۄ???l M???Y????^????????P?7???L???????L?8?B@V1?5:0?????\'?????CӠ	?T????\\?D??(bX?ʟdk?jڰ?6??Wƺ???o\Z?t+S??+PX???????\"\Z?h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?;?T?X?ԕ??}????I%?\\?o?)??n-.gknT)?L7???t???t-?T??Jv??+????+?@?^SH???ǜ?p\'????a???)??ّT?d?\\??ӕo?)I4??????ӑLA??\n???????(w???4~???C먀VOQ??\\>?0?ғ????HꄨN$!?!B??Ѻc3?}?#9??\"??`f_/Ϝ??????|?T7???oo?4???7p\n?O???4\r?"O]??V7?'?U??+?ߐÆrܐӆ?rސˆ?m?ηa???????/?;????b??6? y}???n?B/??(?	j?2???ds??ȏ??Ӿ(???dq?,?D??mm?F?????9?Y?w?c????|???????ꕴ\Ze???⇱?f??U?eZ??U?4??f???_U???ʣ??}<?@?%?R?ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:122051fed63563840366167d2e867b6b','e?͒?0??;>?\'??@`ߡ?;??\0/?m?v??rd??>K???L?_?~|?s?h?????h?*???qg:	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH?????p#?????b????)????TS2s6t%??3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]?????w????$ݐÆ7?ن?rސbC??m?N?a\'۸?m????????a,{;???f`ձ>E?yʋS}?̏??pL???l?bR\'?I\rɩH??E?Q?$??+4???^?C?Ͳ??[Ex?????g?;??Ϥ??????????.3??^*k?hǖ4??޾???&i??%5??????eI???^e???O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:128b2c2f6f011c2c83726db287ab924f','e?͒?6??[:9??0???O9????i\"???T?-?Lq?~???a???G??y?\'??oݗ?j?#iY??QЪ??b\r?0I????ރ]#,?8?v??. l?#????Zr)???,V?{?????UډvJ?`??o???Oف?@????/?u???5??3\n?O?	?4??ZP?nE?l???M?f?UGq??٤?gEe??!?`?WpFK\n???TP?.u?????$\'?1Y??`??r+??Q8??7(́?????Q??P??i\r|x????F?4BuKɮTs??V?0k??k??D???=???r???????epD?\n??Ae??	?Y??:???)??u<??ƫOa?'?h?J???[k?? ??F?????j?*???*??&??r???\r?9!?adp?>?O??\n$.?F?H.?Kwķ?Z????O???????|??p4??\r?k??\r?????IP?ø헮??????ĬjA?I$=?????@?)$???>ʎ???xS?????C?????kyع??\"??#??4???l?+9-???l??q]?eQ?]?"?<??f奸\0O????#?f??????7wvb;?J^^?}\r??ꕬ:????<|?????=??U+$???=o?l?UqR?Oڼ??'?H/I?	i??k_?~a?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:12ab04ffd8c8c79b06b98e6ac2057811','e?K??8??+?|?;?<??T??-???{mӤwk???z?f}?d??J?R?az?s??????q>???T?UɁq?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??Y.??y8*9H2:?????+87Qѕ5?fd?l???uf??j??א????????٨`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9??!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ㎜v????ؑrG???Q?????>????????\"X?vX1͛????B$☥??)yv??_???/???l?j??<o?6eY?2/?r?0??????Ј?9O?zx?!G4??lგ????_??^??V+??5P?0????*???ks~?j??[??????fP\'??/x^??.)3?r΋4}??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:12ffa0cab8f06f1597f95c51f668ed35','e?͒?0??;>?\'?	$aߡ?;??\0/?m?v??rd??>K???L?ER?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4?????J???r????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ?Rl?CNrސ4٢m?6?w?\r<]\"???uY?,?eo????\0??T?"??l??y]%?A^???ZLD????9V???i?q???meȹ}q?~??B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;?????????2?\ZթN?:?????????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:131500913050259ab78ecc7380e07d72','e?͒?8??]>?fz?	!?0?=NՔ??1v?a?[???&??,?C?:-OI??mrh???ݛC????F?R9V\'?8???#???&?ٶF?[?????vSס???????\0?????琇?X?>?[?~???????Qm-^a70??\r???????E0?????Y\r*??b\Z?-h~s?[c9??q?Ԫ#?H?҃6??2?`?"*??ZE?W??zc̀K]?b??PW????0??ty/v????/hÁ?x?}?J)??????]Oc??GRwK?Ts??ѭ?k?țK??z?0%Z??nd[????$???,??_???2????I5#3?`CW?~FW?73?$PsX? ??i???N??W)???o??0?<H*6??QoH?S?K4j???х)t??\\%?J^q?AT\'D=?<\n1n?'???[??{??0?K?\r	m??zy??>P%?=???'Fu??(^??C??7)t?\nVB??????a??W???N?	RV??܆d;??qG?9??#??v$M?hu?;???O????}q???;?????xzN??Yy?+xq:?K~:fy???l?ݤ?D?ձ?S^?????EU?sLַ?\Z??w@o?!?Y??m\"|Pr??????W??q?F?????M_??hm./խT?ck?IZo?\\}??-??J?????<#?~N0)E??~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:13e873132409409726577f410f04d53f','e?͒?8??]>?fz?	!??N{??)apc?????6?&EU?I?????Tl?????\?4ڽ9??e?h4 ?cUr`܄ÙN<??	l`T??Mc??G=!?\Zne7?-:\n???9	?Q+?$?zy?U???m????R??\rA?vC?T\nk???wJ:?\\???x\\<?ՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B????!-EA????!V?u%;?????.?D?k?Í?f?A??l????Tk?#u=5?AH?%?R?NF7?{ o?1??G?\r?hq`???m?J??\n??8`?????f\"Ռ??\r]??]????@???>?\ZR?;???]????9r/??F??!ُ??Ш9*ߑ??Yzr?*yåQ??????E???'?l\n?a%a$???nz??k??}?J?{?9?O8??>OQ?\Z???&?6)t?VB??????a\\幫?\\?oG?)?\ZPnC???Ŏ?v?ܑ?\v$M?hu?;???O????}]?,?uo???XzI.?ӹ`qJ?R?D?ei?s?????-?ZM?lj???\"?KY?p?e}¼?4?,o+4???=??!G4??lგ????_??^??V+??5P?0????*???ks~?j??[???????.?ώɅ~ev*ʲ9?I?E?7?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1554abfbd11091a00ee8b59a206eee78','e???0????N?q?????cf2?????\\I????{W<ܴ?vW????H\n?rϽC?l?\Z??/?\Z?H??l7?I?GV0??3???Vר\'??REå??F?B!=?;\'\Z-Jŕ?M?a?\"?????n?BW/?Njc??Z? (?`Hكj?a????I秋`?????\ZTH??Ƈ*??=\n????]v?UM~??Y?[mMeh???ET??5?O??((?ҚǺ???PW????|????.v????hÁ78???P???D?j	??????D???g????کb7?9???ޕ@?ff??+????QFV;??@DW???%3?`CW????\\cJI??\rA@}w)??d??R??r_?????Tlv??????\nh??o??}?=9I?????N?z`yb?"??-;6??0?0?c??nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?\\?no{?)+*PnA?+?[???d+rX??+rZ?4Y?u?:?w?<?#????u^?,?yo????̄?eZ?ߝ?G????;????:5?\0?u????#b/?p\"&???`2??Ј?;O?zx?!G4??lፒ????o?q??x-I??ƽw????????6Ǘ?J*ڱ????W??PV?H??B? ?v?mr@???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:157095e5fbfab1e761333eaeb0eb1fec','e?͒?0??;>?\'݆??,?=?ؙ?l??6?i????7??᫬,?????{?砬?Ç?L???????????????bkt`T][??IO*\\\'õ쇦AB??;\'Z#?Z??QİX???մa?klPu??uIm^4H?0?@wg??&D???4????9:?~R\Z?5q?????Ȇ?7ժ!?H?0????2?Jb?")D??YM?g??:w?é.?????ԕÎ?\r????I%?\\?o?)??n-.gk.T)?L7???t???t-?T??Jv??+????+vC??SH??J?cNH??m?Z????d??ޏ?Ar?H?2?.v%???v??$\Z?D???????}??}????`?;E?\Z??r??T@???BK.o]bg?Y??Z$uB?\'???!}??ݱh????đ?j??Hl+?????{?H?\Z????r???t??\r?ziR??????i0?ø?W??=???d??A?9lH?!?rܐbC?r9m??d?-??m??qg??%?__???"X?v\\1ߧ?8ũ?á?????.?(?_?,>????-&?6?8!?k?2???॔?2??k4?>??^?C?Ͳ??[Ex?????g;?V????????????.;??^?j?i?4??޾????????3,?,????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:15d9091589ddd5f4f7ef2f104a1aede3','e?͒?8??]>?fz	!??N{??)a??Yۄ???l M???Y????V??????{?נ??×?Z?=(???n?L\'Y?Jt`???{??????CӠ	?P?????????X?=?8մa?klP?Wƺ???o\Z?p+S??+PX???????\"\Z?h???S)??	?߽j&?:?)???M?j??2Lg?????H\nQ?BpV???^;?T?X?ԕ|?OyL?ڤ?\\.Ŏ7ǔ?c9???57??V??IT??w?????L3??5W8Z#??+?@?^SHԻ\Z(??p\'???d??\nޏ?Ar?H?9?y?????)%???}?5?0u:?)h??Ja?x?|u?:?Q?ٍƏzCr?:*??T?%??.???,y??s\r?:!?IHap??>?O??4N?B?N?;?Hl+????m???j5l?$>???<E骷??\Z?Ҥ?8???????q?????V7?'?%A????r)6?农7????Qg۰?m?6?????????"X?v\\1M???,???8Hq.J!/????cY???N-&~:e.?Op9?%??,D]֧???k4?>??^?C?Ͳ??[E???????g^;?W?????????ͯ??.;??^??Ҵc+?IZo?|u??B\\???8_??<?e.??2@??ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:165cae6ab065476b8d3c3f4fb67fc7b8','e?͒?8??S:%Ygb??9?U??Ԁ!9?0??؃???Sw??h|?U??2zt/??5????1?58?Ҟ?6Nt???b???j\Zk???d???ض?B(U ??$Bk$?+??<????Z???t?\r???.?????)?nƔ??=???a???\Zy??3g@?@Jc~?#?^??`????Z??I???7v2T?NILY$?(?!8??BZ??R??8?\r1V?u?<?]RI.oŎ7???c?ogk.T)?L??????8pt?T??Kv??+??i?[*vG??SH?F?J??\'$\\ɶ?G?EFY90z???e?\\9;??<??]I???%?F?2????0w:?9h??Ja??bu?:?Q?مƏzCry??9?Б??Yzr?<ju??I????$?0?CH??Zwl\Z???ε?$????s??}?Z?[?1?8??>NQ?\Z???&}kR??????i0?????{V7??݀?+rؐ|C?RlH?!Ն?6?C??m?ζag۸?m?-???;?p?q?;o?e)r?O@?U?G,?9?~?M?Ϗl???y~z-^y?\"??????nQ4??&?????????rD?,?l??9xz??????3i????S??????ˎ?6?Fiڱ5??????Y???,?U?2yslxY5??/ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:166aabaa249f683915f933abd35b1a36','e???0?y\n?N?p066?z?3?E,? $W?n???\07???6?Oi??n??_????/?j?iYm??_%8d9+??^:F@T?V??a???q??}]?ua)9?? jU?K?ۻ?E??<~XkeDݸ???T?P??4xE?P?f}?d{?5F|\0?)??6?????oܙQ }? ?1T??+??\rǠ??0c?j??d??=(*C#JY???3ZR?Ԥ?R/?nq???񇺲߲????&???s????d?>Ai???[?+UJ\n?ě???\n4\rB)T=??58hU	3U쎜?I?z????/??\'?)E\'?H^;?/`??PFd?\'7?`|W????l?J?D?\Z?>??S;?(چ???w?/????Tlv?????kP??k(???9?,Jqũ?????2?AW?-;6????ɱvɂ????b==?;????\Z~N??????S?:}?? ???^?????L??{\Z?=v???X??? fy??E?9??E?9??E???5Z??ײ?x-<??????:???????????C?ŧ?\"=???????Y|???ƦN?@7?\0,??:B?d<=??`V??(J????#???~t?B?h??۲???\0OO/???x?dUm??C???~?v鞞??????f??????M?$??U????,I?(?cC?n??<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:170c1f02a54de2e9264a778f854d25cf','e?Ks?0????p?0?=????"P?+	S??ޕ\0\'??vW???y????uî?hv??vg????+?H?h˸???V%8d9+??^:F@T?V??a???p)۾?Ѻ???܃?*ɥ?]?"?a?<~??2?n?Wi\'?N(m??\Z?\"H(K??>e??\0?5z|\0?)??6??o???oܙQ }? ?1T??+?Іc???0c?j?z?=(*C#JY/]?-?Dj??R/?nq?????u%ٲ????&??s????d?>Ai??y?Օ*%?j\'??=u????Kv??????*vGN_BH?z????/???_J?2:?????X;P????&df???h?z??JT?!???>??Ӟ?A?U\n?Ν拵?!@/???ͮ4~??]_????r\r??w????#\'ɢW?j?QB??p?Ѳc?8އ???k?_?P???G^hg???_?I|?~TW??????\Z?$?+???IPuO??W؈??	b?W ?+?_?ÊW?"?+r^?8Z?u?:?w?<?#????u~????1?Ǘ?E/???\"??$q??K\0????:5??)?0??????????o2?-5Јﬣ?????#??ƶlᝒ????o??lZ??Ҫ????C???~?v鞞??????f???????8JL??i?U??W?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:174842b444924253f00d1ea64dc85034','e?Ks?0???????/?z?3ap0??K?????6??>K?^W??}R?nx??s???????h?*Ǌdø	?#?xdXA?<# ??u?zB:(U4\\ʮ?kt>\"ғ??s?ѢT\\I???+??+?/t???66?-???!???=???=?<o?t~??=jq??1?A??@Lc|?ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????u%۰????&?D?s?Í?f?~A???l???n\'TK?-u?%?AH]?%;S?FW??!o??_=??Jt?a????????????(????T32s6t%?t?Z3PJ5?i??Ha? c?v?¾qo??T0ȭ?b????dߗ??T@?ƨ|C.o]?g?Ir???\ZDuB?ˣ?!~??hٱ	(?????k?]??Г??{^\Z??U?_?I??TW???g.?4??I????O??@?\r??]??Vx?\'HYQ?r???E?٭?E+r\\?ӊ??Z??N???u????????a?;????`??r%/???t/?6???a/?????S?	???*)!????V2qڝ???|L???\Z??w@/?!?Y\\ن-\"?Qr??????i????⇡}2X??????RQIE;??????????`?1?<?Y??U???R?????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:17a166d67b185b2558055168cb181ab2','e?͒?0??;>?\'?		aߡ?;??\0/?m?v??rd??>K???LOǤd??28?/???š??ޣ??T??Ɏq?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4?????J???r????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ?rܐӆrސ4٢m?6?w?\r<]\"???uY?,?eo????N?O3q?'?T!???CrI.?J|???ZL??????:???QeP?s?fUB?d~[?q?~??B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;??????????Az<??????H?=?????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:18154084b5c7348dd26eef83d222910b','e?Ks?0????p?l?z?3!-? $W?n???+?n???}??"γ? ?????:??=Xp_???n:*?%E?\'L??O?: ??:?@T?V??????p-۾?????????Z?2)X??`>,R??VFԍ[????MP[A7??rnVЧ???Z?>P?Z)??.??o?/3?J??i?UT???(h?D?5c?j??Lz?=(,C#8?,?????-?Dj?S/?na?????v%ٓ???uMP	.??C???Ҍ??7?????W-)k??ߕ`\Z?\\?z,?k.`Ъf?؂????~?ػ?b??=1????(E\'??V:???3??P5A3????l?L??bt\Z?>??S;??\r]Ű?[??z?Xlr????????k?҅???$R??APG?=0,!f??O??;6	?0??c??J?????G{O??s??r|??p??\r\rrn???\ZA???\"??{?????p??O???ҮH?!?rI7?ن?rސˆ?m???a??????????v~?ۯ??? ???L??W<??b?????#?D??72uj6Ɂf<?9??&?dQ???1?o2?-5??X??|x?AG8?N?d???˷]????j?????}???u???RQ	?;??????a????)??yb?1=s?d\0?ȓ$??????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:191d972fd8d4b36e0faa68052eadaac6','e?͒?0?????????}??zܙa??6?i????7????s??Ρݘ??F??C??????˷k?8???#˙?:?Y?F?[?????\v]U????????\0??????X,Od???j???????6??\n??3R???PX??????"????11?A??@Lcx??NV?`,?Y׶`?ZU?I?u?Ѧ??Z\n?YD? ]?[??H*??R/?ip??lC??u%]????-?:?D??b??}???6x????????IP-?7S??5???\ZJv??K??+6!o.1?_??\0J?f?????l%?b?????????TS2s6t%???J5?q??KHa? C?v??7|v6*?R?ٕƏzC??n_[*?QCT?&?S??zr?*yűQ??????E???'?wl\n??N???Hh+??#/?w???*??$>???8E????I??W??O??@W\r????Y??? ay	?H? ???A?9.?A??l?hu?;YƝ,O????z_?,???+??ع??tNv?+?+????????ol?dR?x%?li???R?N??0??o+4??w@?!?Y???"?(9xzz???{f?-_?V%?{o)~???N_??m/??cs?IZo?.???Z?????%@v?Rz?g?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:193ed4700f86cb62c2d3459b396365ef','e?͒?8??]>?fz?	$??N{??)apc?????6?&??I?????Tl?????\?4ڽ9??e?h4 ?cUr`܄ÙN<??	l`T??Mc??G=!?\Zne7?-:\n???9	?Q+?$?zy?U???m????R??\rA?vC?T\nk???wJ:?\\???x\\<?ՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B????!-EA????!V?u%;?????.?D?k?Í?f?A??l????Tk?#u=5?AH?%?R?NF7?{ o?1??G?\r?hq`?????$deq??\n??Ate???9??3?r??(%???}???0w:?9h?Ja??7|s6*?R?ٍƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap???O?????ε?$??????g?@????p?|??x5??\rMjmR?\r??????)?Hø?W??Uގ?	RV5?܆d;??qG?)w??????>?v??;??????????}X?+?3??5&P?y?9???&-???????d?}??h???ӱi???????Ј?9O??????;;?M?J^^?}?{?{?JZ?4?@??3???2#??????vlE3I?ۇ??Uz?OIҜK^??<?ť?e^ؼ~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1ae10d4ae8bce1fcad62b341b8ac4de8','e?Ks?0????p ?E?CO=f&??(ɕ????????G?iw?/֮H??`ݰ?ڭ9{i????2?4\Z;?ʱ\"?n?H?\n<??U(?W??B??Q??J\r???\Z??+???	??T\\I???+??+?/t??tR??AAU?){P?(???x??t~{??ƬR?1???_??G?X?1????????2??͠???0f?to?\"??)\nJ???ű.???ԕl?zGy?t??]?7\Z???m8???????HP-????ߕh?J?,ٙj.q0ZH;U솼9ǐ~?Ի(??Y^??l?\'?GV;??@DW?????C??+Q??+ט?R?Ps?? ???;??2?W)???/??0??*6??QoH?}?K4j???օ>t???$?J^p?AT\'D=?<\n1n?'??????{?Iɱv/?nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?\\?no{?)+(? ي??H?\"?ٯ?E?+rZ?4Y?u?:?w?<?#????u^?,?yo??????0??N??s?Γ?Hq???ƦN???'\"??+???s?|w?L??$???e?F|????rD?\\]ن-\"?Qr??????i????⇡}2X??????R!??[??{?pE^??iR??c*8T??|??<???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1b821ef86dc61f675515b1275ece3ba1','e?͒?0??;>?\'?$¾CO=v?cl?;?Mh??W6?%??,?C????\"??2xp/??5????ރ5??=???J<	?TD?d????Z}KzByV??????B T@??$BkD??V?[?????SMV??%{e?Kj+?\nL3!?nƔ??aX???x???4????a?S\0)????y??uRdC?7ժA???0????2?J@?")D???\ZϤ?(0?????>ƪ?`W?;?x?z?g?M*?????2ܾ`,g???ٚ+VJ+?$?֌wK??p-0?L3??W0Z#??+??`/)?_??f?h?#?vC?"??\Z?堇?¼1???U?h恹ؕ????S`8?? ??????NG2?W1??g?S?Q??\\q??7(????Z=EZt?ta???'gɃVW?k??aOB\n?;`?|G?@?=?ɩv??mef???k??}?Z\r[?>?8??>NQ??u??F}oR??9??????iƻ<u????0J2?d?!?\r9nH?!?\r)6?ܐ?l??Q??7?N????z_?.??ގ+??H?ɬ??????L?B??y]P???d?bRf?&?\'Y???缤??? ??e4???ሿ???|x?AG8?Fvd??????wp??Q?Q??~6v_,4?+???sz??J㎭p&q?}y???u?? ˓?'*OE?Ӽ??\"???O_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1c1aaafaab1ed7dd611ec5ae621e8ee2','e???0????N?qS???w??i!??0u;}??8x?i????ŗ?9ߗ???????x??2!z?{Pڳr?c?CA\'	Y??????F_??T*?ײ?}H?\ndn?Dh????tW=?\"??~#[?ӆ???Aս2??txF??[??r\0ݝ??\'>B?V>??w@#?W??\rHiL???f??\"?????\")??tƎ??*?)???g59?ICQPꕳNuQ}?U???d;?>x?z?????)v?18??/+@????9S??2??j???n??B?"He??d\'????Z??bW?????@?v?	?}?G?zEF?r?????rv$Ռ???]I?]?֎??D#`??އ?S?:??O]???<X?:[??r???L??!9Uh?)?В???zr?<juƹI????$?0?CH??Zwl\Z??!q$???Hl+????l??j5l?$?8?x;E骷?\Z?Ҥ?38???????q?????V7?ବA???C?6???<oH?!?r?-?ͷa??8_\"????Y?.?eo???l????*?*y,??\"???6wj1???;?:?<????/\n?XWu4??h?|??=????#?eya;??????/?i?wx)??Qֿ??????I_?hmN/??ҴcK?IZo?}?Tr???8?)s?\0?????~??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1c2466ec2878f1f3c98540ff2005ecfa','e?͒? ??[??و???N9?*??+?p??wO?:?????Ct-NIE??t`_?K?݋???\0?a`R9R%?X??????????i?V?h\'?c???۽???????h??W??w;<?"}?me???6^6??F?\r?p??vCʞ????=???r~{?~pgV3R\01????i~s??7???a`v?U?q?ɨ{m&?e褀?E4??(??U`?=??C??`W?y?_00??r-v8???7h??]}?)???Ӛ????\ZlLH?%?`?LF7??#o.Qү{W3L4????o?J?r?0@?~a??Aë́?)?9`6t%ڧx?3aJ4g??????f?ve߹7|?6*\n?^b???{?{?־?X@?fU?Ð?.???x????\ZDsD??&?X???cP0+	#9??!??L/??ym?{?T??'??Q???G??.?????^??,~?x| ???\\?sW???Tގ?(?\Z?܆?;rܑlG?9??#厜w?&{?WM???7????__ׇۇ?`}???~?M??\9?(?\"??fE?????~??S?˩?????M???N??<??ؤ?.????w?o?!gY??l?xz????3?ܪg?j?q???????g?_???o?\Z???p&??????<?\'?Y?\rm??\\?Ҡ?ް?_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1c8003d70fc471558d2d0a09e018d4c8','e???0??\n?N?q?&?z?3!-? $W?n???\0?n??i?eZ?$%??`????????փV?!-)?a???S?$j:HG???ނ?V2?e;4\rXp??=8?+^I&?z???郬?M??J;Q?Bi???????;*?Ű&ԱV\n?o????;3?J??iL????h?D6?5S?\Z??L?=*,C+8?,???.?-?L\Z?S????????v%ۑ??b?=umP	.?b?c??AiFY˷VW?????W?(???????@?P???\??U-?\?;r?B?5`????b?7?-???@????_??#f\\=?j?f??	?????<}?ŧ0uړ)h??a߹???e???b?+??e7T?5X@-??\\?.?|g?Y? ??ZuD?Â?hx??hݱH??B?HN?;??o+U?????????J1?s??>NQ8?u~C?\\???F???G$Ùø?W؄???RR???"r??\"yD^\"RD??sD?Fq?v\ZǝƁ?K????.??E???b~N??TǬ????3d,/\n??\nA?A??{#s?ܒY??z?5?·???Ʋ????G|o??????ّU?w?6??۰g??-j5B?????y/???tSY?;?ę??????S?x??X?y~?Ohr?$=?;m?=o?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1cff98b14c62798726fefdc1707a93e1','e?K??0??+v|???a?CO=v?#l?;?Mh??l K???Y??B?2+?ےu????P???_???J{Vn7??8?@@V2?z%?5???P???}_?CB(T ??$BkD??V????,Vf?5N?X?Z?씱.?-???!?Ɣ??=?o?????\Zq??3g@?@Jc|H??????c???pc?j?z?Z;*C??,?B?.??x\"5EA?Wζ8?u1V????o????B?T?˹???2\\?`,?|???????????n]? ??ǒ]??nk?rS?(?\n?O???=l??nd[ģV?\"?Y9?z???e?\\9;?jNf?Ů$???|cJI??\rADo}w?)???dڧ?R?,_??NF?UTlv????*4?\nh?Uh??}?=9I?????N?z?R??O?-;6??0?8?c??nf??+??}?Z?k?>?8??n>NQ??u??=7)v?\nNA???????a?屫??????2VJ?A?٭?E+r\\?bEN+r^?l?F먳u?:?x6G?????C\\??+??XU???B<<C8?I?K?Q?!?????N???+v?^?????_???/????@#????????۰E?wJ???~zN{?[?LZ???gG???X?,??=???R*M;?????????2??OU???8???(Q\n???̞?}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1d4fe24c0592281f54046026f017b50e','e?K??0??+2>????<???;?#?\0/?m?v??Ȓ?}?d?6???(gݰ????8???t_?2??n;Ҳ<????????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺒l?o)??\\T?˹?F?2\\??4?|?J??B??????M?P\nU?%?P?ZU??#?/!?_=??\0J4???????ede?C???Ape??	?Y?????(??i<?軋Oa?'c?t?¾s??????b?+???d??1T@-Ǩ\\C.??g?I?(??\ZuB?Ã?!|??hٱ	H?????k?_?P???G^hg???_?I|?~TW??????4ȹI??W0?O?&A?\r??]?a#?;?\'?Y^?????E???"?9??E???????:?????yq;??W?q30?????Ur????# T<^~{cS?f?/???)9Fɹ?x?;?????\Z??????rD?\\??-\"?Sr??m?̦??!?Zh???0??Z???.??_?!i?4??ޞ?l???V??<?Ir??,????(>Y??o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1d873966689748a5953d4f4bdb87fb0b','e?Ks?0????p0O???????\0!??0u;??	p????Vq?G??r?Nhe?-w_?J?@HK?????O\'a??Q:?@4?V?Z??P?????ܺ?8\rܝ?b??R??g9?a?*???2??FWi\'?A(m??\Z~??1??>e???5{|G;)?[.??o??]ܘQ }? ?1?Ԁ?W+?І??`??藣2U????`<d?tg?D?i1\nL?6??]?c?+??-??0??p??(>??/(M?v|=ku?JI???x?ZhK]?C?ǁ	?%;c???j?Y*vCN?CH?F?\r?hv ?2??m??2?2|????0???U?hf9ߕ???	Sb\\QX????q8??{2mCW1?w?n??\0??,6??aoPvc??????օ??\\$˥??A????0??>?O??$???????k?l?o+?????????J1?????;x?E?З???$???????q??????\'?IՀ?rܑdG??$ߑbG?9??>?v??;????????.n???????9o?????????ce?P&eZD??7?tj5?#KR\n?<-?iJ???Mӂ?y0Yޖ\Zpğ??>????#?ev%?????˷ǰg{~?Q?ھ?L???{?_?qm?U???c+?I\\oO?J???Er??<i	?KXڤ5?ˢ?????y?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:1eb5278c30060d0679d31c8e14f39921','e?͒?8??]>?fz?I??N{??)apc?????6?&??,?C?*=Iņ?th???ݛC????F?0R9V%?8?t?UL`??\Z?????+??m??PHO???F?Zq%y???X?J?d??l;???f?????o\n??R???+PX???'???"??????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r???+ف}????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??DOf??;ٞ???щ?,?_???2????H5#3?`CW?~FW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹv?????^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ېlG?9?iG?9??#?I?=???N?q??????x_??`?a?5o?%6?T\0??8?8dM	?HE?5Is??O?tj5I???<?,?u??#fg?e?YY\\???2@#????????;;?M?J^^?}?{?{?JZ?4?@??3???2#??????vlE3I?ۇ??U??);?<O?\"???/1=6?咥?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2007d054f70068f08e141066e7744f5d','e?͒?0??;>?\'?B aߡ?;??\0/?m?v??rd?C?%Y?L?<)Y??틹xi?{q??e??h4? ?ce?c܄?}	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V???6?_???mlT[A?WB?){P?(???x??|~{?~pgV?\n?????Q\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX??~?GyL?ۨ].?\'\Zǘ?m8??o??T)%u7??Z??롯жB?*مj.q4??v??ys?!?\Z?wP???\\??l??/?HV{??HDW֌??\'3?`CW????\\kFJI??A@oC	)L?d\n??R??r_}r\'??J??!??o-Ш)*ߒ????r?*yŹQ??????E?O??;6??XHɩv?	m=?zz??>P%?-|??Fu?(????Q-M\n]??????4??<u??KX???ee\rʭ?C?m?C?r)6??rI?-??n??q????__???"X?vX1ߧ?꼪?S??Ι8?*L1ON???????/??LE?	??UE}??!E?&??0????;???rD?,nl??9xz????o?i5Ҹ?=?c???eZ??e-??f???7Wf??B$Ǭ.?$?LO?fi??YV???O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:20572822798b92b7eee28e6d6e47fbd2','e???0??\n?N?q???z?3!-? $W?n???\0?n??i?eR?%??????????փV?!-)?[´?8??HI8??? u???=.,?d0\\?h\Z?. ???{p???L\n??,0)?Y+#?֭t?v??&????+PI97+?vTv?aM??c?????wf?>?Ҙ.??b7+?IІA?l?j?Z5?P??SzTX?VpY/]?3Z???^?T?X???%???z??\\.?\'\nƐa|?Ҍ??o??X))T7?ZQ?SWC_?i?r???d???Q?Z??bw?%????ͷ?Noh[?O)z?F9Z?{?PkG??2zD??P??<??1%??<???Oa?'S?tþs??[???;??W??r??\\k??ZNQ?]޻0????dA?+?ꈰ?!????Ѻc3?0??????jwX??f_O???>?*??I|?~T#?8E??\r?ri???\ZA??-?T5?"O]?a??tf?O????ҮH\Z?CD???9F???\"???\'q?w?,??????,n???????9mr>p?g	;\'?c?VY?d?????72wj1?#?V9?yrȋc?QtU??7????^????#?e~#[?????˷M??n??\Z?????{??????s?????[??{??e?O>/???uN?\0?????x????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:20c86492c66cbb524831b98873215310','?Z???=<???(Hװ???U3?t???ZNʕ28q????????b{l?qB3?F??b?W;??p?3??8cQ?$?M??????#F3\"?%???????l?py}q??_F?-????~M?v*?P\"s?[?~???9?)??'?\n|?9kI?B??&$?mR???OH8??Z?(?$??\0?c??DH?noA$vz?;?G?N??g???N??I\"-??i]????w?g??Q?T`n᤻????4O??l??Nf(?C%{?\"\'???Moh?I,?3??u\0\"3???? QB??St1??a??Q??i?=?hHP????V????W}$?q?H????d甒D???	?????`?P?K??8?S???\Z?D??>U???>[\\O??Ѷa?????F)K!? ??u(?%?O??*9????M?c??x|\ny????0????q??O??؇X?H?}T??. ?a~?'?\'?@~8e?.TBQ????-??{????????C?G|V???B??I&?	??iܜU?H?k???D??Z??K2?q?>	Cz?)?^???Gg?J	D=o8:??J@?N6\'c?C˲?1X??V2??0X?m&???9\nC?ל???>G?1gI??zV:?,ȇ犷3\Zu:?I0?9(\06cKX}??.???ʝf??L??_?V???/m??V?f:Z?ń (ɾ??u????*Y?_??rg!\0??Ӿͯ??n?ҁ--e??'????9?O-??U????Z\'ֳXAm??#??#?)lt??0???\n??????%)?=5>???r?M??|Nj??\'?,&???Y?!?#?????\r???b?T???q?ʈ?ng*?G#?ٮl?BV??J??r?ƍ¸??mm[?ً?g??uEǵފ????+?hV?Q?C??K???Ez[H??.?\\?????L,U???5??n???p???????????"??PyJ?????hQ9\'?M?Hp\05?\\3)r??4???Ű???6w?Fy\'?????z?Q???8??#6???\'?g?q\0?0sLG̇?M?2?ү??թ??C?n?(XV\"ɪj?R???a^?%b?\'-??u???/??E????O4?d???׽>dp?Wj??????????~?a?Q@?±? ?????p{$???M??[зsHTxڎ???????Gg?կ??V?????OC?ߔz??\0?\'!????*\"?	\0:?[N?b0*o͙J??yww??I?DٜT??Z\\Ȓ)?[b\ZcY??h???vE?Pɠ?)?????????*?͏??PH????9?'?J??]?2???????|ݙ{?5n???Ų&1?????????O{????`??t?`???z[#??<?<?q;c?L??\"??n?????????e????+<A)??`?\Z*[??GK??NAP??%?8Ɯ????E?P???*??5Ҙ?_?QȠRa?Ip?M7dj?b6+z?Ȟ?J\\O??&F?????#?5?0#?F\'A\\}Ľ?p?? ??]?????@$6Q\0?E$V??x????$F??$??4n?x??J?*u???\0(.!a(u?\\h???ӎ?V??? ??????!հl??+?5gW? ? ?P??:kT?????????fz?????C]e???P]h?Վ?2?M?(?\nHYv?2??Z?W??+?^?k?G??\0?*w????z;*J\nj??????A??\nE??jW?`4s??_<?????VZ5??\n???Yù`?N@???00\"(=깻?\n?\">???卟P?h???d?\"?X\Zn?66??g?????T????=g/Acu;@S+??[M8T?????g??GN1M????t??e??x\r?XE?mnB?\0?I\'?V?jH??	??8?Գ?r?lX?B?{c???ſ2???????Ůu}\0??T0?*??Y??Tnh?cD????\'?U????\nH\n?jnTd7\'<??B?]?P??DqcP??h?:?K??ҥrG47?S?^.|x\"??y}?Kך?U?S\\???N|??^?ł?<?o??K????m?:4?`ӵ??????ʭ?gH?%]??????7???????????j???\\?<ݕ???,??1?Qr???y|?R,F?0?????b????HH?3??????s3???S?????Xf???{X?kk??(??G??W|??|????3W?Db2Yn=o?????G?`????????wo???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:20deb9a6c971bab527c92f537754a5a4','e?͒?0??;>?\'? aߡ?;??\0/?m?v??rd?C?%Y?L?|_?~|?s?h?????h?*???q>N??#+??\Z?Y??[?????vCӠ???????\0?????琇?X?<?[ٴ~????u/??Qm-^aW0??u??&????A0??????Y\r*??\0b\Z?5h~s??c9???;ժ!?H?Н6??2?R`?"*??ZE?g??zeM?S]db??+鎽\r????Q%?\\?N4?1?\r??.?_?RJ?&A??S?_?m??T??\?t-?\?;?C?5P??D??\\??l??/?#+?=?pn??+kFRM?!????ґk?)	????!??ӁLA??\n?ν??b?A??]i??7$???\Z5E?ry?:KWΒC%?8???X?????u??pz	#9??\"???g_O??2???䰅??èn?ţ?\?4??I??W????S????q???~s{Vz;?HXY?r+?n?C??mH?!ņ?6????Q\'۰?m?6?????eq????V?i3?\\?9?vڋ$ϪéH?}???C??>????-&??G<?8???^?_??|M滕\Z??w@??!?Y???\"?Sr??????g??q?{?????I???6???*ڱ%???/o?<ғ?q>C?ERA????uv(????}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:214897daf3a206b8e26b730ec200fa0b','e?͒?8??]>?fz?$@????jJ6?;k?0٭}??\r?Iq?>K???J?<????훹zi?{s?˄?@*Ǫ??	??N5xd???QyF@6???j逫h?????DXKO???F?\	%E??(BX?J?d??l;???f?????o\n?n`Hك?a?#???NI痋`???f5????i?5????#??\???\")?Q?????ZcQ!HW?(r?????Թ5=??C?U?C]??t???\0??*?Z??q?????=}?J)???U???ǁ??j?۹dW????ڥb?5??H????̊\Z?[????$?3YY0x??se]Y3?jFf???D???\\g&J?F-`??>?\ZR?;???]????9r/??F??!ُ??\nh????c?=?H?????N?z`Eb?"??m;?\0????0?s??nz?????P%????'Fu??(^\r?C?Z??z+!~?t}`\nt;????.a??#~??U\r(?!َw????ؑrG.;?&{??:݇??N???k????.n???Ê?k??)K?^??O?邧s?\r?ˋ\"??O?tj5? ?-\n??HN?r,???&??0????;????rD?\\??m\"|Pr?????=ޫW??q???????WE_?im?U?T?c+?IZo?\\u???^\nJ?Y?????E?$\r$??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:216860adc9f00d6fb599abfc4582da77','e?K??0??+2>??͆< a?CO=???x1vj?д?^??7??y??ۜ???sh7??????o?lA*??\':	?r&??NyF@?????tP?h8?]WU?D(?\'??@?E???????,?\'??V?????mlT?A?WB?){P?(??{?x^+?x~{?~qgV?\n?????P	?ߜ??X?1??m?????2??M?????\nA???F???^X?PنX??n?:Gy???]N?7\Z???m8?Z???????IP-?7???hk!u5??5??]J;V쎼?Đ~uԻ(??Y.??Y8*?2:?????8?ѕ5=????????+W??R?9?C??B\nC??v????{?g?b?An$?]i??7$???\Z5D?ry?:KO??C%?8???X????D??=L$????????}==?x?h???~N?????S?Zs??^MM\n]?????^3??\'y??e??~???(7#???A??.H? ?9/H?]?e?2?w?<?\"????uZ?,?io????8gš??O?O?)}???????ة????d<KNY??@Z??t?d????o+4??w@?!?Y???"?Sr??m?̪?[?\"?J\Z?????????.??^??h?4??ޞ?\\~?IzJ? ???EZ???????,[}{yb??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:217bec92583864c769f94731cb4c4bb2','e???0?y\n?N?p?1?z?3?E,? $W?n???\07???6??>gݰ????8???t_?2??n;Ҳ|?e\\?řV%8d9+??^:F@T?V??a???q??}]?ua)9?? jU?K?ۻ?E??<z?eDݸ???T?P??4xE?P?f}?d{?5F|\0?)???????ܙQ }? ?1^T??+??\rǠ??0c?j??d??=(*C#JY???3ZR?Ԥ?R/?nq????o?o)??\\LBȹ?D?2\\ߠ4???J??B??????M?P\nU?%?P?ZU??#?/Aү?zW\0%z????o?t?????C???Ae??1?Y??:??(??i<?軋Oa?'?h?J??i?Xk?}+??J??????*???*??z??r???\r?9!?adp?>?O??$??L?H??Kķ????GO?????|??p??\r\rrn???????IPuO?????{?;?\'?X^???H?\"?9??E?9?H?\"??֪????;Z?f?????????n?\'??2?\"K??L?Ur??c??*M??V??ol???H?????%??bY????\Z??????\nD?\\??-?xzz??	????!?Zh?ޑ~???{N_???o?!?i&?{???!???@??3?<??U?M\"^??(???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:21cdb1b2c7358d4f329420fc589968e6','e?͒?0??;>?\'?aߡ?;??\0/?m?v??rd??>K???L??d??28?/???š??ޣ??T????\n:	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c???m?J???2????????f$Ք??\r]??)]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??V$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??=+??$??A?I7??r????rސd?Eۨ?m?6?x?D?????}X?+???ٟE??\\??V??EF??????;??$</?\n8?}??crHs?+??!?d~[?q?~??B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;?????????M???*?!+ı>????yV?ϧOϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:226d965b111b7a6c066a4f87fea68a9f','e?K??0??+2>??͆?G???zܙax1vj?д?^??7?녰y????uî?hv??vg????+?H???q?\':???\nz?QUZ????Bål??F??82pN<Ԫ,$???w=?܇?????q]???:??	jh? ?,?????=?o??n?????qgF??????P?߬?GA?!????????2?????(1d?tg?$??)\nJ?0?ű.??ԕÖ}???5A%????!?Js?r???T))T;?Z\0o恵?+??P?X??\?%??;r?B???n?D?-3????(E\'?!+?z??v??+?R=??E0?+A?@W???T??\r?G}w????dچ?R??_??z?Tlv??????\n???k????=9I?????N?z`xB??O?-;6??0??c??\nj??????R??9?؏?n>NQ??u??97??\nF@???????a?屫????	\"?W ?V?"?+??H?\"?9?H?_?u?:?w?<?#????u^?/?yo???,*28Ƨ??)I?f?????\"????:5??/???bU&UQɳ#O!**o2?-5Јﬣ?=????#??ƶlᝒ????o??g6-?\ri???⇡}???u??R^	I;6??????a????&E?\\S?OS??SV!?\'8W?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:24215f206c78bf258f0267752948dc38','e???0????N?q??e?w??????\\I????{W<?/????c???9?ޡ}6g/?v????L????r,??0??S	Y???W??Ue??F?R:(T4\\ʮ?kt>\",?\'?@??	%E{?(BX,O?????????????/\n?.`Hكj?a????FI秋`??.o7f5????i?U????#?????\")?^?????cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_??hp>}?J)?ۉ?D{K]?]??A(??ǒ????+i??ݐ7?ү?zW\0%?m?%\\ɖ????$???,v?????2???H5%3?`CW?~JW?1?T?0\rA@}w)??d??R???????Tlv??????\nh??o??}?=9I?????N?z`Eb?"??-;6??0?0?c??nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?ܖ???	?W?܂?+?[???d+rX?\"?9?H?]?u?:?w?<?#????u^?,?yo???l??m%v???P?\0.2?????76uj6H?\0,??x?'\n?;$??&??0????w@/?C??ye?????˷Ǹg[?揤UK?;???????ezZ??y%??f??Ӈ?y?O??J???E?f??8??X????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:247d4c7d9038f559de2bb547362ab762','e???0??\n?N?q???z?3!-? $W?n???\0?n????c?eZ???n?`v??vg?}?K?+詐??ɖ0?\'<qꀔ?CM?Q????Jõl???.\Z?\'j?ɤ`????2}??2?i?Wi\'?(m??n\Z???s??>eGew??=??a??r~;P?~qgFQ?\0!?顚*v???m?Ȇ??f?U?~?ɠ:?G?eh??EP??:?%:?I?Q`?Lu??U???d[?X?z???\r*??l?`?(?ka9ku?I???xՊ?\Z?\nL??%?`??Z???#?/!?_????h?%?qzC???\Z?e??B?1???U34?@?????zĔ8(F??c?>??ӞLA?U?Νf???!@/w?M?8~????????r-??wa?\'gɂW?k?aB????D?@?=,ď??????R5?zz???S)?~N???\Z??\nW?????&??^?4|?x?%??f?a\\䩫?lBJg?))k*????<\"ǈ9E??4?Qu\Z????q???????v~,{ۯ??? u??fuZdI??^?I??uP|{#s?~?9׬??%i^??eI??????KMq???0^?C????-YEx????&??r?Z?????=kh????sz????[??{???????????3??????f?*???y?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:24ed89f73d2dec345f520047194341f7','e?͒?8??]>?fz???N{??)apc?????6?&??,?C?*)??\r??????F?7??˿?????r?:7???GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*y?????FW/?Ajc??Z?!(?`Hك?a?#???I痋`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!??????1:?~`\0???-v????/hÁw????Q???B?j\r???ǡF??۹dW????ڥb?5??H???=???[????$?YY0x??se]Y3?jJf???D???\\g&JI??A@?\r)̝d??R??rߜ????Tlv??????\nh????c?=?H?????N?z`yb?"??m;?\0????0?s?\r	m??zy??>P%????'Fu??(^\r?C?Z??z+!~?t}`\nt;?????*oG?	?\ZPnC??$ߑӎ?w?ؑrG.;??hu?;???O????}]?,?uo???X?~.JQ?)D???A?]x~9?\Z????-?ZM?I?xR7?;?????dey????&??0????;????rD?,??6>(9xy???5??+i?Ҹ_?S??????ˌ?6痪F*ڱ???o?ʫ4GQ^?\"?@????y?\\?O??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:26824a89365a40f4af7e018abc19d2da','}?]k?????\nF?Ӕ]9v??? ???D?)????\"c?!o???<c?ӣ?-wJ?d??:0???K`_?$y:??횤??J?n??$)????W?6?Pu?,k\\?-I??6?v??H;l?J?i????w?????:????1??????4????4GZkh?u??b[?@_???A???Qv?èEM???(????Z??N&U?ѨV???,g???\=/?e???%l?l%2?2??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:271010671c3a48802b92f5874e369e25','e?͒?8??]>?fz?I??N{??)apc?????6?&??,?C?*-?ņ?th???ݛC????F?0R9V%?8?t?UL`??\Z?????+??m??PHO???F?Zq%y???X?J?d??l;???f?????o\n??R???+PX???'???"??????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r???+ف}????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??DOf??;?? ?DVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?|CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#??w??)v?ܑˎ???N?a?????\Z?????ۇE???b??7?𴬓/??ّ????ȋ??dK?VQ䴥?K?\"6??D??/?fiL???\Z??w@o?!?Y??m\"|Pr?????=ޫW??q???????WE_?im?U?T?c+?IZo?\\u??\"M?\\?<?cY&Y}ɚSY1?_0;?~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:273241228836478a8dc1e3f409ee122a','e?Ks?0????ئ<?,??????#???????ذ??,?!l????\r?h??Z?'??_??Z?0BZVFƵ????!+Y?\r???i??נW??[َm????pd??x?U]I.?z???񝬕m??J;?Bi??AB]?\r?;??(???8?a??r~;T??ƌ??!????Z??6Cd???kՒ_$e6?^?Q:Qc?"(x??I???zet?s]?c?+Ɂ?????uA%?\\??N!?Js??g?.T))T??Z???q???P?\?3?\?#??r?B?5R??D?3??+ٞ?Q?A?QFV???WFO????E0?+A??+??R?QqX????q8??{2mCW)?w?o??\0??*6??QoHvc?C????օ???\\$?R\\p?AP\'D=0<!n?'???[??{X?ɹv???Z|=?J;{o??~L??????S?}Y??I?M?????>0	?iWy??ҙ?@??ݐdG?9??#?rڑ|G???=????q?????_^??\"X??_1????ϊO?????:?N?m?49}}}eK?V?$*?**\"H1ɫS?Fy?`?Yc?po??-5Ј?YG?zx?!G4????%߿<?=??$?Vh?6P?0???o%}]z??9?T6BҎ-i&i?}{??Nir??$??)?????*	?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:27caaeb7a06fa600a4820123de8c573f','e?͒?8??S:%Ygm?r??R?Ԁ!9?0????????4?J?sR?az?s?h?????@*Ǫ??	??N<??	l`T??Mc??E=!?\Zne7?-:\n???8	?Q+?$?zy?U???m????R??A?vC?T\nk???wJ:?\\????_ܙՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B?.??!-EA????!V?u%;?????.?D?k?Í?f?A??l?*???Tk?=u=5?AH?%?P?NF7??#o.1?_#??J?`???m?J??Ndeq????Ate???9??3?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε?$??????G?@???p?|??x5??\rMjmR???????)?Hø?W???Uގ?RV5?܆d;??qGN;rޑbG?yݑ4٣}?>?w?<]#????]?,?uo????EY????,?B@R?z~M?X??~??S?	?<????ggQ6Ms?S??O?&??0????;????rD?,n?6?9xz????o?i?Ҹ??S??????ˌ?6痪F*ڱ?????VY??. 97pN8?Y?f??????y?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2875df0570ffa3bff577a9fddd644850','?^I?(??O!?J?\n!?1??Ƹ??????p?e$?FU2???΃??r?n|?UI`O?sϝ??̈????ȴ?}k??:?j??M??2?F??U??sMo?g7Y?\Z?gU0??8מ???[.;йi6???l6W?s\ZM?a/?????U??????݋~?{??????}?]h ?}?7?>?»???????5????'??0?f\r??W?g??????8m?Y6?y???????nK3}?׽??R??h^F7?i????U\'j^]Ľ? ZwwQ?wNw?~??U???ÿE7?3f?e!?4EOgQ??[8?\0w?\'V\'ר\"???w\0??:Ȧ??9?&????d?ޅ\Z׀nCP믅?QZ?\rz?4gì???????r?"??%???ƽˇ???a?=???v??ߎ@Rg????j?;?6?w?J??8????\Z???sC?-??k??Q3??V???^?[*El????ą??yMIx????#4?W???K??*U4?eze?\"??&?????I?*??x3h?C???????E\r???\nT3????6??\r ???ZYQȣ?6:???].??%?????????̥U?E?]U?0????E5?8??z#_٧??>o??A?֕?\"?9P??\Z4?\0??8bi??$j??????????~2\n??Ē?S4f\Z?fSSa?DL???\'?ʙ?#/?h??뗽?d4I????i????L?I?4?&0:=??忓?f?????K\0??v\Z?0??g5?E\r?i\rA??_	?????,ɠ?^??(>!ݫH?R??R???W??7??U???wϦQx	?\\?=H}?^???2??4>Fs???????zÙ_?Qػ?Yy???y??+,tO??0??ʳ??0/{??՞????!?/???lF᪝???<`??e$???Yf\Z?Ī?R?????????q?K?Yj?i2??a2 ?\\oeE???{?h0????L\Z=??Ys9?Q???mL??z???MS=4?ځSm,???ԏPI??????Yҿy??N???7????!I?:??i?Ljh???O?9?Q?F??(`?:???hH;c????1`6?ww????T???Nq??,$P@??:\',??F??r?d\\??l??~???\"ю???`?\0ؕW,)???~y????:??T?,)? Dؘ??	??W??m??K????R??n?S??4iv \'̚??_??KY?ZKC????c?,??e-?c~??F????N?ݒ?rD=??M&??L??t*?\"LKM?U.??\"?i4J?˷??n@??6PI$T???P???4sj?ѽF???r? 3???D??V<?Ü?r^???,is.{Q???VƑ%??A?tD?(??k???)?#?)A#7??-??o?????/????*H???x??t{???d?Q?]?mx?*?L????ԚI?OR区[gM?Qz^?????~	?Muk-?p?U\'??????\Z՟??_???K?F?\ZN\06B?6???J? $c?4?P\'???I?k?\'?)g??h?R ??ga?-(?Ժ?ߢ?k:k`8?^ġe???sL6?5?]?c?/^w??!?^?ȓ!\'4???5?Z?b???|???????0nx?X!W?bav*??\"?r?Wn?w???<??A??]W]??ש|???W??Y:a?6~???]9??>.?=?????\r?A<M?/?N4R???Aw???O:?@??b?~?Ɉ?v?.?LW??c??b????)ӿ*Y????\\?Ŏ???a????Ø9????l?b!?\"??x`?-cj? лMww???\0x?mOuJ??????]???^?cW?1??l+?\r??֚]?}?_??`ήG^?!\n??pL??_\0?tHq???4?.=??k??????iZz???\r???i?y?r??8?p돢~?_??W\r???Z.2??af?i|~??`?,\'?~????f?iv?!????O+??wU.??N%?????R?.W???3??6?|?0????Q<?7??4??[???\????????~k???nD[?g????[[4Ԡ??4??Ӫ_u???\0?{`?\0?C?Q????????)?2f?>UG?O?`??EQ?_?A=K?Añ>????,?\\޽>d???\n????????&??\Z?{T??n?:\'?????R???h|9tG???+?*??מ?6???dJX??%??`??0\n?w/??u|?,S??[3[r?i.].?&$?-i?t??bZ&y??D??,???wmqy??<????4?M?CB?ظ^gB?|?????????n? ?g*x??6?U#y???`r??%v??t?D?????U%?H??r??????J??4?j.?????TvO?0??@?&k??-Gw?/???i???S???i???p??8R,-?F???-+S	+wン????h?N;\ZU6?ҝ???%H?????&$?%S??u%M??O?^?{?.???t2?4??u`?bK?Ƌht?Wi?H???z~Vϒft??~?1? ???"?o]Z?BWPE??%?<????Y?Y????\\_g???^op?y?lk??MjW??K?8-u?Z}>D??3ϟP???wa?(????㴱擇??????zO?Y?.?g?Z???0\n?;a?.8VnIEi/?D_v?????w?Oǫ?xr|t|rR_;???O?$???d?}\n??#<@???B_????WY 6??????!}????h\n??S?A??E?2o?\"?**KH&9?\Z?`%q?0P?\n?7?C?Z7I????d??b{:\r?F??!???????d??`?????????'??UH?.?v%-p?z迓/\\/?r,\\?<??Ŝ?d?f?????u?S??]b:g:?\Zhws_??i2!\'?????i???-:(׭??(/?|m9?~?^???????[?=5????????uhX?fY???UNZ???r?Ǽ???V????D?????4?/=???E2?܇?y-?:~??`?????_?&??<??Wׄ???Q???kB``?lÒ?>?eQ͡/?<?̴?WUK9??m?X??-???S???p6?M˘aJ??	??\"?eWe\0?K+}P???*?ir{Vh}2E?Pt(???i???Lc???.05????r%???_???k??A?[?QKD׽?l?????\'wsG@{??q?x\n??ct?}??1??\\?>??A?*?ҿ?I?d?A4??bƲ??*xˋV?????Qʚ$?????`4??0???9zr#?n???\n?x?Y2??j??i2&???h??4dk?{?c?G??8?A?.??24?\Z?S??_H]/V?	S?g???t?і0?q?֫????>????շPЦD???\\)??)I??#?(??Lv?\Z?h?)??&??\"?8$7???KUOr???y???\\u???????$??ը???S?qp?|????\Z?0??n?%=Y?u:??P???ں?q?S??L)??`????DB?5??,?3?r䦀??X>?H??*??V??o????ư???U,Ზ??\'????43	??FWd???O?fT?????q7NBԐ???+?r?9??W??	\0???'+?U??*????k\0?.??????Z?m?Q? 5?ڈ????0?;|?%c?\n?ӹ;x?J????l?4q<.ܚ0??MSmP^À???A?????x?c?f?er??͆?????)????????T?(?H]P??&~?5h?P?KK?i??^g?????v??	c?Y???????k???%m&\0(??\rE2???%_}vK???&??*??5x???՞r\0?#?jaԨ(?1? ??????8⓮2\rj???T???_???S&&4l?wV????A)0x,C?w?ԣn???|+O)!W#Pk1?бa???g?N??i??m?u?\@?<? ??&VV\\?????\\?e?q	??Rw?!R???????ʼ2LG??l????^7?{?4v?bΒi?3???{?0??3(?<E?_?\'???????e?*LF??M݊?GX??G?Eӫy??@?`5룩u??Uja?ƅ?t???#+?a*MV?Nƚ????U??7??(???ֽ?rI?Z?*?.?e6i@???̷?C{?\0???^??i|~?~Ge+???|??mk??????3d??K??vB?AY??"?V?5q??b??iu???4?}<?Ӌ?/*?ʒ?e?Z???j_~\"?\"\nW??c_?]???fz??ߥ|?ۤ?\\\?\"#c???	Ӫ????.???]?D?????0?	t?h??8X\\\n4?F?S??'?????%]?j?\Z??*X?v?l???i4-5T?z?V?:uZ?T??w??y?\Y??l??i?<??n?-?c4?E?q:\"Toq{?ߠb??"k?p?t>?"\'-????"MnQ??	%[?"?ȷ?X ??????s?\r?????????lbeP??x\r???J???*???\'????s???????????FZ?C8?)??3߼?????L~]???4?u `Sm?䂕?????EE?r]m7?wQ?ZB??@a!I???L[;{D\'Fk(?4?L](????93ѕO?????7`)Mon\r?6????ʄ???\"!?\"-??h0L?)@??[?.?Oй{g2M?A??????O?k?V???q?7U1e*?&S?ǖV@?P??U??zqM??Cݪ ?6j?+0?0??1BHzmL?:7$%????ѠmAk?5M_?????\'f???+`?K?\ZNM?P.NL&??i5?<sI?W?E?\\?v?eKq|h2??l?WV??̟??F??8?m????O???q_??ĸ5%~?ih?J???\"???a7s-????? 䣰?ot7ڛ????)???+?????????\rԽ?1?U??????}?j?z?ջ??R?ȜCGbA?-?nq?VvpJ??24?R???:v>??S??w??S??r??EB??????\r?-?????n??+?{\'??㒫??᭕XX??*Xl#W???r??xs?.?վ??>???;Z??V?%?}??w|7{!^?Bkxf#,????[?V??n???&+?Ys,T*PN???Kȩl???`$Z?aU?\0?????s?t	s?M?CE\';?3zJ?B?????m?B??ڒw_ƻ?8K??!f???r??;2J???S\'???`?'1a???F?\\?Q???i?YXV????ջ??v??{C??A??#?\'?8???-\nV?e?XG?????w?d7x?_?????ԣ?):׿ǃUX????	*?\Z?AY??i?W?????Y????a????l?ҲԜ???	?e????=??x?l??\0㉟??'???????\?#?J?7\0h??zL<:?1Wh?w?|??;?~:?Lq??"A?E??? ??.׌?V?;???ﾞ?Z?5ܕ{T??Z[??E?H\\Pe?u??)C5԰?m\n3,^T?H????h.9g?oR??J???[?U-??q?w0@?`|?گfK?/\'??+?k????,ͻT(Y?????}????}?m?5????*?^?b??E???_??o??0zM[hr???O???NTPFp?R??9??N???cs???٪C?21?3?䝓x??αo??$k3????k?????8lf??+c9?????\\?H<?\'ұ?\"?ZY??߁????Wv??`j?O?pP ?LF????+X1ڟO?́Я?c???????6?#?$?f?ғ\\f?????J??\\????	H?i?????Iu????W??????3??-X̗??u???o0̗?<?;w?GExww:a6?}?i?M??hȵ{???/?????'k?7??:j?`t?"????4e???z\r?w}???%?ы{	-??!^??B??0 ???0S55???F9ʭ???oĆ????.??M??h??zAx???T??v(??K7??!r?\'pd??T{W?????1[|??\"@??\"\Zִ)޺N&P??? o??\Z??G?P????9?}???׽o~s??ɉ8O?}???ܯ???`_????Sr????f\"???\0#_????<*????????????9{?%??\Z?4?????s????`????G.b?j;7??q?E????fp???I{??Y??s???ؗnqr???yHF?o???>????e?<???z???K???)?C\'?X?????@?\"?0??|?^E??\n?$?袔v?x??\?2????y?UQ?+u@]?2???????^[?\"?1??u?4???%@?n?C?j)&??]rW???7?WG??{(MYFQ&%C??Dm?[Q??#|?m?P??G???;?0\\?M???\\??r˯?\r???)??rܪ\\?7m`???????\n????U????\Z??)\0!{B????5?\Zu? XV{?\???Ǘ?????Cg?c<??6y???R??????B?g=?`̚s}Z?fa6K??z~X???q??b?)]`??q????lW?|?????j?$AY???җ?@?z???fR΄,?nI??<????m?d~?A?9~??????U???,?۩?f???L???oY???}?-i\"J?2?k!???tEQ%?W;տ??")Io@ڻ?>U??e??ͦA?|`h???>+A*?it>?<?5??vU?>Z5h?)??0!j?JXIg??\Z?o??,!??)????Nc??e6f??+?pt?s??? ?c$??R??|QA??I???5??2+<??Q?>t#?<ٳ.J???)?\'KG?!cԡ Ǡ?_ʧύ??z}?e??S?oQ/???????? (?Ě?????k?/:B??&\Z_??-???\n???pt???c??z{?7????s?^R???b)?hr?6AU?ɮ???dW??E#?3??ܵN??%E\ra\"?????????7y?Ãa(S??HD\0?Mz?~?????????G???~YY?8dGX???E\'?o????$?}Ùe\r\r>???)\"q??'zt*W??A??<?P?6F,֊7CJ2`\rf?{?Wcہ??????^???????G?b??]C????'X?d?O\Z?V??|?Q???vٯ$???	????R(?2w?U?6?X??c01?/?a?8\\?)`?PD????=L?<???\r~?2?G\'?#?d??̑?v??q?>WE\0d??R\ZGR[????2+???v6l???\n6(և?m????}?????J??????t,?g???k???FZ`h?=\\?\\m^O??:d?젰???Xⵗ?c9??????Ѝ??p?[??g?Ϸ^??????Ͽ??o>~???o_??o???ó????h?L?9M?ٷ??w???dl?? L˵?~N??O?`}W%?J0???]pto??|?O+?XS??d?fj~]t??oF?-\rxfD??n\r?l??W??^??d2??t?\\S???b\r?/?0??+???.?&??#??O?֓??X?1?i?˷5z?RG?p???b??r??>ZU????:?3?b?8??ED???????,u??wYf?tc????0<F?E?#?͓????œ???]_?Mٹ?'????cHE??8_s?.D???<a?A9([?:?rǣ?$?K?Y?we)*???=?CR?$SHAֻ????I?=#????X??t!YLJ?>??\'?????}aQ??f???N???6@%G????s???-???%?????\ZA.??D_p??$ޙL?p(ν??=?]--?03_??P?߮?\n??5OT3|????r??C?B??\r#o??ymx???\Z ?\r?ã$?b?[?\Z??u??????$??4C??C?z?A?3,_?	M-??i??9?\\K?,h2R\\?????N?sTkX??ЩvTk??ݫk??????Z}?+I\0+Iڍ?=?m??[t???~\r:	r^???g??r?z0?q?HI#?=|?[bJ?B????????^?P??j?????0?If?Y._o????T*ޔ?\\V???򜻻9,0?p??qh\'??*????ArmUVF?0?^???3X8?nnX\'O?D?O=???35Ĭ??@?~??]b0%???OC?z?a^?S???-?:????/??I\'\n??2??#??\"?&*?WV4E????tVS???d??fQ-?źX???)p?5??ZrUSW??u쯉???B?P]???n??❘kn?N??\'v?????n7?B???w?ix5S?^.???\r??ӏ??8q??͜Q.????#??[v??_8?uN|?>?m;?(mk???{΁L?E???幊?e??4O?????i\'m?=?????eN???????/]???8????[tĤ?!VK???s-\ZМ呥IsvqiB?*???}R????f?(??3?{?]?? ????b?<?L\0	????E?ht˞5d*Ch#??u@??D@?V??V?oo9x,?0u<t,s??a?j\nkid?VO?\\??z?!N3??+???Ѥ?fk=j???X???ړ.?Jf????<?$UV?Tw?_?b???[???:????R??Ƌ????|??e???t?Ǖ?f??A??+ ??ޠw?/ǏI?\"hy?:߽????<=Zys??4U z?c4??c\0?-mL#X?D?\Z???ZY???????G??4l?5l????\?7???[̇?0k????l???\Z????\Z??YG?MߛM?84s?R{?\Z??"??Sri1?;????4??ƫ?,z@??l?f?H??r?࣯?׹??DQ}p?E?,[?1?Հ??^???@??(??a\n?s)-?({??p??#.C???)?????-9??k,???'?\'U?Ś?X\Z?????u?\"?d\n`?a?N?qt???I?H??/#?J??ڨ??v?ST????o???ɏwF?X?X5N?r=27Ӧ?1)t????W??p\nki?\r??????3?(??????M???ٴ?Ϙׇ??/׍??<?C&?F????g???F✪???O?g݊W????Ϥ7?Y?xR????,?φ???o?\"0:?6M???4?j0ed??\r?K???4???9?x陫??????Z????B?E#?ƙ????x?r?z?????V%j\r???P\\(\'??Ј})?G?Ņ^?????̸??\\`l?????wR?o??]??z?U????Tx??I??:????f[kz?Wp??8?0	?!??3A?X*???J??E`5?]?E???wМ?????V???? ,9???\no^????WW/h)???D????[PB???40?I?????_}??=#㥛,ŵ?U?bx????vu??.R???0H??:???6M?2?S??z>LɅ?7Bt??e??^??:????m	??????G(\n?{:?n????tպ\Z??{k??OO???m??o?q???G??k??q?;\rPU??Ï6O#,?J6?k,{\r41??Z?q?љ????`f????????g?\Z?\rƩ?[.??????l?߇Ņm????\'?z?Y?????????G???????ɛ?~??????to????¯o??:?yv??<?k???C?ߺMb????I??v?NԲ?+?N?$??D-???5?\?/?mͶ???q͌?6??x?0???ī??ꨍ?*c?ߟ[?:???????pupr???m??????????[?N?ܨ|???r???:?7?????*????67??s??{?????????????rEi)Ŭ?t6;????????Y?f??????v???1O???N1?~??,?n{????S???9???0++?C?wWq\r+p?ۜ???g?8:???v??E???f??=z+?????G???*?S??m??1??d?^?ݭ???M?M?߶i^????l?	?f??ݓ?C???^???D=<????I??\"Zҫ#?QP?\\?v?ٰ_\'Y?y?>{c? O?5?[m????S??8??|\'??!?평K?i?C??❏.?W??[4m?joZ??5{w???vsr??Yx?C]7???sq???a?????????_?@n?^??7R????Ǡ???????G\'?(??7hJ7?????B??????̐ʺ?߆?/n?u?w?t6??0]?t?|?k|*`\\ң>??????-4@??1m?ߞ?E??dZo?\\???"?r??T,L?M??_*a???J O?~?\Z&TOk???+?=@.G~??T<?YڛF??K????H???IJ??Z???ː?{o?*F??%k׫WWW?t????:??|?????1??&C?\'???P?19??[|?\"pY??/??3?????Q/=دԼ?ƛ?)?WZ׫Sʒ?k}?w?ଉ?B??????V?n??)??????i?W??6A??)?3j???\'?"Š???L) rH??????ڪ?w?ae!˘?v	??k@???å?=?.???:4?C?\0\\=?T(SXI1B?~Պ	?^	???фA	Z????G??i?????6????Q?\r???2`Ku??ڸ?`?U??SGj?l?@??,F??~?G?/???9s????|`:??U?ʻ?H\'???N?\'U_)?k?5???rX??????VK? j.\r\"???ѷ8?2???n??}R?,=??%?޲ۆ/??IT?\":\\>FP????????g^.?)^@??*K??:?????~????5n?\"?????(???[?x??[?ʊ??$?߰ d~H???(?|??e?1{u?c???.?F??	8?P???P~?+?-??AS?@Q?J??g?T?_??[?}???d?????8?kU*ıMR?Q_?? ?]e(Y?Vs???W??z?`??u???????i?Y$?\"?6?$I???????????m?ټ?~.??? \rl?f?\???? ???+%??K?ﴑ*????t??m??A7?Hhɗ?A<*A??r?A?[3??[OYd)z?[????w?\"?LH*82,?^(?????l??D<??Y??N?F7?܎#?Rmqw?\\2??ID_Z?hD????f?A??F?<????*??	m?V~\'[?E?0Fiz?y2?t!??>2?v???	2?Z??Q??Nܻ??\\??\n{%?Yju???\r{????c}2?r?-p??ѵ??Z%???c?>????(???f??` ʗ)\0}?[ns???_?&Q/?\\?3?b??K???(	?巖?|?rv???J?=I?yy?>?WLq???]????V?????i??4???\'9??L??????l;-??????*ȁ????|?@?J?/\r?m??"?\rS??Ͼ????]8??({PM8?YɊ;???%t{?%\054????0=?L?\0[D~uMGq?Y?Tpv὇??-B?\">?SB?ǹĠ?C?p/Dh?n{jtMD?5??2\\W$?D?%?a?Q(????????????Om??BjJ4????)????????\0i6???ˍ?\'gkԗE?`?zs?r?s+??	?ϧe???;?v?p???}\ru??1?v߃??\"?P??bw??x???ݲ˄?nY??e?;L{??\0?sv???????T?c???~?^?AE~??_?i???Z?P!?=??bc,Z??B???\Zu?X????h?ʳ?????}?\Z???>n?J,????&Cs??U??~?ќ?.C?k?????կ??ljM?\'?Jma??l?Џ?????zo?~O/ ?θKfw?\r?׉%???C?\n?O???-???&ů?w?	+*?[	(W`@?L?\X???n?)(??\niX????X ?9??g++?do?V?6n?q????b?;?j2?3U	O?,/(?A??p?????.g? }b?y?????O????چ??1??c??"?}?R?ƶ\rKUDy??m??????$??G?~??\r3\\Z?c???w?h?^?OO??\'?\Z?Yk?M???k??\ry???8?:??q??????a?*????R???K3*?A?؅???j?y??\Z*\Z8?YFq?V;??<)[H?w?ʚ?>?y?T?;@???U??)??)d7??YxW,@?_n???????\0?g?y0X?????֍?D?????ӳ?j!?/?7?G3X0????[???A???Zq!??J???;i?????Z?X5???ˉ|?????\n?F?\'?Y??C?K??k???Ѧv?dG?k3?Ђn	?ܪB??*t?kWk?X-??\_????Ԩ??m????l??@?.Ki2?eC??=???ƾ??'????0U	|?|?ޅGf?0!.ɌR???8?Z??ݦ:??1G.????[??????	4Yv???d??-?f?]?T???C?wK????r??c????&?	?\r?Vz?C????>o?=??t??4m?97\rnKX??t5? A?΍?????j?X?s??Gf_1\'c/?|??3??t7?}?;?.?5????\"c~???W.?x??t8??(cX??,??@?n??a?~??j?M?? ??????;?r?????%??I?(1??????D55???4?g?_G)?ߎ?bMZ?pk>A?վ?????L??????S;????????,?++z????03|??rҴwf?50?s?,?h??Q\r?qtuhNx?v(G?0???匾??6??q??CP?x8?f??R࿻;???4?k?,\'D?̅??;?L?0?\\?P?!oGȐļ^????Q?֒??\r?+?942?g?<??%`j?i#7Bի??j??)??4??Ƿ?r|<~\0i\\5?l???_޾/?.-?????*}%M??J{?H??\n?`?Z?5,??K?I\":?ؚ-?Q?<v?s?~?]??r.??-??f?<s?++??QsH??#]?wwsWī?L+F\Z?????????gs????ϡD`?j3,L(70?z?G???`|O??p?E?80R ??rѧ]B%????t?0Mq;?~;ﺸ6?n??!???<`?H\"??_0????-??ґ?QF0??\n???E?	B?C??nȂ?!????\n?%RQC?'A?H!ֲ????`2??o???%עg???9?G?-(?z ??aj?7I? ??ӌM)?wM\r??%?l????l?	i4b>?p?????\'mX??\"?=?\\Yɧa????z???NR7???{??r=????Y:?qW??9j??\'?5??d?j?D6?;B\\R??G??:\\???}?ܚ\rrq??!E??????8?)????j쩍????g???ʺ???|??sJ(>6?<\rJ?!?dbɣ???????0\Z?Z????Ek?s?ʯU???^l??v??M\n&j????f5?^?3Z??0????Z?;fc[?n?|8??cA?CI/?i??歘???2???????;??;???BPe(ЊN;Ǩ??ljYɡ??A(3?g?	??iXr?8K`?m?m(???,?S<BT?h?????٢5r???q?s\\?	?f*T??]?֘??p?i??~?O?rw?I?;???\"???&??L@tH\'?o\' gL?ޙ???????<]<?????0N?x3?n?|????)uV?ag?L\"S??L_????#\08	zg?S ???l?w?J8???*????:?Zx\0?N?si???Ka??>?\n??????ww????J?r?{=O?$׮x2E????QyeSWBi???\r??6	?`C\0CR?3X?????\0??w?ZC?yOcp0??9?????eTŎ??t?\'??????d??DX?	?l_?EBsJ????Bv?????J???kt??y4G??詋W?l5?/?3?}tq?n??2M?y???\n)?4?X???\nX<B YwB?++??*?_?\"W?a??KĽ\'???X?aߕv?v?ŖsT???do?a|?֫\r?8?\ruu?wW??F??`?W???P???.?????#?D?n[뺯??????U????R?p??kQ?_E????߮?r?.O?p]kfLn?L????2?oh)?`-?e\Z????? g? Ia?Fe^V?^???ߢ???\????qP??ƥ?=?̫g?s??V??0???٧%?/???4???\0Ë?P?c|M??VX?9?Ha??.r????ݖ?\r!???\n?ML?\0??S??7?5???u??Z?TY܄b?0?	?U7OY|w?rj1???b?K?>?"F????ُSЮ7?G[???.?=?#?)iGg??????@???;???t??,(??zWµ??{[??\\?? ?yc\'??A???	???:/???D???F?-A?u<??@???Iݩ?????u1?R????\"?%w??H?\"?ڽVV?\rf3??T)?5ߪ?-6eՙ???H??^_ww????0`?S9?5ǜk??????8~d0iW?\"?a????B???@?3t<߈???j.?Ĳ???"fk?J\Z?*Y\rA79t]??d??ʜ??[/?p??EX????9???8??%?5?T???2*a???????^?????)o????_???e????\"N?Uy??ک?X?Ӫ_??' \rF?V????fU>?????\"-??????dt~??tWVTJ\r4Z?}????\0&B???|r??)??s^?5??a?z??.I???4?LJ?R??M:??8??~4q?ݵa^YY???@: ?F\'^]%u???w9\Z\\<^?}????u??7?\\?Ĥ??:????t?r??jE????_???%?N\0?7?Q?2t??˥?lm$򔂾???Z??&??????.???,b?wwm???J?%?,??cy?ˈyN?Ȁb?G?ՆJf?R?N\'?`???W?ZE????$?,lL????i?$?n%?R?~?&V??N?э?Ӭ?G?r:/пT?h??͙?/??????.???Lё)?15?S???\'?v&?????4????@?嚷????O?#?h?H׺Q=???j?}?`???????tA?c????^?m?t?Z?Ю?zCa)?G?!??Z?iĻKD???N??\'??T`??n?T?\n??? ?N???[r?z????5?Z????????S\"?OǢ???tcW???????ɪ?{????m??<?\\??A?%k?I????2?2?/?JX???I?Yy??Jv?T??(???GɢS?5-??r??ô?\"??\Z?z???񪈦͈y?B?H??0???]?|g?[2???ԯ,Ӗ\"?d??A?꫁a??C??]b??._T??U??? ??Zpx:OG?XF????,RAG@?{R???d?ו?iv[9e*????Uc?C|??ʪ??N(??uc]\\??p~?~?<?dH?\'?0?֝???[$h??HIZӂW#Q)\"07$E*I??	?????XKU??~?????좓?c??6???wv?u???<??0-?\0?????\0A???????Zd?E),Z?/???#???H\r????Ю[U?\"C??iU!??g?%?U?8vR?????QC?\"?UKB??}????(?????\rFLu9?=?<Tv5pH??=x??????ӽw???*?>?n?????w?????ݔ?{??????U???????`go??6?????????>|???v?????ϟ??T?\'?s???????}?G)/0?{???Z????6??????5{??׷v1?1??ŃA?C??v{8?*W\"H?r??\0J??ͮ?-\0;???dP?8?JO]t????M9?\n!a;?$??D???.?ʙ?X????X$)???U?7z?|?|?@?qF??I6???tNr?z????D򏝳?)???<?!????????u???W@??ooDo? ?\'i܏V??@>s?+XQ??l??>???oT;?2U?[N??ȥhXjÖ??#Rhwv1??3???oF????v>9?*????M?c?&?R?&?$???K??\0V?|?`???@???2?Gf??E?%????Du??u??F/YM1??????$~??d?Js@?pA^?1I?_???p?T<F?\0??U????Z?Pc???N>?U?n??\n??A??,p@?'?xzKK5?x?E??d6?B6?.{??X#\0???????{Q???Z?????%6Zإ???Y8?H???ml?oЉ????+?/?\0???1??I???+7?¸??R?O?o\\ l????&?ދ*?y??\Z_C??\0???i(????0??_Q;??1\ZC?fOIz$????S(k??\Z?B;}?\'?uK?0*????r?cx???Ӱ?a????q?H?,_QT?d.恤?????D^ցz]DZ/?)w?|?0?????3?N2????H?}????s,g?nLW????}?&??&????ƃĆz̔e?7??x?L+>.R??????v??z??$??\????0???\n_??j?SoE!??|,ٙBu܀?Ō?nM??8?????+O?b???vf????l,m???\nCoh????[??	?6{?8??QFҏ\"9????m???ʺk$??w?S\nFzxH\"?0???%`@H??\n]??Û??\n???????Z|??X??-?F_o	!`PĨ???4???d?"h?U?C???????<\\??0??a\"?P\ZE}???\r??I?_<?6	9????\nce1?2?h?cխ??TF??w?FH-???6?I?04*?ϓ,!?u0?\r?????C???Z?}?	???u??3|?`?K?j?\n-\\?a??p??6SMT?b???J??R?$?T????i??0I?0??h8*T?HW??hAC??#?}?m*?????cǼǗ?*2???iL??\r2?T??aF15?/?gT[?\\???F$_?8?,??34?\r\Zs??$?2u????h????HY??????C?c??9Ԣmi?sV&xi??ˎ????R?^K???????t!MN?o????????? ??T)???&\0Z???????	Gm\0A=??????6?l????M˷?F}?O?y\0?t?O?|d(N??i?D?[??;???IӍ???<??bh????b ??%L????K?a?e?C<#?N\'???????????Z???Ţ?1???D?8??????P2୷?a??deb9?y??M?n??a?c/?????Y}瓔????!+ߴ))b?m????]?_ ??0;????????F?U?څ?DR??|??r?>?)?U??2q??8?΄?[?n~????h?Bb8?ң?????*o[!p\n6??k?X?}z8m?8??4T???U޼???H?-[_6???UF???G.Bv[?gU*?W???ޯ??3V?X ??Zs>X?-P?c+T-??D???\"?2m?n?\n??\0(?_\\?Zx?gt?	J![?B?,ucL?E1X???r????8N??G+m?^Cj,?OOC*m?l??ܨhY?"??T@B?v?L%??u?Y???(?bϢp*??R??/E??0hC????fI9?V?\\ m<?6P????X?n???:Y[\04?ۨ!??O???e??6? ?Ej??\"????d????Rư2?????u?&??@??B?=L?a????C????]\0??}\\s?I??댵^??ur??Co??$i:??Rg?M?,??)????sRV?F??:?_k????\\???????,2??{?????J?{?????z?/H?{?\"A}?}0?z~A\'?&z?ˡt?tx??e6???gè?\nla?wr?????????\n???B?0?rp???*P?l??gä?Pg0A????[???ߌ??#?Zq?????7q㑈\Z?#>{$???Ɉ??D????#?k?F?$??#I<`??v??? ??r???D?$??????????????	?9??>%AM?????ݗ??8@k?o?????????"?#3????]?B7?&?޹U??ppl???\n\'??ǎR?????\r7)j3??h+??Ι2(i??6??g??J??M+?\'=???8i?z?I/?????J\n??+??VZO???A$iv?f?a???v?$??:\'Y?68?s???\"??d????,?\r?8??&D?k???dqmJU??I?]????r??????&??A=Ƣ?n?%??????yN8??(?L8??%?灉;<?u|?з<?T??4?Μ??ǃ??ܢ???????N??i????r???D??r??A??h???p\Z???X>~?O?)e?v???\nE\\s?]$f(?g?V?/s??4+?:?jJ?krc?Q??????䝢?L3??N?:?v}/?3?v?a?x??7(y$?֜?ޕ&j?/?7Q-s??'*??=]2Lx<Cy?\Ze?+?N.?2?.\"??%4?7mٷ?\Z?V?<!?Z?2Y???¤????P?s??!(??\Zk_\r??@???z????|?K??$?0iSs2K/j??(???غ???sE<T?}???m?[?&?????????Z??g?*\\?ry??ޏ?i????5?`??Qnt5kɒw?pj,LjGZ??n?<?΢9x?~>?u??a????????-??.?ů??^???'2?#I??CycR?VNG?M{9??|??l?A;????A??-\r4????*??OӺ3VV t??n\07r?`???>???W???~a\\?K?a?Qy?#?????]?Rv?j¡???B֍?z????v)?p)Tʣ?\rf?k]???%;?o.??nt??a_V??{?\\?WV?r[9??yr?v???L??g????֡???]?=ފ/?i?斩U?C?U??&W????|1\0?*??????????!%&?C\\]?m??T?k?WU+?F?G?0?p ?Gԯ??\')?Ut???F??xq?C???hʇ$-Y??\r?????o??\nV΢DFC???y?Z????????慊??4ֻj?H???C?y\\??D?ǵ?_?Z????????5)r*#?~~???HkZ.??|uՏ???L???Eߨ?מ????s?????y?\r?5Z???*_??׈?:4????9V??r???}v?????,???g9?iK??7d????i?\??&????z?1v+2!L7_???7????po?X???x??^??o?hz?/?#ka??rQÄt(?:??k0*_ͣ??졎?D͍)&/d?????y???'.?\0?9?Z??8I??17\n/??? ?????T??M?xB_??7M?Cx??o]?-?e?bŸn?Z쪸?\'?q?՚N?:?\n??k??,???zt/????H\r?J{??????=+GhM?-;???????*?ӁԀު???G?|?M??/?1(????;??~??GA????F??u?3?݈?}\\\"^_??k?+??(?[?+?jU???U>?ݿ???O?0??U???iPqd??5B??UJ?d|;?`,;???qV/S?RT??Utë??ׯ????^Ȯ???u?R??B^?Σ?t?\Z\'P@?????????.???m8???rav???????a?S7?<??)?????b????Y?蜘????\r?R\r?YV???????\???k??!ڣ?\'XU|>?c???[??o??\"$?????)e#2>WS?F?q??P?ZX#1?Z???waK?Q\0h6??僬?F??|X??|-~?WV?2???M?\'??U?	y??<??&??Ë?蚗-?\\?$???*e}???3x*??k?^??6????)X/v????7~???$}????W}?tZU9B|????oy?Z??Aj???N?h;?Ij?5C??5`˪????$v???˭?п?????Sf????)???U?f??[$ʅY4??Dԡ?p??4^,-?k}???7?B??zY???#????????F~s??????t?%?T#??>?l??,h?BEQ?*????*͌?Q?a?Q???0???? ????^???i`%7??%S7o??`???YIU,9?e?E䦸?:?C?ؖGA?_?ga??xK?Ճ?hǐ4fM\r]#˪?D0????]??()?<?W\'????QsQ???r?(??l??\n5쵄J????@\n6H???????8	??t??p\"q???x++DV??ֆ?d?2?\\?^U??B?xjB??iP[[Jh?)!?lPЃ?n^sp??^?J?|Y&47?????\n#?????!???L?n??yO??j?$mb?5????Y??xMn????kci?????ޫ?2!)?R^t????»=8??K?g? N?,?\\?pM???:ț?`+?]:A???xO??\\?Q?5T	@??fڋ?-y`?Ǝ(???ʊ??ן???E(鹢9?e?KW???`??0????%>~?\rDP??I{??R???~)??c<w)\\?У??x?}?Kb\nm?z??K󪌟d??h?ar?Ϝ5?#?[????c?`??K????_H??}?????]V8??J?WA??ٻک>iW?g?V??]??伷*M+QN???ʔ3>??T9õTsc????+Y8\n??6^}?D)P@??	|?^?I(?`/?Q.?????^>??????m??\nyii?????Q?$=???$:???72:PC??Q<?7?_??????????Z??`sk+|9??ϟ??ӵ?j??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:29217570f7a890e5c046debafeb6d202','e?͒?0??????	!aߡ?wfG^???4??Ȓᒱ>K??Plg?gݰ????8???t_?2??n;Ҳ<????????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺒l?o)??\\T?˹?F?2\\??4?|?J??B??????M?P\nU?%?P?ZU??#?/!?_=??\0J4????m?t??R?2ء?~k??2z Մ???	?	]??R???}?ŧ0vړ1h?Ja߹?q??VP?ٕƏzC???*??cT?!??.???$Y??\r?:!?Aap?>?O??$??L?H????o+???/?????Jѯ?$>`??+?8E??\Z?$?+?????Ꞇq?Ǯ??˝???@?IVd?\"?IW?"ي?V?"q?F?u?:?x<G??????_??+????ˢ}z8?????}|?\"?????:5?$Ut?p<UQ		??F\'?s???ʛLoK\r4???^???#??ƶlᝒ????o??g6-?\ri???⇡}???u??R^	I;6??????a????8K???t?0?????ͷ?\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:29e23aec6eda4ed4821ab6cb780425c3','e?͒?8??S:%Yg???y?????T#5?AH?$L?????xpqS??????Tl?^F???\?4ڽ8??0?4\Z?ʱ*90n?L\'Y?60*?Ȧ1Zݢ??j\r?????????h??W??w=?<?Ū?6???]m?l???jh???!e??\0?5{?|?%?_.??o?Z??jP!?Әj@?,?F6عV-?ERf?4???cQ!H?(r??????kz??"???????????|U?˵?F?3ܿ?\r?z6?J?RR?	?5????\Zm? ?n???\'?i??ݑ7?ү?zW%?z`?????$??????87Qѕ5?fd?l???uf??j?????????}??٨`?{I?W\Z??r??}g??F???\\޻0??????.5?ꄨ?G!??-B??жcP8+	#9??!???_O??6???万???è??ū?\\?ohRk?BW?`%???L?nG\Z????????????$ۑ?;?Ŏ?v?厤??N?a?????\Z??oo??a?{;?????8/x???s??Z?	?E?d????դ,OE~*??uY?NǺLy??M	IL???\Z??w@o?!?Y??m\"?Sr?????ުg??q???????gE_?im?U?T?c+?IZo_??WY???( G???jJ?tN????|{bo?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2a52d2ec7c359b56904d85d3abca7ee8','e?͒?8??S:%Ygb???y?????T#5?AH?$L?????xpqS??????8Vl?^F???\?4ڽ8??0?4\Z?ʱ?`܄ÙN<??	l`T??Mc??E=!?\Zne7?-:\n???8	?Q+?$?zy?UɃl??m????R??A?vC?T\nk???wJ:?\\????_ܙՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B?.??!-EA????!V?u%=?????.?D?k?Í?f?A??l?*???Tk?=u=5?AH?%?P?NF7??#o.1?_#??J4?0???G%IF9YY0x??se]Y3?jJf???D???\\g&JI??A@?p	)̝d??R??rߜ????Tlv??????\nh????c?=?H?????N?z`yb?"??m;?\0????0?s?\r	m??zz??>P%????Fu?(^\r?C?Z??z+!~?t}`\nt;?????*oG?\0	?\ZPnC?????;R?yG^w$9?>?v??;?????????.n???Ê?w??L\n?????!D?iQ?Qd??~??S?I?u?&???$K?=s???_????,o+4????C?Ͳ???x???ۗ??{?UϤ???L?W????.3??_?\Z?h?4??޾??????\"E^????x?\dPs(?_?=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2bfd443bb84d13a44886d3d32489d753','e?͒?8??S>e??	???9?U)a?????_?]ܬϒ?????kR?q~??s?h????q>???T???q?xd5??<# ?hu?zB:hT4?n?t>\"ғ?p?ѢQ\\I>?????+??t???66????!???=???=?<?~??=jq??3?A??@Lcy??Nv?`,???`?Zu?I?Mz???^\n?YD? ]?[??J:??Ro?p??C???vb??<?F?T?.?b??s???6x???UJI=?$?6??{?\Z?=???[Jv??K??n?]+vG?\bHOԻ(??p#?8*9J2*?????)????T32s6t%?t?3SJ5?u???Ha? K?v?¾so??T0ȃ?b?+???d?5??T@???|O.??Bg?Ur???ZDuB?ˣ?!~??h߱(\\?????\\j??h+??#o?w???*9?$>???8E?4?????+X	???S????q????p	??????nA??$????y=??? irDǨ??1?x?E?????al{;???????\\???O??C???R???'[;????I???&?Z,KȪ\"?"??o+4????C?Ͳ???x??????g?????????7?ݯ??.3?\\^?[?h?4??޾}?????E?7MU?4????W??<+?7A??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2c2aee2007d6689abdd64df0828e6adc','e?͒?8??S:%Ygx?y?????T#5?AH?$L?????xpqS?????"O*6L/?C?b.^\Z??O?\Z?H??7???GV1?\r???i?V??\'??ZEí??E?B!=?\'\Z-jŕ?]?a?*}?????FW/?Ajc??Z?\"(?`Hك?@a?#???I痋`????;?\ZTH???Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!????d?>:?~`\0???-v????/hÁw????R???B?j\r????ǡF??۹d????ڥbw?%????@???7?-???щ?,?_???2????H5#3?`CW?~FW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???ޅ1t??\\$?J^q?AT\'D=?<\n1n?'???[??{XIɹv?r	m??zz??>P%????Fu?(^\r?C?Z??z+!~?t}`\nt;????.a??#~??U\r(?!َw?GN;???#厜w$M?hu?;???O??~~{[??`?a?;oƋ4=\n(??y???O(???2????tj5969?z.??????I?Y?F??e?F?????9?Y7v`??<=}??????ꙴZi??⇩?j??Y?eFZ??U#??f???W?V?01K?B?y?Z??U4I?????_?=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2c6f4ad5a728a2716448a0ff499a7a3c','e?͒?0??;>?\'?!!aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J?c???m?J???de???΍?Ate???9??3?r?)%????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N?ۯHh+??#??w???*9l?$>???8E??\Z???+X	???S????q???~s	+?????A??d?!??6?ņ?6?i?Eۨ??6?x?D?????}X?+??XƓ???H??Q???4{????;???\"???sQ??sγ???Q??me?F?????9?Y7?c??<=}???????Zi??⇱?b??Y?eZ??e-??f???7W?Əu?0Ev??H?y~????\n??_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2ca8a063e2cd3da7993f8c2d3b389d5a','e?͎?0??+???n	$??S???????Sۄ?U߽cY\"?????qer?%????}1/?v/????????r??7aq??\0??dk?gd]?n?H???????????h??W?ww;?<?e????+[m??{???f+h???!e??\0ɚ?G>?筒???-?wf5????iLՠ??f??*?????"?Awڌ??J?1?hv?(\n<??TP?Nu?}??PW?{?]Ѓo?I?;?hc????[\\?_?RJ?&???S?_?m??T??\?t-?\?;?%?\Z?wP?َY.????T??䔑??C?87R1?5#???l??O??f??j??????&?v?d߹7|?6*\n?NR?ٕƏzC{?T??T@?&U????.??t????ZDsB??&?!~??ݱ(???????jwX?????G^??Ur??I|?aT7???o??4??I??W??O??@7\r㲟???Y???ae\rʭH?!?\r9nH?!???6?ņ$?-ڪN?????+<Y??????<?<˻?????E?T??X?)???r???~???Z\\?L?????V??ٱJ?LT5.??0????w@??C(Ͳ??[)?S\n???|g?;???????????I_???n*k??i&?????r8??`?A??(???????}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2cfb7ef7e30c83ed64eb996c5f7c5125','e?͒?0??;>?\'? !aߡ?;?F/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??j?JV??AyF@\na??E?Z:?T4\\?h\Zt>\"??\'??@??q%yw??X?Ld??lZ????mlT[A?WumW0??u??&????E0????;?\ZTH????h~s??c9???;ժ!?H?Н6??2??ƘET??5?Ϥ?((?ʚ?????PW?;?68?z????)v????/hÁ?????R???L?j??????B?"?7S?Ts???ڹbw?%????@?v?\Znd[????$?YY?x??s#e]Y3???\r]??{?r?)?\Z5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????j??Hh+??#??w???*9l?$>???8E??\Z???+X	???S????q???~s	+?????܊?$ې|CrܐbCNrސ4٢m?6?w?\r<]\"???uY?,?eo????ǌ\"=I??&?sR???\"9??`s??x??9??9? ?8?씧?,??+4???^?C??}c;????????wx+?I????~?/??%}]f??9?T\n?hǖ4??޾??2/?\\T????2??9V??D????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2d2b9e4ce48b0514399915b858cc6539','e?͒?0??????B`ߡ?wfG^???4??Ȓ?}?d?!l??}κa?4;}qB+???e?w?v ?e?~˸??3?Jp?Vb?t???*???B!???}]?ua)?\'jU?K?ۻ?E?by?keDݸ???T?P??4xE?P?f}?d{\nk??\0?7RX7]x??Uy??3?@??@Hc|??Vԣ?\r?Y?`??I???UzPT?F??\n^??3Z???^?X?X???e??<?:pMP	.???C????x???+UJ\n?ī???\n4\rB)T=??58hU	3U쎜???~?Ի(??/????J?2J?`???(???c2??%?te=PJ%*?x?w??iOƠm??}??Y???[A?W\Z??rɮ/\\c??Z?Q??\\޻????dQ?+N5ꄨ?!??\rB??Ѳc?8~3?9?? ???&_O???>?*E????????????N_?oh?s?|W?`??L??{\Z????Y??? by?H?\"?9?H?\"?IW?"يD?5ZG?Î?G??9?___??\"???_1???0????? F???1?S????ƦN?dg????EG<?U?8?`????\Z??????rD?\\??-\"?Sr??m?̦??!?Zh???0??Z???.??_?!i?4??ޞ?l~?2.2<r<??}Y?EIqNΜ??C????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2dbad0bb9dcd76d1eaea0b23eac30db7','e?˒?:@??S^%??	?~0?du??Jɶ\0?ئI???ʆ:?d?,|???Y͆??^?(k????b@kp\0?=??6~T?! ???F??kғ??p-??mч?P?@?I????V???1,V??5N?]X?ZT3(c]R[A?\rR??)?(?????r\r~4?pg΀??????QF\\?jg?:?)?q?͵j??2Mo??????H\nQ:CpV?ㅴ?Ν???\Zb????c<?]RI.oŎ\'???c?o?\\?RZ?~!Q?????q?:?L;??5W8Y??T쎂=??~????ǜ?p%???Pdt +?F????+g\'R-?#?ؕ?_Б?D)I4?!?????ӑ???\n?΃?o?S?Q??]h??7$???????\n??wa???+ɣV\\j??Q?HB\nC8???кc????#9׮\\??0???G????j5n?$>???8E????rM?֤?8???i0?????????@?)6?ܐ??6??\r?6?C???Q????6???oo???"???b??7+?C???MVd?yUde???UY?????~??S7YEΏ??????u(9^5U4Y?h?|??]????#?eye;??????/???x??I?U?(~???۟5?.;??o??i?4??޾??z_????B??2G@?Q\"?2????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2e81d6b9591debb369c13c5f588c35cd','e?͒?0?????͆$??}??zܙa??6?i????7????s??Ρݘ??F??C??????˷k?8???#˙?:?Y?F?[?????\v]U????????\0?????琇?X?<?[Y?????e+??Qm-^ag0??5???????E0????ŝY\r*??\0b\Z?%h~s?\Zc9???;Ԫ\"?HʬӍ6??2?`?"*??ZE?GRQ?zaM?C]db??+?5???<Ђ??Jt9;??????k??_?RJ?$A?\0?S?[????P??\bot)??;?C???n?D??\\??l??+?%+?-?p???+kzRݑ?C??+QGW?6=?$Ps? ??????N2?W)????F?0??*6??QoH?]?K4j???ޅ.t??%?J^q?AT\'D=?<\n1n?'?????{?Hɡv?	m=?zz??>P%?%???Fu?(^??~C????z+!~?t?f\nt?0N??n?o;?	?PnFv?_?Â??-?ANr^?d?D˨?e?2?x2E?????}X?+???Ix??V?q?/Aੀ?;mER&??ة?;?)dG?\0???f??????E0??ڍ?;???rD?,nl??9xzz???{f?-_?V%?{o)~???N_??m/??cs?IZo?.??<%\"+?9??.?ٙ\'{????)?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:2f6eece190ea40e2309bff787e900e9f','e?Ks?0????p?1??cf2z,? $W?n???+n???}??*-?IE??p`??K?ݳ??????R9R%;?8???R5?\'d]??QOHG???k?rM?Bz4?N4Z0ŕ?M?a?*?????i?JW/?jc??nZ?\0UT??!eOUw??=???|~{?vqcVSR?1?顚j~u??c9????v?U?~?ɠ;mF?eh???ETҙzk:?I?Q`???????`W???=????)v????/h?oa9}?J)???UFywK]=?R7S?Xs	?ѵ?s?țs???c=??^ѶG%{?F?????΍?Ate͈??9?6t%?x?3bJ4?????????]??}??٨`?;????r?`??X@???|?.o]Bg?Yr???ZDuD?ˣ?h??Ѻc3P0}	#9?_???g_????Ur????T7???o.?4??I??j%??^?py????>AJ??*?\"ن??ߐÆ7?ؐӆ??&[??:݆?n????K????.?ۇE???b~N?????????S????l????rd??72wj1??ȩ???g???,-sv(???S0????;??|x?AG8?Jvd።????o?q?vp?Q??ƽ???\'??_?pmN/U?T?c+?I\\oO??Y}??	?Y?????Se?@Y?~{y ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:309c7a9c8bc3141006051e0a9e3ecb92','e?͒?8??]>?fz??????jJ6?;k?0٭}??\r?Iq?>K???J?sR?az?s??????	1???T?UɁ	:??U??F??F?{ԫ????vcۢ?a-=?\'\'\Z]s%??Cϡa?*}?????FW/?Ajc??Z?!(?k??!e???5{?|/:%?_.??o??~\\<?ՠB? ?1?Ԁw\'?0V`?l?s?Z?F?3i*C\'k?YD? ]?[??BZ??R???!V?u%;?????.?D?k?Í?f?A??l????T9??????C??n???\'?i??=?7??#??%??5??G%IF9YY0x??se]Y3?jFf???D???\\g&J?F-`??>?\ZR?;???]????9r/??F??!ُ??\nh????c?=?H?????N?z`Eb?"??m;?\0????0?s??nz?????P%????'Fu??(^\r?C?Z??z+!~?t}`\nt;????.a??#~??U\r(?!َw????w?ؑˎ?;?&{??:݇??N???k????.n???Ê?k??\n̓3p???q??fu?????O?tj5??0e???I?"?y?gE??8?L???\Z??w@o?!????????????g^{?W????\r?L?7????.3??_?\Z?h?4??޾}???RP???&??L??\n^f?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:318707b6d7143eb19bb3a9e7c1cb1561','e?͒?8??S:%Ygb??;?T?Z?\rBr$a???%?????Sw??h|ɋ???2xt/??5????٣5؃Ҟ???6Nt?  +Y?5:0???ѷ?W)B\'õ쇦A?2N\"??Zj%???G?%??q?i?????\n:?\"h?*??1?0??\0?5yO|? [?|?/???_ܙ3?c? ?1=T??7??I?Nb?l?pS?\Z??;\Z*C?*LY$?(] 8??L\Z??R?8??1V?u%۱??S?=?6?$?K??1e?}?X	??l͕*???U???z??E??i??]??nGkj?????ү?z\'???\nnd[ģV?\"?????_???2H??I5#3??W?~FW??#?T??0AD??)L??d\nڧ?R??\\??NF?STlv???ZG?z?*??ޅ!v???%?Z]q?AR\'D=p2	)??'??????{XHɩv??m3?zz??h?V?~L??????S??z{???Q/M?]??S????\r?hy?w?gep~\0?\Z?_?lC???7?ؐӆ?7??5߆ͷq???????eq????W̿?`?Y?(??}^?8?g? ???~??S?	?^???Ӡd?8??u^??<???k4?>??^?C??uc;??????/??wx+?I?Q??~????%}]v??9?T?ӎ-i&i?}}??y?_?cU?\n~?0g,$??????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:345f782a656751a402ef27818b8a2aac','e?Ks?0????p???z?3?E? $W?n???+n???}??γ?$?x,7}qB+{???K(?V?!-)?=??\n<1p????Z?Q????%???C???84pN<ԊU?JA?????E?A???u+]???{??	j+h????\n????=?m??n???W?qgF??????P\r?ެh&A?dC߃?jՠ_??P?ң????P???Ϥ?(0???Ou??U???${?X?z????)??Q|n_P?m?r????Bu3????\Z??????Jv??>jU3W쎜???~\rػ\n0?OepC???\Z?hexϽ?X;b????&hf9ߕ???m??)1?(???_|\nS?=???????;MWg-C?^??\\q??7(??r??j9E?ty???OΒ?\\?\\???{`hB???'Zwl?O?B?HN?;??o+?????????J1l?$>`???8E??\Z?$?+??=????q?????)??\'?IY??+?l?CN?nH?!??rސ8ڢm?6?w?\r<^\"????uY?/?eo????QA^AR\0?ED?Ꜧ???Vg??ܩń??|?E?9????˒?????Ԁ#~?????p?ٍ?*?EOO/?a?:~+w??m???Y??įK?6???Hܱ%????[??)??"?,?4?S??ɋ??\nH\0??y?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:354a33f5a71ecf536583ccad025767d4','e???0????N?qSc8?z?3?E?@AH?$L?߽+n????cqeR?????>???F?\'?????FcR9V???p8ѩ??d5\n?g?F?kԫ??JEõ솦A??z2?N4??W?w7=?<???6???+]m???F??xAPP?C?Tw\nk????J:?_??u}??1?A??@LczH??\'?I0?c?l??S?\Z??3j*C+k?YD? ??[??L\Z??R????????u?<?z?T?.?b??c???6x???UJI?$?V??[???-B-u3??5?8\Z-??+vCޜcH???h?c??%?"??ede???΍?Ate??2s6t%???f??j????!??ӁLA??\n?ƽ᫳Q1? w???4~???P????????ua??\'gɡ??k?Q,?B?[??	~?u??p?Fr?]?\"???g_??2???䰅?x?èn?ū?\?hTK?BW/`%???wL?n\Z?????Y?? a?\0???7$ې|C?\r9m??$?-??l??q\'??%??_^???"X?vX1???2?.???????IU@.?E.?___???$i?????8?Vd?TUL淕\Z?'?w@??!????[Ex?????Ǹg;??????z????此???6??J!??f???wW?;B?????<;??C??dE^????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:356ae6356b5ef3af1339633bae6da22d','?Z?R??{y\n??[??$17??lq???d???Ɩ=?J???????ص$?e6???%??C?V?[?p{{?י#?I??$ɔ??ƞ$,?~ ?V??D??J???x?'?????~8?<;?a?/?????~C?v*?P\"s?????8?)?7D>???$O?q?Tq?.?j-??Nb?؄?J??!4@??y??????#????????`??o{???w?Lx?$҂)^)??MJ??q?{?P???Iw??!gi\"??D?نK8??L\r?????\n??û\'?????X̦??@??ě??A????0??v??ٓ??u?Q??!w????:^??X?\' I0??G???RJA\Z?f$?Q?\'????B=]I?ǡ??l?$\"\r\'??fػ?????[???uTE0J?\"??6??e??$?PۘJuvO??!|L?n???x?(߁??!?6?6nU???}?呔??u???9??|dz\",ćc??%yxƨo?t؝`?5?????|윊???*??:tq??dr??????eP?4??F^뚭?4=S?c?\\F0.??'aJ/1??\\???R)??rC?\rv??????l+m???%?	??????0D???@Sӧ?s?$??gB?x???T?aF?AB?ݟ\"	??!y?Ʒ?????c*??B??6*?i*??????????v1!R?o4A1:??ZR??a[/]??b?Ӿͮ???܎--i?荃\0V??C?EN;???*?N???$V??&?H???\n???xfk??ĨH)??[?R???	H????????p??"h??\"xA?\r,????ذ|??????&#???[?F?dU?Z?:????M?????ĸ?????eG??Z???????[n)?Zx?ՂfM%SѿKpai???HW???d????J?r? ?d?c?г^e????}?b?????BeaH???$?Yݡj	87?"???p???`?\r6C{mۤ?(?2??????-?Fܳ/Y?S??gDMl\n??-qn?Gl?/,????A΀cVaf?? ?OM?ډ:d^??]??ħm????Z??uU3?z???T(?/8i9????o?{v??,;M?u|?Ev&?N??!?úR???5?\"BBX?#???mF?n???6?????W??x6?o???h??}1????ꩯ???U(?c{Imx?z7C?OVN??$c?V?f#?\nN??+?Y??????,_?Y???漟?B?i\Z:????_D\0P|r??ə?ҟK?s??\'&???Lnnܛ?]???Z?l??{?F?d?yٖ?????2Z0N??eW??ڟb?P???y\\?*̢?\"9W?P?z?G\\??cF??w*??$U?<????A3P??)q??xBwf?U????8A??I??)??;?L\n?`>??X?????? V???]&\n????l???0?هZ??/?{??V????ֲ?Nd??5PJ????1???h?ٜ??/?\???1g??7O???r?HGh??wiL?տ(d?=*??$8??\n???^???o?\\???&F??*????o????h?9N6=	?????\nW:???}@????.?$??X%;?`s??/?	I?6U????h???G? ???(? (uw?-?=㮪?5^*ȗ??!*?w\"?TT????a???yi>???s????#H\"?\?Q?갗??7Sɾ????\Z?l+PuQ???k`5?#?TtH?k 5?pސ???q??\n???_??f????!8Unowg\0S?)\')?݁??L???U?(?v?׻jc????\???c???Ҫ?^?????;ث4k?C xf?u\0?-?????'8|??7??;?????a??D????|n6???{aXc???\nv?R;e??{	*?mCKSk´]MXT??Ŏ6h??K?M?!??????UkW??`???8!L?rŶ?#p??$?^?KB????N`??0???u????????_?u?\0???????(/c??????&Q??/?\\???7O (?㱹??]6q???v{D??k$?@??=?U?𜯔??ʵ???UK?0ᑀ??.-k?Wu?s;Y6???????K???K??/??fw0?gB???92	??M?ʺr?? ?/?tI渺	\\???|H???????<??j?n?#?r?ܛܔ	?:=???9<@Qr??	yl?R,&&??????b???????p?7?d?7????p4|1|???V:?Z&???????????x???5?(?3??*?ʕ?????;??????t??\n?ѫ??\n?>\Z??w7??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:357ed618e4a7a392315fdb9b6ad0074f','e???0?y\n?N?pclc?w??i!??0u;}??&x?I?????py??9k?M?n?K?????ޢ??T??5?,N???`	??K??????w]U??????C?\0?????sȃ,?\'{???j???˲??h6??\n??3R?????!z?x^+?x~{?:??ՠB? ?1\\T??\'?ac,Ǩ?k[?C?*??d???*C-??A??[?(?*RA??8??A??C]٭????|Mb??É?f??A???+UJI݌$???)uݵ?ZAH]\r%?P??F?Ҏ??7?(?G?+?=???n䛅???$?yYl1D??s=eCYӓ??\r]??;:r??%???}t??0t:?A??]%????FE?a?*6??Qoh?ז\nhԠ?r?:KW?;?J^q?A4\'D=?<n?n?'?????{??0?C?	m=?z???P%?%???Fu?(??~C??7)t?\nVB????誣a??p[?{?\'HX^?r3?[?tA?rX??rZ???Z?N?????)<?+??????p?????^?E*P??-????,??-8f??ة?;%???^d?????Sq,O???w+4??w@?!?fY???N?<=?|[?f?-_?U%?{oI?????????7?????=?|???????9??8G??/W???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:361aa5e196883c063688887a1f8d28c4','e?Ks?0????p?c?z?3?E?@AH?$L??{W<??????kW??)X7<??9{i?{v?e?wh4v ?cE?a܄CN?\n<??U(?W??B??Q??J\r???\Z??+???	??T\\I???+??+?/t??tR??AAU?){P?(???x??t~{??ƬR?1???_??G?X?1????????2??͠???0f?to?\"??)\nJ???ű.???ԕ???7Q%???n41???r??/T)%u;??Zoo?????X?3?\???v??rys?!??%P??\r???+????с?,v?????2???HuKf???D?-]???R???}?9?0v:?1h?Ja߸7|q6*?R?مƏzC???*?QcT?!??.???$9T?\r?:!?Q?ap???O????L????Hh+??=/?w???*ٯ?$?0?+x?E???\Z???X	???rS?랆q?Ǯ?p	+?????܂lWd?\"?9?H?\"???"i?F?u?:?x:G?????}X?+??X?q.???RT??<???8?G??????ƦN?\"ɷ?D??,ٕY?㖟D?,&??0????w@/?C??ue?????˷Ǹg[???UK?;?????^?ezZ?????vlA3I???b??\0LOY????7Ϗ????|??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3678ca9f9b859d8a8db99c5fd7808e5b','e?͒?8??]>?fz?4??Ü?8US???ۄ???l M?K?,?CquZ?%5??}1/?v/???\Z?#H???7???GV3?-L??m?V??\'??FEý즮C?B!=?\'\Z-\Zŕ?]?a?:}?????NW/?jc??Z?\"(?`Hك\Z.@a-????I??`????;?\ZTH????Z??????M?v?UG~??٤mfMe??ET??5????((?ƚ???????d\'?19?y`???+v????/hÁ?????R???J?j|?????A????d????ڵbw?%??D?k???7?-???QNVG??LDW?????C??+Q??+כ?R?9?C?4^B\nK?Y?v????{?g?b?A$?]i??7$???\Z?D?ry?:KO??C%?????X????D???@?=l$???󎄶?^}==?x?h???~N??z??S?Fs]??YmM\n]?????>1??h7y????	?A??ۑ??? ???Hq ??&Gt?:=??????[????-n???Ê?k??ʒ??+?&??J??CӜ????????????g?@xnǼx-?$?[[???d}[?q????9?Y7vb??<=}?????????:iܯ???f??U?e&Z??u+??f???W??????US??MU?E???7??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:369700ea3775cf0a5259beb5fa088074','e?͒?8??S:%Yg?`l?r??R?Ԁ!9?0????????ڮJ?R?az?s?h?????@*Ǫ??	??xd??<# ??u?zB:?U4?nl[t>\"ғ?p?ѢV\\I??????+?ot???66?m???!???=???=?<?~??=jq??3?A??@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`<??T?.???S???6x???UJI?$???{?j?????Kv??K??n?]*vG?\bH?F?\r?hq`???m?J??\n??8`?????f\"Ռ??\r]??]????@?????R?;???]????9r/??J??!ُ??Ш9*ߑ??Yzr?*yťQ??????E????l\n?a%a$???nz??k??}?J?{?1?8??>NQ?\Z???&?6)t?\nVB??????a\\幫??oG?\0)?\ZPnC???G?9??#?9???>?v??;?????????.n???Ê?w?L??T??)J?????6\"u???~??S??E^??I8?1??EV?Y???I??\ZL???\Z??????#?eqc??????/???x??I???(~???۟}]f??9?T5Rю?h&i?}}w???? ?Y??\"+??	??>????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:36bf3f0cb9a57db39f649feee39065d1','e?K??0??+v|????CO=v?#l?;?Mh??l K???Y??B?2??%놗ޣ{?????Ç???????????8?@@V2?z%?5???P???}_?CB(T ??$BkD??V????,V??5N?X?Z?씱.?-???!?Ɣ??=?o?????\Zq??3g@?@Jc|H??????c???pc?j?z?Z;*C??,?B?.??x\"5EA?Wζ8?u1V????ݰ????&?$?s??!e?~?X???l͕*??i\'U+?=u??A(S?%?P??妊???ү?zW%Zl??nd{?G?:EFY9?z???e@?ʩJ???%C??_?Ŗ,|cJJ???ADo}w?I???dۧ?R?,_??N!F?UTnv????*4?Jh?X?А???zr?<juũ\nI?u???0?CH?Z?l\Z?b&q(??$6???W6?G?H???p?|??t??\rznR?????????q?屫???|9+%h? ?٭?E?9??EN+r^?<[?u?:?w?<?#???u^???ys???r????{???n/?(?\nD?WU???????OE?eG?Gyʊӡ(2.N2???D??m?F???!?˿9?Y7?a??<=}??6????e?ώ⇡?b??Y?e{Z???T??lI3I??/??Pɝ?u?????g???sv(D???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:37a2bc43ddf55305c3e19099f8894a06','e?͒?0??;>?\'݆H`ߡ?;??\0/?m?v??rd??>K???LN??d??28?/???š??ޣ??T???????L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕÎ?\r????Q%?\\?n4?1???.g??T)%u7??Z??롯жB?*مj.q4??v??ys?!?\Z?wP?َY.???pT??d??????87Rѕ5#??!????+ך?R?9???B\nS???v????{?g?b?A??]i??7$???\Z5E?ry?:KOΒC%?8???X???|G?@?=,$???tEB[AϾ?ye?{?T??'??Q???W???Ш?&??^?J??]??4??<u??۳???\Z?[?Æ?rܐlC?r9m?C?\rI?[??:ن?l???\'K?>??.?ۇE???b?O???v?<~???!?\'8d?9??????;??????\Z???O?iA.??y?F??me?F?????9?Y7?c??<=}???????Zi??⇱?b??Y?eZ??e-??f???7W˔ҩ?1?βt???b_??\\a??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:38076dde67b37d02dd4ce610afb34626','e?͒?8??]>?fz?I ??N{??)apc?????6?&?r}?d?Y?*-??b?6:?o???͡???@?q\0????|???GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*}?????FW/?Ajc??Z?!(?`Hك?a?#???I痃`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!????d?1:??`\0???-v8???7hÁw?~}?J)????Zx?H]?C??CR?sɮTs??э?K?țk??zW%z:0????J??Ndeq??\n??Ate???9??3:r??(%???}???0w:?9h?Ja??7|?T0Ƚ?b????d?־?T@??G.]Cg?Er??r?\ZDuB?ˣ?!>?O???a%a$???nz??k??}?J?{?9?O8??>OQ<\Z?yC?Z??z+!?:>0?iWy?????Aʪ?ېlG?9?iG?)w??I?=???N?q??????x_??`?a?5ov???(?r̡97eYǤ??3L????-?ZMxs?????H???VC???d?[?s?~t?B?h?ŝ??%//߿????%?V\Z?k??a?lU??ks??j??[????????????u^?$??Hh?Xd??/?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:383b871752ebdbd67598b61fc452d525','e?ے? ??)R\\??Qq???r??ZeD??n?o??1?|t7D[????s?\'???_?ZAO??????i?(pũR5?#D]k%o??K+?;4\rXp??=?+^I&?v??E?a??M??J;Q?Bi???????;*?EYS?G?+?u??????E?O??4??j???f??(????V\r?4&????B????-1?\ZT??WFw0?????]I?????AO]LBȥ?D?2??4???e??+%???+ʺ{??0-P.T3??0jU3W쎜?I??E1?O????_J?tJ?@>??Z;b!???&??\Zߕ`??m??)qP????_|\nS?=?D?U?}?????;??W??r?P????T?C޻0?????W?k?a? ????D?@?=,ď????R5?z???S)?-????u?(??:C?\\???F????H???q?]?a#R:3?\'?IYSiW$ِ㆜6$ݐlC?r)6?q?E[?Vv??o?ǋ?___????`y???z$?%uV?9??e??RqEg?O??ܩ??\'???u?GE~:?x??y\\\'??[j?#~?x???p????J?????o?????;?j???????y/??>??e-$??%?>o??<?(?*?O?xų<=U??&<M???\'?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:385bd5aa3f272f858b1df9d2237582f3','?Z???=??kw???????B??n??2UTJm??ly$?/?<????ȋ?k[6!????-?;?#K?/???3G|??%H?)œ ?=IX?????1??I?(I?.???^?;???􇭿M&???eHکDB?????[?|???c??#@T?OYK?\Z?J5!?o??V?? ?Ƌ\rh??dS?lB??8???o^_;?H??????z???_?M?m?ډ??I?S?R8?K??eo*?[ ?;?9K??%j?\\?e?k?d??Ad@(NPش?????=??@?6e?\"H??!ތx]\"sw1`??1?ҴK̞D4$?KW?bq?n??=??j???:I??ݞ9\"???Ҙ?3#??y????J?8?&?W???4?????a?ʖ?3??m9?7??(E0R?4Wh??????Amc*9????M??E+?C??e?|??ڀڸU?ƣ.?!?GR????????鉰?ٲ?P???%?`w??p??2Q?*\"t?OJ??.8?L???????\0??!?k]?UZ??gjw?/?????$L??X???[??Q*%??a?<??.Q\0?:ق???m?? b????d?!a?3ۆ????M45}?n>gI????t?????of4?$??%?`?r?l|?[}??.?<?ҝf???~?.?WMS)?z>??	???η?	A??}?	???vג?D\r????\0???mv?XvȧvliI??Ao??W?9?2\'??91??Z֣XAn?ݾ??????\n??fk?ŨH)??[?R???	H????????p??"h??\"xA?\r,????ذ|??????&#???[?F?dU?Z?:???????r??Fb\\?J??#{Q-}?g)U??׆[\n?^y_??YF??FXڏ7J,?,l!Y?????s?wq? ,Y???5??DYwy?a??????????"??PYR?/??Io6@w??x?`r?/CA??!6`??m???\n?n3纗?pq??dO????5?)TʶĹ?9???^>?9?=X??a:?`>5mj\'???׺:ח.?O?a+0\"oe??&J=O?l?	?Z*???????X??7?;}E????2>?";?y?~????a]?E??ZB!!,}?~?n?Q@?±? ?????p?\'?z??2ʝ??C??vp{{?????p$7?8???~i?θΎ\Z???,??4t\\?M????P|?r?>?ș??\0?s?????{?????ف???%?P}G?WkTp!Kf??m?i?eَ???_@?vE?Pɠ?1?????????*?͏??ģ9͐??e????\'j??d??.%??;?웿?q?o\'(?5???z?T?``?\0??H???Z?>????\]??A??:w#?f??>???;B?0<??X9?ř??e????K??ʗP????????9??_$m0e-c?7?Sn?\"??_4?-??5???_?Q?Rn?Ip4?7?j?b6/z}?Ϸu%.g?????h`???m?Z?F???? ?????p??\'?7\0???A?$?M@2U??m?׹??GHb????G?-Bcf?}=??\\?????\"?Rw{??w?ުz_᥂|??\Z??y#R?E5.[~??)B????g???%\"s??l???7S??????\Z?I?!???Վ5?\ZܑZ*:R??\Z?8o??5r???R??~??G???*7??=?9uw???P}?6?vG??*du3???j{࠙???\r?_)-??Ҫ?^????;ܭ4k?!C xe?u\0?-??U?(?O\"?Xkoו7vB??u?i???9p39??1?av??p????0?????4V??0??&K???A%?????k{??2???=?J?j??퉗??7?&?	P?ؕt\0Nb???D?wI???????MǱav	?p?^\'(??I=?<???Q???̍X??????R?f??a?Z>????yHq??<?+?	׹?Pdw!*?Q\\Y\0Ty{!Ze??Ji?t?\\?\0?????	H?D???fUP~?eӈ??ܯX??{???s???Q?v?@?&dl:??#?@?L??t+??	?RI?d?????????$ج???????B???r?;?{??23?I????G????t?E?[?????1:)\\?G???&?A??1?w?????{5\Z??G??Q?a?????µ?X??????x??܍5?+?3????ҕ??????s?{S?q\0:{ӡ?????(o????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:39c76e1c7ea07e513cf230a29c18a719','e?͒?8??]>?fz0	!?0?=NՔ0?;k?0٭}??\r?Iq?>K????9)???훹zi?{s?˄?@*???	??j?JVc??\Z???????vcۢ?a-=?\'\'\Z]WJ()???C?%?????FW/?Ajc??Z?!(?k??!e???5{?|/:%?_.??o??~\\<?ՠB? ?1?Ԁw\'?0V`?l?s?Z?F?3i*C\'k?YD? ]?[??BZ??R?????B???z`??<??T?.???S???6D???UJI?$?V ?G?*?B-u;??5?8??T쁼?Ɛ??wP?فYQÝl?Tr?d??????+87Qѕ5??d?l???uf??j??!??!??Ӂ???\n?????Q1? ????4~???X???????|ta??\'ɡ?7\\j?Q??BCX??	~?m??p?VFr??CB[A/?^?ye?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX???????$ݑ㎜v$ۑ?;rّbGx?G???>l?????????.n???Ê?k?L!??$??T)O/G?B\'?q(????-?ZM?S??????G\0?X?.???,o+4????C??}g????????qϼ?x/_I???\Z(~??o?%}]f??9?T6Rю-i&i?}?p?\"?#9B?cƏ?I?	???????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3a72a7cb2a4926d45aa5d06bfdb62139','e???0????N?q?\r???cf2?????\\I????{W<ܴ?vW?????rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+???W?=????$???,v?????2???H5%3?`CW?~JW?1?$Ps?? ???;??2?W)???/??0??*6??QoH?}?K4j???օ>t???$?J^p?AT\'D=?<\n1n?'??????{?Iɱv?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??n?no{?	+*PnA?٭?E???"?9?H?]?u?:?w?<?#????u^?,?yo????ܦ?)?	\0?????|????????:5?@?W!IJ\0~8?i??I??y?\"?Lo+4???^?C?Ͳ??\r[Dx????c??-^?GҪ?q??C?d?~/?2=??????vlA3I????rI????4? ۼ?D????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3a7c343525a87bf6b113fd3c047f177d','e???0????N?q0????cf2?????\\I????{W<<?????֮H?R?nx??s???????h?*Ǌdø	?#?xdXA?<# ??u?zB:(U4\\ʮ?kt>\"ғ??s?ѢT\\I???+??+?/t???66?-???!???=???=?<o?t~??=jq??1?A??@Lc|?ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????ue?a??<?:?T?.???C???6x???UJI?$?????J?\r???Kv??K????*vCޜcH?z?	???p%?????????(????T?d?l??ҕk?)	??!????Ӂ?A??\n?ƽዳQ1? ????4~??}_???\Z??r??u???\'\'ɡ??j?Q,?B?[??	~?e??p?fFr?]? ???\'_??4???d????x?è??ū?\?ohPs?BW/`%???7L??{\Z??????O????d?\"ي?d?\"???"?I?5ZG????????___??\"??vX1???[8?????C????????????ƦN???\'?]V???E?qȲ?LrQ??e?F???;????!?Y\\ن-\"?Qr??????i????⇡}2X??????RQIE;????????]?Aγ]??ᘗաLӬOvy?????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3b804a0320bc11b0d7db33176abd7ea3','e?͒?8??]>?fz tB?Ü?8US?-?????	??w_??7????<e5??ѣ{?????×?Z?(??????B@V3?\r?:0?i?ѷ?\'?????cۢ	?T????\\?D?(bX??dk?j???6?fPƺ????\Z?tS??PX???'????"\Z?h???S\0)?????y??uSd???kՒ_$e6???:%1e??t???i)\nJ?;?\\5??ԕ???? tI%?\\?oN)??n?gk?T)?L??????8pt?T??Kv??+??i?[*vG?^RH?????9!??e<j5(2z#+?F????+g\'R=??Gp?+I?HW???$?X? ??q???G2?W)?Vl??\0??*6??QoH#??Z=G:ry?;KO.?G??????8???p??Dێ-@?=?$??\?bCb[?,??9?????ո??????????^?oh??bW???L?iG\Z??????n??????Ŏ??ێ?v?ܑjG??g{??:߇?????????.?????k??\r?YUJy,?d?Ǽy????l?j?9??Uu.Dy*2|=7R?$eU????-Ј??@?zx?!G4??lᝒ?????Ӟy?V??V???5P?0????j???ks~?n??[?????׺??\nYq̸????=?%B???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3c3ab2fc4159654fa0d188bca78cf70e','e?͒?6??S:m6?>??y??rܪ?Fj@??I?8??{Z<??I?u????puZ??????????F?7??˿?????r?NN??????GV3?-L??m?V?h\'??FE??]???Bzr?A4Z4?+ɇ??Cd?:}?me???6^???F??xCP ????5\\?d-????I????G-f5????i,????n??*??????"?I???K?1?hvW?(\n???TP?.u?c????d\'?19??`??r+v8???7hÁ?????Q???J?i|x????A????dW????ڵb?5J?k??@??\'f??;?Va??ɩ$/?#??pn?b(kf2????h?ё?L)	???\Z?!??Ӂ,?]??po?nmT???b?????~j|o??F-?|O!]?Bg?u???5?愨????-B??Ѿc+P?|	#??ߑ????g??Ur:?I|?T???hn?4??I??7??O?'?@w\r????KX??? eu?Hv ??R?@??ȏI?#:?N??ӣ?(<ݔ?????p??l?xb?\\^&.Te+?3o˳Ȫ?,Ʌ(8?<-??????\x??I??E%.I?\"/?K???T??.??0????;????\nD?,??\n???|??\Zߙ??+YuҸ_#??f??U?e&z6???*zck?Iz޾}???s?)?Z?8?????.??|??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3dc48a6a3b4205c012e5e47081c39f29','?Z???=y\nֵ;S!??[̦?h??b??e??j??l?ȖG?s????~?=?|????K??GGG??p??3??8eQ?$?P<???ś[?H??	?d??????H????.??~??????q?????J$?Ȝ??????O˔??????V?	??|?T?????	??o@?%??d?\Z ???H????Db??????`t??o??{?Lx?$҂)^)??M4l8?????s\'ݝ???x?5f.??2?5T??(2 \'(lZC??7?? b1?0??$Jh?oJ?6?9??0?Oh?fO\"\ZԦ?D???o???b?ly?b{??$????JvF)Ii????pJ៼?p?n?d)??rj?ѩ?HD\ZNn?e???0a??)	?]7m9?7??(E0R?4???????A?Tr???bw?????q?\r?????ij?%???X?H?mT??6 ?a~??\'?@|x?m??\"O?-???̾????y????S?|Z?L??V????????4n.?*@?a??5???V?ɹ??K??q?>	Sz?)?^???Gk?J	x=o:?o?K@?N6\'>??e[YG1؎֙?d?!a?3ۆ???(Ѥ??\r?????%ɋ	???"?cA>>U?E?ѨE????H?u????n?\r??B ?w?9??P????N4I?|???&??7?*?&AJ?L??/?%U?\Z???o8(&??v?XvȗvliI???7X???9?2\'??G91????\'???yFjxF??R(t?n??l}?$FEJ?\"ܒ?\n?>4>???t?M!?|Nj??\'?,????!\0??????????Z*??ǸNeDז3斣?|YU?B?+z??):m?#??t??mّ???>?????+:v?+?V???ZЬ?d\"z?	#,?%?n???y??~????q? ,Y?ӘA{m?-???p????W1MO?B??0?H???޴??V????A??	? gz?k??$Cl???\n??7E1??l?Μ?^?????{?%xU?????M?R?%???????3??U??%??N?2?w֮???u?????x?U???\'D6Äy\rJ?KN֜?X???垟?!?VS?h????S?}????"??PDHKD??n?Q@?±? ??????\'?g???N??C??vpww?????p$7?9?-?~e?θΎ\ZH/??,?Ǔ4t\\?M????P|?r?>?ȩ??\0?s?????;???ֽ?݁?Ϫ%?P}G?WkTp!K???m?i?eَ??9??C?vE?Pɠ?9?????????*?͏??ģ9͐??e????????d??-$??;?웿?q??\'(?5???z?T?``?\0??H???Z?>????\=]??A??6w#?f??>???;BG?????X9???/?e????k???P?????????\0??$m0e-c?7?n?\"??_4?-??5???_?Q?Rn?Ip4?7?j?b6+z}??u%???????h`???m?Z?F???? ?????p??\'??dﻮA?&?M@2U??m?׹?????C-y?$:????zP	R????\0?D??\Zge??U??&????5DE????jX?6?\n??)B????Fg????\'???b~X?갣Lo?????㸄 	5ՙf?ڱV?;QKEGʼ?R#;?r??_?ܯ?T????????6??=\0??r??aN????߭?????\nE??jW?`43?{P<????q?*?\Zl??²n?Ҭ?0???=?0???????P?D???<?*o?6C?6ӄ%?чr?rjsc\0??"??F7T?ؽ?????%h??ha?E?6???J?!s???e?????z??\\?????? +o??M?\\?+?0??U\r?*>???C=?^ņ?$L|0?(x???W&?`?2?}WE?+??b07`?d7ʫ??嚁?f8?IT?h???????\n\n??\?ȮN??~?\"??P٥??????.?Jk?K?hnZ?TK[??ቀ?J?.Mk?WuPq	?'Y4???????K????7h???7\n?kBƦ???2	??M?J?r??\"???tIf???}??rL??]?ͭ?Oy????.?????!?7?-3ßt^8??bp?????c,???X?Mf???i?9??96?*e????f???????pp88????+w?`h???:>?v~??7?x??[????'??????Xn?w???:@??w???????0m?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3e7afba5dbd2997ad9e6ac7168eba34f','e?͒?8??]>?fz?$????jJ??;k?0٭}??\r?Iq??Y???⪴ȓ?\r??????F?7??˿?????r?J??p???GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*}?????FW/?Ajc??Z?!(?`Hك?a?#???I痋`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!????d?1:?~`\0???-v????/hÁw????Q???B?j\r???ǡF??۹dW????ڥb?5??H???=???[????$?3YY0x??se]Y3?jFf???D???\\g&JI??A@?\r)̝d??R??rߜ????Tlv??????\nh????c?=?H?????N?z`yb?"??m;?\0????0?s??nz??k??}?J?{?9?O8??>OQ?\Z???&?6)t?VB??????a\\幫?\\?oG?)?\ZPnC?9?iG????#?)w$M?hu?;???O????}]?,?uo???رL!M??)/?#r?d?g?1/??8]????-?ZM?$ȱ?$?\'??7y҈\"??t*????Ј?9O??????;;?M?J^^?}?{?{?JZ?4?@??3???2#??????vlE3I?ۇ?N?hj8?ZdeY?(1^??k8??ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3f2b9f12b81ab94a0b71224234aba908','e?͒?8??]>?fz0???0?=NՔ0?;k?0٭}??\r?IqC?%Y??))???훹zi?{s?˄?@*???	g???#+Y?\r???i?V??WK???[ٍm???????ht])???zE???I6???]m?l???jh񆠠????=??\n?=???~9?=?q?V?\n?????QZܝlg?X?1?q?εj??2u?ͤ???1f?to?\"?i)\nJ???ǹ.r???+?????wQ%?\\?N4N1?\r???ߨRJ?!A??R?P??j?۹dW????ڥb?5??H????̊\Z?[?O%IF9YY0x??se]Y3?jJf???D???\\g&J?F-`??>?\ZR?;???]?????6*?R?ٍƏzC?+?*?QsT?#??.???t?"9T?\r?:!?Q?a???'?l\n???0?s??nz??+??}?J?{?9?O8??>OQ<\Z?yC?Z??z+!?:>0?iWy?????ge?H?#??$ߑӎ;rޑˎ???Q??7?????}]?,?uo???X?I???????H?)?z?<ɚ,??O?tj5?\0?Ϝ?r??Ɏ?b?׼hR&??0????;????rD?\\??m\"|Pr?????=?W??q???????WI?ˌ?6?F*ڱ%???o??c?V???ՙCu??\n??Yz̠?Kr~??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3f40b6683ff42babf1f19b7e40aa62c9','e???0????N?q?1???cf2?????\\I????{W<ܴ?vW?????rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+?????d{G%;IF{????????f Ք??\r]??)]????@?\Z??>??R;???]??o??8r+??B??!??o,Ш1*ߐ???zr?*y??Q??????E???'Zvl\n?a&a$??$?????ƻ{?@????????xՙ?\r\rjnR???????)?O??W?-+??$??@?IWd?\"ي?$_?ÊW?"???\'밓u?:?????yq???V?q3??! ???pH?;!??!?t??ool?lrH??D?W?L?w:??K???c0??hğ???=????#?eqe?????˷Ǹg[???UK?;?????^?ezZ??E%??f??Ӈ+?bWe?Ϗ??????Sy?l????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3f527b1f6f8b4e5f2a2b02738177f378','e??????zpK?VޡW???\"!pYu;}?.Hr?|???\\??ž\"??<8???????փ?S???;?XqũR??R????????.=:?? \Z?Ŕd???H?????i??/E/???-\\?*ʹ]?????;S?5E?|???J:???4?ܘ???@Lc?HPͮN6?XQ????j0.?1t?ͨ?????aw??Z??gҠ\nL?????.?Z???#???z?hC.?\'\ZƘ?me-,k?/X)%u7?`ZS?R?_?m?r???dg????!?\??%?\Z?w5???????a?d/?G/=?????֌h???jCW?}?G?5#??3:A@C)L?d?WQ??{?k??????\\p??7??C??4jR?y?:?W?J^`?A4G?=?,n?f????;6???0?S?+??????{?@?????r???xԛ?\r?jiR??ZI?????n??u??ۓ?>AB*A?[?tC?mH?!ņ?rܐӆ$?-ڪN?????+<Y??????<?<˻????@?@?/E]?ɱ?,<ɋ\";?19쿿???S?y?E???ˋ$-Rq?ORQ?C]??߭?vx???p????J?????o???Z=?U#?{???\'??_???n??T??8???=}?*?\"O??8??"?i?O?1)Qoy|???^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:3ff2e7f2db0021cc81af43dd54aa7c23','e?͒?8??S:%Yg͘y?????T#5?AH?$L?????xpqS??????Tl?^F???\?4ڽ8??0?4\Z?ʱ*90n??N<??	l`T??Mc??E=!?\Zne7?-:\n???8	?Q+?$?zy?U???m????R??A?vC?T\nk???wJ:?\\????_ܙՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B?.??!-EA????!V?u%;?????.?D?k?Í?f?A??l?*???Tk?=u=5?AH?%?P?NF7??#o.1?_#??J?`???m?J???deq????Ate???9??3?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε?$??????G?@???p?|??x5??\rMjmR???????)?Hø?W???Uގ?RV5?܆d;???#?9??#?;rޑ4٣}?>?w?<]#????]?,?uo???ԧ?4?#?i0ϱ<?\";?PԯY?Ϗl?j?ő\'?9ϋ???C??B?@.?????2@#????????;?M?wJ???}y?{?[?LZ?4?@??5???2#??????vlE3I?뻫?*o??u?d)?4E.ı\0(y??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:409dafe0222c2e276fb4e45bc5f064a3','e?͒?0??;>?\'??@?????ةmB?߽??,n?I?q~?J6L/?E?Nhe_,??j?iY?PЩ??d560J????ނ^-,T2ne;?-Z???{p?u%?????,V??VF???*?3?MP??W	um6Ч????f??\'?u˅7????;3\n?O??4?ZP?fE;????0f?UK~??٨z?\'Ee??!???8?%9^HKQP?=???U???$?6Z?~`\0???-??Q8??/(́w????R??P?B?j????ơB???s?Ts??V?0K??K?H?????\Znd???? ?????ډ2???H5!3?`|W?~BW???T???Go??̝?dچ?R??ߜ?z?Tlv??????\n???????=?H?????N?z`xB??O?m;?\0?????s??\nj??+????R?{?>?؏?>NQ?\Z???&?6??\nF@????$?v?a\\幫??gF|1+?vC?9??#َ?v$ߑbG?G{??:އ??????>?????E???b?ϛ??\Z?86OOu?s??	?O??????N?&E??FE?e?9?(??:???Л,oK\r4????C??}c?????????x+?I??(~??/\Z۟%}]z??9?T6BҎ-i&i?}y?eZR~54%I?L?S??fϚ???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:40d0c3ae7105d926adf7a5fc8318a362','e?ɒ?0@?S>e?Xz??????-???;?i??#衋??,??LOǤd??28?/???š??ޣ??T??Ɏq?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J?c???????b????)????T32s6t%?t?3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????j??Hh+??#??w???*9l?$>???8E??\Z???+X	???S????q???~s	+?????A??$ߐ??6??\r)6?i?Eۨ??6?x?D?????}X?+????g??<?1Ϗ?.????????Ť8e??E?\'?<9?y?T??p?$Ƀ??2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+??	?Oir??>???????_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:41f481b9edf8796b95636a4c0a32e701','e?Ks?0???????/?z?3ap0??K?????6??>K?^W??}R?nx??s???????h?*Ǌdø	?#?xdXA?<# ??u?zB:(U4\\ʮ?kt>\"ғ??s?ѢT\\I???+??+?/t???66?-???!???=???=?<o?t~??=jq??1?A??@Lc|?ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????u%۰????&?D?s?Í?f?~A???l???n\'TK?-u?%?AH]?%;S?FW??!o??_=??Jt?a????????????(????T32s6t%?t?Z3PJ5?i??Ha? c?v?¾qo??T0ȭ?b????dߗ??T@?ƨ|C.o]?g?Ir???\ZDuB?ˣ?!~??hٱ	(?????k?]??Г??{^\Z??U?_?I??TW???g.?4??I????O??@?\r??]??Vx?\'HYQ?r???E?٭?E+r\\?ӊ??Z??N???u????????a?;????`?=/?\0|?e?2?y^nO\'^??#Vb????ƦN??U??Uy????(?<Kv9@??e?F?????9?YW?a?o?<<?|{?{?k?Z?4?ah??}]???9?TTRю-h&i?=}?\"/??iyBQ?}y??{??I??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4322c99b39b6346b8dfb52b27572634a','?ks۸?c??b,ђ?A??һ6s?ܵN;ӱ<7	J? ?@K>J??|I?}?N???}cw	?4\Zy??K?0w??x?????'7?^??q?????w???#??L(~???j????	ztr?gY?8rrX?$b+?d?$?0??a??f@??MAI?-;K	[%??\0?^???˥\"??N1Gv?T??? L#??????9gK?_~z??????ua?h??0?9JEJI ~??p???݇??V\"(Y??+l?K??w???п7??;#Nj???Z??Mq\r?\ro??K?? ?T?E\nM1 ?/@???2P??$a???\r????T?????!?E%pߦO?Z?D????(?i??1?ؽ?|3??o\'?qz?h?pp;?????????n8???ީS?;A˯????N??$e?~?????)???????\'????8?????\"?ʝHk?^??jO:???S??*?)?????Wb???a?B?)??_*,جJ\\*??$SYz2\n????w5?f?\rU?,??\'?=?O??O?Ԝs)Nfr3\'/????	q??~O??]???ˌ\'V??????\"??A????G&????\Z???S????g߯Ӟݳ????ҳ7?sf;??5{r???~gr]\0/C?d?????=?o???Ժ?5	0X7???9??p???c??\r?"?2???h ?Dg]?K????jc?~??\r?aW??ܔmO\0?::T?C;R5???Y????y?s???3P>u5?w^$??o\r????=v?v??=5zp??????????w^;??????ħl	I?p??Ȟ?P~????w?%???????m?x??XJpI??`{?y^?e߁[m????Dr????TƁP???????v*?E?x?I?5?m_B???%J??۳?%??H??e?9o???\\???<????? ???.?????r[e??b[???<?R?ٛ?ܽ?*??ϮZ<??g????%)\nI7?]j?VmP,\r??M	?;????A????`??b?k?kL[h???}?\0???e??????z?dЦ\\?>j??\0y???!??;(o[ƅ?z_???Q????VX∠Y7E3?n???g\r3?Qq\\E?9E?\r??r?d??=?05???)	?m?`???#??u?(=???O????P??Rl?\r?̠Z?#KF.Z?\n?2*?t?3?d!??{\'q?嶓???zsP??L??\0m??2C?c)??1??c??:??hkiFn?<?4d?S?pG?|E\"9?F?7[`?B4?C??Z?Q?K??\0#??d6??2?????$?)???7????T?$DԐ?,???)e?0??[echR!?WX??\rhLJ??D?Q+$c??~	??HG??s\"?0??????|?\r{?`!KSA???KD??(gL|{?,|Қ???`?(U??.Jr\r???1???????\n?E8d\\?>??@?.??r/%Z???o????p@?,?|/F?.??W???n?8K???-???K^???????f?#?;?????P??7???7???,0?{;?,J?7T?????|?*??%l\r?g????!8`m!??"???3ү[???????y???v?2?(]??????[??Z???\n?<V???旆1?i??*VF?????\n\n?%?p????M??!yɻf?U?????y:Q?ܯ??rÌs?V????.?T?H??b{?d7:w(?`?$f?E??Y?_??yݛT????V??Y?Z?/?\'M??gY?\Z?\Zr???D??U??q??ڿ?\"?5?sXl?b8EU?j?ƞ_??y??R?w\r9g3??l??ׯ?(??J???i?$?N??TQ&?r?????-2zIv???\nS?????,>U???E?]???/ۅ?HIE?7v?3C????,?k??o?mK?Db???Md????r????ׇ??,??]a\r?????0?????]I?լ????C8k??ު??v?6??GEv0?q??#%?}??i????&D?$RiK?D$zb?????AچW???D??^??K?uu?gV?\r?Nՠ?ꂰ٥???\'z?@k쑢?7\'\\urQw??????ۨ?7?tt?ee??vy?H???)?z?a?NBt??d???pT?777?Ѭ????\r?????	?d????Bu?f-???a??a1`x???Կ?^L(loI?\rB!?K????b\Z]??????o\"]^?????????~?-\nA???_?MZ?7?D !?0﫟?I??2?SؼA?Q?<??6?????|}?X0&???mA`h?1??zv?ֽ?.?\uS???????9?'??1:???")y??~?????)Q??Z??ge\Z?\n?z<tw?r?G]??*E??\r??\Z6_T?\^????vzuqy5?????|??\0Qst?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:462cde552af0c6a0bf9e583e98a80d17','?m{۸???\nYqE1?dˉ?"??????7M???_??dƔ?%)?T??f?R??????f??`0\0`?????}rӉ?`?N4??¦y???9K????}d?~Y?F??Gɴ????????O??y:??s\'e?8Ys?????b?\r??????}??/o߿?;??Ǐ׆\0?n?^?h????????ۿ?6???͗???u?b|uш???t??????m:??K??+glQ??z?U???\"?W????e?[F??^????\\?Nx???????2???? ?ӄ?<?9믮???w?Fn#?<gn???E??y\ZMǝQ?L?3?I??????!Xց?Ck?e?`??\r4\'??????????h??xu_s?1t????\"??\Z?D??o?????&?o??u2,?$O??????\"`Ӣ?Z??gd?N?c??????x[????˕sAR`Þ???CG<8=?&?!????B????pIr?JCót?L?	??d?)	:???dT??mߙC]G?8w???b??H????????gt:??=B? ?\Z\r???????Y???'Ǽ˸\\φA??2ki??????{\'c?I4aMz??Ud?????XVW\Z+\"Y\0?,Y??@?\n0?K?4Q???C@?DGs?????a2	?????%2<??03??EL??\Z?&??L*?)????`?~??8?̒)?"7n????lz?L??<?K?w:ʼ?$ʿ???e???@???@\'????P?I?\Z?{????_????-??U&M{\Z??핤烌7ڞ?????>u????ؐ??U?f????W`?HfЃ?څIpŎ?8fY4??k?n?A/`h?a????M#ex1}?.?u?+?~???`<??8?qܴٙC\r??!?\'??&\Z?|?A?wH?????2??f?tEwN??Ҽ?!ZOŋ?YL??!??M????)??g?i4T??????m?\\Ȥރ?v?\Z5?5^????f?\Z+L?9t_?f?kr?}?m,Ҭ\r?Ԏ??AĂ?Z??|?????%??4???$ˠ?#??????ng???Cdo??-??򗐢 ͌\rTW]??<v?????J-?~?<fA???B??????????E7+t??*+ٱ{};???*??U̗`??(??????l?X?|)\ZרkA?LK~?????;?+??????d?????hA?;??2[???i??\0eV???c4?ScjûǸ۠}? ?)?Aӧ,m?\"?	pd?^lɱ?!?_1UfԲ?????H??/???i?L?+BI??.?obq/\0??@?bPR???#7s?ij?G?\Z?3-w?????M?6jqo??p6WxkM?M???΅??Κ??t???4?GK???k?J?F?	깁???????????x??Ʋ~|??ry???e?????(?!?-?j?A\0r??OZe???5????7S?v?m!?a???\nW?HdG??P?L?????~???4\Z??4?l?j!V߯Wj? $?????ڤ?????X3?rΓ e@V??<\r\0Zl??P?Ђq?Ce??-=?3:????F\n?????0?n?ӈ+??)??n???/?%\'4{f?qh??QI?t2ԏ/????i?????jf??H!,?ù?ӿ??x?n????H?d?j9?ڧ(ˢ?i?ۢ???^????U?j???#??ԝFQ????c?tyڣ4hn??_??	??3??|???e????;?yl\"0?????}]?F??????R??d??9?????>?\"???	?3???Q????BlE$????&-?L?j?i?ܖ??p?G6J???Q?y?+?HZ??c??f6?L#???y?????	T?~=??&? ?at?Fb?@??\r)??uM?&֭??~????i?????K??_f9?Zɕ??R??,m?6???EW??q\\??Uf1?? ??2_ՠ?l?&S?Z?hGY??\r	?z6?\\???????t%??s?????,??!?`??~&?\Zݵ?????q?φ?O????O?{?????{>|\Z???۲????dy\Z?u?n+3:\0???\0???,?Mr{??????7\\m??ϝ????j=?????,?G??+o?MA??.:??R??|?#??P(\Zz??[?|?d?Y??\'V???6z?\' E?\r???nY?)?ܡ????ޚQ?H?B!?.??a??w?d????%?LڷW]%l??Y???a@r?\'?????'I????Ұ	,?@[????<LW<??M?xː?\"|\\?7\n?)?s??L??????6?5Yq*???l9m?y©ӣPL???^?RbsiH[I?Z\ris1???	5?P?k5???8?WQf?Mf?]?E?r1:??\'??\0OS|@?f???t?@W?/???????CO????u$?p???????\Z?T2[U?TVތ??2[????	Ќ??.???ԟ???)Ho?s\0	?H\Z$)????%Pr???A^a??\Z??\Z??????6?h?`??]\\?S????zڃ$??c8>?|t1o??Q<\\ش`?6????IK0?????/{/?e7<?^?F????\rO??????????|?????l??????=?.?|?C=??EhxH?z? ???{?(?%\'?!?{^?<?^????]$Ų0??/??4O?????>n???;=;?ww????[GrQ?6??O?d*?p{??:???!;?? ?wh?4??e??|??^_.?y<!???!`???~a????b????+?l!?d??0?X`?}?V8T??$\nv?&?Gi\Z??W??h?,?)\"Y???l5??q96:??TO?s#X?q?I?????	?ƀ	??SD?D%??	YK????o?:?C??^\r?G:??{q_?o?4?Q?>`sLIi??KtP??????\"?<?d7Q^????J?{V?p?-ҞM?(g?D$?T??Eð5?,??j?+???YNŴrC?.5OI???F_????0???I??E?Z?\r?B=?t???7??x?W?kB̃??b?LN|?#???yΚ}?G?\\??%[2H}C+??\0?\'dc?d???	?	?A<O???KuF?A???Hl_??2??!??x~??4?5+?9E=Q?(??wާ$? u?F??????zC#?J?ޙ??y?7Pv??????d?????V??*?X?????R?h~?݌I?Z?>ي|T??bl,?;???o???7(??X????z??????Np??a?ر???"?ר???\')\'??L??\'\ZbA.?r?????;??wv?A???֓;}y??4k?Lc???Cb2F4??DQ?6?A7????*??\0`???*j?c????Q???	s?O???Պ???i??\0ՊM?Lx0?MiV???2\nq?Y0=Ai?Hd???5????3?6?]???0?Hѐ???8??T?y??;??f9?7??a{?-p??/䡶xI?2		?/???}??&\0{By??	?(??,???`7??=?q??p̒???-?y?sf????c5K?_?o?M??[???c?????.?On????S?ITV??\\(c?T?P?E???.n`?JО??С?w?nNo???NL??U]???f?7?;??py6?O??x/>???K?Q\'!ޙ?,mv?L?QL?^-?R??????G ??/B??{q?D???/@7?tK?ō??`?#\\?a????|??\n??\0e)M~\0?h??SqR?? ?Γ??s?:,?????s??P=??Z?H\Z??bL??\n??\???t?6??????é?J?????F9;??A\rp??W???acF???????2W???\n???X\Z?\nq???ؔ?\"x?e??? d??U?g@?Ys\\^w)???{????Dr???y\Z[C?0?f8???rI?c????_O?	?6q??\0??@?5??^?Cm?CD+?????l`p%??e?[l[?<?*D?|\Z?$~U?%,?_Dv??,???Y????\nn???V???????#???N????`???qL?-?Ll????}?=?Fp??ԑbӄdf?z=J)?W?R??^??jŴ????ox??ծU?to?G??x????5??c?䁮	<?????Q\\apoo?	????ZP???Z?o?4\r*!?ZJ?7ɷ??\"ƞ?S?ׂ??A??UP??F?S$?W???!\\0??`????gx??n?????\0????ǟ?}t?	??r?8 _??h?w????Z\r?(v?k???nl??j1Z?E?m?)?\n???N??AB?ײф?3??NOy???e????\"???U?-=:??}???З?\nO???~??*j?]??q????,???G4????Y?+??f??g??@???`)è3o&??|???qeHx#???`*r?vtN?^???Dn???鐗.O	!??CE!??z???k^``N???܏???\0ȩ??Y܇ǵ??ņ\\\\??\Z&bqo???	??`??E???!&/%??:?|\r??PQνB\Z?Es???v?7?Skۇn?-?\\C/???????d0?>??????3?1????CA6\Z????????/???}???|???|??O???????????¤s|}??\'??[????ZzᥠO??\"?>]?1?\0??????%??~4l???O??^??\rA???x??b??җ???U+?z7I?????+?zb???d\0?a?f}:cG?U??(??\r\'?h??F???)f3?P????#..???]9???to????Q??$|CVX#|Ҧ\n^?U?6?????G?z?6?\"??O??5t??0???hv??M?OC??P??h????p???y??Nx??X??1??\n/?G˾C0?n?e?VbTA??9?????w??[*E?????s?y?wL?CQ?$?4?Ft_?_	?????B??*???N?4?3\"S?:m?F???۬?$?.n??ɍ?z`ЌH??Ʊ??aC?jt?v??+0?3?lWd?s??̂`Z~!????4{?m\0	???yCS??.??'?bP0?\0??5?Ʉ?r??Ts<?є?ZЊ?B??x?G>?????%??i?>?{??el?????\"?l\ZG?(?.CC$a??"\"c?I?=?R\"?`?M?<\r??N?bo?0??b[???i??1\nX??Nn??????0Q0?ZE1٨g|??m?xჱ?30Ў??1?=?5??????[0Jx?U?ea???B!??7RRH8?\r\'A?:x?Y?kC???˅I?m\\Ɖ?`\'ld?(H##=???????+1B?ҷ???<??.׈@g??d?];?}?Y^?#???`V?7A????Q\\x?nB???\"???p?C̚?\Hϰ?N?CR??\Z\nF????yD3<?-\0$8t???\"Ml???~?l??/Q}?(?*e?&ҹ??0?$S?n.0??엙1Θ?:8??A\\GO?????ʭNEܭ??\"B?v?C?͠*,??խ8銂?c?[?l??????Ua?????\.???ODŧ?C\'??j?F?e???e?q_??]s?????&O|a%?<??\'???Ei?Q(?c-Bkd??5/0???=?ya??'G?ֳ??ڮ.YlЯ)?4Q<??3?????3??????????\r?H?@.84g??i!??鐧ik0?Ԅ?!T0?|?j???*??5?NM~??x??x?Y??\0?c9]o??@?L\0\r5??E!8HBX?t?cSox@?Q???:?P PQ?c???Gҁ?\0_?X\Z?n?????\\\Z??!??q????e??ɵy,??#?[?3\rϽ??.?????3\n??*?W???Ոa?@?,?_i?????aJw?a#?f??w0?\'=J????9??U???F8hbk??fZ????????C?U??n??`?|a?? ?_O}t???qx?:2*?ӅN?Om\0?+6?\'~??&???2i4&j֬?~??[?\n&???????S?Iw?????ݳ?9y?A?d?^9?t\\?S??<)?s?????????㹆R?;J?2m?????	vm?C3??֎?q?W??\rD)R??q0`xH?o?????@??^O_??cw????]J+D?DbQ7?no?	p??J_??$W1H? ???@????Eo??؅˜yX\Z??ʥD????hW?<????<\'\n?*g?S?i?#c????w3x|Q????????F?X;HRVN?W\"??WYt???)̥?O???l@????9x}? ՞?(q?aF[ΫAZ?x?,???	???S????8???K??ȓoN???_s??\0??h\rqR??M?T?1?>?}?\0?D`[?&M9???jA*0??????G??(\rq5F%?ZF??u>?,???Z???j?b?6?????ғ`??i??\"???xM?9	)^???I??v??h?`D\"lX??B??Lvt???_?|?v??\"????d??????????4\Z?T???Z???w??ZXmcR/???2?:@ʡ??]???~?EI,;?Hߒ}??,???4??????????9?u?t??7̵=W?\'?\'m?OU???ѵ_A?_??6]ہ????S?I??W???\'?Qn??a?dW?ҙm??l;-?d04$???4?m????T?G??|3??l?????$??	|??????w:\n??_t?X=h?s??r???\Z??Y{????.????{\0?{?\"^^?????????K?Hɧ??e??.?UZ?;뜷??&}?%???\\u??\0v?	5??n?E???2{|.e>_?=\Z????\'?y?1࣯S9{???^{?|y???<;?%o??????8y????/????yy????_??I?}K??&IrtOVf?????>??H???Yh.U^??v????۳??M?????(??G???UW?괋????CZN~zK????G?A{t??OAp?I??r?Y\r?	u???????~h?\r?Ul?©X??k???ó?#?w?TR??owmN???]+???[Z?s.f???8#&?ed?s1d???b?C??+7e???_????;q?el?%??@,Rw-?sM~?֛??\Z?|?﵋s3???T??9?%Q?*?\D?[hp\rt???4w1Ҽ??1?\r???|	d]5?????M?al??nU邏?̊!)x??py?\r;?????k???<?}????????\"D????????|v??i?%?????.??.???P??k??qb???^Ɏq???ar??"Ç?\nx??gF?Gޭ7%)??????????????fS.N??i?o??]Z??A?{2???=?????wT???c9tȶ?_?????h*6HT??Di ?}8?!?ۗ:??0????/???E3C:?@%6????mu??2Y??"??H4???8?;)`6??????>??m\'??\\Ѣ?DH??Gߊ??b/\Z?|w$?$s?zir???Y???f`??w5\n?5?qM?@?BCv?d??7tq?T(?/$?TO:??}3???`8?AOg?e?\"??Sj?w?<?V?$6??RP?$??m?????Cm??F???N??????X??@?c?i?4i??\BI?n??o????#Yny<\nb?S}??e?R2????t???˗?@??\"ϗ??=???a???NL-%6oK+\Z|˺?D?%.k\0b~????2?????ő|?/??????J	???/BY?aRX[??;:IU?2.Q???4S}?t?0???a?G?:??@b????B?????\n^?ҀA	?Zq???????Q7?m????Op3?ʍQv??A?????5q????d?"Gm;\ZX?{?`U????7??>??:\Zy?R,???<??????????????ڰ????!?W?\"?IF,]NYN?[g??:{Ex?,A?? o?\n?*C+5(?%\\L??????y??@?`?6l???????D??YVt??Pr??$$??? ???\n?cd??~????[^?\04??_?\n???-?W\Zy4?wEX??>N?'є?\"???????????r????????L?aQ,?_x??/?b\\R)??L??g?jf?r????V/????J>?/rG?>):??e??ک-?!>j?KO?_?uN?\r_?׮??J?H?je??????A???Y?-v\'Y?M????????2????????}??7??g???up7L???Q??ퟦ80??$W?B?}(?=??R3?I??ph????0_???u&?S?L#?E@x)?۔FLp??>#c,?#&??o?Z??~ ??????B?W?????????p??%p?-?2??N?l8?t?A???????????& f?R??e\0????c?\\W3/?С@?RN?\r????\Zd?JC?????Cq\ZQ?a?5??l=\\Y??ۋ??J\Z?????Krq9@.??\0m\n??=??w???????\0?????߄????u?ƐY_zn40???i2\0#&????W訢FQ?H~\"???˰?f ?1j}/??	?Q?)???(=?????E\n?????<d???gx??FC:?f????\'?m??q\r?[r????C?r*D?5o,???D.ϳ?ϡy???0-\n?ۍ??J??P!Q??U????ݵ?5r)??P??cU q??e?p$V|:??$?????wE(????0???????Wv?sy????ZU????;u?>???\\\Ze???;u????i]???r?[U?K?????M?7?ɬ_bکoF?\r??z?+???g,p?r??}?֟??/???w??Jw??њ?V??Y?FØx?j~F뻎gH7?r?vF?Ve\Z??h?v#???8???NQ?i;??8?????th??/;;??=utp/???!??(??RX?S??&TA|???)?ko???u??Z/??W?u$?aTd??,??m??????;2d??\\?lD#S,?Ð??????9?Xr?Up$????E?\r<&S?$?Z????\"?g>f?i?\n??;?H\n??Չ?=wA???4bS??]Q?@?T??6??ĕ^ő*?Eԕ٠ ?\0x}ϢTD?;?E?F??B?Qr-????,G?\ZIF?a??+i?\n-?U?????_?5??֖;?????k?\0\'???u???Ο`(?)d?r~?!?kc??),vi\n6?@??\Z??)7\Z?x??,L?nٝ???Wf >???????\\A?J ?<(???%[a/(m!?.i?OD??W??5?????,??c??J ?P?;h?b?r?kg????0??܇!KA?{???,!?ɗ?S??bl???3??f?*;e??m?h?+~F????|?8????=??????????\0J?-;L>@R?t???9???+???y~9:?&?????G??L?80d?SWĐÑ?&ܒ??4?8qt?t???H?G?He??h??^??}Jk???b?N@?H+?????ӾO888D!???i??????:?7?N???|?rr?3?¼&?j0?=???+X\n_7?d]???????!?O?\'?d??+$?&?????N?	K?e??4??a???\ZU?FͲi{??{i????uHt`??KK{?y??\' {?_??8???????T	u?\nPyeR?J??[ݾP8N.m??!?5q-+?/X!??\0?>?m_V???Þ????\"?\n|??????I????8Vޓ?лx?f????i??K2???$???BP???c???????i?D+؊[??X??????N]?*d?|???f?^??\"۴??.??NY??)E???CU	??HV?P?B?A\"0HS>??????\'??kOZ??\3Z???=?@????ӊ4%$s????̭??9???XZ??M?????`???r?i!z??n???y??׷WF?y}k??܅?\r????_????????	}߮?9???!???/37???????7K??ǒ?a??Ɲ$?\n%?#?E\n?0<??LX?0d?l???/cP???c?4̫??{:HrU?\Z?\0C??*sd?-?|???????.@?s1?3?J?߲O?>(??㚵????µ??*\ZU4*?\0?B??????)?\nwq??=??z@??ƨm????K?6??n?j? I??y*Қ?F??M<Nb@?G|??(??C???C?-?q?;VSZ?q??k??pJgK-p)=J?\r???[d@?Y?:#xs]?\ZO??????1-FB??\\4TyY\Z???L&?7?\0?ٮ?\ZG#G?q?g??t?9?1.??q4?,O?;??\nZ^??-?????9%??V0S^???d?\r~L???>?\n\0#??}-?????????\0??w?N?9+?:???O/?ny??ޥ??.u\04??F\\?Ӵ?x??M3\"@???ɚ?ĦӒV?%?\"\'G?v,M???<]_1&{P???\\?	?,?snm]^K?g[??׈?\"?i?*I_FG?\n??\\??P?J?kt?g?\n??\n?*???}x?^?Qԋ?숸??O?ѷE?V?(?????a?<?????x??}??#]A/??^!?_??!/??&??	?رN???j?0?Y?????-??ئ?DXV?B???}??c-ʹ??R???????f,???????і?h?l_X??r;???}?&??Q???Z?7?X?????????7?d/???/?{????z??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:474312f1443daa4bc17e5be72367782f','e???0??]????z??i!??0u;}??8x??>??= \\?懤`?????????ޡ??T?ɆqGZ	?\n&??^yF@V??\Z?P???????PHO?.H?F?Rq%y{?sȃ,V?w{??????˪??h??/\n??R?????1z?x??t~{?vpcV?\n?߁??Q?_??Ǎ????????).?1??͠????awo????I?^Z?X???u%۰????&?Đs?É?f??A??ym???n\'LK?-u?%?AH]?%;S?FW??!o?ү?zW%???\\?K%;IN{?a?~????f ӌ??\r]??????@?\Z??>??R;???????/?E?a?*6??Qoh???\nhԨ???>t???v????hN?z`y??"??-;6??0?0?c??nz??p????J?k?9?w8??n?Q<?e??57)t?VB????躧a??cW????	RVT?܂d+?]?݊??"??W?"i?Fk?Zv?֝?????___???`~???|X\nǤDq<?I?=A?\'?Ȫ?H???????:5?E\"O3ȓ???e?2??v<$?)/???2@#????????+۰???\0/????$?Z\Z?ޑ~?'??{A_???o**??h&?{?pŮ??m?U??\0???9?̳?\'?㷗??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:47613164bb59d0c5fa6b7f43449fec0a','?Z???=??kw???nn?l?!d??0???Z?Rj[vd???a??>B^l?$_۲		5U$m????Y?<?s??D??(A?L(i????$X?ь?H2>@I?so$???????l?m<?~?}????)C?%JdNs3?????e??\0Q??>e-?h)ՄD\\^\'U????cq@????Gɺ\"???1p!1_??q??;Ý??hwt?o?????Lx?$҂)^)??Ml??7\n?\n?ݝ?????x?5f.??2?5T??(2 \'(lZC?b0?? b1?0??$Jh?oJ?.?9??0?Oh?fO\"\Zԥ?D???o???b??5@b{??$????JvJ)Ii????pJ៼?p?n?d)??rj?ѫ?HD\ZNn?e???0a??	?m??M	??먊`?\")D?+4i?k??$?PۘJu?@??!|L??/!???"Q?CyM0m@mܪ????)y????d3?b??DX?/٢?P?)??%?`???p??2Q?*\"?J??/8?L.??????\0??!?k]?UZ?&gjw?/?????$L??X???[??Q*%??a?<??.Q\0?:ٜ???m?? b????d?!a?3ۆ????M45}?n>gI????t????Oof4?$??%?`?r?l|?[}??.?<?ҝf???~?*?WMR)?{>??	???ʷ?	A??}?	???vג?D\r????\0?f??mv?Xv?vliI??Ao??W?9?2\'??G91??Z֓XAn?ݾ??????\n??fk??ĨH)??[?R???	H????????p??"h??\"xN?5\r,????ذ|??????m-g*?G#?8??l?BVZ?\nJSt?9F~#1.??mkّ???>?????+:??+?V???ZЬ?d\"?	#,?%?n???y??~??Z??8C???i̠?ZzVK???<ܰ?|F??UL?|j???,)?Zy??7?{d/K?H?9ӗ? I?0l??ڶI?Qe,[??s?[8	??g=^??\'P?ψ??*e[???_XN/u?????0A0??6?uȼJ?]??Kħm?????zR??\'D6Äy\rJ?NZN,??垝?&?NS?h????S?{????"?f\r?????F?V?? Y?~????ݓ?<?ʘZ??!Q?;\n???ӟv?SB8???y?T?4_g\\gK\rd?LU??I\Z:?????\0(?k?TA?Q?\0??9ջ?Ǩpܞ3?2??uoo???j??T??\Z\\Ȓ)?[b\ZcY??h???:?]\"T2h??\1?(fq???0???d?v??DN3d??Y?'?r???\Ze,??*=??c???3????[??eMb6\r???U\'X???$R?????????`???A@<?\"??0C?=?????????/?ώ?_?u????q?ò?Nd??PJ??^^Cj???h?ٜ??/?6???1g??7O???p?Fh???iL?տ(d?)?ĉ$8?誛y25O1??>????S?????40?#܈6r?@#̈q??W_q?tiF????\0r??_?&\n ?????Շ?\|?#$1ZSK??΂??ľT?T??p6G@qC??9???;moU????A>?O\rQ?\??QQ픭5?????yi>???x???r??1?Dd????:??7??e??:T㸀 	5ՙ??V?;VKEGʼ?R#;?r???F?z?????|m?H???S?w7?0?????????~W??0E??jW?`43??_<???q_TZ5??\n˺?J???t\0???X? ?Ң??ڮCA}??Z{󸪼??????,?Dʁ?ɩ͍???3?ݎ?\r??????=g/Acu=@S+??YMT?????g??CN1M????4??e??x	?Xy?mmB?\0?I?V?jHT????B???26??!a????ſ2??????]?\0???\0?'??P^-p?_*?<4?L???~?~??<)?@P?Ǘ?Evu?.????EW\0U???Y?s?TZ+]*?$@s??Z??\r??T\"?piZ?????(?ɢi????,X??F߿9G?????Q?]26??͐I ~?l?T???	|??K2?]????#?W??ol|???v????;k?{?23?I????F?(J?TZ:?"o??S??d????#XL?cÿ?Rv?	λf&?????ܾ\Z?F/?{??J??5?)?k7???z?????^?k+?T?yfxs???+?'\"1	????uw??;??d?????9vwvw????z??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:482f991ae120f347e9d7e768049f0fec','e?͒?0??;>?\'?B`ߡ?;??\0/?m?v??rd??>K???L?R?~|?s?h?????h?*?dǸ	?3?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????ue?co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c???m?J???2????????f$??9???t?3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?ߐÆ7$ېӆ?rސbC???Q?۰??6?????eq????V?i3??\NurH????E?????H>????-&i~??S????C????yRe?d~[?q?~??B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;?????????x?E????>s,D????:???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:483d88fa5de9c40d685a2f8e4185cb3a','e?͒?8??]>?fz B????jJ??;k?0٭}??\r?Iq?>K???J?R?az?s??????q>???T?UɁq%?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???Y.???Tr?d??????+87Qѕ5??!????+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?lCB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU??G?9??#Ŏ?w?ܑˎ???N?a?????\Z?????ۇE???b??7?i?M??g?f?%I?Svn.????ϟ????y????I???9\\R??$?,o+4????C?Ͳ??????????g^{?W????\r?L?7????.3??_?\Z?h?4??޾}?????e???%?(s86%????_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4917840a689f0a4e0324840ea54ee24e','e?͒?0??????	aߡ?wfG^???4??Ȓ?}?d?!l??Qκa?4;}qB+???e?w?v ?ey?e\\?CF????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺲߲????&??s????d?~Ai????Օ*%?j\'??=u????Kv??????*vGN_BH?z??h?e??p#ۓ?J?2J?`???(????df???ӕm?)??8LC?G?|\nc?=??????;?g-C?^n?]i??7$??p??j9F?Zry??KON?E)?8????7??DˎM@?=????Â????|==?;?h??\Z~N??????S?:}???A???????	??gy??ܙ?A?\n?]???V$Y?tE?+rZ?lE?Gk??:^?????????΋?E0??b~????Ҕgq???CRAg	????n????٤??????\"??????8O?<????R??????9?Y.ol??9xzz??	{f?-ߐV-?}?~???{N_??m?/啐?cs?IZo?6O???$?cv?\"H0:???q???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:493e00202e5fc827373d9d3759b209a5','e?͒?8??]>?fz?????=NՔ??1v?a?[???&??,?C?:-???mrh???ݛC????F?R9V\'?8?t??`??[?????+?????PHO???F?Fq%??s?X?N?d??????v??????\n??R???PX??????\"??????R1??4?9???cd??]jՑ_$e6??YSz)0f?to?\"??\nJ??f??.r???+ف}L????Q%??;??c????{????R???J?j|x????A????d????ڵb?%??D?k???7?-???QNVG??LDW?????C??+Q??+כ?R?9?C?4^B\nK?Y?v????{?g?b?A$?]i??7$???\Z?D?r??:KO??C%?????X????Dێ?@?=?ɥv?r	m??zy??>P%?=???'Fu??(^??C??7)t?\nVB??????a??W???N?	RV??܆d;rܑӎ?rޑbG??v$M?hu?;???O????}q???;?????NT??99V?NUՖ9?!?ϟ?????h?2ô9%???yڊ$M??\0?&??0????;????rD?,n?6>(9xy???5?o?+iuҸ_#?????????6???*ڱ5???o?>է??%?/??E%?E^5YRA????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:49efee7b8806bb3e53d861766bf39d7e','e?Ks?0????p?6?z?3=P?+	S??ޕ\07???X\\???"??<8???????ރ?S????\n<	?D@M?Y??k?????vCӀ???\r???\0?Lq%yw??CX?J???lZ?????????.@®`H?՝)?5y?|???J:?_????]ܘ???@Lcz???_?l&?X1??艹jՠ_@e2??QcZ) f?t??Z??g??:????.???ؕlG>?yL??Q%?\\?n4?1???X?_?RJ?&A?Q?R???@??T?3?\?t-?\??C?5`???;b??W?=????D?#ZY?x?S????fD??P??3?r?1%????sHa? S?vþqo??T0ȝ????e?0?,?QST?E??.????9P?s\r?:\"?Q?ap4~??hݱ(???????j?_???g_????Ur????T7???o.?4??I??j%??^?py????>AJ??*?\"ن???r??ņ??&[??:݆?n????K????.?ۇE???b~N??$H?4?c??v8?????9??ܩ??	Q? aer:֌EƋ??cA?eL淕?8???0^?C?β??YEx????c??\\?G??q??????e\\??U-?\ng?Ӈ?ա?\Z??\"??q/?k9???8?㷗?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4a90059097af0e0b290debf162e27aea','e?͒?8??]>?fz??????jJ??;k?0٭}??\r?Iq?>K???J?sR?az?s??????q>???T?UɁq:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???Y.??E8*9H2???????(????T32s6t%?t?3QJ5?e??kHa? s?v??po??T0Ƚ?b????d?־?T@??G.]Cg?Er??r?\ZDuB?ˣ?!~??h۱(???????kwܐ?Ћ??g^?Ur??|?Tw???`n?4??I??7??O??@?#\r????Vy;?'HYՀr??qGN;??yG????#i?G????>?x?F?????a?{;?????????????$Ǭ??g<?e?????-?ZMj!2?S?f??Rd??H?D????e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???W???I??IY@?`RgeB????^?~a?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4a96c0bd88d3c7145ebe41a371c54872','e?͒?0??;>?\'?!!aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J?c???m?J???de???΍?Ate???9??3?r?)%????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N?ۯHh+??#??w???*9l?$>???8E??\Z???+X	???S????q???~s	+?????A??d?!??6?ņ?6?i?Eۨ??6?x?D?????}X?+??X????3V{???C??q<?99U??`s??\Z????Y!?H?cq?!I??g??u????2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+???'?8?Ği~?\n??E???Ȟ?}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4bc1ea5b3db9ef4cae148ed5fc3e3e43','e?͒?8??S:%Yg??y?????T#5?AH?$L?????xpqS??????Tl?^F???\?4ڽ8??0?4\Z?ʱ*90n?L\'Y?60*?Ȧ1Zݢ??j\r?????????h??W??w=?<?Ū?6???]m?l???jh???!e??\0?5{?|?%?_.??o?Z??jP!?Әj@?,?F6عV-?ERf?4???cQ!H?(r??????kz??"?????r<?????.?D?k?Í?f?A??l?*???Tk?=u=5?AH?%?P?NF7??#o.1?_#??J?80???G%IFYY0x??se]Y3???\r]??G?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε?$??????G?@???p?|??x5??\rMjmR???????)?Hø?W???Uގ?RV5?܆w$ۑ|G?9??#?yݑ4٣}?>?w?<]#????]?,?uo????)?Tdu???x)?yY6??~?`K?V?????|???N?Q4?	K?y0Y?h????=????#?eqc??????/???x??I???(~???۟}]f??9?T5Rю?h&i?}}wU^?O?:?+69L????f?g??=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4d906a0a376d33d630a30ee14e46cfe9','e?͒?8??S:%Yg6?c?r??R?Ԁ!9?0????????4?J?"????틹xi?{q??a?h4 ?cUr`܄??xd??<# ??u?zB:?U4?nl[t>\"ғ?p?ѢV\\I??????+?ot???66?m???!???=???=?<?~??=jq??3?A??@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B?????Gy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쎼?Đ~?Ի\Z(??,p#??$?eq????Ate??G2s6t%??uf??j?????????}??٨`?{I?W\Z??r??}g??F???\\޻0??????.5?ꄨ?G!??-B??жcP8+	#9??!???_O??6???万???è??ū?\\?ohRk?BW?`%???L?nG\Z???????????????$ߑbG?yݑ??N?a?????\Z??oo??a?{;???????!jQ6??Qp??r??????????hr??2mDV&)ϡ$??8!??e?F?????9?Y7v`??<=}??????ꙴZi??⇩?j??Y?eFZ??U#??f???WeU&?	???N?8?AL3?n???˷\'???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4ebefb9261f33ffc00d00f83c933104c','e?͒?0??;>?\'? !aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????ue?co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH?????p#?"???b????)????T?d?l??ӕk?)	????!??ӁLA??\n?ν᫳Q1? w??ͮ4~???P????????wa??\'gɡ?W?k?Q,?B?[??	??u??p?Fr?]?\"???g_O??2???䰅??èn?ū?\?hTK?BW?`%???wL?n\Z????????w????d?!ن?rؐ?rڐ?m?N?a?۸?????????a,{;???f`\"??<ɱ?O??8x?!;?x?N??`s??S???????xL????-ɾ(???2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+??W?1????y??$?O?gY????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4f0dc947e486cc5509e47153e1571188','e?͒?0??;>?\'?\0???S???[?c??	M;}???d?Y?%YW??Td?^F??\?4ڽ8???0\Z&?#Ur ܄C?\'?<??hب<A ??u?zB:V?h?????D ?G??@?E???????,R??+?ot???66?m??+0ń?R?L??a?#??睒???-?wf5S!?Әj??\'?0?C?lf???P??????N\n?YD? ]??F?ㅴ?^[?\\9?X?????y??Q%?\\?n4L1???X?_?RJ?!A?f????ǡ?R?s?Xs	?э?K?țK????&???жG%?F9ZY x?0????fB??9`6t%??ufhΖ!?.!??Ӂ????νᛳQ1? ??M?8~???X????????wa??'Ɂ?WXj?a,?B?[`?|Gێ-@??=?$??\?tCB[?^|==?x?h????O?????S?s]??I?M\n]?2+Y???@??ø?W???Tގ?(?\Z?܆w$ݑlG?9??#厜w?&{????????p?F?????}X?+???+?\ZN?H???I?KVC^??L*???d?j?SJ???M?E???gM?f;????dy[?#???????9?M?w????~z?{湇[??Z?4???b??Y?eF\\??U#?\ng??7WeU??????y?\'g?n??@??|?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:4f6f0f6c157cb60f0634111eca18464a','e?Ks?0????p?y???cf2?X@AH?$L??{W<ܴ?vW?b?E?gQ????h??????????!-+???t??!+X?5?????נW	??k?M????pd??x?UUJ.?z??񝬕M??J;Q?Bi??ABU??;??(???8?a??r~;T?????!??Z?Z??6CdC߃?jՐ_$e6?N?QZQa?"(x??I?g??zit?S]D??+??,?=Ѓk?Jp??(C????[\\?]?RR?n&^??RWC_?i*???dg???Q?Z??b7?9???ޕ@??;fxW??Q?^?QJV{???WF???\'3?`|W????l?GJ?B??>????:??\r]??o??:k?\'??B??!?r?k\rP?*ג??zr?,Jq??A?????0?A??'Zwl??!~$??Vķ?????{{O?????r???p??\r?ri???????IP?ø?W؈??	bV??7?Ɇ??mH?!?r9mHm??v??;?/??????,n???????9m??~:???hٗiz????D??76wj1?2I??1?}?/3L?q?y?y?<?&?R???u????rD?\\]َ?\"?Qr??????i5B??⇱{?????RQI;?????????Hꬎ?i?,???q???%?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:51cf242c8d703d9e18dcf7e98db100dd','e?K??0??+2>?????CO=???x1vj?д?^??7??yz<$9k?M?n?K?????ޢ??T???q\':	?r&??NyF@?????tP?h8?]WU?D(?\'??@?E???????,????V?????mlT?A?WB?){P?(??{?x^+?x~{?~qgV?\n?????P	?ߜ??X?1??m?????2??M?????\nA???F???^X?PنX??v?:Gy???]N?7\Z???m8?Z???????IP-?7???hk!u5??5??]J;V쎼?Đ~uԻ(??p#?8*?2???????????T?d?l??ҕ?MO)	???/!??ӁA??\n?νᳳQ1? 7??ͮ4~??}W???\Z????w???\'Gɡ?Wk?Q,?B?[??	~?y??p?&Fr??FB[A???ya?{?T?	?\'??Q]???W??????&??^?J??]??]u4??<t??KX??? ey	??Av?_?lAr\\?ӂ?$M?hu?;]Ɲ.O??}}}???`?a?6? ?r??rW??pBL?tH<Cr????NM&I\"{(OIzȶ???I?4NY&?`2??Јo???=<???#?eqck6????˷U??o???*i?K??????LGksx)/?????{?p?>?^n?[~?\'Θ?/?x>?\"M!V???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5259d6a10176cdf96a10e1718879b424','e????y??~8?p?Vޡ?3?Y?J\"B????????????!???d?ޣ{?????×?L???????Lظ8?B@V0??0???їd\'??R\'??u?>$?Rr7A\"?F?Zh%ګ?Ge????q?n????N?:<#h??`L9?nO@???D???t????9:?~R\Z?q?7?L??7֪??HƬ7????24Jb?"?	???O?&?z??c]T???ԕ???/?4????O)?\r?n\r?k?)?L;?hZ?h????+?R?z,ىj?p??Rn??{J?~?Ի(??9!??y\\j?rړ??c?x?P)???n?#?ؕd??#??R?hLC?ߝb\nc?#E???}????0?E?g\Z??r?_???U??B^??????Vg?j??Q?H?$C8??~?e??q?fGr???Ķ??b????V?\Z~N?r?????S??:{???A??]=?S??:?\r????>cEp=~Ί\n?_????E?+?"??V?"<[??j?????Z8??????:??>??????J?sx????p?y??vY???ool????????|???ȣ?v??.??????????\nD?,/l?\n???=}?O?}??➬je?{G?ah,?}]??gs?????7???????b???I?_???.??pȏ?????t??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:527554e5127b107c870aabac0a5d470e','?Z?n????>᮵??z???|????竝8????M?*I?>???Gȋݐ?VҊ??(gE?3??8CIx/?\\ϙ!?A??S$Ʉ??%?$,??@???$????a.`d@?\0/?n?pqu~??_?m????~M?v*?R\"??n?[8?O6BD>???$Ϡq??&$?mZ?U<?,	I4N?Z(?$[?\0???#\"$?7? ;}?????ӿ??????0??Jf5?pz.Yjc??(T&0?@tw1>?8????Jg.???k?d?QdH(NQԴ?V?b0??[ f	?0??$Ni?J?.1?5L???5??(?????D4\"?k?%?r?G???ch???i??ݞ\"???\n??3%є??p?n?d)??Drj?ѫ?HL\ZNn?e???0a??)	?m[?M	N????`?\"?\"??4??e??$?P?N%?:	{ v??h????x?*?U^LP?*y??>?DJ???_t??D>?<1?K????x?`?tؽ`I?e>??????>??_r&?\\???dIsT\"?\",??׺g??M???*????X?L?>?:7??ytF??????????n??$\0??+m1??l%?)??٦r;I?Q!?4\rМ??p????oU?C<ǂ??x?03?AB?ݟ\"	???!??&??????g*??Ta??z??? =L?o??u?]L???M??????T%j?KW????4Ӵo????B>?cKK\Z?\r?a;_|?Q??%s?\nx????uc=?䦍???3?A?H????g`????V)?K3*P{h|/?3q?BZ?<??N??D????Y?!\0??????5????Z*??ǸNeL[˙\ns?H?G^??Q?ˊA˽ˊ??6J?Q??Wt?Ҷ????Ϻv?Rum???????j???5a?L?>????z??"]A???5o3??8W+qg???????[C?I?w??v??\\???	???\"}??????G??ċ??3}\n???h?m??%P??u?9׽???????%xU?????͠R?%?????7(p?.?r???i?v?.??{??s}??????Oj?????0????????.ؿY??????????8??χ?Jm??!????s\nHV8?_D6?p0=n??'+_ѩ?Q??R垶????;?j?%?#????Go`????(E?e	?d??wJ}}???!????*:?\0:?[N?y?*???Loo????Q?D??c???F?t?yٖ?&X???2?3N?9OeW???<W???YR?*??\"?h??$>??T֯~?*??(c?T?[H??7xН[??q??!NP\"k??Ru??Uf\0|0?A*?k{;;h??,???*v\rte+???<?u;e?Z?9??x?w?\r???Q.vry???;\'??\n?(????!?EJ?^j6 t???\r4Q?	?~C<?)F???E??-U?K????E?!???]w3_f?a?Uo@????>??)㲜????????o????k\ZaF???N??z?{??0µޠ ???0??????\'6Q\0ɧ?H??Sx??D$Aj?$??2f?8??He;?g{3??]h??????E??	?JEE?d??j?lmX?S??b?????Z?s\0?'???b~X?갣|?wS?????W?	a??sM?ڱVʝ???ce?)??y#??W#?k=U?\'e???m?X???S??]XSo??dE?????7Z=??Bv??nfoo??F????X=??????\Z??W????Yù??@???0P?-??\n?'1x|?go?'o?6C?ӄ%?wчRq?8??1\07???p?????{??(?? ?} ????5Yڬ?*qF??۳h?ʐSLScG?T?\\??,\0??? +o??0?թ?p??d5\"???O#??? ?Tlz?V`??0???u??_????d箊bW:???~L??T>,X%??????T_?)C??????=Տ`_???6Xix\" ???K??.?<$??????ܯX??????>?-??????vȨt2?4C????	R?a?S$??Wc?ݧ???ܬ~K????????:_7???o????ߖ??:o??1:@qz??1E??Q,?s??t??%t96?WT????ΙIƣ!$??;??GG??U3??;??j:??)Uk??z;?n?ȟ???????????????$$\\n?o???}wt8q?????	????wz??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:529e36de1a19fbef7c2b38fafe7f15db','e???0??\n?N?q?M?w????!??0u;}??8x???vW??ŗ????v???砬??_??ǔ??̶???? % Y?A???F_??P?U:.e?5??????ZQi?oozx????Ʃ?	]c???2??tp??ncʁ?????????\Z?`???a:?~R\Z??~??????cn?U?~?IoZc?eh???ER?ҙg5:?H?Q`ꕳ-?uQ]?U?????{???c?I*?\\?b`H?o0?3??m?+??i\'U+?[?*p\r0?L=??W0X#??*vC??SH?z???K슶??U?Ш@+D???$W??????W?~?G???$?p6\rAD}w?)???dڧ?b?,_|[??r????ㇽA9?h?1?Р????r?<hu??I????0????'Zvl\Z?0?8?c?????W6?{?H????????t???=7)v?b???hf??q?Ǯ??)??PRJ?????_?Ê+?"?yY?ӊ?????7]N??}}}?w??`?q?7ʫ???C?@T?S??{ZH??ood?l??*)?? ?Cq?T???V??&????;????t??,?dK?:xxx??I{f??ܠV???~6???_??m?7?Riܱ%????_?"???Y\0e?+?G?W??%-D????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:53d27ba195d6f9543351406e533e0d4e','e???0?y??N?pc?m??cf2?????\\I????{W<ܤ?vW??@?\"9??ޡ}6g/?v?????????r??7aq??\0??`+?dU???H???˽?\Z??????h?(W??7;?<?Er?7???[m??:???fh???!e?=?Z?G>?獒???-n7f5????i?U???z??*?????"?^????H?1?hvg?(\n<??TP?-?u?]??PWv???????r.v8???hÁ78???P???D?i	??????D???g????کb7?9J????D?\r?\\??|?a?d\'?#/???pn?b(k2ݑ?C??+?GG?1?$Ps?? ???;??2?v??$?ƽድQQ`ط???4~????\Z5??r??u???+??C%/8???X7Q???DˎM@?=????tAB[AO??i???T?\r?\'??Q]??)?G??L?????^?J??o?]?4????e??=~??(? ?IWd?\"يV?"??$ٮ?u????u\'k????????????_?|??A\0/??y???!=?剖?<???ƦN?P??}?y???????????ݭЈ?;O??x??@4??l??)??˷???x-ɪ?ƽw?????^?ezz6Ǜ?J*zc?Izޞ>\\?/?T?$???>M?d?=`???{|???^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:54e445f979fe5ecc40660cd6126819f8','e?ɒ?0??.??x<`??w?ǩ???!9?0qRy??xpq?>u??^?LOyR?n??\\?4??/	?\r?ʑ2?n¢???HIT?W? ?Ue??E;!e*:.???kp>\"ң??т)?$o?x?E?ao??u???YuR????B?){??EYc?????Ap??????YMUH??Ƌ*???z??*뻎ڱV5?4&?n?4???b????0?jT??3kZ?"??U?????w??AG}Mbȹ?D?3\\ߠ\r???ym?+??n\'L?=u?lTH]?%?`?FW??#o.Qү{?&?m????Jv?2???~??r?Aè?{ts@m????k̀)	МNC??B\nc?E???}??ڨ(0???W??r??c??F??|?!??g?i??L5?戰????-?	~?e??`?fFr??AB[??b==rf?{?T?\r?\'??Q]???G??N?????^??4~?x?%??a??cW?????RRVT?ٯ?E?+??H?\"?)V?"i?Fk?Zv?֝?????___???`~???|H?c	?X?d4?rƎi??v>pH?????S?K?????{qNΐAqb?g???<cUp??????^???` ?eq#[?Px?????3?n??ji????>????L??xSYI?ol?3????ev???Χs?Z9?&y?p????H?????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5502e858746383cab3b5d3b062017daf','e?Ks?0????p?l?z?3=P?+	S??ޕ\07???X\\??ER?~|?s?????K8?h??TɎpG<	?D@M?Y??k?????vCӀ???\r???\0?Lq%yw??CX?J???lZ?????????.@®`H?՝)?5y?|???J:?_????]ܘ???@Lcz???_?l&?X1??艹jՠ_@e2??QcZ) f?t??Z??g??:????.???ؕlG>?yL??Q%?\\?n4?1???X?_?RJ?&A?Q?R???@??T?3?\?t-?\??C?5`????\\?ږ?/?G+=???DW֌????jCW?~?W?5#?$@s:A@C)L?d\n??b??r_?????Xlr??ޠ???4j?ʷ?օ!t??%J^`?ATG?=?<\n1n????;6???0?S?+??????}?J[?9?w8???Q??e??F?4)t?B????QT7?"O]??Ry;?\'HIUS?$ې??6$ߐbC?r9n?C???Q?۰??6?????eq????V?i3??L?+iV?TX?d)c??L????ZL??O\"+?:K??????E?2Q??me(????;???t??,?dGV?:xxx??????\Zi????{2мW?u???UK?;?????C?c~p̏????=??%E?????㷗?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:570b6d4571eda1efb9ace6b4afe17eba','e?͒?0?????͆$??}??zܙa??6?i????7???$;ns??Ρݘ??F??C??????˷k?8???#˙?:?Y?F?[?????\v]U????????\0?????琇?X?<?[Y?????e+??Qm-^ag0??5???????E0????ŝY\r*??\0b\Z?%h~s?\Zc9???;Ԫ\"?HʬӍ6??2?`?"*??ZE?GRQ?zaM?C]db??+?5???<Ђ??Jt9;??????k??_?RJ?$A?\0?S?[????P??\bot)??;?C???n?D??\\??l?pT??d??????8?ѕ5=????????+W??R?9?C??B\nC??v????{?g?b?An$?]i??7$???\Z5D?ry?:KO??C%?8???X????D??=L$????????}==?x?h???~N?????S?Zs??^MM\n]?????^3??\'y??e??~???(7#???A?9.H? ?9/H?]?e?2?w?<?\"????uZ?,?io???,=?	O??????p?sz?Xb??ool?d\"??<???{?et??i?&??0??????9?Y7?f??<=?|[??j???ƽ??????????6???*ڱ9???????GqH?$Xg?,Pb?a?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:572ba53e4769e7efc414a454125e3daa','e?ɒ?0@?S>e????r?U)a???tR???z?f=K?6?+??_?~|?s?h?????h?*???q\':	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c??????de???΍?Ate??)?9??S?r?)%????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N??$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??=+??$??A?I7$ې|C?\r9l?CNrސd?Eۨ?m?6?x?D?????}X?+??ءJr<?s?׼?n(j8?SQ?&???????:?y?fUV?????p<?D0??h????=????#?eqc;????????wx+?I????~?/??%}]f??9?T?ю-i&i?}yse^Ǵ?\"?x8?k?\'9???f??\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:57735fd093b4bfd259361e6bbc1a5324','e?͒?8??]>?fzB?K????jJ??;k?0٭}??\r?Iq?>K???J?X?az?s??????q>???T?U????UL`??\Z?????+??m??PHO???F?Zq%y???X?J?d??l;???f?????o\n??R???+PX???'???"??????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r???+????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@??f??;ٖ? ?\'+??pn??+k&R=??C??+Q?DW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹv醄??^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?wd??#~??U\r(?!?Iw$ۑ|G?)w??I?{??:ه??N??\'k????.n???Ê?k??h??x????YʋKYI?ϟl?j\"?f?(?c????ȱ??K?%;??e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???WeU^?iވ???????	u??S????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:579a78da63856674f015a1fe5b230725','e?͒?8??]>?fz?H????jJ??;k?0٭}??\r?Iq?>K???J??b?6:?o???͡???@?q\0????8???#???F??F?{?????vcۢ???????\0?????琇?X?<?[?~???????Qm-?a70???W??f?????E0?????Y\r*??b\Z?\rh~w??c9??\0;ת%?H?Խ6??2tR`?"*?n?ZE???zmM?s]?b??PW????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@?f??;ٖ? ɨ +??pn??+k&RM?!????ҕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr?]?!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z?????Y??? aU?H?#َ?R?iG?9?eG???N?a\'???}?\Z?????ۇE???b??7%?E?I?G??2??H??>?i?????O?tj5i???	??I?@??%?0Y?h????=????#?eqg????????qϼ?x?^I???\Z(~??o?}]f??9?T5Rю?h&i?}?pU^?ʳ?Sv.N?2o?II?E?f?f???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:57e69d5150f819d15b6697f2e49af6cb','e?K??8??+?|?;?<??T??-???{mӤwk???z?f}?d??J?R?az?s??????q>???T?UɁq?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??Y.??y8*9H2:?????+87Qѕ5?fd?l???uf??j??א????????٨`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9??!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ㎜v????ؑrG???Q?????>????????\"X?vX1͛?AI?9,??iR?Z3!?SZ????dK?V?u?\n禸$?,ρ?/IV????e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???W??s??R???i)?}??y?ᩄ??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5837fab5c9e9a0f91f9e2881205ee6ce','e?͒?0??;>?\'?$aߡ?;ӑ?\0/?m?v??rd?C?%Y?L?žd??28?/???š??ѣ??T???&|????d?(?Ⱥ6Zݢ^%p\rײ???+???8	??+???zE??Ƀl??M???Y?R??AAU?){P?(???x??|~{????R\01??Z??9???cdC߃?jՐ_$e6??QSZYa?"*??ZE?g??:??é.???ԕt?GyL?ۨ].?\'\Zǘ?m??o??T)%u7???t????-B%u3??5?8\Z]K;W쎼?Đ~\r??h?cVTp#??T??d??????87Rѕ5#??d?l????f??*????!??ӁLA??\n?ν?o?b?A??]i??7$??????????wa??+gɡ?W?k?Q??BCX????c3P8??????j??Hh+??#??G?@???p?r|??xԛ??F?4)t?\nVB|?t?c\nt3?.??n?o|	+kPnE?r????rܐӆ?7$???v??;??,??????,n???Ê?>mFoJ`ZdI]?1=?P??S~?ٹ?????Ť?n^9O?C}?~(i«s???|?2@#????????W7?c??<=}???????Zi??⇱?b??Y?2??????vlI3I?˛+e~ʎ5?\??????DO?$?????_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:58480f3affc9594632958f16c14d1883','e?K??0??+v|?݆W?????ةmB??{eY2ܬϒ??t,???͋?8??}???e?? ?e??????N58d%???Q:F@4?V??a???p+۱mѺ???܃??+ɥ?]?"?a?2z??2??FWi\'?A(m??\Z?\"H?k??>e??\0?5{|?)?[.??o???_ܙQ }? ?1?Ԁ?+?Іc?l0s?Z?F?=)*C\'jY/]?-?BZ??R?????|??u%>?????.??k????d?Ai???Օ*%???+?=u5????Kv????j?Y*vGN_BH?F??hv`??#۳?J12??????(???c2??%?te;=QJ5*?x???iO???}??Y???{A?W\Z??r??\\g??Z???\\޻0????dQ?+.5ꄨ?!??\rB???c?8+?9???P???G^ig??b??I|?~Tw??????4ɵI??W0?O?&A?#\r???f??tf???i7$ޑdG??????ؑ????}?>?x?F??????_??+???????ŘGqrN?H?j????l?j???Y?7IUE?Ǧ9?H?&M??,oK\r4????C??}c?????????x+?I??(~??/\Z۟%}]z??9?T6BҎ-i&i?}y?eZfy????Y?????&:???<O??}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:58a9815da9c6a3f8d316f53b448e25e7','e?͒?8??]>?fz\Z	M?Ü?8US?-?????	??w_??7????z????݋?e????˄?Z@i??6*:I?&??QF@5?5????u2?~l[?!?*?Axp?5?k???zE???l?Sm6???????A??nc?t\nk???AtZ??\\D????_ܙ3?c? ?1?Ԁ7???N`?lps?Z?F?;*C?$?,?B?.??x!-EA?sg{?뢆??????????B?T?˵???2ܿ`?\0?z???????DO݌G?Heڹd????F??bw???H????愄ٞ??A?QIV???D$W?????Gp?+I??+??R?h,C?8\\b\ns?#???????+6g?S?Q??]i??7$???????\n??wa???\'ɣVW\\j??Q?HB\nC8??~?m??q?VGr?]?!??`_O???????|?qTw???`??4???Wp\n?O????#\r????Y܈? cu?H?#Ŏw?ܑӎ?w?ڑ???hu?;???????}]?.?uo???ع?\\??W???C?2/??y,?????դy;??q?y????5\r/?'?xM???\Z??@o?!?Y??m\"?Sr??????g?????????WM_?im?ՍҴck?IZo?|}??nު???NP4?,?SS?x?0/????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:58ef057c46dfd07a3ee7fbc2af05e2c8','e?Ks?0????p&v???i!??0u;??	p??????9)Y?>?9yi?{t?e??h4? ?ce?c܄ÑN<??	?aP??um??D=!T*\Z?e74\r:\n???	?Q)?$?y?????M???Y?R??A?vC?Tw\nk????J:?_????^\\?ՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?N??&\rEA?W?8??!V??????(??|U?˥?F?3ܾ?\r?r6?L?RRw3	?????\nm? ?n?????G?ki??7?ү?zW%Z?.d{G%{IFYY?x??s#e]Y3?jFf???D???\\kFJI??A@C\n)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K?<?\??N?z`yb?"???;6????0?S?	m=?????>P%?-???Fuo?(^??C?Z??z+!~?t?c\nt3?.??.a??~???5(?\"ن??ߐbC?7??ryِ4٢m?6?w?\r<]\"????uY?,?eo?????M*.җ#??y??\Z?]|{cs????)p̋|?b_e?O??K????2@#?????????۱U?WJ????=s???\'?F\Z???0v????.3??^*k?hǖ4???>\\?/?#?q?gQ??09⡮xD1??oOw??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:58f516fe1c33379da1974aa13a60081e','e?͒?8??]>?fz?I ??N{??)apc?????6?&??,?C?*-??b?6:?o???͡???@?q\0??????UL`??\Z?????+??m??PHO???F?Zq%y???X?J?d??l;???f?????o\n??R???+PX???'???"??????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r???+ف}????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??DOf??;ٖ? ?DVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?|CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#??w?Ŏ?;rޑˎ???N?a?????\Z?????ۇE???b??7K?,򄋴?,?Ӣi0K???"C^???S?I?]0?&E?cɳ??&)Eqn /?&??0????;????rD?,??6>(9xy???5??+i?Ҹ_?S??????ˌ?6痪F*ڱ???o?:V?ss??0?????9IrN?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:59a47ccbfaf8b6b6e9e6d5ea9e36b24c','e?͒?0??;>?\'?BH`ߡ?;??\0/?m?v??rd??>K???LN??d??28?/???š??ޣ??T???????L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕt?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??Y.???pT??dt$+?=?pn??+kFRM?!????ҕk?)	????!??ӁLA??\n?ν᫳Q1? w??ͮ4~???P????????wa??\'gɡ?W?k?Q,?B?[??	??u??p?Fr??EB[AϾ?ye?{?T??'??Q???W???Ш?&??^?J??]??4??<u??۳???\Z?[?tC?m?C?r9m?C?\rI?[??:ن?l???\'K?>??.?ۇE???b?O????8??4???T%Y???????;??u?rܟ??U?9???Hs???+4???^?C?Ͳ??[Ex?????g?;??Ϥ??????????.3??^*k?hǖ4??޾??2+?d\'Ϋ\Z??W9??#B???J3???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:59e7b664a44556fb8dd99fcddc145404','e?Ks?0????p???i!??0u;??	L?????I??֏??C?hN^\Z??/?\Z?=H???n??N<??	?aP??um??D=!T*\Z?e74\r:\n???	?Q)?$?=?<???6???+]m??{???j+h???!e?;?5y?|?%??/??o?Z,?\ZTH????j??3	???\r}v?UC~??٠;mFMeh???ET??5?Ϥ?((?ʚ?????PW?w?p??@??*???F?3ܾ?\r??l?*???T+????\nm? ?n?????G?ki?țS?@??????-???QFV{??HDW֌??Lf???D?g?r?)%???}?)?0u:?)h?Ja/??:r\'??L??!??o-Ш)*ߒ˥C?=9K?<?\??N?z`yb?"???;6??p%a$??V$????Wƻ[?@???op?r???x՛?\r????3X	???S?????O]?????O?????C?nH?!????rI?[??:ن?l???\'??}}}?.n?uo???L?E?1?/?*?xI?%?ȓ?ol?b????????^??s??U^?`2??Ј?:O?zx?!G4??l???ӷ??g???????{???`??eZ??e-??f??Ç+?;bQ?\ni?ey]?q<?\??Y?O?ݱ?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5a1a9048e345cd46615fc2f9e8650850','e???0?y\n?N?p??\r?z?3?E,? $W?n???\07???6?Χ}κa?4;}qB+???e?w?v ?e?~˸???V%8d9+??^:F@T?V??a???q??}]?ua)9?? jU?K?ۻ?E??<z?eDݸ???T?P??4xE?P?f}?d{?5F|\0?)???????ܙQ }? ?1^T??+??\rǠ??0c?j??d??=(*C#JY???3ZR?Ԥ?R/?nq????o?o)??\\LBȹ?D?2\\ߠ4???J??B??????M?P\nU?%?P?ZU??#?/Aү?zW\0%?l?????t???ء?~k??2z Ә???	?1??R???}?ŧ0vړQ?\r]%??_????Tlv?????kP??k(???]9?Jqũ?????2?A??'Zvl?a&~$?ķ????GO?????|??p??\r\rrn???????IPuO?????{?;?\'?X^????E?+???E???H?\"??֪????;Z?f?????????n?\'??20?K??c?9????\0Ia?????]?qcz>`0??\"J?}?iƓ??5Јﬣ?]???P ??ƶl??)??˷Mxg6-?\rY?????k????tO?xS^	IolN3I???y??Ǆ??)J*W??dO?7???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5b45823f8416a854d1fdb2ebe7ea62d5','e???0????N?qS??!?z?3?EZ@AH?$L?߽+n????cqe???%????}2g/?vO????????r??7???GV2?5????Vר\'??JEõ솦A?B!=?;\'\Z-*ŕ?M?a?2?????i?JW/?jc??nZ? (®`Hك?@aM???I??`?????\ZTH????j??3	???\r}v?UC~??٠;mFMeh???ET??5?Ϥ?((?ʚ?????PW?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??R?_?m??T?3?\?t-?\??C?5P??D??\\??l?T??d??????387Rѕ5#??d?l????f??j????????]??}??٨`?;I?\Z??r??|k??FMQ??\\޺0????????ꄨ?G!??-B??кc3P8}	#9??\"???g_??2???䰅?x?èn?ū?\?hTK?BW/`%???wL?n\Z?????Y?? ae\rʭH?!?\r9nH?!?\r??ؐ?rI?[??:ن?l???\'K?>??,?ۇE???b~N??UP?????x????@8p?r^}}}es????Z??>I?\0?\n?F?y?Uv\n&??0????;???rD?,?l??9xx??????i5Ҹ??⇱?f?y+?2??????vlI3I?ۻ+?eV?\"=?19A?ERJ??ᔊ????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5c9eaf1a38a6b40d3c5eee7bf73bae4d','e?Ks?0????pS????cf2+i!??0u;??	p?????y񜕬?z??????y??2!:?;Pڳ2?a?H\'	Y?V?????F_??T?N?K?u?>$?R2wN\"?Fr-??ϣ?a?2???q?n????N?:? h??`L9?n?a?? ?F+??h?????stL??4Ƈ*0?U=\n?L??]n?UM~??YoZcCeh?ĔER?????O??((u??c]TcU?+?r{??>?h?Jr9;?R??? \Z??\\?RZ?v\"Q??ho????\Z?L=??5W8XS)7U솂=??~????Ü?p%?"???a???(??فT?d?\\??ҕo?)I4?!?????ӑ?A??\n?ƃ????(????4~??C?㨀V?Q??\\޺??????N5HꄨN$!?!B??вc?~3?#9?? ??`&_????#ժ_ÏI??TW???g/?4???p\n?O????\r??]??V??Y???]?݊??"?R??EN+?gk??:_????ׁ??>??̋;?0??b~?????dE??ɽ?\'η?\"?{?2????M??MN?w̶Pd|?9n?#Ye\'.p?????@#????????۰E?7J?yL{?k?HZ??????ah?Y????lOks|????[?????}y\'?*????>?;q@ĂWŎ????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5d277a1e7330abe82de23e8fd89fe7c2','e???0????N?q?????cf2?????\\I????{W<ܴ?vW???$?l?rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+???W??Q??QFV;??@DW?????C??+Q??+ט?R?9LC?ߝC\nc??v????{?g?b?An%?]h??7$???\Z5F?ry?:KON?C%/8???X????DˎM@?=????݂????|=??wo???\Z~N?????S?:s???A?\n]????????gy??e??=~??(? ?Vd?\"يV$_?㊜V$ٮ??v??;Y?̑????:/n???Ê?9n&r?V&)?S????!?\'?|{cS?f??=f???+?傧i?!?\n??dz[?v?~??B?h?ŕm?"?%/??l?<?V-?{?~?'??{A_??m?/?T?c?IZoO???H???-?xL?;<V??0?㷗??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5d721ab3cbe4b0fad9dd889a187004d0','?Z???=<???(*?li4=b???-??+q?N?????a???B??۹V????????ǎ?wt???3??8cQ?$S<???/	?76????f$D??J?w?x?'q???l?py}q??_F?-????~M?v*?P\"s?[?~???9?)??'?\n|?9kI?B??&$?mR???}OH8??Z?(?$??\0???C\"$???? ;=???v??}??n??	??DZ0??Ӻ??????Q?{?P???Iw??!gi\"???D???????J???DN?\n????X?؇q?0D,fc?; ?D	???? b0?qFY?M???DC??t?(????̗??H,c??$??#R?)%? ??1SN)??7x?X?/%~??Nm2?0?F?[?T?S???zJ&?r[???yTE0JX\n??????2?V?$?ͦ?C??={??\0S??)?^$*v??????J>a<?by\"%?Q=.??l??E,?????P	E>?2\ZX2]? ?}g??%:?\"B??????3?B??I&?	??iܜU?H?k???D??:v?d?}??ZS?׽?-A????z?t???(?N?lN?C˲?1X??V2??0X?m&???!\Z7ל???>G???$y1A=?	??s???:	w?$?????V_!??-$??r?Yc>ӄ\"?ŭU@?ʗ?!???????V?v1!J?otAa?}jwM?Jְ͗?|?@1n?i?WA?e?|???2???	????vL-??U????Z\'ֳXAm??#??#?)lt??0???\n??????%)?=5>???r?M??|Nj??\'?,&???Y?!?#?????\r???b?T???q?ʈ?ng*?G#?ٮl?BV??J??r??Fa\\????ێ?u??e????o?R`u?U74+???C??K???Ez[H??.?\\?????L,U???5??n???p???????????"??PyJ???I?hQ9\'?M?H?5?\\3)r??4???Ű???6w?Fy\'?????v??3?&6????pn?Gl??,??O?A΀cfa明$?M?ډ:d^?_k???Sħm?????D?U????6ӄy\r;???????X??7˽8M???:>?;?y?^????a^?I??Z?BBZ?#???mF?n??????l?6??A?!Q?;\n???ןvLPB:??y?T?6_g<g[???J?\rOS?c~\0??\\?? r???\0蜇o9ի?Ϩp?5g*erw???\'?esR}G?_kTp!K???m?i?eَ??9???????A?S??\'1?+?I?YU$?m??ħ?9????RՂ???\Ze<??*=??c???3????;??eMb6??^ U\'8X???R???????i?`²4`?	?\\}?/???MF??͸?1}???}v??????Vvru???\'??\nOPJ?ؽ???)s?h??\??/?6?Dyǘ3???7O??\Zs]Fh??iL?տ(dP??ĉ$8\Z?7?j?b6+z??u%???????h`???m?Z?F???? ????8?OO???w=?|E ?(?d?\"???><??B?u5???h\Z7Kh??j5?K?J?\Z??0Ѫz_ᧂ|??2QѼ)ģ??[???*B????g????\'P??b~P??Lo?ٗU???츂$	{?+M?ڱVƝ???3e?)? xCƿ?W#?j=U?g????{?]?\r!?r?{[.??7PQRP{??nm|?r??U?P???v?? @3{??\rrP?8??U?????*?Z?3t???X?~?????P?D???*o??*>C?>ӄ%????38??1\07?H`8c????0?????4V??0??\"K???C%???P?k??r???Q=?J.k???א?U4?&?	P?X?tNbU??Dm>?P??CH=k*7?Ɔ?!$L?7????+?ژ<????Y??0̍???????R?f??a?Z>????uHq??<??+?	Ϲ?Pdw!*?Q\\Y\0Ty{!Zf??Ri?t?\\?\0??????(?D^??f}UW??$????׸_?`)??}??-????F?M????4C?????1R??3$??WW??ϛǟ???zWics??B?s??o8w????ݕ???.??1?Qr??y|?R,F?2?????b?????p?3?h8p??w???????QML3?M????????#^z??R?x?s???+?'\"1?,????C?w?1?&(8\n??#???`??5??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5e761766403bc12c3ea5451da24c32bd','e?͒?8??S:%Ygؘ?y?????T#5?AH?$L?????xpqS??????Tl?^F???\?4ڽ8??0?4\Z?ʱ*90n??N<??	l`T??Mc??E=!?\Zne7?-:\n???8	?Q+?$?zy?U???m????R??A?vC?T\nk???wJ:?\\????_ܙՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B?.??!-EA????!V?u%;?????.?D?k?Í?f?A??l?*???Tk?=u=5?AH?%?P?NF7??#o.1?_#??J4?0???G%IF9YY0x??se]Y3?jFf???D???\\g&JI??A@?p	)̝d??R??rߜ????Tlv??????\nh????c?=?H?????N?z`yb?"??m;?\0????0?s??nz??k??}?J?{?1?8??>NQ?\Z???&?6)t?\nVB??????a\\幫??oG?\0)?\ZPnC?9?iG?9??#?;R???>?v??;?????????.n???Ê?w????nʤN?~*k???7PBQ???tj5Aє\")?&i??)˄??e֤?8??e?F?????9?Y7v`??<=}??????ꙴZi??⇩?j??Y?eFZ??U#??f???W???3????????????f?x?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5ec546c36c6dc8f8ea3bfbeb2baf80a2','e?͒?8??]>?fz?$$??N{??)???ۄ???l M???Y????~*???????P?7???L???????L?8?B@V1?5:0?????\'?????CӠ	?T????\\?D??(bX?ʟdk?jڰ?6??Wƺ???o\Z?t+S??+PX???????\"\Z?h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?;?T?X?ԕb?OyL?ڤ?\\.Ŏ7ǔ?c???57??V??IT??G???A*?%?R????{?`?)???J?cNH??????a???)??ّT2?.v%?t?;RJ??y\"??kLa?$S?u????lu\n0ʝ?b??????:*??T?%??.???,y??s\r?:!?IHa??>?O??4N?B?N?ۯHl+?????g?H?\Z???p?r|??t??\r?ziR?\r?????i0?ø?W??U?\r?	rVՠ???ߐÆ7?ܐӆ?7?y?Eۨ??6?x?D????q,{;?????NE\r{y9?./?\"Ev:??Y)????͝ZLx]???,IE??"?Y΋.??h2??-Ј??@?zx?!G4??lგ????_Ӟy?^??V?????0v?6?*???ksz????[?????uDq<?b_?R?s}F??#/8??ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:5fd7708fbe53061a3d094adb4b3706a5','e?K??0??+v|???????;?F?c??	M;??rd???Y??B?e\\?Ɇ??h^?	?????@?p\0!-+??Nt??!+Y?\r???i????W??[َm????pd??x?U]I.?z???񃬕m??J;?Bi??AB]?\r?;??(???8?a??r~;T?????\0!????Y??6Cd???kՒ_$e6?^?Q:Qc?"(x??I???zet?s]?c?+Ɂ?????uA%?\\??N!?Js??g??T))T??Z???q???P?\??\?#??;r?B?5R??D?3????(??#+?z??v??+?\'RM?\"ߕ??Е?D)ը8,C??\\|\ns?=???????;?g-C?^??]i??7$??r??j9G?ry??KO.?E)??????7?|Gێ-@?=?ď?\?tC|[A-??y??}??T?q?'??Q??\nW??.?$???^??]?Վ4??<w???X???fe?H?#?w$ۑ|G?9?yG???Q????>?????uq;?ֽ??y3????\"N?4?b?<kN??EV??U??`K?V?9??????<????n????#?b???rD?\\??m\"?Sr??????g?????????gI_?im?????cK?IZo_?y,??.??T??QCZG???J?(???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6013519daf0af01b654cbd71a6a091a5','e?ێ?0@?+V~?????C??X?\Z_\0/?m?V???\rd??\"???????U?_/݋?e??|?K8???=???.θ$???5:???ѷ$\'?????>$$?\n??Dh?`?kŻ???<?E*???Ʃ?\r+Yc??{e?Kb+?U?!?nƐ??d=?o??>?\n??4?pg΀?????Q\r?߼j??u\\&φ?7????:cG?ih??)?$w?4<???Й??????U?????B?D????1E???X????+fJ+?$?2?=t3??V?P??Rv??+9ZS+7g쎂?$?~\rX;h?#????.??*??/??x?bɔ?#???p?*I~?G??#?$??7ADoC?!L??drڧ???,_??N??0??퇵?}Xh&?ɫТ??XY?r????H∰??Mr?;	???u???[r??\"??`f[O????#???N|??U7?Qo??\Z?R?X?8???h0̀͸짪~???????A??H?!?\r)6??\r9oH?!4ۢ????M????__???X?1ߧ???(????/J???O\\B????ZT??d??5??8?<g?8??sY???nm[?????\Z?7?#+?\r<=}???s\'o?J5??=?c??????86???Zi???$??/o?:Tǌ?-??(;??b?I?x?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6033bd8079e898fb46957398985ce9ff','?Z???=y\nֵ;S!??[̦?????fف???[v??\\???\0?k?_l?$_c??T?K??GGG??;:?w??D??(A?L(i??ͭ?$،ь?H2?I?soz$????????l?e<??}????)C?%JdNsۿ?????e??\0Q???g-?h+ՄD\\?M?ZE? ???u??ME?u\r???8$Bb?y{?\"??????\0f;?????1\'??`?W\n?uI?????U?F?R??????B?D<	c??نK8??L\r?????\n????X?؃qkD,f?[ ?D	m??? b0?qFY?M???DC???(??????̗-?zH,c??$??#R?)%? ??1SN)??7x?X??,%~??Nm2:5?H#?|???\'lq=%?<??GS??<?\"?,?Ls?&??C+	}?Φ?C??={?S??)?^$*v??????J0???<?????m@6?\"?OO????p?m??\"O?-??{?????y???C?G|V???V????????4nN?*@?a??5???V?ɅZ?K2?q?>	Cz?)?^???Gk?J	D=o8:??J@?N6\'>ġeYYG1X?ֹ?d?!a?2?^O??h?\s?hj??Β?u?&?????of4j$t?)?`?r?l|KX}??6??<?ʝf??L??_ש?&??/m??+{3??cB?d??????R??a?/m????b?Ӿͯ??n?ҁ--e?荃\0f??C?N;???*?N?}k\'ֳXAm??#??#?)lt?n??l}?,FEI?\"ܒ?\n?>5>???r?M??|Nj??\'?,?????Y?!?#?????r???b?T???q?ʈ??T?[?Fr;?]?n?:???,?f?????¸??mm?;?խϪu??ꊎ????+?hV?Q2????????&???y??\~!???q?\Z ,U??{m??e?????W9M?B???H_?9?޴?ТrN8??"??Op?P?`?rC??SxS????׹s5?pq??dO`Wo?#jbS??n??????0?p?,?Ӓ??v??W?kg????C?n??V\"ɪj?R?\"?i¼?J?+N֜?X??7˽8M???:>?;?y?n????a^?I??Z?BBZ?#??\rی????\r,,Lρ???Wl????~=?D?????^?A	?n~t?P???q?eH/??*?Ǔ4t\\?M????P?b ?}	?SE??@?|˩^r,???L?ܻ????Z?l??{?F?d?yٖ?????2?3N?9??*??????T?EQE??і?pI<\n?????w?$UA8?k_??;3P??!q?>?w??U????8A??I???????0?`>?j??wv?????,??U??????o?rl?????t???ޮ??U??\\]8??lXv?Ɖ????J?|[???"e?-5?K:?A??(o?s??p?!?A??	׵a???????R??B?\nK?H????3O??f???'^?|_W?ʸ,51z?F?o???h?1N6:	?S???n?A?z????\"??H?*\"?Z??????\'$1??#?.???ľ6*A???:??????????vM???Dx? _??LT4oE\n񨨆ekï?:Ξ\"d^\ZA!/#?t֨?xu?)??;?F????ڮC?ʎ+Ȕ?????W;V?ʸ5Ut??+ e?o???j???\n???x??~????U?w?c??()?ݾ?xm|???U?(?v?V?j????݃?9????Ҫ?F]\')<?w+?Z?f????\0#?ңn?ڮCA}A?Z{󸪼?????L?,?DK???\0???????U?(??K?????,???8\'B???????ʑSL????(???o??u$^C.V????&@?bU?8?U?\Z?}HB??!?tTn:?\r+?H?xo?,x???W&?1y??????ص?`2?k0?????r?C3??U?|??\n??_?(.S@R??s?\"????E???Be7#?{?*?0Dˬܹ\\*??.??47?S?^.|x\"??y}?Kך?U?V\\??,?N|??^?ł??o??K????p?k:4?l??????H?[??????$3\\]n?o>&?f????<??j??C?\??ߕ?O?8??18@Qr?j?y|?R,Ʀ<?????b???????f*????ݛ?pp88???R+Ew\'??>?%??:>?v~??7??x?????\Z?g?W?\\??~\"?`?? ??`w8??G??#|4:\n&{?????=<\n??w:??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:60cbd107a09617460c58777f4e5fdf0a','?Z???=??kw???n.???B??n??2UTJm??ly$?/?<????ȋ?k[6aBMI[?.::::G?p_??\\g???,J?$S?\'A\Z{??xs?	6c4\'!??P???\???}??g?????[?L???? .?ʐ?S?????~???c??#@T?YK?\ZGJ5!?o??V?? ?Ƌ\rh]?dS?lA??8???o?8?H????o<???????o??	??DZ0??Ӻ?Iv8?eo*?[8??? ?Mģ0??1?	\'s?鯡?=???8Aa?Zzx$?9?`?\0?ٔ??? QB??x3?1????Q?J?10{ѐ?.]%?}?+???ǫ??$	Fv{??3JI\"Hc?ř?3\n??^?3V??+??8?3??^\rF\"?r?*{o???)[^? Oi۴?Jp?\GU??H!?\?i???JB????\'a?6???q???????ij?%??؇XK?mT??. ?c~??\'?@|8a?TB??g???HW??f_?{?DɇΩ??>-}?{??%g???;m?{\Z7?A ??\Zy?k?J+?\\???r?????)????sqKУ3J???7???\n?S\'[?в??D??6??;8$vfې?|??M?{N?0MM?????<???u??S???:	??$X???V_!??-??t??c>q?߯??@????;{3??bB?d??bt??ݵ?*Qö^??rg!\0Ŵ??}?]%??[ZҨo??|???vJ-??U??????? 7M???????\n??fk??ĨH)??[?R???	H????????p??"h??\"xA?5\r,????ذ|??????&#???[?F?dU?Z?:?4?ꔦ?r??Fb\\?J??#{Q-}?g)U??׆[\n?^y_??YF??FXڏ7J,?,l!Y?????s?wq? ,Y?ӘA?5??DYwy?a??????????"??PYR????Io6@???x?`r??CA??!6`??m???\n?n3纗?pq??dO????5?)TʶĹ?9???^>?9?=X??a:?`>5mj\'???׺:ח.?O?a+0\"oe??&J=O?l?	?Z*??ŗ????X??7??{M????:>?";?y?~????a]?E??ZB!!,??Z???d?c?Ad??O~?+c??????C??vpww?????p$7?:??r?~e?θΎ\Z???,??4t\\?M????P|?r?>?ș??\0?s?????{???ֽ?݁?O?%?P}G?WkTp!Kf??m?i?eَ???_@?vE?Pɠ?)?????????*?͏??ģ9͐??e????\'j??d??-%??;?웿?q??\'(?5???z?T?``?\0??H???Z?>????\]??A??&w#?f??>???;B?0|1??g?r??s?_ˮ????W8@)???zy\r?-R???fsBg? H?$?8Ɯ?o???E?P?h?Z??jާ11?T???A.??\'????n???^????J\\???&F?????#?5?0#?f\'A\\}Ž֥	?/O?n\0?w}?|E??(?d?\"????s??!?цZ?It???%????r???=??J?!4?????E??\n?j?????????????F???\Z?5*??CJD??l?/2???.{YmסC5?K?PCP?i?k`5?c?Tt??k 5?Spސ????ZO?Y???????i???p?????^RP?C??????=????_???f&v??Zd\\)-?E?U???IaYw?[i?C?@???0?WZ???(?O\"?Xkoו7vB??u?i???9p39??1?av??p????ؽ?????%h??ha?M?6???J?!s???e?????z??\\????? +o??M?\\?+?0??U\r?*>???C==?Nb?n?&ޛ??NQ?+?z0y??þ??ؕ?`1??~?????r?Cs??]?|??????x<1W*???s?ߡ?B(Tv)???\0??B????????$??։ji+6<?R?<???i??*.??$˦??׸_?`)??}??-????F?vM?t??4G&????)R?n?S$??Ww????G??H?Y??????1!???7???g?l?n??'?Nt>r??(9Ri???	?N)???mtZ?~?`1]M??J?b&8?2??p?z?7\Z?^??V釕?;??j:04S?b?z;?nxț??r7֌???????KW?Db????S?;F?/??h???>>?`m?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:60e1ac46d7c0606644fd0bf159617d33','e?͒?8??]>?fz H????jJ??;k?0٭}??\r?Iq?>K???J?"????훹zi?{s???@*Ǫ??	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???\\??l?Tr?dt\"+??pn??+k&R=??C??+Q?HW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹvن???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ې?;??iG?)w??I?=???N?q??????x_??`?a?5o????S??Yʳ????<???????'[:??4?3?Nysم?V???O.y4Y?h????=????#?eqg????????qϼ?x?^I???\Z(~??o?}]f??9?T5Rю?h&i?}?pU^	????<)???F$u??.EZ?,{??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:616f767f012942338537f315606455e5','e?ɒ?0@?.??x<,?9?USB4?AH?$L?T?=-?.n?Vo4??4(H??????+iN엿?????raH	S??SE-??TP?X??׵???*nh)??6CӀ?A?\Z?\'*Y??	κU?0sa?\"|??Լi?W*??K???j??????-ݕbX?w?jY+????mAV?ʴ?¥?\0|\Z?5??x3	J3?r}O?T??*?AvR???n|^?IWj??&\rF???Zu0Յ?.V???`0?遞??x?K?ݍ???A*FY??VJp?ĩ??uk???Њ?*?k?T???؊????~\rػ?b?ɑhV???x?(A+\r=8?j̈xWZ??\Z???]W?~?W?U#?T?dt?>????:???ŰWnۜ??:??lr???l?Ҷ\Z???m?څ?u??%????WG?=?>???O?m;6??7?S?\rqm?r???Keͣ???{?9?؍?>N???m??F?4??F5????#T6?"O]?aRX=?\'IQSa6$ڑxG????#َ\\v$ߑ0أ}?>?w?<\\\"????uY?-?eo????LiE??:???N??Vu?Uq?????;???^g?0?3*?\\2?] +YY??;??m?(??????:???H6?<=?|;?=s?^P??????g??_?\ZpmN/5?c?I\\o??8i?????(?/I????AzNH???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6348a16a9f61be478ffba1646f590daf','e?͒?8??S>e??	?4?9?U)a??ؽ?iһ?ﾲ???Y?%Y_?SV?~|<?7{\r?Z??|??qޣ5؃ҞUَq%?d(aЁPRZ??O(?N?k?M?>$?B2ON\"?FԚkŻ??G?U?$[?ӆ???A??\n:?!h­`L9??aM?!?+?????stL?	?4??$~?????Ȇ?7ժ!?H?0????2?J`?")D?n?YM?g??z??S]TcU?PW??<?=?h?Jr?;?S????[\\?ܨRZ?n&Q??R7C_?k?2??+?\??Tn??{M!?=P??D?;渀;ٞ??^?ё???_???2H??I? 3??W?~AW??#?$??? ??????NG2?W)?????\0??*6??QoHCZG?z?*??х!v???%?Z??AR\'D=p<	)??'??????{XHɩv??m3?zy?r??R??-???'Gu??(]??6C?^??z? }?t?c\ZL3?.??>cUp~??U?_?bC?rؐ㆜6??\6$϶hu?\r;??oϗ???}Y?.?eo???XQ@{̡?\"??\\`??]????͝ZL?s}?y?u????2??"??<?uy?&?????????rD?,??>(9xy???5??+i5?_=?c??󫢯??6??*?4??f???_??PB~?\0Oy??s)eM?$??L?|??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:63506c0bca5121b37b31cfe3573b3507','e?Ks?0????p6???cf2?X@AH?$L??{W<?O??}i?E?gQ????h??????????!-+?????`?H????^?^%,?2?e;4\rZV??s?U)?????,V??VF4?[????MP[A?	UeVЧ?vg??&?+?u???U??3\n?O??4??jP?jE3	??\r}f?UC~??٠:?GEehE?!???8?%9?ICQP?Nu??U???$;?1X??????)??Q8??7(́??|ku?JI???x?xwK]\r}??E??j?????G?ja???ү?zW%z????m????`???)???2??%?'td[=RJ*?x????iO??m??}????!@/w???4~????????r-??ua?gɢ?k?QB????Ѻc3?8??????j???o+???/?????J1l?$???x?E???\r?ri????????f?a\\䩫?l?ng?1+j?vE?\rI7d?!?\r?$ߐ㆜6$??hu?\r;?o???}}}]???~??6??EQr??JL?:??O?!??????ZL?9???CBo2???L??E?,?????#?l??????WW?c?o?<<?|{{?k?Z?????a?6??.=??n*j!i?4??ޞ>l?/??e<*9?.ӼLc^cz????o/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:63c1067bb3a5b915a9bc7a79ab3efa2e','e?͒?0??;>?\'? aߡ?;??\0/?m?v??rd??>K???L?<-Y??틹xi?{q??e??h4? ?c?Ǹ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%ݱ??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4????G%{IFYY?x??s#e@?J?J֌????C??/?"%ך???9???BS???????{?g?b?A???]i\0?;$???\Z5Uη?އ!???%?J^q?BT\'D]?<\n1n????????XHʩz?	?=?zz??>P%?-|???u?^??E?Z??z+!n\0???hy?7?g??????5(?\"?6?ن?Rl?C???u?\r;??lO??}|}]V??`?a??v???s???5???\\??E????ZL?c?W?1KP???????p?c^?4??h???=????#?eqc;????????wx+?I????~?/??%}]f???T?і-i&i?}ys?<?EU ????1T?rR|?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:63c9700f9dea670261d0abb6ede29a30','?Z???=?^aw??????1pg?<?;`m#`K??6%jH???????[$u?(9?8i????X??(ܣ?}י#?A??$ɔ??ƞ$,??H????$??$??@b/?l?pqu~??_&????'???2$?\"?D?7????l}??<???s֒<?ƱRMH?ۤ?U?x,H8??Z(?$[?\0?>??C\"$?7? ;}g?;>??9??????1\'??`?W\n?uI???sDw?!gi\"??D?نK8??L\r?????\n??? ?̱??X̦?=t@??ě??A????0??v??ٓ??u?Q??!?????:^\r?X?\' I0??G???QJA\Z?f$?Q?\'????B=]I?ǡ???0???[?T?3?L?jFyJۦ-GS??:?\"?F\n??ZM??Z?2?V?(?mL%?:	{ v??>?h????x?(߁??&?6?6nU???}?剔??u???9??|dz\",ć?lمJ(??Q???{??8{O??(??z????B??I&W	???\U?H?k䵮??D??;v?e?|??nS????-A????ް^??(?N?lA|?˶?1؎?V2??0ؙmCn\'?\nCd???>E7??$y6A}?:?,ȇ???3\Zu??I??9?6?ŭ?BP[S?3??\n?_׫??????v?f8Z?ń Hɾ????kIU??m?t??\0?i3M?6?\nJ,;?;???Qߠ7X???9?2\'??G91??Z֓XAn??#?<#?):N???֞?>?Q?R>?$????'??.>????I???9?E?/??E?<k\ZX?\\i?a?>-??????F????0???Ȫ?5\nuX1h9w)(M?????ĸ?????eG??Z????????r?X-??A?&????'8???o?X?+X???Fs??%?9@X???1?vk?/???p????W1MO?B??0?H_i????,?"??_??$Cl?????7C1??l??/o?0?x??BUo?#jbS??m?s<bs|i9?|?rr{?\n3??|j?N??}?uu?/]???`8D??M?z???T(?/9i9????o?{~??,;M?u|?Ev&?N??!?úR???5?\"BBX?#???mF?n???6?????W??w?v?rO??????c????????:?;j ?d??O?q?7??>?@?Cȕ?\"g?J????S???\n?93)????v?>??(?A???Q??,?a^?%?1?e;????S?S?!B%???/?bW??\n?(?H6?zd\'\\?B?C?~?*??u?Qƒ????8V??;?o?????C??X?f?0z?rRu??U^\0|0?C\"?k?;;h??,K}?*r\rt]3??܍\\?y;e?P??\"?????`?;??\'?玫??]?q\"??p?R*_A??ZR[???+???A???H??p?9??0O?y???~є?B+ռOcb~??E!?\\H?%N$??W???y?ټ???=????1.KM?F???o????k\ZaF???????{?K0µ^? ???0??????\'6Q\0?E$V;??>\\??B?\r????h\Z3K?A%H??g{1???h????x??E??\n?j?????????????F?????5*?0ޟ@JD?a٪?dz??]vTmס#5?K?PCP?i??k`5??Tt??k 5?Spސ????ZO?Y???????i???p????*/)?ݑ?nml펋?U?P???w???A3??\rrX)-?E?U??????;\ZV?5???<???\0?uG{?\n?<>???卝P?h???d?\"?P?Nmn`?]$0?1?v?\0v??e??{	\Z??Z?zX??????G`D??=??^r?ib쨞??W5???????mk?(W?:\0\'?JUC???$??BOOŦ??av	?p\n^?(??I=?<????Q???̍X??????R?f??a?Z>????yHq??<?4W*???s?ߡ?B(Tv)???\0??B????????$????V.lx\" ?y~?KӚ?UT\\B?I?M#?g8|?q?b?R?7???Z?K%?ٍ횐???h?L?eS?ҭ??H?%]?9??7w?????`?zWisk?B??o:????ܛܖ??:/???9>@Qr??	yl?R,&&3???p??b???????p?7?d<??x=??_??V釕?;??j:04S?b?z;?nxț??r7֌???????KW?Db????G??p?tp8??!?N???hw??N???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:651162d82bdadb79998d3ef11d6918b2','e?͒?0??;>?\'??@`ߡ?;??\0/?m?v??rd??>K???L?_?~|?s?h?????h?*???qg:	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH?????p#?????b????)????TS2s6t%??3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]?????w????$ݐÆ7?ن?rސbC??m?N?a\'۸?m????????a,{;???f`?:9	?%?/????q????`s?????O?b??LsĴ:?y]?d~[?q?~??B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;?????????;%I??sZ	U^?(?dEr??O_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:65138cbd0a85a526bc23e221a4523467','e?͒?0??????	!aߡ?wfG^???4??Ȓ?}?d?!lg?gݰ????8???t_?2??n;Ҳ<????????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺒l?o)??\\T?˹?F?2\\??4?|?J??B??????M?P\nU?%?P?ZU??#?/!?_=??\0J4????m?t??R?2ء?~k??2z Մ???	?	]??R???}?ŧ0vړ1h?Ja߹?q??VP?ٕƏzC???*??cT?!??.???$Y??\r?:!?Aap?>?O??$??L?H????o+???/?????Jѯ?$>`??+?8E??\Z?$?+?????Ꞇq?Ǯ??˝???@?IVd?\"?IW?"ي?V?"q?F?u?:?x<G??????_??+??؉?I\nVY\'4IEqt.?y?}??????S?	??}?ȓ???Qq???o2?-5Јﬣ?=????#??ƶlᝒ????o??g6-?\ri???⇡}???u??R^	I;6??????a?~L??e??X??I?M??c????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:659560e621beec847852bef9f51e9aca','?iw?H?\0?=E?\'\'m5??\r??@h_????"$???????????QĽ?ܸ{!?????}Ru??'ei??????????<q?)?EG?E??%^?????	|??.x??????(???L?&^M?vL??ۓ???????a????Bѻ??u^x~%??g4?$?b??????Ht????b??$??V?\0??=???Y*??J`??=???.I???A??MR?q?9?$K?,?J?gK????s*??vZ?g,??????9?I?=`?d??z\r???.A?\"(?Er??T??????\ZU%hT??䣂ְ9?u?SP???Cr???&?????:?0?cX?[?:`\08?f??~?F?f??Tr@????'ǵ6h?h???x??$j???uα??2?1엟Tf?????\Z?.~????Y???ݖ?`8??:??c~\0???K???;???H?$<???U\r*_??~???w???1u??$Sr<ζ\0P?L]U??	\n?OF??lʚ?k?Z????`ٌ?po&?V?N<قe?==q??po?5z?H$?`??tձ?ې??}?<?3??????`Ɖ?\'\Z????l?HF?}{??f??hq??&???߂?XGH:?TQ?	?R???Y?????????\'?4???????ԞTA?l??o<`N??????6?82??xl<?V(?n$tQ???,@???c\"?????L$?\'׌?/????/X!??\0\n:ߏ?5???~?ѝ/?{\0?\"??{{?Gl{R???,O?%ԀI:tN3?D????ʹ|x??_0XdO?`f???v{?G?\0????? ?<??@lV?0???n???\0??i?~?p??????*?0x??}????I?y2L?/%????#?4????~yr4??{??z_!??+?-?廒\"??À????P/*?P?zK?????6@?????>??m?Дg|?\'[o?KxH$uS?\n???	??`d???c0?X]P?F??9???\n???}5?6OZ?H??	<???E??8ޤ?1\Z{??K???S8~Kw??&???M??@\r ?|?\0?\0Eksh???5??\r???Y?<?L??????Y?ك???P??~??<?l??^_~??Z(????Y??=Cw?.??`??z^???8\"^?????c:?7?\ZP|?=?KaCe?~?o?%1K?<?`???????WT??<???4?m=?Æ???<Z?D???<u?Pg???<c3???fjs??}{?????_?[?????JF??1a?Tp?>l??m\07??F?w?B	??\'sw?z??z???1?n?z0P??}?\"?,%߼D??)????poo>?z<j\'2??»???~\0?????=???ٗ??\0\n??G?????c?????????v??3????4B{?????\0~??e`S#B\'?O??EKT?7???[8Ǔ?ޢ???{LF?<?+?n???????}?]??8?yx>??W??0Ym?Š???.??'??B??h?չC?R?z~?2??hi?v8r#?m????????P\0;\\t9\nw?w:???f\nK????뱀?w??	w/?Q??:@s=??Q?r????n??"[@Y?m?????\"O1?????)_??|??????,??????rZ?d8pV}???~?)?????.^?????}???ET{<???1? )???\n????*S? ??\n???	??????Q??y???\0?	2Iv?U|?/?qR?n???\?y`??????ʁˌ?#??\'j????\n???˩???t偪?ט\0??_?????tС???~????????????``????\'6J??`??6???U?_?\n/Z??????m????Io??.H??????<}9??x???X?&h+h?r9??/`?w@?N?,??`>??Z??\'?gՏ????q???x?>??????`???F^?J?Pr??X*p????T???♭G^????ԅf?z4}???>z*??0&?81?{ٜ??{????h???s???S??fu ??9 ¥??tS4?s??????K???fsa;1??W?l0??0?G>o\0??G7Λ??sτj?C\'(???	Q,ȿG??>/?g?+?f???@???i-?c?逐?/,?$Sa`XO?p????$؏\"h???2M??z??Fd???}???Sc??<???9??J?n/?<?xY?}<??C?}\r56_9??q?O???%?Č??????J)?-!?N*#???FE????P?K?\\?????~is???=Uy?a?Q#v%??M6??I??*۳????vi?3e[??`?+m????\"??Z#?o?)???$I?B???U?|????2????-?h?k@{݄?%#?O?p???zL?3&?pƯ??_?|x24????E)??????Ex?H?a??e/???*?,x(?=?~?#????s??????sQ??Q?4????VH??Ԇi?5?u??"?Z!f????ZV???G?^#S???y???迾x?.????/??Ql??O fn@gVW??,f?r?$????7??.5#??????????>uעD??)??\rR??!?Gr?+L?Ԥ?9A??_???JR???Y????Uk????RR˃Eߡ????Կ)???????3???KF?L.?3?٢}\r??I????nϡ?=?Zo???????>;9?D?ت????>???ٔ?:Zc!-?\"??2.rP\\?uw}P\\?<??K/+0???܀??_\"?E??Lϳ??a??Po)rvL?3??t?]e?????7s/??;??rK????Gx?\'???Y?挗??? ?\'3?1f?????ݳ???#77?ǭN???p?N_ue???????o??l1?X#*:?????y?kB?9\\????n+?4??s?A]??,}?b?o?n#e???)?&E?z?"\r\\??k??L???KjZ?ӛU??Yv?\\?¶???m??"??T??r??&4-??jM.\\\nn?y\"?Ak*2˥?r{\"l?uM?y~2%\Zk??+??\\????ߠ??_?=7???~e? _^猸?ҩ`??????9v򂢿?E)?2?ֳ??O??Ӣ? r??V??????\\????Bu|?5?Lnm?7FӢ??STǄ??d??????F??[??3?G??Qe???\n??+???\Z2J??2??y??8?G?_????.w??0???d??o??<{???,`A4??t{????+????????????P?`?t?\n?\?I?h>w????SbYc?O?eô?Wm??u?a?͞??W???Qn?hy?????r#?5*??|?????l\'-Z??P[D?$?$!?tg???D.???Ѯ?g?I??*??&?nʬ?\\?Gnqg?5mf?1?]?????\Z]=??na??f??֑??e???k?????-?*ۡ?????6re?????c????TR???<`?T??ަ?%?[[?`y????N\Z?Z?Qּ?\"Z?g???B??i?f??????3N?v)??z,?%?cn١?e?n2i?a?[-l???r?X??^,?m?-?ee?t6?ʄ???4?!?L??SkӚ?s[ںx???4_*??L???Uykպ:??6k~?&?:????q?2?Z????f??o?U????Zlk?JU???i?vrd??%?H?5bX????zܜ-?Z?>??iD?K???VC+M?zѦh?F?SY?f)?9\'?c??S[?K?9?+??r??dΘDo?\\LE?-rD??\?z?9????V?]?2???2?M?ܶ?YMLm?Ƙʺ??Z?`???e???[n@????U?ܜV?ʭ2?W?3V????zJ??몳(????\"??E???{Bc?(?i??+?u<?j\Ze?Q?????????K????:N?S]?Y?<0L\'_l?04gf??????͵Z?!aq?Vֹ??Zv??ݍX???Hw????K?x?]c?\"????6(<G??*C?r?`??4G???^???d}8???Ⱋ???%?VD???Z????m??m+??zR?M???e?.G?s?DW$	e?*L֛?\r9?*???ז?em??0b+?!b???̗Gޞ????E?47??I???:.???.z?J????o3z˴{?????uGi????????Xg???W??\2??]_N[eı??G???rs7qˊ?,??%?????R7????A\Z??KTy??P?z??J?7???BB+?6??)?P?ۍM?g?DҬ?VS?T/N??B?????id[5?8?&????V??+1ek???ٚjf?t?^?;???Ƃv?]???l?r?=???CH?6?,Ku#?\Z?U??O???ƶ?\r׈e???3J??\r?]#h???rO???sXzՐ?i??????YBlw?/?w??P+???iQ?"??????Z??A??S*??=i\rRe ?ds>ˢtN??nwˢ1???)H?5Ie????????????s?.???n??I???;??i;?	?t?/K?D?????wB0?:4???a?7?R?}??X?^N?bf )_?H?3???>?9?nݞÕ????lҊ??-????PJh?ZX? ??]????{???<[Vi+???e?i?????vs,??????5u!? ??Ͷ?X?????,?"j?^??4????ȎLUS*????2?????J???7]bК???^ِz?????S/UC?,?C??+??\\R?)??Gl9t+4??\r?Ū??M\"???Z??e??B?Z?U\\?????:1+p/?K??V??sbi\\??tiu3d4ӭ?$??J?ː??:??\"Յ?\?\r?E????n??O?ZYT?jJt׃Ҙ???Zno?%?u?%ediA?????j@?	????T-????M?J?Dv)??n?Lr?K?????@?̼[???dbQx?I%m\nւ??\n?嚧&??e?;R#M??j??=?Uݭ?͎c?OƔ??????\Z֧Ts?˺9??Yw?	-?Z^?)+?g??6???Z??Nlo??H?Ԣ?c*+?Ʀ?s??>??Xr?=??s????zWA˲???4`}?!?Qg???? Ў??B?o?ux????;s?gx\n????Z??F???{?m?<&M??????1^Y???\nA?2W??3a?????N9+???u\'uĖ(?tmb??c???9?ټ0?W?m???bk??\r0???Ǆ?9W???*;DCr?2??9?????6;[϶?ָ:???>apibla?:J???0??Ǒb?g?\???k?V????ġ4a??wg4S???\\??*5(J=g?????Ʈ۰??\Z????O???[?oPzJf\\w??l?ފ????9l7??b??ݙv-?U?????	?Q?D?&yx???m??SF?-`1m?3????e:????kPm?馊?@?jJzK4M???[i?ZW??|??w?N??f:\Z?\r?^\"-????͋?????Ҥ+?]z??[??`???O?yqX?N??V??jy?m?Pq?'?6?ڰ?vg\'??z:?M?ot??4???CQ???5?g???j?????J%w??=??$?JeE?{?52;k7nb	:?n?bT????u???ť?\'?Jt1*??[5???Ei??X?k??:dY??{???^IC?N0??????6%?FO??6?V??Yss????????Ď?4g???kiV??V?V?y?????vNM?jCJ??B?\???騹?H`?%,?O(:??ٚL?U/e?<?!O??Ue??d?r??G??\'??C?+?ֺcC??q?/X????8?U????Y?)]2???[?"f??d??4o΢?t?f?T*?X?Uy?s?bB[?m+?Z???x???̪????f7?o?\'Eͧ?R?Gn(????3U?YধS)I?\\\n?H??Xu?vpI?}????0?[z!???:m?%??hn?ǹUi??P??3?"W????+?<?g??????<-9%???[???T;??f5?u? ????4=#?S??ts1[v\'??g?fZ??Z?ȼEdZ]\\?T??8?4?y???!?"J????ebZB?M?X%????0S?\Zz??????W??8?'s??͡v*7?:??B???Τ????EZy?ԭ??A??"?AN r??\\?^??i\Z???WUw?]u?I????\"G?Z҈\\M?\0?-?=?@?L?KEqN?cR??JgE!?Y?,Dlw-?2?\n?????u???6?>?U?????IC?\?!??5 ??$?x?????ʁ?r\Z??ب?&)?ﭫȲ????M?:?f\"ֈ??0bU?E??ŕrFE?)t?n?|?43\\????Աa?M{?\"?8???,b7l?}?i:??????x?<u?M?Ӻ?1D??\?*m?:4??pt?Z֖y?U?7:?J???<U???jh[Q_?i????K1,?j?;??5hn?&?[?????Q??????F???!\'??@?0h??V?n???.???LM???֊K?ޙav֮.?\"T???M7k=???t??	??I_Է?????)?7?e\'???&iS?<xЈ??,??ev-9??T?t	w+???(???T?\n#?,n?s{?????3? ???d??fY? ????yx\\???3:!??Zc?]?QF?;y?o??????=A??糴;? ???r+?\"3-g(q??Ë?	,m??ak??_?{???A?ʔ\Z?????N*yc?f?D?"+????h:-???$[F?6wZ9\nu??+=?????&E.\rt}v???ťG??m???6?Bnd f??(%O+?#??2Z?+??Lc[\\e*+[?tz??}h1q?͢h??H??N???????u?\r721???2?K????jtF????)H?rS??Mp;?m??6??])p?7A?/????/A??(??v?\"BZ1?Y??Sjs밫?xژ?G%??l)6???:?X/??%ԑ?Z?2u?`???i???uYɳ@?Z?ʖ攸?G?Fۺz(????l???DuI?ζy?-?-m1??=??e??Y?.*????p5SmSYi??3%u???SU?*?ݨ?>D????<??5?NP\n?&*??r?E?a?Z????ֆ?EO.??v?NN?)??I|?96???Irh????Gf-??w5B????g?,?A??^˭???)??r<?????g?5+?C?j??!?7?k??5sexB??8,?rb?p???S???@?1??k?]?U\r??Fkq?^?:ϴ??\'/qn?ʥ?\'?Je??T?Ɔ??p??b??h????ҟ???J?i?0?? ?|1?r???+\n\\???????YpGAY?\Z?g?"$??????E{0?????Ry?(??&k?Y?\Z?h????8???Un??[CG?2y?ũ?fuz?.Y\Z{Z?\??Z?p?n???SheQ?6>??^??jnv?4?1?YM29\"-??>?NLZ4Ə?+??Ew?Ȳ?i_B?R??d?\"T?E?E.????a???e???m\r????ۢ?n???TI?YLe\'9X??D[??+?s???R?+?˨?+eA?\'?;Vk??42T??8u ڜ3??S\\Z??o4??r??i3?????Nvì(?XY?????4?=(??Y\'K(?j???_??Y_??Ѭ????????n?[fӌwv?I?lu??~5?g?H??1?a??\\\Z?WG??4??O???\rmaUMc?Z^????+?X?Y=AC?I??>\\?t{C?	V??|[?*?ޥ?G\"U??????O???f???\Z՜\r׀z.?ǩɈnr\"??nű???^??@U?{?)K??*{Rq??k?&?tUbӒ???6(=?Z??????\nN?V?5?j/?\?H?GJ????N??]?L\r???W\"?;?\\C?m???S!?????$??Π?6????β???a?o?\z6??????&nW?\Z?(m????͙??r;py=??Aq???W????????HXfB?\\???]?????M??+??U?w??R?????2Z?3*?rd֮W:p{@???"??????+QV????%c-???OsiN??&??Wu?|<?F???sN??ئ??h?9? ?I??v????5???E\Z????k???$0Y??+?%?6v?4w????򂓜q*?[hK???/?HL?h?eJ?8i???.??0;??VD4Ri??!?G&?lS;\n??Rq??ܬͧYr=?ҭn?#??Z?a??qyQB????g?f????v?_\'??\';???"P-?W?f????8\"inY??????\'??=.#???f(z?w?q??8?(lWI???????3=-??ԬV6?\r?y?S?W7;??ڵ??Fw?I????G-?Q?2??2?????6?n\Z?:?a?-??G???T7c:LumkD??a5?̙?r???"???WM?6?	?b6????Kt?ϥ?5p}8I%W?`Zke?X?u?w?a?Ӫ??ks??/???Q?v?B??elNf?S???\\o?*?-??01?8?FvZ??N?9/Q?9??#?(	????ϰV^7??$Ay?kr?\\?}T?e\\?4?n???E[}?Y?J?XflH?D?ũKȕ?A????Sv??䖎??]&m??\rk?a???7?>Lv	|Tz???+????X??C}#5??_????\0?????۱K3u,#??8??bӕ??Ԧ?X%[e?ݰ4?+??[kUjS-G??C*???nS??eK??=??\Z???L4w&?v\rYu;D&???-`?Bj)?syU ?T?%e??C??;T??MƋu?\\?*?g?;??1I???N+-?kM??.=??:????[? ???fU??ti\nڪv?l?\ng?Q_j??L?E?0?%&3???S?m?Gt???????????k?+?-1?0??Ŵ?QJ?؝R<??fUE!r??̆????p?E6\'6??Ή>?ҵ?%???????*??sU?:?E?۞??>t?)b3?????aU.?\\\Zr?^??py^??V\n??GA#-???????D???K1[???EG.ZJՔݮ??????ͨ??X-v??hWG??[??????\Z?Pf?yi?#??%?e????"???N????L??Y?7)?rK*?1???e?Ћ???n??/.??????犞M??P???6?{??̺hV??p:???)?luԪ\r??%???[???j;\'_?q1M?uD??K?k\\????0q?民j\"?\n?X\'X???,??t?:?3?]???~;??@6??.?r<?	??˓??ڴ?op5ڶ??#!??!6?0??be>D7? mZd??L3_??-bg?Z??m?q??Y???w&???ɕ?t??Z?4ȩ???ZE?i??W?X4?\r+?????$?5?+ҕ4??AOCK???e?????f???Z???ѰR?\0Aa?F[??q???l`N+O???????????k???XA?\\͏e?t?e??:?kv?7$rBnn???4?[???C???W?w]d???k?=䪆I?\"?+RyF???z??r???ı1??Y{?4?\Z/?͕;?Ҝ?Vލ?????=?65???EU`???l?S?????ˌMg??P??s?ʘK??/?x\Z)??-m????]?,??\ne??M?U[??Sh??#?6???d%??F?լ@m???[ch?r??a9E??zgea8??\r)kz?^a??;??!??X/?;HST??2\\]NX??P!????????\\??Q?p;?ksen???B?5?\"M??вZՈRj???J?r>??)?KA<#\\?????jP\Zɪ? ??Lv7p?,ų?>?2ғ*9E??i7 ??|ߞH2\'?uZ???׈\r?זF?????f?5:7???v?]?????????K?x\rٸP\ZE?K?M??2?`???"??E???D?4??0?[v?ƈ??T?b?yV?b??,S?6???r??h???E???v[|XWP??F?????C????9&?t??N?!{3t[????i:Y???L?:?????ԆG??5?;\\?????w?#???5???Yti???0_?9\Z5W??|^????C?;!*Pq?1?B??#?ɰkm????\n?v?۱\0?L???wQJ5????$a????{3?(?????$??ڤ=Je???J?˭?+\r?????ko`?,?ZL??dK΄L??u2??V??תJz???%VҜFz?FO՜\\??????T?\n????&???Y [y???o?%\n?@᫹Q\Z?7?^??٭??k??M?&?Cɴ:?P??6?\"?????*I?Q?e/?\\??R \0[z[?M??*R)w?E?-??P?E?\r?q???Qp?ZJJT?b??T?r?\'?CWl?\0jԤ?[??p?I?8\0&M????p???+-vbOD,?$???y?Dl{?????CX????RO-g\\qMoK??a?8l?kAV?ފ?)?:?˖F\0f䠵?GZf*?Uҥ??????J=?h??t٪[?V?f??&??nQR?.?E???B????\" S? ??f?2V֤1ջM???Qs?????;=<????gdW?Zb?5?P]aF??(??3$?k?dߚS???????T[\"D?!???Z??Q%m???:?p&//???`=???W1J?\r??%U?\"W?V?al?+M\'ӆY_?pW?Ej????(?N??????&??\"?d?-?h?!i6????M????T??s?\"t:?N??ܝ???Hn?r?8?ٙ????M:?T?L?/?9a??6TF?G??G???!~??T)?簴0?F󊑡;%??i???K??/W????VU?????at{@PM???i??DG??;?1???+????????\'???\'hFvs????ib??T?!?Q?4?6?J?m?a?jy3gI?ܦ?P?j}]\\??\Z>&?:ԣ?? ???sC0??\\??lqS?S?\\?T?V?	??_??V?V???tc\0?????IT?)?-?S?\05???1???<Kkh^\\,A`?	????Ȧ\rv]n2\r\0??+&2???N??????-??܊A[@???????L7?M?	?H_?ƴ_%?0U??)H?p?KgS????A?g??\Zy??Ͷ\r??Qf????!ݞRk?B6\Z??\\ɥ???K\Z??馸u???F2???Qۻa\Zk+:ߞiH[?R????}?֘iT?^Z*٬???^&l???W?4?Ə?\Z?ő?%?ɔ^?|]t???8?&?"+g?o?p?a\'7pL???U,????cv?!S-Gg]I??eZ?T??z\\d?1;?NQC%0[?Byxm??6?	0???&??l?g?bE:?^??\"?x??[m??!M?c?bi{??v????L?r???AZ????Ќ??ʻj}??M:??&?\n?L?u\n?#?5\Z??^\\;?5Ǆ;??yN#?Fo?}???p??2i-ŭ-??)??b>????X?ߩmj+3?YL??̫\\*Õ\n\'? $? s,qJf?Mw??!?LE??\\?&???M??l?<W???|??v????-T??:Z???+??????Mhz?Ҧ\'.?????dnH??\Z?????y?kB?sz9K????R̒2?\r$#????I??[???Tn??.?[?\\?˖\"?(??Y??is)???"S?vY????S??;????F??pt\n?!?;??a?z;?ʛ1???????l{8y?M?Q?rpyZE)???̭a??oXk?ʂ<)?$f?[???s9?O?5?; ????BU?6??\nZ4JĔF???rYm?9ٜY?UD???!\\??W?(t?R?:7?feNm%???(Y>??KlE??8ǭ?ZiN?`E?b????o?Ḃ7??ڀ??????iOʩ?CJ??]\r?p?H?v?, ?Ѫhu??댚?b?Q?̖?M?d?.B?E?R???#?v?c??Z???c8	7????_??)?&?,?ng??f*33?%kQ??i???a?&???????s?<?b2?^e?vV?G!?Z4?Tqdx?U?r??bS!?r??k????)&.q??H??ZlS???W?]???6il?j?4??覄??J?hW\')?h?k?^ӵ|?"hx0?3M_\Z?ƶ?j??CeZT0G?˙??@?,?o??+l?C?1lS#?7vK?!Z?6cvy.??J???!?3??uju?D??f???k????x???nq??????i(??6=??ؐ0`uY???\Z?+e	V={y?۠?<?v?2xq????\0??˅긟???\rV???????????????????????????????????????????????????????????????????????????????????,??v?????y???????߁??L?b??\r?/6??????\r?/6??????\r?/6??????\r?/6??????\r?/6???????Y???7??޵?`\n~hIk??/???l??S????g\n?3????L???S????g\n?3????L???S????g\n????O	y????`??ū???G/??L??.~???߭[Ġ?gr?39????L?&??????gr?39????L?&??????gr?39????L?&?????c?}???cL?D?2?)??k?W?T???f???+???u>??<??????ᯀ?&?]?Gы?=j???.N8?(\\?>??m*?&???W?ƭe??vk??c?\?h7????v?n??C\\??/?#~?\'??i?-????M渌s?3.???+8?x?n????s???+\\B???`	W\'??e????J?X???#?e?U?D?4	?F\n?F??n5S?kT	???x??p?[?????????-h?oI???\"w??"?Ị????Po $?7P???H*?@?-? ߖ??o?dS??Kuo?U??ob^??O??oJ?W(????nd???{?D?d?>?x/b? ????ޛ??5}?B?~?F굹??}?o?9~?F?ů??Vmq?E?4?u?+???>??-f<F?dG????6???L<?n??6F/??????_[ <{K7??????g)h???????cM??<X?c??????_?y?J????0w?l??漄+s????n???!??~[? ???&?Z??B???ZaC}???PB?|???bɘW???'Ӹ?UB?-???$?wZTo?p?Q?g̛??S???	?cp?????=????f??W?+??s????9G??c???/??(???;?;}i????^?;????ܥ?µ???^?.w(????u\n??u{???i?p??<iH????\?✃???0???(?t?1?on????f???E?ܿ)?u??1??c$?S,K7?-J????????n\\?M??????D\0S?#?^??)?LŸ&}?????z>?M?2?P8???W?p?3???\Z7????d???*\\!N(?&???.?7e?"?͏^???hR>??????ősm0??/L????\0Q???|	?????s???8G??E???c??i???ӯ?.~?h?\??:?[??*??~?\"????tW?l?=f????1?????r??2?-????\\?o2????????\?cN19U??x??0n?!?/??Bz_D?{????{{?????7??A\n??{???l*???˸A???I??n?(?\rݰՑ?	?2?zSN|?h\n?r?%??9???C???zcȁ???????????@{??*???9???*릲??\n=$??,]U>?\"?U?)~??3\\?g??Q.?????\Z????nj??h???K}??????F??*??3??n???zo??	??#(Q[敶L/غܘ_u?5??X??????c/?/??2İ???\???/\'??d?4??P~Ϳ????Y????)Pt??gW??~ԁ;????^t??{???˼??\n??B5d?Tr???)Kfx?]2??\0\r?\n?y/??&={?]}?+o?????zo??j=??[?`?]%j$AX?k?U?(?X絥????M\"?#_nX$???&?&??Mw?rK?????O5??gPö{?????)c?^%؟:??D???A??En=??p?r?\'RH??Cv????????G?????u!l??Z`+?????? ?z?(??h??q???????\\AQ?e0K???<?f$?c?????G???}O?,ݧ??\'??=????K?K???V?[??!	HM??ߞ?x?;???h=?I??gE3;??'y????M?J ??>rMS?}O??c??b????????\Z?p?iԞ??:N?Y\n??k??x\rv??????־?\'?9U??9E|?MG(\nߞ<?ʟl?;?r??L\n\0(z͗????G?SX???^/?Q[?c]0??|	\'-2?%?????????ԧ??m|?H??Ή?8?H?|J?`??	\n?Q??.??????\0?^?\nx????0???A?`N߿??F8?pއ1???I?jV?B8WV8?P@IA?YE????t?l?O?\nw???\n???MO?4?H<;qR?ÅO??I???W???Q??F??????%?g?1\0????\0x\\????d?%؅ߎ??E??4d?_??̂%??>bL?qW???N?+??,\0V8???Z??\ng\\?V(?z?1n(x? 2?j?*??mEp\")^??????B??P?Xz?-?r$=?????6?=D?q=???2?TǸ?xj??????&?:?`տ=??X`E??\"|?????K?p?????pr??,^????8ۛ??%?ۺ2??<]R??!?0????_V??D/H????Bř1?`????C~???#{?7??(.?7??U?=?V}???H?q????c?Kf<0?u?;?)??ɣpxN$?F????Ŀ\n?$\\?	?????[?=??$gx???^??x?24?G??}?ӞC?xy??⸃8A???????|\r ??0q?????8D?????d4??'?(???;K?????^?|g??ǔd,?t=2Bwl???k????y3K$Y??Ϧ???֭?!i%??????\'?0hU?#??????+??ha%?x?*?????)????$?#?<_??WT?h?x?}?ۓ???g?&^??o?S? qD?????>?O?2@???޸U??BZ?~&??????7?ɧ???????$??????v??????&?\'lN~????f?7/+<d???0%?t????,%XI??6???Z??l?5????(?\\??vZ?g?|??P?@?????????\"t???o???W?т??^1??oU?p祟D???e??????ʿ????k2I????ϡ	??۞? ?i?wJA?<??????? ???o???̯??ޟ?Y???g????[s??.???@w?d?????d????H??!R\0v??8?h|?Hl\n???????x??`1?J\\M???myS?<?%?\\???P??Zz	!???<߳??=?????\0?{Z_?????GOoo??:?~?_G?y~S;???Ўu\nh?'?2?	g???`?3X?nI?Vs?\n:??0???/?Z(?TF???p(x?8*?ג?]0V000\n???^?nG=?5V?ۑ??j??E?C) /????/\n?\0?6?A???ZO??pl??0???V?\K?.??????={ԁ-?7\r??\'@H$??f}ҟ?ǀ??`?\n??????p????}X???g?5?S>?4?>?3h(t???N$??Eu??V?z???,?F:??rRr\"X???gN?P???_?n9?cc??CJ\Z?)???\'>???f???$~?????B?s*h??[????Z???Sp??><????\0T??·X?o-?=sr???+??\'z?\n??t??\n????R?	?W4??y9e??u????Զ?Jx?}\r?D?Q;A?9]??7f?c???????\\p\\q???%?r|xs??^?^?V????????=??????:?p??@4	?z??vL?+?ã׊?q?x?Og4?s???????{?!?>????7?{A~???=???Pv~???l????>??G#\rY??.?&\n??%????????S?PvL.?4$o?W?[??Չ?v#g9???\'F<l\'??\"?˱FT{)??;?0?ڌG??\"F????.n??R\'??????lL?`?\r߹&?P8?y\r?3<?\f,????????s?cH*?♏?,\\?o??o??(c?L]U?ޒ???_?C??畞?yH?y?P???#IA??k?a-]?\'k O??X?\"? H????????R?$\0??e???%q?M???k?;q??4gr??&??B\"	?@×a|1\nMF,?x\r[???<?9Z??7?h?*???\\(??h	a?$(??D?«O?p>i??B??????5P.????T?????{*GPǑb????????b??/?y4???hy*?$?D???X=Ď%???)E??d??Q????????{??@xp???+~??\0y?D?????aK?@ߣC????@/?v{G??K???l?y???Uxq_??f?yV<I\r\'?>??yH[K?p}U?La?????&:?l?\0t_z????_	??uDf???8`|$????G?~??*??^??v7??)?@? 6W?l???????sI??`??l?Ř?-<?"+????`>?c?????V*????????v9??????	???X?t_??2?????T???D???ل?w??????iV??????=?]??????=Ztk??8?ЉNz?>?r BFĠ?f??\0?R\0??/??Df??7?? ???&<d?=?rV?????<?Lģ?EM?~g@?j?"????f5??Q+{???LN??LW\0??v\0~!y?D??1?tj??ԃ??$?z?x\'?/????y???{J?3??0+_??]OShO?????\0?N???泥???b?;t?_t=?mxtc??N?#??Sጉ?A<}y?F?|??1(V??VB?9??}???gʴ՝#???8U?ʗ?9Z????8?n<???mqFkE\0fl?zOGv\Z,>?C??.6???c?????z0?XKz?:??p?,?>???7??@?c]?D+Q??=lG۷???6????N??\'^??01?}}a>p???C_\"?Z??,????Y?w?):1\0,??c@Ar?"?-????q8?E?1??B???\'?P?[???DM??u???Hy?3???1[ƚ!\0AOZ	???k!\"K???/㭀??D!I^.????ш[??????\\.?Z??H?;N*??a??/BO?@????x?????[?]???????(?????^/?~?Np@}???|?9?d=O??????G??Px?bG?C*?7??m??a?#?s?????M??^+???rt?	??V??8????k?^(???4⽆?L߅;+6?.T?Mj?=?????p??a?TB\"?0????<I/h??x?2????6b?\0\nA_?}???=?P?d?p?C????ꈹ?=???_#\'=r???A?pZ???1?????=C?to????\ZO???Z\'p??<S?;??,[???????~??9\0:??w????Ϗht? ?????????h???b???G??A?^н???;??z?	?Gs????Ý???}????JF??;?g??_O?E??NtV5N????9?MĴ???;m?ZKZ\'i???\Z ?ZA???gE??????.??\Z?????S??m???w??????s܅?)6r{M??ryOV<Aǘ??Sc%?G@?,??k][??g?v?_???7??Ks?C=ߞs???aZ?*Cu\0?<q??ZѢv?I?????B?̌R?QnO;K??ڵ?_ߓ?7(!?^<Y|R?.;????j?^?q????@??H?.?/J???fߎN?'_C???>???=?{c/~????.?j]ء?	?NH??M\0?d???e?l?.dN~8???^????Go?Q>;?{?*??\\?Hwū#?Ư????$????}?????K???\Z??q?P????? 5??	???Q??\"??^X?\0?K@??;?- w?*y?*!??????{??{?\rFI???\Z??Q??s\r?A???o=͓>??{?\'?R(?x0???}?x????\nX???lQ}[?8???d??/?ר??S??,X?<??<???\0 ??\n?G}?T?O?$???|V??????2??C???.??,<?????I@??\n<?\0?߿??U@?\\??(\n??????\'.?Nhy/???\0?I????7<?:?q???e????{????P6=։?UX????P??G??z??E}~L?\n>???>????????J}???\n,?O??\Z\rV((<]????rb????x|?w??aer??[?????b?lV???6*?\Z??=?*?D?A?~a?xԉ?????ތL\n??????H?????i8?????K??th??ܗ?B?????0?߳|???G	?C?\Zt,w?!>??p?ˇ8?S?)?ع??կ?_????nG\'?xй? ??e????????.?x~??4??H???X??IgN???????0t.x=?No?{c+?u??&???\"?'???@;?\nFL?\\Ŋ?C??J?Ϙ???WE???6/???A&?45??.^??l???w??????]?\Z?S??$?7??^?????0Q}?@???H??J?!??H???ZѴ?B?????D??? ??Y?\'C?v???,??D<??1d???S?W8????R:|???????5u?,qx?=?????ΰ.\'y????qa??ϛ?[݁&???c?\Z?W k???\'<\r?y??{}?*????j@??H?????g艆rC??#Q?;?q?:Ƽ???%.ƚ\\l??.?R?_9?>:?r?!z?0???????????=%h-?Vsy?Q????3??\\?^??=liN$,Hǟ???o??????}?EaG??Nǳ_?.U%??????Rw[????6}ן?e?my?i8?????????@/wr*??ɀ`\\߿??????{?~5t??:}Y???6???/??ړH?dd????\"?g???ѝ??P?G?7?Z??`??3	ߙSq??oE{??\'S=?)?L?????\r$.)A??K?sHf??Ҽ????8|!??!2%????AV?\0>6??^??/?--o??8?r?g?Uׄ?r?႙nT͜^????_u??z??^}??^?\"q?r?!)?>V???K?????????h???8߿????????D?????	?u???}ܿ-?4????=??*:?,+*Ck?c?\n?????\\????d?r??????????@?vާ??????d????lgĿ???a???C?^?J??sRߞ6p?ݳo=i\"????u?7!?\n??G???˙\r?? ?\Z4??]??;???xҡ??t???Aj?l?˕?|е\'P?????]8;p????Y2?è???!?Wz-?g?wֽ\'_?U?{?rw???EZ????ȍ}?;???Z??ݣ⟆½??Ȧ?&??;??zJ>]???"?ԋw?\'??ǳ?n???x7?A??O?>f@Yv???b?%?,?FCBԐ5`{????????I3nԌ{ތ?j?????}={?~l?[??E4?R??\rG??F?\ZÏ#????hc?n?????&??~S???H?C?4?????&??s9!?e??"??t???????j???	?F?*???\\?սĞc;??{+?Z;??z??<??????vpp7?g\n?5=??\Z??\0a?/??0?M????|??????`z?DO7p??R	.K?x{???o???0??????G???D^??'??DS\r??L?M+?~?.=P?KW\'?o??+غ???TX??\n?t???w?U?6-_???NП/@a?t?$?\r?Xg?ǂ7?[3??qz#6???????џ???`?E7? Y?Y?c??????R?x??k???\"?|???????`???I??x0?????% ?:??????	,?{?"X??4=n䨅???1?o~????(?V?Og?o?fH0\0?L{???/>???7???u==???w<AԮ?k??lY?~?>|?\0????ÞV?0Mf???*\\(y{?H?<`Ǒ?o=G\r???w????N?Q???f!??Z?^WV\"??Վ[?ŀ̘D?h,??????Z;?^?W???.???pa?????U??????~?+\n???4O<G???????<f??:????7y??a-??(??y?&?K	?n????A??{??w???b0>?????????c*??!?"O?\K?.??????\r??ׇS?????'w??y????W?G??0??qu??r?d??????z?0\Z?W??\n??zC?P?o<???s??????ge?Nh?8???w`?B?k|?_?gw?a?Ny?ֽ?n?¶?Sa?A??p1ĽN???????4?k???KO|????Wp???!???9?\\???F??8a?K3\Z??(_???x?6?\0*X?D??Wցv	?????8?p?0r&ʧ????$????\'0׺?H??9?S?\n?wX?#????~e??b?t??n??????????ͫ??1\Z?????9??#??:`?c?6???ݎ޴??????D_>^?????g?w???r??O???+????9?_6?B\'?_????\'?_??(1?A~<>*?3?:j??#??B>????ș??=z<???|???%?+???n? ???I? Q?˿???{??l?!?BYA??\>?b3??3????r??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:65c609d56fdc50100df44fac0eb0bb98','e?͒?8??S>%?z??w???J	#???;?iқʻ?l??.n?I??q?E??y?\'??/ݧ?????????N?k(??CV?[??cD?%oA?j???????=8????\\\n>?,r??Y+#??t?v??????+???1;?v ?PX???gp??º???v???ŝҧ?\0B\Z?-(~??[m8?Ȧq?Ԫ#?H?R?ҳ?2???EP??ђ???((??????*????O??????*??l?p_P??;ku?JI???x?Z?pO]Mc??Gh?ꖒ]??g?Za֊ݑӗү?zW%????r?6?G)FAF)Y????3e\\=??,??	?g????)??u<z?ƋOa?'K?t?¾s??????b?+???d7ծ7T@-??\\O.??|g?U?(??ZuB?Ã?!|?h߱H\\?????\\j??#???V_O???>?*??????????Q_?h?[?|W?`?OL??\Z?^????rf???iw? ??Hz ف?RHy qtDǨ??1?x?E???۶??_??+?e308????uZ??^????d?????m&?H?/\"?p??ʌ\'\r$m?Q^z??m??F?????9?Ynn?v?9xz????o?iuB۟#??Uc????KO?6???VHڱ??????,?T6i?<??j?i?GXGu]??=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:662c3ab210050c0c8e98aa264ae5a030','e?͒?0??;>?\'?	$aߡ?;??\0/?m?v??rd??>K???L?ER?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4?????J???r????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ?Rl?CNrސ4٢m?6?w?\r<]\"???uY?,?eo???쐤P$?$K?$u?\'!\n(?1ˎU?????????OE??Y??\"=????O??D0??h????=????#?eqc;????????wx+?I????~?/??%}]f??9?T?ю-i&i?}ys?????????O\0Yq\0́2?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:673d4c2dfa6bc05abee090948cf7f50e','e?͒?8??]>?fz H????jJ??;k?0٭}??\r?Iq?>K???J?"????훹zi?{s???@*Ǫ??	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???Y.??e8*9H2???????(????T?d?l??ҕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr?]?!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z?????????????َ?v$ߑbG?9?eG???Q?????>????????\"X?vX1͛?%u??"/?S??\"?ˑ?9;??Z???ɖN?&e????y^`???K???4???dy[?s?~??B?h?ŝ??%//߿????%?V\Z?k??a?lU?????R?E;???????U??(3q??Q??\Z1?$?ә7e?\'????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:678c7618f64da75851870e984b7c63c3','e?ɒ?0@?.??x<????TM	?\rBr$a???epqS?u?z??E??ǂtá?`???`?}?K?+訐??a?r<q??CE{?QUZ???Rõl???.\Z?\'j?ɤ`?g???H=?Q7n???U\'?6Am\r܀JʹYA?????Rk??@k??n???(?\\,?*}? ?1>TQ?Vԣ?\r?Y?Ԍ????2???????\n^?Rg?D??1\nL?4???.??ؕxO>z?y?t?A%????!?J3?Z??ݰRR?v\"^???]RW}W?i?r??W???A?J??br?\ZB?????&{b?w??Q?N?Q?V:???3??P5F3????l?L??bt\Z?>??S;??\r]Ű?[??z?Xlr????????k?҅???$R??APG?=0,!f??O??;6	?0??c?+?J?????G{O??s??r|??p??\r\rrn???\ZA???\"??{????I?? \"EE?]?xCNrސdC?r?$ߐˆD??mÎ?qG??9?___??\"???_1??@N??0QŲSUK??G9?,ξ????S?I??!J?zʹ???yd??y???)???:???:???\'????^???ٵp/v?Um?????????K??6Ǘ?JHܱ????[??4??Fy??9͒<????\\f,=???y?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:687281305f10dce17e21c26143e3c490','e?͎???-N????`?p?Ü?8Ҩe?6?,???}?-??vd)??ė?tܗ????^??ƿy_?eB?\r???g?Ǆ?g????Lb\r????kk??????CӠ	?T??????Z???DY??kk?jڰ?56??Wƺd??o\Z?t+S??+??)z????~4?`΀??????P\rFܽj??u????M?j(.?1Lg??????Hqu?ଦ?3iH?^9?T?????c??<?zm2I!?b??c?{??D?˷57??V??I4?@t?????L3??5W8ZS+7W쁂?&IԻ\n(?ǜ?p\'??ԪW????c?x?R)??#?f?\\???˷v??$\Z?D?????&?u?d?x?b?muם?b??????B먀VO?BK!]bg?y???H愨N?E?!B???hݱh??B?N??$????W6?g?H?\Z???p?r|??????F?4)v?NA????c\ZL3?.멫?????\r?	8+k?E?\r??ņ7??r?l??5???+?/???}y?C|?w;>1M/??|(?<;dr/?KΫ3?qɠ?y?ϟl??s?U??EQ???????????-Ј??@t?????۱???\0//߿??w?{?JV???WO?a?l~?t???tRY+MolI3I??_????y?\'??!?f\\dG~????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:699720f2ed7882b5df6b52d93f367076','e???0??\n?N?q?y??z?FH(ɕ????w%????iw?,???*I??Nheܗ??????\niI??p??HI8??? u???=.,?d0\\?h\Z?. ???{p???L\n??,0)?Y+#?֭t?v??&????+PI97+?vTv?aM??c?????wf?>?Ҙ??b7+?IІA?l?j?Z5?P??SzTX?VpY/]?3Z???^?T?X???\'???z??\\.?7\nƐ??e-,g??X))T7?ZQ?SWC_?i?r???d???Q?Z??bw?%????M??Noh????@????_??#f\\=?j?f??	?	^????<}?ŧ0uړ)h??a߹?u??N`???{??*?Z,??ST?E??.????Y??ns\r?:\"?Aa04|??hݱH???????jw\\??f_O???>?*Ű???????n???^_?h?K?|W??\Z???IU3?.??6\"?3|???5?vE?\r9n?C?r?$ߐ?G[??:ކo㎷??????.??E???b~N???Y\'???????驈3(???F?-&y????gi%/??ʣ\Z??V?~[j?#~?????p????*?EOO/?a?:??;??????YC???\\??e-$?g??OeVy??|N????&?8?,???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:69f4e2b041adca15f3f5962013d64f3b','e?͒?0?????͆???}??zܙa??6?i????7????s??Ρݘ??F??C??????˷k?8???#˙?:?Y?F?[?????\v]U????????\0?????琇?X?<?[Y?????e+??Qm-^ag0??5???????E0????ŝY\r*??\0b\Z?%h~s?\Zc9???;Ԫ\"?HʬӍ6??2?`?"*??ZE?GRQ?zaM?C]db??+?5???<Ђ??Jt9;??????k??_?RJ?$A?\0?S?[????P??\bot)??;?C???n?Dkf??????с?,??_???2????uGf???D?]????@???>??R:???]???>;r#??J??!???-Ш!*_????zr?*yűQ??????E???'?wl\n??\"a$?ڥ3?nz????}?JvK?9?8??>NQ?j???z55)t?\nVB????誣a?䡫?ܖ?v?	???܌?$]???$[?゜????Q\'˰?e?2?????iq????V?a30(?1M ??8a???p?Q?<=??76vj2) ?ř??_BƷEZϩH?S?0?h?????C?Ͳ??5?Ex????*???|EZ?4??o?\rV?}]???9???Rю?&i?=?|?g???b?O@pHeZ?n??\"ۗi????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6ae955349e360e8bf48e9f7a5f163ff3','e?͒?8??]>?fz ?????jJ??;k?0٭}??\r?Iq?>K???J/??6:?o???͡???@?q\0????\n:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??D??\\??l/? ?\'+??pn??+k&R=??C??+Q?HW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹvن???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ې?;rڑ|G?rّbG?I?=???N?q??????x_??`?a?5o?~<gI?O?T?Y)r??既9???'[:??d\'^\'P????~??B?\"	&??0????;????rD?,??6>(9xy???5??+i?Ҹ_?S??????ˌ?6痪F*ڱ???o?:Ug?2ϳS????nN???=gM??~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6b8017c1644da29995fd2e9c6a98de86','e?͒?8??]>?fz? ???S5%lA?;k?0٭}??\r?Iq?>K???N?"????훹zi?{s???@*???	??N<??	laT??mk??G=!4*\Zne7v:\n???9	???$?zy???l???ot???66?m???!???=??\n?=?<?(?r~{?q?V?\n?????P?ߝ??X?1?q?ε?/?2u?ͤ?)0f?to?\"??\nJ???ǹ.r???+ف}????_?Jt?;??b????/????Q???B?j???ǡA{ARwsɮTs??ѭ?K?țk??z?0%z:0???G%IF\'??8`?????f\"Ռ??\r]??]???(%???}???0w:?9h?Ja??7|s6*?R?ٍƏzC??T@???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9??!???_/ϼ1???万????è??ū?ܖohRk?BWo`%???L??\Z???????v?????$ۑ?;rڑbG??v?i?G????>?x?F?????a?{;??????<Q?:?i{*???ȋ,E?????l?j??,?\'?tN??*^?I?e?)??dy[?s?~??B?h?ŝ??%//߿????%?N\Z?k??a???u????R?E;????????]4U??<-?\@v>?O???8W??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6b9a6e992091e7bf7138d1b4535aa509','e?͒?8??S:%Ygb???y?????T#5?AH?$L?????xpqS??????????틹xi?{q??a?h4 ?c???	?W:	?*&??QyF@6????tP?h?????D(?\'??@?E???????,V%?????j?3HmlT??WB?r){P?(???x??r~{?~qgV?\n?????P?ߜlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ??Gy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쎼?Đ~?Ի\Z(??,p#?"?$?eq????Ate??)?9??S?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε?$??????G?@???p?|??x5??\rMjmR???????)?Hø?W??#???$?j@?\rIw$ۑӎ?rޑbG^w?ܑ????}?>?x?F???ۺ?}X?+?y30??&?T$G?n(??Tf?)?H???[:??y??R8?eQԉ8?0˃??2@#????????;?M?wJ???}y?{?[?LZ?4?@??5???2#??????vlE3I?뻫Nչ.?????)??$?)???X>????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6bc3fb4a554917ce5eea26e738c5b445','e?K??0??+2>??͆?G???zܙax1vj?д?^??7?녰y????uî?hv??vg????+?H???q?\':???\nz?QUZ????Bål??F??82pN<Ԫ,$???w=?܇?????q]???:??	jh? ?,?????=?o??n?????qgF??????P?߬?GA?!????????2?????(1d?tg?$??)\nJ?0?ű.??ԕÖ}???5A%????!?Js?r???T))T;?Z\0o恵?+??P?X??\?%??;r?B???n?D?-3????(E\'?!+?z??v??+?R=??E0?+A?@W???T??\r?G}w????dچ?R??_??z?Tlv??????\n???k????=9I?????N?z`xB??O?-;6??0??c??\nj??????R??9?؏?n>NQ??u??97??\nF@???????a?屫????	\"?W ?V?"?+??H?\"?9?H?_?u?:?w?<?#????u^?/?yo??????/???x?????L????:5?????xu?=Eg^eO?*??,ޗgo2?-5Јﬣ?=????#??ƶlᝒ????o??g6-?\ri???⇡}???u??R^	I;6??????a?O~???$>GǄ>??O<)??{yb??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6d989db70786c0090a56fc8243245886','e???0??\n?N?q?y??z?FH(ɕ????w%????iw?,???T?~<?_??,?/	c=h=Ғ2???!??HI8??? u???=.,?d0\\?h\Z?. ???{p???L\n??,0)?Y+#?֭t?v??&????+PI97+?vTv?aM??c?????wf?>?Ҙ??b7+?IІA?l?j?Z5?P??SzTX?VpY/]?3Z???^?T?X???\'???z??\\.?7\nƐ??e-,g??X))T7?ZQ?SWC_?i?r???d???Q?Z??bw?%????M??Noh{?G)z?F)Z?{?PkG??2zD??P?????1%??<???Oa?'S?tþs???e???b?+??e7T?5X@-??\\?.?|g?Y? ??ZuD?Â?h??Ѻc3?0}?9??\"??T;?y??}??T?a?\'??Q??\nW?????&??^?4|?x?\'??f?a\\䩫?lDJg?1)k*?rܐӆ??m?C?r)6$??hu?\r;?o???}}}]???~??69f,JNui\ZS?<??u*??*???72wj1?ܓ礦IDӢ?ŏYZ??@??~[j?#~?????p????*?EOO/?a?:??;??????YC???\\??e-$?g??OeƋ??9:?T`???LNi?g?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6e3bffda22856c8cb9789064f764091d','e?Ks?0???????/?z?3ap0??K?????6??>K?^W??}R?nx??s???????h?*Ǌdø	?#?xdXA?<# ??u?zB:(U4\\ʮ?kt>\"ғ??s?ѢT\\I???+??+?/t???66?-???!???=???=?<o?t~??=jq??1?A??@Lc|?ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????ue?a??<?:?T?.???C???6x???UJI?$?????J?\r???Kv??K????*vCޜcH?z?	???p%?8*?2ڑ????387Pѕ5?n?!?????+ט?R?9LC?ߝC\nc??v????{?g?b?An%?]h??7$???\Z5F?ry?:KON?C%/8???X????DˎM@?=????lAB[AO??i???T?\r?\'??Q]??)?W??L?????^?J??]o?]?4??<v??KX??? eE??E??d?\"?9??EN+?&k??:]????ׁ?s????΋ۇE0??b~??????mI.?]?ȒJd?i???ol?l????<?x??8?\"??q_ni0??hğ???=????#?eqe?????˷Ǹg[???UK?;?????^?ezZ??E%??f??Ӈ+??YYU??nϏ?<??d?W?}??R?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6e9d88e296ce9ded0702f73702efebb0','?Z???=<???????l?!d??0?$S?@?Զ?ȖG?????????I?[6aBMI???????d	??o?戯qʢI2?x??\'	?76??`#Fs\"?%???I????.??~???5???q?_S???J$?Ȝ?t????͏˔?????P9V?	??|?T??C??	\'1^?C?%?d?* ?|?H????Dbg?v???v?G#gps70??\'f?$?LѥpZ?4????2VY?B?s\'ݜ?C?D<\nc?\Z?\r?p2G??\Z*?~??????@b1?c???M{?%?O?7#^????ea??4??\'\r	?U??ܷB?O1_?t\r?X?/ I0??G???QJAZ?f$?Q?\'????B=]I?ǡ????$\"-\'??f??????M[???uTE0J?\"?????e??$?PטJu?@??!|L?n?/!???Q?CyM0mAmܪ????)y????ds?c??DX?/ٲ?P???%?`???p???(??z????c????2?Jp??O?2?D\Z?XX#?u?i%???ݱ??T.#????W?b??.n	z?????????Dt??Z??.???v???a????r7???i{????t?K?g4??G<ǂ|x?x?0?Q? ?????ϐ?<`??+???@????'?????\nh?J???=L`go??&?&AJ??&(Fg_?K?5l??PL?ڷ?Pb??۱?%???q??h???Ԓ9Y<ʉ???sa=???0R{??0??????=??ug?ObT???-I?@ݡ?????ii?pRk?Y8I?btǋ~f?\0? Ě??\"-6,???T????Ɉvg*?W#?8?SY?B]V?.uJs?r??Vb\\????ǎ??z???Tm?h?X=x??MC%S1?Opai???H? `a????????3?0A`???ꝡ?y$ʚ?\r??/?\\?=?	=???\"}??Hz?!?G???\'???=șᚡ I?0l???m????l?Φ?wpq??dO?o?#jcS8)??x???{???8?`f????????K??Z?l.]?v]?`8Dު?MU3?*O?l?	?r\'??ŗ?t?X??7??{M????:>?"??y?A????a]?E??Z?BBX?#?u?mF?n???6?????W????9}7?D??????N	?n|t?P???q?m5?a2SY???i???_????!?}?3E??@?"|˩?=F??3)????v?>??(?A??p?V????/??˲?FƩ???S?!B%???/?bW??\n?(?H?%C???ģA??G<e????\'i??h???-%??<h??wո?w?˚?:@?Q?F0????H?\\muw{?R???ς?xXE??>??A?&w\'?f?N???wd??a4wt????q՗ò?Nd??PJ?8ż??????\0??_$o0e-c?7?SnJ???r?Fh???iL?տ(d?)?ĉ$8??7?jJ1??>?]]????at0\Z?F?nD?F?f??$??????F??\r?r?? _?6\n ????7?׹??h]-}?$:Z???zP	R9???\Z?D??*ge?c?U??\"???5DE????jW?쬺?q{??yi>??????N??\'?\Z??b~P???o?9?U?????%?%??GՆX\r?-1??Fv\n?2??Z????V??~??G???*7??5?9uw???H}?6?v??}?u3?{ͦ\Z?p??~Q?A*G????????uG;?j\r7?a?0?V?`^iQw?W?ס?>?????)6?7vB????a??D??????({P`8c???W???Y9??ծ???BC?6?i?J?!???Y?2?????????V9?????mk?(W?:\0\'?JYC?+??DUT?Ŧ??av	?p\n^?(??I=?<????UQ????X?????Ryn??a?Z?y\Z??|?xOA?/?????\?)?7\n?=?(?.\0?|???????V?TK??Rմ??H?D???fU?p%˶??׸_?`)????-????e?vM?t?4G&????)RiWn?S$??Ww???ϛǟ?I?Q}?????1!Å?7???g???n??'?Nt>r??9V???\n?N)???m|Z?~?`1]M??J?b&8o???2?????;>??V釕?ۆ??:04s ???>^[?q?????????2??ÛP.,]	??I?ں????<>???????qp??c??;?n?9?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6ea2b0aff44b6c0ca1c10e5c56a6fb19','e???0??\n?NY?0???]??d?4?ĐI*?1SܤOݭ??+?!)X7<??9{i?{v?e?wh4v ?cE?a܄EN+Y?V??Ȫ2Z]???J?{?5:\n???	?Q*?$oovy?Ŋ?o??u???YuR??A?vC?T{?5F?|\0?%?????Z?n?P!?;?/?@??1?cT?رV5?2f?n?4???c???x\"5???kZ?"??U???d???????r.v8???hÁ78???P???D?i	??????D???g????کb7?9J????D?f??+????Ӟ?,v?????2????#7?`CW?}FG?1?$Ps?? ???;??2?v??$?ƽድQQ`ط???4~????\Z5??r??u???+??C%/8???X7Q???DˎM@?=????킄???b=??w????\Z~N?????S?:s???A?\n]????:?????.a??=~??(? يlWd?\"?9??E?9?H???u????u?k????????????_???????l??%y&c?????:5???U?l?i?my??r!?G.??0????;????\nD?,?l?\no?<<?|{??c????ji?G?ah??}]??gs?????7????????feU?ە?pHy? ??CU???/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:6edc8775e11c7fb3a833b1d6e4313e77','e?͒?8??]>?fz␄@?Ü?8US???ۄ???l M???Y????????????P?7???L???????????????dkt`T][??O*?N?k?M?>$?R2ON\"?FVZh%???G?%??q?i?????\n:?!h?ҭ`L9??aM?!?V+??????stL?	?4??j0?U3	?L?\r}n?UC~???:cGCeh?ĔER?????Ϥ?((?????>ƪ???v????M*?R?cpLn_0V?hq9[s?Jie??D?nD?H?}??E??SɮTs??5?rs?(?\n??zW%z?\'$?6?G?zEF\'?r?????rv$??y???t?;RJ??y\"??kLa?$S?u????lu\n0ʝ?b?????T?uT@???BK.]bg?Y?\r?Z$uB?\'???!}??hݱh????đ?j??Hl+????l???j5l?$>???<E骷??\Z?Ҥ?8???????q?????V7?'ବA?9lH?!?r9m?C?r?lH?!|?Eۨ?6l???o?????,?????k?L????/DVg?e??uv?\'y????N-&gQ	8^??X?K??^p????&?????????rD?,??>(9xy???5??+i5?_=?c??󫤯??6???iڱ%???o?<?g??\'?\???%?.???y????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:70ff5a8891fc87286278d92074ae4eec','e?͒?8??S:%Yg??y?????T#5?AH?$L?????xpqq??u??????5????틹xi?{q??a?h4 ?cUr`܄CI\'Y?60*?Ȧ1Zݢ??j\r?????????h??W??w=?<?Ū?6???]m?l???jh???!e??\0?5{?|?%?_.??o?Z??jP!?Әj@?,?F6عV-?ERf?4???cQ!H?(r??????kz??"???????????|U?˵?F?3ܿ?\r?z6?J?RR?	?5????\Zm? ?n???\'?i??ݑ7?ү?zW%???nd[????$???,?_???2????H5#3?`CW?~FW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???ޅ1t??\\$?J^q?AT\'D=?<\n1n?'???[??{XIɹv?r	m??zz??>P%????Fu?(^\r?C?Z??z+!~?t}`\nt;????.a??#~??U\r(?!َw??????#厜w$M?hu?;???O??~~{[??`?a?;o?x??,???\'I]$??(?kh????ZM??r?i8???2??:梠?`???Ј?8O??????;?M?wJ???}y?{?[?LZ?4?@??5???2#??????vlE3I?뻫NU?4MeyN^Y???8gIq<!?/ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:71a1c9afb6a1ce7f673a2b5772ab2273','e?K??0??+v|??HB???z?G??;?Mh??lK?S?ϒ??+????_???\?4ڽ8??2?4\Z{?ʱ2?n?D\'Y??(?Ⱥ6Zݢ??*\rײ???????h??W?w??C?e? me???6^ֽ?F??xEP ?]??????G>?筒???-???Y\r*??\0b\Z?5h~s??c9???;ժ!?H?Н6??2?R`?"*??ZE?g??zeM?S]db??+َ?\r????Q%??;?c????[????R???L?j?[R?_?m??T??\?t-?\?ys?!?\Z?wP???\\??l?pT??dt +?=?pn??+kFR??????ѕk?)	????!??ӁLA??\n{??٨`?;I?W\Z??r??|k??FMQ??\\.]Bg?Yr???ZDuB?ˣ?!~??ݱ(???;	#9?_??г??G^??Ur??I|?aT7???o??4?{?BW?`%???wL?n\Zƻ<u??KX???ee\rʭH?!?????r)6??rI?-??n??q????>?????ྷÊ?>m??X??t???!???U?????~??S?I?OO9?E??}?@&????~σ??2@#?????rD?,nl?.?<=}???????Zi??⇱?b??Y?eZ??e-??f???7W?\"???????},rȪCQdPeY??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:73a7c49678b78963ce64450cce7ec364','e?Ks?0????ئ????????#???????ذ??,?!l??d?4Z4O???ɢ??q>?V8??????\n:?????F??Z?Ы??JílǶE??82pwN<Ԫ?$???7=?܇?????s]??h??	jh? ???????=?擄n?????vqcF??߁??P?_?hgA?!?q?̵j??2U?????1d?tg?$?i)\nJ?2?ǹ.b?ԕ???Ky?ຠ\\??7\n????9?׳V???_?W?????8Th:?Z?v.ٙj.pҪf??r9}!?\Z?wP??3??+??(??DV???WFO?\Z??E0?+A??+??R?QqX????q8??{2mCW)?w?o??\0??*6??QoHvc?C????օ???\\$?R\\p?AP\'D=0<!n?'???[??{X?ɹvɆ???Z|=?J;{o??~L??????S?}Y??I?M?????>0	?iWy?{d?3#~???\rH?!?;??iG???ؑ???{??:ڇ????Gk?>?????E???b~Λ?A?g????V??S<V)?T%y?5___???.?&+??|?,????#?1IR?ܛ,oK\r4????C??}e??????/?a??x-I?ھ\r?L?7??I_?im?????cK?IZo?m??y9O?????9K8fiz:r?9?K?|`/?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:73ff61d5fe5b3d4cf6a18e9cb85a8f62','e?K??0??+2>?????CO=???x1vj?д?^??7??yz<$9k?M?n?K?????ޢ??T???q\':	?r&??NyF@?????tP?h8?]WU?D(?\'??@?E???????,????V?????mlT?A?WB?){P?(??{?x^+?x~{?~qgV?\n?????P	?ߜ??X?1??m?????2??M?????\nA???F???^X?PنX??v?:Gy???]N?7\Z???m8?Z???????IP-?7???hk!u5??5??]J;V쎼?Đ~uԻ(??p#?8*?2???????????T?d?l??ҕ?MO)	???/!??ӁA??\n?νᳳQ1? 7??ͮ4~??}W???\Z????w???\'Gɡ?Wk?Q,?B?[??	~?y??p?&Fr??FB[A???ya?{?T?	?\'??Q]???W??????&??^?J??]??]u4??<t??KX??? ey	??Av?_?lAr\\?ӂ?$M?hu?;]Ɲ.O??}}}???`?a?6+???H?!;???D?ώ;??)?;????NM&E?????C??n?O?(??8??c0?h?????C?Ͳ??5?Ex????*???|EZ?4??o?\rV?}]???9???Rю?&i?=?|?weyHEVbV???HOx?)?Syخ??<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:744b6b7c17cb7c962b2cccc932fd2e57','e?ɒ?@?.NY<m?l??TM!hI?8??8??{\Z??\\???Z???T?n8??_??,?/	chҒ\"????N??p?h/A ?J+yr\\XZʠ?????????\n???Z?2)X??`?R?{?????Uډ?J? ??n@%?????)?5Z|??5RX7x??_f?>??/??bw+??\r???Ԍ????0???0\r???~w????\'R?zitc^D??*ɞ|??/??H09\'۟(B???f?50???a??P??hIY??????0??ʮ?s?V?0S??5????=???7?K):?JG?Ё?~??A0e??Y??%?'xd=`H?Sx?wW?iOF?m?*??p???ep?[??7l??\r?_????r\r?\\??????7?r?a\r??3@??D?@?f?r??\"??TM??y??}?T?~?;??V??\nG??Moh?s?|Uo?\Z????X?6\"?3=|???vE?\rI7$ې㆜6$ߐ?\6$??h??u;?o?g?}}}??????\'?쟒???e<9B?????T?Y?B\Z???<NS8F?ٹ????i|ɽ???[?`~??7\ra/?ٓ??EOO/?a?Z?;??????O??YC?^??????gl?=????Y?gYy*s??/??L?.iR?????y?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7464629df9a6f983431a0e97b6878cca','e?͒?8??]>?fz!@????jJ??;k?0٭}??\r?Iq?>K???J??X?az?s??????q>???T?U??J:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V%O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???\\??l?pTr?dt&+??pn??+k&RM?!????ҕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr??CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??;???Aª?ېtGN;??yG?)v?ܑˎ$????N?q\'???5??x_??`?a?5ov?.Ҳ(D?e~>A???)?I\"?????-?ZM??eZ??s\r?R~5Ϛӑ????2@#????????;;?M?J^^?}?{?{?JZ?4?@??3???2#??????vlE3I?ۇ????,O/??@?\?vJ??????^?~a?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:74f99c5be46b998780e7b164345d0e3a','?kc????\nY??????????ѓv???????쑴???'I?$;?w???\n?B?P\0\n???|???1Yt??i7??pN????????z?_7??:̣d?u???Z?Un???\r?:??n\Z?`???????;????o^?????ػ?'O׆\0?n?>?h?????????n????(???v?????]Fc????K?ȯ????&?s????ee????"B?9,?ݛ???Y??\r???????׾??Vawx?\'????e????q.~M??????׷AZ??F\'??????n??????^u?29?\"]??\0o[u?nƆ]h??7???x?=????yxo?????????????w@6???Ă]???_??.v?Yr?;???VG???\r[??uwq?MG??????????????j??.璸?z2?+???v??	\r???????K??(?T4??{e\ZLB??f????Y??딱?sh???R???j?\\?,?/9N_@uûY?????0?Pͦ$?X??? L?ժ????OOxȸ,g? ??1q?K???\r????,??Iآ?+????9|??>??hVW*+BY\0?,????*0?K?$Q???#(F????]?\'\ZC?dDSU???????*????	?,ɿPb??d8G9?BtF???N???~??I2?%S?EVn?h??dz\\??/????R?	?HzH3@??m6	 ??k??@7????P?I[\Z???? g????51h?W&-{]?烌;m?vT?|?W??6l??U????4n@?˙??????<I??e?7jso?\n?PB?rk~???/?o??????A???4:????ɢ3???By\"=?D?$?\0?Q???`:??s???*??Cw\rJ??Ҽ?O??Tċ?YL???;f?.?@?Fr?8ͦJ??V???}[/2i?Y;]͚;??:?b?????@?5L?9????}?l???ԏ@??Ă?V?Z?|???栓?%ҭ?i??dH?0????n?\'?????*~??=D?*?Y]g???ifl??&???V??~S???1R??\0	?d?焁t?5?٠(?????]{??,Z^?"??[E|	?؈?I?dIY??^??עs??D??????????E??1??$??\"??F?I?k????????Ͷ\0?Y??\'???X?\ZKC?޽??m9,??>ei-_`~N?\"???%????9????&??`k?OS:?d?&J?k1???H\ZN???f)??????B???qd??9-m?#?r?e????*m?zD??V<?͜?r?mh?iV??????XSm?Ƒ!??????h?vY??[??)?#?)A#7p??????P2?؜́????ڏ?(+?????Lva?[???+?\rG?Оfb??M?@??D???Q????~?dW-??^]?5,oh???ī*+Z%8???s???_??o|??f/x[?4??4?l??l?ߨ?ā@?F?i8Q\'5??l?C??q?\'Aʀ?my\Z*\0???,M?????J7Z?[VzMgK?eh)??\"???1??????X??/?!?bl??yj?3?:ŨD?:???\r???x??'?B?3D?٫%??E?a\\?_?<?[b??R/??*????}?e??θ?????T?1PM?&z??Wtj?[?\ZN??????uyڣ4????@?	??	??<m??ٯb2b?]u??&??q???1???tS?~?ӿ?YMcͣ?(;?9?????栜>\n?C??K???ê???`?-?T@??v?V???Zi\0?s?N)!?bnrEI-G[ul\'?P???d?t??]|?}?_???U`??G^}??6?n7pL?F~??CʣhS??????8?>???-???u??Z??#S?????????7	GQ??⳽FǍ^?Zd??	?\Z]]?:??`?\Z?7??(Z??w??fC=??O??ԇ???߄??z?WQ?]???N^]??K?0??q&?\Z??Y??v?|???t???????x??:x\Z?=֟??????>?4H^?ff:\0?8?\0:??,?\n?N?:????m??Qy?{?E??????\r?2p?r??)???r??????*EE??<{??M????W????uN?¦A?????a??[?\Z.u?d???[\nc??b??˚3?2????S??D?I???1[???\?^b+LH[???´>M??Չ:??J??D???o??dE????\????$??? ?x??Qv?Hok?T1ȚP???̶??G ??~\n?%??C%v????D?!f?ZU%?H???r\\???????:???߷lPQ\n???S?A ?O8M?\r????.??N-?k˓?.N?????$?p??8?,??F????????Y??Z}??\0??\'???@I????	?]H\Z$)???=K??W????7X??J:I{_????1?l)?N?u?n?D(\Zfw?	??ft??????ż3????+?iU,Z?i???_\r?_\rF?????x<}?b4???>????c??g?>R?????'??qz??\'?D??r???<???hy???oW\"??Ba#:???p?g??????{??????ƥ(h???/?w?z???{~v~q?]y??݃???o????4????x??v??<???R??????!?(`O??Zݲ?!}?d??)`???~??E?b?ER̕Xj?&|???X??y?Ue?^?I?o?LpT?i`42H?܅????Ò?\"?y;?????g???,?0?? ???4?\r??X?Z???@???X?????????????k?Ȃ)??ѝ?3?L?U{s_??4??????%?\'????آ?zmz???z???\w?-?|xM ??TRܳ????P{6?\"???PJ?R??kv[JYը?V?DT]zm?צ8??}?SꞒ??+1Z??????0҃??y?Z??u?B9?t?h??_?&?k?<??V?0?~&a??Ȥ????9?%4???/??:?+???$K:??mh%???$Y??L˄??A<O???ku?F?????J???2???(?X~???=+?>?^(Z???i????X_A????w??????&?ۀ?{??({Ps4???0$[?m????]?P??g?-?k?x??@?hfL??Ы?䣠8tck???#y??C\"l?6]h3	oxѪ41\n?W?PҚ$??????5??0?s??q????\09N<La??\'????\r??OX?1??*\r\rٖ??2`l??S???????n??[TL3?!v??g?J?nEL?D?a`???Z[?7	?#?/s?r?}?\n?᝺??6%????d!?^?$U?nE?B?gj?Cw???q?\Z`?(?????@g g.I2??j?????L:?F?c???^??????S?????|??ކ?\Z?0??n?%5Y??]!<tT???????Nq?S??J?????E?G??FB????'X???N??@$!?é??	????pe5?? ??????W?K?\\\'?G_	]????I@?????x?F?(????\r\\/o m(?????\0???>Y?uЫߩ;\Z???????m,?Wֲ?0ڃZ@\n<?Bm??6?b??????%c&+?ӹ;x?jR???n?4q>-ݚ??Mam?P_[????M????;~?<?*?????cP?5?򦣌???=??h*???D1????i????Q]̚ZNfh)?Ͱ?ӫU????a???#???\r??Z?sm?L2???\0u???J.-??/???q?{?*????w?1?X????%?I%??(??#?D?P???????t???Mm?*?\"?A????aՉ	mS?????(ߦ<?!l?????kW?m??\'??-??Za	??]????????|J?n)??_?i?6? Ӥ?h6m?*????*m ??zV????????ɻ????????\Z???Q?r\"`/=???X???\'?K???6ܭA?)???ܤ???R??7??I??/Ԧj?#?Q???w???TH @????\Zr\Z?S?T?)???~?H??j??P??;rO?d?-???L???kJ?2?%?Ń:????٤??T?\ru?b[?h? ???j????U????#??}? ?^?N????]?p?w?]?ڰQ???m	???(?{????=h??h\Ze?H??\n,?JfT%??L????D$E<??},~?*z????W?|?]?%?6)?2?n/?C?	ӆ??vU+??6B??@??P?׼?A?^???r.?\n????r????%????????MjH???̥?S*?c\Z?KՆ\Z?\r?N???h?*?0?)i??Py??2?@?)4Eq??ʲ??n[k??????lP?B?"c?p?T>?"	\'ZdC?E\nݶYb?R??E??r????Dn???\r????!???V1?Ҡ?O?kl????m?I????v???GX0/!?L\"???\'T1????3???{W?????6m~ᾂi????_\\??ѯ?\0??p[(??4l??T,*???]???????\"????9\rdښ?:1?i??&a\\?I?2Y??]????-??L&??3x?Rz???%??@>?Ǔ&ԗX-?*T?a????8\0	??Q~??E????Q??x?????O??e???q?7I?4?H??cC+?Nh??UXڧ-????XWŪU~??l?0?0?S?	?i4?Tܐ!\\?*ހ???4?X#??:??\"2]J??RI?)?aQ\n\r?zqb?ou?9䙍?z\r?g?\0?????)vf?f??ik2???3?????h?j???c?k????\0?˛MB?7?a6sK-??@?'??:x??8x?x??;2\\?7??????a???n??a?Zq?7??潭?˴?}?Z?[?n?w?Ul?l8t$??q???ز?S?mjI?w??9zul|2?a??nM@S?@?@???m?Iq?6ϖ?<?c@[??z?	(?Xk?Z????`?\"??8??\??}???????V??+??}?^t|?!N?Bk8z#?\0$???[?F??T??MV????? ?\Z??k??Elh?1ĉ0R??H1?ͫz??n[v!UÆ????-vT=?|!??5?b?Z?/?Us?????????(GF??c????ͦ\r????\r.?p??>wTu)t]\Z}Jv䅃??Van_aV??x~?????=???TLQ0Ȓ?-\n?F????d7x?_?????ԣ????*,?b?\nx??Q?(O?x?>^=?_=????Z????k?2??H?n???]??8,(?L{??7??D?\0?`Cx??x\Zͼ<??qN?	??2????0?	?\0m?c:]??&Wx;f?V{???r???OW?OW	?/ԟѨ\'*???r???`pӝ?[??5w???*kmk??"?$\\Pņ??yS?(T??ZW?Y??֚???-?Qfh!?`ToR?iJ???n1gI?hb?Dy?H?????-S?q:Y?{?,eYѥB?????e\0??????xM_??7`i\r?Z?]%zîd???|?Q??k\nM?Y~-???\rRT??҂???ȧ9???˘ӭ??.dK=1????g+???p!?L?A،_??Ku??[ʰA?\'3鯌???\n??p?"??!ͦ ??u?߁???????A?0T???`??N??&[?-Xڟ????ɍ??v??5F???rq??gg\nb?\0?D.????{W&?`W\\??;????GA?G:mn\0??G?0???a`m?ƌH??\Z.~?????s}Np5???ti?;H~?$?Y?i E.???? ?Q?"???zt?Cn>?=E??P?=?"?P?A???\"?z?0????񊌳}}??:[ZG???oTnp?k???w?jE?y\"66?r???\nB?=?qp??ôu??\0??+\\ͺ߈N#???@??mR?????|sb^?\0l???Qt???N?`%PCI???d??<\rj?B?????**??~?-^???̙??????r??Z?N???8b~??=ӛ????#??(!??R???I?=2???|??H*???g???P??)?????M?d??\'?w?ʾf?!On???A?Z?0_C~??eA?;??O?=????y???~???|???~???N???????????>??i2?5????_?Xx)?C??????'?u?LZ??X?nD??O	?/?RܒR?9? ??????GW4??+d?<???E?4???yVy,Ȼ5?}?+?x?\)?0?èhR????Ѡ?y*Kt]?\??VF?Xn???????a? ?׳$cx??\Z?{???\"!?e??R{?????c?7???2???fFT???ڽކ֔fS??xn????X?oB#z?x???0<?E?#?͠}???a??=Mþ??%ā????紁.!U/????Gm?V??!??X??<T	*?Pϡp,?DC?g???????$??f??aF????0	%$!ݾh????4I?9#2U???????M[Q??wF????E???z??Iڭs)|????Pt?\Z??Mo?=???C??????_H???P#??T??I???\Z??M?@+?A9?̷???\"? K?Ia!e??\'?9??ɷ\rh???P|<c?r???E^??rڂ}m?6g??$???9???U???Z:??? ?k?)?g???????? ??H??#?P???9V?\ZX?P[?f?[7J?t8?d??D?O_?lk?Gg?~?????'c??x?b?i??G??j?Kx?1?~:	6?????!?h???bR?????d%?t?MA?w(??6Y7?????,id??}2??????\ZK?P???;U?o?C??x?3D??d?C;??????k????A??_Y?\"nG???0X?7??\'????fw(#????5Y\\\nHu?}3?2???H1?6?0b=R????ޡ>p??C????= ??@fX?}??w1|??N???Uʎ?K????L???h?,.1???1??????A?C??i??ˀ?nyiC?:\"??*D\n?\'?Nt?y?????\"?2??E8?)?{>??r&q]8@(D?q?1Oc~x???`D????t????8]~?\n?iG?|??????4?[???t9??????????h???E?????:???f-zz?i=+?=?????T????yDD?B?v?%f5Q?V%a:????4L?Y?X*??hCk?\?C?:$m(?W&?pz?????M*??ĬX%????????b?????????	@@??.?\"?s?g??t???\Z?d+@?VT5d_ߟr0?V͹[?aMa!?M?.?\nki?S?????b??bG2?.????X-Vz??\"5?nnU\ZVŵs???VUZ?U7(ɾ?1??$?W*o?~?61?C?:{!l????<?b1??X??JA{>@hU4\"~??#ns?rF7????4??????N??@\'4R????W??????œ???????????	\0?8???ik?p?:Q^&?D-???x3oKaCöY?????]e`Is?????????A????r???0?????e?4\0?E?\Z????ݹ?54??d?@??W묃C[???9??։???A????ʸ\"? ???r4e*?[rC}	?B?R?\n,t)???M?Vx?O?~??6+mi?1H?@?)?R?Μ???}~?!\\????s??+?a?LR\0CGhs֝q?????d???j?>??"?*??y??-Vƨ41?Z?ɡ????o?P?ЅX???????\????db????O?z5\r?yP??:??<{??j?????ǋ?x6G??????ea?????;??W\Z2:???_>??2F?X&:C??_<????????? 9,?\'?*k??????क?fC??j?U?0?Be?\r?r?^{?\Z??Z??b???b??u?#=\r??\'b????,????\0?B5?B)05????:Ũ??Jv?Ā?.0????.???dV????]%??_?ݣB@???%\Z?=a?GGݻ\nP?\rl?????G ?Hd?O?6???????,?'?????}/?g+)??Z?R?@?.?AXrX??KA?iw??eHil?:?殀?&??+??\ZF??`???\r???4?\nk?D??Ky1n?9^0ѧN3Ф?%?]={???!3Ȭ?j??)cu[?p?ˀ?0???f???/?:??$?L\'	?̅???-??Tw:>zxx??#?k????5?\'?????.W?jx\0{???e<??ĭ\rP\r???{~bm?)????İjk;?݋?C?\"??3[G=????\0?.?@????\rƩh??YW&??Q????V?\rp??d?,?Zp??}?z???O?;????Ë????9??]~?x???O??@?_??????????#???&???!N[?$6?˧k3Q?\nK?h?u?\'ҺlG?\n???S??ˮ?C???P\\?me?;\"wGSQ?\0??c??Y?Wgȩ*~??.?z+?e\r?w????{?J??k~????^?)?7?}Ih?=*?I!2??\r??6?????I*?^???1??s}?5?\n???^?n?(??\"?b?(̯.\'8????i???K????_.???~_?kI8Gk?0k??oܜ???j?????<V????4~??А?A?Ls?skˁt?fK\'?|1?\r?ͷP??ll??ɣ7]l?	<)̍v_?(]?m?????7 [n????+l?c?}L?????<???b]??	????>??ć],zz??\\?h?&Y2?Œ??ex??????Q}???:??r?M??q?m??9?Y??.?#??x{??Ƽ;oJ\\???\n?r???????>????[-?;-???????hS?;??????G>?4?.?S?4?R?r????ȇ?\0[??N???Q??\"????E?ߣ?3???]gP,??Bjp????У?_???c?t֝??C???H\0???֘=???E?z?0?????7i??\Z??v$?&sP{i?\0??V??<?%??:??ԃ:???.k _?Qx??^????Q???Ϗ?~B???@??C?????u?q??;m?:???.޹?*$?;?4?1?d﮳X,:?=??h?l??ip5	??\0??٦\n1??զI???\\s?H2%w\n?=?&?ۓ?Q>!???Lǿ?TW\ZCЃ?z??\r???1\n???`3?K)`L?xf/H?????B???ZJlݕvp?\n?0????~???P2???????,???r???RA?qR???$???w??W?1fhͬ?N???:?boM=\Zׁ\n?^G:~*??[3F?*?????%?4aP?RG,??r6R6a[\rC??a?wWm,ƟXeǀ??*l?n??R??\0>?n?K?rԱ?Q\n(?RK?<??f????\rn?? OR?;?B?\n??n?e?W?&??^uXK?א?ܑX??$?]MÜη?^?w???ZvA??? ??*]+5(?w?.\'???Z??\nAU`??d<??R	f!?M?B?l?#?e ? 6/J|?f????\\"?n??RW??wl?w?\nj?n??	v???*??׺?|?	???\\?O?i8??t??t?A?KڙQ?p??!?`2?|4?Eɻ??-%!?T??????):&?2^??I???f&?,\'?~??}?4???\"u??\"?Ra????~???٪??)?ߣ_0_?wϞ??\Z???&?J\r?pϦZe?Яb?I?2J????؛dQXo??o}??k@Cg?\n?Y??????o?tw???.???Zx?Zȋ?????ɍSAƵl??s???T?&1???PM\"?E??ua?.Mlg?G\\?\n?0S???)???\'V}????#??K3:2?^~`?nQ>`???=?lϰ?]???m??C???m??S??	b?\rT??fM???eec??n/??`h,???^??\0,8j1???Y?Fe?!G?RNΫ?b???ھA??U??r?V???n?HDu?\r????n&??|??e4?x?????\\L??D@?>???}?ŭ??????(\0>}*nT???(i4?!m??c????O??0??`?f\"???Q???2???J????:??֗\"|???־?J???l?Z?p??\\}?????_??l6??k曛:9??g-u?????O??h???x???]%?y\r??????????Z???D??P?Ǜ(????\"???V?|?ꓞ?3v5\0???د??!`:???1M@32$\rI??;[??|0???L??l?a?A#cs?#?$?:O?֪??we?x???????<\r?[???*r~>}?д?]?rrp?E8???ȥ??Iv?ζڛ?d?????(?f{??????D!Ŷ??[;G????|?.?????V_??PY?f?x?j???E??\n?[??ڸ ?Te\Zw?h???Sb???ʭ[T????G??J???????=}ED?u#	????{???p?E??x????B8Q?'?vI:?@S?u???,?\rV9 ?כP<`?????\???????hF???1F???O\Z??Z????<??;?o,	?N????v|???lN??? d????\Z???\nP\'9??щ?!??iƦ?M????E*\'|?h?Q?wq????\r?6?z?,KU??AXl6?)?AP??;?n?\"?\\?e?/I???\"s-uR?k?V?a????|[?ծ??v*???puH??wo xZ+??\'?n?y???b?????g???x?Z?4??k(????̍F>?????V{P~???ï??X??\n?|+(????,1?ly? +??0Fd?f???%?p??@\r|P+c?b??J???/?@L???????~?U9?u2???X?>{+,????Ԋ?h???,!?՗?S???<?!????3?????Y?????+??Q???ov\0????Jc?%?\n\0/??0?c??T?ώ?0?,??6H`???m?KI??????\'????y?i ?,t*D??`??}=??j?6??b??Z??7m??q~?Qx??\B/?????|N?l8?#P???5??\r??8ep?B2??????;????\Z????-??>L?Psxк<?A7?h:???Zw??]????????%tyR??5x?n????)?c?G?0?[a0??q??:.?ZU?J?i}??i??H???P۫?%?R=Y?\"?	p??&?\"2Ñ~$֓2??0?7&v)?:?}?g??M?2?F?.?e?)dv\0???????\n?V?d*<o,Ǘj:?yC??K??e<??ީ?"^?`Ċ-Hӟ?D??t?Dj+?????ɸ?-?[&I?????O?Z?Y?w\r??M!_??氐}v}!݈?O???Ef??R?\\?>=U?J??d?E64??\0?4???r?Х??\Zq?3????w????\0Y??j????C0??????З?;????-??????\\??\";???=.????~}~c????#?????????%?@w?s??7B???qs???=c?p?u??????a?$??U?5,?4E)??ޣ$rF??$V1?T?%??3?p???B?[ѷG;?????y?p_;I???_?`?We?l?ة%?/??Q???n4/?WC7??q??>3.Jl?Ӹas???q?p???????e??	Ѹj???*???S0?a{??I?Q?t?????bZm!]??b??=??N???,?F??x?Ā??(???y??E͐???PSm^??????7?Z?N??S?[j?K?P?X$?ו?]4E??????Û?: \06??hrE?QE???y?8?T^?}?_|I?{?B?\'??????q?????R?bz?-\Z??n?g9Q??*pyU??h??OF??b??X??L~??*?Y??SE?Z?E???Z?v6?%?\r@W?6˜?\ٛ???,??????.?hy??k??]\Z??rt??\'!qPfsZ6\ZO??n??rFE\rd:????]??	??????O7X?^???R?LR???B???,oD?筂X_?ٲQ??/??n???Y????B?ְ???*?ԇw???SCD?j?Z??A?\Z\"????a?x?_???{??????Uˡ??fM???8{?@?f??p?I???]???h@??$?	Ot\n??9??=?`E?f???3???`??\Z? ???ћ&y?kmʹ?`X??]??\n/??p?{O?o?~???\\EIv?y?«?\nd?a?h??i4???????????????/_?/?=}?|?>\r??j???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:74fa431adc28decd000df2a58817db2e','e?͒?8??S>%????9?U)a??????l??.n?I??i????_&???\?4ڽ8??e??h4? ?curb܄CE\'Y??0)?ȶ5Zݢ??\Z\r??????????h?hW?w=?<???6???;]m?lG???j;h???!ej?\0??x?|?%?_/???Z??jP!??jA?\"?F6?#إV?ERf???5???cQ!H?(r??????k\\?"???????????|U?˭?F?3<??\r?v6?J?RR+	?\r?????m? ?]??g?[i׊ݑ7???z?0%z>1???G%GIFg??8b?????f&Ռ??\r]??]????@???ާ?RX:???]????;???J??!???Ш%*ߓ???zr?*yŵQ??????E????l\n??#a$??;?nz?????}?JNG?1?8??>NQ?\Z???f?5)t?\nVB??????a????\\?o\'?\0)?[PnG???8??Hy Ձ|??49?c?1?wz<?"?????}X?+?e3?????e?\"??T%??ʶHڿ~?dk?6?r<?B@R~X\nEU??ʳ2&??0????;????rD?,n?v?9xz????o?3iuҸ_#?????????6???*ڱ5????????<?r?$?h38WUZ?&?/ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:75d84985b90fd82ec9f0bbcc0cc05f59','e?͒?0??;>?\'?	aߡ?;ӑ?\0/?m?v??rd????Y?????ܗ?_???\?4ڽ8??2!z4\Z{?ʱr?cCA?\n<??UXà<# ?hu?z?t?U4\\?h\Zt>\"??\'??@?+??????!,V&??6?_???mlT[A?WUeW0??u??&????E0??W??;?\ZTH????j??3	?n??\r}v?UC~??٠;mFMehe?1???xk9?ICQP???????PW?{?=Ѓo?Jt?;?c??? Z\\?_?RJ?&A?????h[?J?*مj.q4??v??ys?!?\Z?w(?Ǭ????pT??d??????87Rѕ5#??d?l????f??*????!??ӁLA??\n?ν??Q1? w??ͮ4~????}k??FMQ??\\޻0????????ꄨVD!?!,B???c3P8}	#9??\"???g_O????Ur??I|?aT7???o??4??I??W??O??@7\r?"O]?????w????$ݐÆd?o?CNRl?C??m?N?a\'۸?m????????a,{;???f`?N??^?	~>?????<IΟ?`s?^?????$Y???H??d??(\0?`2??Ј?8O?????W7?c??<=}???????Zi??⇱?b??Y?eZ??e-??f???7Wf????\????\"Eq?????_^??_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:76c8e3d81c3fcd7f19f8adbc074f719a','e?͒?8??S:%YgƘy?????T#5?AH?$L?????xpqS?????kR?az?s?h?????@*Ǫ??	??N<??	l`T??Mc??E=!?\Zne7?-:\n???8	?Q+?$?zy?U???m????R??A?vC?T\nk???wJ:?\\????_ܙՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B?.??!-EA????!V?u%;?????.?D?k?Í?f?A??l?*???Tk?=u=5?AH?%?P?NF7??#o.1?_#??J?80????J??\n??8`?????f\"Ռ??\r]??]????@?????R?;???]????9r/??J??!ُ??Ш9*ߑ??Yzr?*yťQ??????E????l\n?a%a$?7$??????G?@???p?|??x5??\rMjmR???????)?Hø?W???Uގ?RV5?܆d;rܑ|G?yݑӎ?;rޑ4٣}?>?w?<]#????]?,?uo???X. =???,??פ.??e??DdY???[:??dis>??%f?ȋ??F?^????Ј?8O?zx?!G4??lᝒ???o_???V=?V+??9P?0?_\r??+???ks~?j??[????:????L???Ԥ?Q??7????=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:76fd1d19b2a90dbf9eccac4421a18e1e','e?͒?8??S:%Yg????;?T?\Z?\rBr$a???%?????w?_????_??^??ƿx??0!z?{Pڳ2?a??V??I?aЁPum??%;?<T:9??~h\Z?!?*?Cx?5??+???(???ao?SMV??U?????A??nc?tw?5EO|? Z?|????F?????Ҙ.????Wʹ?N`R6???V\r?2f??\r??US????x&\r???g;???U?G]???tA?M&)??bpLno0V?hqY[s?Jie??D?nDwO?}??E??S?Ts??5?rs?(?????@?w?	7?ťV?\"?#y9?F???#e?B9;?iNn?Ů$???|kGJI?0AD??)L??d?WI??+Vk??????]i??7?CZG?zRZ\ny?;KW??Z]q?A2\'D=p\"m???'??????{XHɩv??m3?z?r??R??-???Gu?(??:C?^??z? }?t?c\ZL3?.???????\0??5h?\"?????r)6??r??m?5???+?/?~~{[????O̿???E]?0;d??????q/????Ϗl?????Ϝע?y?ʫ?r)eQ?Q??[[??t?B?h???????o_????&?FY??\'?0v_-6?K????tSY+MolI3I??_?Q?:~?r8g???(??s??˷\'???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:76fd38f59f3838caeb8822983b688d7b','e?͒?8??S:%Ygb~l?r??R?Ԁ!9?0????????4?J???2:?/???š??>???T?U??J:	?*&??QyF@6????tP?h?????D(?\'??@?E???????,V%?????j?3HmlT??WB?r){P?(???x??r~{?~qgV?\n?????P?ߜlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ??Gy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쎼?Đ~?Ի\Z(??Y.??E8*9H2:?????87Qѕ5??d?l???uf??j?????????}??٨`?{I?W\Z??r??}g??F???\\޻0??????.5?ꄨ?G!??-B??жcP8+	#9?ې?Ћ??G^??Ur??I|?aTw???`??4??I??W??O??@?#\r?????????$ݑlG?9?yG?)w?G???N?a\'???}?\Z??oo??a?{;????^s??*΂???g?D?c~l?????i???x?\"K?&=?M?&M0Y?h????=????#?eqc??????/???x??I???(~???۟}]f??9?T5Rю?h&i?}}wU^?deszm?2+9`]?i?Zf??,EQ?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:779c4d58e22c1e7f3c6ace5f63afa437','e?͒?0??;>?\'?H aߡ?;??\0/?m?v??rd??>K???L?|_?~|?s?h?????h?*???q\':	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH?????p#?"???b????)????TS2s6t%??3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????j??Hh+??#??w???*9l?$>???8E??\Z???+X	???S????q???~s{Vz;?HXY?r+?nH?!?\r9nH?!ņ?6????Q\'۰?m?6?????eq????V?i3??*?r(μ>??}8$\"???????ZL\n??????????nL?f???9??+4???^?C?Ͳ??[Ex?????g?;??Ϥ??????????.3??^*k?hǖ4??޾?????O??<????u?A\r??x?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:783c6985e28bf9ce868d284b6ec8dd71','e?͒?8??]>?fzI?????jJ??;k?0٭}??\r?Iq?>K???J?X?az?s??????q>???T?U??\n:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V%O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???\\??l?Tr?dt!+??pn??+k&RM?!????ҕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr??CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??;???Aª?ېtGN;rޑˎd;???#?????N?q\'???5??x_??`?a?5oiو?Dq*?e?]x^Ǽ>瘖????'[:??d?ӹɰ,?>????5iA??`???Ј?9O?zx?!G4??lგ????_??^??V+??5P?0????*???ks~?j??[??????\'???ӢnJ?EV??8???<y??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:79be1ba00b3ab75628481d7b25a73316','e?K??0??+v|???????;?F?c??	M;??rd??>K?^[??l?^F??_???Xt?2??nҲ2:0????\Z????(# ?F+yz??P?????h]@XG???ZՕ???g???X???n?????6Am\r^$Ե??????>?????CU??(?>?Ҙj@??h?D6??V-?ERf?ꕞ??5?,???.???!-EA?WF?8?>V񇺒?h)???\\T?˵?F?2ܿ?4?z?J??B?????\Z?\nM?P?%?P?NZ5??#?/!?_#??J4;0???m???2?28??~k\'??2z\"Մ???	?	]?O?R???????0wړ9h?Ja߹?s??^P?ٕƏzC?+?*??sT?#??.????\"Y??\r?:!?Aap?>?w??$???HεK7ķ???W?G{O?????|??p5??rMrm???????IP?ø?W?و?Ό?bV6 ?;??qG???ؑӎ?w$??hu?;?????}|}]???~??7;G?Y??y???@?c?&QI^???`K?V????y]?*??~?9?y?f????R???u?????rD?\\??m\"?Sr??????g?????????gI_?im?????cK?IZo_?y,?s?qQT?PY?????.?$?\"M???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7a2e21e33278c82da101673d01e29505','e?Ks?0????p?l?z?3?EZ@AH?$L??{W<ܴ?vW?bqE???u??>???F?g?????FcR9V$?8??#+??\nz?YUF?k?????v}]????????\0?????琇?X??F[Y7~????U\'??Qm-^a0???g??F?????E0?????Y\r*?~b\Z?h~u?c9???;֪&?Hʬ׭6??24R`?"*??ZE?\'RS?ziM?c]db??+ن}??7Q%???n41???r??/T)%u;??Zoo???B?,ٙj.q0??v??rys?!??%P??\r?\\??l?T??d?\'+??pn??+kR??????ѕk?)	??!????Ӂ?A??\n?ƽዳQ1? ????4~??}_???\Z??r??u???\'\'ɡ??j?Q,?B?[??	~?e??p?fFr??AB[AO??i???T?\r?\'??Q]??)?W??L?????^?J??]o?]?4??<v??KX??? eE?H?\"?٭?E+???EN+?&k??:]????ׁ?s????΋ۇE0??b~??????M?؝8?@U??O?4)??N????ƦN?\";d&dɑ?I??xJx?? &??0????;????rD?,?l??9xxx????????ji?G??????LOks|????[??{?pŮ???6ˏ??	H??oE?bv?'??/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7aab19d4b4e976135e946ca21009a5af','e?͒?8??]>?fzbB ?0?=NՔ0?;k?0٭}??\r?Iq?>K????v,???훹zi?{s?˄?@*??:?????F??F?{ԫ??JEí??E??z2?N4???PR?=?\"???$me???6^6??F?\r?xCPP?C?T\nk??^tJ:?\\??u??x0?A?ԟ@Lc~?-???`???`???I??????N???\nA???F?ㅴ?^Y?\\9?X?ԕ?>FGy?໨]??7\Z???m?׳?????_HP?@??8Th;?Z?.ٕj.q2??v??ys?!?=R??D?fE\rw??Q??љ?,?_???2????H5!3?`CW?~BW?3?T??A@?\r)̝d??R???????Tlv??????\nh????c?=?H?????N?z`Eb?"??m;?\0????0?s??nz??+??}?J?{?9?O8??>OQ?\Z???&?6)t?VB??????a\\幫?ܑ?ގ?	8+PnC?9??#??$ߑˎ;{???????>p?F?????a?{;???????L?% O???<?dYq:a?d?????'[:???j??gIJfy????).?c??*?,o+4????C??}g????????qϼ?x/_I???\Z(~??o?%}]f??9?T6Rю-i&i?}?peZ?0/???~:c?f~<p??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7adba028c2059edca4b6697d8af937bb','e?͒?0?????͆???}??zܙa??6?i????7???$;ns??Ρݘ??F??C??????˷k?8???#˙?:?Y?F?[?????\v]U????????\0?????琇?X?<?[Y?????e+??Qm-^ag0??5???????E0????ŝY\r*??\0b\Z?%h~s?\Zc9???;Ԫ\"?HʬӍ6??2?`?"*??ZE?GRQ?zaM?C]db??+?5???<Ђ??Jt9;??????k??_?RJ?$A?\0?S?[????P??\bot)??;?C???n?Dkf????+?@V[??\ODW???#3?`CW????\\mzJI??A@]{	)?d??R??r??????Tlv????ז\nh?????]?=9J?????N?z`yb?"???6??0?0?C?	m=?zz??>P%?%???Fu?(^??~C????z+!~?t?f\nt?0N??n?o;?	?PnFv?.?Ar\\?lANr^?d?D˨?e?2?x2E?????}X?+??X????????\??M???G????ol?d\"9???J?r^?3p̄H???Y0?h?????C?Ͳ??5?Ex????*???|EZ?4??o?\rV?}]???9???Rю?&i?=?|?g \n?N|?=?Qp??9\'(?V?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7b216eea0b2da9ae507f2222296684b7','e?͒?0??;>?\'?Haߡ?;??\0/?m?v??rdɐ??Y????$??֏/?C?b.^\Z???\Z?=H???n¡??\0??dk?gd]?nQOH???k?rM???Bz2?N4ZT?+ɻ??C?e?me???6^ֽ?F??xEP ?]??????G>?筒???-?wf5????iLՠ??f??#?????\")?Awڌ??J?1???xk9?ICQP?Nu?}?U????;?68?z????)v????/hÁ?????R???L?j??????B?"???d????ڹbw?%????@?w?7??Q??ё?,??_???2???I5%3?`CW?~JW?5#?$Ps?? ??????N2?W)??????0??*6??QoH?C?K4j?ʷ?ޅ!t???%?J^q?AT\'D=?<\n1n?'??????{XHɩvي????}==?x?h????O?????S?zs???Q-M\n]???????hy?7?g??????5(?\"?rؐ㆜6$ߐbC???u?\r;??lO??}|}]??`?a??6ˎ???NX??X?-x???վ????;??$Y??????D?	?3&Y^ ?????2@#?????rD?,nl??9xz????o?i5Ҹ?=?c??󳤯??6???*ڱ%???/o?<?y?&\'D???3?????O?????>??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7b87914d3571cd64ee9487a5b827d0eb','e?ɒ?0??S:eq&?f?w???\Z?\rBr$a??	??}??? \\?d???ph_?K?݋C??????+?;?X???L`\r?򌀬k??????wCӠ?????C?\0????n?Y?L?F[ٴ~e???u/???-^aW0??u YS?G??? 8??????R\01??Z4?9?c9FeC߃?j?\\$c6??QSZ)0f\r??ZE?gҐ\nJ???é.?Z??a?GyL??C.?\'\Zǘ?m8?????????I0??w???h[!u3??5?8\Z]K;W쎼?DI?????p#?,??9??b?!??)?ʚ?L?l???Бk?)	????!??ӁL?]?ɾso?jmT???b?+????~?|k??FM?|K!?Bg?y????愨????-B???c3P8}	#9?]?????G^??Ur??I|?aT7???o??4??I??W??O??@7\r㲟???Y???ae\rʭ?C?r9n?C??mH?!ņ$?-ڪN?????+<Y??????<?<˻??????x?1??\"K????>????-.Ǵgq?N??SZ?<????<??߭Ј?8O??x??@4??l??)?????y?V>?U#??ٓ~?/??%}]f?gs?????7?????˛+?eV??Ez?.??H*OU~???_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7c830e3e3ba0141ff9d8db2f4fa312cf','e?Ks?0????ئ???z?3ap0??K?????6??>K?^W??R?~|\Z?'s???????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ??s?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??1?A??@Lcz?ͯN6?`,???`?Z5?I?\r????V\n?YD? ??[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l????T+?-u=??AH?%;S??F???!o??_??Jt?c????????????)????T32s6t%?t?3RJ5?yz?sHa? S?v?¾qo??T0ȝ?b????d?T??T@???|K.o]Bg?Yr???ZDuB?ˣ?!~?hݱ(???????j??Hh+??=??w???*9l?$?0?x?E???\Z???X	???S????q????p	+?????A??$ߐbC?rؐ㆜6?C???Q?۰??6??????eq????V?i3????@?χSR????	?WX%????l?brĢ?f<??8qQd???yUL淕\Z?'?w@??!?Y\\َ?\"?Qr?????^???qo=?c????eZ??e-??f???wW呟?s?H?"??qUV5?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7ddb2ed46e7a5ce1921a60bedd4eae5b','e???0?y??N?pRd??w??i!??0u;}??&x?I???????Y?????(k?????Gk??=+?6.^h%! +??ZU????????AB?9?? Z#+-???DY??{k?jڰ?56??Wƺd??/\Z?t+S??3??)z???|~4r9X?3?c? ?1]T?W??ic???l?pS?\Z??d??;\Z*C?$?,?Aܝ!8?)?\ZRA?W?8??Q??C]?????B?LR???1e???X??ښUJ+?$?V ?%u3??A*?%;S????[P???@?????	W?ťV?\"?????????2H???On?Ů$?=?֎??D#`??ކ?S?:?ڧ???+Vk??????]h??7?CZG?zRZ\n?ta???+??.8???8?6I?p?|G?@?=?ɩv??m3???r??R??-|??Gu???2C??5)v?NA?????f?a???~?+??pV֠?????r??ؐӆ?l?\r?mU?????M???????;ć?n?'??0?UG?/??*?/???!;T<;??~??S?/x^qA?U?Ǽʏ???9F??nm?F??????Y?W?c+??\0_>=?w?k?HV???gO?a?6?K????tSY+MolI3I?ӛ/??RF(?? ȿ?Y?RH????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7e97d510060a6c54bcd8dc138a37c6f0','e?͒?0??;>?\'?I aߡ?;??\0/?m?v??rd??>K???L?<)Y??틹xi?{q??e??h4? ?ce?c܄ÉN<??	?aP??um??E=!T*\Z?e74\r:\n???8	?Q)?$?zy?????M???Y?R??A?vC?Tw\nk????J:?_????_ܙՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?.??&\rEA?W?8??!V??????(??|U?˥?F?3ܾ?\r?r6?J?RRw3	?????\nm? ?n??]??G?ki??7?ү?zW%z????G%{IFG????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ7$ߐbCNrސ4٢m?6?w?\r<]\"???uY?,?eo?????c???L\0\0?diʱJ??Y}????;????s???NE???<??/D0??h????=????#?eqc;????????wx+?I????~?/??%}]f??9?T?ю-i&i?}ys??\?c?$y9?*.N?????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:7f458f20d01a33d95578623403bdc270','e?ɒ???.NY<-?ek???j\nAKb??d??Ӡe??????"?QA??[0}uB+{??%?u?tTHK?hO???3?8u@\n¡??t??*???ai)??o???.:?? j?ɤ`?g?yY???ZQ7ne??U\'?6?l\r܀JʹYA?????R?5F|??5RX7x??_f?>??/??bw+??\r????j??И?UzPX?FpY??Rg???Q?^\Z?X???v%ٓ???uM0	!??C?{?Ҍ??7?????7-)k??ߕ`\Z?\\?z,?k.`Ъf?؂??I?z?I1?O????_J?t??>??Z;`!???&??\Zߕ`??m?qP?NC?G?}\nc?=E?U??p???e???b?????/]c??Z??\\?!?.??x崳 ?r?\ZsD??&?h??Ѻc?0~3?9?]???XO???>?{*E????????n???Nߦoh?s?|Wo?\Z?<?IU?0????lD\ngz?1)**??n?C?\r9mH?!?r?lHm?u??ou?????????!????_??QG?f?,??(N??????ԩ?xa?????ğ???L9MӼJO̻LwKMq???^???@8?N?d?p?????3???j?????>k????t??xSQ	?ol?3????E^?s?D<?Q!?dY~>%?JKΒ<?{y\"??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:80ce56b9790a7408066c17847d538b24','e?͒?8??S:%Yg?̼CN{LU??\Z?$G&??[{pqB???5?N?"???L?{i?{q??a??h4? ?cur`܄EE+Y??0)?ȶ5Z]???\Z?{7u:\n???	???$?yp???h+??d???66?m???!???=???b=?<?~=\n?=jq??3?A??@c??ͯNv?X?ѳi?.??.?0??ͬ)\r???awo?\"??\n??f?%/r???*?{?ű\\0??4yKv8???7hÁ?x[}?L)?????p]Oc??GRwK??s??ѭ?k?țst?D?k???W????RNZG??LDS?$z$5?`CU????\\of\nI??A@?x!,?dq?????r߬???? )?B?????\Z?J?Q?W?\'??*L??t????DqBT?&??-B|?h[?(\\????\\r??!???W[O??1???䴇???C??cţ?\?4?[?BU/`%?O??@w5??T??KX?? eu??G^w$ۑ|G?)w?ڑӎ???N?n?{?ӽ?????n?ۇAp????LV%?H?*)??UiQY???I?JP??[+uS?&O?E???#P??\0??dAe?[?q?~t?B???ŕ??%OO߾<???&?N\Z?s$?a?\Z????cs??n??[SO?????~G????????Ye????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:810622990fbefe6aecff490754f841f8','e???@?\nOm??k;??=???DA#?t?Xu;????yx#? ?g?1g]???_??n,?/?j?iY?]3??D????X???U???E?RX(d4\\??Z???s?Ve!????,?˳;Y+#?-t?v??&?-??+???4Rv ?PX???p??º?"?v??bfF??߁??P?߬?A?12?`?Z?I?y??*C#J?YD? ]?-?Hj??R/?nq?????ue?f???&?D?S?Í?f???4?t?J??B?#	??N]??@??B??Ts??V?0c??%??S?n?Dkfx	7?}	G):AF?2??k{??2?\'??Y??wte?J%*???KHa? C?v???q??P?ٕƏzC??P?*א˹>t??%?R\\q?AT\'D=0<\n1n?'?????{?Hɡv?$?????{?@?????F5??S?:}??^NM\n]????^3	??4??<t??ݲ??? cy??!??O?!Ǆ?$䔐sB?m?Ҩ?4??;KϦ?}}}???`?a?6????N?hi+5Јn??uN??\0?,?7?f?fJ?WqO?Z??Ҫ????}???~?????^	I;2?????a?~ʶ???Vx???o_????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8132d2de14688479e9b04aac62a28b69','e???0????N?q?m???cf2?????\\I????{W<?/????c??m?rϽC?l?\Z??/?\Z?H???n???\0??`+?dU??QOH???K?u???Bz2?N4Z??+???C?Er\'me???6^V??F??xAP ?]???՞??Z?G>?獒???-n7f5????i?U???z??#?????\")?^????H?1???3xk9?HMQP?-?u?]?U???????|????.v????hÁ78???P???D?j	??????D???g????کb7?9???ޕ@?6?W?=????$?YY?x??se]Y3?jJf???D???\\cJI??\rA@}w)??d??R??r_?????Tlv??????\nh??o??}?=9I?????N?z`yb?"??-;6??0?0?c??nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?ܖ??	VT?܂?+?[???V$[??+rZ?d?F먓u?:?x2G?????}X?+??f????p໽?.??+S????M?b+Dz???)?MҊ???`2??Ј?;O?????+۰E?7J^?=???$?Z\Z???0?O???.??_**?h?4??ޞ>\\?/???T`??|<??x?B?????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:819327b6e8bfdc26ba8348a74a04f3bb','e?͒?8??]>?fz?$@????jJ6?;k?0٭}??\r?Iq?>K???J?<????훹zi?{s?˄?@*Ǫ??	??N5xd???QyF@6???j逫h?????DXKO???F?\	%E??(BX?J?d??l;???f?????o\n?n`Hك?a?#???NI痋`???f5????i?5????#??\???\")?Q?????ZcQ!HW?(r?????Թ5=??C?U?C]??t???\0??*?Z??q?????=}?J)???U???ǁ??j?۹dW????ڥb?5??H????̊\Z?[????$?3YY0x??se]Y3?jFf???D???\\g&J?F-`??>?\ZR?;???]????9r/??F??!ُ??\nh????c?=?H?????N?z`Eb?"??m;?\0????0?s??nz?????P%????'Fu??(^\r?C?Z??z+!~?t}`\nt;????.a??#~??U\r(?!َw????ؑrG.;?&{??:݇??N???k????.n???Ê?k?,âY?^???5?B?\'??9gp??ϟ?????4-??L??5<???T?|)???dy[?s?~??B?h??;?M?J^^?}?{?{?JZ?4?@??3???2#??????vlE3I?ۇ?NU?^?Y?s,ySS?????ɩ9r????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:833a25f5896b2e6ca8725c6e751c228b','e?K??0??+v|??	?????;?F?c??	M;??rd??>K?^[??l?^F??_???Xt?2??nҲ2:0????S\rY?l`??M????ZX?d0?vl[?. ??#??C??r)x׳?X??d??h;??ډfJ??????l?Oف?@a????\n?o????wfH??i?5??͊v??\"??\???\")?Q?JO???\ZCA?KpFKr???????{??"??C]I?????\0?*??l?p\n?P??=ku?JI???x?nxO]?C??C??j???\'?\Za??ݑӗү?zW%????6?G)AF)Y????e\\=?jBf??????l?\'J?F????S?;??\r]???i?9k?/??J??!ٍ??P?*ב?F?zr?,JqťA?????0?A???l?a%~$?7ķ???W?G{O?????|??p5??rMrm???????IP?ø?W?و?Ό?bV6 ?;rܑӎ?;???#Ŏ?w$??hu?;?????}|}]???~??7??I??H???9Ƨ:?7??:IO?????դ8\'?????SH??ʋ:?fit:so??-5Ј?XG?zx?!G4????%OO_?=?=??&?Vh?s??a?l????R?I;??????????8!I??8gU??\"OR?a??I???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:83432c0af42f12d1eed8cccb601622ce','e?͒?8??]>?fz?H??N{??)apc?????6?&??,?C?*9Ǌ\r??????F?7??˿?????r?:7???\0??b?gd???OH???[ٍm???Bz2?N4ZԊ+???C?U?me???6^6??F?\r?xCP ???????G>?睒???-f5????i?5???v??#??\???\")?Q????I?1???+xk9^HKQP?=??C?U?C]I?t???\0??*?Z??q??І?=}?J)????Zx?H]?C??CR?sɮTs??э?K?țk??zW%z:0????J??Ndeq??\n??Ate??)?9??S?r??(%???}???0w:?9h?Ja??7|s6*?R?ٍƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap???O?????ε?$??????g?@????p?|??x5??\rMjmR?\r??????)?Hø?W?#???$?j@?\rIw$ۑ|GN;R?yG.;R?rܣ}?>?w?<Y#???uq??ֽV??`<ˊ?,?-S^?K^f???p>ee???l?jr*ϧ\"?r?\Z?\\r???,I\Z8???e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???W?%˳???&IEB????cR?)?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:840d412b1f682f8e7119312870055280','e?͒?8??]>?fz?I??N{??)apc?????6?&??,?C?*-?ņ?th???ݛC????F?0R9V%?8?t?UL`??\Z?????+??m??PHO???F?Zq%y???X?J?d??l;???f?????o\n??R???+PX???'???"??????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r???+ف}????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??DOf??;?? ?DVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?|CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#??w??)v?ܑˎ???N?a?????\Z?????ۇE???b??7?<?\0bҔ?????N?,?????'[:??\\??p?6u?䧢9?R???y?????Ј?9O?zx?!G4??lგ????_??^??V+??5P?0????*???ks~?j??[?????UqL?:m?֔XPVy??E??NY??~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:846ce3c3e07b56d89d91075f1ba19afc','e?K??0??s?)??&`??;d?e?R?Ԁ!9?0qR?{Z<????[??L?<)Y??틹xi?{q??e??h4? ?ce?c܄ŉV<??	?aP??um??E;!T*:??nh\Zt>\"ғ??ѢR\\I???????+?֯l???66?????!?n??=??$k????J:?????ܙՠB? ?1]T??\'?ic,Ǩl??S?\Z??d??3j*C+??A??[?(?\ZRA?W?8??A??C]?????|Mbȥ?D?3??\r??6?J?RRw3	?????\nm? ?n??]??G?ki??7?(?@?????7????SF^{??H?֌d?\'7?`CW????\\kFJI??A@oC	)L?d?WI??{?k??????]i??7??C?K4jR?\ny?:KW??J^q?A4\'D=?<n?n?'??????{XHɩv?	m=?z???P%?-|??Fu?(??C?Z??z+!~?t?c\nt3?.????\?o|)+kPnE?rؐ??oH?!?\r9oH?l?u???nu?[????????X??|?^V?"????\n??exJ3????????-.(??M?=?L??cE?a???e?[?q?~t?B?h?ō?J??????????&?F\Z??\'?0v_6?K????tSYKEolI3I??7W?1\'U??IQe?8??M??N+H??O_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:84fbb9b48d238037c2b38e4df9018a44','e???0????N?q?????cf2?????\\I????{W<?O?????????{??ٜ?4?;??2?4\Z;?ʱb?a܄???xdXA?<# ??u?zB:(U4\\ʮ?kt>\"ғ??s?ѢT\\I???+?;?+?/t???66?-???!???=???=?<o?t~:?=jq;?1?A??@Lc??ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????u%ݰ????&?D?s?É?f??A????UJI?$?????J?\r???Kv??K????*vCޜcH?z?	???p%??T??d?\'+??pn??+kRM?!????ґk?)	??!????Ӂ?A??\n?ƽ??b?An%?]h??7$???\Z5F?ry?:KWN?C%/8???X???~?e??p|3	#9?? ???\'_??4???d????x?è??ţ?\?74??I??????rS?랆q?Ǯ?p[Vx?\'HXQ?r???E?ٯ?E?+???E??Z??N?\'븓u????????a?;????`pJ?)/?I?;??(Y??Hwɞ?ȷ??ol?lR???~?=?x????\0d?/O?<?Lw+4???^?C?Ͳ??\r[Dx????c??-^?GҪ?q??C?d?~/????xSQIE;?????????ȳ?,Oe?SV?Б???T?m?C?=~{y`??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:858dd26d21153cba29d325d96ee96047','?m{????\nY??bDɖ\'??I?m?m6q???})??S?JR?????????vϹ{???$03?0\0???ӧ?Asz??e?x:O?i4+?Ͽ-??/??«Qz???(^\'qx?.????{??͗????0Et[?? k̳?????$b???q>ħ^?غ???ms?'?+?X??/???Z???o\Zs??ѭ??FF??l??^p??x????\"k/I? ?\"??qV?e?B!\'??E6#?W???Wlw8\\yK??nl?4??#??????2??w$??瘒???/??hPƶ????8w???ww?0?&?V??\n?^t;??(????n[? ??Z-??f??ʜ??RV?H>~????e5E4ԕYK?\"???n\Z?C??/???\Z??\"^????O=???{{{.4k???,?B???PK?C?$?9(?\"?/??F?????'??\Z??ï?[?&rDNQ?y.2??b???*;??Mj?i??^4?????<??2?\n?????|z\\????S蝎#E?l0?H}?@???m?J	???k`?	??ϓ?h;C(?"?\Z?{??@??R\\????2mГ???$?(??P\Z?ߧ????\ZGaU?ٴ?(???????????*z?&I0?Q?5??????0????C?_??????:?S\\???\Z`<????gz?r5???P?H?p0јhv?A?wH?????2?$?ް?EwN??Ҽ???\")?	ŋgy̊?1R?N?E ?\\\0??e?VK?H?AX0?\\߶??\\??l??Qs???j?X?n4?a:+??FY??&?[|c??\0bh?"???2?XPP?q?Y??????u?7K?R>?i????:om??]@??iQ??????3?_B?436]t??????*???4??w?cd?k$???Vѕ6??^2v?????rXԼJEXG???\nl?\0?y)??g??X??E?Zu-i??i?-[?C}I*?-???=??0?[}?????\'??2[???i??%eV????xv???13?????AP?Lˠ??6???8?]?[q,p?B?$&8jc???????!\r??e?׺(].??\"?,????,?I?@[??@?AeH%\n??ҋJ?9m??f#?j?????¶I=??-ֺ}U??\n?aM?Kٛ*-?5Ue????*hx??jW?9????+U\ZE?%??????????\0??7T??6[Zo^/@?ӊ???????]???kK?ġ???8?07?	????????֤&???L????\rC?4?xu??RB ;Z??/??]???/_?/k?F??0??F?????\Z?4??)??ڤ??χ\'?XsN9?H?բO???˟??&?`\\p??F?y??O錎aiz?d.??&?????S.???[?D7??@???1??:??.;O?0?\'?:?????I??b?ަ0Cn0D?4??E??p???l\'????Zti?LfKg??<?4?X?-Za?9~??:??]??N???$?T????????$?E6?4ho??_?\0\n???̵~?lW1?Ӯ?Ǧ?i??{???8`tAl1[ת_??/K]Ә?!???z????"??4??(???????\"?b?k????|_?6?m??;\r???l?\n1??s?k?HZ??c?I?f6?M#?oм(???+zO?lU??????z7??(l_????Fy?9xVzѺ&??,????;G?m\Z?j,?WC^??j?%O???t????r?r=o\Z??o??{?I??f??/?4(Y<?,V\r?'?f?Z??N?L??	?v:????j\\E_?<?q???7W????(OY?????i<?/?t?<<???`?\Z?~?????O????g?'a???????iP??i^dA???.???|\0?o?#?`?Jo????F7?W??r??????%????w???2p?r????Vj??????????_n??\'???3j?/??:\'?a?zRta;??J??,?ܡ???\\o?t$S#?S?????\0?d?x??%JL??}%l????bI?09???\n?8-??\'???0??h??te?x???I?.?(V!!E???\"\0?<?????U????????????\n~??ogv??V<a?(?`r???l.\ri?Z? ]?nM%?H??\\????????2{?^|i۠?T#D@?rt? `o\np?⣽弘?ӵ1\\1?Loں\n֒\'?]?.?G??.?0yr$eZC?vj??+Sj+????M?S ??h???6& ???$? i?fh??F?B??o????nK??????????\0???\Z?ӕ]\\?W??????????c<???\0t?膗q2^ڴ`~6k???)K0˹???oG{ߎ??x?<??????????=&????\"???GZY?!?(\nFU58?????3??^??5???4?z???????@oG\\?oq??????h?}\\?:a?:????(?y??Z??????????:??wNON????=?7?^??N?ӧiF?$???9???t?AXo?i?k?e??|ȧټ??=?i????pw\'ï??????D?Ɇ??kRIG??&K??\Z??\n??U?	?^?N?WeY`?Ȳc\\??ߣI?۰䦈d?ݶ??լ?oG???????F?1$?z&?????W????b?J\n?'?????fd?Ȃ!??э?#?L????/ݷy????????4??:(???]?[???M\\???C褒?,,??EڳI??aODRJ??Z4[?eQ4?iG?Bt[	Xֲ{e?צ>?Ӫ-???]i????j)Z??zhh(????by\rЇ???`???9?L?\Z:8DX??!??`\Z?\"?LN\\?#???E?-???g?n?\ZJ?d?*??V?A*O?ɢ?8m~??d??C?????s?ؼbQ?d?7ƨ1`??5?Ӕ??d?z?hQ佤?i?F?f1x_A???z\"w??J?Ⱦ??????B?kh%??\"W?}?\\??U??b?t??ZOE?J???N?????qQj??+?Sp5?KkB??d?=??????>?:?rϮr???n?i0??u<??*z?JX?I?8??4??}?!䊸???\Z~?????g?|??FWa=???iR?n?4V?q\ZNG3$?DcLJ?0?`+t?????;?\0??\Z`???z0????`??0??i?yY??٢,K???i?	?aݦ?)?3)??\0?\nf?M??\\??m???h????Hѐ?$?	p???0?E??K??P?뉆h?Vޖ~?A j??$O???????{????ڋ?L8F!??r+	fqs????&?:TZ2׽?ۖ?????-??X?????4Pլ|N??Ʈ?б?\'\\????????IT֝+u&??Q)N??i?"?70~?h??P??;?@7???̪mi\'&??u(ö??o??fޑ?h???Tϭ`p/>???G6??!1,??L?QLi^#?R????0???#D?!t??{q?D???/@7?????`,e?\\?Q??GȊ|n?\n??t\0e	m˰*|??l??!SqR??¢ۆΓ\n?C?S:,????޹?v??J?hj$-eE1(i?V??GPU?J?]BP?o?T??s?f???\":??\rp??U??j??1??8??d??K?+%???t??F?F\Zh??h?E???H???\0?T??3 ?\0Y\\^w)???{????\"9O?\"K???????o????????ri/_?8??\0?p??T?"?n/????!c??e`t?C	?*5J????m??Ǎ??xܣȀ4???,a??\"???Ff?Igi???5M?$?UG?lӏ#?ë(\n7$?!?d?c??Y??:)G?l?%??i<cx?ˍ??T?Bӄdf?z=J)?W?Q4I?A??j%??ZҾ?>?¨q?2?{?0`?z\Z??$?fn??????0????<??g8????E\\apoo?	Q\'????/j??t-^?Y?B쵔lg????,&?73v?A???Ʊ*h??,??	???,=\Z?v??;\Z??`?^\"??-l$\"\0?,??????~p?	)\" ?8 _?k??r9?`??-?(???+>$P?&?Qz[r1Z?E?q????g?)?H\'pK?(\n???hC??Oy???U?xX?~?^͖ͪ.V???r?????z????^?L?????	\'????????<??o.?j?e?9?6_䗜}bu?gڃ???JF?????ӛ???T#??T?vt??]??5???{?t????????????9?~q??(10\'v?|v???E\0d?|j?W??}?q???h?B??0?%LP?c?-??1y??????h(???rl?QIj???$ٰ????7?h???md?ZÓ?x?\n{?:/4??ig(??h?k???W?#x??~r?ٷϏ^??????????????????F!L:\'???d:K?y??????K/?4?>+B??I\n\0??m???`?y6?????:}݅?(0V??????ܕ0?Y:?2My?P??+?b????0?n?}:cG?Uj?{?b?#??wwF???)f+P????#?-`E??=???Cn,KpY?R_?!+?>iS/lU?r2?ma?)ĺ?q?ޫMD?ت????[\\UC????Ex?fW?oS??(\n09M?`?~݄\"??4{*????|??p1Z?e???\\F??vX?ParrZ-q????*A?\n???\"??&??%??-z?????$???t??b????FwFd?V?m???[-r?U?$????,?q?????\Z?????O4F?Q\"?o??\\^!??<?Ev?6K?	??O?θ7??mH??A-?????@k?A5?̗>?\0(b??&:?5?S<?і?Њ?B??x?#?&u????@:???)?Wņ^?,?ѷJ??%2\\è1>???\Z\"y??]{T8ɾg[\nA?\Z??\\Ġ??a0???\Z?2|F??948m^?-?r??????_?????8!???\'???}\'???v?-@?i???%???~6	?Fy??}?P=\Z?썔???:?NXdI???u\n??????30?%6?\"?#=	???????O?1B?ҷ??<?Ϲ?[#?!??v픶q?y}?\@ǺHo\rfE/}?K<??<\n?5???q?l7N???P^.P????#țޜPа?PX??L?Cڻ]OC??	IB_u ?h???\0	?|\ny???}cΰ?u~??	??Z4E???(??m??Hg+??H???c19??1??p??͂???\\S??A?;???[s%^?`?VH??=?P1ͥ?tE9??í?0???R??̪?GQ?Dt??!Wl?R?'??ǡ??B5A??D?2۸-??????3?͉??.\'>?q⑙?????r???Zt?Ff??Ys????!????=>´?????u??~M???????h???x???:???۴?????䂡??Ԧ?9??Z?783?Y???Z?>Y??J?9+P͡SS??s\0G9ၗ!?UH|?????r?H??	????(I??.?Z???G+\"??C-TT?ȓt`???0?Ƣ??.? +0?F?(??8??A?`Ŀ??%\r????\"???leG?<?:\0?0?8\ZG??#\r??\'_U?ֹ?56r?;??dY??瞗??i(?8??F?????`zT?ՁC??nY?????ӺHT??ھ6ڙ־=00.??wD?~Y?b/???ɛ[??\'?~s??x?vz2,??\'??'??\0?;???z???LT?i?5U??k?????6?{???N??%?j>TD?vOO?乇m?v??r?????9^?\\\"???T???m|?A?s\r?6?I?:?!????	vm?Cs??????o?k??R??\0?`???y}???5?.???Q?(uG&??V??Śn</]?<??d?Z??4?$k??n??Js6?yΉ???;gM?U?,??=G??r)z??40?6tdk?v/\n??9Q?P?ݟA?K???P??=?]?????J?.???Q|\r??P?v??????D?i?ͯb2???J12?L??̢Y?????L?????3z1?Zx\nO??!c|(`??dL,??,??C?	X??<??Z???N??<\n@\"?!??7?K?C?W?|/} ??5i2?????????b?@???V?4??Xk?<?,???Z???j?b?j?p]G0???Q???Eb?n?rR?B=H)ԓ(aQ??(???Eذ??ha??n??P??N?c=DF??b????,??]o?M@h??Ah?䓨!z???[?\nP?\r??1???\G% ?D?.?j6?PS?.?_??˩\"?\r#)?>izJGEh?a????\0??rsmϕ?A?SU;???گ!?zh}Ɇ?G?v??o?d\n?Z???????֞E?\"???X:????]????????5??<?m?í/?K?0 8\n^??????N֦Al??q˧ų8?S??Ex??<?;ŚA??{?????ꜞvw????n??M`?{???\'?s\\z?0????~??y?ŝg??????㜞???n?\\?\00&??\0\\}??\0v?	5ĵ?r?E?I?*{<???????0}؀S<???`2 &?#|????????N??g???c?t??ߜ??p???|??\0Ѓ??}?yr???釟???&???\nNG?$1??+3Q?n??????\'???K???P?Qʮ?M?4R{?0??r?5??H????d??:飠???CZ?0~w?U\rP??o??ٲ??\'}?ʅ??z?M?{????K\'h?T?IJ?b??gp?^OW?T?*K[c??^???????I?V???;Z?s.?&A??挘8??c?8\Z-&??Y????m?9/z??ͱ3?b???????ki8k??^}y???,?W\\?^?67?k}??????<V????54?????Q?\\sZGs?#q??s\"??Z{?l? ?n?p??kmOKC???I?X?!+?`??rȶ?խh?	??h??B?hT????/??GV??>?GG?ï????~;M?{?z|??yNfi?^U?4t???誳?R?^??dܘ?E?e?1{??????=?ϑۖ ?????᜾?h???HL?,?b???c??R??ɧ(???N?-??wz???;??i?无??????X?j???\n?,??\\????M??????(???`????b?`???zr???Y)?f&~t??0?6?????u??2Y??H?H????8?;)`????N??>??m/??\\Ӡ????\'???b+\Z?|w$???zYz?????ԁE?0??\r?~i\r?IC?@?B?:J??????????_GR??t|ƅ??!??>?zzT\\?xa\ZN?4??]~???iuHb߻?u\0Lb?Hvo?777]\\?4:?wݻB?L???/#?K??+?n?&\0?K?*4?P?E???????[G??Ѷ?D?`ٮ,\n#0???\0t???˗c????\"????<??@a???Nl-%?o+?y??{J?\0????2?????Ł|?-???/??J?O?????0)????r?jl???(???2??\\0??5*?_\rF?t|#?)D?Μ٬???r_)?.????k L???u????!?h??`????	n.>?1ʏ?T9?Ut????&?\0>?8vK?-rԮ??5???UG?Gq????????P?YoCَ&??鍼KJ? ?\'Qx?????#֖?02d?\nW$?Iҋ(??Emo??;???r????A&??+???Ԡ?I8???\n4??%???C????w?????d?9Vd??rļ?\n$?EETm?V??90???:?`V??c+?? c??k`W???z?#??eL~??/.??]v?{??3?i<?.???^?B?w];7??7????,0o??\r??[??PF??>k?aI???2?ޟr??gդ???O??e?D嶿?>m?=2w?????4\'R??m??xP?]z?????wr??x]k]ÚªT`X#>?S???°N?&[U>?\"GOKm?;?????}ou??????WEf[|z???????\'???????Y?Q??8??`?>M????P?[r?f\"???????Kx#`^???u?&??L#?E@x)?"۔BLq??>#?b\"?#懔o?Y??~ ??h??R?W?^v\\X́a?TsܴB??>??Y???6p?3JW?4l?97????,]_?41[?\'?zVZ???[????S?\\W3/˳С8?JN?ӆ?\0?\r?\Z?šB??????\r??o?0?_?,????XI?????I%>.??%|Ц\0 &??????3?Q?t???Ou????&????oAf}???Og????}RD????\Z?\"\rx?????Q??7??A???z??S??????t??????)\\?pn&??[<a????????sU?H??P???_Y`~??T???ޢěE7?y>Jx????$?????W??B\n?J]?&?:??$o?MH?ww?B??h,j\0d)?}??\n?_͂Ě?Q?ļ?ْW?????D?u?޼??EQ?Gp2T:b?>????H?ժ?Fvle?z???(C?Exw???m????A?5ud??.??P?U???/??Tz+?·?i?????00?T??+???g\"p???C????/?m??W???ʵx???\0?q?ʚv?ZƼ۞P???:?U\"??wk\'?~]?q?n??????5M?????}?\n?	??B?????{?\'???\Z??z?!?:??lB5????V??\\{f??qB(?x??G?F&?N?J?r??????\0?\"C!????02?\"}?0??ǒ???!??]_+??u|m?Y?4-??,???5AV?$?1kM??,ݠ\0ERH\\???\nN?$???Rֹ?Z~?A??k»??jWz\rGjH?SW.e?~??\0?=?Uvˀ?V9??<?.~a%v?eX~>5???òk2W??Z?yU?????_?Z??n???^sg?i\\渮=?R@?????:}??????36????6K͍!???إ)*؜C5Rk\Z????v?0?wʯ^?Q?5\ZE?΀Rl}(?D?bVJ??^P?]Ғ?????x???7?5Jj??ČE%??/f(?4{?-9?sP???VT????Ҋ?h????KéD6?Y*???!s??WbBe?lc??&?????\Z?>~???r???K~??4	??r??c+??ӝ\0??0?v???>?`?Z?\nSfcqWNk?Ir~5z?.????\ZO?ۘq`?"?.?!?#?/L?%C<?\'HPi??d?y?H??xyd2`???q????Oi???=?6\'??d*<\\@Z???C$@7N?>???l?#Z????mߑru?ڸ?pj???v??0??C???\r??dE<[?8W??n+ɺN9?3?\r?S?!???l;ya?Ĺor?_?D:tO?ta?O#{Lc?1l?XԨ+?j?M+??????X?;Ky?y??\' {?_??LH\\]=?Z??P??\0?&y??:??\n?3??[X?תv???\0???emh@~I?0?,?t&o???zڨy?D??K???{ҟz?L?{gx??S? ?aI??????֔V\n?T0v?i???K???????Z?????????Nf???\"?M????Y?TR?\\?<=RU???@?j??Z-a?!??P??,46??T\".=iY׷s????\0Y?ؚbN?j???Cp?Os???c?G?????n?4?0~S}????R??}????.??????F??}F?It?08?|64(??$w????J?v?<??s]??L??L^e6?32??(I?W`\r?%??\Zw???H???w)la8?GY?+1a=??E???B?D?}?r)G???T?/????]?\0???͑u?????/}茶\0-???~?x??s???k??\'????;?h?\\\ZD6?I\0ĵ??eLu??S0?~{??Y??Z9??\\??YW7Zm`]ߌ?լk?9??N??5/??ӛx?Ā?˞?8???3????%?????a????8?y?\9?j??p*\'K-p)=JG\r???d<?Y?4\'xs]?\Zωs?0X???֢????+H.??<}?????????0???I|?? )|?,??z???\\!Ƶ?O??gܝ???ck???!??	{??(?s\"nƊ$??ƀ?c/U???7?զ??Ŭ.?????uw????Z	?\Z_1,ůY??d?Y1g?G?Vuz)t3(? ???wih??:npD$?u9m???l????kj?LK:%???`?ڡx4]2b?}Ř?@?/?Sp!#%????1??Uy-Qζo!?D?%??۶iU??#?\Z??,?_(}%v???݂W??R????3_??z???^>SЋ?ꈸ?hNS?ѧE?V?=(???>?!???_???G|h??\"U{?tM???gx??~?;??3^?$?\\~?\Z\\E?u\nO??#?qD???3?2Lp\\[w?2`?\naY?\\?Kg????(?~XYGm???????????????o????~??8\n????????????<k<?j?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:85e9a03855c056898c8dd6eddeca3cdf','e?K??0??+v|??a?CO=v????;?Mh??l K???Y??B?*-???28?/???š??ޣ??T?UɎq%?xdXà<# ?hu?zB:8?h???4?D(?\'??@??q%yw??X?Jd??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ?lM?S]db??+?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A?????????ER7S?Ts??ѵ?s?țK?@?;%??nd[????$???,??_???2???IuOf???D?=]?֌??@???ކ?R?:???]????:r\'??J??!?g?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N?;?Hh+??#???Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vy;?HYU?r+?ߐÆ7$ې|C?\r)7?i?Eۨ??6?x?D?????}X?+??X^????+DqL???r*?#??~??S?	?#`V`??ĩ8?EV&??ɳ}-???2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1???2??????vlE3I?˛??U???C?e<????????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8729b78e8c2c17dd10b29e2ce57773e6','e?K??0?????yH???;?cl^???4??W6$!??,?!lyT?~???????/	c=h=Ғ2????'N??p??A ?+y\rz\\XZ????4`]@??C??C?x%????`>,R??VF4?[????MP[@??rnЧ??Ú?>R?)??/??o???(*}? ?1=TSŮV4??\r?????j??2T??????\n^:Sg?D?i0\nL?2???.?????ؕdG>?yL??A%???(C???f??p;ku?JI???xՊ?\Z?\nL??%;c??Z???#???_????h?#?qzE???\Zehe??L?1???U4?@?????zĔ8(F??s?>??ӞLA?U?Νf???!@/w?M.8~????????r-??wa?\'gɂ?k?aB???|?e? a?nď??tA|[??}m?y??}??T?a\r?????????^_?h??&??^?4|?x?#??f?a??W؈???01)k*?+???E???X?㊜V$??u?;^???o?????v[?/???+??HzJҨN?8=?PWQ~,?n?i????Ä?ᘞ?$??gUQ?<EGq?eo2?-5????|x?AG8?Jvdᝢ???????Z??????hh>J???sz????[??{???ɩ*?pd	???JN?0Ȋ?H!?{ݐ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:87974a5d9878d57b9c1f3586bc0f4f24','e?͒?8??]>?fz?	!??N{??)apc?????6?&??,?C?*-OIņ?th???ݛC????F?0R9V%?8???#???F??F?{?????vcۢ???????\0?????琇?X?>?[?~???????Qm-?a70???W??f?????E0?????Y\r*??b\Z?\rh~w??c9??\0;ת%?H?Խ6??2tR`?"*?n?ZE???zmM?s]?b??PW????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@?f??;ٖ? ɨ +??pn??+k&R??????ѕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr?]?!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ|G?;R?iG?9?eG???Q?????>????????\"X?vX1͛??x? ???٥?$\"=?\Z?<-???dK?VHˢ?]^?<???"K?)?0Y?h????=????#?eqg????????qϼ?x?^I???\Z(~??o?}]f??9?T5Rю?h&i?}?pձ:??????˳(??&/Χ?\'ͱɎ?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:880c9b4b51be74e8b96e186dc8c440bf','e?Ks?0????p?1???cf2z,? $W?n???+?	n???}??2=?I?a??;s?h?s?%?w`4tT*G?K?	?O?z %P?y?@V????t??h??]_?|D ?G??@?S\\I?zx?????u???YuR????B?){??ŰF??FI秋`???̬?*??\0b\Z???=\n????]G??\Z?*?^??\Z?H1?????t<?\Z??ԙ5-?u?]?U?????w??@G}U???Í?!f?~ANy????????HPe??s?????Kv??K????*6#o.1?_=??QL?%?zC?8*?4:?????un??+kTݣ?jCW???\\cLI??\Z??>??R;???]Űg?r_?????Xlr??????4j????:?ON?%?0??#?X??@?'?????????0?c???????}?J?k?9?8??n>NQ??u??uoR??ZI??????{ƻ<v??KH?? %eE?[???V$[??+rZ?bE??&k??:]????ׁ???}}}?/n?}o???$ώ?byΏE??r<C?!?d?gI????M?A?\"???`z*N\"?,????e(??????:?7?%?g???^?m??p+7?UK?;??????į??6Ǘ?*ܱ%????WfeQ$??vL?2(????/x?%??{y\"??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:88e24272212a3df1e9dfc367ad399053','e?͒?8??]>?fz$?aN{??)apc?????6?&??,?C?*?Ǌ\r??????F?7??˿?????r?:7???GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*y?????FW/?Ajc??Z?!(?`Hك?a?#???I痋`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!??????1:?~`\0???-v????/hÁw????Q???B?j\r???ǡF??۹dW????ڥb?5??H???=????????$?3YY0x??se]Y3?jJf???D???\\g&JI??A@?\r)̝d??R??rߜ????Tlv??????\nh????c?=?H?????N?z`yb?"??m;?\0????0?s?\r	m??zy??>P%????'Fu??(^\r?C?Z??z+!~?t}`\nt;?????*oG?	?\ZPnC???????#Ŏ?;??hu?;???O????}]?,?uo???????X?yv*?????@)2???l?jR??>?&X?i)???qLҬĴ?"?,o+4????C?Ͳ??????????g^{?W????\r?L?7????.3??_?\Z?h?4??޾}????4O??L4	???%?????~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:88fd27dcb510ddfc59c8cf6a790ef827','e??????Om?-9?~?=?3?%F钔Uo??%;??> ??:+N??\r????P??????\0J{V???(?  ??@	?????Z}MzByht2\\?l[?!*?Axp?5??\+??<????Z???t?\rJ????A?nc?t\nk????wZ??\\D????_ܙ3?c? ?1?$???X?E6??V-?ERf?鍝??SSI!Jg?r??????g{?뢆???????????B?T????)e?}?X??ٚUJ+?$?6??{?\Zt?P??Kv??+??????`??_#??J?c???m?Z\r???d?????Ar?D?9?y?????%???????0w:?9h??Ja??|u?:?Q?مƏzCr??*??T?#??.????\"y??K\r?:!?IHap??>???4?Íđ?kwX??0???G??????I|?qT7???`/?4??bW/??wL?iG\Zƛ<w??߳:??@?	گH?!?\ryݐ㆜6?ؐrC?\r?[??:ۆ?m???g??~~{?-??mo??????*?CUQe(??dy:@???????????)?N??<r^?s?*?eE??M???\Z???^???#?eqe;??????/???x??I?U?(~???۟5}]v??9?TK?i?4??޾????.K)???텐?X??e???=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:899d09691ae95cbd96fd18c66def3ef0','e???0??\n?N?q?y??z?FH(ɕ????w%??Í????-???*I??Nheܗ??????\niI????: %??:?@ԵV??????p-ۡi????????Z?2)Xw׳?|X??d??hZ??ډ?J?????@%???O??(?5y|???RX7x???ܙQT??@Hc????ݬh&A!??繁jՠ_@e2?N?aZ?!d?t????g??zetS]D??+ɞ|???Jp?۟(C???f???|ku?I???xՊ?\Z?\nL??%?`??Z???#?/!?_????h?\'?qzC?J?4J?@??Z;b????&hf?\Zߕ???m??)qP????_|\nS?=???????;???\0??,6??aoPvC????ʵ?ޅ?w??%R\\a?APG?=0,!f??\'???????,ď????R5?zz???S)?-????u?(??:??Q.M??R#hx?x?\'??f?a\\䩫?lDJg?1)k*?rܐӆ??mH?!?r)6$??hu?\r;?o???}}}]???~??6??????????cvJ?$ Jr???F?-&E???봀<?Z??$ϊSY??؛?KMq???0/^?C????=YEx????.??r?Z?????=kh?|]z??9???q&q?=?T???GEV???U???Y??9B??<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:89ed6d8f966a8ef20ca4705a70d5b6d6','e?͒?8??S:%Yg??9?U?Fj@c!9?0?????????4?NOeR?az?s?h?????@*???	??N<??	laT??mk??E=!4*\Zne7v:\n???8	???$??zy???l??]????R??A?vC???=?<?~??=j?^??P!?ӘjA?,?F6عV?ERf?>k3i*C/??B?.??!EA?7֜q??B???v`<??T?.?7\Z???m8????T)%?y!A?~^S?Р???\\??\?t+??ys?!?\Z?w\rP?ŁY.???pTr?dT?????87Qѕ5?fd?l????f??j??????????ro??T0?I?W\Z??r?l|o??F???\\?]Cg?Er???\ZDuB?ˣ?!~?h۱(???;	#9?ߐ?Ћ??G???Ur??I|?aTw???`??4?{?BW?`%???L??\Zƻ<w??KX?? eu?H?#??w?ؑrGN;R?뎤??N?a?????=???ۇEp?a?;oV6?$ͱ8?<ä-?I?cR?$;?X?~?`K?V??\0??秪?*??,??Qy0Y?h????=????#?eqc??p???ۗ?????I???(~??\rv?k???ks~?n??[?????c]??(Eվ?%T?	??)???)E???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:89f824256cf8703069720d15de4593f5','e???0??\n?N?q?`0y??z?F?(ɕ????w%????iw?,???T?~<?_??,?/	c=h=Ғ2?????SM????A 8?ނ^-,?d0\\?h\Z?. ??C??C??2)Xw׳?|X??d??hZ?????MP[AW??ֵYA?????Pk??Hk??n?????~qgFQ?\0!??N?Y??6BdC?3ժA???P?ң?????EP??:?%:?I?Q`?Lu??U???${?X?z???\r*??l?`n_P?Q?r????Bu3?e?u5??h-T3??0jŅ?+vGN_BH??E1?O??rms??h???????v??+?GTM?5?+A??+?S?A1:?GC?L??d\nچ?b??[??z?Xlr????????k????>9K???\???{`XB?0\r??'Zwl??!~$??Wķ??????????J1l?$>`???8E??\Z?$?+5?????DR?8??<u???H?\0? &%?ҮH?!?rI7$ېӆ?Rl?C???Q????6?????eq;?????i3?+???\\?8??h\nyI?????ZLRH?,????AVU?????+?^x??m?)???:???:??odOV?:xzz??{f??ܡV#?}?~:v?Z???.=??^*???cK?I\\o??L?̋$M????O?:?H???o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8a019d026a2d8310faf823322f5a8fbe','e?????\n?,c[ˬ?䔣?\\-hIX&?F???i?4֔n????\"=쓂u??>???F?g?????FcR9V$?Xi%?#+??\nz?YUF?k???????F?B!=9?? \Z-Jŕ??!?X?????n??/?Njc??Z? (?`Hكj????????Ap?????Y\r*?~b\Z?h~u?7????;֪??HƬ׭6??24R`?"\Z???5?O?&?ziM?c]d??ԕl?zGy?t?hC?\'\Z???m8???????H0-????ߕh!u=??5?8]I;U솼9GI?z?	???p%?X*?rڑ??C?87P1?5?f?l????f??j??w??@F?v?d߸7|?6*\n?VR?مƏzC{ߗ??T@?FU????.??t????\ZDsB??&?!~??hٱ	(?????k?/Hh+??=/?w???*ٯ?$?0?+x?E???\Z???X	???rS?랆qޏ]??Vx?\'HYQ?r??H?\"?٭?E+r\\?ӊ??Z?U?k?Zw????}}}?n???O??`?2ۦ??\\??OpH?rH???~:}{cS?f?4ߣHyY!???????O?ep??hğ???]???P ?eqe?Px????|g[??dUK?;?C?d?~/?2==??E%???=oO??GHHZ???M*??Y?gY??cU?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8b6e6125b9b717af5029c02f49b812f3','e?Ks?0????ئ@?ǒ?????#???????ذ??,?!l?T?az\Z-?\'}vB+?d???P+@H??????N58d%???Q:F@4?V?Z?a???p+۱mѺ???ܝ??+ɥ?M?"?a?2???2??FWi\'?A(m??\Z? H?k??>e???5{|?)?[.??o???]ܘQ }? ?1?Ԁ?+?Іc?l0s?Z?F?=)*C\'jY/??-?BZ??R?????|??u%9?????.??k????d?Ai???Յ*%???+?-u5????Kv????j?Y*vCN?CH?F??hz`??%???dep@???Ape??	?Y??????(?\Z?e<z??Oa?'s?t?¾q??????b????d7V?3T@-?\G.o]}g?E?(??\ZuB?Ã?!|?h۱H???????k??!???_????{*Ÿ??x???????A_?oh?k?|W/`?L?jG\Z??????tf???i7$ّ?9??#َ?R?iG???Q????>??????uq;?ֽ??y30HOٱ??`?Q???O1ɾ????S?	?EU?&Qqĸ??8ʎy?Q\\?????\Z?'?w@o?!?????x?????ǰg{?????nm?????????K??6?FHڱ%???o??E?a\'iu???&???????8i??|`/?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8bcb5212ff80d5bd72fb91318794f0d9','e?ɒ?0??.??x<????w?ǩ???!9?0qRy??xpqqI??[/ȮLOǤ$ݰ?؝?xi?????0\Z:*?#e?%܄E?+A=???h?<A ??u?vB:?t\\?_?|D ?G?$@?S\\I???????+?/l???66?-??+PE??R?T??????FI秃?ۃ??;??????i?UT??1?CT??c?j?hLz?3h,C#??A???Fa?ԨSgִ0?vA???]ɶ???AG}Mbȹ?D?3\\ߠ\r???ym?+??n\'L?=u?lTH]?%?`?FW??#o.Qү{?&?o????Jv?r???~??r?Aè??9?6t%?x?Z3`J4???w????F?ve߹7|?6*\n?Vb???{?{??,?Q?*?????r?P?nS\r?9\"?qep4~??hٱ	(?????k?_????XO????U?_?I|?aTW???g??4??I??Wj%??o??????.!??=|???UnA?ٯ?E?9??E?9?H???u????u?k????????????_?r?Y)?W!)hr???B?ood???\nv???K\n??~?!,	.????w?/?C0β??-Y(?S??mߙM?r?V?4??th?\r?%~]??s??????ę??Õ??`???UU??g;???8?U\"Λo/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8bf490feba4280294ccea1c00449290b','e?͒?0??????I`ߡ?wfG^???4??Ȓ?}?d?!l??Qκa?4;}qB+???e?w?v ?ey?e\\?ÙN%8d9+??^:F@T?V??a???p)۾?Ѻ???܃?*ɥ?]?"?a?<~??2?n?Wi\'?N(m??\Z?\"H(K??>e??\0?5z|\0?)??.??o???_ܙQ }? ?1>T??+?Іc???0c?j?z?=(*C#JY/]?-?Dj??R/?nq?????ue?e??<?:pMP	.???C????x???+UJ\n?ī???\n4\rB)T=??58hU	3U쎜???~?Ի(??/??\'??d??????X;P??????"ߕ???+??R*Qq?????????{2mCW)?w?/??\0??n*6??QoHv}?ZC????ޅ????$?R\\q?AP\'D=0<!n?'??????{??ɱv??5?zz???S)?5????u?(\\u?:}C????# |?t?eT?0??6b?3=~???H? ?9?H?\"?W?"??$??u?;^?????}}}????~?7K?K\0\'L?$?C\\$)?+?CT???76uj69Ƈ#F????U?#&??????7?ޖ\Zh???^?C??yc[?????˷M??o???j??G??k????tOks|)??????{??y???*ɢ\nH???%?#???$?Q????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8e305f7673bfd17b55250c1a387eb494','e?Ks?0????p?????3??!??0u;??	p????4?n??΃?KP????/?k?eJ{Rl??8??\0? J?@???Fߒ?T?q???\n|H?\nh?Dh??h%????"}??q???????:??J7?1?tsa?=?Qk?x\r~0?qg?S\0)?ᡒq?Z??Ⱥ?en?U?~?Ig\Zc{?e????ER?҅g5:I?Q`?????6ƪ?`Wvk?y?x?e?N*?T?c?O._0V0Q??投?4#????枺??&????]??nzkJ?????ү{?&?????6?G?Z?FZ9h!z?0???r?G??y`.v%??׶ǔ$????/1??ӑA???΃????(7\n?M?8~??C???VQ?\Z]޻??????+?5HꈰN$!?!??~?y??a?&Gr??Fb[?}==rn???T?n	?\'??]??JW??????&Ů^?S,}?x?&?????䡫????u?()J????d? ???????t?D˨?l???.?S????N?;?0??b~?5??????<??r/?|??r\n??ة???<e????=z???}????ok??>?\0??C?β??5?Ex????*??b?Z?????Y?[????l?ksx?(??[??{???8?~???1?RҜgΗ?lʁ·շ?\'?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8e98a1f51f04db5fe65c85ddb45addc3','e?K??0??+2>?????CO=???x1vj?д?^??7??yz<$9k?M?n?K?????ޢ??T???q\':	?r&??NyF@?????tP?h8?]WU?D(?\'??@?E???????,????V?????mlT?A?WB?){P?(??{?x^+?x~{?~qgV?\n?????P	?ߜ??X?1??m?????2??M?????\nA???F???^X?PنX??v?:Gy???]N?7\Z???m8?Z???????IP-?7???hk!u5??5??]J;V쎼?Đ~uԻ(??p#?8*?2???????????T?d?l??ҕ?MO)	???/!??ӁA??\n?νᳳQ1? 7??ͮ4~??}W???\Z????w???\'Gɡ?Wk?Q,?B?[??	~?y??p?&Fr??FB[A???ya?{?T?	?\'??Q]???W??????&??^?J??]??]u4??<t??KX??? ey	??Av?_?lAr\\?ӂ?$M?hu?;]Ɲ.O??}}}???`?a?6;?a??0????|?3?4K?iq:&??ة?ي,;!O2$;i!??>????`2??Јo???=<???#?eqck6????˷U??o???*i?K??????LGksx)/?????{?p?>??i??e?EV???b?Ѿ???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:8f89c74adcbd98c90d1a7e8ccf18f4be','e?͒?8??S:%Yg??y?????T#5?AH?$L?????xpq?~???᪴xM*6L/?C?b.^\Z??O?\Z?H??7aQ??GV1?\r???i?V?h\'??ZE?ލm???Bzr?A4ZԊ+???Cd?*}?me???6^6??F?\r?xEP ??????d?#???I痃?ۣ??;?\ZTH???Z??;o?????0v?UKq??٨{m&Me??E4?xk^HK*(?ښ?!h??QW?{?_0???;?h?b????;\\?_?RJ?!???S?P????\\??\?t#??;?%?\Z?w5P???Y.??EX*9Hr???!???(?ʚ?L3rs6t%?t?3QJ5?ez?KHa? ?h?J???Y?}/??J????k?*?Q?*???Y?r?T?\r?9!?qep????????ε;nHh+??#??w???*9??>??;?8E?0?????+X	???S?ۑ?q?]??Vy;?HYՀr??qGN;???;R?yG????ӽ??;?OW????????n?\'??e`u?f\'H?uƋ2??#?^?29?"+R,?~?`K?V???I???,???<CҠ8?EpY?h????]???P ?eqc?Qx???????x??ɪ??H?L?W????.3ҳ9?5R?[??????*???Ź?D?P`???ͩ?/ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:905e1a776c266aa086fada067ea78019','e?Ks?0????p?l?z?3?EZ@AH?$L??{W<ܴ?vW?bqE?gI???h??K?ݳC??????+?\r??t?L`?򌀬*?????)?????PHO???F?Rq%y{??X?H?????????????/\n??R???PX??????"??????R?1??n4?:Y???cd}ׁkU?_$e?V?AS\Z)0f?to?\"??)\nJ???ű.???ԕ???7Q%???n41???r??/T)%u;??Zoo???B?,ٙj.q0??v??rys?!??%P??\r?\\??l?T??dt +??pn??+kRݒ?C??+QKW?1?$Ps?? ???;??2?W)???/??0??*6??QoH?}?K4j???օ>t???$?J^p?AT\'D=?<\n1n?'??????{?Iɱv?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??.a??=~??(? ?٭?E+??H?\"?9?H????v??;]?Α????:/n???Ê?9nV?0vIv?Z??$	???g<??ol?l?\'G^??N?;^%??!Uv????6?Lo+4???^?C?Ͳ??\r[Dx????c??-^?GҪ?q??C?d?~/?2=??????vlA3I????0?<?6?0?cV??$??????<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:910f9c0b930b00ae668e79dc8dc8beea','e???0????N?q06???cf2?????\\I????{W<??????֮HyR?nx??s???????h?*Ǌdø	?#?xdXA?<# ??u?zB:(U4\\ʮ?kt>\"ғ??s?ѢT\\I???+??+?/t???66?-???!???=???=?<o?t~??=jq??1?A??@Lc|?ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????ue?a??<?:?T?.???C???6x???UJI?$?????J?\r???Kv??K????*vCޜcH?z?	???p%?8*?2ړ????387Pѕ5?n?!?????+ט?R?9LC?ߝC\nc??v????{?g?b?An%?]h??7$???\Z5F?ry?:KON?C%/8???X????DˎM@?=????lAB[AO??i???T?\r?\'??Q]??)?W??L?????^?J??]o?]?4??<v??KX??? eE??E?٭?E?9??EN+?&k??:]????ׁ?s????΋ۇE0??b~???m??4?V??dY??ˏ?????ԩ?K?~??Ȓ9??$.??I?`2??Ј?;O?????+۰E?7J^?=???$?Z\Z???0?O???.??_**?h?4??ޞ>\\?+NiR?xR???L?<??$??~%\"<~{y`??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9146a2499f0cc3ec65d6cc37cff3b548','?Z???=<???(??( liD??U3?􌴀Z???8c;u????~?=?s?8a?F#?ʗ?\||||??Ǉ?}י#?I??$ɔ??ƞ$,??H????$??$?`.??Ob/?l}wy}q??_&????????2$?\"?D????????r,So?\n|??I?B??&$?]R?Z?$???	?K?l)????|???[G???3??G{?????L?????I?St)??M?|4f???J?N?9?????x?5f.??2?5T?G?$2 \'(lZC????? b1?2??$Jh?oF?.?9??0?Oi?fO\"\Zԥ?D???o?<??b??????N@?`d?g?H%;??$?4??H8??o???B=]I?ǡ??l?$\"\r\'??f??????[???uTE0J?\"?r?6??e??$?PۘJu?H??!|L?n?? ???Q?CyC0m@mܪ????)y????ds?b??DX??ز?P???%?`??p???(??z??????u??3?*??6?-??ˠ\niba???[??hz?v??R??`\\v?O^c???׹?%??R^????Щ?-?~h??\"????;?m?$>Ga????i?????,I^LP??????F?????E???C?q????-??t??c>s?߯?ۨ????/=?v?f8Z?ń Hɾ????kIU??m?t??\0?i3M?:?\nJ,;?;???Q_?7X???9?2\'??\'918??.?g???yFjxF??R8???`????????%)?=4>???t???|Nj??\'?,??x?,??????C?ņeZ??ʶw?)?3?????$Gv*[?P??ڽ???:m?#??t??m??}?g9???[n)?z?۪?5a?LE?!?a???z??"}???-$k?4?_p?V?ΐ?%k3?????#Q?\^n?>\'x?*??>?H?T?	5??$$?Y=??pt??{?3=?H??$Cl????M\no?b8??u?9׽?????{?%x\n?z?Q??ٖ8??#6???\'?g???03LG̧?M?]2????????K?n???{Һ?J??D6Ä?J?+NZn,?????!?S?>>?"??y?^????a]?E??Z?BBX?#???mF?n???6????W????9};?D?????^?N	?n}t?P???q?]5?~2SY???i??RO_????!?}?3E??@?"|ǩ?=F??83)??;???>??(?A??p?V????/??˲?FƩ???S?!B%???/?bW??\n?(?H?%C???ģA??G<e???\'h??h???/%??<h??wո?_\'(?5???z?T?`h?\0??P???.Z?>?????}}>???,??????1}????Bà?8???9?Յ??eӯ???k???p?y).R???fs	Bg?!H?$?8Ɯ?o??ܔ\"??_4?=??UҘ?_?Q?\'R?Ip4էo?Ԕb6/Z}?????????40?#܈6r?@#̈q??W_so??p??)??d???A?&?M@2U??nN!?s??!?ѦZ?It6???%????r???3?K?JݝT?j??j}M??\n?j????վZ?uӯ???yi>????X\'\ZC?)?Fd????:???j??z:P㸂`	g	?3??a\r?w?????ye\r?Fv?2??ZyPk??+?V??#mrwgN?????{?\njw??_[?â??\n?????zS??043?;.????G?Z\rv??²??R??0??8̊u\0?-?F?\n?<>?????b3?n3MX?x/},n&?670?Θgt??\0{P???~V?Ac?kha??&K???A%?????k{浬_r?ib?yGi?U??p?=?Zb????0????I?R֐??Q??g??lX?B?{3?ǂ??fR&???s?U??,?????|b??U?xh?c?D????????y>R????\0??E?????ٛ??GO\0U?b?VY??RZ+]*?%@sS{?j??\rO?V\"?piZ????+8??eӈ???X??{??~?s???RIn??@?&dn:??#?@?H???+???ZI?d????????'$ت?Y??????B?[?r?ow6?&we????\':?[?JNTz:?\"???S??d????#XLWÿ?Rv??	Λ?????ػ??G??S?a??????k/?NN66v???7Û?x??G???(??????X?w?Fc4{??????¡?Ӄ?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:91ac61e87c29a3d96d7bb5d42fe1086e','e?͒?0??;>?\'??\0aߡ?;??\0/?m?v??rd??>K???L?_?~|?s?h?????h?*???q?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%ݱ??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J?c???m?J???Nde???΍?Ate??)?9??S?r?)%????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N?;?Hh+??#??w???*9l?$>???8E??\Z???+X	???S????q???~s{Vz;?HXY?r+?n?C?rڐlC?r)6????Q\'۰?m?6?????eq????V?i30??*ϳ?XUiEq@.???¡????;??dIzʋ?šʏY^?A???̓??2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+???%X?=??3?W??Z?}????O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:91fb2048a179fc83ef63ce97f98dcb57','e?Ks?0?????˾x??cf2????n;??rl?f}?d??H??`?????????ޡ??T??r?2:	?\n&??^yF@V??\Z??tP?h??]_?|D(?\'?@?E???????,V$w??֍_???mlT[@?B?){P?(???x??t~{?vqcV?\n?߁??P?_??G?X?1????????2??͠????\nA:??F???^Z?XمX??n?zGy?t??]?7\Z???m8???????HP-????ߕh!u=??5?8]I;U솼9ǐ~?Ի(??Y.??i8*?2:?????387Pѕ5????????+ט?R?9LC?ߝC\nc??v????{?g?b?An%?]h??7$???\Z5F?ry?:KON?C%/8???X????DˎM@?=??????????|=??wo???\Z~N?????S?:s???A?\n]????????gy??e??=~??(? ?ٯ?E?+rZ?tE??$ٮ??v??;Y?̑????:/n???Ê?9nZ?&???????R??8????????%??]???o???,I?\0i??dz[?v?~??B?h?ŕm?"?%/??l?<?V-?{?~?'??{A_??m?/?T?c?IZoO?8yR????$???:???g?2M??<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:92eef833f2e2d05a9af3145fb486ceee','e?͒?0?????͆\0I`ߡ?wfG^???4??Ȓ!\'??????7??f?/Nhewݗ???????,??p?S	Y?????U????RX(d0\\ʶ?k?. ,?#??C??r)x{׳?X,?d?????ډ?J??????,?Oفl/@a????\n?o??*?wfH??i?U??͊z??\"?????\")?^?J???CA?KpFKr<??????[?":??C]9l?o)??\\T?˹?F?2\\??4?|?J??B??????M?P\nU?%?P?ZU??#?/!?_=??\0J4????????de?C???Ape??2??%??6z??JT?!???>??Ӟ?A?U\n?Ν拳?!@/???ͮ4~??]_????r\r??w????\'\'ɢW?j?QB???~?e? q?f?r?]? ???&_O???>?*E????????????N_?oh?s?|W?`??L??{\Z????Y??? by??E?IV$]?㊜V?"يD?5ZG?Î?G??9?___??\"???_1?????Sc?f<=f??t.???<??4???ƦN??Yg|?Ǩ<??E?UR??LoK\r4???^???#??ƶlᝒ????o??g6-?\ri???⇡}???u??R^	I;6??????a???????\nTq??U????nq?剽?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:93b14327402ddecf3596aff661409c88','e?K??0??s?)??&?m??;d?e?R?Ԁ!9?0qR?{Z<?(oЧ??ɮL?<)Y??틹xi?{q??e??h4? ?ce?c܄?}	?J&??AyF@ֵ??P????i??PHO?!H?F?Jq%yw?sȃ,V?k??lZ???˺??h???\n??+R?????)z?x???~{??qgV?\n?????P\r?ߜl???????N?j(.?1t?ͨ????auo???3iH?^Y?T???u%۱??Q?=?6?ĐK?Î?f?=A???+UJI?$?V??{???-????Jv??K????+vG?\??_??J?c???o>??9?b?!??)?ʚ?L3rs6t%???3RJ5?yz?KHa? ?h?J????6*\n?R?ٕƏzCk?T??T@?&U????.??t????ZDsB??\"?!^?w??N?a!a$??W$????WƻG?@???p?r|???՛??F?4)t?\nVB????c\nt3?.멫?\?o|)+kPnE?\r??C??oH?!?\r9oH?l?u???nu?[????????X??|?^5$Eq??8gYz??4	?x?u????????N?},???Y??q8??2??Ј?8Ot?????۱???\0OO_?=??[?LV?4?O?a?l~?t???tRYKEolI3I??7W??J??8$?^?#?????O??_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:940c8f9855d707ecac91f73b5feadb28','e?Ks?0????p???z?3!P?+	S??ޕ\07???XLfiP?a:??],WҜ?	c(	??28???M-????X??7????jnh%??6cۂ?A?\Z?\'*YW?	????\"e? +?y???T?7?J{?\r?*h]?rt)[*?Űf?ԲNpc?g????w?%.???j?d7?YP???l????P????j?X?????nN?P??@?i1\nL?Ҫ??.|p??ؕ?>F?y??^Ż\\??$L>?R1?X?^?R??!N?????.ǡ???l???&%???ݑUү{WQL49?zC?8\Z%h?a\0?B??0??	U#43@????tjj??.C??\\\\\ns???6????[?g%|?N??\\q??7(۱???*1Ge;ty???O.??????#?h???\'???[???{X?ɹv?rqm?r??+eͣ????{?9?؍?>N??\Z???&?6??J5????#T?#???aRZ=?'I?a6$ڑ?;???#َ?R??>?v??;????????.n????݊?9o?YV?$?C??A?&,?\nR?U??7?tj5I??\ri?%E??? 	?,?<n???PG?d,?????r$??<=?|;?=s?VP??????g??_?\Zqm??\r?cK?I\\o????"X?y???:,?;WI?UQ~???^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:944922893f9fc069c032bad839c79fd2','e?ے? ??)R\\??QMt???r??Z@eD??n?o??1?|t7D[?,*H7z?A_??,w_?J;??HK?hO????8N\n??t??*???a???q??}]s??8tpA<Ԋ??JA????\"~?eDݸ???T?P??4??cf}?d{?5F|\0G)?????[fH??i?U???z?CyP???V5?hLz?=(,C#Y???3Zb?ԨS/?n?X???v%ٓ????&???s?????{??h??V7?????7-??K?Jn\ZL?z,?k.??U%??9}\r?~?ػ0?OepG߳_J?tJ?????v?B(?4M?r0?+?>?#?Sb\\Q?????????{2????({??Z??[??7??r?_???U?C.]?g?ig?7>??#?\Z6A5?'???????0??c??\nj???K????R??9?؏?>NQ8?m??97??F@???O$?????cW؈??Ĥ?@?I6??\rI7$ې?\6$ߐ8ڢ??+;????Y???????C0????9??9????˫K?&Y?Eٙf?????F?N???z:???U^?)K?? ???r??5???^???` ?ev\'{?R?P??mޙ]???j????ah?5????t??xSQ	?ol?3???NE~:?rɏ(?FYN?cR?sz??쾽<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:95acd129e767b42183b409e5474212df','e?Ks?0????p?/L?CO=f&?H(ɕ????????G?iw?/֮H???`?????????ޡ??T?Ɇq9?xdXA?<# ??u?zB:(U4\\ʮ?kt>\"ғ??s?ѢT\\I???+??+?/t???66?-???!???=???=?<o?t~??=jq??1?A??@Lc|?ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????u%۰????&?D?s?Í?f?~A???l???n\'TK?-u?%?AH]?%;S?FW??!o??_=??Jt?a????????????(????T32s6t%?t?Z3PJ5?i??Ha? c?v?¾qo??T0ȭ?b????dߗ??T@?ƨ|C.o]?g?Ir???\ZDuB?ˣ?!~??hٱ	(?????k?]??Г??{^\Z??U?_?I??TW???g.?4??I????O??@?\r??]??Vx?\'HYQ?r???Ev+?_?ÊW$_?ӊ??Z??N???u????????a?;????`\'?m?ez?]vʲ??I?<???????S???yY?)??*O ??gi)?\"ϣ??2@#?????rD?,?l??9xxx????????ji?G??????LOks|????[??{?pŮ8큋4;?p,wY?o?r??B&??/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:95d72f87bea04c3b9a9f1f22a998417e','e?͒?8??S:%Ygb0?y?????T#5?AH?$L?????xpqS??????X?az?s?h?????@*Ǫ?g:	?*&??QyF@6????tP?h?????D(?\'??@?E???????,V%?????j?3HmlT??WB?r){P?(???x??r~{?~qgV?\n?????P?ߜlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ??Gy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쎼?Đ~?Ի\Z(??,p#?"?$?eq????Ate??)?9??S?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε;mHh+??#??w???*9??>??;?8E?0?????+X	???S?ۑ?q??wGVy;?HXՀr??iG???G?9??#???Q\'???}?>??????uq??ֽV̿?`y.28??5?͎?(?Ҽ?9??????N?&	\n?E???᧴Ƣ)?-\n??\")?0Y?h????=????#?eqc??????/???x??I???(~???۟}]f??9?T5Rю?h&i?}}wUV??(?\\?ǌ???i???%>????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:96e5cae9b9f94fe06c3a3511d5a63beb','e?͒?0??;>?\'?HH`ߡ?;?F/?m?v??rd??>K???LOyR?~|?s?h?????h?*?dǸ	?3?j?JV??AyF@\na??E?Z:?T4\\?h\Zt>\"??\'??@??q%yw??X?Ld??lZ????mlT[A?WumW0??u??&????E0????;?\ZTH????h~s??c9???;ժ!?H?Н6??2??ƘET??5?Ϥ?((?ʚ?????PW?;?68?z????)v????/hÁ?????R???L?j??????B?"?7S?Ts???ڹbw?%????@?w?\Znd{\nG%{IFG????????f$??9???t?3RJ5j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9?[??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HY)@??H?!?\r9nH?!?\r9oH?!i?Eۨ??6?x?D?????}X?+??X??'??\d???d?R????\\|???ZLNg<%E??\??U&??ᔧ??&??0????;???rD?\\???\"?Sr??????g??q?{?????I_?hmN/?B*ڱ%???/o?<?E?GXT?(??g?Ӵ>B?UX=????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9701fee9ba1a661b769e3dbfb9a6ca20','?Z?N??{y\n.?ۅUӐ?!\\k???3+???8i?gm???a???y?+?\'???????Շ?r?c?;{??_\'??ħx? 	K76??h#E#?e????ĳF?\\\\??????????q?????Jd?Ȓ????p???z???G_???4??jB\".?u??i?`iD?????@ن\"???1?!1߸?q??9?????8??????)\'??`?N?v0p???`U?Q?\\`n᤻????<??????LP???J??EF???k?=?T?'8?y?0$,e>cA??v		???0?ô??,N?O?10{ј?.]%JC?+???ǫ>??dFv{??\\?3JI&Hk?J̘?\n????3֨???q\Z˱M?F?r?:?`???ͮ???tմ?hJp?Gu??H!?\#??M(?$???V???$a?6\"??xq??g????ij?\'?O??XK?m??. ?`~???\'?B@|8a?.TFQ?ǌ??HW??f_?{?D?ΩH?>?|??[?N/9?L???????0???k]?uZ??s?;v?e?|??nS????-A?????t??X\0?&ٔ???meA?;Ze??a????????8F~{????t9˲Գ?C<ǂ||?x?0?Q? ?????ϐ?`Z?u??@0???'a??? ???Bz???G???)?M??}iw-?Z԰???x?@???UPb?_ڱ?%?z???`??_??>?dNV?rbP??\\XOb?i?\"???"? ?P???`???-R??T?ա????/?i?pRk?E8I?R???xJ?5\r\\??i?a?>_TKU??ױL?r??r4R???ʖ(?E?q??4E???c?????]Yv/??,?꒎k?????/h??Q?}??K???E????-$k?f??_p????!?\"K?4f?z?K???:ܰ?|B?UL?|f???,)?Zy?d0?T/?????0r?G?(HR0?????mSc?BK?̹֫?+8	?x`=^??}??gDml??-q^O?_ZN/u?????0A???Ujg??xm?\\^? >_u[???OZV?@?g???0??BIXz????:`???7d????3?\'p??֕Z???	a???\nHV8?D???1=^???6?Fĳ9?j?rO??&???X?z??????ond???F?8??j??;????\n?vx?r?$??r??p??????7>9?-????????%T!???緞?\"??' !?{?+*??:??Nub0*?X??ֻ?݆?Ϫ%?fTGx??1??Wm?i?e???)??B?Yu%?Pɠ?9?????5???Ij?KE	??x?	(?f?s?2?Reϣ??\ZeZ?j=g3?S???3??\Z??{?JeCb1??N)T\'?eR??????6?????E	???}?0Q?o?-??3}?Lh?(>???_?wt???????U????k???Pａb\0??\\??\0????0e-?b?7?7O	????4W?<%?_3??w??????27O)?,zC?M%?ƌ?????㠂Q??ҍl#?4Ҍ???q??ZWs`?k?@R? ????l?\0R???S?y???E?J$Ӊ?6v?8ԣʐJ?O?\0(.  (u?\\h?U??qW??? ??????C*?ݪ??{??y>???s??$\Z?cH\"???ZMثBm??d?&?ø?m?.?ss?ޱVc;VKE?Բ?R#;???_??????F???mqok\0NU??aJ??j?_??????C?M3{{?\r?}?????Ԋ1?Uk5`?=\'[X?wj?΅a?0????A?E=w??BA}??çZ{󸬼???-?V,>HD?????MO?A???Z?W]?`?*?S????????4??$L?t?E%N??P????⽲??R=?/*?????}???;?\'?	Pn?-???*??????X???"4????!&L|0?yX?:E?걔??x??\nbW:M?????)?T?1<?Ō\0Mp\n??v??Wf!??G7O (?㉹?R\\6??q{D??k$?K???$?"Ṙ+??.?k%??i???6???2+Q????????????\Z?+,?~?o,]?ٿT?Z?О	??N???&??S??u?v?E_)?p}????y??D??????ҟ?|ù????????????%ّJ?X?M?uN???o?Ӆ????_P)????]?|?;.??;׃????o?~X????C3G??kGGkk??(?<?֗??????檘+W?BRͷ??Ƈ>r????????\Z?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:97185900d956efbc115ce349db7239b9','e?Ks?0????p??y??cf2z,? $W?n???+n???}??*?IE??p`??K?ݳ??????R9R%;?8x?????????Vר\'??LEõ솦?!=\Z?;\'\Z-????瀇?H??F[ٴ~????u/??Qm-\\?**?]?????;Sk??H=o?t~??=hq??1??\n?߁??PM5?:???bdC?;ժA???Н6???R@?"*??5\nϤ?(0ufMS]db??+???=????)v????/h?oa9}?J)???UFywK]=?R7S?Xs	?ѵ?s?țs???c??A?h?????D??,????s#f]Y3???P???x?3bJ4?????????]??}??٨`?;????r?`??X@???|?.o]Bg?Yr???ZDuD?ˣ?h??Ѻc3P0}	#9??\"??TϾ?3???䰅??x?èn?ū?\?hTK?BW/?\Z???Eu3?.??.!??|??T5UnE?rؐ?rڐ|C?\r)7$M?hu?\r;??nO??}}}]??`?a??6)?ŞQ?%?~?0???sH?I?????S?I.????G~@???2/???`<??+Cqğ??>????#?eq%;?????˷Ǹg;?V????{???ݓ?????6???Z*ܱ????W?2O?3ev??????`??P???y?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:97291265ffd7252848350b0f469319fa','e?͒?8??]>?fz?????jJ??;k?0٭}??\r?Iq?>K???J.?ņ?th???ݛC????F?0R9V??p(??#???F??F?{?????vcۢ???????\0?????琇?X?<?[?~???????Qm-?a70???W??f?????E0?????Y\r*??b\Z?\rh~w??c9??\0;ת%?H?Խ6??2tR`?"*?n?ZE???zmM?s]?b??PW????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@??f??;????QNVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?ӆ???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?wd??#~??U\r(?!鎜v$ۑ|G?rّbG?I?{??:ه??N??\'k????.n???Ê?k??iNe?I?7%??\\@vΊ?T???ɖN?&B?gR??,??>??ӹ(?=]???2@#????????;;?M?J^^?}?{?{?JZ?4?@??3???2#??????vlE3I?ۇ?????e????4O??8??????\r?~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:973b37bbe7261af6b3c29c002f580793','e???0????N?q????cf2?????\\I????{W<ܴ?vW???$?l?rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+?????d?????$?=YY?x??se]Y3?jJf???D???\\cJI??\rA@}w)??d??R??r_?????Tlv??????\nh??o??}?=9I?????N?z`yb?"??-;6??0?0?c?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??n?no{?	+*PnA??d?\"?9?H?\"?9?H?]?u?:?w?<?#????u^?,?yo????????cYz<?????B&?ool?lR??ʫ??s<?4ߖ??ʳ???2@#????????+۰E?7J^?=???$?Z\Z???0?O???.??_**?h?4??ޞ>\\?+NyVfyYb??e???????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9825f1ac6168038d78ac67abc337a009','e???0????N?q06`?=????"P?+	S?????????j?XlgiT?~|,?g}vB+?l????+?HˊhǸ???N8d???A:F@ԵV?Z?a???p-ۡiк???ܝ??Jɥ?M?"?a?\"???2?i?Wi\'?(m??n\Z? H?*??>e?;?5y|?)??/??o???]ܘQ }? ?1=T??+?IІc?l?0S?\Z??=**C+*Y/??-?L\Z??R/???????ue?c??<?zpmP	.?b??c????x???UJ\n?ī???[??4-B%T3??58jU3W솜>??~\rԻ(??^??l3??dt$+?=z??v??+?GRݓ?E0?+AOW???T???GC?)L??d\nچ?R??_??z?Tlv??????\n???k????=9K???\??N?z`xB??O??;6?????S??5?z????S)?-????u?\\??2C?\\??# |?t?cT3?.??6b?3~??5H?\"?\rI6??rI7$ې|CNG[??:ކo㎷??????.??E???b~N???I??I???=?u????ool?b??2?????&???{??m??F?????9?Y??l??9xxx????????\Z??O??il????ksz????[??{??š8?cO?????:gP???N???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:982ae10c238afd0e15984fdf51a0c93a','e???0????N?q?M???cf2?????\\I????{W<ܴ?vW????????C?5g/?v[?????FcR9V$?8??L`?򌀬*?????)?????PHO???F?Rq%y{??X?H?????????????/\n??R???PX??????"??????R?1??n4?:Y???cd}ׁkU?_$e?V?AS\Z)0f?to?\"??)\nJ???ű.???ԕ݆}??7Q%???n41???r??/T)%u;??Zoo???B?,ٙj.q0??v??rys?!??%P?نY.???T??d??????387Pѕ5????????+ט?R?9LC?ߝC\nc??v????{?g?b?An%?]h??7$???\Z5F?ry?:KON?C%/8???X????DˎM@?=??????????|=??wo???\Z~N?????S?:s???A?\n]????????gy?????Aʊ\n?[?݊??"ي???E?9?H????v??;]?Α????:/n???Ê?9n?????<??????Ĳ?2?￿???S?I???Ua??Cœ?(?49???1?Lo+4??w@/?!?Y\\ن-\"?Qr??????i????⇡}2X??????RQIE;????????Cq??i??*?`???%?,?????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:98a8d0ee145015a68e48116af5de920d','e?K??0??+2>??????=??3;??ةmB??{eY2ܬϒ?????7?C?1/?v?????FcR9?\'k?8dt??`	??K?????.?????PHO??I?F?Bq%ys??X,Od???j???????6??\n??3R???PX??????"??????R\01??4?9Y\r??cd]ۂjU?_$e?F?^Sj)0f?to?\"??(\nJ?????.?\r??ԕ?t??h??%???n4?1???Ng??T)%u3??Z\0o??-?B?(مj.?7??v??ys?!??P??5?\\??lO?+?@V[??\ODW???%3?`CW????\\mzJI??A@]{	)?d??R??r??????Tlv????ז\nh?????]?=9J?????N?z`yb?"???6??0?0?C?3?nz????}?JvK?9?8??>NQ?j???z55)t?\nVB????誣a?䡫?\\?o;?)?PnF??[???????i?D˨??2?x:E?????}X?+???8%?۝???????C?i?-??????d??a[ǒ?;?\"{???d|[??O?zx?!G4??lᝒ????o??gV\r?iUҸ??⇾y6X??u????^JE;6???????}~?	b??$???=Byx?b?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:98e914ba9e7013f0022e4d77b3f43612','e?͒?8??]>?fz?IB??N{??)apc?????6?&??,?C?*-?ņ?th???ݛC????F?0R9V%?8\\??#???F??F?{?????vcۢ???????\0?????琇?X?>?[?~???????Qm-?a70???W??f?????E0?????Y\r*??b\Z?\rh~w??c9??\0;ת%?H?Խ6??2tR`?"*?n?ZE???zmM?s]?b??PW????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@???w?-???щ?,?_???2????H5#3?`CW?~FW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹv?????^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ېlG?9?iG?R?eG?I?=???N?q??????x_??`?a?5ov?]\\??7Es̒#@r)xYBY????dK?V?? m??T?K~???E}΄Ȃ??2@#????????;;?M?J^^?}?{?{?JZ?4?@??3???2#??????vlE3I?ۇ??Uy?2=?b??y?$Y?GQu????~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:992ef2b0f30993eee7090a95c7b13432','e?K??0??+v|??!?????[?c??	M;??rd??>K?^W??cR?~|?s?h?????h?*?dǸ	?3?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J?c???????b????)????T32s6t%?t?3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????j?_??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?m?C?r9l?CNrސbC???Q?۰??6?????eq????V?i3?C?Q??E?eU\n5??????x????;??)?$?<???*r?ֈ??Ȃ??2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+?2??*??IQ??	~???Ϟ?}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:997a22dad3babcc6d29f2a9e9880e53c','e?͒?0??;>?\'?!aߡ?;??\0/?m?v??rd??>K???L????28?/???š??ޣ??T????Nt??L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕt?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??p#?"???e???΍?Ate??)?9??S?r?)%????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N??$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??=+??$??A?I7$ېÆ?rܐbCNrސd?Eۨ?m?6?x?D?????}X?+???t?*?+?yZ?Q?C??8?C?|???ZL?\"ˎ??Hj?˳?8c???L淕\Z??w@??!?Y???\"?Sr??????g??q?{?????I_?hmN/??T?cK?IZo_?\y(?????8???\?p??<???>??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9a464021d46c9a3708be12d98865bcfe','e?Ks?0????p???z?3?EZ@AH?$L??{W<ܴ?vW?bqEr<l?rϽC?l?\Z??/?\Z?H???n?D\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+?????d{G%;IF{????????f Ք??\r]??)]????@?\Z??>??R;???]??o??8r+??B??!??o,Ш1*ߐ???zr?*y??Q??????E???'Zvl\n?a&a$??$?????ƻ{?@????????xՙ?\r\rjnR???????)?O??W?-+??$??@?IWd?\"ي??"?9?H?\"???\'밓u?:?????yq???V?q3?4?wy&??P%)`ZUȫ?????????S?IV???O?t+?;??????2@#????????+۰E?7J^?=???$?Z\Z???0?O???.??_**?h?4??ޞ>\\?9d?l?&\";?v?????(y????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9a6368b6273da7e3ba473991928156c7','e?͒?0??;>?\'?HB`ߡ?;??\0/?m?v??rd??>K???L??d??28?/???š??ޣ??T???????L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕt?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??Y.??y8*?2:?????87Rѕ5#??d?l????f??j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9?[??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]?????w????$ݐlCrܐӆ?rސbC??m?N?a\'۸?m????????a,{;???f`?CV$? ?))??M??:???????-&?P	?&?"-?d?؟??8e	d?d~[?q?~??B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;???????????Sv??<?cV?!ϊ\")?r<???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9a8ab949275c42f2f593f4e173685c45','e???0?y??O????z?3ap0??K???{ev??K???H??m???h??K?ݳC??????+??X?h%?#+??\nz?YUF?k???????F?B!=9?? \Z-Jŕ??!?X?????n??/?Njc??Z? (?`Hكj????????Ap?????Y\r*?~b\Z?h~u?7????;֪??HƬ׭6??24R`?"\Z???5?O?&?ziM?c]d??ԕt?zGy?t?hC?\'\Z???m8???????H0-????ߕh!u=??5?8]I;U솼9GI?z?	???p%?X*?rړ??C?87P1?5???l??O?5f??j?????Ӂ??]?ɾqo?bmT???b?=??r?_???\ZU??B޺Ї??????j?Q,??(?[??	~?e??p?f???lAB[AO??i???T?\r?_?Ou?Q<?e??57)t?VB????躧????p[Vx?\'HXQ?r??H?\"?ٯ?E?+rZ?|E??Z?U\'k?Zw????}}}???`???\'K??CVU??m?nf?8TI?%[?F??ԩ????H??\n?t??\\????x???????,?l?\no?<<?|{?s?k?V?4??0?O???.??o**?h??i?=}?bW???yz?]Z??Ϫ&?p\"????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9acd8af561db0f21392ce4f7befed76c','e?Ks?0????p????cf2BZ???\\I??????8x?i??????8&???}6g/?v?????????J???3???\"?\'?F?k??ZEõ솦?.=\Z?;\'\Z?Ŕd??a?*?????i?JW/E/??Qm-\\?*ʹ]?????;Sk??H=k?t~??=h~??1??\n?߁?????]?l&?X1??艹jՠ_@e2??QcZ?f?t??Z??g??zmMS]db??+َ|???Jt?;?c???a??????`???L?jMYwK]}\r?ʥn?????F???s?țs????)&z????m?J??he???L?1???U34s@m????fĔ8hF???!??ӁLA???ƽa??Q1? w?M.8~???P????????ua??'gɁ??k?a,?B?Y???D?@??,$???|EB[??}=??wo???~N?????S?zs???Q-M\n]?P+i???G??ø?W??T??RR	?܊d?o?CrܐbC?r9mH?l??v??;??.??????,n???Ê?9mr????x`4?8+?y?????ܩŤ??2??$MER?H??yL淕?8???0^?C????YEx????c??\\?G??q??????e\\????\nwl?3???U??/?8S^\'\"K??/?\Z????<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9c4456172c7932a68514ded8ebb91dc4','e?͒?8??S:e???6??T?\Zр!y%a??ߖ\0.n?ݭ \\??cɆ?th???ݛC??&ĀF?0R9VL???Ъ??d560*?Ȧ1Zݣ]-T*:n?nl[t>\"??\'?$@??	%E??s(?,V?V???j?3Hml4??7um70???W Ys?\'???8??????Y\r*??b\Z?\rhqw??7?n??a\0;ת??H?Խ6??2t?ƘE4?+xk^HK*(?ʚ?!h??PW???_0???;?h?b??? :\\?ߨRJ?!???R?P??j?۹dW????ڥb?5J?{??@??fE\rw?????$???,?_???2?????!7?`CW?}BG?3?T??A@?\r)̝d?WI??{#6k?????????7??c?K4jV?\n??:KW.;?J??A4\'D=?\"n?a?'???[??{XIɹv醄??^b?<?x?????~N??????s[??I?M\n]????:>0?i???JoG???\r(?!Ɏ?;???#?9?eG??=ګ?????U???????n?\'?e`i\n\"?ó\"?Ӆ?????<??O?tju?ˉ\'E~9A???ġ)?ӢI~?.??0????;????\nD?\\??m>(xy???5?3?=?W?j?q??S??????ˌ????T??4??}?peV??<\'?\?	????UU?d?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9c7d159dd32aa7578b3d2824411eb44e','?kc۸???\nY?Ɉ?-\'?\n?8I7???x????EɌ)RKR~T??f?)?{???\"???`0?????=??7??Ga֍??8??Ia7??1??npW???4.???j??Q????v??Ó0Ex[8?k?k̲??Cz?????o??? ?*!t???=?????9?.5??????Z???????[??,?x???N?????_?y¡???e???ʐ??@N?!?V?`?6?3????6?[?^E????????????L???L?r???9?%?????].?`?ǚ[?k????,???+ll? ?\\?j?et??a?Y?)?[???)?(?8L?~Te?r???r<?\0߻yX?D???	q?f?y????9Ьa???d	?D?Jm*@c ?%	|94J???Q\Z?S?J${=?4??!?????<S?W,?=??Fi0GEZtJ?y?&A:\n???8????T?qy5]?ee????k\n?Ӳ?Ȑ\rF?7R???b[?R(??عW??8*lk\0E??F??D/9B7?Iq9?????\r??栧ѹ?L	?a?Zm?ipJ`<?:W????V?U?f????Պ???>?L????c?G?\\k??r??e7?g\rv7?[?^?A?~?:?S\\???c#\r0?????mMo:???????&\nͮ???i?????\\,#?L?-??????????	??Q?~R?????????+\0`d@mV?%S????-?Y?g??R.?D6???]??jXn?A????]??|c??\0\"h????҈PP??m?*???FyPa??iQ??!?::?ݼHgv??І??????\n0?N?~	)P?@tEЍ????.+???4?????5?\0	?_+	??t?Bǀ?????]???^?­?S??\\?\n?μIU???,F?ɗ?q???4?4䷖?????$?g?am?'???>??yX\r?I????m??I??<?||?%WoXh3C???\r?'??ii4=?F?$2|?G??e?2?0?q?lL???3?of@C:?}??.J???YJN?j?:?I?@[??@?Ae%??J?9?ryd?`5??L7H??.a??Pc?kݾ?t??ºCXS???JsgMVY?F?f???\njޣ??e?????J??Ԣ?\\??????X???????]j???xҟV?0???6??=7,s][b%?}%Ł??I?H@L?x?I??n?0&u0????%?f4???????q????c???Y8???4_??_?Z???\06B?\0k?k5i ?Q???I?d????X3?rΒ eHV?V<5\0Z?/VP?Ђq?Ci\Z??Z5??????9\'???pN?????>???????C?#?Lt?И????A?͠??b??[?Jf????}1N??f?r?0??D?2xМ+3?ۉuk{?/=`??&?Y??7>Fy%?#?m?Xo?`{???qW???S{ɧ???1???4???????qLmWd}J??v? ???????#??i?`????u5hݟ?\'????%?EɼkjS)D>ב???$???(?b?I|?}?â?ĵ?XǤ?[?)?<O?6-??"y?T\0V?g?F?s???rM	+Gml\'??Ƒnd?\r??%?E??M?rX?QV?????F?\Z?ql?\0??g??k??????Z?*mӨ?c)?\Z?S?/y?1`PI盙X+G?s???\Z]Elk??q?߬ט?N???E??Հ~?,I?p?:?"??w0?r??j~p6?»~#?I????\'\r\'?,?y?l??S\\??J??\'????????????????o<=??????G?gIk[?Ӡ?Ӽ???M]fB?_?\0??0?I?:??o?CA??\'\\ϝ.?????k}????,?G??o?% C|?Z?V???(\r=?b??>	fv?????Q??5???????B7֮??s?Ff???+F?3 ?\ZQ???FQ?\0??Y+???(1a????y??I?KKR??b?4?9?U???e?rC??	?Ʊx?\0m?\Z??]YXwP]k???<?HH??????k??{E?e?`^I{?4??@V?\n~??3?G)?0???c??????\\n???FA:L+4?,DB???\r?-N敗?r???6Ay?Z??Je????)?????r??JM???2??U?%O\Z?X????#????GB?5?7??ۺ2???v|?0c??\n$??????3?0?u a?I?C?ߛ??\nn??`?WXb2B#?f???0???\Z??,?ѭ???=?aZ????\Z?B??Xt??-LZ0?K\Zh?`?\'9????p?p???????~??????L?oP????E???ym|??:??}	???w?C???HE쉜s?~??w]???????@oG???????????x?\n?0;?s???{H*?~~????k?=;[?lg?|???svzv~?N??N????M:???Ƃ?v????????\Z??ޢAR??zC? ?fs??=???(7?Dc?r)¯??????D???I9W????L$?,5@߯%\n+\r#`f?A:?q?e?VG??p\n~?&>nÒ?9w۞ʖ????c???E?4:??!v???5?0|?\\???+? ?8eCTB8????t?Џ\\??Z???0??? ?????D1???6?E;?67?q?z??B??\"??+s??E~?%?8?\0:??4?m?vMRe9??\'\")?JD\r\Z???v?(jy???#V!?-,jY??2?]??Ֆ`??]i????j)\Z??zhh(????by5Ї???`???Y?L?\Z*8DX?5!??\Z?\"?tN\\?#????}?G?.C??-??????Q???6G2????Vaϳ:a?R?????l.??/??Avyc?\ZF|?_c>Mim?OFQ?\r?l/??????N??/?~??]?;Aoh?R)?;??M??o??p?dJ??Eࣕo??\\i???hw??	??FҲd?k<???>:?????FE?Y?.?M?ը{J/?	?????7????H?z?M?ï??>Xj?*`.C_dJ??ET??%??C??o?4?`ޓk????c??B???tT?}X?????2??)<??_b?h-6?????Ȼ=\\??r?j5?{????EA?pM??t?X?M?????=????!B?????3?a??\\??n`???yK??K?}?uz?zIZ?Y+i%&?%E8A??U?i??`????\"i?a???(\0P?\'?????RH??μ??CpQb`N??Ͻh?*???*;R?\\?@m,?)9	+1q?q2}^???X???7???{0????????{?)???r?PGj???g?ăL??????\0g?\rhv?????P????^??Ip&a?????F?<B?^o?񓃧Ϟ?8z}??????????Ͽ|??/\'???׿????0??e?*?&??	ϯon?a????b<?z?yt0i?\0@? ?:??GX??X\r?Qۣu? s?vO?????5?T\Z?rMp൭?	\n?????$M?<????H?????a??????U:0?rv??\rے?A\r?????(D}??\\j????8x@y?|t??4???K?o??.???E?AMJ?%??\Z?U??J?A&?)??,?HU?*????U}?????L???pjQ?࠺??<n??\0Ñ?nϵ?x?Sr|E\\?'W???3Ўꬭ\n+?o?????y???9U?%???:???ڗ	r??o?\r;???g?>??,A????\??\0%?w??3??[?Nc4z3<S6:M?????\n?????7?|???7?K?n?a??	G?4J$????n?-Q6-???2tW4?q? ??WJ??:g??Z@??EZ?14??\>W?-?\03_yX???????????cĎ-?і?B???Z?a???????e???ڠ@m?????z??Z??\ZOw4??q?uƒh?d#???oı9@?]XQ?h??L?O5???*?s?48?C?8]?w???=6??;??}????-L??L&*?pr???/l0??t??Xa?Ҹ?fGA\0??9????Y????at??\\?,\n?G㐽??D??h?8??\n?,?e????舃?zaެ??3????EZz???7??????Y?W????x???.?@ep??4?????~???z??՘?????0Pj3yS?3????O~\\	\"2;?8yR?Sb?????t??&1????:??0|>R?P?D?np,?\0$X???H???a????B`bx\'\n4?|c?ՒeʶI??3+?{?\'H??\\`19???.?he?7ёk*^?d??;5???s?B????Gi8Q?ݥ?xޖ????"??L????????k???̿?g1;?n?vq??????????C숦?/?w\'???????LO;?Y?#??/??,?O?OJ{???I-)]W#}1^?y??????ʏ??0?o??ô]U???J}??????пPt?????Fe??Y???S6?$_?,??3&??6+?"O???ř	??\\\\???X%???E?~??\n8C\r0?%?@~???\'	!?&??jo]?:?S\rH?Ȝ??ca?K< ?(VD@?ZH?(?}w?Y?~??c90?0??KLc??̥Q\"?hB???c\'??C??7?f?v??!?0&?va&,?]??k?X?,??\\c$r??!I?5?5?(~?}b????X?5?u?\r?P?Y?/t??`=??n??]\0Mz?W??	??i???{????~?@\'??8????Q?8y{??????ϭ?NW?l0??=??\08|o?!???Q_???N?e߯?Kc\nSa????ݣ?`T???5*????g?6?xΡ????1x@?~??9??x???P???CP[x??לb??5?l?'?i?\0&??s??-?adcz?u???H?ֹ??*?I?r????0??[????A?VQO?ȘLJ?R??.??6?#???7{p׏$?\r٭V?/͚??????Ru6??֩?ࢷ?;??U?\,?m???pv?\"?Oi`?sԝ?T??????????????P?=??????.&?K??<??#??4B?\"n?r<o??!??6??ȢSH??`2M?>8I?Y????\r?Ly???AG?Y#4U?.???KR?O\"???.q~?G`?????|?\Z?z?O\r?JQ????c?X??5?R???{????\"0?\r\\?&?E?5 %?p?_?hQ????R@???E[?;?????Tc???]??`???\0??u????o??F???W4-??? ? lL=??\Z????>?יA&[?_??m???m?\Zl?zA????Mr?????O???z???@?????/?8}eu??C????v*??$????????????Q??ɗ?\??R-~??L9?(?t8?n?{??5A?w;?Mt?a??:?e??.???????F?T\\?Z?/?UYΠ6P\r?S?e\Z??]s??c??|??ZF1?E?Qk~h/C??,????g????k???~???q?W?3?ת??<????y??c?????[֣??g????,???l?\0?{??"]^???????!?v??Oaz?]???uv?o[?)?su?`K0??\\}??\0v?????^?????챹x???t??4?م??,Ņ	Nz?Z&|8?O?2?v??????~xv6r?CK?????O??~?C??\0=8_?ϓs??|٣??wH?쯣?8z?XmE??,???*Lkyu????~?]j-Y^???Rv?m???ä???VL???[L#7???{N?qY??PRu??&.???%?A]ԣ??3>_?\' 9`??[9?؄??]Q???Z;y@??J?ۤ2mT\r;??rx????|7K???w?ta?G????????q8񃻮?????A;???s1\n????~6T?Y??̋????\'֠?]??q????f???5d>?????$*???????/??E\\DC?]?i!??a??	]#?lCc?rǳ[???~?`??@??OKc???Jl??V4???????r??h?1?4??????b??i????Y`1?r??<F?????.???|??Y??㢊?Ⰵ.:T??:?G?$-\ZL????,??&?????J@?.?\pAs??Ă?[7!)ͳ?m??????L?????m[?Ns?????.-jwg????崭C~???????uT??\nd9?ȶ?_??????$??rO????Q\Z??<???zr????y+?*?\0C?Q??7?j???[g?`$?????F\n??8?KL?U???B_?iQ??Ug?2???EZ?ߋƴ??F????ހ??^??\"mh?x?]??\Z~?N?%P???????\0tqœvt?????_P?o?n^?!d??2???4?6?J??n??W????T0?q??{۹????G??Qut>e?d?1w<\Z????1???i?ڑ????&n?`o?K??2#YnY<?????1???;8j??\0??/\'4?p(?	???-t?\n?+0??h?V4p?|\Z????????ʍ?`????i~Z?K?y?)?Op?RAd???)?|????c?\0)?T?????Q??Ljo}?~Cc;/?rY?7????L?(xÓ??K%Hs?f??j7~D?G?Q?0??7???@??;l?q??R?b,zK??:????,>?\"??fY֧c/񯣉_?ŲM?*??h,$??0?J?]???\r?\rٽ??%(I:?e??u??쬻W???$??p	\"?^?PEl?e??????:?@{Op???hCSƳQ?%??#I??%?h?,>o?q1??\"??|??9+`P/!yDA?E?dW-@?{?5??`??|????1?+?<??<,??t??(	??????????k??r?????昷??Lȭ`Q0?Wz???9??JƋ?D?Y??gդ,???^?Y??l?掬?,R*tt5?y??U[ƭC|????#?8??\Z????]uYU*0?????caP\'Z???*R?ç??؝?ذ??E???9?=wdh???????ﰲ?Iw???vq7L???(^???~J?uMyע>????\\ꀞ?g??-4?????-]???ܩ??????N?mR#?8????1??\"?Ԍ?????B!\Z<????/32,b?a0??̿i?0i???9ʒ\'A4???R:ʍ?a{?soQ[Y?R??X??x\n???*\0S?{??????,?(Х?S?YC???{????3(KCƈ????Cqk\ZQ?A???]W??̕???:\Z?<???+rq5@.?p\"?6? F>??G?3?V!n?? ????e???iڨ??C???\nX??q\'?&????D?D????\ZEe\"\rx?????a???ɵQ?	>[O?k??-E??w?\rR??a?^??wx??2?N?Z???E?\"?msoCl?&{<i???\'fB????????X?c6?f	????$?[???W?(?b\n?J]?\"(????uH????w?F?h?\Z[\0Z\n?wJ_??B??s?:uI?0?-~=??tQ???T???/C????Y????Zu???lZM?9i:?Biɳo???ؿ\r???????B?vp=???????{Y?Z֦??t6?0m57#???܌??ڌ3???Tہ????^??\r??r-?1??¥?2???6?g????????r?vB??jg?h?????ʡ+6U]Ϲq?jM۱pO???fi????f?/?Nx9??????{Y?r\r?D??x?????&?\Z?wVML?C#???3??!??Z?#q?##????\\???7G峐!?:?\0?;2D2???E#S,?o?@?|,?A??5??iǷ???O??j???Ye5?s??[??Ѳt??IQq?<R??(>?(X?FlJY?jx=(O%?#??Al?U?\"?D]??\r\n\"???\"??,?Z?\"??k?xo??}j%??e???M*5\r??O??j???l8z?????nsg???:??9|?RD?????	????A&???R??6???????`}??1j?r????c??????=fx???|h?J?t?&????c(?{AQ(????.>3ڗ¥y3???+Y?5?k\"?X?F%??U9?v?+?LSN????;???"bXR?C??Z??ul-Y@j?/\'???R???l-&?v?f1?Q??0W??????=???&1A=fP??2??7C]ū?ɾ6?A+?eG??V|V?juW?}?J?r?W???J?4??AN^CG~_$wKx^?????~[?d?y?H?Cq???{?h???K?????ؗ[0?# ??????DT??i_?r???`H?ളs??e?f-????-p?]?N?P??EC?`{??-H`)<??w?r\n\0?0CFكjM?v0t?\Z??????$3?%?tn\\yO+???Mc???QW?f??V?Wr??V+???$:0????????????Lq&?؄??h?+tBޯT^??V??o?5N?K?ldp`E\0C\\??qV??\0?g????!¸?w20҄G??/?0?Q??jC?2?yR?D???н3nE????e??? ?Y?BkJ+?p???;?{?m?%Z????j-?R-w	??e)_?Ku???}zy.L?y?3:eYX???W-O\rU,?A???PC?E2?HS<??b???\'??kOJ?\r???|??\Z? c\Z[S?M???d?????Zq???]??:?\r??7?e???.?#???q??ڼ????e????????~=h??? w???????v?<???V?????l?Y??L??n $?߮?jK???}?A?(u??'1?"??????c??\Z?\\\n>?GH?+?????`^>?SA????:??#?Wj)?{?????\0%???+??|??s?Ě3?kW??+?Åk?ԝT?\n.?ԞI\0ĵ??Ly??S??~s??Xu?Z9??\\??Y?wZm`]ݍ?ͬ+?A??N?P?1-?F??x?D????t?gQ8m\\liZ????>?????c9??^?\'???lH?r??0??T?O,}nAFD$?????xR??p?u}\'?Nh1??????䢑??????t:M??\n<?j?-???\'?y?G?ۥ?+ĸ6?\Z?2????VvL-?:d??Z%a??}J??\"ȵ?1`????ʋY???ZS?<???\"?F}-?????P????R\0??po?\ZM?9#?:7?`̪??j?E?????.4m??????$(???I?wl???U#?m??OZM0N?\0?<?/iAy??Lvk????)8???FX??Z\Z??.?%ʲ\r??kD_?i??*????&?[(|)u?%?\\?[??????j???,?+E??&??oN??mV????O????݇???????ȽG?(?^N5??AD??۶U?+?L?????????\\3f?ٖkP?&8???K?khi??c?ՁB????I?k,?@ ?,??.ty?]/??plm?????_?<?^?F??}????ǣ??O???ɓ??w?9?/','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9cf3fc5ca52eb0372be9305ffb79d746','e?K??0??+v|??!????????Sۄ??????d?Y?%Y/??ӲHj2L/???\?4ڽ8??%?\r?1?T???0g<q?Ԅ?F??F?[??U?+??m??	.=\Z?\'\ZͩbJ????a?:}?????FW/?Ajc??Zq??s??!e??\0?5{?|?%?_.??o/4?_ܙՠB? ?1?Ԁf7\'?0???`????2u?ͤ???"f?to?B?i1\nL?ZӋ?.r??ؕ???y?໨]??7ZL1??`?X?_?RJ?!A????????\\??\??Fڥbw?%???Q?DOb?ږ? ??VV\"x??sf]Y3?j?fN?\r]??^?????2????0w:?9h??a߹7ls6*?b???{????Ш9*ߡ??Y|r??P??\ZDuD?ˢ?V@???cPb?VFr??CB[A/??95???万??è??ū?\\?ohRk?BW?`%??D?nG???????v?%u?H?#???Ŏ?;rޑjG???Q?????>?????uq??ֽV?y3?S?\'I?$4/K?$UEF?c?i?????դ*??????\"?A??i?????dy[?q????p?????EOO_?=???[??Z?4????1??Y?eF\\??u#?\Zg??7W?Śc?N??ɱ̨??ɩihY?/??}}\"??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9d5fa600cc9b7e8f5e18b0fcbdcad9da','e?͒?0??;>?\'?I aߡ?;??\0/?m?v??rd??>K???L?<)Y??틹xi?{q??e??h4? ?ce?c܄ÉN<??	?aP??um??E=!T*\Z?e74\r:\n???8	?Q)?$?zy?????M???Y?R??A?vC?Tw\nk????J:?_????_ܙՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?.??&\rEA?W?8??!V??????(??|U?˥?F?3ܾ?\r?r6?J?RRw3	?????\nm? ?n??]??G?ki??7?ү?zW%z????G%{IFG????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ7$ߐbCNrސ4٢m?6?w?\r<]\"???uY?,?eo??????(?:/x?e???J3^?Ղ?????-&š? H#9$?4??q?sH?(?`2??Ј?8O?zx?!G4??lᝒ????????V>?V#????0v_6?K???ksz????[?????y?Z??\\x??????? ???}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9d8aae14a7e45731ddc7f56606850785','e?͒?8??]>?fz ?@????jJ??;k?0٭}??\r?Iq?>K???J?sR?az?s??????q>???T?UɁq%?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???Y.??E8*9H2???????(????T?d?l??ҕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr??CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU??GN;???#?)v?ܑˎ???N?a?????\Z?????ۇE???b??7+??,N????%?J?#?\"????S??/Ң??G??%???\"OE?a0Y?h????=????#?eqg????????qϼ?x?^I???\Z(~??o?}]f??9?T5Rю?h&i?}?pUV]D	?ifyqJ??????̓???~a?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9e408f6ceedd753d3dddc05876887ba7','e???0????N?qSp???z?3?EZ@AH?$L?߽+n????cqe??????>???F?\'?????FcR9V&;?8t??L`\r?򌀬k?????-??i??PHO???F?Jq%yw??X?L???lZ?????????/\n??+R???3PX??????\"??????R?1??Z4?:???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕ???????Q%?\\?n4?1???.g?/T)%u7??Z??롯жB?*ٙj.q4??v??rys?!?\Z?wP?َY.??y8*?2??????)????T?d?l??ӕk?)	????!??ӁLA??\n?ƽ᫳Q1? w???4~???P????????ua??\'gɡ??k?Q,?B?[??	~?u??p?Fr???????}=??wo???~L?????S?zs???Q-M\n]???????hy?????@?\Z?[???<o?C?\r9nH?!ņ?6$M?hu?\r;??nO??}~yY??`?a??69&???Vp???+?]%U~,???;????(P???$??H?YQ?xʲD??me?F?????9?YW?c?o?<<|????????\Zi?O??3ؼ??????YKE;?????????򄇤??a??<{??deW???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9e83d02a8b6bcb00af548d9e921aa23e','e?K??8??+?|?;?\0??T??-???{mӤwk???z?f}?d??J/??6:?o???͡???@?q\0????\n:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???\\??l/? ?DVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?|CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#??w?????#厤??N?a?????\Z?????ۇE???b??7+?E?,=?k?<9?~J???$??????-?ZM??0;y??<?ͅޔg?Ņ??e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???W??\\$????՜??(???,?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9ea46814986a3debee98d2d83b036192','e?͒?0??;>?\'?B`ߡ?;??\0/?m?v??rd??>K???LΧ}??ph_?K?݋C??????+?;?8???L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕt?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??Y.???T??dt$+?=?pn??+kFRM?!????ҕk?)	????!??ӁLA??\n?ν᫳Q1? w??ͮ4~???P????????wa??\'gɡ?W?k?Q,?B?[??	??u??p?Fr??EB[AϾ?ye?{?T??'??Q???W???Ш?&??^?J??]??4??<u??۳???\Z?[?tC?m?CNrސ|C?\rI?[??:ن?l???\'K?>??.?ۇE???b?O??%E??????y!0?cU??f????l?bY]?\'H?ʊ3?????|?k???d~[?q?~??B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;????????YY d?<Ɋ??l?"???pJ???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:9fc613a31639f6f108fa40288660f0e2','e???0????N?q?ml?w??????\\I????{W<ܴ?vW??r~Ȓ?u??>???F?g???&D?FcR9?\'&L8??G??+?dU??Q??\n\r???\Z??K???	??PBI?????l??u???YuR??AAY?){P?(???x??t~{??ƬR?1??n??:Y???cd}ׁkU?_$e?V?AS\ZYb?"*??ZE?\'RS?zaM?c]db??+???7Q%???n41??\r??/T)%u;??Z?ho?????X?3?\?t%???C???n?D?fE	W?=????$?=YY?x??se]Y3?jJf???D???\\cJ?D-`\Z??>??R;???]??o??8r+??B??!??o,Ш1*ߐ???zr?*y??Q????(??E???'Zvl\n?a&a$?m$????ƻ{?@????????xՙ?\r\rjnR???????)?O??W?????	8?PnA?ٮ?E?+???E?+rZ???j?????????????a?;????`)??????\0??¤:	^?/X|{cS?f?K???pJ?????2K?	????2?e????=????#???lፒ????o?q??x?I??ƽw???=????6Ǘ?*ڱ9??????S%2??-϶?*?xr?`????%U??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a0254c5d4cd5faed0778a3174c6db3b6','e?͒?8??S:%Yg1?r??R?Ԁ!9?0????????4?J?R?az?s?h?????@*Ǫ??	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?p?ѢV\\I??????+?ot???66?m???!???=???=?<?~??=jq??3?A??@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`<??T?.???S???6x???UJI?$???{?j?????Kv??K??n?]*vG?\bH?F?\r?hq`???m?J??\n??8`?????f\"Ռ??\r]??]????@?????R?;???]????9r/??J??!ُ??Ш9*ߑ??Yzr?*yťQ??????E????l\n?a%a$???nz??k??}?J?{?1?8??>NQ?\Z???&?6)t?\nVB??????a\\幫??oG?\0)?\ZPnC???Ŏ?v?ܑ?H??>?v??;?????????.n???Ê?w?,9??\"ϋ┟?]sE.^??<?????ZM????̱???<?	?E]??4?,o+4????C?Ͳ???x???ۗ??{?UϤ???L?W????.3??_?\Z?h?4??޾???A?G^?#E(??<C??G~u^???|{bo?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a07330cc9f908f71f206c86e335c3827','e?͒?8??S:%Yg??r??R?Ԁ!9?0????????4?JOeR?az?s?h?????@*Ǫ??	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?p?ѢV\\I??????+?ot???66?m???!???=???=?<?~??=jq??3?A??@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`<??T?.???S???6x???UJI?$???{?j?????Kv??K??n?]*vG?\bH?F?\r?hq`?????$deq????Ate???9??3?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε?$??????G?@???p?|??x5??\rMjmR???????)?Hø?W???Uގ?RV5?܆d;??qG?)w??yݑ4٣}?>?w?<]#????]?,?uo???XÛ\"I?My*Ds,K,?Z??H9?:???~??S?IYy?g\r??-?)?ȰN?S&??0????;????rD?,n?6?9xz????o?i?Ҹ??S??????ˌ?6痪F*ڱ?????V?????yM?)m?????9;=????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a0a2dafb9e55fb5669b2ae5db7ca6529','e???0????N?qS???z?3?EZ@AH?$L?߽+n????cqeZ?????>???F?\'?????FcR9V&;?8<??GV2?5????Vר\'??JEõ솦A?B!=?;\'\Z-*ŕ?M?a?2?????i?JW/?jc??nZ? (®`Hك?@aM???I??`?????\ZTH????j??3	???\r}v?UC~??٠;mFMeh???ET??5?Ϥ?((?ʚ?????PW?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??R?_?m??T?3?\?t-?\??C?5P??D??\\??l?pT??d??????387Rѕ5#?fd?l????f??j????????]??}??٨`?;I?\Z??r??|k??FMQ??\\޺0????????ꄨ?G!??-B??кc3P8}	#9??\"???g_??2???䰅?x?èn?ū?\?hTK?BW/`%???wL?n\Z????????????$ې??6$ߐ???\rI?-??n??q?????_^???"X?vX1???,\n~???H??????*?O9`U￾???S???????,????=??d~[?r?~??B?h?ŕ?*?%߿<???$?F\Z???0v?6o%}]f??9?T?ю-i&i?}{w塄2uu????x<U`.?????_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a0d2404023c86bbbb3a304ab87839b9e','e?͒?8??]>?fz?B????jJ??;k?0٭}??\r?I???Y????\\$??ѡ}3W/?vo???\Z?H??7???GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*}?????FW/?Ajc??Z?!(?`Hك?a?#???I痋`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!????d?1:?~`\0???-v????/hÁw????Q???B?j\r???ǡF??۹dW????ڥb?5??H???=???{G%IF\'??8`?????f\"Ռ??\r]??]????@???>?\ZR?;???]????9r/??F??!ُ??Ш9*ߑ??Yzr?*yåQ??????E???'?l\n?a%a$?7$??????g?@????p?|??x5??\rMjmR?\r??????)?Hø?W??Uގ?	RV5?܆d;rܑ|GN;R?yG?????>?v??;??????????}X?+?3?˩H??l??<mNXdi~?\\??I??ϟ????r?\"????(??RdL????L???2@#?????rD?,??6>(9xy???5??+i?Ҹ_?S??????ˌ?6痪F*ڱ???o??HD?\'y?yY?;?ɡ.??_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a10cc32671ef2e8231bfa145ceadf9dd','e???0????N?qS0;?z?3?EZ@AH?$L?߽+n????cqez,?????>???F?\'?????FcR9V&;?8???#+??\Z?Y??k?????vCӠ???????\0?????琇?X??F[ٴ~????u/??Qm-^aW0??ug??&????E0?????Y\r*?~b\Z?5h~u??c9???;ժ!?H?Н6??2?R`?"*??ZE?g??zeM?S]db??+?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??R?_?m??T?3?\?t-?\??C?5P??D;f??+????с?,??????2???IuOf???D?=]?֌??@???އ?R?:???]??o??:r\'??B??!??o-Ш)*ߒ???zr?*y??Q??????E???Zwl\n??!a$??+?nz??p???}?J[?1?w8???Q??e??F?4)t?VB??????a\\䩫?\\?o?\0)+kPnE??mH?!?\r)6??\ryސ4٢m?6?w?\r<]\"????Y?,?eo???,?1K?"?ٱ@Q*???$?????N-&?\\`?u?G??\n?CR?);??!??+4???^?C?Ͳ??[Ex?????Ǹg;??????z????此???6???*ڱ%???o?KHγ}qL??i??U\ri~?N?,?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a1415c6df4ffba3305b451505b5677f2','e?͒?8??S:e?΄cl?r??R?Ԁ!y%a??ߖ\0.N?~????iyJ*6Lo?C?f?^\Z??/?2?4\Z?ʱ*90n?L+Y?60*?Ȧ1Zݣ??j?{7?-:\n???	?Q+?$?vy?Ū?o??m????R??\rA?vC?T?5G?|?%?_???Z<?P!?\'Ә/j@??1?cT6عV-?2f?4???c???Qx!-???kz??"??U?C]??t???\0??&1???q??І?]}?J)????Zx?H]?C??CR?sɮTs??э?K?țk??H???-?w????SA^ѯ?D??d???C??+??#י?R?9,C?8\\C\ns??E??????ڨ(0?I?7\Z??r?X????U??B>?0??????7\\j?Q,??(?[??	~?m??p?VFr?]?!????X/ϼ6???万????è??ţ?ܖohRk?BWo`%???L?nG\Z??w??KX??? eU?H?#??w?ؑӎ?;rޑˎ????{?^w??????}}?}x?;<1?Kxʳ??09?r??L/p?\"o.?ϟ???ե?n8???(?\"\05?%???Ј?9Ot?????;;????\0//߿???{?JV?4?@?a?lU???????????f???o?:V?ӂ?Dsl\Z?\'E},҂~?SY6??/?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a22f86ed4713b64934ca2596b4868b59','e?K??0??+v|??N???z?G^???4??W6?%??,?!l??d?2Z4/???Ţ??>?V8????сq?\':?????F??Z?Ы??JílǶE??82pN<Ԫ?$???w=?܇??A???s]??h??	jh? ???????=?擄n?????~qgF??????P?߬hgA?!?q?̵j??2U?????1d?tg?$?i)\nJ?2?ǹ.b?ԕ??Ky?ຠ\\??7\n????9?׳VW???_?W?????8Th:?Z?v.مj.pҪf??9}	!?\Z?wP???^Íl??(??\'+?z??v??+?\'RM?\"ߕ??Е?D)ը8,C??\\|\ns?=???????;?g-C?^??]i??7$??r??j9G?ry??KO.?E)??????7?|Gێ-@?=?ď?\?tC|[A-??y??}??T?q?'??Q??\nW??.?$???^??]?Վ4??<w???X???fe?H?#?;???#?9?yG???Q????>?????uq;?ֽ??y3??9>S?f缨0ʒ$???4?N????tj5I??i?iԤiď5?&?1?$?????R???u?????rD?\\??m\"?Sr??????g?????????gI_?im?????cK?IZo_????$ͩ?:;?Ud???Nũ?ϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a25e427ad203b9c521a06ddc14d11af0','?zG? ??OAVk@?PI?;??cK?ڻ?mK?^??D?,	`(JM`???32?\0Rݞ?????gdddDddD???g??k/i_?.V?־+g??]v;??嬘?????????r??6?/?ƫ?Rs\\B6?_??I??6???ˏ???d?Z????ŇUz?,V????????????Z?9???L?d?J?\Z??}?	OL?????????7???O??gwg??:/?//FO????????z?-g???*????Y?W\\??????*??!??@?IyU?~W?jZ?_A???NzV==;?????HX?xZN.??\n\n?Y?sV?`4??.??<9;;;>??-W?????G?_}=??|?_I??]1????X~v?=M֫???O?b=??N???I????l??j4??1\'??Η?ڃ\"??{??0?a?2w?;?w?????B?;??9?l??u?O?\0??,?o????????N??????ZFk0????.???{8>??h?`\Z??6???????ut?]^?o??qUx$O?ٴX????g??;I?vW?/`\"X??xx[??p/???i?r~ߏW??O>~WV???߿D??????\'?[?>ͮ????j???(???]???Z`ϗ??Ϋ????οX.?M+??U???eQ*as??!5??T|??Qҳ?鸪?aR~????W!???\\\Z??ĭ?J?'?rC??R7\0?t?_^????\'??o Ks????x?H??+?1<??O??v????ۚ?<9?O>&?ց4?)?Nԏ??à0??Z???};??V0I?ԑ?|?j??X?9???)?|aKr΋????\"?????)??HGs?Ň?????H??????Z???5=?W\0??Ph<???3b$?ړ?}\0nޖ??f???}???D??=ᎇ\r??4:??i:.g?#??nA?n?/`﯊?\0o?????f?+X =~?&@ʝ\nl???5??????N?^?????;ʰ?Q??#0???|>-R?b:??u)m???0	:??????)?WE?638@??????|??????AK?Z?ow1^B??????\nJ<???(n,ݓؖ???\Z???$???7&br??|C??????~:t???pX?uL^??mS????ٰ???K!鉎l?O?\n:b???x?B/I2d/9?k????U???g?7.\r??CC9:y??`??????Ƴ??7y?$o@???????P?t݁??R???\'???o???W~S??B??\Z?p???`y?????~??q?`T?/m.?Ųx??:?90g?[=??b`B???F?|???2?Dq8?M?)?,??ǧ??C\'???????=Xg?U?Q\0?Ey?b?n???U???D;?r?@?2	?B????6J?	?;:e\"􃼞??e??qY.???~k?????D-o+??ͻ??\0!2X?YB?Ifv??????v?%)?v3^?`[??,??Wdl?w͙??#?Z?[g????'??3{?ϗ????Y? ?\'?2?.	???Z6?j?HJ??~(	X^\0??H?|?<??8[ā$8???^??2????e??X???=?\r7;???*??ZG???̟Y????	??׏.?Z?v?\rp??.???Q?\\????????\0???D????^Q!\nL?B&5ļQ??K?$? ??g9?-h??V3?s?B???mV,?(4I??Ű+_???????ZQ#????F!?e?\\\r??C?(???F?3~Fǿm????ڄ[?}????	?+?0????J}.?\'f?O?????(?`??՟??#???<A???O\'\n?>&???e??R???{?	?;C?n????cA?GGqÈHX??q+K#d:??N??՛??ڶ?O??jQ???\'??O?eQͧ?u??\\wd9?y ?^]?V??\\?Ts?5?????+sG?????\ZƧ???X.?	sMfTΟ12??Xɣ?h?O&_?Gu???[????I? B̴/?\ob\nŀ?C?*n???????j;?Ϩ?\nqq=?]?1?ф5?II%??,?S!f??{?$-??x?????Jqm`??)߯/????6qj???0v?qƟ>i??Y@<???)??`??u_????1V?~?I7?~??0?߹=I@?a!P??T??a?????+????ZQ???*????\Z?V?2{^?T???????hΟ??[???AfX??\Z~8??+?p????cD2h+\Z?(\'????\'i?????,?I???I???a:??>r&??Wp\\?AZn??:/H	?_?Va?mc????)??	>???Ԯ???n%??n~\"<^V?{?????5??T??v|?NL??IJ?Q?̭?q?}?#??Եk??#- ?0(??dh1?e?P????%???,????1խro?7????&m??? ???QS?C-?????p??p3?7??`?Lh?X	??q.	??J9?3p?^?d??Y??1IT?ű?/????CL?/?|V?U??'?w\\}?]\0UDJ()>???\r;$???$?\n???\Z?ί????????$(?0???G[Yh\Z????W?W??x???i???[??N?\0???S?\\?????)?L?x??.u??????5?W??zu?%7ՑEWw?.?R???@p?BA?X?R?jAѯ?x??VK???tGz?{?J ???x?U6-+@?	??֥H?I􃛇T????Y?1`????.??}?????SB?Gc ???⦸??S??%AϦ4u??m??+33??{V\0?!?\0Ի??܊???%d?!I??hT?P?T-Ԗ+o?x??Y???t???p??0ª???TIX??#?(??????*???zy |??&8f?'-???\"?s4܅(o	p??????57???\n???,1_?????\\???U?Eͦ???(u}\r???	ׅ8?!?iu+?=??\0^L?ʜҔl???.???ɓ??\'?c???^P????????Fȹ???F??Z?]r?i????h^?B?R?08\\?}.g??Gx?????????5??U??\0!44	???|Gt?j??u??\r?)x[ ߚ??VE,N?_?\\΂݉J??n?ڢO|q????^o?Rm????\\?hT;נ???r@% `m*?Tog??(?̀n?d??7EF??/\n6????EW]?????????Z~????7 ?	??l(٨a?????Tf	???KR???͛?\Z?g)????ͺ{<A?B?d?Ƌ?9?{]?9??^?<?/????\0?U?Ap?K ?` I3?Z???6ˆ*{b?q?=?c?{????S)Z? K԰N~?????N٭??gHQ?=.g~K????77?_??i?P???w5pUO?j???w?? ???W???(?~?-?????W;???|7?s\\?3D???ME?8????M@[6?r???}?U?O?$}??Lq`Ox?bJ?&3I??!]Om ??E??????????1??Pl?9??vY??Z????{?u?!???r??ѰT;\r??L???^??H?I8R??%??k??G??{k&?z?%m?PY????`?\r6?T̼jW??G?\Z?\n̞???5[?o6????k?K?&???}fӝRd?NK??*??????B???v????f?i??!?}??%#?<??qY?e???&??dW>?M>?\n??r$,ٕM?5$?HjT^????r?,?Re?????\'?b4???\nSG???v?O????5Kp??????`5&7??|??Z!.?p]??kP???W?'_xģ??\n?f?|=??P???F;??Z??i?)?ro?????g*????*?/V?I?\'h??9.??8Z?????????xz7?X???b??-G?L?/|??=?pL?V(?`?XR?????&?=?8??;p??=?X??????????}@??N????|ȶW[D+2`??\?5?K??????????⚦2?\"ȥ?i??P?W???^?&2J?Ԋvb?d*??G??Ð\Z㿤??`?n???%???a,??t??r??u?%?z%??2\rm??dۄ,?B\'2s?,??.?3?m??f?7???????~dA??:Fh???<??Q??p{?ڑ/{<گ??59??7??\"???],?+D????s??3l??\\r???g?A?b ?cD??)?Lc~???%C?i????k(_\Z?u???%??d????D??x?CnӉ?Zm<???Z,3??7~ ES?<%?\0??)?q]?a(???H|?ًׅ??T?x?y]??7?I@(E????*`?&y???8?0??\r??fC했??U?}Ժ?N?h????m;}??j?v?~?	Yϱ??R1?-???(>?y5r3n??M$??e?}>?R?\"2b?Q:?D?_?~????1?.?J?O?i???\0??8HV??U?\"?D??????u???xG?}?\n?bK???u*???8_??+ֈ??ބ?D???h?????Il?9^g???\r*?p0?k?,??8J??3???Xf????	*??\r???>?u?????:????v??/W???????y?cG??M???X?????v???٫?&c????????O?Ʀ??W?E??TY񞰍??@׺p??a?¸? ?|?	??vU???%(??r??o??.O????O???????c?;޿^????p?????]|?N?UE??|1?(W{????b??x??M?/?/Pf:?8<~??L9??x?F7ޑ?NR8-i?ɼ\n??͉???4?l]]Ά????????ėT????i?;??<^E??)??????Z?\n?V??0!5?????,??#?,???pF\Z????X??>?8?<\\q_?V?w?{??1V38D`?b??\r?0?\nb~B?wǰZ?\"?/\'?O\\?^Wr????&?:8?M?~??????F~F?^??X?T??zm?H???6S???7??s???G\nTVFI??\nU9??Y?????\n6?vۤ??rP.????P????Z??Afy?????3??????\'?\Z&jl??h?iIj+A??t?R?&?=??֚??;)+?'j	`?J3?Z??e&\0???VW\"????X\'??Z??N??R??ˆ??8???]?JA?Jj??P?|?h?;z???ܷXH$????	?}Ut????g/\"ݼfЖ??YRE?ɑs%????u?O}ѐ????:&??\r??o|?L?.:s>?h?ߕ?????$?\\8k?>Ҹ?w???1Djk????t??b?>j??eU??S?^?9??$???N????	?*\'r?\nH?K`?&?d`I6???эM|???I??? @|ay??G?\'\'\'\0?`??c??"???°E?6.????-!E\0\Z?r???@?r???\\}Y?????6???$?jJŤ0??W1?????!T??C?\'????S??n??c?0??h????3-?\rݦ???h??A?ƫρ?:?2?UҞモ??????2s?%?7юds?N???}b?{_M??:??&}?w?<+$O??P????h?%?$L?????T??hS?HmW???q?????????3?L*N?????s?nI??d/9Ij97????i\r$?k?d?-??q????vɛD?^ߛ??6?Yvz%ȧ?H??7:??L.ߎ??˻H??U?n???-??\'W?C$t??L??SD(?=y?t%v?\Zj?	~?~?n???fOhXva ??EU?R??q_P:??`?ǜ\n????27?Nzѩ?1??]:???=?e:??=۬φ????@????Ώ?/???=??/??E??ݢ\r?VS?p??c???????5pCP??@Ԝ?????/?j?\Z????f???m]?z?_^????:??}utzzqy????}????????PZ???\r??? ?Ir???9?8?!f\r?i??Q?)??????7#ةX?˅i???=[?g{5??"?!???2??.??8Pr?????ߋ?y8:???H;E???%?k\0???9gp???5?JN?\'	?%aON?6̼???3????????M??	h6?u	l?J??'b??K?ƕ?\:?f\0??W9? ?\Z0???!?n?Iw???9>FѦ??-?{???KHTS#?4?zU?\????????Zz?-wy}\r??uߜNzt?s!~???\"?\'\\??<?`G#?P??nAV??x_?-?????Z??.7H}8<????qɽ?h???\'!W8????1-?G??!??`???G?ޠ?{r?\Z1??z4/0֤?kX??{??-N+!\n??oi?´H7OR7ڌ?6??PѠ????\\???~YH???0	?ĂƽI?????4\ZOi?Z?o\"?????????0??_w??-???ađA?n̻???q?????3c??Bu?]?????*_?J????5h!?:㜮???8????#??W??v????)???\\	??,?????ʅ%LF?v??5v>????C?7???WjTIȔ73??N?d?A?Y??LAP?Zj?G	!Z???s???r=???F?\ZCN^<?|.?$	6$??Y?Ja=?t?=?U?NmZ)??n\'???vȅh??I6䯓?e??? ?(?Y??k?7I???=??@FP>!s1\r%#m? ?,y/??O\ZAT5???X???4???7???л?G??a???? ?????c??????ᮊ?Yr?4I?{?%3uQ?m|??O?7t??:| x?0????????-??}BЬ??o?8???y???s ??ڡb?pD?FHM??~?%???]?????h????oQ???\"?r?\'y?;\nr???()?úa%%??f`J?y\rL??b5`\0?]Z?<?`?j\r??r??\ZLS}3???<9????x?F??kסư?X?0???????_???EZ??`?`?????^\'??T??_:aK{?9=??;???v;?(~Qd?M?4??@?4H?٧?????B_??ɖQTp???pm?)z??d????_?[???$????5??\'?????flZ7e??= ??????@??v??!Y??E5?Rl?o?Si\r}?\Z?,?4???&z3????_?6??aT?cZ[u?????q?? ?3㾱?\r,?ҡMЦf#? 1\n?q?ą	??D?????X?s`?f5!??l\Z؊X?+{(\0x??kXd??6??Q)? ^?\\;b?G@ƽ??\rMr?S?\'?\"t????d?b?h??=???0;*?A???'?7l;P3?e?????ǘ\rG???4P?d??e?C5?5???o\n?T%@de?ߡ?i?{rA?0<??F\"6b\rl3ul??Lj?????2\\?????~{??v???15?b?^q(7Fp???j??T||(d?U#SU????????9?d\'H1N??%ׇ?%ff??,??lͦ@O??Iףx%\\/?fl]??Z_?????CE?P?x??Ʒ?9u??xK?&GUk?????Z?\?F?fK??t>_?I4[L??|I??n>?~???C?uu????0Q?f>????????&?`\nɼ?ا??e?5?H????Zß ;??ޤ??NCŦ?P?5Ʞ????פ???I???7Q??<+??Ǔ?????6??0?}??	@5????`??]????????\'Ϸ??֑??ۡ?????d??}}?z??,;g`աu????C,???\r$?j?|??Ωh?]??????:a?$?/`?Ӽ???,???48?m˫7?M_kx1?Y<?????K??h???\'Ԋ??ӽ&$?b!?K?]?Ɍ???Z??˸>??Hg\\͚??@?????LۍV{?|??k????]8?.iL?i@???ڈ\\=T\'?L??]¬????ii??Ż2?3?Zޕ?a?_?????Q??UD38?/C-6??k??A??\\b?a????\Zd?裇??.1???2f??QB???K?Q???rɻ??????e??=??W???L4???s??>i??߃]?H\nD&T??yEHǀ?????$ z?V?\"?A[T?\"???????o?6u????k`\0+?y?NE????j)??֐??v^?:?\",?xB?Q??????|???ƻY\Z=?M?2?Z???n?-?:?\Z?K1d.?t=gi?h??6?????v??%?B??O?????)Ƙ?D??9???T???Y?N??Gw??n;W??	??C4???p??Y?}ٲ\ni???0?4s0y?񵝢?5?^?????e?Ƞ?+???Q<j\\??x(???߻?o?? o#q3???w???Q6T]??e1x???pT\ZgjW_?\n??????ș?F\'?B\Z???MK[?j?iy)??? ??F(7?2????O4??:)Ԩ2.?3`??#?4??ZHi????\ZCsi?W@?ZՇms??+\'E??p?/?˂q3?V?)oP???HcpQX??.?\\???\\[??1??~?v???U?,Bk\\\"8R???IO?r?=???..????_???_??<[??.@???F??;?ؒx(?J?*?O?E???/~d???0?bMm?z???c{?h4?/5+????7z/?_e?z?/\\????5??D:򇨷???,FZ@?8?#}fbwL\"??ق??xrb	??3??????SY????w@?C?@:P?\'???2???+?]\0???q?1??fZB?????1??r\0r?Y/??*`??T)?Ĩ??#y????6??鄜??a?u?Р???Ñ8?????`ܜ?3k??~???1/kP=?Y&?6z??t??\rx ??&????Rk??\\???+??`Eh??T?U?	~?y?b<;\\??l?4Ѱ????`???\Z~?n???<?ܑ??*/?]y?I`x??7\\??O|1;~??>?DP?nλΕ??e?M??j???q0?\Z6?^????Տ????^???+c?Vza?f\0/\'QN???L2t&??|L??k??}fI9???`~Uf0?????ǔS?????N????Q?&y??????R??II?3?\rJ?J??v!>???S????l???I,`??Z???A??h_?86W?<^9?cF=1?때\n?o?????p???\'?{wx???v?iX??yz????d%_????J?.F\'??5\Zq?JW?Q???V)?Kh8??.61u??-????E?N????????c??f????#??z???????§?'7????<?\0???\"V?t?Lٽ???\Z?7?T??k?P??a?K??z?k???`????????u;j??r4?<??ÄdE8YPD????f)%z=?\(??F+I?r?ht????7S?p&??t?Ϣ,???????D??\"??i???D???1??f??׏@???ak????<t??????^n+?r?)??}???7T??@?%E????k??#*?????b?+??p?C?cViK?.??<???q?2??D]oo.R?UV?n??|F7????ڔ????ʏϺ?Sr?\02?WP?bS(???^n6????O???????A??gwgUw?????g??}?kv?z??\ZS??+IM?gr~uG?qr??NhT	??????????M?_?p?j?r?s?o??e????L?\?ڡ?\n??????dJ9f?v??̣?_?	`??W武Ԣg߹fv?SF~^?x?????Dd?0͘???????@???p???>?+??O?gAw#??ō??h?\n[? *?$	??2??jSA?~ϩ??3?p?n?B?r??f?D?=@o?6j????	_J@?G\Z?????Ӯ?????Iڭ?η??9????8?5??׋>??????n7?݋KE?!?f$?KP?I?"뵼?????߁TFf??^??=y?0?ʄHT??ј?ܦ?Z?n?????y?JE??Ӂ???f?\"???\\??m??f??í?xQL?K4V?â?c1??3U\Z??Y??h:??~*~??\n?l??b????;=???YD???p ?׎??????/??9M?*K?h????y{m.?j??-$??52	?k??d.?p???ס?NR?\r?z+MV?3-???\r????~H????]Cl?;	~?ڿ???i?}Кc;1v???e?^?)?1??jm??~??V?ȝ????N??????y0z?箬???f|.#bB????d\r?D?c???њ(?B???#?6~.?<x?@9?d???h?$`??6?T??u???3?5?f??^??t!|?`???l?W\Z?Lo??}???2???sSS?<^?[t}|??-?E?%o~ް?Ţ??֒7?ь)??me?Y????Kn????U?01~H????5?a?????????A&?6g\'6???7?Gr??ӳ0????p1???E?9=HHT?/M??e??????z\"?G?l%????(???>??;?(?r??a2?????|?.#?g??!v???B?\n??????_?[??Z?\'\rYKyB??U??I_?c϶????\'@??D???V}#??S?$s??????Fn??\"?V??9UQ?IN???k?\n?4\Z???V=11B?y??0?Wt?ޛS?2?????{??IR??*??۩=?N??:????me	g8T?4?????h_?K?\rB?:???r???!?qc? \n?? [x?@???u??8?3?$?gnV%,??\\??<I????|Y??\Z??s??{?2??x|??????xٟ⿊?]?k???)?rP??j??뷙S???_??[;?0=BI]R??Ӊ\\????$!??Mz?o?+?????B?F???꫺\':????,?p???{ҩ1??\r??BH?w?:??}C?N?Ȗ??_Q?????^?%?OD0| ?c???O?NF?????^3??[z?????2?hc]1?\nt???նjC??u?/??????{}?\"?kG¨s.?YP??0+?gH?j?ho??{ ???r?*\Zi???/??^2???$S?????^????}???^h#?&l˗???@???ۿX-??0??:??ʣ??\\????@?\"?:????????7??????϶???ۇ???@?K-a?@@???Qu?,????????i??j?	?`?b?????_\\???52?s??6?vi?PB??J??<??b6;ن??????,+L???q?64???@N:??M?l??GT9#?CM?9sj??OD׮A ????V,:??ܫU0?˭??po???\\?????_yP????E0?oG????)?@????????$??G?<?P+o?OR?߂??V???1?6??6?\'?Y\r??\Z??d???!)?H?(\\???L??X??䐁i?v ?y?i???2??Ӄڶ???????????5?MBg2??N??7?\r>?O?P?v?K?a?B??q????L??ɦ?f?+`??\n?*(?\'?9??/??Xo??7??????ݵa?\"????76?w\\??E??i??w?E???M????qX!?Ll$????A????n?[?ij/σRME????z@oM?S~??ڏ?$??j?? ?m?p?o?&?qq7&n?4E??[9???????f????????e?h%?#<??g?̾{??kQN???9???Y\\*ȉ????5?8?\n???%:?ޠoҚ??0N~j?\nw8??o?׫????-??k?YiM?a?x?4$*??e?!?:^j????1????Bb?<?????=_QÝ8??Ok???H?hj]???u??m?j\n	̡jd??M2NÈw?Bv?v??V_??YH?;F`Kn|w%?d?<i,1??|l???\'???&???z??,|RC?O?{???YU?g ?????x&T2:???\Z?;??ؐG?q??6\Z?\'?)<?????f~[???B??&??c8?%?v?????չ??d.\Z7????6?\Z#%ǌql??p???`?n?2(??*?Mv?6Xiԡ???2?p?׃????zm???????k????\'??-:??3VR?9ws???7S\r8?TU?5[????#ϋ?}?????m\'?!????09d?????C5???w??\0He+???	???ms?c?$0???-??L???????Ж\n?\?q?Gv??u? ΢7?????????X?/???.m??`????WZ??????/m\01?ƣ$?8>?@?q??\r?F%r?A;??>?y5z?b?1u??\'????&??Y?c%?a?gL??l䊆??\r\Z??l?C?$???&???1?X+?}?hÂ?_tQ???o<?oB?^??2?????~??w????Qx\'??|?g????g?[?z?????D??~??{t?ҡ???Zzۆ??>?q???Ϟa??lC????3?+?\0?1???]?<?x??ZI??Q???b@·?d??\n?}?U??J??L???????F?j=?????Y?lWvlX?K??%7b?Rg?We^O=ǹ?r͸?&Tv?$?A???jM.^?Zӽ??A??$4l?W&	?2{??I?????F?C??I?V?M??P?.?????t8?S??ԩG??a)?I??!????Z[6??O??X???/????Z*l9??˔?Iܼ?K?ן??*<??????L^h?d?3{	?4?r??J???S?u??GC\Z]?(?؄???QD??!?QX?????????#?>?%?ۖ??p??v?p??AVZu9???P?????\0??lΞ???m:p?eu.???g??\'zk7?`g?.@?1?C(?o?j?#???F?܊%?\n^E1Ĺ????c??@??uj??SPy?v??????\ZE?|?Y?]???]	T???*0)u(DA¡4?:?z?k??Jyt?????i??.??lW?[?y?kB	a\"?o?c+ҋn?N??????<??????:?H???Xn??t?:???u(???0j?A??}??\"z%q&?cKN?C??S0?LbL[Z#?????`????]???R(??e?*?p9?t@??~????OҋF?\Zh?	l?O>????ua??\"NQdO{\n?J???s[???y%??\n?Ş9??R*??q?\r$????\\?l?|F??0?[-;?? K?W???wg?k+^??+X??^?"0?u???]??????g?pBb,o?,?M:??fo??\"?#FF?P_???k.?%~K???\'	z?G??	???????.Ŭ?*?iP??m??M?\"Hl?Y??ߎ2j??t?????wϚ]b?E5ː??P?}???\n{????1???o?\Z{V?`F??S??J?LH?|K?hƤ?????^???y\rvU?*??׋?^??:????\"j?Vf?n`????/k????????-IT޼?????\"-?]???3m?ǋ?????w|?gQ??????9w\r???E?m\0????2?????U???y????\\???;e?D?{??7̶2????f[Cm?Ɣ~bhRO?????ŵ®?E?u?0\rK-~???{????8n(??ǹ??H???w?8!?8F???\'3?-?\"9?????L?La\\?<?????܂??????&?%??????>?k???ߣU?F????ש??5;|$?6p?????؊Qn?????????????????ɒ?e#?#<?Co\'????/?????? ??{??}6?g???\r????H:???O?n?U?Nj?Aa???M?????~w_???f@?7?"?A?څ???2?h??ы????	?\'n???i?=?^?Z|????<???????𼸾????\r??3????:g?????Y?/gó??h=<LF????k??ˏ𠆤?????q??!|??Y?4???v??-???z|?aA???9?7B???_^??<?}?????I??/??????3tD?????N?~>?O??????5?T?D??.??w?3~???cW??????¢?5????G=f??\Zi?\ZR?]7?P?T???\rM?{:?4N~!B1???{?L?rL?>}\\\0?};?????w9????l1^??I?=^?|?8ɂ\nNp???A?N2?~3?lԧ&?P?????@4X.?\'?|C?e????ӏ??;????E=v???udt(N?ŃCW@?)?????(s*\0?.??(eG=??C?'??xVv???̃:8?-7?:Q?M4\'????????1????-N>1?}?\??9????????????03???݈^C???c[????h=????M??0??=???F7???M?>R.a?R? ;??????)????A=??\\???^?\' )??<?3???	g?B???!?????????cjK??X?8?j6?Щ)\rn[??8Q???=?C뵑?C$G??z??C??8G???\"????2??ry?`?Z8??$2??|4_?'?I?????H?/?\"?;\Z???tk/܍??RA???????9?C?/3??????????n????NY??>??c?Y??N?x_?%a_.57s? ?5?????????z?T????????2S?B??V??a???Jg??a??b?Qꨘo\Z?r4:??4*?<E0]!u?:??D???|i?H????)?O?????!?,?Գxm???9??Ĕ%9?A=1Aj`??????9;KD???b?{M:n? ????^?=?u?17?y??????sY?*1?*?j??7?????y?|???Wފx^8????<똛?3????;?}?z?????Xa8\r???D?Ll????z2;͉?asT?????,\r????P귋?9jl?????L?`??E?P\'/\'?\'??8??S?)R????c?k3,UO5??r?n?Q\\M?4?nAn???_u??'.wȇ????*2?#XsI?????c???_?YLE?F???_E4?V?R???f.~?~4??Ύ+1??$???\r?????ȐR?W??$؆vh????rĂ?Z:>????ܵ\rݵ?z?@u==????Zf9?K^??????????_?=?>6	?>1?:P???p?*?ۜ{?3L?}?d?_|??y?MF????o_????????????gG??I;???^??\nbP?tI9j{??E??o?	+?U??^?? ???>?g????4]???	p????`???@?G????\Z?3֗??G@P\'?\r??Vv=?L?jZ?M:??:???2餃??????_cg???j??J_ܭ???\Z[??>?G?F??????le\',??U?ޙ*?>?)B??k?9??nqQi??xѻo\n???hf?#J???P??޺>?\Z??G2??l0???????	~?P?lf?@??]?V?U?^??f.???*.O-U????~D???\n]p???²rѽ4?9;B?C?m??<??4fP?xcE?h*???????ӡGb?DWF??XԬ??r>aA??tf`ɋ?Gw0?a@?vP??}?p??b??A	w??0?(??˅z.^??t3??Dc???{??\'??Y??3I?OA????~=?'?n[?h??u?\\?<=???Hj;?Hx?P?i?	``???C? ?(????i???/?~;??6\0???@???Y?oF$???i???TX?}\0#?Rgk]3ΐ?ǚC??v%:\0?#??????J?0i?Z\"??????'K??)]{pp(???z?̏?z@SQ.A?YZޢ??>??\"\rV\nOf:????1?)??~Gy?V??;a\"v?&?????Ap(C}??0???#??W???t?2?b?|g??Z?b;???#???9\"???T??\'?1`?E?U???f?Т?????/g?5p?0?C	???n??<7?˳?g?f5?kƂ?:???,Y?m??9??????ݘ!?d?D}6?Ӿk??u`????N??J|6???$????$?O????????3ͭ?HD8]??>9?????ϝ2????K\ZѝY??И\'???FlBҠ?ף?SG??ѷ\\d낦<v?&]?Q??l???E{????>??rs?^<?~?????)???c????ūt3????\n????|Nt???Y԰?so????<ՎPM?D>R???2:????C?aW%???????FAT?(A???\r\n?????H?ȧz??/QM??I??x???????Yp?N-*?-??l?|}69.??\n???8?\r)E?2?|[e:yKT?<? x????z-??D???\n~Z<?;~I????q??d????w?\'??\'????????gK?&|?SmG??w????0?6;w??&????O??jq$?9Q????????.mG??0??6z`??]????P????C\n???A!R????ڹ A*?>??\Zt?\n?????!?@)?I1??ۻ??g??/3.??M??}?$\Z???????P??!?8???????????c&??1?\rw???$?KU&?9??5?"?ڿ8??Q??3??3@?7d*??Q??b?	Y??I?[?Y3?W???\"???U{?Ţ????pl???X,?>?\n????L????*???\Z	?$=?I;+??*?5?CB?+?`*???T?????D?ر텚FɷG??\'??????d`Ey??s\Z4????głfsC?Q????0???h?1?b{r1??6O?҄a1???-?rI??P/\0?h|nt2??Gy??@??nݙ??/?p????!???E?D?vp\r?9?=?u{???ު?*H?&ѵ???id$??H?????K\Z\'?׆i??????^???\0?ld?hL??n98A=???^}??8$?(e;I?:???\\?>>=\r??P?q?\'=??\'????ZpO5????2?e?0?/Ͷ????:??g?%??e ??WH,s?C???6G???c?#8?If?N]??ѻ?P???,<?=???9H??H???]Jls7@\n??4[??El??]?1jO???6?V??????R?????I????m????}?3pu;[???ճ?6\Z<`@w?Lc?7??5??OgE{O???a?y}\'?v?;˚Ŷ???????N??????t)????\"?x?Ӱ$k{?\Z?f?͓i4??G?b????????\'E? R?[)w???/?5uGas%?O?bV͐???w?}?xޫ??Ӽ*ٿ?k?=;g3/??dM<????Z6?{ǊY??N{p?=T?}??>??$蟚???cٯ??Z??ߤex?????x?N??o??? ?/???????M(??KN?#>?r??t[???:?p???c??=h?o???????7?4?w??|>??Z?sG8^г??[?yޘ?q??d????G?i??	2???\0iH[o?F\r??l???ڊ?*\n+[i????O??7q?с?"Y???8z⬝*c?@|?i??S4?K??ԿI?p???^????{??\Z?X?1?v??I?>I?r?\'??\\??+???i?)?Y??9??x%\rD@?Z?7??\'??&?r??_$}l???%??c-j؈ai@k#??n8k??Y?A+??bL ?֐?????=?????K?#?6[??Z(\0HM?A???8????GW?m?$~?)?????ބ)!GN?ʏ?v?i8?n<????	??~9??	??[??????݂rJ<v??M?[٧?[?iPoJ?????~??^wm\Z?F????/??_$\n1?W??? M?U;??.V?C\"`??????ٳT?f???5?>?-???O\'?d?!???????&???}???z???????S??,?\Z#=???????&?\0l??L4??7O??_?w?\'???n??F??!f+4???R??z?,;\r??v??ܵ??|Z7S???|?Q??????\n?"?r¼?g??ӝ??6Ξ???އ6?Q}0??? ???\nʉ`??i1??M+÷~?è)eJ?4????-.˽?Uc?t?3???ZWKX?\"??1R?f3\0Y???Z??Z?x????X?????????????z;??Uq??J??ϫI???K?n????@4???[[B\'V???q2??;9#~r??t?E?U_T?d??n??<\"?_;aB??????N@??ò?WK-????k@?PڸsgO|ֲ??ή?r,?4S??7f???s??;b?Q^&e??????$??5?????%v??8??O??????m?`?m\'|?	?????|R?>?????r?>9=?)apZb{>ֻ?}`U?t,???????I?i\0$?`q?\r?h?&~\\?칃?}?s\Z??Ct????o??V?	? ??/?M\'f?ݿ?E??????xMǌ??uʡB?0??I?q??O???!$I?O?H?v<ۤ???????9wo?]\0fI.?~?q??Z蕀Y?m/e?T5C?_?O?????????Ђp?:?M\rz?Sϰiwl\ZBk???0??R??ᴂ?tj_??+???\'?? ??nC/d??&t??l?C???X??B}M???/#؆Ǚ?B??W;??ӕ????\'/?????A{????Alo/?]q?-S ?h9e??B=??NҚ??4?A??Nx??kdv???m???b?Y????L?z6?n??6u/%&A?zu$????ܹn?y??t\\?-??γ[?qn??????0??(Aǿ?\"Mȗq?HП?t???\\?a?F?I?i?(IdWIڈw???$E???s=8?x+?w?/?L??lUN???'??e?\n?P_3??ZS??B??\0gn鎳c8^?7?i???z8?u??h?.????\"\0??P??/ǀ????{?Ҁ1???F???үMC?????1˾????}??????M??dא\"?!9?0v?t2????O9P}`G?????N?P?%?]?ϲ???F?????	#?? ?ă????6{nژaӘ?D?sI]:\r?j?dw\\??^?\n?;c\'\\?Rp???????6^?l8?-?dB?p?Y+w???Y?=Y/|aՄuvL~??????{9#[?ΏX\n?s???ȃm?????sV	?hv?y>p?D`Pɳ;=?4~C9n߃?????????9???8.+?????ڃEU(?v*???]V???? ?P??aU?X????ܽJs?DH?^*??x?Vo?6???N???Һ??rz?jCt???R?\r???????Ɣ?OX	1?48L>(qW??sw?????21?@0???ðJk????\Z?QM@??|??u?X?\"K?0?k????B\n?{?$???+?\"???a?z?n?d-a??}?׫?t?5H??????\"{:1???\0??G??RO??Z?^=?Or??Gzh?ֶ?L&4?\r???0	??$?????+??$$`??zZ??c?}v??ݮu?,?ө?7?j?	N7??nYʲzet??o??ҡuL???*??pf??^]f?5? -,?Z?^N??H?U=?????Y8T?y\Z?	ؓؤ?Mw?ԑ????TՍk??ö?\\\Z???&???e?=<\"??QMIQ?\Zޟ?\r??!{?7?? ????g?6????O??m?<?<@?D????qM??8#???BC?gN?|??k????Cy_.??X??Pɢ???1?s??:??p>*ũ???bx?p[?D9K?????,d?;p??n???a)??&O???\0?[?T݆?Е?A,R˳?-?6:ZX?C??????y*??Q??e;O@kC!#96V??6(???هn?p??????&????N?&?C?????Е??????a3cJ?B?\0St?	???oݚܱ?b_???IC??lf\"ƛ?M?6R??W?̶???Uj>?EU?n?u????^??&jv{#?Д?o;iZ??`?WR???VE4?3T/???g?Y>??拭] ?%CĆ??,??؅܍e?ݎ??Y,?wE?H?w???'?x??iL9????Q{-?/?~p?1A?!?^H²y?c??????$?8??+?5u&4σ?=~T?{ޅ(??????????\Z??PX??:??T$-???$6?\Z????)?@9?.?b~,ݝM:y??V\'?5y?0??O\0?_?+?e?6E???-?Ѕ???},????9bs?\\?7Wk?Z\0??[??1?ߤm4??:??hq?⸄?lw?MJ>t?B?H????$???gw?>??v????[_??z\0S?>N??[?[?c?!~o?k4??5],??	S?ώ????f?r?\0H??'?]=??XS/_}??????fs?/(?0??7<͒?ϋRԖ?p???	:\"??S?k??N\' Uq??JbX5.?B?=\\B~b?????J?i?B3?????R|????@C?? d_-?n???x?Oq1?1??p??$C?2??]\0(??????4r_?x??_:\n?0?ʾ8B?u??r?????????"??.?%??e?:?\'7)?\'??????\"t??Z?1??,T;?4W\Z&?3F;?^ҭ??ǁ???4??c?1sޔ???0?\????}????tN??b?\\??\'\Z?Zx??NA??x?w\\?-???\0g??֩??????G?cq8V?Z\'?v??\'IsV???`@?\r?ob???????蠥??\"0ʏ\"ƯP???9Ja溲???\"ߢyV?mI??m????-???|E?_?@?|?\'M????AI????έH??!l1???\r7k藓?9?2??Q?u?s????8\r?4ImG3?????\x??n?bnM?@????3ov?DE?U?n??z??#9?\"?ػ4?\r???⑚???Ҁ??vz?,?+@t?*ωڅ?Ι??)??d?Hl?r?e ????M ?N?y????6@?	?r??ؿ1[?7? O?j?\Z?7??ێ???5??h?B?3???59hQ??X????????.?=^??E?Pw~t???H??7?G?L\'?BD=?S?'??t??M?? ?DVƥ??A?<?b//?%??Z?)\\;?׫?\nhAČ?\\?p;?w??qx?@?Z/u??$Ů????k?d4K???H+?[\'?\"??\n??j?#?&Y??uq۶??\"J?+??X??,??0	&^G?k?U?!?)aO??HRzV??4]^+??E#?m-?c?h?=o??????M????I??\'KE?T?(O?"b??.???j????~??G?̄x???_E???e??9D8?؝+?8r<??pV?oѱޏ8T$?̩?`?l??7??VN\np?u??j?f3\"6@\Zڶ@?????3K?????X=d??\r??A8$_?O2Ҳd????zFGPv?_ѓ)??x?x?\Z/?۠? ??$?????ګ?M????*L_????=BC??????A0_?q??N?>S\rj?d?R? ?̠?sW????=?mΗ???{_KQ?$?2\n???DDȱ??n??%G??	W?(سSP0??4 ?s??Պ?????O|ș%;u??\Z/YR?B4;???o{??eX??????E?????r[?Y???ɓq?[K?6E4???\0?bv??wY4x???m??^B??.nyŊ@s?η?}Q{X?\0??;L??K???Gb!??hj?nT???gTȴ@yG?検??4O?{?X??g?9?XI?\'?0¨???k\r:??]?MO#1D-??]???7??Ⱥ????@mU?0{???7?}?߾?7?????a?`??"@`??$?P?X??z?fk?,ʉ?	?J;B????weD}?S?&l????.}c???q?,???U?R	??/??48????d????5檡E?e<+???{?L??????M0C???<^?E>Li?1S8b??\r?L??t?$V?????]3g?MS_?8???ل???~Bj??????VmF????%?p??M????????/Z4??BI??ZBGǭ8_/֎?ٙ\')Wd?;I???x?????1?׸i?u?<??R?A??(??K??R<?z???? t???(??ߵ%[-???q#6??w ?Rہ?ud?P?瞋?ᄼ?m?????;u?R?????????潄%?????dV?ZbN???êP1	??)??϶轣n÷偗>?>????????[W?e#sG#\\N\Z???/`͜?R??]W9>????X?\"???e?5??5໘??M}ȈO????;????ё?4???5_^?%O?\"1?ťL+R???_?^]???\r??td?ͪ????<?*?Z:??\Z????\0?cˤ- ??Z??S\Z?\0?7??Ċ???\re1t?f;??tbP??rup?.?;OOQ[=˕W\"?\r?\'?S????s??v*?#u䙑??O?:??;&?qa???N?D,;\r궶r???2???#:%??ڋb?t??o????,f?$?????^?%?l?,i?+~???7???{??3?????e?ߏE????mL?I?$\rL9C??+2?\'?r???p??!]?偛\r~\r|?G?\'???????!T?ױU ?,?Q?^n\Z???U;Q??}<Soj???o?\n1?#z?b_?rl\\}?VolCi ??5B?\0???cg?ӳ0=6?b??c\n?{ҷ9ǅ{z?!~???aTv?v?????:3?޻?-?Ś?-_?n??v-\'H?i?n? lC3????8??'?\"???&?????/?h뵡&o?"??V?>??I?!??Ȃ??????ݰ???)D?дᅥ??6?r=p?zm?uML4\n?$??????\n^W?r?L=]??iڝ????C48Fsa??(b?.U6Ѿk)?.????"H??Z?\"aU@??2^??n:??;???????%v???Ԩ?]?v?]G\'?8܁????4?3??l?B?Z??\\e??$f?????\n2??`t??:?r6Ȭ]Лs???a8%??6?cq~XNF???????/?Z????Z???F?=?t?r?l??s*ن???ZYv?M?7]-??BЬ??7?&t?????J9U?+8IeldSAҖ?2???j?v??}???4+Wg쿉?[???m??:?O???B??ot??Ŏ6/??铓??????+b??8???g?/)???s8???Xp&>?mU,?????9Z??Z_???????r48?tеЇt?[?\\?u???nώ:?4??ݳIA?C.????.?_?߯^2>??X?{_V?9?????9??t~????????\n????W?|?U??????|??????PЗ?8???|Y??B?0??.??.R?xS??[?r???????????Ykf{?6T??һEz-S??/\ZaR>???㷘???]ջ??_?]?? ??*?0?E?!???}??n2HNz?\ZXl??t?&mm\\????????,??J.a??L8?)h?M?2?̗?3f?~ޕ?????;]޺?9 ???{??L?h=VlW??1H??g???>zۖ[\\;?u?EC????p*????????Ŕ5?HGus?v?8?{4\"j3???&p???_??j?I???M?&/ֆ.U??v???ӧ??l?v?FV??H?ԓ2?me3?ne?j?????\r?????K?5?ދ\"|?a??+V?£?re@􉮿y?2??ˏ??h?E??7????\??\nDי??{?Ҟ?d|L?U3h??wl?v+bR?!\"?X?F?v?1??\?[ݍ?%??%x<H? <琞h???kH?O[?? ???Ud???? ??\?????-,p?r???Z?0q)1t?>?ri??Mׂ&jV&?t\Z&???ꮮ??[?????J?\0?????????6\n+4??I?l|.???BN?m???8Fw4?0??10M??d?0S?؝D\\??????!!?\r?????0?߭??E?\\נ?\"?z??????\0B???=>=9I;I????@??0??`|???e\nwS???؊B?1?-%1T??????-?+?x?u|?<8Y?`\'+~?V8(o$???)h8hO?r?y?-*?x\rL??????????;^t)9h?bY??1??zjm????*0%?0?????PG??ل?{5?_???H!????H??p??>9a?R????4?hN??`!??a?J1i)?;2Ө?vc?'??S?9?hӔ?,7????E&	2K???&i??\Z????&???3???0?|?e6?"A??u?<r???,???%m????QG,D?4???f??pp??????\'S?\r????]K?[V(V??lU???M?\Z1	e?I?BoD???o?????7??????ς+n|#?ry(?.?^?xY?????	Ap?E???b?|L?V9?QD??.R-y?.(FK??֞??}P???Y?A??˽?uyq?5J?M?AW??'a??\nW$?25?7?Q?C??ު$2_I??{?2??(?]-Q\r?n????Q?BPH???G?	??왣????b???<`?S?ro???????]H?DK; ?,T#??]\"??|M?_VD&?˺B??5???T????k{E?WѠՒ?(&?$??????5U??S??]f??9?????ER?Ɣ??m?*?E?$???g\'??_???lx6B?/???????z\\]???%zS?FQ??:H{????$?-??h9xr|?Ȑ?]?̧?z2^????ا1:\Z???t}$?zͺ??b\\Uw???xvU?????W?M?uj?9]?Ż?????:??????x???Ύ??9?ƺ??#?V????E??5G\'?'?T????????x???}???????np??????|??z*j??s?9%?O}??-*Ђ?/s眶V?f?o???o??[???Pa?h???/???/????;?1Dc/EG?	????Rz?I\'M)?W??????h*x?~?a3?D????0?????2?-??|?<=NF???譪??O???4????c??\"ی1?[????T????s?k???&#N9}3?????v?Z???J??8B#e? yk?S/<???L????f?<??>?u-?S??t???G?4#V?	q\r?+MȦe??6`???j(???????p?$Z???#ؔihh?9??}???&w+4???4Zr?04????Z$#\'kU????B??{???????\1i???U]<t??Ur?k???t3y2?\'?ax?c???.?O2???8?~??`?G????髯?{?`j?????G?Kk???jl??a??l?F?$6??Eی??}???g?A̢\"?A`?277??vV?ϰ??@?????H^??F????<\"޻??g??J:Ѓ??.V+t????ΈKP5??k\ZB???MM??zd?\n???3-MS???n@ϟ????L؏d?S8<D??Κ??ZվGX??7_t\"????Ġ???p8????h?B????#??^??}?A:??5????3??v???ܓ?c%ߩ۔???e???$????}?o<?C\nاs?$??t?5a?n?q ?????~?????&????+??[??kB?]??\']??^??????@G?:??+?r]?D?????TT??b??_?6????jm?\n??]?$??R?u?b???YBh?&\"????[k???-???y??Y?H??glp,7??+??(m???f?7?@????)??DS )?????(?b?c??E?@$`??9???P???G?^x?N?4ޓ?S;qȀ???1?z????a??S???Β?R޶?ix?B?3KP?LR???zye?	??\0????/?Kٓ|aaο%???/ބ??h?????U?W?w???<??\'^2g?^?ϛbu=?hC?4} ?K????zHmL,????ː?Imd?Dt???\'S\ZH???S1?nX?(b?M??w\0[??????p?1?r???N?b??????[?`???M?ƭ??W?E?f;???8?????e}?????Z1P?5?nō?r{tl?Y?i/ԝ?[#c?m?????lO<i??lIɭ8???;??z.f@??)?$?j?--?\'`?C?p3?\Z??f?%??????%???\0??%.]??H#??מj*L?\Z?v̽QG?,5u?qg????????;?=??}?Dn?w?<?%?;?񚸾??B????{???\n???y0??e?{?\"??D| c6F\'?i6?4??\\?Z^cĵ?J8?????zJ?Ys#??9Ԑ??)??\\??????0A??\0???:+9?\rX?g89????t?d???????%?????\"??2???a??B)+/??O??促?~??????z!/LBf???%]P6J?Z???????D?gUѰ??]?????.???ˁ4?\'_c??R????X?a??)??N:?}??\r?lY?=K,???]Ȱ???Pi?y?l?W?\'u?p???)?PM??\\??/l?~?Ø????h?.=?j?襄~?b??U?Du?$?$s?\';?%]???@.:????\\?\"?R?X?x??Hż??,??߹??^\'T?D\\???)???m?HD;?Z?뗩??3????r??ʮuM?WNzFc4???N??7Ch? ??DI?ݽ?\'??\'D??Xl???o?|??????U[uQ???F?????|??F??;9i???g\'\'h{??????kדJJh?EN?m???:??J?[}??n?????? ׶???i?V,???;F??ѡ???^X??q?$?E|L?1ҾmQ?[sW<?4?,K?Or?S???u_??a?Җ?????z???ӷi?????.)\rO???z??G??φ??????	?f?jn???\r?1?a???{??\"????\\?i??y 41??B????i????A^?e????n?1?h?G?'Z?ĵ6???#?6;????!!-?[&knJ8??A?X?s????/?T?y\r.??Y<wX݌D??)`o?x???B\Z??]??F??<ʇQBv???H͇??;??iu]̰???y\"?]????4???R???Nr|?7?.????O??????Q?b9?t~r??,?[a\Zvt?k??H????q?Ȓj????N?z?Z???????3|n\n?~/ꨡ?<%d??????SH??u3\'?*uN?"?f?m??(??5??ޝ?f?????μ??F?Sa???ޘCb??8s#??Y??\0?z`{??4o??7???\":\0??????.ۗ???N??ҫ??????u)?|2ƺ2W??<??ڒP??#W??&\\};\n3????N???M?^\\?^;?Ǝ?T????C??+??c??`???K??.A?O?G4?????\0$???\W{Mm?#Sk?ҧ!??Y\0??hچa??5???D<????j?I????{B//Ҟo???ٕ?v?Բe???Zr?8??ytui>??R????=?ўYFsR??????Sf?௻??h? ???R?a?????$?f??ׂ{3P?N??%???1?I-??\"?!?[)1?5??m??HyҠ??L???+?v???lB????`y\Z?L??V?]X?4*?=?1?{~?zW\ZO&?ծ?C??C??????????O?"?	Þ?Hi???6??#{Q-??????;4??1ڳ?%ʽ?}?*?.;JC??Iv??G?t???????$\'???8s????B~Rc	?,???K:I\Zz?n?~???}*P,?1V4??M?Z?Ֆ?OM?e????u?!HR????????uM%?UNFI??	N?????Iv{?=H	??\0?m??4($o@\ZC?0?????*????4???????s??/3??,???n??]ȫ?K4{z???I??S?auw?a??ك?+?8?&~??????.???UH).?T?'?6U????U?%ңLB?)??*n?q??اn%??F}V\'3:?Z?[??(?????o4Hzyp:qw?+?qb???T????|???HS???\0?eG?Ͱ?????\\?n?y)????6?&S???????^%????Q? ???=?{i?,??'?sJ?>?a???1j??14(a? !;?5?S??????\r3ߓ?3)G潭????????????:22??Bi??fh??Pjz?W?1???3ZBZh?????r?`r?C[??'ϕZ?[?&????gs??b??'{???a??j%N?G?hSA???nS?L????~?#u)?-?	d?j????́v??????u??6N????????ʷ?????????????`?Tnb?????h\'?:ɯ???\0`oYӫ???MF4d??H<#???_??v??*?D???LЊ?????f?R?????i????f&{?u>?????_??????ET\"D	m?????????d??=?	YV_??4?5:ɓg|?%?W???6$ f?4>??n??K9}?\'o?+?v?B??̀?we??7f??Fy?ϟ???̝?_?;??? ??.?.?\Zv:Hk-?-??RO??NlAd?\Z?F\"?a?ݸڟ??H9?????@???Nt.j?S?Q????b??`????iL?p?k?%??׾?d?>????p???;?T35O9?5S=??5Q?X?0???K????i?lۤ=a????/?{?S,$??y@??A???M?<??l?;?D??????B??5???A\noR?N=?o$?Z^??^?zE?AG?+hjven????\'M??|???fo?>???5?B	k%??????P/??VK????8??4ܘ?:??>ps?i?;9ɜ!\0???6??mBwʱQ?q?M?}????\r{\r?p??q?gʤAə??4e????E0????/b?q\n??????X???????_mBf??????ux;\r??E?Tv?L??|_▝_???7o~J??Ԉ0?ݠs??e???a?V??z??}?B????~F?ֽ?(	D????+W??????5JxMST???S?ݲ?K?=u???@????/UC?J#U??w?up)d?;?\0@{*?"?~_ ?;_3????}~?f??٫rrgU???????I?? ?&\r?\?/T%T?E?E?2?(?s׭??^n???ɾ)&Goh?3?\Zr??	????k*W?UpE%??\\p?_?7?^??????w22?3>???7?p3????lw???Q?n??d\\=??\r\'m?????s@1?M?{?:?qQ?1\'?d??"???VlÊY?6?t?\'PBKW\0Tν:C}??r??\'f;?\0(?U??D??92O?.1\"???8q??+???#?0???'?{????;}??W?q1??r??:?????6>\Z?Os?Bx۶?/?ѽ?:?????bK?\'?ӈ???P?Ÿ?w:t??\Z??????hm>???????&??(?i???gc??f????O/??????_d?+R?????Z???zY)????8??????M:?$m????r????\0???U????????m熈?????)?%.??;<WI?K?|???????[%??1?h?;?????@?Ţ??ɭkPbmƳ??}U̾?\0??d??Ys\r???t??[??r	\'L>??g]?G!?W<W??t?a(???Qi???8?D??"?????W?]`??xP?vCŎ?\Z\Zf?\0ɾ}??S=?g??V??奆?V?ѵL8??OAS?\rn????Y@E??F?[?|zT?1?^g?2?y??	????????,???T}?_??L)Ƴ?֍??JƫZ?.g?;??aL{?9\Z\\???\'=	??BR???X=ưQۘi4??01?U?v????\'????U\\n̄?>h?I????R??rЅ\'X?[wI&????bKq???X??s։??\0??Y?>???]???02\"????w6$?J\rX???ڱO??????s?`㰠?*n?<G??O8s?v?S?Ū>n\"?D?????L??\"?!???8?J?¿	q:?g?G\r/?????lN????f??v\rԋ?,+??b????]?`???z??0?px:?Q?3V?3%???t?V-I]Jbc?}X?u???wy?%?֒J$\0efJv??m)v?5???kne?}??U??+*??r:?ˇ썃yHb֐?׽?Կ?Ѓ*??sȦp1v???????????^}7??6??f4?	|??Ɍ??GēȐ??rI??s??ۅ8?w\r\r@??????U?ԃ??Z??G?????=Ƃ\n?A2???%GN??g$?? ?i????NTz?M??}[?????9??r?ñ????fu?<?H??Yv?s^dm??>M;XR??Z??2?M-P?T?г͢??8ʓ???}\nyi??\'?Q????a6?6?g5??#[???????????5??.YІΑ??윷q\'$3?G9??9??)?\n?????$r0????J?)?I?Q?:?(ǵ?\\a(w????i8??S?b?\Z ???k:??@?(=;??M?`??\ZGh?\n?PQ??x?F^?Ա?\'?O9p]?	?9??\\ta?5?N??L?????ژ???^ ?????9^?F?0?1???L?k??f?ەɠ?ˤ??4??#?q????8?|3??QS[???6Tt?\\x9s?N???j?;?qcT\"?{?bp?\\?-e\Z?H?N?Ń????g??-?ԛ???E???ݽ??ध?ƶ???4?????o??\n????1????C??o?L?????m?-)?3??&9??m%.RV?>?V?C.??.\rȷ??2\0c?b??09??7*M??w??Vm??r?@?j/????M??????ӧX??Q?f??ҳ%?3??"?}??;?I??dh9???b?\0\r?);?.&????4\"J?Kcʄ????m???Gn#J?C?????????_<:z?z%?J??Δa????I???Af??$?n?V?gX?e???????e?K??51ʗ?????I?????????Y?????z?29?+X\\?ο??j???z??=??^????l<??????zI???5?\r\'?\"cٶW\'	?a?WD????;?X??X?)D[??0x???X?	????ś\Z?Ãp?`$O??!??~??P???\";N{\'?Ԥ{w?6???k????????e\Z40d?.???????k9?Z	anG?????b/???n?????F??M@d????	 ?????Zꨦi[???=@?Eb|???Ҫ?TX????????*|?5L?,?+?????\"???|?\\&ڙ?\Z?(?TuD\"?$]?I?^???R??ⱷ/Z?\0?0?	eY???7????\">?Z5??Ry??D\n????Q?r}?V???}nYH]?(??}???d?Y?#1???f???J??Cq8?????驥9.w???wB?E?tJ?y?4UՉ?GG,??r??????Ȕ??N???q?N=.?z\\?#1f?{ ???\'\' VU???????(????!BP_F??X$???Š:?|0?K?|?S???ܼ-??c??!??f??XO?v??J???p1	*^???훃?8?K?B?2WU???>?y?M??#D???d??ބ`?9#???|????????\Z???~3oc?ne??(r-G+DI=\\Ԋ??\r????٤?]??K\nb?KG?????l?=?}? dK͠c??Z?M?~&#??:L?q??1??w?蓏??T}?ObI?????????P?????	?\n~N?J/,?????lh1?LF\0F???5????????V?\Z0???A?)	c?B_??+\n??d}????????????ghL?Z??Z?=??????,U+6U8e?}??z?u????!??r?vf\rS?$8???~?ʋ?`N?(-jL~d?%C>-?J?#Ce21?\rQ???,n??N???)Ni?E?e?Ⱑ???х?F???????H?+%oL???꥝?????\r?ץ? ??>??.1,?IAN8ɪ??:????|U???]3????R0Oj???ݷ?J?f??ݿ~b?f?$?.\0???????i?}3??[\'Z#<??ߎO??7?0?qS?wA?ҌK?DO4l?:N?????OߏY?Wl?V*m??b?/?c<20+{?\"-#?:t3i?_?i\r?Z\n(?}ȼ??WуwI?u?ĔyE.-??u0r,JUh_ba`X?????8,?\0?#?u??Ch????K?)???\Z@kP?̋???y*?J???x*<C1E?|`?pd?\'3??8/????R??ɣ~??W???N????????????(\r\0N???rÎ?7??&?gn???l?e1%??????y??????s?H;??vzf??ʠ?T?S0:?\na˙?????ĭ??k???>I?r???|?Q??A{,[Mh?߫}????ԙ?⦸???@@??Plv5????????Ѯ???}(WN??prr???'????ً~???CϏͿ4??=??\0u?B???sP???,???Y?8?I?5r?*???<ѡ\'??3{&c???	-????Ģ??8??0??T?????~,x?]Q???????V????\0???0r?HP?l,??$ok?H\0y?c?=U?j??˵V??hC??F???氉??=??׍?;???`o?a??s</G?uK[?d????]Lo\'ӑog_:?5o?D]?+Gp\Z$?[????g?=????$??? ,;?<?i?ꇨi????޹H`?K??-??C?GM9?9l?xj??MXFb4p?_? I1x?-?!??e?|???7s?#\"????Z?)?.na?ߖv???{Rg	???????:???!??G?l=?/? ?ɟR\\Y???????a?q#?)???/??b?HJ?Z?????Z?4x{?Y??Ȏ?W????^s??\0????{???Ym??h7????v??S??T??c&?a?_??Z3???yN??m?(#\"?M#?|?R`??h? ???????ֽ,5u^=[?+?-??/?fs??4D?????F˒P?ijm?????=Cq\rh?3P-j?m??=.¤d݁!?\n????h?x?L???9?\0???	??$?1yӉh=?\ZÈ??????8?깗??+?????wx\\??r¬???5h\'F?????3,?Q??)??ZXT??{Љ??)\\?"=?~V??pjl?P?`???%z1?e?o_ J۲???}L??z??Ƭ9?s?*-+?9?{No$????&r?6?n?\'?!~????lAD2l!?1!?<?E??r?s??Hf?;)??g،???g?dd?? ??\r??~3%m9~5V?n7k????Y??o?????ΠоD??<@jěwc?RF\Z?n??Ѳ?mYXe?u\'\'|\"????Qu?:>g??????M?E??-??k????l???-???Z?\\??ݕ?2ƈ?Q?{:Q??	?9:?Ay,??[p?s??t?ٽ%:????eq???E}M?tؖtCDP?)qW??]?????)&??]???????༡?:?Ri??g??7??";?*?Du?:?z???7T?V?_avu?1??vi_??q%]??b???????[&Pq??S????\\??C?;,G#f?0??M?C?N\n?v-??i??Zz????\"?IOA?7???ѩ??\\2??7k*?4??X5/????$\n\0`WRW?\"?O.??(?ЯF???\0?QK!?,\0Zz????n??\0?y/??4s???Y?낃??}?Ojq?l`k?1???-?????yѦ??xc??w?????U??0^??.????????zv??\"?3???????9???F???p?a??X?he????h+lR??????^???]????/???ÎV??8t??3XM@Σ\\?Wb?@}???.D?>W?.?????l?????N???յ???????OңS??K?`??????{?O;???|??????֋1?[??R7A+\r+Kӱ????b?.??S?8??r??hO湵E??'?Q????????΃= ?@+??4\\???A???:??qLEĵ??đ???C?_OEM??_CkvH????ǸP1TAC`??Zu?\"???wn&1UP?W[&RY??f??O0?^??u@?g!W???`???9EA??z??y????????'??;?U??????O\n???\0Q?x??Y??m????????????Z^Е|???HEg??04l?Ѽ?a??;?????h???E\'@u???؅!HG{8rj?qw?Z-ۇ?av???Cc??N??`?r?H?,??:?I??M|1?? ???Ƨ????N??	???NvÍ?I?8??????|??????av???OO?\'??q2??e??w1???\Z???~?1?+z?????~??N???\Z???M?~>[]???K???f+k]ٚ?vUؔ??IE?????????V?p?'?StXO???????;?????^??Q?????4??+f{?p?R]?<?\n?????W\n??#?ߙ???y`??=wfS,\Z\r>??|gq?3?U?Roo7\\???[.Tr????m?????Ļ@$ė????+?Q1???z_uHl?ۣgfI???H?r?}q}??\"8nZ??Jf/P????s8%?HQA?X?????]?\\Y\"!?ކ7N??$?nv>&_CO?`MZ?Ӳ?????r?y?/?8?m4?x???ž??$XNd0??Óvv?Fo??W?s?)I{??d?S?F??t1??p`????????@?kB?*??:	?Gu?\r??:???\0p?C?\'\Z??????????s??E???#8?QB_u?^?C⡐y??0???@?B]KT??%*6?X?????F?t?????=ssP?????b??ad~?k}9;ٗ:??\??????9?C?oo\r?7L?/!???\QI???????]??ԋha?"??F??8?m\'???????;????)p?U?=???B6?Q]?0???#??,G?T?[??Ү??j=<?M?+??_?3S?M*?n\\1?-?F??wGY~q僩4,G?9?Q?,?Y=@#?\n????O??????ބ?0?O??L^?0}8?????>?/rHuR?i?i^3??:??<???:?|O!0G?????f???ż\0@?\'?!??i?j??0?$?: l?)_8?Oa2?\0?\Z??Ns??;???>ў??G?\"?)???l?ExB??????xr?H?\0??TA(qx+???Xt?v?d?I21ĵ5????F\"??dW??b?"??/E?d?|????9n_1????O?j<???Yc?!v`???\r????m,?O???,80?e*?ݒ?*?@|nr	?K?EB?????\r?F??ZeI?4-?ٓ^?*d????C[??????e?2G?2E?\"????/??G6?M\0???~?H d,??vRE??\Zҿ;$/?v?K:f????8??HR?RَUؐ?Msv(?QW~??????m???????F?:??}??????}\Z????\????P?ʗw???2+??Q9t|?Y????=??????`WK????;L????u??p???3?????}?????\'?$w??a?l?N,;???I????\ZZp?l??(!??c????x9\"??>5 [C(?ZRs\\6?1	??\r?;/?????D̲Y?????????\\$;???7??{n?F?7w?$%8 ?G?5??\Z?-???-?ҿ?fiI?`?0??N?0l[VMQ?u8[h_?T$ջr????1\'0?e???? ?x@,6)??85?%???9?]?9????窴??,P0(????7\r?????D?uA??rk??????e\Z??>q???ϛ\Z???h 0i??N????0\n???}?J`\Z?c??M???S?w:?	??%???n1????h^?}??@\'.?}?????^???????Ȯ5??F ??-??z????!?Z	?!??~?l❞?+녫??}?$?mr??rW[?#S=??????h?Ù&?\r?=?L?}???q?I??Q?5?^P ?N_\n!?ylO^ɺ????ҘWࡧ?i\'???????Z??????p[???{\r쏎t?)??pwڵ??F??M?????܈ԯ???0??????Oey!?הÞcc??l̀???y?$?=????p?j?????????$\'??n??>?#???Z??B]?x_??H;??m?64VV??????DnY?H?S?á?g4p6?F+x???H?P??g?t7e???;􁳻R?=I????.Y?;????Y???d????|m??v???WU?4:hRصZ\r?Z0???9p$O???w??ӊr??f???>T??N\r47N0???w??h??n???x?!ب?Ƕw???8??.?C6?п?Lg???JW?????ZwRz\"?Tف???OU??????Q[??Sw??y=??\Zm?v?X?@h?U????????]\'?r???g?oX??␀????K??.???\"??B???b?n????A	???Z???7W?????<?v???5??I??s????0\r?*?	{???=??-??p?\Z}?-9?\Zz?ԁnǋg?!?F>)4?y`h!??3?????????m???Z???e??F?[??&`m\rg?Šgױ??????9\\?}?Z??4?{ڇl? 6 ?D??xh?qy?}y?s??PQ!*?t3ݴ???y?i?X3?gw5??Hѝ???[KT???8??????vJ+U?wr?????\Z.?=J﫻?0V6H?aғ?\"???|???&&?.???J????|??\\b?'?o?C??xh???ÿ)&??F?Y8??\Z????0?-O??,?Q<?tK?M??L*????y\ry\nн???bUxw?8?4?s?\'?G?P??? ညڛ%??Ie??J?*?F?3u??\'??s??V??}5?]`[\n~j@t?V???-x????q??;?[k?X??????q5?????\Z_?}>B????k?Ӷ=??Ei??1?>=??7??A?) M\r5??}{???G֚?R???c?W????E??>q?aCI/!*?qϕ??4 *{{??/?????????+~w4/?~?Ec+?|?n?y??m??7~????e<yv???_????\'???\'???????I??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a2fadb563e649f6be9da15501fcb74ef','e?͒?0?????͆$??}??zܙa??6?i????7????s??Ρݘ??F??C??????˷k?8???#˙?:?Y?F?[?????\v]U????????\0?????琇?X?<?[Y?????e+??Qm-^ag0??5???????E0????ŝY\r*??\0b\Z?%h~s?\Zc9???;Ԫ\"?HʬӍ6??2?`?"*??ZE?GRQ?zaM?C]db??+?5???<Ђ??Jt9;??????k??_?RJ?$A?\0?S?[????P??\bot)??;?C???n?D??\\??l??+?%+?-?p???+kzRݑ?C??+QGW?6=?$Ps? ??????N2?W)????F?0??*6??QoH?]?K4j???ޅ.t??%?J^q?AT\'D=?<\n1n?'?????{?Hɡv?	m=?zz??>P%?%???Fu?(^??~C????z+!~?t?f\nt?0N??n?o;?	?PnFv?_?Â??-?ANr^?d?D˨?e?2?x2E?????}X?+???Nx??S.v???8?6=??=?4????NM&i??,KS?f?l???qޑ????e?F|????????[?Y?wJ??^???5x??UI?[???`???e:Z??y)??f???9?E??;?ˬ???$M?Iɋ????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a5d9ffdb043b8372495a6e37ac65bd68','e?͒?8??]>?fz !!??N{??)???ۄ???l M???Y????^????????P?7???L???????L?8?B@V1?5:0?????\'?????CӠ	?T????\\?D??(bX?ʟdk?jڰ?6??Wƺ???o\Z?t+S??+PX???????\"\Z?h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?;?T?X?ԕ??}????I%?\\?o?)??n-.gknT)?L7???t???t-?T??Jv??+????+?@?^SH???ǜ?p\'????a???)??ّT?d?\\??ӕo?)I4??????ӑLA??\n???????(w???4~???C먀VOQ??\\>?0?ғ????HꄨN$!?!B??Ѻc3?}?#9??\"??`f_/Ϝ??????|?T7???oo?4???7p\n?O???4\r?"O]??V7?'?U??+?ߐÆrܐӆ?rސˆ?m?ηa???????/?;????b??6?EQ??<ʬ(Qr??~????ϟl?b\"????<??s~(3?aV??M淵\Z??@??!?Y???\"|Pr?????ޫW????z????WE_?hmN/U?Ҵc+?IZo?|UTp????<+?|(??\'<? NG.O?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a5e2496767e59322943d2ad910744af1','e?͒?8??]>?fz?B??N{??)apc?????6?&??,?C?*)??\r??????F?7??˿?????r?:7???\0??b?gd???OH???[ٍm???Bz2?N4ZԊ+???C?U?me???6^6??F?\r?xCP ???????G>?睒???-f5????i?5???v??#??\???\")?Q????I?1???+xk9^HKQP?=??C?U?C]I?t???\0??*?Z??q??І?=}?J)????Zx?H]?C??CR?sɮTs??э?K?țk??zW%z:0???G%IF\'??8`?????f\"Ք??\r]??)]????@???>?\ZR?;???]????9r/??F??!ُ??Ш9*ߑ??Yzr?*yåQ??????E???'?l\n?a%a$?e?nz??k??}?J?{?9?O8??>OQ?\Z???&?6)t?VB??????a\\幫?ܑUގ?	V5?܆?;???#?9??#?)w$9?>?v??;??????????}X?+?30Q???,??????????O?tj5???4s??)??E)?1O????`???Ј?9O?zx?!G4??lგ????_??^??V+??5P?0????*???ks~?j??[????᪼??yy.???M?)?29yM???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a627f0964892ca2d5941873776d3d01f','e?͒?8??]>?fz $????jJ??;k?0٭}??\r?Iq?>K???J?<????훹zi?{s???@*Ǫ??	??xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???\\??l?pTr?dt&+??pn??+k&R=??C??+Q?HW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹvن???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ې?;rڑ?;R?eG?I?=???N?q??????x_??`?a?5oV\\???e?????"???H?8???O?tj5????k.E?$+?:I?tFHseL???\Z??w@o?!?Y??m\"|Pr?????=ޫW??q???????WE_?im?U?T?c+?IZo?\\u? ?MR?y???^??(r??$m^?~a?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a65990080cf0d19c916e20ee5ebdd983','e?K??0??+v|???????[?c??	M;??rd??>K?^W??)Y??틹xi?{q??e??h4? ?ce?c܄CN\'Y??(?Ⱥ6Zݢ??*\rײ???????h??W?ww=?<???6???+]m??{???j+h???!e??\0?5y?|?%??/??o?Z??jP!?Ә?A?$?F6?ةV\r?ERf??5???cQ!H?(r<?????k:??"???C]?????|U?˥?F?3ܾ?\r?r6?J?RRw3	?????\nm? ?n??]??G?ki??7?ү?zW%z?????J???Nde???΍?Ate??{2s6t%???f??j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9??\"???g_O??2???䰅??èn?ū?\?hTK?BW?`%???wL?n\Z????????w????d?!?\r9n?C?\r9oH?!ņ??m?N?a?۸?????????a,{;???f`\"=?\nyQ????iƫs?T9???????ZL?,?@&?$???\???t???&??0????;???rD?,nl??9xz????o?i5Ҹ?=?c??󳤯??6???*ڱ%???/o?<????\"I??H^???VB???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a71586926ef7d75f599a4c89f4d59d83','e?ɒ?0@?S:eq&?m????rLU??\Z???I?????????\'5????b.^\Z???Jn4@*G?@?	?O<\'5a\\??<A ?0Zݢ?\Z\r??ۖ;gң?p?ѬQTI???!,R??????j??66?m??\n?R???`X???'???"??\\??ŝY\r*??\0b\Z?4?9??????\0;תE??ɨ{m&?e?????xk:^H?Q`?=??"????]??t???\0??*?Z???3ܿ?\r??l?+???T??=u=\r?&u;???|2ZH?T쎼?Đ~?ػ0??X???E8*9H4:??????DW??????CW?~?W?3?ĸ??A@o?	)̝d??b??rݜ????Xlr?????h????c?>?H?+y?\r?:\"쁥Q?aP?~??۱(>+	#9??!???_O??1???万??è??ū?\\?ohRk?BW?`%??D?nG???????v? %?\0?$ۑ㎜v???;R??#i?G????>?x?F?????}X?+??H??2/J\n?P??܈???|???ZM?,\'`IS?c	-2?4????,?,o+8???0?C?????x?????g?{~??Q???0~??/???k??̈ks~?RᎭq&q?}ys???\"=?y??\?8?sU????8?s????O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a7560f85bb5061e57650f621208cf7b3','?Z????\n????<\Z?y???q?;)??P??-?*I??????y?=$uQr???H}??C??:xa;??\r?i?\"A?O?,????l&hNB$(?4}??7#??x??󇋫???2?n??\"??"a??DDAsc??}??"c??\"?????2hKո@L?M?ŋ?G????/6?u??I?u\r??6b8$\\`?yscq\"?5????̶?7wC?7???FRa???$N钥\Zvd?{G???De3\'????f)FSi?	?22G??\n*?~??(l{C??@>?cƭӄ??>?8?ӨO?7#^???&}hD??Q?'FO?($?OW?1???=??j??*?i??ٟ\"??H?k?\ň????k??`?Q?+??$3??AFb?nr?:{o???.?f$?Qװ??=??\ZE,?Ls???6???$z?SšIB?9lr??#??K?}0?Le??	?ZP?:y@Y?>?D??f\\????<2<1??K?????F?!?`?????>??ȇޡ??>?b???G?????U?{}?{???A??0??y?s?N+?{.W??B??L?O??^??u?wrУ7Ke???]?X%J??[???t???.?U{8?Vf??$>Ca????@[ӧ?3???hh4?G<Ü|x?x?0?Q? ??O??ϐ?<`??+???D?Y??'?P???A\r?B<?\r>??)??t?η?	AP?}?J?S?oJղ?i??FC\0r?]?}?_yD+??0?Qߠ7?????*\'??G9Q?uN?\'???}Fr\rxFP?F?ѱ??g`?\n??ʒ???Y?wj|/?3q?AY?<??N??????Y?!/?1????V??T??e?q??8????F\n;??Z?<?5??z??d??¸?3mm;???????uM?p?J`}??74k?"?????F?Ej???/?\\????C?4f?L=????:?[>\'x1b2??a>3H??????@??Z?	\'v????E\n?܀a1?G3?7C	lc#??;ף??ǈy?%؅]???????l*?;?????P0`؃Y?;?\'	Cӥv*????s}???????H2????D;M??C?ir????@???????/??\'p\Z??9敜??!l\"????_g?P?0l>?laaaz\n??6?fS???R??????;?iG%?#????o@?+?uƱv?!?t&??Yh9?P???-????\"f?P}????Ej??h?g`̈́Hoo????$[?j?w?y?F\r??Y?8J???Rg??,??{??bD\"A??)???\'5????k???????<????t?B??ӿ?n????j=gK??	?s?\Z??;?JDCb>??Z#e\'8X???9??򶳳?V??`?̧A@<,??m????|SD?ca=n?T?k?_???ه???Kd??\\?[??hXu?ƈh????"?n60???E?\?^)6 t???\r,??	f~??#?A?\"???F+ټ??#??BM??q*?]???B??O???????2Qi???h\r?|-^ע?\\-P??|tR????;\'\\?\n??ߍ\09?n???Db?\\UD?x?r?c]~?OH?!g?GRU-B??}eT?d????\'@qIC??mC???Ze?½??/??&J??<?x?T?Ukï??IH?,?B^N??lPY???\"2???Vv?????z?	????\'a?bӮw???q\'r??dY4?ҲSސ?/?UȽFO?Y??????+?;???ζ\rc???Ԏ-?]k_;??}?M7;/ֻ\Z{??????9??,?j???VZzֱǵfg?*??l???????PP???^??+???j>C?S?????=T??i???]???nW^???T???󗠱?!??ɇ5Yʭ?*pN????h??#g8J?????U??x?XF?inB?\0?UI%???H??\r?8??????Y?BB?{m??%?R??)r????ŮT}\0?A_Z???_^?*\n??V]xh?D??V?+?Y???\nH\n?Rߪ?O8?q?\"?!Q???????/v.VRk?K?h?[/eKy??	?????\\??yVq	;P?l;??{??s?1?QWp.?_????Є?M??@s???#?"Yn~?E_I?q}????u???????[[?2Z?|Ӻ]???g??*R?????>??Y?N1/??,????N?/4?VSͿ??~??Q?u?1??m???????߷RE,??d??v?q?x0?q??o<????m???ן??~b??`?}ϝ:??{??7޷????؟?f?^p?n??3???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a7dd9ccc1b8c2c4efa372508c63700cc','e???0????N?q??q??cf2?????\\I????{W<?O?????4?&??n?K?????ޡ??T?Ɇq>N??#+??\nz?YUF?k?????v}]????????\0?????琇?X??F[Y7~????U\'??Qm-^a0???g??F?????A0?????Y\r*?~b\Z?h~u?c9???;֪&?Hʬ׭6??24R`?"*??ZE?\'RS?ziM?c]db??+?\r???^Ёo?Jt9;?hb????????P???D?j	??????D???g????کb7?9???ޕ@?ff??+????QFV;??@DW???#3?`CW????\\cJI??\rA@}w)??d??R??r_|r+??B??!??o,Ш1*ߐ????r?*y??Q??????E?O?-;6???Iɱv?	m=?z???>P%?5???Fu?u???A?\n]????o?]?4??<v??KX??? eE??E?+rX?lE?+???E^V$M?u?;]ǝ?O??}}}???`?a?7K?*?28?}yȳ}Va? ??	?ool?l????????H??n_?a?T?d?[??O??x?!G4??lፒ?????q??x-I??ƽw??????zZ??E%??f??Ӈ+??p??w?@?e?ӄ??q?\'	???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a8125ad9cb3c01fb6bcb24ed64493a5d','e?͒?8??S:%Yg66?r??R-?\rBr$a???%?????Sw??h|????b??2xt/??5????ѣ5؃ҞUَ	g:I?&??AF@յ5????u2\\?h\Z?!?*?Axp?5?k???zE?U??l?SMV??U?????A??nc?tw\nk?A?Z?0_D????_ܙ3?c? ?1=T?7??I?N`?l?pS?\Z??;\Z*C?$?,?B?.??x&\rEA?sg;???????߱??S?=?6?$?K??1e?}?X??l͕*???U9?z??E??S?Ts??5?rs?(?\n?@???w?	7?-??^?ё???_???2H??IuOf?Ů$?=]?֎??D#`??އ?S?:??O]???X?:[??r???J??!9<??\nh?Uh??C?=9K???\??N?z?R??O??;6????8?S?+?nf????\r??R??-???Gu?(]??:C?^??z? }?t?c\ZL3?.??>cUp~??U5h?\"?\r9lH?!?r9mH?!?ryݐ<ۢm?6?w?\r<_\"????Y?.?eo???X͏%f???ƅg^d??ù?e???~??S??,A?伨??Qˬ8????h2??-Ј??@?zx?!G4??lᝒ???o_?Ӟy?V=?V?????0v_-6?+???ksz????[?????s???|? ???'.??@y*????oO?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a88f73b08ec1bccc68b2d4be9cf9c9e6','?Z???=<???????K?ٮ) d??0?$S?@?d[vd???a???B^l?$_۲	j?Hڒ?s??9??;?????\"NY?\"I<?\'a????dc?	74#??Q???\??!I??g???????L?F??\".?ʐ?S??Y????~???c??=DT?yK?\ZGJ5!?oӺV??$???h]?tC?lA??9????o?8?H???????h?n???np?L???҂)_)??Km??\n?	???F?e?x?5f.??r?5T??(2$?(j[C?b8?? f	?{???O??%~???&}eQ?=????ٓ?F??Q X!??g?/{^\r?X&~/ M1?۳@d??QJRAZ?`?$?R?\'????F?%~??HNm2?Z0???[???S?xlq5%?<?]??)?I{??R#?Hs????6?????>\n?ZSšI???rD?)Z??\/R?0?????N2????<???ڨ?}@6?<??LO????p?}??\"O\r,???̾???????S?|Z?L/t~ədr?????%?P?,???F^뚭?䝫ݱ??T.#????W?b??.n	z??????????D	t?ds?Z??.???v???a????r7I?Q!??\r??????\ZX???cA><U?E?ѨG????H?u??>?	,n???? ?w???P?????\Z??|???????*?&AJ??&(Gg_?K?5l??Px???(???ҒF}??a??_??dNV?rbP?u.?\'??ܴU??!FjxF??R(t???0Yw?$FeJ?,??\n?\Z??@??L???V>\'?Ɵ???aw??c?s??i`?vxM?ņ????????1?S?r??r4R?#??(?Ű???4E???c??V????z?:K????`e???z???a?xbx???~?Qa?? `a????????3?0ah???ڝ?g?$ʻ??r??χ\\?=?	=???\"}??????G????3}\n???h?m??%P??u?9W????????%؃??F?fP)??x???z??8?a?	??t???C??????tA|?[???K?\'?Q?#?&??Pb?\\r??c!P?,???Y?????L????C?u??7kE?????tۜ????-,lLO???Ƀ????Q??R垶?\0M?(f????????{Imx?z7?@?OVN??$c??~?;?̬_?????,_?Y?????NUB`/?W~?\"\0(?	?Tߋ?Q?%?????Qo?R??????}R-Q5?;?F???X:żjKL,?v??????̪+F?J?	?+Ɵ???'5fq\\?\\(J(?N=?c.?Oa?1#ן;??~?*{??u?QƠ9????8Q_<?;7s?M??C??D6$?z?u??U&|0?A???o?e q,X?X?Ԯ???b?6??g????C-t??????K?:?<w\\???????C?Q?\n?P 5?^j6 t??4F????????F???E׉t???y?%?R??\"٣??J?cO?S0_f?a??7 ~?|??ʸ?41zT9*?|#?6??D#?q?IW??u5V??$\r?r?? _p?\n ???$*???\~?OD????OR?8?cg?=?????????Rwk??*?1?_??|??\Z??y+2pHE?[?փ:lO???????w??D??H2S?_T?&?W?f*ٗ?v:Rø?m?.?s??c??????Ec?Fv\n?1??Z????+????mqwkNU??Z???;?Jjw???S???}?M3?{?]\r?}????܀??c?{Xk5`/NZZ???\r???<??&\0?uG{?v\n?>???卝P?h???b?\"?P\r?N17kzrb?߽0?1?w?\nv?R;e??9	*?mCKS+´]MXT??Ŏ6h??KN1M?!???a?e??x?X??mqB?\0?mIG?Q?DT?~?F??$1??a???%?2??????]?????'??]??_j3|4?L???????λ\")o?@P??s	%?l?Wŭ????B?H?????<?*??.?k%??i???6ri???(?\\Y????\nv?h??{???q???.?_*}?`hτ???@3d??)??\n??\"???tIf??	?}??|D?????E???.v}s?]pr[%???p???\0??J?'XM?uF????o??K?b??T?3?E?$???F;?????o?~X????C3G??kGGkk???ȟ??t???????檘+W?L.???Ů?s???????7?<??_?/??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a93015f638b0f90fd3b0999606745bbf','e?͒?8??]>?fz ????jJ?;k?0٭}??\r?Iq?>K???J?R?az?s??????q>???T?UɁq:5?U?A???u?z?tP?h?????D?O???F7????琇?X?>?[?~????b?????o\n??`Hك?a?#???I痋`??nf5????i?	??;?????0v?UK~??٨{m&Me??1???+xk9^HKQP?=??C?U?C]9?????|U?˵?F?3ܿ?\r?z6?F?RR?	?5????\Zm???%?R?NFi??=?7??#??J4?0?????$?eq??\n??Ate??G2s6t%??uf??\Z??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr?]?!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z??????????J?rrܑlGN;???#????#i?G????>?x?F?????a?{;?????Dr:??\\???,1+???8??H???'[:??p?ّ?VCy??-?" ?q\n&??0????;????rD??فm\"|Pr?????=ޫW??q???????WE_?im?UB*ڱ???o?:UPfI??\"?ԉ(?uR?e??^??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a93d75e46b5147e0b5fced857cd8972d','e?Ks?0????p???z?3!-? $W?n???+?n???}??"?QA??[0}uB+{??%?u?tTHK?hO???O?: ??:?@T?V??????p-۾?????????Z?2)X??`>,R??VFԍ[????MP[A7??rnVЧ???Z?>P?Z)??.??o?/3?J??i?UT???(h?D?5c?j??Lz?=(,C#8?,?????-?Dj?S/?na?????v%ٓ???uMP	.??C???Ҍ??7?????W-)k??ߕ`\Z?\\?z,?k.`Ъf?؂????~?ػ?b???m3??h??????+?v??+?TM?5?+A??+?S??????????{2mCW1??g-C?^n????7(??t??j9F?Zt?t????'\'ɂ7?j?aB????D?@?=??????R5?zz???S)?-????u?(\\u?6}C?????F????H???q?Ǯ??)??Ĥ???+?l?CN?n?C?\r??q?Eۨ??6?x<G??????_??+??H?\0??.Uv:\')????K3v:????:5?DǪ???Ϋc?ϗc????Q?????8??w???!?g????\"\\(:xzz??{f??ءV-?}?~:??Z??.??_**!q?8??ޞ?lq*?ȳ?)??AT??c?<?d	?{y\"??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a9ab22564135aba40a608e689440f2cf','e?͒?8??]>?fz? ???S5%ln???M????ʆ?Iq?>K???N?"???M훹xi?{s???A*???	??N<??	laR??mk??E=!4*\Zne7u:\n???9	???$zy???l??]???َR??A?vC??\nk????J:?^???x\\<?ՠB? ??<Ԃ?\'?E0?c?l\ZG?K?:?&=h3k*C/??B?.??%EA?7????!V?u%;????#?>?D??b??s???6x???????zXIPm???46h{!u???5?8??V쁼?Đ???w\rP???\\??l?Tr?dt\"+?#?pn??+kfR??????ѕ?L)	???\Z/!??Ӂ,A??\n???ᛳQ1? ??ͮ4~??????Z???|ta\n??\'Wɡ?W\\k?Q,?B?[??	~?m??p?????ㆄ??^}?<?x?l???~N??????Fs]??Yݛ?z+!~?t}`\nt7?????\\?o\'?)?[PnC?9??#?)v?ܑjG??&{??:݇??N??????????}X??V??`Uv,?3??DZ3\'????8?g??O?v?\"?4k?䔴M[?e[?V????gLַ?\Z??w@o?!?Y??m\"|Pr??????W??q?F?????M_??hm./խT?ck?IZo?\\???&?E?O??@?TXT?Oڌ??_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:a9c6da4e6bcd5ad27404e346ee077349','e?˒?:???SZ%9?l.c??:??\Z?\rBr$a????\0.vҧ????ҲH*6L/?C?b.^\Z??O?\Z?H??7a?+Y?60*?Ȧ1Zݢ??j?{7?-:\n???	?Q+?$?vy?Ū?o??m????R??A?vC?T?5G?|?%?_???Z??jP!?Ә/j@??1?cT6عV-?2f?4???c???x!-???kz??"??U?G]9?????|Mbȵ?D?3??\r??6?J?RR?	?5????\Zm? ?n???\'?i??ݑ7?(?H?????7????SN^??D??dz$7?`CW????\\g&JI??A@?p	)̝d?WI??{?k??????]i??7??c?K4jV?\ny?:KW.;?J^q?A4\'D=?<n?n?'???[??{XIɹv?\r	m??z???P%????Fu?(\r?C?Z??z+!~?t|`\nt;???????oG?\0)?\ZPnC?;rڑlG?)v?ܑ?9???^u?????{?????????X???;??>??iR??̱~-?=7\"˓???????ե8C?yӔg<\\?\'L????c\\???\Z??w@o?!?fY??m?xz????3?ުg?j?q??S??????ˌ??U?T?V4??}}wUV???59?c?%??1)?v~?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:aa54cbd478e54ef3a1e0955122f5b27a','e?͒?8??S:%Yg?lc?r??R?Ԁ!9?0??؃???Sw??h|ŏ?Yņ??^?(k????b@kp\0?=??6J:I?&??QF@5?5????????ض?B(U ??$Bkd??V???1,V??Z???t?\r???.?????)?nƔ??=???a???\Zy??3g@?@Jc~?#?^??`????Z??I???7v2T?NILY$?(?!8??BZ??R?????\Zb???~?GOy????\\ފoN)??n??\?RZ?~!Q??S7????2?\?3?\?M???;\n??B?5R??D?sBl???Ȩ +?F????+g\'Rݓ?Gp?+IOW???$?X? ??q8??G2?W)?V???\0??*6??QoHc:G?z?*t?ޅ1v??\\$?Z]p?AR\'D=p\"	)??'???[??{??8?s?+?nf??k??}?Z?[?1?8??>NQ?\Z???&}kR??????i0????????pV5?????????r)7?<ۢm?6?ͷ???????w??භ?w??׀??nyȳ?ą??cYʼ?xV??[:u3?5????\0?嫐\'???e2Y?h?|??=????#?eye;??????/???x??I?U?(~???۟}]v??9?T5Jӎ?h&i?}}?U^??e~,?ȱ9\0?T|?o?z??ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:aa70ec803c59046851d7298c56f65c33','e?͒?8??S:e???\r?y?????T#5?AH^I?x??ݷ%?????w?W?E?Tl?????\?4ڽ9??e?h4 ?cUr`܄EI+Y?60*?Ȧ1Zݣ??j?{7?-:\n???	?Q+?$?vy?Ū?o??m????R??\rA?vC?T?5G?|?%?_???Z<?P!?\'Ә/j@??1?cT6عV-?2f?4???c???Qx!-???kz??"??U?C]9?????|Mbȵ?D?3??\r??6?F?RR?	?5????\Zm? ?n???\'?i??=?7???zW%z>0???K%INg?`?~????f\"??9???3QJ5?e??kHa? ?h?J???Y?}/??F????k?*?Q?*???Y?r?T?\r?9!?qep???O?????ε?$??????g?@????p?|??x4??\rMjmR?\r??????)?Hø???p	?????j@?\r9??#?9??#Ŏ?;rّ4٣??/;?N??U???????n?\'?e`iQ&i?]ҲƓ(?????.?n??ϟ??????e?d??(?ώ?2OxQ^?]???\Z??w@o?!?fY??m>(xy???5?3?=ޫW?j?q??S??????ˌ??U?T?V4??}?pթ(???%9?9?????~a?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ab898f6bda58986bb1d21cb3b200d9f2','e?͒?8??]>?fz????0?=NՔlpc?????6?&E?}?d???*/OY????5(k????&D??J{Ve;&l<??! ???ZU??ғ??p-??iЇ?P?@?I????V?{?1,V??5N5mX?ZT?c]R[A?7\rR??)?(?????|\r~4??΀??????P\rFܽj&?:?)???M?j??2Lg??????H\nQ?BpV???Ν????????c??<?zmRI.?b??c????D???UJ+?$?r?u3?]? ?i??]??nGkj??=P?????%z?\'$???G?zEFG?r?????rv$Ղ???]I?]?֎??D#`??>??\ZS?:??O]??<X?:[??r???F??!9<??\nh?Uh??C?=9K???\??N?z?R??O??;6????8?S?+?nf????\r??R??-???'Gu??(]??6C?^??z? }?t?c\ZL3?.??>cUp~??U5h?\"ņ???r9mH?!?r?lH?m??v??;??/???????C\\??+?3?C-O??é,e]{?gɳB?????S?	?`~8??ey)3??,?_???/?~[[????9?Y?w?c????|???????ꕴ\Ze???⇱?f??U?eZ??U?4??f???_*?˹>q	G:?8??????]?~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ab913ffdec31edd9972900d33dff4c5a','e?͒?8??S:%Yg??m?;?T?\Z?\rBr$a???%?????Sw??h|ɋSV?~|<?{	?Z??|?Ä?\Z?i?lǄ??W:I?&??AF@յ5??????????B(U ??$Bkd??V???1,V??Z??6?t?\r?.?????)?nƔ??=??h?????\Zy??3g@?@Jcz?#n^5?`?????5?I?\r?3v4T?VILY$?(] 8??L\Z??R?????????~?OyL?ڤ?\\.Ŏ7ǔ?c???5W??V??IT?@t?????L3??5W8ZS+7W쎂???~\rԻ\n(??9!??E<j?2:?????x?Rɕ?#????ؕ???+??R?h???b\nS?#???????+Vg?S?Q??]i??7$??\n??Z=EZry?;KOΒG??8???8???p??@?@?=,$???|Eb[?̾?ye???T?a?&????JW???Ш?&Ů^?)H?]??4??<u???܀????d?!??6??\r)6?C?³-?ͷa??8_\"????Y?.?eo???X.?<?SU?+?!?P?+????6wj1??????>??,x%???}???~[[????B?h????%OO߾<?=??&?FY????a?l~??ف??Y+M;???????ݗ??3?Z??Jy>?s???u}Gx?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:aba945bd49d3901b7c579c66f70590e2','?i{??????G???}}ϣ\r?;??G?BZ?$??mI`?\r$?ə{>?1??????՝?đr??????????}????|?????<??Έ]5?=???/w?????D?9?hP????x??:??-]?o???z?}#9????T/p????y???z?,?]??Dl??????_?E?:*?O~?{)\'>?:?W;Q?ud?˞????O?? ?Ͽ?\?<c^????\0)?ȷ???Z/b/dm?a??d??&G???????^?be??nzh?>~?C???@??x??B[^V???)?Ͼ?ힳ?zh????m?@?7?\'??u?P??c?_C????\0T՝P?Stu?K8O?3u?t\"=8?У8p???????(?*:x??????7?????FϚʊ?kn?wـ>DA????;Ea?/?w??=kC????\'5Ё?>З???:PZ@EF??????Lg?t??(|?Z??3K????3?????Z?G?A???`? OG?Q?\??Qʫ?i:???>??\0???,9ؑ???Z?@A-?????\nu?;?ۑ?H?䙦?릨?|????.o}??Qy>?w?????q\r?z???_{??? _5_??^g??.??6ෟ?KOH???Nf????#x??K/#?7\0???i9?7n?v\'?0????+EZzq?T????_w???ǯ{????j`?L^BB??"???@Q??)? ??E2????Ϳ!?E?\'>)?S?7?K?_???yՒ]???????~9m???5f׃c???)?C~?E?g4\'???[qU???p??????q?S:????\?????U?N??-]N?+N_????^????????O]??Ǯo?????O???\"?BͭR???????????????\0)?9+G?$??\"ɗ??Bߜ???.H???XO??[????i???/?ޟ??\0????[{?Jy??g1?]??)?b\\/??~??>E??N.????|*?y8V????ſ?Ӌ?Y?ܝ?B,?`ٮG????C?-?CD??߼?5)??%???\З??yN??2??R????!]???t\"??Av]?q??V??=?s??R:?kF????)j???ڊc?&`?????Д????L??un?ٛ?;>?![????;?F?>??ͧ3ښ\'??p=e??|?8????????ކ????^5 ??ۜ?R??R?v??C?\Z????W%???w?_??!???3???=?큾?'Z\'???l?o??\?~?^F??N??????u??8޻Dv???ƽ??o??n?9ՠ???Lq27?k??s?B(?~??9?\0?¥?????RJȝ?????e,???????????e???|?????KA??}<???:K?d?2??g?I??`\ns>?9O?M6???,???t?j?gy??V^?	0?S@?_??L?O??|z??l\0?O?\Z???/????p???pT\'?????}??????Y??????? /?????{????#?&??|Q?|y???A???Z??c0??|\r????a?/?>?y?_J?~?~Y9\Z\\8?#?=????,??a??k?Tg?D?	]???ty ?WV??ϣ??k???I??HO-?Q?Xܿ>)?F?n????????܊?s?N???p{\'????8\\??#}>\\??wWa?,?|?\n??w?YQ8???(?n???}3B?\?v?\r?>??????????????d??\????8?	ױ?ɤ~0?ٞy?|?.@IfŪ?\'A??e1????э?r??6??????&??3?bwa?????9???)??????Q~??????r3??MR`ǀ??ٖ?/I{?}???v????8??x????9K} a0?@?w6m???՗??{р\r??\\??{?A$???\Z?<????A+?e??5_???}??\r?;??|??????F?v??????"??ݟr?<9?+??SW?&??,???sA?y?\'|??E}??+ ??+_???uw\'???1*???y?@???\r???B????v???ѫ?3??:#?7?[???v?0?Z???G\nϴ}???3}~????\\??Ա?????O־R?????????<??????????RƷ·?0-?@?	%>,?????}?????ҟ???c??[vN?`??sa.O` ?>\n/????????UX??Y???a???q?@???x??\0??\0???9G*\0?d?k>????+;:Q󶤠??\n?????????`	?v?_r9?s#?3?W{?/?\\Łs???? \0?c? X&???H?fz4??C???>?g??7V????6??o?`3Dê????\Ze?LCW???ǽ??:N7C`QiP?	]?M蕡$??D)w?I?8?6U 8!?\\Z??\r??	ik2im?$ܭ?Cf??j?_????٬?\r?V??k???????6?J??\Z\r??=4?\rK|?h????{?????\Zx ?nE??ߖ)?/T=??_5?#???0?P<???{???!(?A???0?????(??_gK??B{??d?MJ??&ryo?????[?Sy?k:???*????@G???	j??UtL?O7?=S\'???4l???UסR۪??E??? ??{??]?????^???S???kF????i9?????????uI?V?ו?\Z??b???N?Yb????ՁL??Z?Q???F????s?JG*?????1?????0V?#{=? ӕLG???z?*Jb?Gz`OkCZ?k\rsZc??F?iFW?b??Y????v?J??Vn%??\'??Ѓ??i=???<o|????y<?05??O>?׀,?dODYQ?yy??YZ1\"k?????ީ?XZ??$???Y$*\"???dhf??NR?Y??P٨?B?T?@?O??o? M??3??LF?ƻ??ו1I\Z??#F?b?\'%?NT??]S??f{????H??\?#?=?D??Kuhk?Ay????ǧS???,?E?uo?X?-??????d?B-z5$h?fF?3B?W??x ????????L:*R/?JE?34?;?Z?El?WI??4?????Z?????fb?]??:+??d8?W4??????#b??;?S-/?Ɍu?׉??W?4fQ???u\\א?C???;1?J?נ??PR???T?rةԥ?*?q]\"d?+????QӤG+??M?ߠ?	???)=)?T???y:u??q??,??=L]?)?????!u9???.??|_B??\ZFG???j??BB?Qa.{r9?>?????Nh~?^HR\'??R??????#U??1??????;(A?????`5??m?????+D?'4???????<\"????=??*???a??e57DO?????AFp@?By???????d??Y?\'3?(a$??T????6?\Z??[??E?*w????w	??P?:?????唧Mt9dlj??@?9Ǎ?:??ml???34?m?i?އʓI??펍?	???\rr\\?Vk???^????-\n??$?:?? N??	??,?\'?\'4{4??h?&?a???gL???c? gVVN?\'?T;LOp?^??UBzr ?KO?UyIN^ͮu??!WI??????t$%????oIG^x?????$x?O%#?AU??dSwB?O&?b???????KR7?n3d?m?s<5??沗???b??u1??5?&e??J??N????h?\???D,Q?f?2??d?T_?5tN.?²?v?삉??s5?p?g$????d$??v?d*B??Œl?????GNɉL?Ù??ө?5f5X??M%??????-??=N??$h??6ߨ??76ܪL]^??|??N??Gߑ??\\n??Q?jS?e???XRz?n?D?,V?뿮=2??T?P?o&\"Щ<DA??eYF?b?gEӝM??h?L???蘴??K?C??ɫ??e?\0y?֨!?!9?ۏ??~=??\\Ve?؃\Z 2?	9ɖ?\r?D?KN?????el??˅?q?ʪ?_-????텟??f?⃧???D???,m?6?| B&T??u?0J[????L?Z&tD???/????w???~?????\';??????????,𐡝]0?9?P??rج?????Z?\'?4?:;`??\rP?f~???c??S???\\?N?M??&r??????ϽzM\08(?N???|??D?????#x??????|??`?;???]]???Q???+wm^f\r???????\"??#ǳ?6\r?C?????ݗ?C?A{?ZԻ?)(+??CfУY ???5?SN5N????^?????c???u@)Z?+??cw?y???\\A;} ???????<???B??W?5ݑ7w??rZ???%/??w㥢?,?>q?P?vvq??A???E?7????;@P?Bt^???{?????_?a7?N??0?]?PS%?`???????Ɏ^???KԷpvt(??w????????????޿y?a??7g?߼??????????j??~!??>??????/E?X???o!eHЙ??????y}u???? ?G$??|q8?|?????a?????ݶ??E#??K?ק??{xD9??\0?޵sp??,??????w{??/?`???~?={\0???ʟ_????E??g\0??jy??a?m_?/\0?]?:I/???C?⌕???;???o@,?????`=o?а??k???I΋???ɣ?ف?la??>??W?^<\\????]9?ek??x{?Gq?俹???;w?{??_)????ٯ??go\Z^????d?w?????F40D??^???w׽????3?h	?ʏ?fX???R=`A:ys{?????%o?2/??ׂ??????#??????3??i?Z??]???\"??f?L.????\0?%? g:p8yK׻???[\'???\r ??|???hڏ?K?I?VS?b???J?????\??w???A?(???dCy?}tX?+_g\0ϗ????%\'8?????._2?<I??\B??????????????\"Ṹ?2?yV???#j???\\r	eWl?o???W??o??s}?Ymq??\n??	??????Q????????ge?fN#?f?ߊ!????G??,sF?r??=?????????d%?`???݁??\n???????f?^????!`?B??o???yx?Z?n??????<I`?s???ͽJK3;?~}a!?㿮?]{ٍ4?q½f;?~??i?d????Ť?A1\\d&Ϝ???%?3?????"??}???????????q????/_?_???????*?g?G???l?9?Ϟ@?O??/?3???????8??\'Š.;9?l?>?6?~?L?wQ?Z??????????(?HSD/$??4⹍???<???J???u??)?uv???+???s?;???? ?~w?8F?????}\'??|T????kqH??H6???O????_}4????\n?????E?????_?|??uaq???ߠ???\Z?Kf???????????u??7qP???\"?????݈?s?6?繡݁????????????^??+\0\0s??0?A?Ny?*/z?3:?w?w???57???A?J??????+?䰟??N???ݤ???I?ty?^?O72?-?|?T9/?ȇ??????\n?6?Q???d?M?/UO??t?xP??\08?? ?^??]g??u0?{??g???\\?͖?s?倷?????[????w????h???PP2?6sqY?A??h?h?8~?????ѕS??3s???????6????~~??!????????mߎ?8?'O???B??pB𘹬7???.`??  ???)p????]???u?<??,?%7z(?p?퓇????a???w??]; ۬?8??o\'???Ew?ߎ??j??	?ߒo:E1?EG???7????_??^???=?????Z!Ń??Ū7?ݷ]????h???~O???Ϲ??v6??B=??]B????????a???????%???lw??4??a????=}D?dT~|??Y?t????????/?????PB???j??M?=cYq6??g?Tr:S??Aٞ??NH????R?c^???;??>c??_?m/?????'?????k?aG?E??{/c\n^>16W?? ??m??_?|??????c9??sP??P???`?Lk?)?C\"m?f???Ne?O?;lz\'?I3Qe?Ӄ?B?^?Q1x???+= ??;????0???????z??IN??\n\\ڵ??˺???(?????/?u7?t??8?߭0?j\ZP?T)էh\ZHМ??\r߷${?77?Y??b?Q0??P???????8`?\Z7?|*\Z?.???\n??Rv?5?R?d???*????`???YB??͞Lr????go@???p?? o\Z=|??q+????h?\r?.??Ȥ??8?	???J?ZC?xh5??ymst\n?\rb^^p??l&C?E???[???u?\d:?????????A*???֨#???A;??z?;??Joa?R?r?????_(SG???,\n??Y#?\Z?;??i????}????;?? g??隑??????j???Z?y?٥???>?~y????<????uB?J??¢?Ȳ???XV:??%cR??%?:??8\\?M{\"5????CZ?D?\ZD??$}SM????ˈ$?ruHt??H???a)??&\'h?f??}?%u???J7DTjvX?NG??\'x3???K???_O??zqx^3?W???#\0?y?qʽi??\'yE??k??̄F90r????wڒ\0fn??rM\"?)?<???o???????l?Wf?1??5?????;?ڤMO????\rG????'???S?b&?Q???\'?N+ˋF???n????;?q3????;?]`v??p=??|r\Z?u|??nOB?????????X?=<????o?O@???ݞ???????+h?v????I?쯟???e?k?N?????????ʓ&.ݽ!>??RVR1??B?p????Ϧ+\r6?L???8m???????Zvc??r?????]f?yO?tho?b]gR,hlI??*?l?H?+?????M?v=?9?*?h??,A????y?\"v?W?z??????D_??i??&?_???????0????Px??_3????͞R_`???	?? !?t??ڄ?F???Z?f?M?֖?f??z???Gb)&??K%????1?K??VcnYu??Lp??j?\\I?\0V???\r??Q??uO!?K???4]??DU???o~?R\raU????6??T?:?`m?ף??ђ?????tB?cmL;z?Ro??Y-??ו??/p??&R{???.c\n)Ӏ~????Pl)~?o?,C?:?V?:ڇĸ5?nY??7??b??|???$h?#N?:??d?Y?9=??۠]??D]??j???͐f0?{??v0????0F??p??Z?a??wk?԰G\r??,T????F?Vň??rl-.ג???G?*-+[\na?6Sw6ꀱ???RmM??J?MԺ??/d??zv????/?8\rT???i?yy????p{[=??j?U?Y?&?앦?R$?3??a?\Z???b?+k?˳=??Z?k(??jH???=u????LGtwm4J]?>J?as???g?o?Rߥ?>?TE26c?DWD?O+k9?#Uމh\"?????s?`?݊?v?ί??ڋ?Y???Wi1,?W??^?E??Y?????R?Q??L?ů??Y#z??Z_֖?U?a0??m?ZB?Dn4X?!?#??ǫ0?ZR?jz??i\nc6???~y??D0۪M??\'???&-??fA?;\"?٘?n=??o#Z?kz??T?Yʔ???DXE∵V\"҉<@???Vmw??:????@???٭(@?{3?3 ??H?????QJ????M}???ZS?????I?W?%Ij?????	X???z6f??z8?u???\'?^c??????F?6?;hy?p?ҠM??y<????Ro{??S?GP??-|?/\n???5gm?6?h8/Z??i??q\"?N/k?+??TI??? h?V?jϡ0@si?Y???߈?9\nx$Jg???+?Hz?Mb?n?)????=?>???<??iʕZ?ٓ&?VVʴ?ZB????[5????6?n?+1\r%???ц??rR?#?P??e??ܐ؀????MH?LS???̴?w˾f??)9d{?l??????\\Ib?4?u\'?5??B???۪%?k5???F?X?oG??b???\0v?&젳N?c?S? L%??=H???|+?[?WQ=??ó??ho?d???a?'?`َ?2J+?*?i\nf?Z?uga? ???,?u??AqYi?Z?g?5\'?oS????9?7???b{1??Ii?=????НV\Z?5??????\"_m?/?~?oԺ=?Ϥ?1?kضBoTt?7k[é5#???E?ޭk\ZTр?6???\\?ͮ???|?\\??GO?\Z??\r~-Lg?am?????	e??%\Z?D{10h??D\np???3??.?V?\"D?+L\Z???j???Iu?&?j?Z??t7??\"\rt??X\\G?\ZQN???|?_0[?>???M???K??)TW???q+dA	K??&????M7?'????C?????#V)(<?ޝ???;u??تgn??????A{B5&?l??YoUy?\Z?̅?E?7lL??[N+??3????i???4Uǥ?b??6T??jk]?7???l????<?%?Z???Z???Dh?{??ZWD?4\Z?m\r,?Q?fh2??x?@Q??(-??ك?_B??lmt?:\rx?r???`????3?M?ZϞ5??M??o??>iI̤?4??kv?<K??H??o03}???????X?1???r?f?V?\'Ae0?3?\"5Ŭo?9TH}:???\Zp?S?]\rb@?q?1e??+7]w?-?"?J???nU??????A??h??`????v̉??\ra??YlƸb???h?Q??Q}????7????e*??[?????????n???x?͹??Isۅ#?\??:F@?\nHN??<Np??Z???)SJ?ƌ4HK{+y?\nZ\n???/?0V?!?:???1?bb??\n ???Y (h0??+t??ph?57@????????c????b?1???k? -??\"?I??K?I}??a2?]???Rǥ:??JK?m?????\'?ZK??[bڡ(^4M??GiB??J\ZÚ0???Bu?\"?v(?&?\n>?E؅f???5FF/?N?@њ?7G??Ӑ?9_?CۃFi?N4??????(?????Ĥb?????WD?6H?y&6iu????1?8AjN?0ڏ@i??c?F?sD?©0j??V?\rs?LBn???0?????\Z5R?Z?r?6?Z???????n?3?pLR?V?7]??0?????&`??\'???i?j ?\n\r?????̹iP_?S?1Ī\Z?G????,????<??=ߍ\\?i??LŲZ????ժ6???nT|L?ӑ?LI:?^??SjW?;??٘??z??xeC?\\[UӪ4%I????o?H?ܐ???	?!%???t??Hj5?H??hyn0	?\r??v\'?2؂,|?r??@vOL?.I?s(Ƹ???=f?Mw???H`?M\'0??^?&E^q?L?z???Z?,??H?:??U?Z?<???Ms?p??????L)?$iR????\\-w??FQ?dƼ?Jm??\'?e?`???Yʐ????Č?\n?iDk1[v\'eR???D?????t?ݥt?H16)??????M????????m??򨹒??\0?????????:?9=???6?\???C\"V?nza??EZ?]\ZO?ͧ?M???v?0??`??NW??ՠ?\0N??\"?|b?? $u??+$??-?vfUi?G?\n?0?Eh?\????KUxn??\Bǌ%m??C?i?b???%?\r_?Ur%?!??uU?|???mj??Ɗ????3d?cZD?%3(w??<????r??m?	?P??N0C???b??>p??????N?6?K`Y???????M?:?9͌??R?\r|?:? ????ɫ0?HzHo???p???(9?*???\'??p????u˃F?ӱ???4?j???Q?A?թ??Bk??f?9Ɠ?1Y??\ru??????j??e\Z7?:??P-R?M{uZ??3Y\rǮ&??<*!?5???:O&?59q?M???????	K??y????U?{A?AjU?X?=Q??ro?n?Hu\0:?2b?Tc2!??j?2R*t??QiUI?$?A#x*?U?ΧBN?X?\\5?y4????5(?Js????ݲ??k?n??u?w6[?y?5????¦2m??шI?X?r????=??:Ζ?R:ui`?\r?񕕎?]?VK?1E?&.kFg??0mmښf?Uҳ?O|I?֦ܐ??Óx9???<??t\'dj?A?4????Z???(???¡????ئ?	f+??*|}9i?4c?????????a?8p??2??5??ے???h-j?`?\r?euP?4$b?Ζ}h1?HA?@?)o?tM5j??B???4pWZ??\0w|[??\nVZ۩?-*N? }?NSN?]=?Q\0f?Q??ʆ[?	?z???!iB??a$?X??˒?$?c??????%F????sv??2?8??:&떹??iY莤u3????e?T?S\rW???X?^??oҎ44{t????\n???.?JeQSТ??]2JQ?\Zd2+5??%(*???4????7?z???K?&?q\\CVI????CL?#n&a?JH????F?\'?c?q?fvZ0%?02I?????,m?؈+??L!1j???kV?????ӌ%??????B8??5B?a?N??c\n	&-?ʊ??1?YJoR??????bQRL??p??6\'C?.?P??*<??2?L0])?n???d?ӓ???B\\??%??\n?:<??v??Oo:?)ʧ\n&WT?V*?1??Sv????????<?@z???????\\?L??x??yհm?a*ٽ\\-q?i?!ܱQ$?>???m??N;<?????+?#q??????SF?R?L\\%?n?@<.?h??Yt?h^?;C?????Ѹ?2?`?;?BY?j@qwCj?6???VI7tM?A??\n??nt??(?a?&?\nM???+?Lѓ??k?I?\"??QVVӾ????#p????j[??????N????˴=lZK?_\Z2i[???w??!0Q???\n???hĠmy<??0?-?Tm&?.5??g\Z[??6??Atp??\ZO*??2	??F??:kQ&? N!??Fqy-?8??-?fm@p?\'?????u9.??u<\r?y??J넜?-oU\Z?ȇ-qW????@???w?t@?\"\'Y?][[??ә???f8?RX*?sa4i??X?i?a??0???u????Xa0l?V?C?h1??3kֆלH+????1spbK????B?z??5??:?2Mk???t?*\\??d$?TI6:;6Z???U?iTvl׊???8??g{&;I?ms㶍?A??n[????WY???8d?eS???\\?8q!?UV?L??A?AW?hT?L??MEP??۴ZG??Q??:?1¤?q?+?9?\\+??x?yQ»?65q?J??\Z&?aeCFB???m4q<Z3???q[3??v?2?ks??P?WIE*AZ?Bcx?rB b?#??E?J	B???33?4??8v$v???V??t?9?S?4I?\0???Z?R??`C?+??z???????bn ??k@ܤC?B\\%??????/??+r?_4??\F?ɤ_A;Bu6g?EmR䘕`???W?LG#].?ew?J?w7?h?ڛ-??Յj?????????nL??B??l?ȩʇ]0?1?a???F?l?-???+[?25Ba?? ??U??n???әSւG6ɦ\'????<>?	R:?????k???:?WRZ??ќ1b$uɮIQ)????t????=\n???[????$?Yض62???m?t?EL?????Hؓ6?Z????-?kë-d?61??cyU)???{??${:?Fh?b1?2???^^+Ӷ???nd???,$?????^?jSX?"j???F??@??????:Y?"/յ\n& ?QM?S;?=(q???ن0\"co??0D???\n??@qk%?\Zc!Pеq0??q=???C??T???2LO ????ڐ?Zs????\r}R?p&?f???,)!??2!2T[*???{?:>?Rv??ۍ??\n?T????Ny?61?©?J??G3F?3q,,b}ve?=<?mK???H??\"??????:??>?ij??̖?`??s??C8Q??V?D??????N??????f8??\r???n????????[?H??YC?\\??i??v]Q?i?)(?Ncf+??6PѮo9i?????I/???9:K?@???@???1׮?\"?P?q|u&-?????2&?0??S?=T8??4??3???\\4?????^5?O?B?B???\\?F}?iTJ}????y?4?5>????!??21%v;?b ???!?)[??{?i?۝r\Z?`3???n٘E????(W??2???P??:W?^?Y?.Jw??d(UP??C???0???(?a??ܝχvg[??.}????өn??b8N???F.??????0?X??M9y?S???lh??v????}?"???3?????m ձ??Mm6\\?C0??͜Um\ZU??5m221fQ?ۈ??Z?????Z??\rc7?*????2???ѭ??N???H#?j\nuu:??`?[??\r?tӡ?m%3{TF?p??\\?F???^?$;SzJbj0????(քB?-??X?V???\0??|?\Z??!0???9R0?|e?<???[b?db\Z?֔??>m?86i??\Z?B.???HĨ͇??u??^???'7HT???ꉔwg3??lt&b?JIi??	??4?r????x<k?r?j#?6???kN?Q????)UX?FH*]\Z?\?o?%?:?vB?p?3Zb\Z??\\?o?R??&n?RA?6?>?I?ĄI-???0??~#v<4Y?03d?[??ܖ?R????????\"?i??i?z-?cN?,?6??ImP?:?\0KU??oA???Iͬ???L???A?????»s9?5T?D6%h5^?ju`?5cBގ??J?;\Z?喂?9????\Z,?;h\"?{x?U?s??~?R\Z??03WK????2?{?{$E ,*o	s???4NX?Ԙ,??\Z\0??!R!?\Z? ?L?wh???S?h??\Z$9??nF???a???:?_?)WG\"d\'???i?C???4???????q\r?X???(zm????J?C???g??[#?8]????ܹ=???BA<9a0&?ހ???<?tơ?93X?n1?gt\n)??4;i???t??u(?J\rg??(??x?[HϬUl?s?v????~41LŲzΔ???m?5?סˈ?????~?A??N?Z6?Zc9m?B??+2)?\\d?B??۶Q?pk{D!?\r??]!Q?.???*?f@u.?9R`\Z??m?TL?fjm??"?G?E?1???????Ӯ??Æ?z>?k?2?????N?A???? .??E?l???4?u+.?<?a>`????n?!?S?:w?????<??-?̅??^%???{?e???J?όF?F\Z?	W??0Ļ??[m??5?L?ؘ??????r?v?X???S?x?n???0????&?M;T?7Kiv??m3S?h???ʂwL:U??ZL????RbzB7??&^*S?\"?'f??????^<b??Wlb??b?r?תKS?b???K?r?`???5zeZ????QXՙ6?3F??n??s??B????????1(?ZY??.?d???;d?R?c?j?&/l_{??H?K7(???$?&??M-ZW\Z??\rZ4bfz?? ???ߴX=?x?_?k?L?OOj??05ڑ=??uSHkS0?(&e ??`J?mʏ!-???O???????!???T?????E??ݭ??3?M?\r??r?a{˅?F?VZY?aP??m?ʨB??Gnij??JMnPi?Pf?\r??YmIհ?ۂ?4Ġ?^?5m6?ө?͞UO???J? X &R??1g?=????????s???ҹHL???a??????c??j\\W?1ô%?k?????4dZ??????nQ?oM??Y??oVJt??E?1???d??Z,u?[???dܵ}~??!?rl/6`Xp?u?+??\'???t?*?6??:u?0??i???h3?C?7??~h?2gCxiNM+???\r?ڄ????H????X[?Z??X5Z?\\_ *??	?۩-??s:?\"\"TE?Ǚ?G??Y?6?i_]?????^?R???\\?{K?	?\\?+?????M?iͥ-{р?A@???}?cO<O??ߧ?????8Me?ӎ[?;\Z?ٮ???%cح?Db\Z?;?5?*AV?j?n}?r??]?Fe6?2?i$??Ԙ?ZPO\Z????,?\Z?ߨ)C???2???,V??y???8???u?^g?Rj?6H??eZ^-i??\"?*?1:?[?????JN??,?(i$?B?d\"?\"?\"??jKnd\\???[c?B???\_,W=?QG?]W-?Pv??;AZnRނ??????L?!AN???\Z?????Nߩh???fh?;1?$%.G?M???u??!?J?ܠ??h?mȫ`e??\Zѡ9\ZD????3??q;$𦿒Hq?"??????}?ޜ?\\_Z?ӪW??#???j?^?nEivd?n2??K6??Du\\???4???U?}L??fS?\r;?A???b!˃?Zc%???[?ʩi??)???l?LƬ?X???uX55?l???p?v?????:EHZK??8??%??z???\rRCq?GU??-?iEW֡\"E?3\ZD\"p??&???Ҁp?[??I???u+4?٤S)??cS??O0???\\\'p%????\r?:???Z~?j}?G1H??2鶝?,?e??>???TB??H??????\nʥ?!K????lU????????ڥQ??UF??Łwa?????ug?R?Νqʈ[C?4??\n????f?????F?F??\Zj???m??랱T????^?\\N$??????????6??W-3ظE?]n??f?\\C???,??hm??\\eY?????YV??f???0?;dŨ?T1??k??ਁ$?ڤpg\Z6:b??i7E??3[??>C??X?D0???m????^m?i?B;??#C???~?W?B?eM?<2?}?l???ݚ\Z????9?4u?????u??V???!?0?eu??YТ?S	a??V????z???\r??t??n]th[*ժ?C?????]??Wj&?sƜ\n1\r	U??.q-\\?$???ר?`9MHI?l?N?Xk?#?c?Wq???Do??????Ψ%N?0???*???l??Аa???m??U??(?dդ|???6#됀????D,?V??@vI??\"!J5?f@????`TSnS!?J?????2bd?42?E+???w??#?d?e3??̷p}N2??qcI??Tz\Z*-g3A?1?I??Y?47?)?<-WB?eRi?Vf#a??l?&z?Hu??<E?D-???5܂ġ65<??i Тu??ըt??pK`?iQ??h??h??ssU?q?\Z??&#X?t?So?(<G?h.Q???k?M??ocA?R[?8?}??x??C??d??????WMu?1˴????(q?D??PǏ??r?[.?8}??ا???}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}??}K?L:?g?-w???.f?????b??\r?6|???b??\r?6|???b??\r?6|???b??\r?6|???b??\r?6|???bÿ????\r=??k??04????m+h0??????????????????????????????????????????߹??H????????٢?߹8?!A\\|?????8D?/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/ο/?????????T9??臣?w?????n??T?	?-????q?xx? ??/g???r\Z?8u?Y?<??d??c\0?2?}?ф?x?[vMG?0????Ƹ4????y???~??????.i?1^T?sx???P?W?rx?????E??sQ3N?\\V?38?t???8?sQ??*?B?????2?S??畧|V???$?<???@?s2???9\'??ib????B??Ȳ?%??????.?6?K????????x?.?????^B??^@??-^@??A?C?.????????#=??v?????????e?M??M?+L?,?yi?{	????B<?uYL???LL???\?\"?%?h?zց??????sR?@??lD?0?ټ????:rlwqIE?\\=M??+??~?%e<F???3.??!\nd74??K?N0????7FO??\r?z?#???? ?|?????I?x??ѥ:???4H???x1B?K?>??w??(?@:?u??0?#U>????E??祵s\n????W?n!??P>?8P?s??cx??????{	e??Q?,?????6??]?=????a?$Уt?.??W??\"^?gl?\0qtT???k???q?^??????#????c?????\"?/>??)?]??>???????M????????f\":??^????;Sx3~???֧?Z?????B!????h?@-?????:??R.?	??P??_?&q?????????c?P???r\nq?y?<98??'%?縩?b|\"Y=g???n?M?!?5ݻl???9?N?\r?s͌?8ʇm?C?8??AVc??W??,?/\Z??j???cx?z?~F8;?8Fd?>x?q?N????}????,??#?V??????lʷ[???/???S?8~?\'??%????[?,?\\??˰?????wFu?SB??Yׁ??X?`Vq^??-Nb]ί_+???r?,???m???9????r??????}9??^T???????_?c?TG??ld???r???O?]?v?????y???]????/???-?p.?/a~cO??6/`?]˸ ??s??]??Pt!V??Sx?v??v?c?F???\\???ż?rW?|?ܝ?\\@?@ra0p???5A??A??$ 	??>9?2F?C??????????Bϱ??^????N???e??\"???~??o??^????|???????قd?1??@8?= ?R]Y??>??v??(???3m??cy?֔??)`???⊺?)\'??ΐ?k??Y?????3E?S?3????&????\'+?????nN??g??S[3??<??ῐ???Վ6??ңa; O|?ߒo:E??t????В5/??????d_}Y??Ⱦ???N??̂???~d&4??^??L???34J?a??z??K??`?0?7?3d?_6a?\r?JA:\\?<????)?%	B??bz???????}8+???\"?b~29?TA>M|\"?5?\\x?r???N`???????\0?u?ޔ|???/?Ǖ*??j?o?B??~Z?v???n~z????Î\"????Z?ăV?K?2???\"???8??\ZU\")U??????z??L??#z?ts?,?Bѯ?U?0y?????;0B?a??v??n~?	??@?o?\'rp???????c:???lx?M?j?!wY?^?~?????ɍ????????`a?z Ȯ????/??_?~}!`??ǯ?r???????ǃ???\09S?????{??Ud???*?(~}?̞?\r|????͏Y?;?kFV???????n???{???9???uG?{??97;̻?l??_?r??\\y????ȋ6?^qVSП?o???@???\"\0?q?fuo\0??\0O?@????1??g??22rg	n?әQ?????????q?\\?1???F?]e<?????|?|\\?=h??_a???|?!??G5W?Oj\0?^???&Ҍ??????7??G?;???Hw??(?u`????nO0q?\"?V?????????АL???O\0\'?08??å????r??g???`~=P?ǽ~?A???????J?=%[????̸jn?m=?<????W?xz??????ys?j??????+?$;???????_{????ѝ?s?L???????\r???{0?????}?g?????䀎n?ی?O??퀺ǯ??w?????{?YX?2??݃???o?vXݷ?/?????o?v??s???3F:??頫???8@?;Q2??:ow??????b?mg?U?\??\'̣?}_?[??A???$?淿?\Z??Ư\\?O?[??<?q?O$?????|?PV]{??????8t????B>?Ũ O??S???u????\'???)?on?l? ?\Z?Avy?ؠ?t???^y?JY????????(?w????ޗ??\r??????&?????q>?D???H??y???;n????x?n???q{38?{<(????V??[??W??]p?x?B )?_]C??Ҷ?&?(?Z?*G,p?????d?.???{Mŏ\',x??????M???.N??bTn?O\'|?a+&?E :?xJ\n?(]?G{sx??LU^@ޘr????V?׽ݝ?Un$/mTes????5 ?????}??y\r?\\Q@?y?K?|K??2?Q?{???>3x̞??4?F/|?6S?џ??c?v>?;O?̿???,???G???x???c??t[?a$o???$???ڇ?P?,?^+?"e?:#??\'??]y?ە??p\n41\0q???????c>)?>~?`????????#???~??S?o?Ҥ?<o?}???_???\0\"??˗? ;?C??LXY??????\?\0n?E?|??_???[???\"J?FP\ZN!?RQKJ-??\nR??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ac15a6fee37905a5e3d45ae8d9b3db70','e???0?y??N?p?????cf2?????\\I????{W<ܤ?vW??@?\"?I???h??K?ݳC??????+?\r?,???L`?򌀬*??????w}]??????]?\0????f?Y?H?F[Y7~a???U\'???-^a0???g Yc????8??????R?1??n4?:Y?c9Fe}ׁkUS\\$c?V?AS\Z)0f\r??ZE?\'R?\nJ???ű.?Z??v?zGy?t?hC?\'\Z???m8???????H0-????ߕh!u=??5?8]I;U솼9GI?z?	?h?a???o?Jv??2?a?~????f ??9??t?Z3PJ5?i??Ha? ?h?J?o??X?}+??B??????*?Q?*?????r?T?\r?9!?qep???O????L????Hh+??=/?w???*ٯ?$?0?+x?E???\Z???X	???rS?랆qޏ]??Vx?\'HYQ?r?]?݊?$[?Ê?r\\?ӊ??Z?U?k?Zw????}}}?n???O??`%?՛????ȫ</3??=???76ujvI?L??C??bW?r<\"??6?Lw+4???^?C(Ͳ??\r[(?Q\n????3?-^?G???q?釡}2X????????????f????W???\nq????D?>#????\'???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ac31d63f5a4548d9051d702a97ed3f85','e?͒?8??]>?fz ?????jJ??;k?0٭}??\r?Iq?>K???J?sR?az?s??????q>???T?UɁq:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??D??\\??l?pTr?d??????+87Qѕ5??!????+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?lCB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU??G?9??#?)v?厤??N?a?????\Z?????ۇE???b??7Ä6N?EyΎ\0M)?ON5?/?????'[:???YY\"O??9]NiS??NN\"??&?,o+4????C?Ͳ??????????g^{?W????\r?L?7????.3??_?\Z?h?4??޾}???qΚN??"?OE??,Pd???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ac894ded999595f994931fb1687a00e4','e?͒?8??]>?fz ?????jJ??;k?0٭}??\r?Iq?>K???J?sR?az?s??????q>???T?UɁq:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??D??\\??l?pTr?d??????+87Qѕ5??!????+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?ӆ???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ې㎜v$ۑ|G?R?eG?I?=???N?q??????x_??`?a?5o?sL?E??f?\"ϛ????????S???d?qΊKQ????\"???Q??e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???We??	eY?ޔeV?ҦNϗ??ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ac98a06bbac0d80dcf152d4bb27561dd','e?͒?8??]>?fz?@H????jJ??;k?0٭}??\r?Iq?>K???J?R?az?s??????q>???T?UɁqg:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P?ŁY.??e8*9H2*?????(????T32s6t%?t?3QJ5?e??kHa? s?v??po??T0Ƚ?b????d?־?T@??G.]Cg?Er??r?\ZDuB?ˣ?!~??h۱(???????kwܐ?Ћ??g^?Ur??|?Tw???`n?4??I??7??O??@?#\r????Vy;?'HYՀr??qG?)v?厜w?i?G????>?x?F?????a?{;?????xv)???z9]???uYf??????????-?ZM?tJJ????e.?\"-DY??E0Y?h????=????#?eqg????????qϼ?x?^I???\Z(~??o?}]f??9?T5Rю?h&i?}?pU^??!9մ?qNo?"y]geqJ?x??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:acc0867db664d9ec3e837b5593145a45','e??????zpc[>(??^f&???D??d??? ɑGw?{???9k???{?砬?×?L?????,_???qq????,gK?`TYZ???*?N???\n}H?\n??h?,??47;?\"?9???U????A??2??txA?????r\0ݜ?d\r???Z+ƃ?;????stL??4??J0?U5l???umn?UEq??Yg\Zc{Ce??ĔE2??3g5IE*(?????6jU?+????\\???I\n9;????? j??\\?RZ?f$Ѵ\0?R7][???2??3?\aoM???\n??$??P?ي9!????ԪU䔑??c?x?)??=?n?#?ؕd??#_۞R?h?C?מc\nC?#D???}????0?E?\Z??r?W???T??B޺?????Vk??Q?H?$C8??~?y??q?&Gr??Fb[????a????T?n	?\'??]??)JG??????&Ů^?)H???Su4????fyp~????͂ld? ق???9-_/?5_?K?)?O?}}}?????O??`eYn8?VfO?p?|??=???ɾ????S??n??Z??????ح?,?\"??wk4?>??.??C(Ͳ???)?Q\n????3?\r^??????釾y?X??uَ????T???f??????b}ܓ?~\'O(?x??,;m?.?]??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ad0d1f9e8542648f92238177bb19718c','e??????zpS#???^f&???D??d??? ɑGw?{?Ϗۂu??=?P?\'??_&D??J{Vl7Lظ8?B@V0??0????d\'??R\'??u?>$?RrwA\"?F?Zh%ڛ?Ge????q?n????N?:? h??`L9?n????D???t????9:?~R\Z?q??7?L??7֪??HƬ7????24Jb?"????O?&?z??c]T???ԕl?{Oy?t?d?B??\'???c????V??H4-A???ߕ?Z?L=??5W8XS)7U솂=\'I?z?	??Ü?p%?.??9?a?1??(???L3r?.v%?t?;PJ??i\"z?La?$?h??J?o<X?X[?????B???}??*?գ??????r???S\r?9!?i?d??>???4??L????Hl+?)?=/m???jկ?$?8?+x?E騳??\Z???8???r?Ꞇqޏ]?ᷬ???YQ?????E?+rX??+rZ???5Z???????????/??0????9?LT??V?y???2?????\\?pǿ????S???\\f?,?[fy	9?\nq??;BYE??m?F??????Y?W?a?7J?yL?c????je?[G?ah?Y??n??lO?xSQ)MolA3I??w_??[ɫg<??שzβ݉???I<~???^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:adaeb92dbfc9f2dba98052fdf1cfcfaa','e?????\n?4uˉ[y??z?f+??Ȫ??wA????ُ???vy?r:???C?5g/?v[?????????8??#˙?:?Y?F?k?????v]U????????\0??????X,?d???j?????????/\n??R???3PX??????"????13?A??@Lcx?ͯNV?`,?Y׶`?ZU?I?u?Ѧ??Z\n?YD? ??[??H*??R/?ip??lC??ue?a???<?Z?T?.?b??}?}A??l???nFT????m? ???????{?KiǊ??s?G?+?=l???d?\Z?J???de?????AteMO?{2s6t%??զ??j?????@??]??=so??T0ȍ?b??F?0??N9???TB???|MN?t???(9T??:!?Q??p?????_???Z??У??/?w???*٥?op??Q?j???z5?)?VB?0t?a\nt?8N??n?o;??PnA?	yJ?B	yI?B?	9%$ۥ(?:K?Ҹ?4???߷??iu??\n????a7????????0??yZ??? [?Eqe?xa???z?_??n??????????????????*ڒ9?-??O???\0??%??????/E??0??{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b02b6083d54b543850e107b8424cbfeb','e?˒?:???SZ%9΄?m?y???U?Fj@??I?????%?????????|J*6L/?C?b.^\Z??O?\Z?H??7aQ??GV1?\r???i?V?h\'??ZE?ލm???Bzr?A4ZԊ+???Cd?*}?me???6^6??F?\r?xEP ??????d?#???I痃?ۣ??;?\ZTH???Z??;o?????0v?UKq??٨{m&Me??E4?xk^HK*(?ښ?!h??QW?{?_0???;?h?b????;\\?_?RJ?!???S?P????\\??\?t#??;?%?\Z?w5P???\\??|????H^??D??d???C??+??#י?R?9,C?8\\B\ns??E???}??ڨ(0?I?W\Z??r?X????U??B޻0??????W\\j?Q,??(?[??	~?m??p?VFr?]?!????XO??6???万???è??ţ?\\?ohRk?BW?`%???L?nG\Z??w??KX?? eU?H?#??;rܑӎ?w?ܑ?I?=ګN??ӽ?/<]??????>?<???痁??k?GH!??M??\")?OE????~??S??2????ɩ?)rx?o?\\???\Z??w@o?!?fY??m?xz????3?ުg?j?q??S??????ˌ??U?T?V4??}}wUQ?V??2Ǣ>yyLH???????O?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b0cd51d8f8948a6885139cb1797f2460','e?͒?8??]>?fz?		??N{??)apc?????6?&??I????)????훹zi?{s???@*Ǫ??	??N<??	l`T??Mc??G=!?\Zne7?-:\n???9	?Q+?$?zy?U???m????R??\rA?vC?T\nk???wJ:?\\???x\\<?ՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B????!-EA????!V?u%;?????.?D?k?Í?f?A??l????Tk?#u=5?AH?%?R?NF7?{ o?1??G?\r?hq`?????$deq??\n??Ate???9??3?r??(%???}???0w:?9h?Ja??7|s6*?R?ٍƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap???O?????ε?$??????g?@????p?|??x5??\rMjmR?\r??????)?Hø?W??Uގ?	RV5?܆d;??qG?9?yG?????>?v??;??????????}X?+?3??rL?N???K]@Y? -?"??????դ<g?r??rϠN?"Ʌ???e?ML???\Z??????#?eqg????????qϼ?x?^I???\Z(~??o?}]f??9?T5Rю?h&i?}?pձ?.?T?My9?p*?"??Nϗs?O??/?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b16c099e79f02ee5a60375c106e8d754','?\Ziw۸???qMrEQ??&?K??}9????D?c?`yDve????K?7}??G??`.G??Gg?6_ر`?h??Γ??}a??<?\n?oʢ?f?e??H?}si4k?0??F ???v?? ??4~?????????3n賢H???X؋??ë/??????v9c)?}l?u?\f???????$?????2?{??.??~p???&n\0???\\EE?9+??1?A????Ʋ^?E?ϼ???J+\"剱?tC9?????Q?6??X???T=H%Me%?@K?R\'G?EVr?????o??2W.???Ql? ??|??;CO>?!sݪ5_??~???H?|j?n0????????Oq?q?ا5?o??<?\"?tL?7??i? ??3ݴ?8?\Z????????N3??????\0K7?ι?2I=?o?_???CU??\n??&?D?8\\g??\n????㏀?????????f??\r}????????5?j?_?^?????Gw??k	???Bi??~@AA4)?\n???(??????ف?S?z0q{<?????NY 2\r??????pS?{|>????\0???1?r??}]@0?\'̿˽?Bx⋀{tT?N5Z?ke\Z??+~??????\Zx?gS?0???????0_?Ks\"\0??W?\r?\\|?m\r?????\0?̥??p?d??Շ??쁃??\0??????O????Z??rHF???G????oQM?8*$?&??株KT???۹?????V̔???%5??ckŴ\0????".?ɲ???>????b.k?t>??,2q?E,???\0??E+n??U%?#?*Uo?=\nH?:?Ƹ,*y?\0????(??]@M??????%y(???(W???=??^\'?? ??f?R???LEEK?n?JhՂA<W?E0???+?????7???b@?,?CO??????~?Q?+????T?U?"s?^??i??\n\0??|??0>?)?A??I(???v?\'Aբ???L??x?lkQs?J\\??Mo?>?????%h܁?E?X??_?\nY@?ol??>???\?,	??T?J?ތ?E?-,?\'M??4???u?x??\n?e??+0c??ua??&E{??^??\r????Q?/??:?????%??^+???~?Sod?l\n?ޭ;}	%J???8???ό??zz??'Q?:?)P@??ֈ?&M??	_T4?,?H?k5S??%4W-T??L1??%\r?9-?JI?7?aUgv^N?"3F֑?\Z$,\\???V??t$??ۙjUN???I?߆<4p??$|\Z??9?\r@??C3?~?6)??f_3a?????4?ZW%?aG?x?+?????????Dჩ,څROR??ZGB?\'??a??H%9K??8)?C?^??u????C׸?????V?1cx}ss???F???qxs\ZB??)G#??[???#h?N??|S?F??~B????UNFT9?J???!??'?N?c5s77?????fC??A?cd????>??K7G??A,???\0?#(D4-28@??0d?IV?k??%?8ӭ&??Y??(?pP\rp׋?撚d$@????w?f3???0+m?r7]0?!вD\ZWĬS?&^ԓ?$rv???Vbn??>???<?>|qz?;{~|z\n??J??AŜ:?\"?J??v)???*Z;??:?\n??h?Yt??r??2y?]N?T?G?h?5uΒo,?ֵ>*???-??#NykT?$?z/?r??%n??D<?Vkʓ/R?袹?????]?#?B?O_*\ZD???[?????ihwE??X?Y???ܐ?E???b_1??o??\n?/??vVY??e??#, ?I:?Ŀ??????U?c(???t\r??v?PC?9=,\0\roh?%9Q#Fw0??}?0?k?;??Uyb?z??m??(O??Un;??:=?/I?ls٪?Mf:X:?(?NGz??<$??d`??n?~y?[\n?Rt?ɨ?kN?	V-O??K?%??i????????\n?m???L?]?ų?[?עUw??????e????VWo-??8???ѪXTO?Y?`?駯\rZ?%?p??<Q??բ;?zks{?x?8x???6\\y?_@??HV?,????z?饟Ei?G{}}Xz???6s?V??>	EC??X΋?uN???g????[????g???H=?g$u????#pd???H\"?x,??q??r?? ??ܑaZr????Q?\Z??m܉??X?Shm????PP\n?Ů?l??m?t?Yh?/?n?Z?b??]??ɍٱ?ܷ?vo,?????X}?\ZS?\n?b/M_??u ?`L??qA?????y??!Y?k????)??K?v?`S??]??,J\n\"????N????2??[ߒ=k/A??? ??u??h??9n\\Z\n??7?????D?ĨCndג??e???Uw}?T?Hr?I???????e	D^P<^???n????!\n??=Cp???U-\"?>???????$oq:4?~?Y??+?\N??Y&?C????ʴ????/\n?J?.>_^?N˶??½ӈڂ1?6??:0N????NܢSxh3(}h??6???㽝#J???\\?,??v??nP?l?J\Z????@???m5ܭU4[????\Z?Nh?9Մ?;Ϸt5Su??-?O?X?Ƭ?eC?Q?E`w??~A|??h?????M͇\n}?n???N-??N???H?q?A???\0-u???z????qj??4%?US????\ZAdє???????6???\'G?\Z??<?Ίm?j?#???A?ą??H?n!/?Q??%k[\0??l4?Z?i?H???????X2́`%\n???P5?????Mqzuz?|?	YuɬU(??.?Y{TU?p???ѷ^x?Q]?k??68݊NX&?6?:F^?HԨ?z9?«v???,vt???y?H?r%????ǋ???	L?*bA?]??&??^y\Zy???Fq{Ҋ?	iL?????l??????!M?5`P??(j2ӵﾡ?[\'???XI???^???????????ՓPa?ɩK??D???:?(??j?(?B\"s?0????:??=*f?e???Y?:ş??:X???x?Fq?0h??0?m?R+?/ͥ*?????ƶ?9yB~5]?E?:?Ѻ?a5?r??A????0??<??????z?ȁe??S???(?2b˷?l?PB??hVz?!?K?"??????BW???~[S=I??Y???>??H \0?_?j7{??\"#T????ͭ\\?????hW?2Wߘ?qv`Z??!??0??Gg???!?.????U?????-?? ??*?\"?a67D??_E?ʶL?Z??.???.?Uz?????v??66m\rV2?ܰ??ؓ?,?۸kZ?ݝ??#?????T?l?_(?????>??.??.6;?y|)???j?????Iѫ*z ????o?A?r7???z??g\r\r]e?1?銕?xN`tt???2????\0??????|??&?g.??&?dwy?ׂ;??\"?ژ?Uj??2V?????⩡]׌v?|???v?+?B????Z~p5??%??7?????^E???Qv{??????\no?v?7?Ϭ9{Zk?Dd?a9????7N????Ž5>$Ig1?\n?<C=?ee?`??2\0?\"u?˶??"(![??C?y?????????_?O???3\Z??-g?ޅ<????????g???2e??\0?5$????H??g??R??%?[?\'lBOȸ\nvF.f?ꑫ?[a??E????:<??\'??ܡ??_z?H????zmA{v\r? ??K?g?1w???x?A??V??U)???c;34K???H헻U]???Er\0?Л?_?7??????9???????>?ÁQ(?];d??MD> Mt???????G??d2\Z???????~?\ZN??????s?rt{??7??D?,??$?갤????????/%???M?0?-??y????߽??US_QQ??:;????v2z~z?\'?Epz|???\0','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b1cbe1e519ed841796d5138b4533876a','e???@?\nO]\'??z?3??$F钔U??/H-??7?\0?	?ir?^S?????Z٭E?????!-K_6?k???,e9?????>?^.,d2?ۖ%Z???[8??<?\\\n^Oz???????r3]??(\Z??	j3h? !????V?????n????|???Q }??*@?e/h?D?\r??V%?ERf??????9?,???n??? %EA?gF??4>V񇺲۰???\r?*??c????d??4^??N??B???J]?M??Bȅ*??ݨ?;?\na??M?[?K?ˀ=n??<??4???de?A???ApetG?;2??%??V???rT?!??mn>??Ӟ??U\n{??Y???kA??3a+j?um?C5Բ??jD???E)??!??6?	7??D?r@b?I??e_????΂\Z|??<?.?????0.???.)\\5?>|F???{# ?\0??	?liG?o???gZ?	K?vFv???cDN9G??kD???\'q?w???????:????????????r??Vj??G????Y?l?/L??V??U?k|?k????r?]???|O??m??????J3E?æ?4Kx?	?+?r?????d??9?`????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b208707e520c391a3fa581a081787269','e???0????N?q?l?=????"P?+	S?????????j?Xl?Q??q?X4{}vB+???e???? ?eE?c\\?ÑN8d???A:F@ԵV?Z?a???p-ۡiк???ܝ??Jɥ?M?"?a?\"???2?i?Wi\'?(m??n\Z? H?*??>e?;?5y|?)??/??o???]ܘQ }? ?1=T??+?IІc?l?0S?\Z??=**C+*Y/??-?L\Z??R/???????u%ٱ??R?=?6??K????d?}Ai???Յ*%???K?-u5?????Jv??????+vCN?CH??	?h?c?Wp%???ede?G?֎?Ape??	?Y?????)?\n?y<???Oa?'S?t?¾q??????b????d7??5T@-??\\K.o]|g?Y?(??ZuB?Ã?!|??hݱH???????jwX?P???{^jg?=?b????T7????/?4ʥI??0?O?&A5\r?"O]?a#V83?'?YQ??+?l?C?r??C?r9n?C???Q????6?????eq;?????i3??<D?*KL1JsH??yE?,9}{cs??(?-???&?X?1ϲ<??*??7?ߖ\Zh???^?C??ue;???????g;????m???Ic???Z??E-$??f??Ӈ-ҢL(?ǌ2;?b8Ԑc??q~̓??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b34333af3ddfc7d32e4611bb4e942b07','e?ے? ??)?????\'?r???Zh?a8f?ʻ?A?u????>??L???d??28?/???š??ޣ??T??Ɏq\'Z	?J&??AyF@ֵ??P????i??PHO?!H?F?Jq%yw?sȃ,V?{??lZ???˺??h???\n??+R?????)z?x??|~{?~pgV?\n?????Q\r?ߜl???????N?j(.?1t?ͨ????awo???3iH?^Y?T???u%۱??Q?=?6?ĐK?É?f??A??m?*???L+?=u=??AH?%?P??F???#o.Qү?zW%??????J????????΍?Ae???9??:r?)%????\r?%?0u:?I??]%??r_???þ?Tlv????o-ШI?o)?C?]9?*yŹќ????E???Zwl\n??!a$??+?nz???+???J[?>?8??>NQ<?u??F?4)t?\nVB??????a\\?SW??????RV֠܊d?oH?!?\r9l?CNrސ4٢??+;?N??E???????C?????>?,????װ??E??I]???!???l???EuN?\"Kӊ\'x??C?B$?cp??h????]???P ?eqc;?Rx??????wx+?ɪ??????????.3г9???[?????EY?????(??	?\n<Y???}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b3704b0d60001cca8b9b0bc756ef720e','e???0??\n?N?q?vp??cf2?????\\I????{W<ܴ?vW???4N\n?r??C?h?\Z??/?\Z?H???7???\0??`+?dU??QOH???K?u???Bz2?N4Z??+???C?Ez\'me???6^V??F??xAP ?]???՞??Z?G>?獒???-n7f5????i?U???z??#?????\")?^????H?1???3xk9?HMQP?-?u?]?U???d;???|????.v????hÁ78???P???D?j	??????D???g????کb7?9???ޕ@?w?W??Q??ё?,v?????2???H5#3?`CW?~FW?1?$Ps?? ???;??2?W)???/??0??*6??QoH?}?K4j???օ>t???$?J^p?AT\'D=?<\n1n?'??????{?Iɱv?	m=???xwo???\Z~N?????S?:s???A?\n]????????gy?????Aʊ\n?[?lE?+rX???H?\"?yY?4Y?u?:?w?<?#????u^?,?yo???????$;?\"??*9$yVS?????MD??;????<?&??}.?KL???\Z??w@/?!?Y\\َ-\"?Qr??}?=?m?lI??ƽw????????6Ǘ?J*ڱ????W?r?\'?2????é|)???g?????\r{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b3b14561591db587cb4e7845b67f47cb','e???0????N?qcv??cf2?????\\I????{W<ܴ?vW????\n?r??ݚ??F??C??????+v?8???#+??\nz?YUF?k?????v}]????????\0?????琇?X??F[Y7~????U\'??Qm-^a0???g??F?????E0?????Y\r*?~b\Z?h~u?c9???;֪&?Hʬ׭6??24R`?"*??ZE?\'RS?ziM?c]db??+?\r???>Ёo?Jt9;?b??????_?RJ?\"A??R?W?m??X?3?\?t%???C????D?\r?\\??l??\'?#+??pn??+kRݓ?C??+QOW?1?$Ps?? ???;??2?W)???/??0??*6??QoH?}?K4j???օ>t???$?J^p?AT\'D=?<\n1n?'??????{?Iɱv?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??n?no{?	+*PnA?+rX?tE???"?yY?d?F먓u?:?x2G?????}X?+???8???~??^???;9????ԩ?t?y&N	?(?*??\"K^x\ni0??hķ??^?C?Ͳ??\r[Dx???????-^?GҪ?q??C?d?~/?2=??????vlA3I??iQ??${ID??(???4+????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b40011c86de816ee749ab2f8bb3f1acc','e?ɒ?0@?S>e?0?3??S??J	[?cwlӤ?ʿG6?7???!|????`??t/??5????ѡ5؁Ҟن	\':I?n&??^F@U?5???????}_?CB(U ??$Bkd??V???1,V??Z??,t?\r?ꔱ.?-???)?Ɣ??=??h?????\Zy??3g@?@Jc|?#n^գ`??Y??Z?I???5v0T?FILY$?(] 8??Dj??R/?mq?????u%߰????&?$?s??!e?~?X???l͕*??i\'UK?u?%?A*S?%?P?????`/)?_=??Jt?aNH??????????(??فTs2?.v%?t?;PJ??i\"z?La?$c?u?¾??lu\n0ʭ?b?+??????qT@?ǨBC.??g?I??\Z$uB?\'???!}??ٱ	h???đk?]??0???G^??ժ_?I|?qTW???g??4???Wp\n?O????\r??]??V?;ନ@??d?\"?ٯ?E?+rZ??l????7_??}|}?w??`?q?7??}?r???e^IY?KYf?w???~??S??\'?g???w8?b?W(Ėlx???Lok4?>??^?C?Ͳ??\r[Dx?????g?[?ϤU+?v????ς?.??_**?i?4??޾??bW??,?\?O??xܝ?2=?? ???O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b45619c1e409c0f9c3be00fe37b9aa6c','e???0????N?qS??z?3?E?@AH?$L?߽+N???kW??")Y?>\r?{i?{r??e??h4? ?ce?c܄??j?JV??AyF@\na??F?Z:?T4\\?h\Zt>\"??\'?@??q%yw??X?L???lZ????mlT[A?umW0??ug??&????E0??׷??\ZTH????h~u??c9???;ժ!?H?Н6??2??ƘET??5?Ϥ?((?ʚ?????PW?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??R?_?mj???dg???h!?\??C?5P??D;fy\rW?=????$?YY?x??s#e]Y3?jFf???D???\\kFJ?F???އ?R?:???]??o??:r\'??B??!??o-Ш)*ߒ???zr?*y??Q??????E???Zwl\n??!a$??W$????Wƻ{?@?????r???x՛?\r?jiR???????)?@ø?W?????RV\nPnE?\r?H?!?\r)6??rڐ4٢m?6?w?\r<]\"????Y?,?eo????ʫ??@???Pq<?'?=????;??d??????e??:+?I?f\"P\'\"?L淕\Z?'??^???#???lፒ??????Z>?V#?{?~?o????.3??^*?T?cK?IZo?]??U~(?O1ON<\'??0I?	??_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b46ea6d4456c6da11e125f62871113a2','??????????bDɖs?????K&q?̬?R-3?D5I?H:Ͼu???d\'3{????\n@?P?\n`>xr????Asz??e?x:O?i4+?O,??/???Qz???,^\'qx?.????{??͗????0EtW?˛ k̳?????$b??Wq>ħ^?غ??Ɨms?'?+?X???D?5j?W?i?ôx6??|?2?^d??p]????^PY{IL????	G?xp??v?k?z9YT,?qd??????b??????k?????D??0??? YD^:ǔ??\\|?G??2v}gm??gPsw)?|?-?? P??{?g(?z?<΢???k?? ?\\?j?d??3[LGQ???^??z?c?ų??6?h?????DH?????;?^\'?j?D???re>y?\0???ЭQ?GL?\nY??́`T*@<?? *?rh??Z??Ch?N?x?p??h????\n5???k̯X ?????@A?RtJ????t????:Og(?$?\'??==.???)?NǑ,?0?H|H3@???m?J	 ??k`?	??ϓ?h;C(??\Z???@??R\\\r????2m???JIʋQΝv?7%P?O???y4??*̪P?i????z-T?AR???u?M?`?ǣ$ڨ̽???7ܥ?*??Wm#Yxq	?_??^q?^i???_\'A????7???By\"=?Dc??`]3??f??:?\'?$z??r?j????6IqB(^<ˋ`V??y??qz?ɯ?Z\0??-W?i?T???c!\rf??zy??K???5k?\Z܌Ӎ??V??n?Q??????zc?&b?\"???2?XPЌq?Y???(???vo??|0???#???t?2???ۻ?a??hK}X]gR??hfl!?&?]?????yO\ZI?U???\ZN??\nh???At??٠׀?????={?C-?R???|?܈\n?Yyɒ?g??X?듯D?Zm-I??i?c%v??ƒ?-R??y7{?a??????ZhA?WJ?Fa???L??/	???O̯?Ƴ????w/b?A?A??Aӧ,??,?)?6z\\lŰ?)s?pLԨ?Iس?L?f?4?S?A^k?t??8?P?h?????n@$m?_I?!?(\0\nJ.*9h紵ɣ??\0???=d?Az????????U??\r6\r&???5Zk??62$?=?Dа-Ѯ\ns????w?4?H/J?\rW[?????b??0?Jlv?ܼ^\0?????:???G&?0??\ח؈#YӁ???w[8 ?&?+k?-??>i;&ǵwAͮ?????W?*\Z%??ys??"h\\eѥ????~?i??`?9j???Y+H???6??h?Nj??|x??5?N??i-Z?T\0H???Y?@ɡ??J5Z?Uڥ3?%???sL6?5?U?.YH?M?8??????/?\'4???5?\Z??	¨???df??@&?Y????????9h|#??Uø?ӿ??xX?w?h1?b2+???????g??E/lV?н?5jWj?????????????????޾??????????(@a?|s?,?ULFl????d??g?u=?[????K1?˒?4\\???wvr4G?????@9}?؇`_?,?H??I?&?????ڴZ??J8ݾ#;?B??(???Z6???n??MbS?7?d????_??*/?d?"??????r?/\0z)\'?(?%?????k??rVڥY?RY5d?Y6?_??1`XI????????_Ǽ????9h??2I?b?œ?b݀q?l?΢?D?΋n^|?ɐ@?g??G?0??????l??????F??A?\"#?\0???g????'?\'?O?{z??y???.?O???o?????Y[[?Ӡ??y?Y?ڲ??_B?}\0??(σI???o?CC??#\\?Ͻ??8Fv?(k?????4???7x?g?C|???MV????&??+?3{y?Ϩ?<뜨G?]?	H1???+?[kW?????K?v?`@25?1u???0?B欅?j?\"Ǥz{??9>???*??\n??4?\\UaY??e?jC??X?w??^Mqy??,?;??3???$??\\P)?׽????_??2??a?5#P??????G L??\\\nL?z2?ݥ!mH??X???	5?P?ku????WQf/?΋?T?????N?NS?h?/?/??V\"?+??[7?Z򤹋??hp?f ;G??5?7???ueJi?|?4c??\n$??MO?4???\0dp?\n	?=H\Z???????Pp??? ??gcT?6???/???C???m?????ns????ݬ?<~???r????i?6k???%?????s?????y?|z<?????????????xߤv?>K??????u0d??(?U?\0?09?0?E*cO?Ͻ??Y??(>?z??W?=Ip?E?a#9????+?u?c???RQ?Ûʹd\rv?ۧgg????uκ???????yv??\"?8?>?\n?OӌIrw7?s?ۛ??:??ޠB?7???|?\\???????4?V2???[??HTL??Hʹ&?t?\n??Xb?T???P?X?@????G??F?,;?E(?=??\rKf?H??u??l?T???9??|n?*P?D?Ϭ?nT?ʅ+?\\c??`?,VI?BL?a?{??ʌ?Y0??? ??????B????6?9E;?v??q?f??B??9>E?sDW?-??6.?q?!RY?-̞?EڳI???ODRr??Z4]??cQ4?iC?BtW1X??{m?צ<?Ӫ=???[韊??k)Z??~hh(??4??by\rЇ???`???9??D\r?,,?wM?E0?9?F???&?????QDm?????|?B???Z2FmC+??\0?\'d???Nۄ??Ydu???K#??1?$v?XT???1J(?~?9???4>???-????1?9è??H??RC??Z?D????ۀ?{??????\'?Pr<??j???Ȕv?????v*?`<F??????V??????.J?sE>J\n?F?ziM??̶\'????-?%E?L??\nU-??????b?jz????36?J{??No/$?????Q?Zŗ?? ???|?"{?b?H?P>??q?7??.|c??M??O?? [???????p??u??/\"?%???f?iA<???冹ik??f?oJm?$`?J?l???2\r????1K?I?$zi?????<?fE?]|?d?E?UF/?l^??ȁ\\D??????0_lE?1)#W??T????N??\0?h???".ȑ??N?;?::;?w?uzp??UXO?\"M?\"?wà?D?;N??n?e?1&??`?$\Zt\\eTwXa\0XH5<?TEM?v?Ѧ|K? &?1M????mQ???ЬĴ7X??F???4?ͤp???(?? 7QOG.?N!m???Dh`8?Wz?0??II\0\Zִ	?tT? oQ???Q??-Ÿ??????~(?J?\'f?v?h?????=!?8????Qn??Q>Ogy?f??C%?9&s?jW>??f?H%c?,???Tߦ??f?v???cCQ??\'-&???q???S?qT6?[u.??Q)O????"??0????\n??H	??0??Ӫ?i\'֭t?V\ZU??no???ky??:?????<??-<???6???<??bJ#?Z??t%,?h?(<A|L\'|?&?q?(D??|(@?????]?`?p??8E@m?VE>7\\?Z{?\Z\Z?(??'?Z??ă}!???)??m?Y0?c@:?U-??k?G??Ċ?~?(??9I?\Z v*<????&?ʧ9??c\Z?u?f??????߿S\\n?k??asF?y\n??E???e?d????X*?\Zv????Oy?K?? ??@?(~Pi?#d-p??????抨???0??^.?Ě?>?Y<Ǚm瑷Πl^A??x??????3?^?\\\'??EP,r?\n|Ekb1y?=?RƐ????\Z????;?ضhy?*??\'>\nzIS?????bi	;-`jVRɂ??aM?ywXQ+????r??b|????k??̭6J??0۪?≭?t???8????n?lM?????V%??n??-????????)??Sx??h??&???3=	\Z6?M??&??]?{|?88????1!?:G#h?r6-݊Wi???bo?d[??YL{???I#??\'??????N?3$\\?ҘÄ??`?????18C{x??ۣ3??\0??????~8??*???|P?a????KpR?,o??8(n??x?@s??FQ?j?u+^?=?L?:[^?????\Zm(9???` ?1??Z+??j2??봵???`D?Q??Y.?????ϫ????jZ?}????9???m\r?\Z??*N??Y????~??&P??-X????8[L?,?	.z\nkD??TE?˒@???|AY$\n+߿H?uy?qXb<?2????4;n ??̩?v\Z????]?\"\02U??7L?|?q,??h?B?ޱ3?v?*??X???w?{0??A+????J?<(????x?$?[?4?,h?Z?m>??N?#??\n?)?H?!k?P\'??\"z7d㱯.??????y????z?????????~??_?|<???????3??N???t???bqs{????\\xH?C?̧{U.?\0??u?a??w?;>%?2/???????#?fg?֖fK|W?f??]?[AA?۠????0?????/y}:cO???B4?P lm??T?h??VF?[?f7P????#n?IƠ?M???F?Hp???b??+l>iU/?U?<?mf?.ĺ?q??mD???gO?Z??-??4??>{ۢ??AQ???<\0???????>?4G,V?#??hٗ1DEյI?lTÊ??*𒇐??Fx??<?)*Vz??)???o_?2??,I??????,J?f????4Al?:M?ψL?A?qQF??D??????λ???\"?m???????4J$zh??7?W`&?@?]????m?Re??K??\ZP??$^?I? ???]??H??Š`?K\0?`?\n!e??\'??7j?[hE??P|<s}????}??v????: ?????aT?ql?R??t?i??;?b]??H?a?j???v?D?????\"	?r??i??d???e`??7shnڶ?Spo???W?H?????*\n???!???	??Oƾ??A;? ?{LkF?>???߁R?ںQv?j_\"?{+%??.??8\rB?	?,?t?MARt?Z????xz?T?<???O???????????*B?????x<???Zm`????vJ\n?Wys?\??L??Q?*ȣ?x?;ydK\0?????v\"2{??7??k(\r?\n?L?\nl?))i?3\r#??*???>_?D\0:???H??aX????	Tv?"*?[-ER???:?)?U@2e[?????e???\ZzZ?H?h?ue???S?D[ԟsb?D??m?g????2?nn?nd?vn?z?f?O?*\\??Z??(JA?N?䒭S?g?k|?t??+PШ?????????;????v???D??[??8?L?OJ??\rEy;?"t?Ef(??R?tx?4/????V?[L?%?\r?\r???Ѿ???>^?:??j?ڶ???!?X??t?5????m?tM?r??1^?Gk?T޿j^?h?:t ??\r?0><??8??0?Utq\'^?	1$????	?!s1?^??v??3?Pơ\n\Z*꘿?|??????0?Ƣ??!????/?Q???qR??$????4?1????D??-p?ңf\Z???^G??`???CݪH??9T3?kI??a??#?Ka?J?qڎ?<nW??T?*?ՁC??????????????i???F???pCT???!????M?~????????s??דN?.R?}?{\0\\??<??|?(lc?(/?k??f5?knݙ?+l????\ZV{=????5Z?u?g?m2??6??d?V9??\?S?o?=)?sh??6?????幁R?\r?d1?u?F}?k?C[>?%???????????$Ex???\rAـ??1??_????????.??\"Eb?????\nӏ?٭V?-??"?????-h?s????????,?C?=G\Z?r)F??40?6??z8?(Z\0???@???????????z??x?\r????Ya?|?kI????i)M??uL\Z???L??|iz???Y4\"̓B????Q?i??x?aF;΋Q??????.?\nH&q??(?+t??p??HD?7????d????\rq?W??^ꎕL_$???m?τ,פɐ?FΣ??V??E]\nt?Z?????m?(???g??V[?5??c!??IM-????????2?.vI?O^?[\"???&?r??D	?Z?E?FF,ը+E?G?K????\Z??2:?m?FfA??\Zz????A\r,B?%?D??????zh`?\r?^,?K8see??C??I0???GMI,?Hߑc??4???4????$??NA?wY??r?n??rsmϕG???{???Ư!?34?????i??????H?e?v???E??cvP?????\"??#????H?Y???IS^A`??/?	??a@p???????ϡ?\rt֦Al??q?oų8mV?????E@?5??????S??;??G?_?????M`???\\$?\\z?0?~8????v??Ma[?M???sv???) rM??K0?}4\0??l?\0??*j?kc???v????/??<9???0M؀S<pp?W?p???N=??????i???l?Ύ??7?_??????!?<9???W}???#?忮I???$????LT??+??????w???d???:۞=?mz?]]???X??}G??V???Q???{fp????P?0???6??/??`Ԥ??v?U?\r??{??ܯ???~h?*wI???\r?m???#???T???`cN??$]k^?-??܆K?I~?9#&?e?1?F???~?>+7??XDyq??^~s???6`G,????\"N??U?W?߁1j ??׽7.??j5S?>?,??D??xs?O^?a?????!???K???<+[?#k?r\'?5/?lj????]l?	<-͍v_?(]?mƬ???7 ????q?\'l???x>?y????CQ?????Qf>??!~?]?(8??????\'\'?a??eQEKCqx????.???HƍYZ4???7?8??N???N/??e?pA?4???ػ?ĥE?18????v??????ia???펳Okڽ??@fa0??????su???a???#?t.???j~f?f?D?Q?I?????a\Z???}_?I	3O??@y?M???f??NtЈ-?ф??}??RYw?H@I???8?;	`???#\\slE???????%\"??`??o?u?0??i	?;????Yz??͋?4?E?0??r\ni\r;IC?@?B?&J??????????_?S+?t~ƅ??!??!FzT\\?x a\ZN?$??C~???iuHb㻋\'u\0Tb3K?ﺷ??]\\?4:?WG?L????\"?s?o*?l?&\0?K?*4?P??????b???;?G??Ѯ?D??W??q???t???˗r \\J??OԂٛm??0@A??????\0\r?c]?#???\0?w???UhY?<8???v???????ݔ\n\"?Q???y????7t????e??`??V}?G?0np?$?ִ0?q4T 1??mGP??Zsf?*??\0o?J?i ??X?s6R6Q?\rb\Z?8???$????????(?R?V1`kum?????-Y??ێ???U,Y|?^k???,??\'A?f?<A?Lo?i?q~1??????갶???!?׸\"?I/?l5?\n?:???wP?7??_N???x????2?R?rxW%?\Z???.(?c?Z?PF.????iI?nGWY?F?A??KHp??n#????1r.`X?"uF?lE??W-@?????n??~?VG\0C˘?Z#_^??\",???]?i<?.????C?wC;7??????,0??-??[??XF??1m?qI???e??㦙I??????yZ?,WM?T???i???H?0е??~??S[ƭC|?~??` >??U?????_M^U\Z0??Sh?Q??o?=?VD	r?????\Zmj???A???2???????}?Wp?y???_???&K?J?;c??N??鵾Ё?k???????L?`?`0?$ro?v???vj?7?W?????MI?\'???$?R?qj??@	?1`????#????C????m?|?!F4}\nn???????t)]mFд=????t{)??!?B?iY?\n??O??8?=?5??<\nt????????a?*D??6??ې??.?ee??n?]???$i???"????0???????=??+C??D?O\0|?X???oB??S??rcȬo??Zǁq?,?7???dTQ??L????.ʱ?f ?1k})?o7?ڗR|^KQZ`_@???.8??Wx?-1?V)??K\Z?f???S??am?y\r?;r??\Z?ߡ@?nт?}??x???֣+.??9?|??fE??ۭ??J?<SP!Q??Հ?????Y??????@Q??z???U\r?,???????\"$???$?Ζ?Z??wM(?l???.^-????????? ??\n?V?6??+?N?N??)????&?o?lvҬ?C???[???[????n????s;?P?\Z?۱?:???&G??R;T?o?????|????˝\r??Z??Ce?ݭ???5????%???Zm??L??o?T?(??)?\r}??????l?????ځ???cͧ??????{?!??:??lB5?n?ژ???????7??Y`?\n@^?7??ǆQ???_	X.?!?????h&?????,?7k??????o?? o?>?5?j$????E~Ǘ??O??l?᲻Yf?Hr?6??\nP$???????DH?XA??)e?????MD*???h?????b\Zʥl????gY)???a???a?\??????N??XvM???]U??]?陼k???=w??6??7u???oP?+??	]a???L??v)p?zc?7??8?),???\ZI5F\rSn<??;X???\Z^???D?~??H?I?Rp}?x?bJ???ZCC?????K????w??>(?]??	??3\Z?@j>#?????b?r??;?{??aE?Y\nJ?؋6??d	i8_\ZN%???R????̼*=e+???6qT#?????[D?\0t???"???)?G7??f?	fr`?;ea?8}cH????|fcqW??z??_ͅA????h??ƣ?6?A*d?SWĐ???&̒??4?8qt?:??RW?Q??21Ǐ?ݸ???ʧ???????d*@\\@Z??D$@6N?????G??F;?؛???#?m?85[???????f	??ܫ?0?x????)|????\0?p4GLه?!?Ԝm?#/???Mn???N??.??????i?[0V5??????J?????{?XZ{???W?\'+Q?ܱ???)΄?????PxR$?*@?]\n????8??I?V?\0?0ĵ*???\n?]????echB~I?0??,?t&\"o???zڨ?G??K????z?LaxgB?x??.[?e??$????BJ+???<ɴ?-??J???jt??DS??詫?l9??????sEd???90(˼:???ݸjyz??`??d?e.?Z?\0?4???9[hl68?D\\{Ҽ????????0???bNk???C0???????????n?4?0vS}??]???ӂ????~?'??F?~}?vܥ?\r??????Jz????\r????1??w??z???ef?2#?Ɓ␔?vְX?hg q\'???D??g??Z?#??????!C?F)??#?2?V?1=??a^<9<????0&:??#?Vj)?{????Q}?ۋ?X)?~??A?MG\Z7??ԝ2?n<FQwP?(???Q{&7\"V1ՕNFTLT???al_SW?\0??Fc{??K??_\\w?Z=HR:??????\\>???hܵ?????;C?`????P????䯕K????\'N???l1?r?????tذH,?ED̰??o?KP??q\0??<??A?$`?x?c??g?o???????ߗP???(AR????=??@?K3???;ˉza?RA˫C???U?:Q0]\"?\n#72?F???b#U?ܑ???M]}??\00R?v?j??I_?	m\Z???Y??dl?Ag?H?Vս?E^yW?]\Z?0h???;qpSNۦ??fD??#?7?ɚ?ĶnI?T%?!\'G?v,?KFP?n????\Z({??<R??????,o$???r???ۤ*ܗёQ\r?f~?Z???\Z????W??R???????p?\'?z??7^5????V????C????<?i???j????S??ѯt??|??\Z^G?u\n;x{????$.\Z#??????[?kh?mq??l????s??W??s??,?????6???Ą????G\r:7?_?4`j??~?y??? ?Z.?0????i<?/??Y1x2=y?O?<}>?~?|z???o???????9??,'2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b4b179e82c26c40639f621479b89207a','?Wmo???_?A)Ɗ?i?iA?[???`-Q6c??)?g???R??!u?{?s枟_?????	?tX???<???*?\\:A???\n?p????\";???	????##???p?,R??i?\r?指b??MH.????9EF?	???ʒb棂ϸ?s??G???8?????RI???u?????????z;?\"?????????}?Q???	???????Ģ?{??????f??&????{6B#{`4uHD$?VG?1?PE????.?<H?a??K?????(lAU??0.?+?#6??{	{abj?`7k?Q??6ɘ??7Ӭ??{(\"??G???C?8?l\r??????????R??p?????\'??e;k?\Z{Y*??\n??	fc*??2?]???(?\n??:???tN???mɝJkIϦyW?68?d!T?\"4???Y.?k?t?$?.`?H͚???q?eU???E,+??*bU?	R[|׃]1cXnبߴ?L2?v??W\0i)~?=???S>ɧ???zq$kjm???ٻ???֒?-???'~?!?Ƀ???3[v?3խu$Ծ&/<??????|X??P?ݺ?\'???J??#?\r??`?{???ۜ?????/bN?ɨ?_?]??UV?n?V0{??q??j0??&?{???B??????h???????Df???Z??>????+{SuSs?3z????;?c??;]?mK???=?}????S??X=?{???????CgN5B??޳a???w~(Gl(??????????^??\"??????*/e?????n)Ӑ??C?R?\\???Xjr??? ???<???? ?ȭ?{???;?O?(?qm;???e?n ????Sz?om??XBR??<??}?	??4????=??\0\rCe\"d????K(l?Yȑy??rR???\\"??JE???Q?PiBe?s60\Z?5??xe?Au-??L?$????o?\r?A????z(!???9???8??a՗?????Y?XT??o,\nDզ??i?$?ZU3h#7?-l??lSCJ?^??Յ??_Տ\0??????VHh??͘??	u??ȼH_??05S\r*?ax?*G?STI??\\???V??*?Ό.??????lv\"??CO?xk?]?M?,Z?Z??_?O??黳?2???_G?g?W?w??+??z?\0','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b535784f66ec8073686e37e8b207a650','e?Ks?0????pc???cf2?X@AH?$L??{W<ܴ?vW?b?E??????`??Z???_??ZaBZV??k?T?CV?\nk?cD]k%?A?Jײ??+???????\\\n??r+?;Y+#?֭t?v??&???????2+?v ?3PX???Gp??º???v????ҧ~B\Z?5(~???m8?Ȇ?3ժ!?H?P?ң?2??EP??ђϤ?((??????*?PW;?1X?z????)??Q8??/(́?????P??P??j	??????D?"TB5S?Ts??V?0s??s?@?+?Mv?\n?d???? ????轟?ڑ2??I?@f????]???R???}?٧0uړ)h?Ja߸?u??NP?مƏzC?J?Z*??ST?%??.???,Y??\r?:!?Aap?>?O??$N?B?HN??Wķ?????{{O?????r???p??\r?ri???????IP?ø?W?+??D??A?9lH?!?rI6$ݐlC?r9mH?ߢm?6?w?\r<Z\"????uY?/?eo???,????u\Z?|D?8?!?s̠????;????ȓ???O\'8?'γ4??.????#?l??????WW?c?o?<<?|{{?k?Z?????a?6?}]z??9?T?Ҏ-h&i?=}?X?I?d??NS?>???ü<?H??㷗??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b6920ef81ecd7cbe643f9c879f28822d','e???0????N?q?m???cf2?????\\I????{W<ܴ?vW???$϶?ޡ}6g/?v?????????r??7???\0??`+?dU??QOH???K?u???Bz2?N4Z??+???C?Er\'me???6^V??F??xAP ?]???՞??Z?G>?獒???-n7f5????i?U???z??#?????\")?^????H?1???3xk9?HMQP?-?u?]?U???????|????.v????hÁ78???P???D?j	??????D???g????کb7?9???ޕ@?6?W??Q??с?,v?????2???H5%3?`CW?~JW?1?$Ps?? ???;??2?W)???/??0??*6??QoH?}?K4j???օ>t???$?J^p?AT\'D=?<\n1n?'??????{?Iɱv?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??n?no{?	+*PnA?٭?E+??H?\"?9?H?]?u?:?w?<?#????u^?,?yo???????)ߋ,???Y???????M?sL?p?????????r+8??e?F?????9?YW?a?o?<<?|{?{?k?Z?4?ah??}]???9?TTRю-h&i?=}?b_???uL??????Չ???i*??<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b784da4afc54d2dc508b3433f6a6829c','e???0????N?qS?`;?z?3?EZ@AH?$L?߽+?????vez<$%????}2g/?vO????????r?Lv??p8??GV2?5????Vר\'??JEõ솦A?B!=?;\'\Z-*ŕ?M?a?2?????i?JW/?jc??nZ? (®`Hك?@aM???I??`?????\ZTH????j??3	???\r}v?UC~??٠;mFMeh???ET??5?Ϥ?((?ʚ?????PW?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??R?_?m??T?3?\?t-?\??C?5P??D??\\??l??/ɨ +?=?pn??+kFR??????ѕk?)	????!??ӁLA??\n?ƽ᫳Q1? w???4~???P????????ua??\'gɡ??k?Q,?B?[??	~?u??p?Fr??EB[AϾ?e???T??&??Q??)?W???Ш?&??^?J??]??4??<u??KX?? ee\rʭH?!?\r??ؐÆ7???&[??:݆?n????K?>??,?ۇE???b~N??=D??????(?T??e???W6wj1?:I&?!?2?2LD??\"?&??0????w@??C?Ͳ??[Ex?????Ǹg;??????z????此???6???*ڱ%???o??x???"??r???~_?ʞ????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b903097f8f9975e16e9fbbe4363d9a00','e???0????N?q?\r?=????"P?+	S?????????j?XlgiT?~???????/?j?=iY??p?SY?*?a??u????JX(e0\\?h\Z?. ??#w?C??Rr)xwӳ?X?????hZ??ډ?J????/?ʬ?Oف?@aM???\n?o???n7fH??iLՠ?Պf??\"?????\")?AuJ????\nCA?KgpFKr<??????;??"z??C]yٱ??R?=?6??K????d?}Ai???Յ*%???K?-u5?????Jv??????+vCN?CH??	?h?c?Wp%???%de?G?֎?Ape??/df????+??R?Pq?????????N{2mCW)?w????\0??*6??QoHvC?C??ʵ?օ?w???%?R\\p?AP\'D=0<!n?'??????{X?ɩv??5?z????S)?-????u?\\??2C?\\??# |?t?cT3?.??6b?3~??5H?\"/rؐ??nH?!?\r?$??hu?\r;?o???}}}]???~??6-?N?cų??4I?:?ʳ<;?)=|{cs????JNI?D\'r?2?i?&\'???~[j??G?zx?!G4???*?%?Þy?Z<?V#?}?~?\'??A_?hmN/???c?IZoO?8e?<?Ou?g	??Y??????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b916824ba83384cca27927d829c2708f','e?K??0??+2>???y@???;?#?\0/?m?v??Ȓ?}?d?6????n??_????/?j?iYm??ѩ?,g%V?????ނ^),2.e?5Z??{p?e!?????,???VFԍ[????MP[@?W	eiЧ????F??#?uӅ7?????;3\n?O??4Ƈ*P?fE=\n???]f?UM~??Y?Z?EehD?!???8?%9?HMQP?-?u??U???$[???|????.??Q8??(́78???R??P??j??????@??B??Ts??V?0S??K?O?+?=n???6?G):AFG?2ء?~k??2z Մ???	?	]??R???}?ŧ0vړ1h?Ja߹?q??VP?ٕƏzC???*??cT?!??.???$Y??\r?:!?Aap?>?O??$??L?H????o+???/?????Jѯ?$>`??+?8E??\Z?$?+?????Ꞇq?Ǯ??˝???@?IVd?\"?9??E???"q?F?u?:?x<G??????_??+??Xܟ????|?Z$?q?b?B????M?"?չ???$?p??:?=dq??????#???~??B?h??۲E?wJ??^?mٴx??Um????Yc????{Z??y%$??f???yq?OYr( ??琤?-???4ʪͷ?\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b96711acc3285583284bd13209506631','e?͒?0??;>?\'?	!aߡ?;??\0/?m?v??rd???%Y(?L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4????G%{IF9YY?x??s#e]Y3?jFf???D???\\kFJI??A@oC	)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K???\??N?z`yb?"???;6????0?S?+?nz???+??}?J[?>?8??>NQ??u??F?4)t?\nVB??????a\\䩫?\?o|)+kPnE?\r??C?r9nH?!?\r9oH?l??v??;??.??????,n???Ê?>mX%<9?a???\n?8d?G??`s??s??yr?k89/??!?T??u0??h????zx?B?h?ō?*?%OO_?=???&?F\Z????a?l~??????YKE;??????????:?4?????D?ϒs?????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:b98311b67c4e1246e1050d1fea53ef4c','e?͒?8??]>?fz0	???N{??)apc?????6?&??,?C????Y????5(k????&D??J{Vf;&l<??! +??ZU??ғ?????CӠ	?T?????Z??QİXɟdk?jڰ?6??Wƺ???o\Z?t+S??+PX???????\"\Z?h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?r?é.?????+??}????I%?\\?o?)??n-.gknT)?L7??Z??????еR?f*ٕj?p??Vn??{M!?=P??D?sBlO??Ȩ +?=F????+gGR???ؕ??ӕo?)I4??????ӑLA??\n???????(w???4~????????\n-?|ta???\'gɣV7?k??Q?HB\nC8??~?u??q?Gr??Eb[?̾^?ye???T?a?\'????JW???Ш?&Ů?)H?]??4??<u???܀?????$ߐ??6?ؐ㆜6??\r?m????6n?\r?/???????C\\??+?3?\"?	?ԇ*ϐ,?:??????O6wj1?uP?p)P@!??}????h2??-Ј??@?zx?!G4??lგ????_Ӟy?^??V?????0v?6?J???ksz????[?????CY]?Ϋ????$??=????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ba254194ccbd0f6d741f77f5a3f58e7f','e?K????+vxJSgc?=???cf2	J\\Q?KRV??{AJ?ʣ?\0???8?6Lo?G?f/AY?<?/?2??Pڳz?c?CI\'Y?Ju`???[??????cۢ	?P?????????X?=?8?a?klPrPƺ????\Z?p+S??PX???'????"\Z?h???S)??!	?߼jg?:?)?q?͵j??2Mo?????H\nQ?@pV?ㅴ???\\5??ԕ|?FOy????\\ދoN)?????\?RZ?~!Q??R7????2?\??\??Tn??{I!?=R?Z?DO;渀????DV???D$W?????Gp?+I??+??Rh8,C?8\\b\ns?#????????g?S?Q??]i??7$??	??Z=G:r??;KO.?G??????8??w??D?@?=?ɹv??m??zy?r??R?????'Gu??(]\r??|C??7)v?\nNA?????v?a??W?=???d??????rؐ㆜6?ņ?RmH?ߢm?6?w?\r<?G??????"???b??7?es??h???Y??MQ?????-???TU?/??s^?????)??%??h???-Ј??@?zx?!G4??lგ????_Ӟy?V??V???5P?0????j???ks~??Jӎ?i&i?}???n ???y#???c&?B??O%?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ba842f07df7a0dd03f36e96c2eb80607','e?˒?:???SZ%9΄?\r??:??\Z?\rBr$a????\0.vҧ????ҲH*6L/?C?b.^\Z??O?\Z?H??7aq??\0??b?gd??n?H???۽???????h??W??w;?<?U??7???[m?l???fh???!e??\0ɚ?G>?睒???-?wf5????i?5???v??*??\???"?Q????I?1?hv?(\n???TP?=??C????d?>:??`\0??r-v8???7hÁw????R???B?i\r????ǡF??۹d????ڥbw?%J?5R??DOf????a???D^??D??d???C??+??#י?R?9,C?8\\B\ns??E???}??ڨ(0?I?W\Z??r?X????U??B޻0??????W\\j?Q,??(?[??	~?m??p?VFr?]?!????XO??6???万???è??ţ?\\?ohRk?BW?`%???L?nG\Z??w??KX?? eU?H?#??w?Ŏ?;rޑ?I?=ګN??ӽ?/<]??????>?<???痁!o??	?\nȡ?☟?N\n??t????Z]D???Y?y]$P?3~N?7?iR\\???\Z??w@o?!?fY??m?xz????3?ުg?j?q??S??????ˌ??U?T?V4??}}wձ??̚?M	?I???l??????=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bb1f922ba60ade23ce8b81f88f3b6a7f','e?͒?0??;>?\'?`ߡ?;ӑ?\0/?m?v??rd??>K???LΧ}??ph_?K?݋C???G???+?;&L8???#+Y?5????V??WI\\Eõ솦A??z2?N4??()???C?e?me???6^ֽ?F??xEPPUvC?Tw\nk??^?J:?_??uu??3?A??@Lcz?-nN6?`????`?Z5?I?\r????VV??\nA???F???έ??????u%ݱ??Q?=?6?D?K?Í?f?}A??l?*???T9?z??E??n??]??G?ki??7?ү?zǁ?̊\nnd{G%{IFYY?x??s#e]Y3?jJf???D???\\kFJ?B-`??ކ?R?:???]????:r\'??J??!?ܷ?\nh??o??C?=9K???\??N?z`Eb?"???;6????0?S?+?nz??????P%?-|??Fu?(^??C?Z??z+!~?t?c\nt3?.??n?o|	+kPnE?r9l?C?\r9m?C?r)6$???v??;??,??????,n???Ê?>mV?u.??ͱ(RΏ?)??,ݟ??~??S?ɱ>VE?E???=?\nQ?,\r&??0????;???rD?\\???\"?Sr??????g??q?{?????I_?hmN/??T?cK?IZo_?\y,9O?"M9?????O??????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bb40453abe29dd314c6b1d3f5929ab1b','e?͒?8??S>e??	?\r?9?U)??ؽ?iһ?ﾲ???Y?%Y_?9?X??\rݛ?e????˄?\Z?iϪlǄ???$d?Xà#??\Z}OzRy??e?4\r??J?<9??Zɵ?t??G?U?$[?ӆ???Aս2??txC??[??r\0???\'>B?V>??w@#???9:??R\Z?5q?????Ȇ?7ժ!?H?0????2?Jb?")D?n?YM?g??:w?é.?????+??<?=?h?Jr?(v?18??/+@??8[s?Jie??DU?[R7C??R?f*ٕj?p??Vn?؂??????w(??9!??E<j?2:?????+x?Rɕ?#????ؕ???+??R?h???c\nS?#??????????(w???4~???C먀VOQ??\\.]bg?Y?\r?Z$uB?\'???!}??hݱh????#9??\"??`f_/Ϝ??????|?T7???oo?4??bWo??wL?i\ZƇ<u???܀? gU\rگ?Crܐӆ?7?ؐˆ??g[??:߆?o??????????C\\??W??`?\"/yY?D!N(???>d!????͝ZLN?L?\nQ???r?9?良?uv.????@#?????????۱U?%//߿??=??%?FY????a?l~U?ف??U+M;???????WǊ?v<?㾔?ř?P??	<??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bb480d0d24ecd9679cc3e1935a873346','e?͒?8??]>?fz?@H????jJ??;k?0٭}??\r?Iq?>K???J?R?az?s??????q>???T?UɁqg:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P?ŁY.??e8*9H2*?????(????T32s6t%?t?3QJ5?e??kHa? s?v??po??T0Ƚ?b????d?־?T@??G.]Cg?Er??r?\ZDuB?ˣ?!~??h۱(???????kwܐ?Ћ??g^?Ur??|?Tw???`n?4??I??7??O??@?#\r????Vy;?'HYՀr??qG?)v?厜w?i?G????>?x?F?????a?{;?????rȒ&???Mv.x?u???V???'[:??4?M^fE?	o2?i]Eyl /???e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???W?]?D$\"ˑ?˩?p~?r,?\???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bb5794c5242bf61edc010502197e3f98','e?ɒ?0??.??x<?7`???j?\rh?#	\'?wOK???????l?|?r?r?ޢ??ZٝE?????!-ˣ-?/RZ???\nz?QUZ??+??B??u????p??x?UYH.o?????a??u??J;QuBi??ABY??;??H?=?o??n:????pgF??????Q?߬?Ǎ6???????).?1?????(1d???I?\'R?\nJ?0?ű.?????e??<?:pM0	!???C?}??x???+UJ\n?ě???\n4\rB)T=??58hU	3U쎜?I?z????/??g????$/????v?B(?2M?\"ߕ`?Бm?)??8LC?G?|\nc?=E?U?}??Z??[A?W\Z??r?_???U??B޻?????W?j?Q? ???~?e? q?f?r??A|[AM??y??}?T?~\r?\'??Q]??\nG??N? ???^??o?U?4????ܙ?A?\n?]?dE?+rX?㊜V?"?+Gk?V?e??Zx<+????u~????1?Ǘ?%{??\n&??Cv:Wq??I?????S?Ki?d??????$-?}r??4?????#???????Y.ol?\n?<=?|ۄwf?-ߐU-?}????=??K???7啐????=?????1!??ƒGqt??8;????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bb8c52b6a30ce34e363e3fdd96e17df6','e?K??0??+v|??HB???z?G??;?Mh??l K???Y??B?2-?I??ph_?K?݋C??????+??Nt??L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕl?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??Y.??E8*?2:?????87Rѕ5#?fd?l????f??j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9?_??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?mH?!?\r9l?C?\r9m?C???Q?۰??6?????eq????V?i3??N?ׅ\0?????????Y???6wj1I?4??????dg,??r??0??h????=????#?eqc;????????wx+?I????~?/??%}]f??9?T?ю-i&i?}ys徬??d?????c^q>bZ?????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bc92452b6812dc2c8619a084d719bfb9','e???0?y??N?pS?86?z?3?EZ@AH?$L?߽+f|?~???ٕ?9)Y?>\r?{i?{r??e??h4? ?ce?c܄ŉV<??	?aP??um??F;!T*:??nh\Zt>\"ғ???ѢR\\I???????+?֯l???66?????!?n??=??$k????J:?????ܘՠB? ?1]T??\'?ic,Ǩl??S?\Z??d??3j*C+??A؝?[?(?\ZRA?W?8??A??C]??p??A??&1???q?noІoqY}?J)????nxwK]}??ER7S?Ts??ѵ?s?țs????@?v?W?????$?yY?D??s#eCY3?iFn???D???\\kFJI??A@?)L?d?WI??{?k??????]h??7??C?K4jR?\ny?:KW??J^p?A4\'D=?<n?n?'??????{XHɩv?	m=?????P%?-???Fu???C?Z??z+!~?t?c\nt3?.????\\?o?\0)+kPnE?\r?H?!?\ryސ㆜6?ؐ4٢??+;?N??E???/??C?????9?L?L????E?q???Ͼ????S?ˡ?????r????C??(?/Dp??hğ????x?B?h?ŕ?J????????$?F\Z?֓~?o????.3г9???[?????yY?"?Y?|J?j~zNHN?8?EUW?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bcd1663a210427dc5ca060763a79d5ee','e?͒?0??;>?\'?	!aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4????G%{IF9YY?x??s#e]Y3?jFf???D???\\kFJI??A@oC	)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K???\??N?z`yb?"???;6????0?S?+?nz???+??}?J[?>?8??>NQ??u??F?4)t?\nVB??????a\\䩫?\?o|)+kPnE?\r??C?r9nH?!?\r9oH?l??v??;??.??????,n???Ê?>m????<?I?B^??>???出??????;?????d?3O?}q????ΫT?????2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+e?z<?K?CV?sH?IA?8???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:bcdb9a173535890ce67d496770c7eb1b','e???0????N?qc????cf2?????\\I????{W<ܴ?vW???$?l?rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]?????|U?˹?F?3\\??\r?|6?B?RR?	?%????m? ??ǒ????+i??ݐ7?ү?zW%?m???d?????$???,v?????2???HuGf???D?]????@?\Z??>??R;???]??o??8r+??B??!??o,Ш1*ߐ???zr?*y??Q??????E???'Zvl\n?a&a$???nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?ܖ??	VT?܂?$]???d+rX?|E?+rZ?d?F먓u?:?x2G?????}X?+???9??c??!?,;???8???????ol?l??Rq?}\nY???????????Lo+4???^?C?Ͳ??\r[Dx????c??-^?GҪ?q??C?d?~/?2=??????vlA3I?????A??Y?O[??\\??<?ˤ|???^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:be0c18dffba095b9932be4fb49a290a8','e?͒?8??]>?fz ?????jJ??;k?0٭}??\r?Iq?>K???J/??6:?o???͡???@?q\0????\n:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??D??\\??l/? ?\'+??pn??+k&R=??C??+Q?HW?3?$PsX? ??q???2?W)???o??0??*6??QoH?c?K4j???х1t??\\$?J??AT\'D=?<\n1n?'???[??{XIɹvن???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ې?;rڑ|G?rّbG?I?=???N?q??????x_??`?a?5o?ar9ט@?Y^?r,?˚T?kE?ϟl?j??1)??^??????)??%?`???Ј?9O?zx?!G4??lგ????_??^??V+??5P?0????*???ks~?j??[?????E??MSCR?Yf?ZOM}*?&P?~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:be8f09367230cc68f0707db52c3dd741','e?K??0??+v|??HB???z?G??;?Mh??l K???Y??B?2-?I??ph_?K?݋C??????+??Nt??L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕl?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??Y.??E8*?2:?????87Rѕ5#?fd?l????f??j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9?_??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?mH?!?\r9l?C?\r9m?C???Q?۰??6?????eq????V?i3?}??q?q?<=s???$????`s??,;sq>???DQ?ա:???????2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+?e??:9?\"?Ώ$IA?<?اϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:be9f852b74e3c872c1c2a15d8d0e5f82','e?͒?8??]>?fz??@????jJ??;k?0٭}??\r?Iq?>K???J?sR?az?s??????q>???T?UɁq%?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??,p\'?"?$?eq??\n??Ate???9??3?r??(%???}???0w:?9h?Ja??7|s6*?R?ٍƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap???O?????ε;nHh+??3??w??*9??>??;?<E?0??????X	???S?ۑ?q??p	?????j@?\r?????Ŏ?;rّ4٣}?>?w?<]#???uq??ֽV??`e????O??????i???N???dK?V??|???I}..??\\`\nEv:gL???\Z??w@o?!?Y??m\"|Pr?????=ޫW??q???????WE_?im?U?T?c+?IZo?\\u?j?4e??	??,2???\?\"??)?ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c009fb1316cd998712f8563e9a3acdfb','e?Ks?0????p~A?CO=f&?H(ɕ????`????vW?b?x???{??ٜ?4?;??2?4\Z;?ʱb?a܄ÉN<??	??W??Ue??F=!?*\Z.e?5:\n???	?Q*?$og=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?3?\ZTH??Ƈ*??=\n????]v?UM~??Y?[mMeh???ET??5?O??((?ҚǺ???PW?r???>Ёo?Jty+v????hÁ7x;}?J)?ۉ?x;????D???g????کb3?C????D?f??+????ў?,v?????2???H5%3?`CW?~JW?1?$Ps?? ???;??2?W)??g?b?An%?]h??7$???\Z5F?r9w???\'\'ɡ??j?Q,?B?[??	~?e??p?n$???lAB[AO??i???T?\r?\'??Q]??)?W??L??nM\n]????????o??n?no{?	+*PnA??d?\"?9??EN+??H?]?u?:?w?<?E???mq??n{;????`e)????r????<l????ƦN?????t[&?yV	???|??bL???\Z???^???#?eqe??p????c??-^?GҪ?q??C?d?~/?2=??????vlA3I????o?yU&Yr?"???N?C?9d?EU>~{y`??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c06ecf2465a9ae8ec6dd571679fc2150','e?͒?0??;>?\'?Baߡ?;??\0/?m?v??rd??>K???LOyR?~|?s?h?????h?*?dǸ	??N<??	?aP??um??E=!T*\Z?e74\r:\n???8	?Q)?$?zy?????M???Y?R??A?vC?Tw\nk????J:?_????_ܙՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?.??&\rEA?W?8??!V????߱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J?c???????b????)????T?d?l??ӕk?)	????!??ӁLA??\n?ν᫳Q1? w??ͮ4~???P????????wa??\'gɡ?W?k?Q,?B?[??	??u??p?Fr??EB[AϾ?ye?{?T??'??Q???W???Ш?&??^?J??]??4??<u??KX???ee\rʭ?C?m?C?r9mH?!?rI?-??n??q????__???"X?vX1ߧ???}*Q$5?#V?#?R????>????-&9ivyZ?xVs?\'y%Θf??8?4??+4???^?C?Ͳ??[Ex?????g?;??Ϥ??????????.3??^*k?hǖ4??޾??2+y?#??Y~ʩ@?q<???\?zL??}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c1de328ecadd91b360be83c2b168b944','e???0????N?q6???cf2?????\\I????{W<ܴ?vW?????rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+?????d{G%;IF{????????f Ք??\r]??)]????@?\Z??>??R;???]??o??8r+??B??!??o,Ш1*ߐ???zr?*y??Q??????E???'Zvl\n?a&a$?e?nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?ܖ??	VT?܂?+???E?+???E?+rZ?d?F먓u?:?x2G?????}X?+????<9fyr???ᖧ ?p????:5??)??t?+?D䢬2????Dqȳ`2??Ј?;O?zx?!G4??lፒ????o?q??x-I??ƽw????????6Ǘ?J*ڱ????W?n??#r????m?ǌ?e??n??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c36e1a3b6262ae7df7ea42dea033053d','e?͒?8??S:%Yg1c?r??R?Ԁ!9?0????????4?J?V?az?s?h?????@*Ǫ??	?W:	?*&??QyF@6????tP?h?????D(?\'??@?E???????,V??????j?3HmlT??WB?r){P?(???x??r~{?~qgV?\n?????P?ߜlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ??Gy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쎼?Đ~?Ի\Z(??,p#??$deq??????*Y3?rF????D??,\\g&JJ?氌A@?p	I̽d??R??rߜ??!??Tnv????w?Jh?\9ߑ??[zr?*yť\nQ?u????E???l\n?b%a(??\Zz??k??}?J?{?1?8?>??\Z???&?6)?\nVB?0t}`\nt;????.a??#~??U\r(?!َ?rܑbGN;R?뎜w$M?hu?;???O??~~{[W??`?a?;???l0/Ni?f?)?\\??\"-????tj5)?I4?yn?\?yRԐ???'??Z???2@#????????;?M?wJ???}y???[?LZ?4?@??5???2#-??????lE3I?????lR?Sv?0KєǌF?????O?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c37de4a8613d2d61c94b0137f64d0509','e?Ks?0????p?`?z?3!-? $W?n???+n???}???f?? ݰ?؝?xi?????0\Z:&?#E?%܄C?\'?<???X?<A ??u?zB:V?h??]_?|D ?G??@?E???????,R??+?/t???66?-??+0ń?R?L??a???獒???-?wf5S!?????\'?0?C???f??P?????F\n?YD? ]??F???^Z?XمX???%???:曨]?7\Z???m8?r???X)%u;??Z2?S?W?m?	???????کbw?%????=n???G%;?FG????a?r?Atè?)?9`6t%??Z3`J4g??w????Ơ]??}??٨`?[??W??rʾ/}c??F?Q?]޻Ї?????L5?ꈰ?G!??-??	~?e??`?fFr??AB[??|==?x?h???\Z~N?????S?:s???A?\n]?2+Y???K????W????()*?܂?+?_?ÊW?"ي?r^???j?????????????a?;???? ???????%I???,Uz??(??od?l?J?IJq8????<iơL???2G|??????ْE?w???^?m??p+6?UK?;??\r????????6Ǘ?J*ܱ????W\n??X~?{???C??V?\"9&???\'?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c43554dbec4c877370496e7b68ef27f2','e?͒?0??;>?\'?B aߡ?;??\0/?m?v??rd??>K???L?|_?~|?s?h?????h?*???q\':	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH?????p#?"???b????)????TS2s6t%??3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]?????w????$ݐÆdrܐ|C?\r9m?C??m?N?a\'۸?m????????a,{;???f`p<?c&I?f?$?]ed?{????;????<??(?Mꪀ??8a??&??0????;???rD?,nl??9xz????o?i5Ҹ?=?c??󳤯??6???*ڱ%???/o?????`?<㧢8??Q?'?ӢN??}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c49f028045fae1940af879400b7d7764','e?͒?8??S:%Yg\rüCN{LU??\Z?$G&??[{pq??Sw??h?:-OI??erh_?K?݋C???D?q????*:	?j&??IyF@???\Z??tШh???u?D(?\'??@?E???|???,V???v??j?;JmlT??B?r){P?(???x??z~{?~qgV?\n?????P?_???X?1?i?.??/?2??ͬ????\nA:??F????3?9?X?ԕ??'Gy,???]ފn4?????F_?RJ?%A?>??ؠ???R?3?\?t+??;?C?5Q?Z?D?f??+ٖ?(?HVG??LDW?????C??+Q??+כ?R?9?C?4?C\nK?Y?v????{?g?b?A$?]h??7$???\Z?D?ry?:KO??C%/????X????@ێ?@?=?ɥv?????^}==?x?h???~L?????S?FsY??Yݚ?z+!~?t}`\nt7??????o\'?\0)?[PnC???ؑ㎜v?ܑjG^w$M?hu?;???Oo?????v[?,??+?e3??"ɒTT?9dy??X`??H????[;u3X?u?<-x?Um!? ????/???2@#?????rD?,??6?9xz??????3iuҸ?#?????????6???*ڱ5?????j^??IV%űL)_h??~??ey*??|{bo?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c6c04a560a0b89ab4057b10e4c6d0f85','e?Ks?0????p?c?z?3?EZ@AH?$L??{W<ܴ?vW?bqEz̒?u??>???F?g?????FcR9V$?8??L`?򌀬*?????)?????PHO???F?Rq%y{??X?H?????????????/\n??R???PX??????"??????R?1??n4?:Y???cd}ׁkU?_$e?V?AS\Z)0f?to?\"??)\nJ???ű.???ԕ???7Q%???n41???r??/T)%u;??Zoo???B?,ٙj.q0??v??rys?!??%P??\r?\\??l??\'?@V;??@DW???%3?`CW????\\cJI??\rA@}w)??d??R??r_?????Tlv??????\nh??o??}?=9I?????N?z`yb?"??-;6??0?0?c??nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?\\?no{?)+*PnA?+?[???V$[??+rZ?4Y?u?:?w?<?#????u^?,?yo????E??O?mFR?ݗ??r?????76uj6???????H?????&??0????;????rD?,?l??9xxx????????ji?G??????LOks|????[??{?pž?O?p?H??9??=?R?o/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c79786f18d9fbdb37faf8ee0cc671946','e?Ks?0????ئ??=????0????m?????\r;ܬϒ?Q?K6LO?E?Nhe?,?O?j?iYy<0??!?S\rY?l`??M????ZX?d0?vl[?. ??#w?C??r)xӳ?X?????h;??ډfJ????/?l?Oف?@a????\n?o???o7fH??i?5??Պv??\"??\???\")?Q?JO???\ZCA?KgpFKr???????{??"??C]??????\0?*??l?p\n?P??=ku?JI???x?nxK]?C??C??j璝??\'?\Za??ݐ?ү?zW%???\\??)AF	Y????e\\=?jLf??????l?\'J?F????S?;??\r]??o??9k?/??B??!ٍ??P?*ב?F?zr?,Jq??A?????0?A???l?a%~$??6ķ???W?{{O????????p5??rMrm???????IP?ø?W?+??D?l@?r?w?????#َ?R?tܣ}?>?w?<Z#????]?/?uo???,?0)?8n ??Ȋ?$kN	O?&???ʖN?&q}??B?\'???????O?JsHo??-5Ј?YG?zx?!G4????%߿<?=??$?Vh?6P?0???o%}]z??9?T6BҎ-i&i?}{??ɳ\"?&?????5??G?,*??/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c79f5fc6e5d27aca7ce315c8aafc915a','e?͒?8??]>?fz 	??0?=NՔ?epc?????6$M???Y????^?Y͆???%(k???????\0J{Vg;?<??  ??@	?????Z}KzByht2\\?l[?!*?Axr?5??\+?????'?Z???t?\rJ????A?nc?t\nk????wZ??\\D???x\\<?3?c? ?1?$???X?E6??V-?ERf?鍝??SSI!J?r??????g{?뢆?????߱????.?$??b??S????x???5W??V?_HTm????84??L;??5W8Y#?[*?@?^RH?Ի(??p#??\Zd?????Ar?D?{2?.v%??wv??\Z?D????????????`?{E?W\Z??r?lB稀V???\\>?0?ғ???+.5Hꄨ?\'!??B??Ѻc?wGr??Eb[?,?^?yc???T?q?\'????JW??.????]??S????\r?i??>cup#~????_???6?ņ?Rm?C??g[??:߆?o??????????C\\??W??`\\???J!?????O????	???dK??R???ɛ?????<???2?ٹ*?2?,ok4?>??^?C?Ͳ??[E???????g^{?կ???\r?L?7????.;??_??Ҵck?IZo?|}?yu???b_???/?	@?^????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c81cb0440e4c40fbdab6247db80e54ba','e?͒?8??S:%Yg؆y?????TK4?AH?$L?????xpq?~????tL*6L/?C?b.^\Z??O?\Z?H???0aq?U\rY?l`T??Mc??E?Z:?:n?nl[t>\"??\'?$@?k??????A?҇?????j?3Hml4??Wum70??? Ys?\'???8??????Y\r*??\0b\Z?\rhqs??7?n??a\0;ת??H?Խ6??2t?ƘE4?xk^HK*(unM?s]????+ف?????w??\\?N4N1?\r??k??T)%u??`???8p?B-u;??5?8??T쎼?DI?F?J?80+j???,?$9?q????Ae???9??:r??(?\Z??ez?KHa? ?h?J???Y?}/??J??????ШY???c?]??*yťќ?????2?E????l\n?a%a$??nHh+??#??G?@???p?|??x4??\rMjmR???????)?Hø??~w	?????j@?\r??G?)v??9??#i?G{?^v?ם????ۇ?`}????2????gE??6yeS????"?~?`K?V??|<\'?J^??V槺,?Ys,???2@#????????v`?wJ???}y??s??ꙬZi????5???2#=??U#???=o_??W?n????ȓ???I?????oO?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c83975a81432698c12c867335ec1a16b','e???0?y??N?p?l?=????"P?+	S??????????[????????>[t_?2??n{Ҳ\"?????\n??UX?# ?+y\rv??P????iк??????Jɥ??\"??X??2?i?Vi\'?(m??n\Z? H?*??>e?;ɚ?>?????CU?n??>?;Ҙ.?A?ʹцcP6???V\r?2f?????,??ߝ?-)?\ZRA??Fw8????C]Iv????A?\r&!?l?pnoP?oqYku?JI???x?xwK]\r}??E??j?????G?ja??? ?@?+?Mw?\n???? ????裟?ڑ2???!7?`|W?}BG???T???GC?)L??dmCWI??;?k-?@???]h??7?wC?C?R?\ny??KW??R\\p?A0\'D=0<l?n?'??????{X?ɩv??5?????S)?-????u???2C?\\??# |?t?cT3?.????l?ng?1+j?vE?\r??C?r?$ߐ㆜6$??h?:?????xQ????;?,?b~N/?2???T? &iQTCt?\"??2??????S??DY)????????)??ǌ????#?l??????WW?c+?7J^?=?w?k?V???\'?0vO\Z????.=г9???[?????C??{???O?ӑ??f?~?\"?!??/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:c90d55c546441a07356b953aef36479b','e?͒?8??]>?fz ???0?=NՔlpc?????6?&??,?C?*????????P?7???L???????L?8?B@V1?5:0?????\'?????CӠ	?T????\\?D??(bX?ʟdk?jڰ?6??Wƺ???o\Z?t+S??+PX???????\"\Z?h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?;?T?X?ԕ??}????I%?\\?o?)??n-.gknT)?L7???t???t-?T??Jv??+????+?@?^SH??h?cNH??????d??\nޏ?Ar?H?{2?.v%???v??$\Z?D???????}???????`?;E?7\Z??r??T@???BK.]bg?Y?\r?Z$uB?\'???!}??hݱh????đ?jwX??0???g????j5l?$>???<E骷??\Z?Ҥ?8???????q????????䬪A???C?\r)7??\r9o?C???Q????6?????????"X?v\\1M??q<\0???"?Pg????p??O6wj19???9?d\n8^????~[[????B?h????%//߿??=??%?FY????a?l~U?ف??U+M;???????WE%.?,KQǢ?;?????p,N????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ca547292dc9ca1efc9915aaf67ab09cb','e?͒?0??;>?\'?6$?=?ؙ??e??6?i????7???t?????????y?2??{Pڳj?c???d(aЁPRZ??IO(?N?k?M?>$?B2wN\"?FԚkŻ??G?Uv\'[?ӆ???A??\n:? h­`L9??@aM?!?+?????stL??4??$~?????Ȇ?7ժ!?H?0????2?J`?")D??YM?g??z??S]TcU?+???\r????I%?\\?o?)???.gk.T)?L7??Z?????ѵB?f*ٙj?p?F*7W솂=??~\rԻ\Z(??p%?<j?2*?a???)??ّTs2?.v%?t?;RJ\r?y\"z?sLa?$S?u?¾???u\n0ʝ?b?????ԡuT@???BK.o]bg?Y??Z$uB?Ǔ??!}??ݱh????đ?j??\"??`f_?????G?հ?????????h??bW/??wL?i\Z?????Y܀?c??$ߐ?r9lH?!?r9m?????hu?\r;??mϖ?}|}]w??`?q??6?Q3??\??(??a](??????r<?r(??̐?C.??y&!?yY??G??mm?F?????9?YW?c?o?<<|????????\Ze?Ϟ⇱?b??Y?eZ???T?vlE3I?˛????\\????eV\0?	???_?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cb3c1cebf97a24584ca1eb12e3595ac4','?Z?R??{y\n??[À?B?m![\\?=n!٪*%{4?ly%y?	????y?kI??,???%??C?V?[??????s??8fQ?$?O?????d??9	?d??????I<????n?pvqz???-????~K?v*?P\"s?+?f?{?˔?SD>???$O?q?Tq?>?j-???$???3?l(??h??	??C\"$?WW? ;=??v??w??nz???w?L?$҂)^)??M????V??J?N?;?9K??%j?\\?e?k?dw?Q????i\r=?;??0o???g?\"H??!??]\"sw1`??1?i?fO\"\Zԥ?D??r?{?????et?#?=sD*??$?19fF???߃3V????pʙM?\rF\"?r?*?`??;???TӶi??ู??F)??B??D~???KB????\'aw?6b?)Z?Ĺ.?O??P?LP?*????塔??u???9槱|dz\",ć#v߅J(\n?щ%?`???p???\0Q?*\"t??K??@G???3?2??6?=??ˠ\niba???[???U?c?\\F0.??'aJ/0??\\???R)??rC?\rv???d~h??\"????;?m?$?????i???O???????u??S???:	??$X?\0??ŭ?AP[S?3??\n?_?V???/=?	??	???ʷ?	A??=????kIU??m?t??\0\n???=Ϯ???Ҏ--i????|???֧??*?N???$V??&/??/??\n???{fS֞?>?Q?R??$????'??.????/????9?Ŵ=^t3?0??#??xۿ$??}ZTKe??י?hk9San9\Z??Ue+갢_;w?P?????4?Vڶ?ًj?:K????oe???j?U?a??????~?Qb?? `aɚ???????3?0ө%k\Z3h???Ւ(?7?????4?X$t*C??\Z?V?????nQ?Y?"???(?? I?0l??ڶI?e,[??s?[8	?x`=^??}??gDMl\n??-qn?Gl??????A΀?0Vaf?? ?OM?ډ:d.??uT?޶:W?.?O?a+0?`????f(????T(??i9????g?=yK?M?m|?Ev&?N??!?úR???ZB!!,??Z???d?c?Ad??O~?+c?E<?ӷsH?{ڎ4	D????jw?D??8?od???B?8UJj?ɢM?rd???O3<Y9u2???9???8??`f?B??"|?|a>dyζ??2S	??i???O@?Hȥ?^$g?J.????S???\nx3?2????????j??9??#<?5*??%3???Ʋl??тq:Y@?YvE?Pɠ?9?????????*?sE	??x?	(?f?s?2?Re???\Ze??*=\'???\'tgf?ո??˚?6@?R?N??ʤ??H=?ս??L\'BK\'l:%V???]&\n?w??l???0?هZ???Gw????:???v?Ɖ????S?R?꽷P 5?????i.?DYǘ3??b??????\\\'?Z??\Z??/\nd??q\"	?|}N?????͋?	?盺3?????qP?(`???l$\ZiF??MO??????9?¥C ??]??????K6Q\0?E$VɎ)???B?u%??q\Z;K<ѣJ?J?gk\0g??[.4N?sǸ??CD?\n?j????!???TaCEǂ4BA?jt։??!$?d?x?*[u??6?????????m?.?ss?ڱVc;TKE?Լ?R#;?r??_???????\'?????5\0????0?ގr???՗~cjoP<?Bv??nfo??#?f&????Z??s??J?{??²??Si?.C xd?u\0\"(-?j??Ik????b3?j3MX??(?+n&\'??5=9?w/k??u??ݪ???{?????Ê0mW??8+B??\r????ʒ3LcH???(-????F?/ +w?-N?\\?-????????P???4ņ?!$L|4??+X??W&?X?8??W??&?b0w<`?dw=????F???IT?h??????#?\n?d.?d?M<?"?u??Q??ZIq?P??h?%<gK??ҥr?47?#?F.Lx( ?y~?K˚?U??N????Q?ł?<????3t?/??fw0?gB???92	???He]?ݏ??J?$s\\??n?l|9 Ӎ?????<??j???s?]?|]&???p???????ȏ?ț`?16???ǅ???/???f??>ƃ?ܝ?????J??t?LTӁ??????????????^z??R?xfxsŨ?+?'\"1?.?n?7?7p?_?B?? ??0??P0\\?q{???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cc50a35e69103d4fdbb002fca5bf0768','e???0????N?q??m??cf2?????\\I????{W<??????֮H???`?????????ޡ??T?Ɇq\':	?\n&??^yF@V??\Z??tP?h??]_?|D(?\'?@?E???????,V?w??֍_???mlT[@?B?){P?(???x??t~{?vqcV?\n?߁??P?_??G?X?1????????2??͠????\nA:??F???^Z?XمX??v?zGy?t??]?7\Z???m8???????HP-????ߕh!u=??5?8]I;U솼9ǐ~?Ի(??p%?8*?2??????(????T?d?l??ҕk?)	??!????Ӂ?A??\n?ƽዳQ1? ????4~??}_???\Z??r??u???\'\'ɡ??j?Q,?B?[??	~?e??p?fFr??AB[AO??i???T?\r?\'??Q]??)?W??L?????^?J??]o?]?4??<v??KX??? eE??Ev+?_?lE+r\\?ӊ??&k??:]????ׁ?s????΋ۇE0??b~?????w?,?\??[8?OB?????ƦN??x?LwU?p?]?????<???dz[?v????9?YW?a?o?<<?|{?{?k?Z?4?ah??}]???9?TTRю-h&i?=}?b_p?%??????Q?I??8de???/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cc58d055c8de70b620575bfa0c21eddf','?Z???=??kw????	???B??n??2UTJm??ly$?/?<????ȋ?k[6aBMI[?.::::G?p_????r\"NY? I?O?4?$a??l?NB$?$y???7?x??󇋫???2?l???>A\\??!i?	%2????}???F???G????4??jB\".?U???cq@??к@ɦ\"???1p!1߼?q??;???????s???\'f?$?L??iR?v?×???s\'ݝ?????x?5f.??2?5T??(2 \'(lZC?b0?? b1?2??$Jh?oF?.?9??0?Oi?fO\"\Zԥ?D???o???b??5@b{??$????JvF)Ii????pF៼?p?n?t%??rf?ѫ?HD\ZNn?e???0e˫	?m??M	??먊`?\")D?k4m?k?[I裠?1????C????O ???Q?CyM0m@mܪ????)y????ds?c??DX?\'lمJ(??Q???{??8{O??(??z????bo???2?Jp??O?2?D\Z?XX#?u?i%???ݱ??T.#???0?W?b??.n	ztF????????Dt??Z??6???v???a????r;???is?\Z???t?K?gԷ?C<ǂ|x?x?0?Q? ?????ϐ?<`??+u??@???s?'??uq?\nh?J???=L`go??u?]L???MP?ξ???T%j?KW????6Ӵo???ĲC>?cKK\Z?\rz???/?????%s?\nx????ua=???0R{??0???B??{?,`??)?KR*P{h|/?3q?AZ?<??ZN??X???Y?!\0/??????5????Z*??Ǹ?D[˙\ns?H>??*[?P???s?uJSt?9F~#1.??mkّ???>룳??k:??k?V???ZЬ	?d*?	#,?%?n???y??~??Z??8C???i̠?Zz????<ܰ?|N??UL?|f???,)?Zy??7?{d/K?H?9?? I?0l??ڶI?Pe,[??s?[8	??g=^???P?ψ??*e[???_ZN/u?????0A0??6?uȼN?]??ħm?????zR???D6Äy\rJ?KNZN,??垟?&?S?h????S?{????"?f\r??????~?n?Q@?±? ?????p?\'?y???N?!Q?;\n???ӟv?SB8???E?T?2_g\\gG\rd????i\Z:?????\0(?k?RA?Q?\0й??w[?Q?g&er{????'?e3??#ܫ5*??%3???Ʋl??тq??t*?\"D?d???I?\nRaE?G?????f?㝲?R傓??4?2UzΖ??tg??ո?w?˚?\Z@?A?N0????H?\\mmwg?R??e?ς?xXE????? {|????3o?Lj7_d??c4???Vv|y??a?\'??\n(??T/?!?Ej?~??.@?I?DYǘ3?\r𔛧??M?N#?R?4&?_2ȅ?[?Mu?<????͋^?x?]]????at0\Z?F?nD?F?f??$????׺4#\\?	???r\09??o??xb?LUDb?s??u.??\'$1?K??΂?1?ľT?T??t??qC??=???;\r????Dx? _????hފ?QQ햭\r??/!?|y???F??cH??\1?([u??7??e/??t??	Aj?3??c\r?w?????yc\r?Fv\n?2??Z?W??+?V????mrw{N?????C??;R߭?????\n??????5?=p??~?\?TJ???j??}\'),뎆?f\r7?a?0????Ax?E??j??Ik????b3?n3MX?x/}(n&?670?Θgt??\0?Wy??~?????\0-L=??f5]`P?#0\"d??y+{?9?1vTO??Ҁ???V9`O{??卶?	a?+v%??X??!Q?}?q???b?lX?B?{3?????eR&????U??,sc?vs??Z??T?xh?c?D????<?p?wyRܣ??\0?\'?Evu??????EW\0U??VY?s?RZ+]*?$@s?Q-m???R*???4??????d????\Z?+,?~??\\??r??Ю	?N????$?S6E*????R???.ps?y??	6?w?6??>?d?P;??s??̝?\r?????????n??%G*-?`?7???b2??,????P)?O??s?|L??????????J??t?LTӁ??B?v????q??o<???f?me|?g?7?\\X?~\"?`?}/????ý=????x?w?7\r?????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cc9eb5f802c4237cf1c900542f374a85','e???0????N?q?`l?=????"P?+	S?????????j?Xl燨`??<X4???٢??ޣV؃??юq?G:U???Z?Q??Ы??Rõl??A??82pwN<Ԫ*%??w7=?܇Ŋ?N???u+]???{??	j+h? ???n????=?o??n?????qcF??߁??P\r?_?h&A?!???L?j??2T?????0d?tg?$?i(\nJ?4?é.?????ԕd?KyL?ڠ\\.?7\nǐ??9???V?????W-?w??ЗhZ?J?f*ٙj.pԪf??r9}!?\Z?w%P?َ^??ls??d??????3X;R????&df?????z??*T??c?>??ӞLA?U\n?Ɲ櫳?!@/w???4~????????r-??ua?'gɢ?k?QB???~?u? q??r??E|[A;??????T?a?\'??Q??)\nW?????&??^??]??4??<u???X??? fE\rҮH?!?\rI7$ېÆ?rܐӆ?m???a??????????v~,{ۯ???`u?±??Ĳ??C\Z??<?T???76wj1I??ϓ???EYu?????S:???R???u????rD?\\]َ?\"?Qr??????i5B??⇱{?????RQI;???????????eV??????Q??I?????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ccaaf46e8b4960b8a6a6de746d3f4fa8','e?͒?0??;>?\'݆?\0aߡ?;??\0/?m?v??rd??>K???L?_?~|?s?h?????h?*???q?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u?o??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH?????p#?????b????)????Td?l??Еk?)	????!??ӁLA??\n?ν᫳Q1? w??ͮ4~???P????????wa??\'gɡ?W?k?Q,?B?[??	??u??p?Fr??EB[AϾ?ye?{?T??'??Q???W???Ш?&??^?J??]??4??<u??۳???\Z?[?Æ7$ݐӆd?oH?!?rI?[??:ن?l???\'K?>??.?ۇE???b?O?????8??\'?g<=O?\0?Ev????;??????>9b????????y?OE0??h????=????#?eqc;????????wx+?I????~?/??%}]f??9?T?ю-i&i?}yseZrP?Uz?Ud????x?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cccdcfd4d5d40ab219681abef8b9eea4','e?͒?8??]>?fz B????jJ??;k?0٭}??\r?Iq?>K???J?R?az?s??????q>???T?UɁq%?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???Y.???Tr?d??????+87Qѕ5??!????+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?ӆ???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ې㎜v$ۑ|G?9??#?I?=???N?q??????x_??`?a?5o?\'\"/??)N\',ʲ9?E^?	E????'[:???e	]????\'?xY&?>????e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?f??U?eFZ??U#??f???We?\?d\"Y?1?e\n56e}A??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cccf79a196a4be9bc8b34b56c9bf2470','e?ɒ?0@?.??x<l?CN9NՔ\rh?#	\'?OK,????????)?\r\nҏ???>???????a?%??\\RG;\\?Q? ?? ????{??Z\no???4`?GPq?????JV?`??n??\\X?d%5oZ?ѕ???i???\Zn@?*??.eKEw????Z?nn??~[???2-?p??\0??PM%????|dC?=ժA?????T??????WpҕZ?:?I?Q`?LuὋ????DG??z????*?Rlw#a????Q?rV?\\v3q?%eݚ??t?ⲙJvŚs????+?\"??>?_?????H4??m3w??tF+\r=8?j̈xWZ??\Z???]W?~?W?U#?T?dt?>????:???ŰWnۜ??:??lr???l?Ҷ\Z???m?څ?u??%????WG?=?>???O?m;6??7?S?\rqm?r???Keͣ???{?9?؍?>N???m??F?4??F5????#T6?"O]?aRX=?\'IQSa6$ڑxG?9??#َ\\v$ߑ0أ}?>?w?<\\\"????uY?-?eo???$???a? ??? ??U^ ???F?-&1Di$u?cd?9??f!c1d?7???∟??>????#??N?d???˷?????\Z?????{Vм?u???Qs?;??????a??`??N??I	y?e???e%Yp???^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cd3f540a97b35858f9fd4a25da7d9fab','e?͒?6??S:m6?c?????j?%?@??I?8??{Z<????u???&??c_?~|?7w???0~??	ѣ?؃6??.???????DF@+嬹g=?p?\r??C???d??$?F-??^@??u?;????uQ?^[?\nz?!?ү`J9??aM?!????D+?????L)??t3	?̑\r}~?UC~???;?Keh?ĜEVH??w?Ϥ?((u??S]t?b?PW;?1?z?????)v??8??/X\'@?????Q?????*?R?C??R?*ٕj?qtVi?W쁢??\Z?w(?Ǽ?p\'????d??\n!??Av?H?2>u%???n??$Z?$???????C???????`?;M?7\Z??r??T@g??bK.]Rg?Y\nh?r?ZduB?/???!??hݱ???????jw\\??????g???\Z=l?$>???<E??w??\Z???x\r????3`???q???????~?OP?Z?	+rؐ㆜6?ܐRm?C.R?u?\r??]l/????}Y?-?eo???X?Jq??<c)JQP?J?????'?;???)/??e????ڟ??0??4?!??^?C?Ͳ??[E???????g^;?ׯ??~?????ͯ??.7??^??6?ck?IZo?B}??<??ŏ????\'8P???(??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cd721cac3996c84db2c32a76221b1527','e???0?y??N?p????cf2?????\\I????{W<ܤ?vW??@?\"?ۂu??>???F?g?????FcR9Vl7???8??GV0??3???V?\'??RE??u???Bzr?A4Z??+???Cd?\"??me???6^V??F??xAP ?]???՞?d????I秃?ۣ???\ZTH??Ƌ*??=n????]v?UMq??Y?[mMeh???E4?3xk?HM*(?ҚǺ?h??+??/?7????N41?\r??r??/T)%u;?`Zoo???B?,ٙj.q0??v??rys??~?Ի(??Y.??yX*?rړ??C?87P1?5???l??O?5f??j??w??@F?v?d߸7|?6*\n?VR?مƏzC{ߗ??T@?FU????.??t????\ZDsB??&?!~??hٱ	(?????k?-Hh+??=/?w???*ٯ?$?0?+x?E???\Z???X	???rS?랆qޏ]?ᶬ?O????$]?lEv+?_?Ê?r\\?ӊ$?Z?Nֲ???-<??????:??<????????x???=??C???S??8?|{cS?f?,Ϡ:f?+DV???8?u:??Dp??hğ???]???P ?eqe?Px????|g[??dUK?;?C?d?~/?2==??E%???=oO??\\?Ba2ȏ;Q?<K!??iR&?4???^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ce13d32386798be4c14a30dd3c46e908','e?ɒ?0??S:eq&f???w???\Z?\rBr$a??	??}??? \\????ph_?K?݋C??????+?;?X?h%?#+??\Z?Y??[?????A?B!=9?? \Z-*ŕ??!?X?<썶?i??/?jc??nZ?\"(®`Hك?@??葏????Ap??????Y\r*??\0b\Z?5h~s??6??ʆ?;ժ??H?Н6??2?R`?"\Z???5?Ϥ!?zeM?S]d??ԕt?GyL??C.?\'\Zǘ?m8?????????I0??w???h[!u3??5?8\Z]K;W쎼?DI?????p#?",??9?b?!??)?ʚ?LSrs6t%ڧt?3RJ5?yz?KHa? ?h?J???Z?}\'??J????*?*?Q?*?????r?T?\r?9!?qep???w??N?B?N??$????WƻG?@???p?r|??xԛ?\r?jiR???????)?@ø짮~s{Vz;?HXY?r+?nH?!??6?ņ?6?????????;?nO?>??.????\'???=?ȸ(???UQ\'?]?E?CQ??~??S?????c???%\n<N?>?\"?.??0????;???\nD?,nl?\n?<=}??ߙ?o?Y5Ҹ?=釱?b??Y?ez6???*zcK?Iz޾??2/9&???,Χ\ns?????=?ϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cf4a11c60eb7620b45d900787f161f8c','e?ے? ??)R\\?????{9US?2\"d???ݷA͘?>????+h?&?????????ށ?1?)?-?,r\\	?D@??YUF?[?ұRE??u\r?Bzt?A4Z??+???d??>썶?n??/?Njc??Z?SL??!e?{a(k???<o?t~:?=hq??3??\n?????Q??9Y?c9De}?;֪Ƹ?Ƥ׭6??4R@?"\Z?݅yk?H?*0?Қƺ?h??+?-???^???r.v8???h?o`^}?)?ۉӒ????lLH]?%?`?FW??#o.Qү{W2L?%?vC?,??:??B!??97`1?5?????+??G?1?$@s6\rA@}w	)??d?WQ??{?k????o%?\\q??7??}??4jT?y?:?WN;J^a?A4G?=?<n?n???-;6?0?0?c??????ƻG?@???p?|??xԙ?\r\rjnR??Y???????{??v??KH?????b??E+r\\?ӊ?+??H?\"???Z?Uӵl?????????????_??r/??!z????_?U?????:5??????????b<I?IP?T??Lw+????0/^?C0β??-Y(?S??mߙM?b?V?4??lh?\r?~]??s???????????ǂWGF)O(?t????Y?U4?U????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cf4ef7bf0d844d7ea69c8276729a2d5a','e?͒?8??]>?fz? ??N{??)apc?????6?&??,?C?*)?cņ?th???ݛC????F?0R9V??p8??GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*y?????FW/?Ajc??Z?!(?`Hك?a?#???I痋`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!??????1:?~`\0???-v????/hÁw????Q???B?j\r???ǡF??۹dW????ڥb?5??H???=???[????$?YY0x??se]Y3?jJf???D???\\g&JI??A@?\r)̝d??R??rߜ????Tlv??????\nh????c?=?H?????N?z`yb?"??m;?\0????0?s?\r	m??zy??>P%????'Fu??(^\r?C?Z??z+!~?t}`\nt;?????*oG?	?\ZPnC??$ߑӎ;R?yG.;??hu?;???O????}]?,?uo?????9????\"????:?V\nQ?????????u??5?v9??E^6I???S?\?:?,o+4????C?Ͳ??????????g^{?W????\r?L?7????.3??_?\Z?h?4??޾}?*?x?cS?Q??\?Ņ?Ӳ(????_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:cfa027a2e47ac82761346f91b007817c','e?͒?8??]>?fz??@????jJ??;k?0٭}??\r?Iq?>K???J?sR?az?s??????q>???T?UɁq%?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??Y.??E8*9H2:?????+87Qѕ5?fd?l???uf??j??א????????٨`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9??!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ?;rڑ?;R?eG???Q?????>????????\"X?vX1͛????D(.y??8fi) ?L?8?)????-?ZMx?)?\\???0?rL??l0??dy[?s?~??B?h?ŝ??%//߿????%?V\Z?k??a?lU?????R?E;???????Uy?H?2??V??~n.i?$E???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d063b7b84a2dd8d883f9b8b2f7be52eb','e?ے? ??)????????r??T??\"L\0?Ry?4??Ny??ї??-Y7??݋?e??>?eBth\rv??g?Ä???V??I??ׁPUe??%;?<p??{?5??J?<??Zɵ??w;?\"?e???Ʃ?	[c??:e?Kf???AJ??1?0??\0?Z?\'>@?V>L?w@#?w??Hi?U`??z?\'0)?????"?޴???(?)?dw?\n<??TP??Ǻ?.jU?+??????/?4????O)?\r?n\r?k?T)?L;?h?????t\r?T?Kv??+????*vG?^??_=??%z?\'$???Zu????????A\n?@?9?y???:?(%?F?4????0v:?Q?O]%??X??N?Tlv????4?\nh??*4??>v???v????dN?z????O?-;6??0?8?c??nf????\r??R??5|??Gu?(u?:}C????z? }?t?a\ZL?0?????????2VV?????[???V?"?)V?"??֪????;[??>???w???n?'??20???Wq??ˏۣ??"ϱ???6ujv?p?<m?/dq?????S!vY]???\Z??@/?!?fY??-?xz????3??g?????;?C?????????7???Ɩ4??}y??????x??\\J??/x^?8r???>??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d07920bae1cb54c7393fd45773326742','e?Ks?0????p?????3??\nBr%a??߻??????-????s?\'???_?ZAO??????i8??$j:HG???ނ?V2?e;4\rXp??=8?+^I&?z???񃬕M??J;Q?Bi???????;*?Ű&ԱV\n?o????;3?J??iL????h?D6?5S?\Z??L?=*,C+8?,???.?-?L\Z?S????????v%ٓ??b?=umP	.?b?c???Ҍ???VW?????W?(???????@?P???\??U-?\?;r?B?5`????b?7?-?Q?^?Q?Vz?/?3??Q5A3????l?GL??bt?>????:??\r]Ű?i?:k?\'???ㇽA?r?k\rP?*ע??|r?,Hq??A??? ?0?\Z>?O??$L?B?HN?KWķ??????????J1l?$>`???8E??\Z?$?+5?????DR?8??<u???H?\0? &eM?]?dC?r?$ߐ?rڐ??m???a??????????v~,{ۯ??? y^??$YZ??FY??QE???72wj1a?h????cv?8eU?Wq??(?&?RS??;???t???dOV?:xzz??{f??ܡV#?}?~:v?Z???.=??^*k!qǖ8??ޞ?l??<*?TQ?Y?g?H?ͳ?(?9Y????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d09e1fa1988d4f8caa9c6a1f9bab90bc','?Z?????u??j\Z?p1ەb&??e?T-PSj[vdˑ?z.??????H???TA?%碣??sd	???s??8aq?$?R<	?ė?%??H???9??d|?????$??7?;?<;?n??ɖ??)???I;?H)?͵{?????ˌ\'??}??g?R?	??|?ֵ?C?%!?&	^?C???d?\Z ??|?D????Dbg฻????????\\;	>\'??`?\n?u?;????sV????N??x??8????j?\\??k?d??QdH(NQԶ??I??}??@?6e?\"H??!???}bs??`?E	?ҬO̞D4\"?OW??\0?\n??-??j???i??ݞ\"???\nҚ?3#ь¿???5?R?8??&c?#1i9??O??????=\\?(Oh״hJp?Gu??H!?\?i??P?KBu???$a??69\"?-q?Z?\???`(o	?-??[?<d<?ay,%????l??Y\"???5{???x?`?t5؝`?5?????|읊???j??tq??dr?????%?P?,???F^뚭?4=S?c?\\F0.??'aJ/1??]???R??C?rv???$\0??l+]1????)???????(B???@[ӧ?p??/&h`B?x???T?aF?AB?ݟ\"	??!??&????????1?8??Wŭ??ʗC\0?\n;{;??cB?d?A9:??[R??a[/}??b?ӞgWA?e?|iǖ?4?z???/??Q??%s?\nx????sa=???0R{??0???B????YȺ3?'1*S??T???$^?????8?5?\"?$G?????C\0^?{bM˷?\"-6??e?T????ɘv?35斣?byU?B?+??s?):m?????t?Ҷ??_???YJ??+í????^Ь?d*?w)?b,??n???}??~??:??8C????i̠?zVK???:ܰ?|N??L?|j???,)*??Ƈ??$$??ݡz	8>l??}șQ$GA??!6`??m???\n??窗wpq??dO??????TʶĹ?9???^>??}X??az?`15]j???x?su?.]?u?`8B?rՓVU??Jd;L???????B?؟-??-y???/??\'p\Z?9֕Z???	a???9$+?\"[Xؘ??{?_S???R垶???[?i?%?#??YD??K??????e	?f??oJ}??򻆐K?D???\0????z??????Lon???m???Z?j??w???F\r?t?yՖ?&XV??3Z0N??NUW??ڟ?P???yR?j??&?P?P?z??\?B5C??~?*\'???(c?T?}?8Q??;?s?M???8A?lḨ???C??\0?`>???V????,\\?,??U?f\n???;y6????E??:ܡ{0????r???_??_9??78D?o??y).R?r?sBg?!H?$?8???o???ňT?h?z??j?	1?T???AN???????o??%l^???o?J\\???&F?????#?5?0#?g\'E\\}ͽ?\n?/S4?f?7?|C?#???"???!?s??IкZ?>Iu6????%?R?r5?s?J?\Z?U?c?U??!????5DE?d??jW?켹?cE?,B~???$ڃ?ǐ\Z??b?_????\\o????&?㸀`	???[??????#f?????????F?j????K????6??5?*??0?ގ?s?kckoT>?Cv??ifo?? x???+???Z???Vv8p????Sk6p.C x?\0¯,?z?	?I?h????f3?j3MX?? ??n&?17?\ng??]u+?ݩ|EY??????Ê,mV??8#B????ʐ3LScG?T???l?oY\0^iO??X??Ѷ6!L?r室p???5\"?:R?KUC%?lz?V`??0??u????ԃ)b???_?u?\0???\??????x???>??&Q???HC<?")?@P???E~??.??????G?W\0U???y??TZ+]j?%@s??Z??\r??V??peZ????(C?ۈ?>h?X???????s?????f?vM?t?4G&????)RiWa?$?????/?G_?H?Q???????!Å?7???]??ܟ??:????a???H??,?&??XLL??????%t91?K*e????n???ǅ?w??;???F釕?ۆ?j:04S7nd??m?????[_1??2??ÛP,]	?1IH?ܺ?v?\"?? ?>B??r?)????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d0d38bd3ffbea4f64387eaf04bc72636','??????????bDɖ?)??\'?ӗL??Y??(JfL?j??d?gߺ?R??{????\n?B?P\0\n`>8?~?М]??4GY/?-?h͋v??(??Qx9Jo>_ē???Mo???E??;???&?Z_??ᮮ???Ȣ??ҟ/?d??;?V\\??z!b?\"wO????V????D????Z?????-???????W?*\\???+?}?E?????D¡#???????BN?N?!??? ???V??;??????\n\"K7??E??,#/]`JNr.nQ:iPƶ????x??+??????`+?T/?Y????p??-??KP??d????le?])?W????\\d?겚??\"\Z?l??ҟG׍?????<??2/n?????\'?????Z%y?K??%?=????\0???H?!?Q????w?8??\?????Sj??s̯X ?????DE?ZtB????t???t?H稌??\'?????ɳޗz???!L?WR???b[?R(??Zع_??$.????YAco??$?O??a???|??Ufmz??Ȕ???h{JCPc?Թ: ??^?"?\n5??;eQp9\\??4???va\\Fo?	y<J????]{^?v?	F??? ?hy(?	?[}???s;?P?;m??<~?y?f?PC;?Gp???fׁnt???/??7?\,#?N???LWt??(?k,???x????>??m?XR^?\00P[f?i?T??????m??Uʥރ??\Z5?K\r?F????????o??2߾?i\n ?-jH???????(߾.?(+?[ؽyZ??eH?????n//???h?no??і?\n??Τ~)\n???蚠u?_&?{wWIN?????H? ?_#	p??\0-???0???A7+???s??g??n???*??u?`˕?\0???T?8?m?\\?|!\ZרkI?LK~??/?Ry?\"?͇??{	?????K?WA??R?7*???1m?ۿ???1?????0f?0?{?\r?'\n?i4}?F?$2|?G???+??Ch~????GmL????`\Z?73?!?ʾ??˥??V??E??Z???\0\"ih?H3??DPPzQ????]?Xʹ?!?rң?G??G?????*??Ta???r)??JgMUY?F?f???\n\Zޣ??e?~o?N?F?	깁?o=??c???7T??6[Zo?A????????#?]???kK?ġ???8?0??{$ \'M???VV?[Y?:???i?%?g4???????J	?????n\ZY4?4_??r^?Z??,\06B?k?k5i ??S-\"?I??(_OP??r??2\"?E+??	\0-6??+(Mh????2?V????????\??sL>??????S.???[?D?0??@???1??:??.?H?0?\'?:?????i?|2???!7?a`\Z?\"??e?8Wv?W?w??Xz?-:?4L&????3h??<?6?X?-Za?9~??:??]??N???$?T?????z?6Jj?\"P\Z???/`\0?G??6??X????W?Ӏ???=??0?? ??ojկ???%??iLy??\G??GK???I???I|???E?? 1?qǤ?[?@??V???e??p?}G6J???Q???M$?l?c?I?f6?M#?ߠyQ?[?q,W??T?K^.??&? ?q|?Ab?@??Y?????X?w????iTz??T^\rye???՗<y^V?f&?57?Y4???ŗ1o??$i??\Z??$iP?xzQ???????:????0??t????Ը?n?<ʦq???ח????(O?Y?????Y<?\'??????g{?ۏ?O^{??|?l??z1>OvO??m?????dM?i?\0~????6;?<?ћ??}\r?St??p?*w<wz?b???\r?/yW???pl? ?=???t.g?6Yy?#\\fP*\Zz??[?|??????zO,?s??6z?\' E?\r???n?]ͣk?\Z????֌Bg@25?1u??[\0@%s?S5v/QbҼ??a??EI?KKR??aG\Z?fUx?i???g8i??h?G???S]?++G?????t??G?\n	)?u?\0????WDZV??^???f*??????Z???ӣ???G/B\'??4??#i??tYk4?\"?????\'??E?Eq۶AE?F??N?A????{?????k%b?b|?^?u?%O\Z?8]?W?\\??Hʴ?\Z??[W??n?3V??f@2??Ѭ?O?????z?a?I?4C????\nn|????X??F:??B??p?+\n4??fk??F?F#???tGi#??x<~???r/???i??l?S?`?s??7??ߎ???×??~?2O_>???t??\ZԮ?fi??p^???,?M????QU\r?:á???2?D͹w;???xH?z?\nA??#	.?8O?N????>?x??0{??c??T???\"??3-????t?n?w??'??o;?\'?gg??????H/οKg???D???p????8:???wh?4?ϲ@o(>\n?l???4??ʍ?h????~i????b?CR????/Q?ƿ\0K\r?+?B???/Lg???,0?d?.B??4?mXrSD????????rlt??TO?#T?a=?I??ʅ???ƀ	??SF?D%??	YK??~??3?Nd??f?׃?ÑN??\n?ۗ?\"K??S??io?n?k?t??g2???纫?:.?qW!tR??jO?"????'\")?JD-\Z???v۲(\Zy???#V!??,kY????S??Ֆ?ޮ?OE???V_?64??E?@?????O0?m??r?D\r?\",???`?S0?J?G&\'??L?????}????|\r%[2F}C+??\0?\'dc?d???	?\\?Q????KuWF?Acx?ؼbQe??c?0?p?\Z?Jk+?2E=O?(?R??????N??? y??=?;Foh?R)?[?????y??????\'?Pr<??Z???ȕv?=\n?U6???$G5???????h???Y\\???!??\\?z???Ѓ=?}Op???ֻF???/???????\???<u??\Z?~??2????^??sNR>?t6??h??\".h?3???=?9<=?uu?w?Q?XOn?i??0?|w????????\"??0?₪??+?a?F??????9r???* &?1K?^?j?(???Vb\ZeaX??hJ??\nw??9???1JwMA\"?x????\O?	??c????`?\"\Zrڋ?^:?q;?@޲??j韣????a?????_?X??%ɓ4?x$??,?K?#O??0??^&?r?E?????#OH?<*-??????l?C{??	??@?m\Z?jV>\'G?c???????Ϯ???zމM?$*??:??\'T????v??k?R4g!E(?ߝ@???Ifն???{ݺ??a????3??py4?O??0?Yxn????o??K{?SbS\Z????+a?-??0?`????|?E??ѩ$??R???q??0???r?Ί??dE>7\\?Z{:?????eX>?U????8)?4?_a?C?s?Ȃ??lkA?\c8;TO?W45??????4A?b=???A??!??tp???Ê9}7Ǎ??eq}?????s?ib5}ܘ?x?BV??t??̕??t?^?F	K?^#\r???4?"?p?^sQ?wL?\0?\0?*U???%.??YTǽ????/????j?%??9??l??\\R??\nz???c?????/C`?\0?8N}.?b?{7?[????c??20??\rޡ]??\Z?L??ŶU??Z<?d@??u?V??L?}pH?#?𒤳???Ú&??V?????????{????,?l?:)G?l?%??i<cx??{?=???\"??	?v?z?R??<?h?ě???h?U??}}??Q?eJ?Va???4\Z??? ѓ??{?>?t	y?k???G?˽?I\\apoo?	Q\'????/k??t-ޤY?B썔lg????,&ƞ6?sv?A???Ʊ*h??,??	???,=\Z?v??;\Z?6??^\"??[?D\0?YF[??_>??RD@>(xq@???j?w??\0??ZQ?WQV|L???MB????Z?F???s\n?S??N?QB?7?????????l??&?N??U?-]:?????q????wG??Z??M|??\"N~????/2<??0?yD?]_???%r8m??8???ϴKF????????7ŕ!፨F\Z??(x???,(\"kDa??錗.O	!??CM!??r????kQb`N촓??????\0????*?????XјŅ????a\"??6J,????[??b?A+????J??%??ԴL?Ir??????gEK>7?rl?c?C?Z?????P؏?B3??v?\"8???ч? ?}uL>???Ӄg?|????????????????????????(?I?\"?r????,/?W??????3??"d>]>1IR\0????????a<????g^???A???x??f??֗fG殄???]浫?AA?????Y/a?[????_???q4<T?<P ??\r\'?hn???"?C???8|Dy?z?????#?\n?w???,?e??}I????F??M??U??l#.K!??K?^?ԋ??>}?L???j(Wq?/#c?2???bxC?#?	???o??PDԓfbOE:?\"b???c?.f@뾌!U?ˈ??+9\n? L?N?%???z_%??ҁC?x|=GV?????$?~?E???*?J??c??????r:\r?ΈL???Z?q?En???D??ݒ????U?A3\"?}???????4J$z?????0?G`??]?f???t?R???4{?m\0	?c?"H?%7S?hm1????\0E?\Z?dBGٿ?j??2?ZZQ9F(??\??~?O];?p:B|Пg??\n???W+?e?R?m??j???Qba??Ha??N?ؖB???1?hn?Ls5??????f\rN?/Ȗ?9?v?qdf??\\????I?N?%8?????c?`?wEb\Z{DkF?n?f`??&????^?/\n?G?/%??3t?0q?ΡY?m?????n?0????`????<?Yl?\'?m?,~e?|?l??u%F?x]?v?????6?@g???];?m܇Y?2???`V?7A?Ƴ0??Ga?p?nB???\"?????:~y???\Z6??b>?IqH{??i(1!?B?????h?\0 ???O!oX?4?o?ֱ??????P\\???m?E??m???0??ɔ]???"&?U^?#??δ?y?4ѓkj^??r?Swk?ī9,?n??m?g????"??Tݚ??(??+5?-<??T?>\"?.??\"?,?^?[?􉁨??蠼?PMШ?????n?i?o?;???;ms??ˉ/??'?xd&?\'??xG????]??oe?f|k?O?{H?,?O?0m`??Ǵ]]?ء?pe?x??#:????#????????VWl?E?Gr??Dj???!i??????x?ϟ?uRyI?y?????)?????????$>?QT??x[$|???X??$???z?a???Pǡ\n**x??s$?pu?????K\0??n̥Q ?21??ya?$?/kI?⼐&??L?Uev1[?3\r???.?#?????3	??*?W??FՀa?@?,kXk???J??\r??؈???e??A?\n?:p????U0?pZ???[?F;????P?⎨?+vC???4}w\"???oΞ??Ϝ?O??]???\0?b\'y?Q/?????\n3k?fjڬ?~??3?\n&??v???U]ϩ????[͇ʀh???I??<?????<?W?=?<g??+<?K?rs?*??"?\r?洍?3?n???)Y?]<??Q05??-?ah?zYt?t??r8b??????$ExF}h^?~??@??+??/AԱ;J?B??.??\"Eb??/J?7\nϏ?\r٭V?/??Z???Ҝ{?????;??؅??yX\Z?z???\"??i`??m?ւ?=?.???t/??????81?Ω6{??v7?G??.??]N1+l??\Z$Z?b?IY;?7\\?????_??l?bd0??W<\"6?G#?<?տ/???vE??3z5?Zx\nO??!c|(`??d\ZL,??,??	C?	X??<??Z???\r?JQ ???g ??j????H>??>?eb?r_?ԂT`?~?L?EᏎV?P\Z??Z?\r??u?{??????f\n5W1?E4????\"?ed?(?i??\"?n?xM?9	)?0??????v??h?`?"lXu?R??Lvt???[t|?q??\"??1??d????w?M@h??Ah?䓨!z???[?\nP?\r??1???\G% ?D?.?j6?PS?.?_??˩\"?\r#)?>izJGEh?a????\0??rsmϕ?A?SU;???ʯ!?zh}Ɇ?G?v??o?f\n?Z???????֞E?\"???X:????]????????5??<?m?í/?K?0 8\n^??????N?Al??qçų8?S??$|?t?<?;ŚA??{ݗ????霞vw????n??M`?{OΓ?9.=h?jz[???ó??;????e??>?U\\?=???f`L0?}8\0??l?	\0??j?kc堟????U?x.?>^???0}؀S<??o`2 &?#|?????????N??g???c?t????x???|?????????<??????uMG?G??&IbtWO???V[Qk?O??؏h?ZK?ס*??]w?>i ???qR?G?k&ʧ??p?-ɪ/Du?AՉ????????\Z?u??٪??????b??=?}?{?5???K\'?h?T?IJ?b??`gp?Y??T?*K[?c??^???????I?ּ??;Zp.??Ax[sFL?1???????}Vn?????????V?˟{??ܵ4??5?5?Xon??/j ????7???_5P?>?$??D???xs\r?.??54d`?ל??H???ȳ??6??p<[?Ȧj???=z)?Z????h7j??Ȋ!)x??pu+\Z?z¥?\Z?#\Z?????+I[?䣣????E???~3K?{?z|??Nfi?N?*Z\Z???\\t?Q?No?2n???2Ę?y?_\\ɞq???mK?I?Zf?pN_A4???ػ?$?e?1LV??)????]EY?ݖ??;=l??g?ִ{?P??vc??s??rG?~???C?l??>?j~??f?D?m???P0JC^???0	a?Y=9?ﮬ?E3?:?C??????}??2Y7?H?H????8?;)`?\\??N??>??M/??\\Ӡ????\'???b+\Z?|w$??K?zYz\r?????ԁE?0??E?4???!K?H?qt%??n???P???#??:>?}?E?==*.R<?0\r?C??.????:$??Ń:?\n&1?Y$?7??..u?\Z?ۻ??!????Nc????.???	???\n??tN?y\'???;??Q?P???,ەEa?p?;?N?g?rL??R????G?f[(P??????Me!?\07? wO??\Z ?OFF2??{{??8?o?e\\.[???8I? ??2?u&E?5_???T?{%?5K\0)?+3էLD??Ljo?\n?AC?c?e\nQ?3g6?2L?(x???K?%(k?Zg#e???n?#?J\"????g6F??*ǰ?[k?????X\0?ɲE??4??~????(.?g?#?>???U<\r?4?a(???\"?!??wII??4\n/S?~v{h??F???(I:???yT??????H~9?d?4???J\r?]??????@?_r!/T@1LO?w?KHJv?cEF?!G??@B@?T??ou???s?	?#\nf(8?\"?j2fn??v髷:Y??Zy2?wET??>?g???2>??I?\0??vn ??n.d?????????n?2????XSK?d?|&??9W?zQMz??????????Ч-?G?!):??f??'ک-?!>??KO?_??N???\Z^?԰??*ֈ?je?0?????*J??祶؝??????>s??{?Z?ޫ\"?->=G??=^S???????f?,??Q???80|????>?}(?=???3ςI??xl????0?\\??+?ډ?\"?g?\" ??N?mJ!f8??I?1_??????GB4DX)??/;.,?0}?9?[!??M_?? ?u??????\Z?ǜ??????/E???-?H=+???-R???????????K%??CY\0?_\r?\Z?šB??????\r??o?0?_?,????XI?????I%>.??%|Ц\0 &?????0?Q?t???u????&????oAf}???O????}RD????\Z?\"\rx????7Q??7??A???f?/6S??????t??????)\\?p??o?{<a????????sU?H?????_Y`~??T???ޢěG?ry>Jx????$?????W??B\n?J]?&?:??$?H?ww?B??h,j\0d)?}??\n?_͂Ě?Q?ļ?ْ7?????D?u?]???eQ?Gp2T:b?>????L?ժ?Fvle?z???(C?Exw???m????@?7ud??.??P?u??? ?˹??0[??y?????RU??XI??q?G??Z;T}o??????|?.5?܈g??p\'??iw?e̻?5????%??~w?qB??\ZG?h?Flq?i?o???t??:?????,?t`??o:{??g{???????(?RP?S??&TC|㾪?)?jo???M?g?\'???M4?T`?į?????m???????+2d???l#S(?G!??|?(?aH?k??;6f_uL?>M???e?#dM?????*K7(@????{!?\"i???M????.??\Zĕ^Ñ\Z???K٠?\0xyϪRD??2`?UN!????_X????O?$?????I??a^U??j~E᷻?k??w;??o\Z?9nj?\0\'????u???N?`$?)d?r~?!??sc??),vi?\n6?@??Z??)7?x;?+L?ڝ?C??~\r?Fo2?[AJ ?<*??U??????F???g??R8??N`>?y???r=S???0?(1cQ	???b?lK??i??+??-Å??0d)??b+?6?%?1??*??%F??8?0?a?\b敘P?ۘ%<??s\Z?e???F???k?f0?;??_h<e0M?ftCym??؊??\'\0?,????)X?Fw??ܕ?\0g??_ͅ^?\\????œ?6?A?ȩb??\nn???T???9o3c޴	R?(^^?????f\\?:?~?Zg????3. ?T?!??]?p$pp?B6?-w???????:wwm?85Z???F???g	?????\"?/E?+X\n_??d]??\0???????@maH????F?7?үJ\":?gQ??n???=??1??`,j?o5˦????n????ݝ???Y??????LQ&$??n??????????????ƙpri????	`?kU;}?\n?]?\n??|??64 ?&D??NF:?7V?=m?J???M???\0?Kfн3aE?T??)[?e???$??ٌ?BJ+????;ɴ?{??K?????O?Z????ūR???Nf???\"?M????Y?TR?\\?<=RU???@?j??Z-a?!??P??,46??T\".=iY׷s????\0Y?ؚbN?j???Cp?Os???c?G?????n?4?0~S}?????????????G???2&v_@`_^M+?&???Р??????|??^???u??uY?2A??y?ٸ????~?$??]?5<?,\Z?h??c Q2:?????#e???Ą?#????R\n=1G???٣Cz8RIü:?????0?:??#?j)?{????}Z???Q?????6hܰ?Rw:?Y???E?E??r??@??X?:A1UP???\'??U??????k??F?{X?c}5?Z?z??t??i?????&1?qϲ\'>?;????????j???USZ?q??O??K8?????????Eb??2b?,^??.A\r??9r@\0l??JkQEg?@x?$?U^?????v?6K???%??8\n\'H\n_>???G?W?qm?<J?wg9Q??Z*hyu??J?\'#\n月??\"ɍ?1`???Ŭd?rvL??cg9???\"?G}?mo??FB{??K??;!ܹj4?sV?|fő??U?^\n??\"/?1?]?0h???	pSNۦ??f@??#?w????ĶӒN?%?\"&G?v(M???<]_1&{5P???\\?	?,??rnmU???-?[?%?Iq??mZ???F?F\"K??J_???F?V?????a?>?㨗/?"?:\".?j??&E?q??AJ`???a??|[??ͷ???>??j????/ѯt??ܟ$X??ς??N??~3g?7N?(??uw??	??\ZZl[\\!,?@?kr??????\?+??U?M;	TУOp???Du?m???"?o?~e?)?3u??????0^????O?o>?=?֝?_ۦ??? ?KsJ7t\'??-?&?b??)?????@?LOZ^n??????I???l?/L??8+?Y??:ЊX???{????(???o|c:-????4???-?????P???????i5???P?%=YlK??V???C??!???IN?????%?(?*??}???>???E??Z???\Zt2??:?&ɦq??s7???\0?F???,?Ǔ??烃??`r??Ϣo?F/?>???e???????/\ZOvO??[[?j?_???鷣????O?}???Q?b???P?s??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d20e4cbfc82c205350decbdf1b3407e7','e?͒?8??S:%Yg??y?????T#5?AH?$L?????fpqS?????5????틹xi?{q??a?h4 ?cUr`܄CI\'Y?60*?Ȧ1Zݢ??j\r?????????h??W????C?U? me???6^6??F?\r?xEP ???????G>?睒???-֋?Y\r*??\0b\Z?\rh~s??c9??\0;ת%?H?Խ6??2tR`?"*??ZE???zmM?s]?b??QW?{??0??ty/v????/hÁwx?}?J)????Zx???ǡF??۹d????ڥb+?C?5R??D??\\??l?pTr?d??????87Qѕ5?fd?l???uf??j??????????ro??T0Ƚ?b?+???d?־?T@??G.?????\"9T?\r?:!?Q?ap??????Ý???kwܐ?Ћ??G^??Ur??I|?aTw???`??4?{?BW?`%???L?nG\Zƻ<w??KX?? eU?H?#?9??#?;R??#?I?=???N?q???????????ྷÊ?w?,???e?g??g?x?8????????Մ?\r??6<??%?EY?Oi??0Y?h????=????#?eqc??p???ۗ??{?UϤ???L?W????.3??_?\Z?h?4??޾????,??^f<K????xJ\n,??|{bo?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d238b6699af8c1e03184a8330981a297','e?K??0??+2>??͆?????zܙax1vj?д?^??7?녰y???9?o??	?????ޡV؁???-?R:???\nz?QUZ????Bål??F??82pN<Ԫ,$???w=?܇?????q]???:??	jh? ?,?????=?o??n?????qgF??????P?߬?GA?!????????2?????(1d?tg?$??)\nJ?0?ű.??ԕÖ}???5A%????!?Js?r???T))T;?Z\0o恵?+??P?X??\?%??;r?B???n?DO[fx	7?M?Q?N?щ?v??ځ2??H?@f????]??R???}?ŧ0vړ1h?Ja߹?q??VP?ٕƏzC???*??cT?!??.???$Y??\r?:!?Aap?>?O??$??L?H???ķ????G{O?????|??p??\r\rrn???????IPuO??W?˝?D,?@?9?H?\"?9??E?IW$[?h?F먣u?:?x4G??????_??+??X\ZC???)M?*??OE?????:5?d?+Ӳ???ñHy?f?\\%U???LoK\r4??w@/?!????-[Dx????&???|CZ?????ah?5?9}]???9??WBҎ?&i?=????8-?,?*??(=B\Z?,??%?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d27015a545c245544ebec581a0395ee4','e?͒?0??????	aߡ?wfG^???4??Ȓ?}?d?!l????uî?hv??vg????+?H???q??Jp?Vb?t???*???B!???}]?ua)?\'jU?K?ۻ?E?by?keDݸ???T?P??4xE?P?f}?d{\nk??\0?7RX7]x??Uy??3?@??@Hc|??Vԣ?\r?Y?`??I???UzPT?F??\n^??3Z???^?X?X???e??<?:pMP	.???C????x???+UJ\n?ī???\n4\rB)T=??58hU	3U쎜???~?Ի(??/??\'??d??????X;P?????f??Џ?6z??JT?!???>??Ӟ?A?U\n?Ν拳?!@/???ͮ4~??]_????r\r??w????\'\'ɢW?j?QB???~?e? q?f?r??A|[AM??y??}??T?~\r?\'??Q]??\nW??N? ???^??]o?U?4??<v??ݳܙ?A?\n?]?xE+??H?\"?9?H?\"???k??:Z????Gs????΋?E0??b~???a?4ާx???vL??(????ԩ??s????ȋ?H?<;<:???\n?????#???~??B?h??۲E?wJ??^?mٴx??Um????Yc????{Z??y%$??f??????O?(?4Iy??i?`?<?"??b????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d51dd58b2699ab14fe1f9dd61be8f998','e?ɒ?0@?S:eq&xe?!?S??\rBr$a??	????F*z<l+?r/}\0??Q;^??8??j?!¥?O?E ??Xo\"A??r???ԁq?\r?r?\ZB???h?$?F-ڻ^\0??"}????n?׺?U???m=\\?&?_??rd??0k????h?q?H?#Xy??3o?I??????bV܂?G?y9???kU?_@e?ֺ?b\Z-!g??ta???\'Rc?:????.?K??ؕbC??y?t,6Y%????n,9??&\Z??^?RF?\"I?3?S?}?7????X??\?????Ew????a??\r????????<t??_Xf?]y7?j?f?O]?^??r??+?	????0v:?1萻?a?tbqv&??c???{?r?l<Й1?ؠ???|r?}??Y???,?????w????L???+$????#??G?D???p\Z?|??|չ?\r\rfnR??y????b??{???-lI}J1?X?rEv+?_?ÊW?"???ZGM???8?#???u^?-?yo??????????˽*????ᨸ8????MP?qyT???ɝ??9\ZSZ?2?m?	????p???"?EOO_?=??­zF?Z????~qP???r=???Ji?;????T?J?/?????????????O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d5b31442ab87390569ea0cabb5b3cedb','e?͒?8??S:%Yg??r??R-?\rBr$a???%?????w?_?V?~|<?{	?Z??|?Ä?\Z?iϪlǄ??3?$d?Xà#??\Z}KvRy?9??~h\Z?!?*?Cx?5?k???vE?Ū?ao?SMV??U?????A??nc?tw?5EO|? Z?|????F?????Ҙ.????Wʹ?N`R6???V\r?2f??\r??US????x&\r??Թ?NuQ}Ԫ??????tA?M&)??bpLno0V?hqY[s?Jie??DS???n???k?2???\?M??\?;\n??$?\Z?w(?ǜ?p#?\\j?r*?a?1??)???L??\\????o?)I4????1??ӑL?}?ɾ??mu???b?+????a?T@?\'U????.??t????Z$sB?\'??!}?hݱh????đ?jW?Hl+?9?#??G?H?\Z??p?r|??t??\r?ziR??????i0?ø짮~????䬪A??H?!?\r)7??\r9o???mU??Vw??/?~~{[????O̿????????(???,@8Cq(?u?????Z\\?R ????e^?'	?cQ??R???.?????????\nD?,ol?\n?<=}????o?Y5??=釱?j??Y?ez6???Zizc+?Iz޾???ɒ??~>?????	??@ɟ?|{bo?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d627116191a0303ffd4cff577523738f','e?͒?8??]>?fz?@H????jJ??;k?0٭}??\r?Iq?>K???J?R?az?s??????q>???T?UɁqg:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r~{?q?V?\n?????P?ߝlg?X?1?q?εj??2u?ͤ????\nA???F?ㅴ?^[?\\9?X?ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P?ŁY.??e8*9H2*?????(????T32s6t%?t?3QJ5?e??kHa? s?v??po??T0Ƚ?b????d?־?T@??G.]Cg?Er??r?\ZDuB?ˣ?!~??h۱(???????kwܐ?Ћ??g^?Ur??|?Tw???`n?4??I??7??O??@?#\r????Vy;?'HYՀr??qG?)v?厜w?i?G????>?x?F?????a?{;???????LJ~,OgQ@?!Ң???\0Ox????S???&ǒ??̛OEr??_ʢ&??0????;????rD?,??6>(9xy???5??+i?Ҹ_?S??????ˌ?6痪F*ڱ???o??q?4=???crl\Z??ʲȎ?ܼ~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d7b7212e2fcd8f771371d2f19fc89925','e?͒? ??)N???c?q?O{??)?F??q?[???fLy????DW&?i_?n??\\?4??/	c\r?ʑr?%̄E?+N=??p?W? ?B?nюKG+?{?58p???	?^)?$k?X?E?ao??u???):???fh?nTQ???=U텢?1z???Q??8????????*??\0b\Z??jvs?7?????v?U?q?I?[m?eh$??E4???<?\ZU`?-?u?]??`W????^???r.v8???h?k`^}?)?ۉӊ?????nl?K]?%?`?Fi??ݑ7?(????(&z????o?Jv??????B?0?ʚMSts@m??O?5f??8hF?!?.!??Ӂ??]?ʾso?mT????+?????|c??F??|?!??g?i??L5?戰????,?	~?e??`?fFr??AB[??b==?x?????\Z~N?????S?:s???A?\n]?R+i???K??????p{Rz?\'HH)?r???E?9??E?)V?"??֪????;YOf????????n?\'??2???UV???b\'8??S\n??????F?N???F?;?ŏE*Niƀg?????e(?????????%?w???^?m??i?nЪ?ƽw??????į??l?7?B*|cK?I|ޞ?\\??<??I!?\"?????+?????^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d855d9c481a00c2c6d099ccd266a9d69','e?͒?8??S:e??0??y?????T#5?AH^I?x??ݷ%?????w?W??sR?az?s??????q>???T?UɁq?xd??<# ??u?vB:?Ut????D(?\'?$@?E???????ҧ?????j?3Hml4??7B?r){P?H?=?<?~9?=j?x0?A?ԟ@Lc???N??X?Q?`??ɘ?????N\n?YD?????FQ????R??????V?u%;?????.?Đk?É?f??A??m????Lk?#u=5?AH?%?R?NF7?{ o?Q?#??J?`????,?$9??????(?ʚ?L3rs6t%?t?3QJ5?e??kHa? ?h?J???Y?}/??F????k?*?Q?*???Y?r?T?\r?9!?qep???O?????ε;nHh+??3??w??*9??>??;?<E?0??????X	???S?ۑ?q?]??Vy;?'HYՀr??qG?9?yG.;R??#i?G{?^v?ם???x_n???O???.%?LOI?eV????EV6G<?ϟ???ե<?i?ϋ\"m??K\"??c\\????#????????;;????\0//߿???{?JV?4?@?a?lU???????????f???o??Q?N?$?)$	?Y$eɹ?g(Ź|??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:d990a89a1028137066294c7abe6d8e9c','e?K??0??+v|??Ha?CO=v?#l?;?Mh??l K???Y??B?*=I??ph_?K?݋C?????????J:	?*&?????V??\'??ZEõ솦A?B!=?\'\Z-jŕ?]?a?*}????i?JW/Ͻ?F??xEP ?]??????G>?筒???-?wf5????iL?A?$?F6?ةV\r?ERf??5???cQ!H?(r<?????k:??"???C]??p??@??*?R??q?n_Іoq9}?J)????ZxwO]}??ER7S?Ts???i??7?ү?zW%z?????J???de???΍?Ate???9??3?r?)%????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?j?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N??$??????G?@???p?r|??x՛?\r?jiR???????)?@ø?W???U??RV?A??$ߐ??6?ؐ㆔rڐ4٢m?6?w?\r<]\"???uY?,?eo???????.?\"G!JHOY??YQ\'?/?????-&eq????y?>Or??B`??@L淕\Z??w@??!?Y???\"?Sr?????ުg??q?{?????E_?hmN/Ug?h?4??޾??j_????i??i~L?\";?j,D?\'???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:da0653b79fc261de0a491b1a46be4d4a','e?Ks?0????p?I?CO=f&?H(ɕ??????????j_,>?:gm??t??5????Ѣ5؂Ҟ?6?t???b	???*Kk????.???Ї?P?@?I??B?Ds?(bX,??5NUu??ZT?c]R?A?\rR??)?(??{?Qk?x\r~4?qc΀??߁??P	F\\???:?)??m?\r????2?clo?????H\nQ:CpV???^8?P?X??f?:Oy?ꤒ\\NŎ7???c?\Z??5??V?IT-@4?????L5??5W?S*7V솂=??~uԻ(??9!???xԪUd?#+?-F???+g{Rݐ?Gp?+ICW??=?$?? ???=??NG2?W)?V?V?\0??*6??QoH]jG?z?*???.v??%?Z]p?AR\'D=p\"	)??'?????{?HɡvٌĶ?}=??o?V?~N??????S??Z{??^OM?]??S???^1\r??\'y??fyp~????͂d?]?݂???9-_/?j??/?????????qL{;????`?\'?c????e???n{?r????NM&??=?|sʊlS?d??W??(x4?hğ}??=<???#?eye+6????˷Ǵg?揤U)?[???b???e;Z??y?4??f??ӇϷ???~??S)6{.q\r????[???/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:da7560d7ab6366a1a12d4a8246324a47','e?͒?8??]>?fz?!M?Ü?8US?-?????	??w_??7????*?5??ѣ{?????×?Z?(?}<0a?L\'	Y?60????Fߒ?T?N?[ُm?>$?R2N\"?Fr-??]ϣ?a?:{??q??F???A?:?\"h??`L9??@a?? ?N+??h?????;stL??4?Z0?U;?L???0n?UK~???zc\'Ce??ER?????/??((u??s]?cU?PW??=??0@?r?;??R??? :\\?\\?RZ?~!Q?????q?:?L;??5W8Y??T쎂?????w(?sBl?x?Pd?V???D$W?????Gp?+I??+??R?h,C?8\\b\ns?#???????+6g?S?Q??]i??7$???????\n??wa???\'ɣVW\\j??Q?HB\nC8??~?m??q?VGr??Cb[?,??9?????ո??????????^?oh??bW???L?iG\Z?????Y܈? cu?H?#?)v?G??v?o;??hu?;???????}]?.?uo?????\n?'??????9?ˢj?????????|G(O?GoR?MVV%f?ςG??m?F?????9?Y?7v`??<=}??????????Ze???⇩?f??U?eGZ??u?4??f???_????nxy*K???OyE????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:db070a211de11b146a73ac0853101f26','e?͒?0??;>?\'?	$aߡ?;??\0/?m?v??rd?C?%Y?L?ER?~|?s?h?????h?*?dǸ	\'???L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX?????? ??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕl?GyL?ۨ].?\'\Zǘ?m8??o??T)%u7??Z??롯жB?*مj.q4??v??ys?!?\Z?wP???Y.????d/?\'+?=?pn??+kFR??????ёk?)	????!??ӁLA??\n?ν??b?A??]i??7$???\Z5E?ry?:KWΒC%?8???X?????u??pz	#9??\"???g_O??2???䰅??èn?ţ?\?4??I??W????S????q???~s	+?????A??d?!?\r??ؐ㆜6?i?Eۨ??6?x?D?????}X?+??ع8?ԧӹ???yV???~??S?	?s????8???N??\"??+4???^?C?Ͳ??[Ex?????g?;??Ϥ?????????^?hmN7??T?cK?IZo_?\y(E??T`?V顀?xr?i????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:dba4c01d733c853806ca676bf35a7179','e?K??0??+v|???????[?c??	M;??rd??>K?^W?y???_???\?4ڽ8??2?4\Z{?ʱ2?n?L\'Y??(?Ⱥ6Zݢ??*\rײ???????h??W?ww=?<???6???+]m??{???j+h???!e??\0?5y?|?%??/??o?Z??jP!?Ә?A?$?F6?ةV\r?ERf??5???cQ!H?(r<?????k:??"???C]?????|U?˥?F?3ܾ?\r?r6?J?RRw3	?????\nm? ?n??]??G?ki??7?ү?zW%z???6G%{IF\'????????f$??9???t?3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?ߐÆ7?ن?rސbC???Q?۰??6?????eq????V?i3????YRTU???}z?!?$?????O??`s???\??????H?????_x&??0????;???rD?,nl??9xz????o?i5Ҹ?=?c??󳤯??6???*ڱ%???/o?<???#OR??|:???C?gU}8A?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:dbabf6c0aa0417c1caeaccfc51c5ec1e','e?͒?0??;>?\'?I aߡ?;??\0/?m?v??rd??>K???L?<)Y??틹xi?{q??e??h4? ?ce?c܄ÉN<??	?aP??um??E=!T*\Z?e74\r:\n???8	?Q)?$?zy?????M???Y?R??A?vC?Tw\nk????J:?_????_ܙՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?.??&\rEA?W?8??!V??????(??|U?˥?F?3ܾ?\r?r6?J?RRw3	?????\nm? ?n??]??G?ki??7?ү?zW%z????G%{IFG????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ7$ߐbCNrސ4٢m?6?w?\r<]\"???uY?,?eo??????????????*????????-&??Y^E??b?*?z?????&??0????;???rD?,nl??9xz????o?i5Ҹ?=?c??󳤯??6???*ڱ%???/o?<??????҂?8??1??>????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:dc4c8e5ff6bacc40c642f6c21e35288f','e?͒?8??S:%Yg??y?????T#Z?AH?$L?????xpqS??????Tl?^F???\?4ڽ8??0?4\Z?ʱ*90n¡?SY?Z0*?H!?V??????[ٍm???????htS+?$?zy?U???m???)???jh񊠠i???=???=?<?~??=?~qgV?\n??????\0?N??`,??`???I??????N6??\nA???F?ㅴ?^[?\\9?X?ԕぽ????wQ%?\\?n4N1????g??T)%u???Z???????\\??\???v??ys?!?\Z?w5P???Y??l?pTr?d??????87Qѕ5??!????+י?RjPsX? ??q???2?W)???o??0??*6??QoH?c?K4j???ޅ1t??\\$?J^q?AT\'D=?<\n1n?'???[??{XIɹvن???^|==?x?h???~L?????S?s]??I?M\n]?????>0?iWy?w????@???G?9??#?)v?ܑ?I?=???N?q????????"X?vX1?Λ???\?/?$\'L?S??I????????N?&u?Av?L???S?%&?Ȓ<?0Y?h????=????#???lᝒ???o_???V=?V+??9P?0?_\r??+???ks~?Rю?h&i?}}wթj????q???	?????)f??,??oO?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:dd131ce89164993e41842792368222de','e???0????N?q????cf2?????\\I????{W<ܴ?vW???$?l?rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+?????d?????$?=YY?x??se]Y3?jJf???D???\\cJI??\rA@}w)??d??R??r_?????Tlv??????\nh??o??}?=9I?????N?z`yb?"??-;6??0?0?c?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??n?no{?	+*PnA??d?\"?9?H?\"?9?H?]?u?:?w?<?#????u^?,?yo??????܋}?/+(w?/??0U?d??76uj6? ????\T<??v??$??Lo+4???^?C?Ͳ??\r[Dx????c??-^?GҪ?q??C?d?~/?2=??????vlA3I???B?$K8O?w:e?K??4????????/??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:dd3fa07b54f6d5001afe5f7fd599ed80','e?͒?8??S:%Yg?`l?r??R??\rBr$a???%?????Sw??h|??Ǭb??2xt/??5????ޣ5؃ҞUَq\':	?&P #???Fߒ?Pj?ײ?}H?\nd?Dh??5׊ww=?<?Ū?A?Ʃ?\r+]c???2??txE??[??r\0???\'>B?>??w@#?w??HiLI0??3	?L?\r}n?UC~???:cGCeh???ER?????Ϥ?((?????>ƪ????????M*?R?cpLn_0?oq9[s?Jie??D?ZxwO?}??E?S?Ts??5R??bw?????@?;渀ٖ??Ȩ +?=F????+gGRݓ?Gp?+IOW??#?$??? ??????NG2?W)?????\0??*6??QoHCZG?z?*??ޅ!v???%?Z]q?AR\'D=p<	)??'??????{XHɩv??m3?zz?r??R??-???Gu?(]??:C?^??z? }?t?c\ZL3?.??>cUp~??U?_???6?C?\r9nH?!?\r9oH?m??v??;??/??????,?????w??8??Ǻ?~,??z,?R??Ϗl?b\"???,x?(y??N?g?h2??-Ј??@?zx?!G4??lᝒ???o_?Ӟy?V=?V?????0v_-6?+???ksz??Jӎ?h&i?}}??%?BV??<?\"?1,d)Eq>?8e??=???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:dd96066d2b7f9c6b6e7840a945a82068','e?͒?8??]>?fz?H????jJ??;k?0٭}??\r?Iq?>K???J?"????훹zi?{s???@*Ǫ??	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??,p\'??$?eq??\n??Ate???9??3?r??(%???}???0w:?9h?Ja??7|s6*?R?ٍƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap???O?????ε;nHh+??3??w??*9??>??;?<E?0??????X	???S?ۑ?q??p	?????j@?\r?????ؑrG?rّ4٣}?>?w?<]#???uq??ֽV??`?5?KV??6???????y?????'[:???P???C~?̏???)3?dy[?s?~??B?h?ŝ??%//߿????%?V\Z?k??a?lU?????R?E;???????U?J?K???????<???r8gIq~??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ddebe7b6fba7642061357ff82ac6994a','e?͒?0??;>?\'?	!aߡ?;??\0/?m?v??rd?C?%Y?L?cR?~|?s?h?????h?*?dǸ	\'???L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX?????? ??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕl?GyL?ۨ].?\'\Zǘ?m8??o??T)%u7??Z??롯жB?*مj.q4??v??ys?!?\Z?wP???Y.??E?T??d??????87Rѕ5#?fd?l????f??j????????]??}???Q1? w??ͮ4~???P????????wa??+gɡ?W?k?Q,?B?[????c3P8??????j?_??г??G^??Ur??I|?aT7???o??\Z???+X	???)?@ø?W??????RV֠܊d?ߐÆ?rܐbCNrސ4٢m?6?w?\r<]\"???uY?,?eo????ܧy??҃Ha??????0?\0????;???I?e?}?T???ٝ?$I?TI0??h????]????#?eqc;????????wx+?I????~?/??%?.3??n*k?hǖ4??޾???R^ձ??8?????|??_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:de2e75f1a33a86df58dc7bb7c0663c0c','e?͒?8??S:%Yg1?9?U?Fj@??I?xSy?m	??????4?N?R?q~??s???????A*???	??N<??	laR??mk??F=!4*\Zne7u:\n???8	???$?y???l??]???َR??A?vC??\nk????J:?^????_ܙՠB? ??<Ԃ?\'?E0?c?l\ZG?K?:?&=h3k*C/??B???Q?%EA?7????!V?u%;????#?>?D??b??s???6x???????zXIPm???46h{!u???5?8??V쎼9ǐ~MԻ(??,p%??%deq????Ate???9??3?r??)%????O???t:?%h?Ja߹7|s6*?R?مƏzC??\Z?*?QKT?\'??.L???*9T?\r?:!?Q?ap?????\n.????\\j?oHh+??#o?w???*9??>??;?8E?4???խI????O??@w\r?^?????v?????$ۑ|G?;R?iG??v?G???Q?????>???oo???"???b?]6????׶iN?J?*I?\"K??Hʼ??񃭝????6?*=Vyz	??k??Q?eLַ?\Z??w@o?!?Y\\فm\"?Sr?????^???q?G?????M_??hm./խT?ck?IZo_?}?fXm\ny??E%x?%ON??\'??˷\'???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:de316807b83f221d3543e550dcd58a16','e?͒?0??;>?\'?aߡ?;??\0/?m?v??rd??>K???L??d??28?/???š??ޣ??T????\n:	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c???m?J???2????????f$Ք??\r]??)]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??V$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??=+??$??A?I7??r????rސd?Eۨ?m?6?x?D?????}X?+??XQ?c?@z,?<?z??<K???????-&?c?ꄜ?????(DZW??!?L淕\Z??w@??!?Y???\"?Sr??????g??q?{?????I_?hmN/??T?cK?IZo_?\y,?S?ϫ??i\"??Y?\\d$??_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e18ceaf6dfadaae4b6119c40c064bf84','e?Ks?0????p?L?CO=f&?H(ɕ??????????j_,>??gm??t??5????Ѣ5؂Ҟ?62:I?&??NF@??5?????8?}WU?B(U ?p?Bkd??V???1,???Z??:??\r?l??.?͠??)?Ɣ??=????????\Zy??1g@??Jcx?#?^U?`??Y׶?ZU?I?u?1?7T?ZILY$?(?!8??H*??R/?mp??jc??ue?b??<?ZuRI.?b??}????D???UJ+ӌ$? ?[?t5?T?\ZJv??+??+vC??SH?:???Ŝ?p%?<j?2ړ????3x?ɕ?=?n?#?ؕ???+_۞R?h?C?מc\nC?#??????+fg?S?Qn?]h??7$????Z=Djry?;KO??G?.8???8???p??D??=L$??????}=??o?V?~N??????S??Z{??^OM?]??S???^1\r??\'y??fyp~????͂ld? ?9,?A?9-_/?j??/?????????qL{;????`\\X????O2;I???q?Qf??ة??Sd[?t:?{^l3q?F?.??ok4?>????C?Ͳ???Ex????c??\r^?Ҫ????}??z??????T?vlN3I???y&ʃ,A?p~??XvE????<??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e1d5c8deb10c0755811bcf6cbc094f03','e?͒?0??????!aߡ?wfG^???4??Ȓ?}?d?!lg?gݰ????8???t_?2??n;Ҳ<????????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺲߲????&??s????d?~Ai????Օ*%?j\'??=u????Kv??????*vGN_BH?z??h?e??p#????de?C???Ape??{2??%??6z??JT?!???>??Ӟ?A?U\n?Ν拳?!@/???ͮ4~??]_????r\r??w????\'\'ɢW?j?QB???~?e? q?f?r??A|[AM??y??}??T?~\r?\'??Q]??\nW??N? ???^??]o?U?4??<v???X??? fy??E+??H?\"???"???5ZG?Î?????___??\"???_1???Nq?S?@Rb)??CqN?\"?????:5?ćC?JSL?(9b??a_????(????#???~??B?h??۲E?wJ??^?mٴx??Um????Yc????{Z??y%$??f??????'\Z??????R????9????{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e2199af88001c6b1b0b7d6a866d99dfb','e?K??0??s?)??&?m??;d?e?R?Ԁ!9?0qR?{Z3????[??LOyR?~|?s?h?????h?*?dǸ	??V<??	?aP??um??E;!T*:??nh\Zt>\"ғ??ѢR\\I?vy???o??M???Y?R??A?vC?Tw?5E?|?%?????Z,?\ZTH????j??3m???\r}v?UCq??٠;mFMeh???E4?xk?IC*(?ʚ???h??+َ?\r???????;?hc????[????R???L?i?[R?_?m??T??\?t-?\?ys??~\rԻ\n(??Y.????T???$/?=??pn?b(kF2????h?ёk?)	????!??ӁL?]???7|?6*\n?NR?ٕƏzC{?T??T@?&U???K???r?T?\r?9!?qep???w??N?????j?_?????G^??Ur??I|?aT7???o??4?{?BW?`%???wL?n\Z?~?7?????\Z?[?lC?rؐ?rڐbC??&[?U?ne?[?VxzW???????????>?,/0ߋ8?????}??S^????`s??????E\"҃?O?fiv<?~????2@#?????????۱?R?????????&?F\Z??\'?0v_6?K????tSYKEolI3I??7WJRv>C]I????:??<糨??_??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e246c300ea68ae9a6ff4c7d9e919a581','e?K??0??+v|???????[?c??	M;??rd??>K?^W?y???_???\?4ڽ8??2?4\Z{?ʱ2?n?L\'Y??(?Ⱥ6Zݢ??*\rײ???????h??W?ww=?<???6???+]m??{???j+h???!e??\0?5y?|?%??/??o?Z??jP!?Ә?A?$?F6?ةV\r?ERf??5???cQ!H?(r<?????k:??"???C]?????|U?˥?F?3ܾ?\r?r6?J?RRw3	?????\nm? ?n??]??G?ki??7?ү?zW%z???6G%{IF\'????????f$??9???t?3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?ߐÆ7?ن?rސbC???Q?۰??6?????eq????V?i3?\"=$???&U~??ϱ:b&?C???6wj1?xZ(2H?NyQ(NI??x>??me?F?????9?Y7?c??<=}???????Zi??⇱?b??Y?eZ??e-??f???7WK?3~H??X@V???????}?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e252e6840da61ff8256cfaf03fa9eb60','e???0????N?qS??z?3?E?@AH?$L?߽+n????cqeZ???ph??K?ݓC??????+???t??#+Y??)??\Z?j??-??i????????\0??+ŕ?M?a?2?????i?JW/E/??Qm-^Ե]???՝??G>?筒???]?n?P!?;Ә???f??#?????\")?Awڌ???ZcQ!Hg?(r<?????k:??"???C]?????|U?˥?F?3ܾ?\r?r6?B?RRw3	?????\nm?PK?%;S??Fi??7?ү?zW%??5\\ɶG%{IFYY?x??s#e]Y3???\r]??{?r?)?\Z5?yz?sHa? S?v?¾qo??T0ȝ?b????d?T??T@???|K.o]Bg?Yr???ZDuB?ˣ?!~?hݱ(???????jwX??г??{^??Ur??I??T7???o.?4??I????O??@7\r?"O]??Vz;?HY)@???C?7$ې|C?\r9n?C???Q?۰??6??????eq????V?i3?\"+?& )??????EZ?C???+?;?? ???ϓN?<9??8y\n?(???2@#??????????c?o?<<|????????\Zi?O??3ؼ??????)??[?????????sRC?\nq?9 ???Vy??{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e35ba8305c67b9cf7f53e4e7da2eba63','e???0?y\n?N?p?z?3?E,? $W?n????7???6?d?gݰ????8???t_?2??n;Ҳ|?e\\?ŉV%8d9+??^:F@T?V??a???q??}]?ua)9?? jU?K???"??X~x?eDݸ???T?P??4xE?P?f}?d{?5F|\0?)???????ffH??i?U??͊z??(?????"?^?J???C?????x\"5????[?":?U???D[????????l?p?oP?o????B???N]?]??A(??ǒ]???*a????????@?&[fx	7??R?N?SB^;?/`??PFd\Z??E0?+?>?#??R*Qq?????????{2????${??Z??[A?W\Z??r?_???U??B??g?igQ?+N5愨??M??\rB??Ѳc?8~w?r?]? ????XO???>?{*E????????????N_?oh??&??^??o?U?4????v?gz??W ?+??E?IW$[?ӊ?W????Z?a???~?+??????p;??m??_V??:?	?9)?=c???\'<??ol???>=e<?u????$????R???????Y.ol?\ngJ??^?m??i?Ȫھw???Yc????{z6Ǜ?Hzcs?Izޞ?l~?N\n8???Yq?F:?	?ƛo/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e4e863e3e1bf8eb840667a588a018815','e???0????N?q?c?=????"P?+	S?????????j?Xl??`??<X4???٢??ޣV؃??юq?9?*p?nVa\r?t???k????)???CӠua%?;\'jU??K????E?bE|\'keDӺ???ԽP??4xA?PUf}?dw\nk????RX7_x??Uu??1?@??@Hcz?ůV4??\r???`?Z5?I?\r?SzTT?VT?\n^:?3Z???^\Z?T?X???c??<?zpmP	.?b??c????x???UJ\n?ī???[??4-B%T3??58jU3W솜>??~\rԻ(?????G??d??????3X;R????&df?????z??*T??c?>??ӞLA?U\n?Ɲ櫳?!@/w???4~????????r-??ua?'gɢ?k?QB???~?u? q??r??E|[A;??????T?a?\'??Q??)\nW?????&??^??]??4??<u???X??? fE\rҮH?!?\r9lH?!ن7$ߐӆ?m???a??????????v~,{ۯ???`???\'??\0f?OutLOQ?Ye??ܩ?\0?4+???:?e9???\'??~[j???~??B?h??+۱U?7J^?=?=??$?Fh???0vO\Z????.=??^*j!i?4??ޞ>lq(?y????c??,;B???????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e61124846e4c75c924fa672d39148b8b','e?͒?8??S:%Ygb0?y?????T#5?AH?$L?????xpqS?????\"?Vl?^F???\?4ڽ8??0?4\Z?ʱ?`܄CI\'Y?60*?Ȧ1Zݢ??j\r?????????h??W??w=?<?Ū?6???]m?l???jh???!e??\0?5{?|?%?_.??o?Z??jP!?Әj@?,?F6عV-?ERf?4???cQ!H?(r??????kz??"???????????|U?˵?F?3ܿ?\r?z6?J?RR?	?5????\Zm? ?n???\'?i??ݑ7?ү?zW%z>0???G%IFg??8`?????f\"Ք??\r]??)]????@?????R?;???]????9r/??J??!ُ??Ш9*ߑ??Yzr?*yťQ??????E????l\n?a%a$??6$??????G?@???p?|??x5??\rMjmR???????)?Hø?W??#???$?j@?\rIw?َ?w$ߑbG?yݑ????}?>?x?F???ۺ?}X?+?y3??8«8???????Y\'y?eV???????D:y?&\"????<?)???L???\Z??w@o?!?Y??m\"?Sr?????ުg??q???????gE_?im?U?T?c+?IZo_??U?\'I??Y?/?5?ZȋT?^?????˷\'???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e633d6479847400d34dd732dcd7585f6','e?K??0??s?)??&`???;d?e?R?Ԁ!9?0qR?{Z<????[??L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?vB:?Tt\\???D(?\'?$@?E???????+Ӈ??6?_???ml4[A?WB?){P?H?=?<o?t~>?=jq??3?A??@Lc???N6?X?Q??`?Z5ɘ\r????V\n?YD?????FQ?4??R??????????߱??Q?=?6?ĐK?É?f??A??m?*???L+?=u=??AH?%?P??F???#o.Qү?zW%z????K%{IN?c?~????f$??9??t?3RJ5?yz?KHa? ?h?J???Z?}\'??J????*?*?Q?*?????r?T?\r?9!?qep???w??N?B?N??$????WƻG?@???p?r|??xԛ?\r?jiR???????)?@ø짮~s	+?????A??H?!??6?ņ?6?i?E[?Vv?՝n????__??ۇ?`y???z?O*5dǄ??8????\du\"??>|???Z\\ҪJ?\'?S???&?E??ap??h????]???P ?eqc;?Rx??????wx+?ɪ??????????.3г9???[?????y??Ǽ8??"O????????}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e6dfc2514f9df7b184eb95747f896843','e???0????N?q?0??z?3?EZ@AH?$L?߽+|??w?Z\\??????}2g/?vO????????r?|?n?D+Y??(?Ⱥ6Z]???*?74\r:\n???	?Q)?$?ryp????+?֯d???66?????!?n??=???d=?<o?t~>\n?=jq;?1?A??@c??ͯN6?X?ѳ??N?j??0t?ͨ)\r???awo?\"?i?\n????/???T?t?GqL??M.?\'\Z??m8????ʔ???I??w???h[!u3??9?8\Z]K;g솼9G?~\rT?\n(??p%?X*?R??????)?hʚ?DSRs6T%ʧt?3RH5??	z?sa?t ??V?ܾqo?jmTt0?I?j??\r?P????????Ua??+?%/8???\ZX7?rn??@?@?Zr??\"???g[??2???䰅?x?C?n?ţ?\?4??H??????S????q?U???? ae\rʭH?!ن?$ߐÆ7?ņ$???:ٺ?l?N??\'??>??,?ۇA??0b~N???W?*	??$	?Hӊ????W6WjQ9???y???*??g\"?Ȃ??2@-??}??7?Q/?+۱??7J?y?s?k?HR?4?'?a?l?z]f??9??ь-?\'i?}{w???y?\'????JN{?????֧???_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e6f9917b312396275536e923063c0228','e?ɒ?0@?.??x<,?9?USB4?AH?$L?T?=-?.n?Vo4??4(H??????+iN엿?????raH	S??SE-??TP?X??׵???*nh)??6CӀ?A?\Z?\'*Y??	κU?0sa?\"|??Լi?W*??K???j??????-ݕbX?w?jY+????mAV?ʴ?¥?\0|\Z?5??x3	J3?r}O?T??*?AvR???n|^?IWj??&\rF???Zu0Յ?.V???`0?遞??x?K?ݍ???A*FY??VJp?ĩ??uk???Њ?*?k?T???؊????~\rػ?b?ɑhV???x?(A+\r=8?j̈xWZ??\Z???]W?~?W?U#?T?dt?>????:???ŰWnۜ??:??lr???l?Ҷ\Z???m?څ?u??%????WG?=?>???O?m;6??7?S?\rqm?r???Keͣ???{?9?؍?>N???m??F?4??F5????#T6?"O]?aRX=?\'IQSa6$ڑxG????#َ\\v$ߑ0أ}?>?w?<\\\"????uY?-?eo???$?:?YRB???2?.YvN????od?b&????K^%y?!?Q???(u&?BQ?;????t??\\??l\"\\):xzz?v????8?VÕy?~:v?n???.5??^*j.p?8??ޞ?Lq. ???8????$?Sȣ8HcD??剼?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e771b06583a986e3c220e9dde6a51d6a','e?͒?8??]>?fz?@????jJ??;k?0٭}??\r?IqC?%Y?J???6:?o???͡???@?q\0?????(??GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*y?????FW/?Ajc??Z?!(?`Hك?a?#???I痃`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!??????1:??`\0???-v8???7hÁw?~}?J)????Zx?H]?C??CR?sɮTs??э?K?țk??zW%????[?O%IF9YY0x??se]Y3?jJf???D???\\g&JI??A@?\r)̝d??R??r?r/??F??!ُ??Ш9*ߑ??Y?r?*yåQ??????E?O?m;?\0??XIɹvن???^|?<?x?l???~N??????s[??????J?L?nG\Z?????Y??? aU?H?#َ?v$ߑ?;R?eG???N?a\'???}?\Z?????ۇE???b??7;5e?b?75=??\"I?R?&;A	y?ϟl?j?A?????????c}??ț?ϋ:?,w+4????C?Ͳ??????????g^{?W????\r?L?7???^?im?U?T?c+?IZo?\\u??(??x?.?3??G?P?g?q?ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e818299c2b92e6314b04e89ae565d79a','e?͒?0??;>?\'?	!aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4????G%{IF9YY?x??s#e]Y3?jFf???D???\\kFJI??A@oC	)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K???\??N?z`yb?"???;6????0?S?+?nz???+??}?J[?>?8??>NQ??u??F?4)t?\nVB??????a\\䩫?\?o|)+kPnE?\r??C?r9nH?!?\r9oH?l??v??;??.??????,n???Ê?>mV?Q$????S\\?49U?iv????;???!??\0??=?b?\'E??????`2??Ј?8O?zx?!G4??lᝒ????????V>?V#????0v_6?K???ksz????[??????????????x:?\\gx?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e98b4a92a2f6b99174acc05f62d57c22','e???0????N?q ????cf2?????\\I????{W<ܴ?vW???4?$??n?K?????ޡ??T?ɆqG:	?\n&??^yF@V??\Z??tP?h??]_?|D(?\'?@?E???????,V?w??֍_???mlT[@?B?){P?(???x??t~{?vqcV?\n?߁??P?_??G?X?1????????2??͠????\nA:??F???^Z?XمX???a??<?:?T?.???C???6x???UJI?$?????J?\r???Kv??K????*vCޜcH?z?	???p%?????????(????T32s6t%?t?Z3PJ5?i??Ha? c?v?¾qo??T0ȭ?b????dߗ??T@?ƨ|C.o]?g?Ir???\ZDuB?ˣ?!~??hٱ	(?????k?? ???\'_??4???d????x?è??ū?\?ohPs?BW/`%???7L??{\Z??????O????$[??٭?E+???EN+?&k??:]????ׁ?s????΋ۇE0??b~????????+?/!9?Ip?,?????:5??$?`*D???????T???`2??Јo???=????#?eqe???????g[???UK?;?????^?ezZ??E%??f??Ӈ+v???Ndա<???\'?ꐉ}γ??{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:e9d9dc8fec112d1e4957ea389388d9e2','?Z?????u??j\Z?????I?5d?L??)?-???r7=????>¼?I???*U̴%碣??sd	ot0???D??8E?L(?Y???$?ЌDH2?i?so?$	??Í?/???????m???o(C?%RJdAs?n?s???z???G_?4??jB\".ߥu???IH?q???G?"???0?!1߸?v??9???<?v??m?????	??TZ0??Ӻd??\rwG?ht???(T&0?p??~???Ga,Uc??Nf(?C%?Ǐ\"CBq???5??\"?3??u\0b??	c?A?	??3?ä??,J?f]b`?$?A]?J??V??拎W}$??HS??,?d???T???)?????\0???,$~??HNm2?Z0???[???S?O?唄򄮚?M	N???`?\")D?+4i?k?;I裠Uc?84I???M?0E??8??????ij?\'???XK?m??. ?a~???\'?@|x??P)E>?2\ZX\"]\rv\'?}\r?)?%;?\"F????:?-C??I&)??Y?u?Ȣk䵮??D?3?;v?e?|??S????-A?????t??(?N?lN?˶?? f??2[Ű?C?g?\ry5I?Q?I{????t8K?Գ?C<ǂ||?x?0?Q? ????????|`X????g*??B????I&??!????????v1!R?g???}iw-?Z԰???x?@1i?iϳ??ĲC??cKK\Z??q?j?(h\'Ԓ9Y<ʉAݷra=???0R{??0???B????Y?g?ObT??/?ͨ@?C?	H_???????p?%\"\\/????k\ZX??i?a?>+???????e9Scn9\Z)ƑWeK갢_?w?Q????\nZ?qIg+mW???z?:K????oi???z???%a?LD?.????x??"]A????O3?/8??ΐ??%k\Z3h?=?Q?n?>#x?*??>?H?T?	???$s$?iݡ?????m??}șQ$GA??!6`?E?糖??\n?^e?/_?I`???<???F?fP)??????7(p?*?r???Y?v???;F????????sy?l?l\r?#?j?dU5G????a^C??䂓??u??l?g?o?????x????S?{????"??PDHKF??n?S@?±? ??????'?g?5N?N??C??vp{{?????p$7>9?-?~i??ζ\ZH???,!??,r<?M????P~?r?>?ȩ??\0?s?????֜????ws?\r?UKTͰ??p?Ѩ?"?N1???˪?$uFs?0?ҩ???A?s??g1Kj?I?Y??=?c.?O!r?!???H??????d???>H???Н۷x????NP\"?\0=??:??*/\0>???򴵽????eC????.???m???ͼ?0}???v????wt?????ê?Nd??5QF??^?j???x?ٜ??O?6??N0g??7O1???p????wYB?տ(b?)?ĩ$8?誛?23O	???????S?????40?#܈6r?@#̈q?IW_q?tiF???????M?_?6\n ???$j?Շ?\|?-\"	ZWK?'?΂??āT?T??r?@qC?????v????D?? _????hމ?QQ\r??P??9????Y>???x???r??1?Dd??T?&???b??݄?j$???:??K`5?c?Tt?,\ZK 5?pވ???????Z?,???ɽ?8Uapo˅9?v???Ԟ??[[{??C2???????8hnbo?|n@j????\rب礥e=w???\?@???\0?_Y?w?&?'1x|??7??;?????a??D?\Z??????_$0?1???\0?Sy??~?????\0-L=,?f5]`P?c0\"d??E+?9?5vTOŋʀ???`O{??卶?	a?+w%????Q?]\Z?q?gMŦW?av???^\'(??I=?\"???Q???̍X??ͅ???T?f?N`?Z=???s?yHy??<?2W*??sYܡ?B(T~)???\0??B????Z??$????V.mx, ?E~?+Ӛ?UT\\@?I???p??Ƃe?o???s???7\n?kBƦ???2	ď?M?J?\n?? ?/?tIf??\\???rD?]???OE????<}sgg]p|Se????󑛇?>??????(?`?16???\'?????/???f????I>ƃ?ܝ??pp08??+?\r?`h?n?::Z[?~???????d?-e|???<X?~b??p?u\'?]??Q???????F?????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:eafdb0c0d73d86f6412450b4deab10e4','e?Ks?0????p???z?3!-? $W?n???+?N??틵-???s?\'???_?ZAG??????i?ĩR?#DUi%??KKײ?\Z??ph??x?/%??????\"E? keDݸ???T?P??4p*)?}ʎ?J1???u??º??v??r?0???????PE?[Q??6Bd}?3֪F??ʤW?҃?4?C?"(x???O??0??ƺ??*?`W?=???>????.??Q0??/(?k`>ku?I?ډxՒ?vI]?]	?ʅ?ǒ]???*a??-?k???+)&????6?):?F)Z?{?Rk??2z@??P?????0%??<?軫Oa?'c?t???u??V`??r?{????,??cT?A?Kz?|r?,Hq??A??? ?0?\Z>?O??$??L?H??;??o+U???G^jg?????|?~T7????o?4ȹI??7j\r?^??gy??>AL??J?\"Ɇ7?醜7$ې|C.G[??:ކo㎷??????΋?E0??b~???\0K+Vfe?f???c?q?D?P?|{#S?f??K?r<??K?&?K?3?śLoKMq???>??AG8?N?d???˷]????j?????}???u???RQ	?;??????a?S???"?y~?Χ89?Qy?/?N?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:eb993f1050fb98554538c0de0e69536e','e?K??0??+v|??	????;?F?c??	M;??rd??>K?^[?ST?az-?}qB+?b???P+@H??????N58d%???Q:F@4?V??a???p+۱mѺ???܃??+ɥ?]?"?a?2~??2??FWi\'?A(m??\Z?\"H?k??>e??\0?5{|?)?[.??o???_ܙQ }? ?1?Ԁ?+?Іc?l0s?Z?F?=)*C\'jY/]?-?BZ??R?????|??u%9?????.??k????d?Ai???Օ*%???+?=u5????Kv????j?Y*vGN_BH?F??hv`??#۳?J12??????(???2??%?'te;=QJ5*?x???iO???}??Y???{A?W\Z??r??\\g??Z???\\޻0????dQ?+.5ꄨ?!??\rB???c?8+?9???P???G^ig??b??I|?~Tw??????4ɵI??W0?O?&A?#\r???f#V:3??Yـ????#??????ؑ8ڣ}?>?w?<^#???u]?/?uo???,?????N</?$+?i?r?ʓ??U??`K?V?sr?\"?:O??3?OO??z?!ɼ???#?b??????v`??<=}??????????⇩????Y??GZ??e#$??f???7[K??\"m????ȳ옥9?j??d???}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ebf9e0c9a9be199bb3831d4e2c3a3e15','e?Ks?0????p??z?3??X@AH?$L??{W<ܴ?vW?bqE???ޡ}6g/?v????L????r???0??S	Y?J??W??Ue??F?R:?\Z.e?5:?ғ??s??WBI???+?;?+?/t???66?-??????R???PX??????"????ōY\r*?~b\Z?hqu?c???;֪&?Hʬ׭6??24?ĘET??5?O??((unM?c]db??+???7Q%???n41??\r??/T)%u;????????\rB)u=??5?8]I;U솼9ǐ~????ì(??Y8*?2:?????387Pѕ5??d?l???5f??J??!????Ӂ?A??\n?ƽ??Q1? ????4~??}?c??F?Q??\\޺Ї?????N5?ꄨVD!?!,B??ѲcP8~3	#9?? ???\'_????U?_?I??TW???g.?4??I????O??@?\r??]?ᶬ?O????$]?݊??"???"??$?ZG????\'??9?___??\"??vX1??????m????S?&U?)?G8}{cS?f??9??4??x??[.NY???Szʂ??2@#????????W?a?o?<<?|{?{?k?Z?4?ah??}]???9?TTRю-h&i?=}?b_ ?r܊r?I?s?;??????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ecc64567d970d2d50e14c55b312bb49c','e?Ks?0????p0`?z?3!-? $W?n???+?n???}??">???tá?`???`?}?K?+訐?ў0?<q??CE{?QUZ???Rõl???.\Z?\'j?ɤ`?g???H??Q7n???U\'?6Am\r܀JʹYA?????Rk??@k??n???(?\\,?*}? ?1>TQ?Vԣ?\r?Y?Ԍ????2???????\n^?Rg?D??1\nL?4???.??ؕ?????Jp9?(B???f?50???a??P??jIY??????0??ɮXs?V?0S??5??????N?{?G):?FZ?{?Rk??2z@??Y??%??6z??8(F?!?????Ӟ?A?U{??????[??7??rʮ/]c??Z?Q?].]?g?I? ?r?\ZuD?Â?h??Ѻc?0~3?9?Y??&_O???>?*E????????n???Nߦoh?s?|Wo?\Z???IU?0??6\"?3=|???vE??lH?!ن?6??\r?$??hu?\r;?o???}}}????~?7?2=g??J???Op(?D??Y?????M.	?????(?(ϲK?JyI^???)???:???:???\'????^???ٵp/v?Um?????????K??6Ǘ?JHܱ????[?0vJ?ә??yA??,+??X?i????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ede6a51ebfadbbb96301fc2b1c4abf44','e?͒?0??;>?\'?B`˾CO=v?#l^???4??Ȓ?}?d?!\\??ER?az?s???????@*Ǫ??	?:	?*&??QyF@6??\Z??tP?h?????D(?\'?@?E???????,V?w?????j?3HmlT??B?r){P?(???x??r~{?vqcV?\n?߁??P?_?lg?X?1?q?εj??2u?ͤ????\nA:??F?ㅴ?^[?\\9?X??v`o??<??T?.???S???6x???UJI?$???[?j?????Kv??K??n?]*vCޜcH?F?\r???,p%??$??????(????T32s6t%?t?3QJ5?ez?sHa? s?v?¾qo??T0Ƚ?b????d?־?T@??G.o]Cg?Er???\ZDuB?ˣ?!~??۱(???????kwܐ?Ћ??{^??Ur??I??Tw???`.?4??I????O??@?#\r????Vy;?HYՀr??qG?9??#厼??I?=???N?q?????__??\"X?vX1???vǢ.\Zl???Ӣ,??~??S?IQ????4)3???????Y^??dy[?v?~??B?h?ŕ??%_>=???$?V\Z?s??a???+???ks~?j??[??{zsU^??N)?r?????mxV?<????_?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ef9aed9384833d570bad5f6b14ad389b','e?K??0??+v|?݆W ????-?c??	M;??rd??>K?^W\'?X?az?s?h???K?h?T??a&*<q????????u?z\\:ڨh?????D??G??@?y??????`!,R\'?????j??66?m??+PE9?R?T??a?#??g??????wf5U!?ӘT?????F6?s?Z??LF?3i,C\'9??B?.???BZ?So????B??v%=?????]T?.??\rS???6??ֳ?????_HPm(???h?v@??\\??\???v??ys?!?\Z?w\r?????ږ? Ѩ@+???DW?????jCW?~?W?3??3?A@o?	)̝d??b??rۜ????Xlr?????h????c?>?H??????{`Yb?????l\n?a%a$?e????ƻG?@???p?|??x5??\rMjmR??ZI?????nG?????I??!???H?#َ?R?iG??v????Q\'???}?>?????uq??ֽV?y3?3?\"/DɁ1?y?\"Mh????$+>??A?N?&M???????S&ʪ?gi??2?,o+Cq???>????#?e~#?????????p??Q???0~:?_??k??̈ks~?RᎭq&q?}ysu^?8S??ʫ,?yl(/ĩIrʳ?<??D^?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:efdc498881479fc53c6a7f162dc41986','e?͒?0??;>?\'?B`ߡ?;?F/?m?v??rd??>K???LΧ}??ph_?K?݋C??????+?;?8???#+Y??)???j??-??i????????\0??+ŕ?]?a?2y????i?JW/E/??Qm-^Ե]??????G>?筒???]??jP!?Ә???f??#?????\")?Awڌ???ZcQ!H?(r<?????k:??"???C]Iw?p??@??*?R??q?n_Іoq9}?J)????nxwO]}??E??n??]??G???s?țK?@???=?5???J????de???΍?Ate??)?9??S?r?)?\Z5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]?????w??R?r+?n?C?\r9n?C??oH?!???Q\'۰?m?6?????eq????V?i30?,?<-0=?e?\0<VyEpH8??6wj1?Ȳ??!?\"9A?+?g???+4???^?C??}c;????????wx+?I????~?/??%}]f??9?T\n?hǖ4??޾??2+Q?+?O?s!??Op?%????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f07ebb68ead882b4e16d2a0214aea620','e?Ks?0????ئ?}@???????n;??rl??>K?^??))X?>\r?{i?{r??eB?4? ?cE?c???*?\nVa\r?򌀬k???????vCӠ?a%=?;\'\Z]?J()???C??????i?JW/?jc??nZ? (?*??!e?;?5y?|/Z%????o???ܘՠB? ?1]T?W\'?I0V`?l??S?\Z??3j*C++?YD? ??[??L\Z??R/???????u%ݱ??Q?=?6?D?K?É?f??A???UJI?$?? ?[???-B%u3??5?8\Z]K;W솼9ǐ~\rԻ(??YQ??l??/?HV{??HDW֌????C??+Q??#ך?R?P?? ??????N2?W)??F??????Tlv??????\nh??o??C?]9K???\??N?z`Eb?"?'??????=,$?????????}=??wo???~L?????S?zs????&??^?J?wL?n\Z?????????YQ?r+?n?Crܐӆd?o?????Q??7?Η?}~yY??`?a??6??K????u~,?I???G?}}}es????}?????SΓ眧\\ ??d?[?r?~t?B?h??+۱U?7J?y?{?k?Z?4?a?l?nz]f??9??ю-h&i?}{wš??????O???B?? ??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f101e4fb2233a702a6772f5f8519b8d2','e?͒?8??]>?fz0?!?0?=NՔ??1v?a?[???&??,?C????b?6zto??5????b@kp\0?=??6???ULb???j\Zk????-??mч?P?@?I??Z?D??(bX???5N?]X?ZT3(c]R[A?W\rR??)?(?????r\r~4??΀??????PFܼjg?:?)?q?͵j??2Mo??????H\nQ?@pV?ㅴ?^;?\\5??ԕ|?FOy????\\ދoN)??n??\?RZ?~!Q??R7????2?\??\?M???\n??B?{??@?w?	7?-??A?ё??_???2H???H5\'3??W?~NW???$?X? ??q???G2?W)?V???\0??*6??QoHc:G?z?*t?х1v??\\$?Z]q?AR\'D=p\"	)??'???[??{??8?s?+?nf??k??}?Z?[?9?O8??>OQ?\Z???&}oR??????i0????????pV5?????ߐÆ7?ņ?7???m?j?\r?o???=??x?/??}o???X???k(?/\nh5?Q4?????O?t???̊þi?,$?!?????>?dy[[????B?h????%//߿??=??%?VY?k??a?lU?ّ??R?M;???????W????S?~E?é(?؜??????????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f107989dab6a7ad393dfe447f69cdf1c','e?ɒ???S??8K^dk??S?jA#1B?0?????7???^?|??ɺ???(k?????k??=+??\\?h%  +?@	?????Z}KvBy?tr\\?_?CB(T ??$BkD??V????+???5N?X?Z?씱.?-???!?Ɣ?$k???\0?7Z?0D????ܙ3?c? ?1^$??????cR???V5?2f?i???QS????x\"5???g[뢺?U????????????r.v<18??ˁ78???R??2??i???n??B?e????\Z???;\n??$??P??\rs\\??|??ԪS? /????R(g2???ؕd?ӑo?)	4?!??.1??ӑ??}?ɾ??bmu???b?+??????B㨀V??BC!??g?i??+N5H愨??M??B???c?~3?#9?? ??`?XO??????G?U????㨮?????oh??bW???7L??{\Z??v??߲2???	?H?\"?ٯ?E?+R??E??m??:[?ֺ???V????p???v|b??/??3?R???8??#????~??S?K??b???;yǓ؟?:?????[[??t?B?h?ōm???????????&?ZY??#?0?_,?K??lO?xS)??7?????˛/??̶?t?\n??H?y<s!3???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f382ab9f047627008289d6bf9145978b','e?͒?0??;>?\'?`ߡ?;??\0/?m?v??rd??>K???LΧ}??ph_?K?݋C??????+?;?8???L`\r?򌀬k?????-??i??PHO??I?F?Jq%yw??X?Ld??lZ??????????\n??+R???PX??????\"??????R\01??Z4?9???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.???ԕt?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??p#?8*?2??????)????TS2s6t%??3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]?????w????$ݐÆ7$ېӆ?7$ߐbC??m?N?a\'۸?m????????a,{;???f`y??\n?<???????Ts?:ϳ?~??S???/D\nű????qJ1????2@#?????????۱U?wJ???~z?{?[?LZ?4?O??1?,?2??????vlI3I?˛+?e}???z<??~??y!NU]$Ǭ8????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f3c2151eef7faf9612a0b225ca739a0c','?Z???]??W??<?ƷD??N???\n?m???D?????k!/????#J??????\xxxxE??????D??8E?L(?Y???$?ЌDH2>Di?so?$	??????l?m<???>E\\??!i?)%???vo7?y???c??=DT?yK?\ZGJ5!?oҺV??$???h??tC?lA??9????o\\_;?H?ww?o??u????t????	??TZ0??Ӻd??U?F?2??????È?,???å?????Jv?D???Emk?ݓDg؇y??a?{ ?????? f0?IFY?????D#??t?(	????̗=??H,????Y 2?)%? ??+0SM)???\0g?QO???$?6k\r?I?-|??)??'lq9%?<?]??)?I{??R#?Hs?&mmB#	}???C??????\0S???s}0?H??P^L[P?:y??>?XJ???_???>0=1?????x?`?t5؝`?5?????????z????????,i/?:@dQ??5???V?ə???K??q?>	Sz?)?^???Go??x=oY??o?K?@?I6\'??e[?"?lG]f??pH??!w?E??G?0mM?[?Y?>???u=??c???z	??$X?????_ ??-??t??c>r?߯?[??&??O=?\0?v?v8Z?Ǆ Hɾ????oIբ?m???"\0?I;M?6?\nJ,;?;???Qߠ7CX????vB-??U??????? 7m?n_??O??\n??3X{f!?@ŨL)??[?Q??C?	H????????p?%\"???xN?\r,????ذz???????*c???[?F?q??n?:?v??????r??Vb\\?J??#Q/}VGg)UWt\\??X/???zA?\"???ޥ8???oTX?+X???iF{??$?9@Z????vg?-???????W1MO?B??0?H_h???t???"??_??$Cl??????E	??l??/?$0?x??@Uo?#jc3??m?s<f3|a9?|?r\n??\ns??bj?????Z?\\]? >????p???Փ??<!?&??Pb?\\p??c!P?,??Y?????L????C?u??7kE?????u?mN?n???6???????p?n?rO??????c????נ???:?? ????\0O?????>?@?]Cȥ?\"??J??????\n?s?R?77???}T-Q5?;?F???X:żjKL,?v?????J??+F?J??+????'5fq\\?\\(J(?N=?.?O!??????I??????h???.$N?<??\?jp?o\'(?\r??t?z?T?`h?\0??Py??6Zf??˲??!?C]??A??p\'?f?N?>????B?;t?\rwt??????ê?Nd??%QF??b^A????x?ٜ??/?7??N0g??7O1???p????wYB?տ(b?)?ĩ$8????23O	???????S?????40?#܈6r?@#̈q?IW_s?t?F??\r?r?? _?6\n ???$j7U??\|?#\"	ZWK?'?Ά??āT?T?}p?F@q?C?????v???ޗD?? ?????hވ?QQ???7׃:nO2??????w??D?R#2S??V?,??f??v?\\@??Z???w???????h???N?y#???????:??2i??@????F????-??^RR{??~ml??u?P4??v5??As{?rX+1??Հ=8iiY??58??<??&\0??ܽz?	?I?h????f3?j3MX?x\'??n&?17?\ng??]u+?ݩ|EY??????Ê,mV??8#B????ʐSLScG?T???l?oY\0??\'^B,V?[?&@?rW?8MT?Z?P?ݥ????6?H+?CD?xg?s_?AɯL???x???b?:O??n.???0TW<?u???v?yP?!??G????Z?_???E~\'B???@U????????	??^???ri???(?\\???????h??;???q??p??*?ohׄ?\'}?B3d??)? ?vv?A_*?p}????y????;K???2??|ùY??κ???????7????????(?`?16??F\'?????/???f????I>ƣ?ܝ?????7J??t?LTӁ????q#?hmm???S?~?????=??\?????IB?֝??p???.?a????F?}?G;??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f3c8a8f5895f6c5811a14c43ecbc3377','e?͒?8??S>%??߆a??=?*%?\0?ئIo*ﾲ???Y?%Y[?9???L͋?8??}???a???? ?eUtb\\?CI???5?$# ?+yz??P????uh]@?G???Z5????g???X???n?????6Am\r^$4????9\\???>??֭??C?/?(?>??jA??"h?D6?#??V?ERf?\Z????\r?,???.???%EA?????>V?u%9????#?>??[????dx|Ai???Օ*%?\ZV?k?=u5?5???[Jv????j?Y+vGN_BH?&?\r?h~b?7p#???epD???Ape??	?Y??????)??u<z?ƋOa?'K?t?¾s??????b?+???d7ծ7T@-??\\O.??|g?U?(??ZuB?Ã?!|?h߱H\\?????\\j??+?????????J1?$>`???8E?????$?+????????q???~?????ĬjA?I$=???9Hq 偼H??v|?;>o??????-n???????w??\$Y?EZǼƴ??6?6i?6???-???vj3)??s5?۲N?Ͳ?\0Ȓқ?oK\r4????C??sc\'??????/??x??I??)~???\Z??}]z????T?BҎ?h&i?}}?UV?)/?l?5o?/??)?Q<????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f530fddf2a7a4ecff4a237ce25b4e262','e???0??\n?Nm????z?3?E,? $W?n???\07?????">????X4}vB+{??e???? ?eE?g\\???*p?nVa\r?t???k????)???CӠua%?;\'jU??K????E?bE|\'keDӺ???ԽP??4xA?PUf}?dw\nk????RX7_x??Uu??1?@??@Hcz?ůV4??\r???`?Z5?I?\r?SzTT?VT?\n^:?3Z???^\Z?T?X???g??<?zpmP	.?b??c????x???UJ\n?ī???[??4-B%T3??58jU3W솜>??~\rԻ(??^??lO?(E/?HV{???WF?????E0?+A??+??R?Pq?????????N{2mCW)?w????\0??*6??QoHvC?C??ʵ?օ?w???%?R\\p?AP\'D=0<!n?'??????{X?ɩv????}=?R;{o??~N??????S?z}???Q.M??????	?hy???Å\Z?]?dC?r?????6?C?oHm??v??;?/??????,n???????9mVr?0)?ȏuV?qA?IU???????S?I??~????$?`<͢2???x??m??F?`??????WW?g?o?<<<????x-v??m???Ic???Z??E-$??f??Ӈ-??>?Q]Uu\'J??Iz?K?Ov????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f708259ea0e3383cd1e71adbaa143527','e?͒?8??S:e?΄/üCN{LU??\Z?H^I?x??ݷ%0????w?W??????훹zi?{s???@*???	?3?xd5??<# ?hu?vB:hTt??u?D(?\'?$@?E????????ӧ??v??j?;Hml4??7B?r){P?+??9z?x??r~{?=X?ՠB? ?1_Ԃ?\'?yc,Ǩl?s?:??d?}???^\n?YD?????FQ?t??Ro???\9???v`??<??4?!?\'\Z???m8?k?oT)%?e!??~YS?Р???\\?+?\?t+??ys????w\rP???\\??|˰Tr??$/???pn?b(k&2????h?ё?D)	??!??!??Ӂ̢]???7|?6*\n???b?????~l|o??Fͪ|O!????t???r?\ZDsB??&?!~??h۱(???	#9?ߐ????g??Ur??|?Tw???`n?4?G?BWo`%???L??\Z?~?????A??ېlG?)v??)w?Վ????{?^w??>????????x????k~X?deR-o??Ƕʳ??I^???ϟ????-?y???QU??Ǔ(Eg????e?F??????Ywv`?+?\0//߿????????:iܯ??t?f??U?eFz6?V*zck?Iz޾}????9g?n!?<??\?X?@r!-?V?~????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f71f2800be3473389871bb87969c10e9','e?͒?8??]>?fz?I??N{??)adpc?????6?&??,?C?*-?ņ?th???ݛC????F?0R9V%?8?tj?#?X?F?)???\Z??+??m????????\0?njŕ?C?a?*}?????FW/???Qm-?4???????G>?睒????.?P!?\'Ә???v??#??\???\")?Q?????cQ!HW?(r??????kz??"???????????|U?˵?F?3ܿ?\r?z6?F?RR?	?5????\Zm???%?R?NFi??=?7??#??J?`?7p\'?"?$??????(????T32s6t%?t?3QJ\rj??א????????٨`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9?ߐ?Ћ??g^?Ur??|?Tw???`n?4??I??7??O??@?#\r????Vy;?'HY%@?\r?$ߑ㎜v?Ŏ?;rّ4٣}?>?w?<]#???uq??ֽV??`??<geY?E?????D??Ź??O?tj5?8sHs!?D?%y\\q??9bL???\Z??w@o?!????????????g^{?W????\r?L?7????.3??_??T?c+?IZo?\\u?D???L?\Z????,Һ.???/?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f80a9137c0d14ea99eff167dcbe7f6cd','e???0????N?qS???z?3?E?@AH?$L?߽+n????cqe??%????}2g/?vO????????r??7?Щ??d5\n?g?F?kԫ??JEõ솦A??z2?N4??W?w7=?<???6???+]m???F??xAPP?C?Tw\nk????J:?_??u}??1?A??@LczH??\'?I0?c?l??S?\Z??3j*C+k?YD? ??[??L\Z??R????????u%ݱ??Q?=?6?D?K?Í?f?}A??l????T+?-u=??????Jv??K???!o??_??J?????y8*?2z&+?=?pn??+kFRM?!????ҕk?)ը9??ПC\nS???v????{?g?b?A??]h??7$???\Z5E?ry?:KOΒC%/8???X????@?@?=,$???lEB[AϾ?e???T??&??Q??)?W???Ш?&??^?J??]??4??<u??۳??@?ʭH?!ن6?C??oH?!?\rI?[??:ن?l???\'K?>??,?ۇE???b~N??	^T???4/?,????gx??????N-&?*?C??4)????	?V???+4???^?C??}e;??????/?q?vx-I??ƽ??????I_?hmN/?B*ڱ%???o????)??????B$Ǽ??????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f96bb68de135bbee4fdd1c697b3511a1','?:kw???+?l?#???Ȱ=???ݓ?o?k??$(!?.?]Y?}g\0?H?????`^?0,???ߚ/???????Ӭr,z_y??Ƭ??????b<s??˦ݣ??c\Z????SwY??(~1?4????+9B???ܠ?\0?)z?exe?L*?F2????<?? ??L)tv?1???wЋRJ??RAH_rs??s~G??Z?`????Jr?Miuq7??\n?Mq?ۍ\n\n??#????guQ\0? ?P???]??[n?@T?u?s^2?C?7V?	KY? ?QRj\n?2X͏9????????fJHP?gY%@<???c\0?ђ?u˷???R*W]???????Z@?\???`U?z???\0??,M\r?ZW??)??7]M?we??\Z?h?\0FG?G??v?Z???!??,HV&???c?????+???M???(?P?	?e?????-??q??V$e?????M?mD2?\n~???-T?P?]r[g\0??]?????Q??Ĭ.?J??G*??Yt{?^??)??N&)=??LD?H4?-???+??#??@+g?Mo???	????\r?????A??\"?t??ĭ;?`?R+z?t_??????0b???d??? ~PK?T??d?I??(m(?\rB???D<k=?i?Y]??~R??l???R?L^J?i5X?/Ͼ+\r?b77??O?]???Lk??D?U???4 ?μ?`?Z???Yh?!???i?????B4aq??\'?ƒ+7X????!??\n)݄8X?V?c?????CPhFǚӲG?^R?8ԃS?xe=)??\r???.~??ZR7\r?HGn???=??L+?\\7?%6?wg?-Z??\Zp?I˱??)??n?a?MK??\0??,??\Z$Pa(Ԛ??e??\\|?????^)?<?ʢ?1S(H??\'!s?\n??I???????V??u?ڷm!ho??\\Z????W?%u???????x}?N??h?H????{??s?\'#\0?O&G??u}8\ZEC?'??S???C\'?	?&	???`??]_?߱G??Btq?U9#׫????z%?P???>Hh?<??wBD????]B0?#?@Lrb]YBM_ Or ??/?r	?	rr????	C?K??\0)?\\?7????K?/??uV?l?`^??eEi]?NP??7?H???hBZ?>}6>99~???????'\'?~ݵA?p\Z?qժ\0%?zE4?+?*?\n?q?\'Pa????c??.^$?????Y????????vG???R??}??(؅?Oq?F:?"?`?????b9)?FӸ4J?)?IU???R?R??׎%? ??\r????g??????b?`%????l????D??\r????v??q??H?q??PYՃ?WՏp??E$??\n?2xv4fx+????1E`P???RP+??<???s4?????/㼖.?ɼl?\n?{8???m?0?2W?\\h?????6*_?lwit????3,??!???%+,????v?????吞eUg??-???t;???z?$lj??\n?aMݍ&1??ML?Y?l?]?E???g?S;,ڶ?j?K?(?O_??&??k?fT?Ih]י?\"?9D??/???꺢8_qt<Q????73??=?h?2<\rz:??aQ?b??1Tِ?I?????T?????}\0Hv?{s\\?bZE?_???4*?;?B?msR????g????????\04??6Ò?I{P?E?P?SD?????%T?u?>?@?W?????w ?mS?\"???+q??n^??Ƽ[?0?!?T?i:???c:?iW??\Z݀G?A?0GC0gjt,T???????1;v?O<?;K???Q????1e???????R??`4?50?n?]~?ic??{&?]?p?O?f1Ͳ??s	Eu?_??,?Y3?^??y??fu????%gj/A??`z?Qށתی$ꦈϱp1$?ou٠??m!??8XǮ??u?w??????IF??!?p?`ӌtA?/?j?n???Kl???F%|Y?p??ؠ9D|{???9??d???7?ڈ{?+???n?????B??FT?ũ롋\nr?/hU?,????????~+?1\n8???????_#?س????X??A???M????#\\???{N??2V??j?ssC?\??????\Zi?\r?M?????j??i?.n?f1?дN܆PCY}#?f????X+҅??\n?\rZȆ?Q??????????r???v??-&??r^x?\n?Z??N???(????Ϣ??-??)???=?(-?h???????`Sq???t	??ړr????h???l:?Z?{& ?~t:BѴ??ۉ.???Cz uy?F?ٓ?0/(d???-??>???I????%W??%??e\nG???̙????Mq{uf?~Մ??ʦn?}oƠFU???L?e?z,??b??}o???+?x??	M??>?@:@????\'?,?????u<?z}R??m?C!ЕЯa\nW5P?0??????\Z???????ƣ????\"!?)?v~/????T???ZH?tT?3?ʆ????c?N?\r+)l?4??L??\\??ZڃMsZ??1Q`??????Xe??ؔJ?X???e2????a???.\0?f?????U3Ŋ2?i? $??h_G+w})?>??Q??b?3?????N0=2`?KՐ???????1???j????pl????b??r??E?b?I?բ???C??,;?	??Ǖ??0?]????((G???z?!I?I?"??????BW?͘d0?s?0\"??[?˩c??Ds?OA$?	??v?vo?P_??S?C??RU??\\?hm??N?2?0\\??\}cSw?́Y?*C??????:%??\\C??*?b?`t????-F$\"U4\"?????1?dJֺLٕ?tY???m?y)^w{t?0?i???内?ɾ???????;?+*??M???Jx??;ji?}??? ᒾ#??????. Ii??~?6??^5???s?b0?@??	?"???Z<?CKWY8!,??b?????eQP???m???{y*??w?H?ݥ)0*??#ouZ?uR?E$???ۄV??iz??4?h??qD??}3?r?Hn???????H:?o 7G?xz?K??????ɋ?첋??~?>?/???0??\04???f??=?u9?dX~???=?-????,?3VQ,?U??y?c;???\"?ԝ{???y\\C?v \\?<P??ߍ?<??p8\Z????h??X?R\r???\r????8?_}???s???#`|??$?A#h?\Z??$)_?pT?[mI???'d4\0??\0??#??򴑩?b:!? ??%???}?9e??????`?P|???z??=?fC?VeV?4???l?????jt?\n1 Q5??.??gh??ҕ???w??Y_???0??7Ik??ή???=qܻ?~?????,6?v?????#u????T,yB?????\'#???\'/=?\'??E2y6\"?ϒ???:?p?/(}-,?J???*ڞ4????܅?2???\??^?|;%??SM??z?pp??0???yF2?\Z0V?\Z???\r?????|F?Y*?̣Nޗ$?s???U??@?????៣??``?%~-R~??`O??\'=?&]??B??sd؇?qh<?*{9鷨????oHA??3???3?/?????@?ҷ???:-???\r??<Ho?xc?c??Ah????1B?~?[?nq{_I-?6??*>?E??,0?Z?):?-K|^?E?R3O?V??@?Nm?g^?:K]J??ǉW???*=ۛ????QlV?^(????c?\"9$ܤ??????j??Օ|?-??c??ps0Ŝ??..KWMŵ???????????K?mp?R-???ֲ?Mm 6A?j?+mi?󡚡%b???8l?=???3?>?p???k?*!1)??g?:?S???Y?q-??\Z?W??~?R?f!fT?r!???x?? ????\r?0Z\'/?\'?????=?L(=J??8?<{>?1D?+?7','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:f9894543a54d973089756a9905a41fd7','e?͒?8??S>e??	?MüCN{LUJ`???&?[??衋??Y????U\\?????dѼ?Z?????iF?nGҲ*:?F?ÅN??qla??m???=.,??;uZr??=9?+^??fx?l|X???d?????ډvJ????o87;?v ?+PX???gpM/?u????Ńҧ?B\Z?-??E??\"??????\")?I\rJϊ??!???8?%9^IGQP?.u??U?C]IN??????*??l?p_P?????Ս*%?\ZV?kh?G?\Zk4=?[Jv????j?Y+?@N_CHOԻ\Z(???N???J1\n2??????)???2??%?'te{=SJU?x??W??iO??m????7???!@/???4~??????\\?r=?|ta?'Wɢ7\\k?QL?Fc?'???[??{؈ɥv???Z}?<?;?l??~N???z???F}[??YnM?????>1	??h7y??ʙ	?A̪?ݑ???$???r9?????Q????1?????????\"??_1-??%Y??ĳ(???&??i̓2(?????????YQ?AC??)????ַ?\Z??w@?!?????"|Pr?????ޫW????F????WE_??hm./U???c+?IZo?l?Umy)?<K!?Y?ѥ,??%%??/^?~a?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:fa8ef7b89fb7b3cc066a8e92fec0d75e','?{??????ň?-????t????;??̞?R%3?D5I???????d?gvo??ӱT?B?P\0\n?|??gO?u/I?q???\"?fѼh7????????\n?F???R?N?????y{??͏??^???\"?)?? k,??k??I2?=?*.???z!b?\"wO????V????F_???j???Y?ôx>?n,|?2?^dӨp]????^PY{EL????	G???g??$?r??Xfs?p\r	?????ko??s?[?-M???? ?t?̃Y?	?e?Lɉ???N\Z???Kh??C??\0???z??`/?T/?Y????p??-??KP???@???ʜ?RV?H9y?????1E4ԍ??!???????;?^\'?j?T|??re>~??0??88p?[?$??d	?d???*??>T?x?\0AT$?????o䉆???\?????Sj??ט??@??\";??MJ?I??^4???^??E:Ga$p=??q??<?Nat:?dV?)?J????Tl?UJ\0u\\;?K\0?|???BQ?4k#h????D?q9?;??/\r??-@O?+%)/G9wځ???@?>\r???l??0?Bͦ?GY\\\r??P\r=H??^?W?4I?E??h?2?f???0??W?\"??{Q^??<d?ĭ??\r????(??6?0??N?<o;?????8??z??????0\n?f?C????u.??N?I???g?(?m,???x????!??k???_?\00[????Y?\Z?׷??)?F\"?j?-e4?!$?]??0|?,WC??[??"M??E@	Re???????P?J??<-J?`2?y??G|???d0??no??eі?\n??Τ~	)\n??tMЍ??/ǽ??$??x??ŎE????H???\\ND???\rz\r??jٳG}7d`?*?ݺ?`ˍ?\0???,?JqVۋŸ>?Rt???Z??6Vb?,I?\"Eؚw???k?|?^߯????f??e??I?????>?_}?`?az?\"6?M??h????|?e?9?\Z٦C???8e??a5jc??,]Ӏ??!M??e?ך(].??\"?,??_??l ???v??$?ʐB\0%??s????????=??m??G??Vl4???S\r6\r&???5Zk??62$?#?Dа-Ѯ\ns????g?4?HoJ?\rW[????=??`?)??r?	ܟU?Rd????2مyni溾?ɚ4?????h?'????Z?v?Oێ????ͮ??V??U4J0dO???и̢????b?xY?4z??\0?5Bl?߬???@HF?OY??P\'??1<E?Zp?\'Aʈ??\Z*\0????L?????J5Z?UzIgKҫ8?A?W??ԜvA??<??|q\\?X?!???_&2Nhl??uj?04??Q=y??ho?L??y???n??\rs? ??Uø?ӿ??xX?w?h1?b2+????q??i??e??6???c?\Z?+?????????????????9?~%	?]?\r(\r???P?¢?n?6?;X?????W?Ӏɴ?#??0?? ??o?o?b??%??i,y?G}?"Gs?͐?I????}???E?/Ab?{????|_????[\r????n1??s?k?Hj?ުc?I?j6?M%???{??;?s,S???V?%+y?nQ`????c?@/?YE???2[?w?֟??viV???TV\rYe???ŗ,y?V?a&???Y4????1??$i????$iP?xzY?0N???y??0?h?????0??l????Ը??\Zy?M???:^_u?z1Ȣ<]fa??????y<??r?????wO????????$|??y?z6~6?????????dM?i?3\0~\n????;?<?ѫ??s\r?ct??pu*O<?z`????\r??W????? 7?;??.g?Y??#\\fP**z???[?l??Q?y 6?Q??z?\' ??\r???n?ͣkQ;T2?/?ۭ+\n???\"??3?s0?\0\n????qz???E_1[??R\\?X????U?e}???u??zM`?޹?=4?>??r<??z?K??)v!!E???@?<?????E?????W?????\n~??ogv??<a?Sȥ?䞣!??\ZҖ??A@?̆5?Jv?P???A??ze??٢?ڶAE(???Ne?A?>?U??????R/???2?n?X[?4wq??????ȋ#?\Zjt\ZP[ۺ2??r?????d5??Џf?\'.@G?dp?	?=H\Z???⦑?Pp???^a??*?<??????]l(?.???\Z?\Z?PuX??@w?0?????!?\0Y,????W6-X????`???????w?q??>9?O&???0?????{???&??Z?x???H??.?1P00???~??p?????Qk????G??-?? ????\\\'l$\'|!?^w<?A??r?1r?H*?`??f3-Y???????o{G;g????????;?7?^??΄ѧiF?$???9?ۛ??:??ޠB?_x?rC?Q??f?????F???no???_:?q???8Y??sM*?s?b??/P???B???/Lg8*??,0?d?nB??i?ǰd??dQ?]_g?U?M?ʱ?+GS=??rW??p?處4???N?p?>??@?q??$s~\"&k?ӏ=????Y0??? ??????B???????y;???)?(ʹWb?ʵ?|?????\\[?W?u\\???????[?=m??g?*??????h??mǢh???X???le???My*?U{?;{??Y[??z}}_?҃?i?w??Z????B9?t???/X5?s??P?kB,??,*y?5!00}?a???EԶ???/??k(?%}T??\n?B6?}????@%ˬ??Twe$4?ۋ??*???Ā??X?MS?A???E?ϒz<?$?u??}?<^ꡋ?ZC??}5k?\r???n;x~?%?lE???nLi??#w?N??ǈA?T?{<???1:??7>????[???I?ݨ;J/????c??'k?k?/?l?{?<?ʅ?o??\'xl??0_???+??5*a9?e?g?`>???ؐ+?;3????ã????P??u\\???_??I/?a\0?Q?p:?Bb-F4?Dq???A7????*?\n`\Z???*jjc?Q?\\?Q?%\n?	sY̒v?.?u[?ei?4+1?2?4??Tt??&?\'d??D????????I<????ä́Z?L???????T\rkڋ?\\:????@޲??J?·???c?ZkoGp??u??\'n?N?CY??/??0??Q&?r?r?	VqX????y:TNZ2׽?ݕ?y??SD_?\Z?%??o?Q??9\Z?Z?.B?tG?Nq?v?Q??m\n??nԹ??8!???f??\\]???:??G?Ü?J<???]?X?޽\'????ռ#??O?R#??????sK?O?@?`?՜D??t?r<??bJ#?Z??t%,?h?(<A?L\'??/????@!:???-?_)?77?\0})pwVx6bU???PkoP?0?????Z(2?'?Ξ?+4???)@?n>Y0??:?u-ȝkLgG?@?-?????(&%M??????P?0?|?r\r?*??ఢN???oY\\D?ߩ	.?????XL?gt???*Y?\Zc?J?Ny?Lo]#??R??j?????G?_??h??|\0?????&???k??.y??WD???+????j?%??)???7?LR??e?n???\'?ri/_?8??\0?p??T??n.????!s??e`?C	?.O5J????m??ǝ??x?π4??????????ffa%Ici?4??5]?$?UF?lӎ#??\nw$??d?c??Y?ض\Z)G\\?l??)?~҇??ưPW[?=??i\"??	?v?~??_yE??7?a?????rH?>??7???)??Sx??h??&?g?r?LDO??-?;??K?Yx??.?>[L?`\n?y?xL???l?|YKΦ?[?Ͳ??bo?d?|Ĝe1U?c9g??$?0??b????:A\0ΑpQ_?ҳ??p?h??G??l????{5??\??????/Ȩ+`?j??,u?ϒĥ9q8?.\'?nA?+CQ????e???3.?Œ?????f??O???K??\\??Y6??n?2X??&???????݅/\n?n?ui?;nM}??\nK?0??}?UQǑ$????])~?%?l0?F???\'?L?4\\:O`\"+???!?????????!S?v$\"\0?F????_~>~?????|P??^??Z???k7o??8A|???c??Ihu0??????*?	?H???\"#?c5?r#]????_?j?x3?&?zg?6[1l??????Q?9??.??????L?5-??{D????P?i^o?\0?yD?]_???!r8m??9???ϵJ?,?&??r???6?0?/?a?x#??/(\"?Da?w?Im??"??QS?៞????*0?v?|~????\0?9???-??ʉYјمf?}?\"??JU0A?>xa????\Z??V?????!?*?PJC??X*/?d?7ƽt?????Dm??i???I?\n??o	??????,?"z7t㱯bFD??????Ͼ{~???o????????????/???????Q???|????,/?_?o??aɅ??d<:dA???IR\0??ژ????\'?x?)AGOȼ??C8?\0cK1?B?V???~??	3???????n??B| ??l??ߍ????q*`?&E??n??^?U#????F?pt?f/???~z+G?`IF7??o??zYHp???b??+l?Ҫ\n>X??x???\?u?R???z??GO??5d?[8Z?W?a6^E_?m~??n??(@q?r???8*??0?8P^fG?sh??M?t???*В(???#?(?3y9??J???JP???R9VMV?ne?EY?J?բo???*?D̈́)$!ݡh?8?t??ў?????⹣?%?>p?1K??ws?h?Q??^??0D???4J$zh??7????0????*?\"??_J??:??jϷ a?dZ	t??WC?-?f??@?r?g?R??y?Z?r????ۋ\'????F>?m?q??????t8?W??x??\r?Z?ccp?:M???Nct<???4E???0???-??fX????ABsC=`?cn?kX???3?3?&??e?bvw??v?4?嶿#T,?&qB:*?폞H`?/>x2???4?$i7N?????3?7??0?[7?????J?B?eo???p??6\Z ΂?r?"K?,\r]hS?]yd&??8???,U#&A??]??\\?|r??E?x]?n]???wc?no7?@g??t?C;%??????g&0?&?Y1J_y?/?m\'??	?\0??a?<ף??(#m??\r1kv}! ?s?:U`?LIqH~?i(??B???Z!\0Hp?`ȇ?\"M?Px;?c?~?w~?\"??D?\'z??H??]??Hg5??\'H?l?\\_`?X??q??ÕV6?&ZrM]W?B?<?W????57?!Q????7??_jnͭod?vӛ:?f?O?*\\?[??n?N\\/??S??l??(j??.(h??4}F??g?9웎 ?=3?ڜ?????+?\'???Ii??_?cȔ[d:?-/U?/?H?,???1m`??Ŵ}]???ne?x??#??????PG?t	H?n;bR?Vk?Sw?ŵ?s:\\?C?:$m8{?KZ?P??铵O*#??!-?M??~???????xq\'? ????B}b?H??	 ????\rI\r??!?Z??Ku@?????2?P ?Q??v+?????e?\\r	?V???8?w;?A?J*?q^H??&??R??????w?????)Xu?Ǚx\r\\i]2ݠ#?jư?I?5??`%lbX?R?N{!l????e?r?Ń?Je??5?GE뼲98\"t??at3?{?_\\?n??#?P??1	?Z?M?\0~;????????+*Lƨ???\0??Yk?(lc?(/?Vk???5?k???)l????\ZV{=????5Z?u?g?m2??6??6?Z???????D(77̡(.b?gN>-:???Jm6????[???g0??????>???Jlvn!J^??L?Q??f,4ejbi????QwP)uO3??V>\\?????~?]??jmi?1H? ?)????Ng????9o??????s??+?a?L3\0#s?q??Ë\\gp{N?T:??球????48????'آ?4]G??U???*???yõ?S?j?:]aA?????KN?5?\0???%?}? Ӧ?(rBNw/FY?????o?S( ?ƁC?(?K\\?LX?e???_N????x????\rq?,?xVu??/_A?X??B???k???EΣ??V??e]\n?h?\n%?!??m?(Gq???V[?5?Ee!??J??io??2??`??\n?X!R^ҲD.B?P?Ʌz%,j]<%\Z?H?????/?=.1r????N?Idt???~=?̂Z-5??d??\ZX(?VK?\rDC????Oꡁ??b_\\?$?????Y?( ;5E??"]?E???wМ?r??????to?6???ֵ??x?0??\\y?^??_1????\Z\"???36???տ????M-㵻,??Q?;???E?3?+???g?v??F2/?Z?V?6M?2h?U??, ???!*?2#\0?=??p?6b?????+~??i͝M?'?/\n???t???K??;??G?]??v??M`??_$???0?~8?????]ddS?????㜝??\n?\\?>??\r\0?>?\0{?E?ml?S?q?=^????_?ǰ?0M؀S<X??`1 ր#???#??????{x~{?<?:;??_????????䍏?O\0????y|?<????}pD?_?q???D????w?hm&*Ya????DZ????Tyj3??w?????c?;\"wWW?|V????d?ī?`?U?_?\Z??p??????mН????`Ԥ?[???`?tM??????{t7???+??Tgp??O׎??]??x??sz1?'???h???$??????9???^????;??E?/?????ys???ǏpB,Sw-?K~~?֫??5?????7?????9?c%?0?+?D??L???????4w5љ^??yV????Nhk???ۇ?{???xV??BQ???Y1#o@??noE?O???#}L?????(???????H?x ?%??pQp>??䰇?\'\'???a????????8?????Kmz?.?qc?\r?:?#?????km????????\'????H?xs?2????x?)????}??N?-7??uz???;???? ???;??\Zo4W?)?S\Z?P??c9rH??_???×?jNHT#???qZ?AA7\r?jG81	a?y=9?W?֊????>:ѹG???R???n??f̐ʺqWAJ?????\0???Ҟ??z)????_ҩ^\r?Z?l\n\rgј??k??t	Z/K?As?y??p?H&?????FЀ??4d	?4??DI?@??_\0:??bd!?jpp?Z?d.?7?\nQ?Nd0ң??A?:$)\r????C???????Y?ӽ???mu?F?X?|̂???I????b~???iW??J:\'o??\0}?)|ۓ?Q?\??ց@,ՕEazp?;?]??????.?Ȼ?'jC???????ˀ???Me+???̀<\"??\\???????6?xp I??v??P?H1?{?J????????????6???9j?\0ld?>b???q?&?????렡??х??A???h͙?????Aߧ	??6b?????????m%?7?6???+??H??Xŀ??tPj?n?,???d?"G;\ZX?_s?X??{y?5?X_??K<\r?4#_??\ZOE?>?????b\Z?W??O?{???z???-?:???T????????H~9?d?4??J?\r?]???Y???@{GVC?A1??w?CX?w?ʊ?2\ZB?X?T??ؾ?0?ڭ??#???,Rw??wl?y????w??_uе?ɯ5?r??????\\??y4??d|??h???@>?"o.x??`?y?o???n?2???hS??d<\"??)7?zVMz??????\\5???r??UEJ???WY????Nj˸u????????z?O?\r?m??W;?k?W?e?X??^O?Q?=-??,??F?\Z???Ї??[:|Udv??4~??6?????iO?	<G?r?l?4ǉ???fɺ????8???&	?OM\"????sa?j??F?????R???)???\'V}????$??o??Y~ ???h????_?gX̮a??\\?B???M??/A?Y??Qm?.)]mFд=????t{??!?B?i[?\n??????0?53z^??9?Tr\n^5???Q\'?a????6?0n?m?D}??y?vaq7׮?|???4?y??T䒪?\\???6?\01??G?|??O??%???n?\0????o\\??I*y??d֫??q??|:OG??,V=?wUXڊ\Z9e\"\r??a??o??:??ַ|????վ??Z???jo?Z?p?ù???Fo???&[-????:E??憚?M??J?(?B????o]???(?4\'?_?\0Ӭ?cs?ղ>)249??MP\rȫ8I?1k?k)???\"w?E??]\r?,????v??!?5???ļ??W?]??qE?m?]???eQ?G02T:?8U?????L?Ԫ??we?z??Ry(E?E?i??P?? ͛?ިn?g?u]ui??*;-g[??V*??#???z?+???g*pD??ڡ\Z{?o??ֶ????]jY???Y??+\\?*k?jo{E????V?t[}?n\\w?u?ƥ+Z???]??7???6??{??v??2??3K?k;???????v????9??Cr?J?lB5??ژt????????Y`?r@^?7??ÆQ????\???????h&???1F??y?X?y?&$tF?v??.???e??ZI/dm?Z?????Iէi?Q?Lw???q?Z&??Y???e)?INq??Q?????flJ??+j??H%ۄ?m٠Z?)\"?NLC??\r?????JU6ˀ?V9?#??.>8??,C?:Iz?a??k??J=?U???^:??m???o?q??{ͽæ?Sw?8$???7?X????????l??+6?c/??z}?7/a??܂?P??F?aʎ?Ȱ???????v???_C??4(9Wл!ē{y???????Z???lg_rW??;?𰞠???q????@j?P?6?|?U9?us??tW:+*wa?Pj???m$KHc?T\"+K??|a??1???2KxjW5BK]??F_/?f0?;ԏ?41??@+??????2??X? ??ѳ?!KA?G)??????\rp%??\˅??6??Jlc\ZġB9\"?chg?]2?{?\'????c,?6A?1\"?1ơ????q???ҧ???~??2?. ?T?0\" ?m?p$pp???#???؇???#?޶??l?\'???0??Á???Rx????gɪ?\08??01e?/ζÑ???7?E?e D\'?J??wt?Ǵ?\Z??]???r?f鴒?R罴[!??k?Z?Փ?(\"?\0w?~?`?a ɝ\'S\nO????T^?ԥP?N(΄?[?le`M\0]\\??????H\0hQm_6????Ӟ?a?s?c????ͽ8j?ZU?V֓~?2??-?nF,ق,??K2???M?$????O???c?ΓL????D;ت?@???GK4u????|Qʖ#?R?gff?^?K/\"[???.??AY?i%E???SU?G$?N(s??"?\r?\\??????JĽ\'??~n?Q~?O?????)?M1?2??w??8?\r}׺?v?n??X?????v??K??????Ώ?u?`?F??}F?I|?08?|>4H???w?ln?J?nC??t]??L?n?L?6\"??????+??ŒE??;Iߢ$rF{<???T?%??2?h???:?Wb(?ײk???W%\r???v?\\??0??????SK._4????W?h^l/???R??ȍ{?4n???d????qQpUG??N n,D???N?WLT????a쵦??Wg??q+?1\Zۛpw?P?-u???f?E??N???.????x?Ā?˞x?????C7???r?j???VKZ??q??????9??????݆Eb?1#?1?Z??/A?7?u@\0l\Z;?J?QE???y?8?U^???y???Y:ߏgP?_BM㉣P???o????;?1n???x:ˉzc?RA˫C???>Q0?D܋Fnd`iT???(g%?o????,?`?|m??????VIh?Գ?f?????=g9???#LZ???͠(????ߕ!?F???7?*?4=????j?,K:?*\rA?9?}??d8???9٫???^??G?9a?\'??2jk?F??m1????̶M?????d旪??\\??Z??????_??z???>?׋|?GD?j??????fi0?X???av?9???`?????]?Ļ?|?W>R??850?????(??	?I????uϫ?i?gE?c?p?Y?7?&8??Z[Q?kh?mDX6?\\???=g׳6?\?+?m????*?W8???9?????	?`~??9\n?q?J??$-???L(̆Hj??7\nPT??e?o+$??J7b\n	z????T?G?ێpdt?c$?m??D??\Z5EؠřV?fA</???L?t??}@?E*?td??t`???G]ѯ???$??O???8%?,o??X?\"<(?(8????Q\'???ǥ??\"??=???)?0%\')?Nw=???ً=;E??U|?????K??FI?I??W?AYR?٨?ސ#ZWt??k*(O`?G????:?P??+?~{`?V???{?we,?\\$?{?XFF????8?#????b??!K\\?	D=qi??a8o??d?\n?\"B5t???$???!Bd??<???c?z?\n*6??I?w?wS D?]h??o)B????Ě???????f?????A??ykN?e??ܶ??\'????&EV?+?)?Ւ??hPh?\r??\r?????0???y0|??,%N???gQ?f?=O?-PlWϟ?j???Y/>???S?L???\0??$????? ZD?|$??{?e??:!?IH??\'??0?`N??`??SA???<????<=Y??6&?ĩ?N?;???????8???|?[ʆu?h??/?\'?n??fYf??/?H?@G???\n\n9J?`?r??Wlh?t?p?c??R?2@?8PDr?R????E?Z?6?'YK~?}G؄ ??f???4AƧ?o?y???IJae?????xK?i?N????-`mM??\n?\\G=?)??7?~??w????QK[ڥJ???????Nԅt???ۃoi\ZYe????\r6?6???>:~????J6???@?bWQa?\"??X?1??j?\n????lE?V???N(??????f?$?Ns??Z@\nh????яfk????e?f??(-?t??e??q????P\0??KȊ?%$`Em,??????&A|Ї???;x????!?f?>Ƶq?\r????C?\Z??w????1j??Z?H?D?l~6?ؠ@\r??8?M????7??(\Zd7?x??? ??7????\ZO?>==|??hE??w???|:\n\Z??M?m?s?4?zH?f?R?????t???Z_?}_4T?ަBנ?w?./y9??IF??ʭ??I?4y6??d???>??燓(<?{?v??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:fb33689bfd273623e1ce487381e28611','e???0????N?q????cf2?????\\I????{W<ܴ?vW???$?l?rϽC?l?\Z??/?\Z?H???n?H\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]I7???@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+?????d?????$?=YY?x??se]Y3?jJf???D???\\cJI??\rA@}w)??d??R??r_?????Tlv??????\nh??o??}?=9I?????N?z`yb?"??-;6??0?0?c?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??n?no{?	+*PnA??d?\"?9?H?\"?9?H?]?u?:?w?<?#????u^?,?yo????Y)????H???~??$?<????:5?T`)DZn????W??a+N?S	?z[?v?~??B?h?ŕm?"?%/??l?<?V-?{?~?'??{A_??m?/?T?c?IZoO??U?e?㩬?zH3L8?vL0=???{?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:fb44e49becc93ae352e66856407afe35','e?K??0??+v|??\n!?????ةmB??{eY2ܬϒ???J6L/?E?Nhe_,??j?iY?PЩ??d560J????ނ^-,T2ne;?-Z???{p?u%?????,V??VF???*?3?MP??W	um6Ч????f??\'?u˅7????;3\n?O??4?ZP?fE;????0f?UK~??٨z?\'Ee??!???8?%9^HKQP?=???U???$?6Z?~`\0???-??Q8??/(́w????R??P?B?j????ơB???s?Ts??V?0K??K?H???=????????dep@???Ape??	?Y??????(?\Z?e<z??Oa?'s?t?¾s??????b?+???d7V?3T@-?\G.?}g?E?(??\ZuB?Ã?!|??۱H???????k?n?o+?????????J1??$>`??;?8E?????$?+?????ڑ?q???+??Ĭl@?rIv$ݑlG?;??iG?9??>?v??;????????.n???????>oU^?uq???BQ??4K??71??~??S??qH??FE?~* M8?"?\"??????#?b??????v`??<=}??????????⇩????Y??GZ??e#$??f???7[feSef?n9?1=&??1Ϣ4$>????','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:fbfc1dbde04f4d242257c823045ec32c','e?ɒ?0??.??x<????w?ǩ???!9?0qRy??xpq?>u??^?L?cR?n??\\?4??/	?\r?ʑ2?n??+A=???h?<A ??u?vB:?t\\?_?|D ?G?$@?S\\I???????+?/l???66?-??+PE??R?T??????FI秃?ۃ??;??????i?UT??1?CT??c?j?hLz?3h,C#??A???Fa?ԨSgִ0?vA???]ɶ???AG}Mbȹ?D?3\\ߠ\r???ym?+??n\'L?=u?lTH]?%?`?FW??#o.Qү{?&z????o?Jv?????B?0?ʚM3ts@m????f??hN?!?.!??Ӂ??]?ʾso?bmT????+????g??X@?FU????.??x????\ZDsD??&?h??ѲcP0~3	#9?? ??TO??93???d??????è??ţ?\?ohPs?BW??\Z?<?Eu?0????\\BJo{?))+?܂d+?_?|E+r\\?bEN+r^?4Y???-;]??????????C0????9?$a?J3(???ҼJ?J??pʋL?????:5????V?)????H3v???$?`,?Lw+Cq???0/^?C0β??-Y(?S??mߙM?r?V?4??th?\r?%~]??s??????ę??ÕyY???,?W??,;???\0|????\'?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:fe2aa3305685f123817038672269715e','e???0?y??N?pS???z?3?EZ@AH?$L?߽+n????~ \\?Ǥd??48?O???ɡ??qޣ??T??Ɏq\'Z	?J&??AyF@ֵ?\Z?P????i??PHO?.H?F?Jq%yw?sȃ,V?w{??lZ???˺??h??/\n??+R???3??)z?x??|~{?vpcV?\n?߁??Q\r?_?l???????N?j(.?1t?ͨ????awo???3iH?^Y?T???u%۱??Q?=?6?ĐK?É?f??A??m????L+?-u=??AH?%;S??F???!o?ү?zW%????????$???,??????2????#7?`CW?}FG?5#?$Ps?? ??????N2?v??$?ƽ᫵QQ`????4~????\Z5????ua??+?%/8???X7Q???@?@?=,$?????????c=??w????~L?????S?zs???Q-M\n]????:??h???.a??~???5(?\"ن????7?ؐӆ<oH?l?u???nu?[?????????X????^???\0j??\r?\"O??}}}es?Q`~xN??I^???:?9??bR@p??hğ???]???P ?eqe;?Rx??????vx-ɪ?ƽ?????此???N7??T??4??}{w塬1ؓ?)??J?d:Yv|.??|`/?','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ff99b703a78aa24ce0bf0b07e5b8fb2d','e?͒?0??;>?\'?!aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????ue?co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c???m?J???r????????f$??9???t?3RJ5?yz?KHa? S?v?¾so??T0ȝ?b?+???d?T??T@???|K.?Bg?Yr???ZDuB?ˣ?!~??ݱ(???????jwX??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?ߐÆd?o?C?\r9m?C???Q?۰??6?????eq????V?i3?:;??I¡?\"+?????CQeY^??~??S?????~???49fY??O????4??h????=????#?eqc;????????wx+?I????~?/??%}]f??9?T?ю-i&i?}yseV??\\???>?uR%??????\'??','2038-01-19 03:14:07'),('sergios_mwcloud-peg_:resourceloader:filter:minify-js:4:ffdd448a050a01fa07bce261244f734f','e???0????N?q?`?=?????V? $W?n???\07?????*-?IE?q?8?{s???w?%??`4?*G?dG?	??8?@*??y?@\na??F=.?U4\\?h\Zp>\"????s?ѼVLI??????+?֯t?????????){??3Ű&ԳVI??`??淋??????iL	????e#??کV\r?T&??5???bQ!Hg??&\rF???t0??!V?????0?遞?6?D?K?Í?1f?}AFY??VJI?$?֔u???`[?\\?*?k.a4ZH;W솼9ǐ~\rػ?b?ŎX?m?T??hT?????3un??+kFT????+Q??ךS??? ??????N2?W1??????0??,6??aoP?C??4j?ʷ?օ!t??%J^`?ATG?=?,\n1f????;6???0?S?+????ƻ{?@?????r???x՛?\r?jiR??ZI?????n????????O??JP?$ېÆ?Rl?C?r9m????m?N?a?۸?????????a,{;???? Pdy?</3?v,?8?R????8?/??ܩ??8?8??????/iy:L淕?8??w???!?g?_Ɏ?\"?Qt??????j5Ҹ???d?y??2???JH?;?????????ѤHh?\n??5??y.?.?=???','2038-01-19 03:14:07');
/*!40000 ALTER TABLE `peg_objectcache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_msg_resource_links`
--

DROP TABLE IF EXISTS `peg_msg_resource_links`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_msg_resource_links` (
  `mrl_resource` varbinary(255) NOT NULL,
  `mrl_message` varbinary(255) NOT NULL,
  UNIQUE KEY `mrl_message_resource` (`mrl_message`,`mrl_resource`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_msg_resource_links`
--

LOCK TABLES `peg_msg_resource_links` WRITE;
/*!40000 ALTER TABLE `peg_msg_resource_links` DISABLE KEYS */;
INSERT INTO `peg_msg_resource_links` VALUES ('jquery.makeCollapsible','collapsible-collapse'),('jquery.makeCollapsible','collapsible-expand'),('mediawiki.legacy.wikibits','hidetoc'),('mediawiki.special.upload','largefileserver'),('mediawiki.action.view.metadata','metadata-collapse'),('mediawiki.action.view.metadata','metadata-expand'),('mediawiki.legacy.wikibits','showtoc'),('mediawiki.special.upload','size-bytes'),('mediawiki.special.upload','size-gigabytes'),('mediawiki.special.upload','size-kilobytes'),('mediawiki.special.upload','size-megabytes'),('ext.svgedit.editButton','svgedit-edit-tab'),('ext.svgedit.editButton','svgedit-edit-tab-tooltip'),('ext.svgedit.editButton','svgedit-editbutton-edit'),('ext.svgedit.editor','svgedit-editor-close'),('ext.svgedit.editor','svgedit-editor-save-close'),('ext.svgedit.editor','svgedit-summary-default'),('ext.svgedit.editor','svgedit-summary-label'),('ext.svgedit.toolbar','svgedit-toolbar-insert'),('mediawiki.action.watch.ajax','tooltip-ca-unwatch'),('mediawiki.action.watch.ajax','tooltip-ca-watch'),('mediawiki.action.watch.ajax','unwatch'),('mediawiki.action.watch.ajax','unwatching'),('mediawiki.action.watch.ajax','watch'),('mediawiki.action.watch.ajax','watcherrortext'),('mediawiki.action.watch.ajax','watching'),('mediawiki.special.upload','widthheight');
/*!40000 ALTER TABLE `peg_msg_resource_links` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_interwiki`
--

DROP TABLE IF EXISTS `fzg_interwiki`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_interwiki` (
  `iw_prefix` varbinary(32) NOT NULL,
  `iw_url` blob NOT NULL,
  `iw_api` blob NOT NULL,
  `iw_wikiid` varbinary(64) NOT NULL,
  `iw_local` tinyint(1) NOT NULL,
  `iw_trans` tinyint(4) NOT NULL default '0',
  UNIQUE KEY `iw_prefix` (`iw_prefix`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_interwiki`
--

LOCK TABLES `fzg_interwiki` WRITE;
/*!40000 ALTER TABLE `fzg_interwiki` DISABLE KEYS */;
INSERT INTO `fzg_interwiki` VALUES ('acronym','http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=$1','','',0,0),('advogato','http://www.advogato.org/$1','','',0,0),('annotationwiki','http://www.seedwiki.com/page.cfm?wikiid=368&doc=$1','','',0,0),('arxiv','http://www.arxiv.org/abs/$1','','',0,0),('c2find','http://c2.com/cgi/wiki?FindPage&value=$1','','',0,0),('cache','http://www.google.com/search?q=cache:$1','','',0,0),('commons','http://commons.wikimedia.org/wiki/$1','','',0,0),('corpknowpedia','http://corpknowpedia.org/wiki/index.php/$1','','',0,0),('dictionary','http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1','','',0,0),('disinfopedia','http://www.disinfopedia.org/wiki.phtml?title=$1','','',0,0),('docbook','http://wiki.docbook.org/topic/$1','','',0,0),('doi','http://dx.doi.org/$1','','',0,0),('drumcorpswiki','http://www.drumcorpswiki.com/index.php/$1','','',0,0),('dwjwiki','http://www.suberic.net/cgi-bin/dwj/wiki.cgi?$1','','',0,0),('elibre','http://enciclopedia.us.es/index.php/$1','','',0,0),('emacswiki','http://www.emacswiki.org/cgi-bin/wiki.pl?$1','','',0,0),('foldoc','http://foldoc.org/?$1','','',0,0),('foxwiki','http://fox.wikis.com/wc.dll?Wiki~$1','','',0,0),('freebsdman','http://www.FreeBSD.org/cgi/man.cgi?apropos=1&query=$1','','',0,0),('gej','http://www.esperanto.de/cgi-bin/aktivikio/wiki.pl?$1','','',0,0),('gentoo-wiki','http://gentoo-wiki.com/$1','','',0,0),('google','http://www.google.com/search?q=$1','','',0,0),('googlegroups','http://groups.google.com/groups?q=$1','','',0,0),('hammondwiki','http://www.dairiki.org/HammondWiki/$1','','',0,0),('hewikisource','http://he.wikisource.org/wiki/$1','','',1,0),('hrwiki','http://www.hrwiki.org/index.php/$1','','',0,0),('imdb','http://us.imdb.com/Title?$1','','',0,0),('jargonfile','http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1','','',0,0),('jspwiki','http://www.jspwiki.org/wiki/$1','','',0,0),('keiki','http://kei.ki/en/$1','','',0,0),('kmwiki','http://kmwiki.wikispaces.com/$1','','',0,0),('linuxwiki','http://linuxwiki.de/$1','','',0,0),('lojban','http://www.lojban.org/tiki/tiki-index.php?page=$1','','',0,0),('lqwiki','http://wiki.linuxquestions.org/wiki/$1','','',0,0),('lugkr','http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1','','',0,0),('mathsongswiki','http://SeedWiki.com/page.cfm?wikiid=237&doc=$1','','',0,0),('meatball','http://www.usemod.com/cgi-bin/mb.pl?$1','','',0,0),('mediawikiwiki','http://www.mediawiki.org/wiki/$1','','',0,0),('mediazilla','https://bugzilla.wikimedia.org/$1','','',1,0),('memoryalpha','http://www.memory-alpha.org/en/index.php/$1','','',0,0),('metawiki','http://sunir.org/apps/meta.pl?$1','','',0,0),('metawikipedia','http://meta.wikimedia.org/wiki/$1','','',0,0),('moinmoin','http://purl.net/wiki/moin/$1','','',0,0),('mozillawiki','http://wiki.mozilla.org/index.php/$1','','',0,0),('mw','http://www.mediawiki.org/wiki/$1','','',0,0),('oeis','http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1','','',0,0),('openfacts','http://openfacts.berlios.de/index.phtml?title=$1','','',0,0),('openwiki','http://openwiki.com/?$1','','',0,0),('pmeg','http://www.bertilow.com/pmeg/$1.php','','',0,0),('ppr','http://c2.com/cgi/wiki?$1','','',0,0),('pythoninfo','http://wiki.python.org/moin/$1','','',0,0),('rfc','http://www.rfc-editor.org/rfc/rfc$1.txt','','',0,0),('s23wiki','http://is-root.de/wiki/index.php/$1','','',0,0),('seattlewiki','http://seattle.wikia.com/wiki/$1','','',0,0),('seattlewireless','http://seattlewireless.net/?$1','','',0,0),('senseislibrary','http://senseis.xmp.net/?$1','','',0,0),('sourceforge','http://sourceforge.net/$1','','',0,0),('squeak','http://wiki.squeak.org/squeak/$1','','',0,0),('susning','http://www.susning.nu/$1','','',0,0),('svgwiki','http://wiki.svg.org/$1','','',0,0),('tavi','http://tavi.sourceforge.net/$1','','',0,0),('tejo','http://www.tejo.org/vikio/$1','','',0,0),('theopedia','http://www.theopedia.com/$1','','',0,0),('tmbw','http://www.tmbw.net/wiki/$1','','',0,0),('tmnet','http://www.technomanifestos.net/?$1','','',0,0),('tmwiki','http://www.EasyTopicMaps.com/?page=$1','','',0,0),('twiki','http://twiki.org/cgi-bin/view/$1','','',0,0),('uea','http://www.tejo.org/uea/$1','','',0,0),('unreal','http://wiki.beyondunreal.com/wiki/$1','','',0,0),('usemod','http://www.usemod.com/cgi-bin/wiki.pl?$1','','',0,0),('vinismo','http://vinismo.com/en/$1','','',0,0),('webseitzwiki','http://webseitz.fluxent.com/wiki/$1','','',0,0),('why','http://clublet.com/c/c/why?$1','','',0,0),('wiki','http://c2.com/cgi/wiki?$1','','',0,0),('wikia','http://www.wikia.com/wiki/$1','','',0,0),('wikibooks','http://en.wikibooks.org/wiki/$1','','',1,0),('wikicities','http://www.wikia.com/wiki/$1','','',0,0),('wikif1','http://www.wikif1.org/$1','','',0,0),('wikihow','http://www.wikihow.com/$1','','',0,0),('wikimedia','http://wikimediafoundation.org/wiki/$1','','',0,0),('wikinews','http://en.wikinews.org/wiki/$1','','',1,0),('wikinfo','http://www.wikinfo.org/index.php/$1','','',0,0),('wikipedia','http://en.wikipedia.org/wiki/$1','','',1,0),('wikiquote','http://en.wikiquote.org/wiki/$1','','',1,0),('wikisource','http://wikisource.org/wiki/$1','','',1,0),('wikispecies','http://species.wikimedia.org/wiki/$1','','',1,0),('wikitravel','http://wikitravel.org/en/$1','','',0,0),('wikiversity','http://en.wikiversity.org/wiki/$1','','',1,0),('wikt','http://en.wiktionary.org/wiki/$1','','',1,0),('wiktionary','http://en.wiktionary.org/wiki/$1','','',1,0),('wlug','http://www.wlug.org.nz/$1','','',0,0),('zwiki','http://zwiki.org/$1','','',0,0),('zzz wiki','http://wiki.zzz.ee/index.php/$1','','',0,0);
/*!40000 ALTER TABLE `fzg_interwiki` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_trackbacks`
--

DROP TABLE IF EXISTS `fzg_trackbacks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_trackbacks` (
  `tb_id` int(11) NOT NULL auto_increment,
  `tb_page` int(11) default NULL,
  `tb_title` varbinary(255) NOT NULL,
  `tb_url` blob NOT NULL,
  `tb_ex` blob,
  `tb_name` varbinary(255) default NULL,
  PRIMARY KEY  (`tb_id`),
  KEY `tb_page` (`tb_page`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_trackbacks`
--

LOCK TABLES `fzg_trackbacks` WRITE;
/*!40000 ALTER TABLE `fzg_trackbacks` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_trackbacks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_transcache`
--

DROP TABLE IF EXISTS `peg_transcache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_transcache` (
  `tc_url` varbinary(255) NOT NULL,
  `tc_contents` blob,
  `tc_time` binary(14) default NULL,
  UNIQUE KEY `tc_url_idx` (`tc_url`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_transcache`
--

LOCK TABLES `peg_transcache` WRITE;
/*!40000 ALTER TABLE `peg_transcache` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_transcache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_page_restrictions`
--

DROP TABLE IF EXISTS `fzg_page_restrictions`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_page_restrictions` (
  `pr_page` int(11) NOT NULL,
  `pr_type` varbinary(60) NOT NULL,
  `pr_level` varbinary(60) NOT NULL,
  `pr_cascade` tinyint(4) NOT NULL,
  `pr_user` int(11) default NULL,
  `pr_expiry` varbinary(14) default NULL,
  `pr_id` int(10) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (`pr_id`),
  UNIQUE KEY `pr_pagetype` (`pr_page`,`pr_type`),
  KEY `pr_typelevel` (`pr_type`,`pr_level`),
  KEY `pr_level` (`pr_level`),
  KEY `pr_cascade` (`pr_cascade`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_page_restrictions`
--

LOCK TABLES `fzg_page_restrictions` WRITE;
/*!40000 ALTER TABLE `fzg_page_restrictions` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_page_restrictions` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_hitcounter`
--

DROP TABLE IF EXISTS `pvt_hitcounter`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_hitcounter` (
  `hc_id` int(10) unsigned NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=25000;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_hitcounter`
--

LOCK TABLES `pvt_hitcounter` WRITE;
/*!40000 ALTER TABLE `pvt_hitcounter` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_hitcounter` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_image`
--

DROP TABLE IF EXISTS `fzg_image`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_image` (
  `img_name` varbinary(255) NOT NULL default '',
  `img_size` int(10) unsigned NOT NULL default '0',
  `img_width` int(11) NOT NULL default '0',
  `img_height` int(11) NOT NULL default '0',
  `img_metadata` mediumblob NOT NULL,
  `img_bits` int(11) NOT NULL default '0',
  `img_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `img_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL default 'unknown',
  `img_minor_mime` varbinary(100) NOT NULL default 'unknown',
  `img_description` tinyblob NOT NULL,
  `img_user` int(10) unsigned NOT NULL default '0',
  `img_user_text` varbinary(255) NOT NULL,
  `img_timestamp` varbinary(14) NOT NULL default '',
  `img_sha1` varbinary(32) NOT NULL default '',
  PRIMARY KEY  (`img_name`),
  KEY `img_usertext_timestamp` (`img_user_text`,`img_timestamp`),
  KEY `img_size` (`img_size`),
  KEY `img_timestamp` (`img_timestamp`),
  KEY `img_sha1` (`img_sha1`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_image`
--

LOCK TABLES `fzg_image` WRITE;
/*!40000 ALTER TABLE `fzg_image` DISABLE KEYS */;
INSERT INTO `fzg_image` VALUES ('FZG.DOCS.Pantalla.Presupuesto.jpg',152454,859,544,'a:2:{s:15:\"JPEGFileComment\";a:1:{i:0;s:17:\"Created with GIMP\";}s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329204512','quqs6jinnrfo4jtthhpxygwnkdd0h0i'),('FZG.DOCS.Procesos.Ayuda.jpg',10688,460,84,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329170632','e9ymq7l8cjb4lnj8zs1tfmhb4a2svfu'),('FZG.DOCS.Procesos.Composicion.jpg',53502,473,265,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329164929','gom5t57e6ou1c53mf89c9pphcymdtxx'),('FZG.DOCS.Procesos.Precios.jpg',58658,482,357,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329164959','8pc1omcvkyv24nvsuhmhkogjvkpu7bf'),('FZG.DOCS.Procesos.Presupuesto.jpg',63956,781,492,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329165020','ccyqiwgqe75azvr2ij9fvlptg3su1lg'),('FZG.DOCS.Procesos.Productos.jpg',18544,480,113,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329165105','5hzhqm5pzvba2moagsxvfjaay3z2txx');
/*!40000 ALTER TABLE `fzg_image` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_querycache_info`
--

DROP TABLE IF EXISTS `pvt_querycache_info`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_querycache_info` (
  `qci_type` varbinary(32) NOT NULL default '',
  `qci_timestamp` binary(14) NOT NULL default '19700101000000',
  UNIQUE KEY `qci_type` (`qci_type`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_querycache_info`
--

LOCK TABLES `pvt_querycache_info` WRITE;
/*!40000 ALTER TABLE `pvt_querycache_info` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_querycache_info` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_imagelinks`
--

DROP TABLE IF EXISTS `peg_imagelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_imagelinks` (
  `il_from` int(10) unsigned NOT NULL default '0',
  `il_to` varbinary(255) NOT NULL default '',
  UNIQUE KEY `il_from` (`il_from`,`il_to`),
  UNIQUE KEY `il_to` (`il_to`,`il_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_imagelinks`
--

LOCK TABLES `peg_imagelinks` WRITE;
/*!40000 ALTER TABLE `peg_imagelinks` DISABLE KEYS */;
INSERT INTO `peg_imagelinks` VALUES (14,'Warning-icon-hi.png'),(19,'FZG.FORMS.Presupuesto.Relaciones.Macros.jpg'),(25,'Warning-icon-hi.png'),(47,'Checked.png'),(47,'Warning-icon-hi.png'),(51,'FZG.DOCS.Componentes.Schema.png'),(51,'FZG.DOCS.Pantalla.Presupuesto.jpg'),(51,'FZG.DOCS.Proceso.Modulo.to.Producto.png'),(51,'FZG.DOCS.Procesos.Ayuda.jpg'),(51,'FZG.DOCS.Procesos.Composicion.jpg'),(51,'FZG.DOCS.Procesos.Precios.jpg'),(51,'FZG.DOCS.Procesos.Presupuesto.jpg'),(51,'FZG.DOCS.Procesos.Productos.jpg'),(59,'Checked.png'),(59,'Warning-icon-hi.png'),(120,'SpanexGestion.FORM.Modulos.png'),(151,'Esquema.Tablas.Presupuesto.jpg'),(175,'FCMFrame.png'),(175,'OOBasicCode.window.png');
/*!40000 ALTER TABLE `peg_imagelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_ipblocks`
--

DROP TABLE IF EXISTS `peg_ipblocks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_ipblocks` (
  `ipb_id` int(11) NOT NULL auto_increment,
  `ipb_address` tinyblob NOT NULL,
  `ipb_user` int(10) unsigned NOT NULL default '0',
  `ipb_by` int(10) unsigned NOT NULL default '0',
  `ipb_by_text` varbinary(255) NOT NULL default '',
  `ipb_reason` tinyblob NOT NULL,
  `ipb_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `ipb_auto` tinyint(1) NOT NULL default '0',
  `ipb_anon_only` tinyint(1) NOT NULL default '0',
  `ipb_create_account` tinyint(1) NOT NULL default '1',
  `ipb_enable_autoblock` tinyint(1) NOT NULL default '1',
  `ipb_expiry` varbinary(14) NOT NULL default '',
  `ipb_range_start` tinyblob NOT NULL,
  `ipb_range_end` tinyblob NOT NULL,
  `ipb_deleted` tinyint(1) NOT NULL default '0',
  `ipb_block_email` tinyint(1) NOT NULL default '0',
  `ipb_allow_usertalk` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`ipb_id`),
  UNIQUE KEY `ipb_address` (`ipb_address`(255),`ipb_user`,`ipb_auto`,`ipb_anon_only`),
  KEY `ipb_user` (`ipb_user`),
  KEY `ipb_range` (`ipb_range_start`(8),`ipb_range_end`(8)),
  KEY `ipb_timestamp` (`ipb_timestamp`),
  KEY `ipb_expiry` (`ipb_expiry`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_ipblocks`
--

LOCK TABLES `peg_ipblocks` WRITE;
/*!40000 ALTER TABLE `peg_ipblocks` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_ipblocks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_protected_titles`
--

DROP TABLE IF EXISTS `peg_protected_titles`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_protected_titles` (
  `pt_namespace` int(11) NOT NULL,
  `pt_title` varbinary(255) NOT NULL,
  `pt_user` int(10) unsigned NOT NULL,
  `pt_reason` tinyblob,
  `pt_timestamp` binary(14) NOT NULL,
  `pt_expiry` varbinary(14) NOT NULL default '',
  `pt_create_perm` varbinary(60) NOT NULL,
  UNIQUE KEY `pt_namespace_title` (`pt_namespace`,`pt_title`),
  KEY `pt_timestamp` (`pt_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_protected_titles`
--

LOCK TABLES `peg_protected_titles` WRITE;
/*!40000 ALTER TABLE `peg_protected_titles` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_protected_titles` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_logging`
--

DROP TABLE IF EXISTS `peg_logging`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_logging` (
  `log_id` int(10) unsigned NOT NULL auto_increment,
  `log_type` varbinary(32) NOT NULL default '',
  `log_action` varbinary(32) NOT NULL default '',
  `log_timestamp` binary(14) NOT NULL default '19700101000000',
  `log_user` int(10) unsigned NOT NULL default '0',
  `log_user_text` varbinary(255) NOT NULL default '',
  `log_namespace` int(11) NOT NULL default '0',
  `log_title` varbinary(255) NOT NULL default '',
  `log_page` int(10) unsigned default NULL,
  `log_comment` varbinary(255) NOT NULL default '',
  `log_params` blob NOT NULL,
  `log_deleted` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`log_id`),
  KEY `type_time` (`log_type`,`log_timestamp`),
  KEY `user_time` (`log_user`,`log_timestamp`),
  KEY `page_time` (`log_namespace`,`log_title`,`log_timestamp`),
  KEY `times` (`log_timestamp`),
  KEY `log_user_type_time` (`log_user`,`log_type`,`log_timestamp`),
  KEY `log_page_id_time` (`log_page`,`log_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=1392 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_logging`
--

LOCK TABLES `peg_logging` WRITE;
/*!40000 ALTER TABLE `peg_logging` DISABLE KEYS */;
INSERT INTO `peg_logging` VALUES (1,'patrol','patrol','20120213215848',1,'Administrador',0,'Página_principal',2,'','71\n52\n1',0),(2,'patrol','patrol','20120222150427',1,'Administrador',0,'Gestión_Retail_Aberturas:_Pendientes',4,'','72\n40\n1',0),(3,'patrol','patrol','20120222151112',1,'Administrador',0,'Gestión_Retail_Aberturas:_Pendientes',4,'','73\n72\n1',0),(4,'patrol','patrol','20120227223236',1,'Administrador',0,'Página_principal',2,'','74\n71\n1',0),(5,'patrol','patrol','20120227223737',1,'Administrador',0,'Página_principal',2,'','75\n74\n1',0),(6,'patrol','patrol','20120227223901',1,'Administrador',0,'Página_principal',2,'','76\n75\n1',0),(7,'patrol','patrol','20120228003238',1,'Administrador',0,'Página_principal',2,'','77\n76\n1',0),(8,'patrol','patrol','20120229000716',1,'Administrador',0,'Página_principal',2,'','78\n77\n1',0),(9,'patrol','patrol','20120308021036',1,'Administrador',0,'Página_principal',2,'','79\n78\n1',0),(10,'patrol','patrol','20120308021321',1,'Administrador',0,'Página_principal',2,'','80\n79\n1',0),(11,'patrol','patrol','20120308085536',1,'Administrador',0,'Página_principal',2,'','81\n80\n1',0),(12,'patrol','patrol','20120308085604',1,'Administrador',0,'Página_principal',2,'','82\n81\n1',0),(13,'patrol','patrol','20120309150245',1,'Administrador',0,'Página_principal',2,'','83\n82\n1',0),(14,'patrol','patrol','20120309150458',1,'Administrador',0,'Página_principal',2,'','84\n83\n1',0),(15,'patrol','patrol','20120309151039',1,'Administrador',0,'Página_principal',2,'','85\n84\n1',0),(16,'patrol','patrol','20120309152432',1,'Administrador',0,'Página_principal',2,'','86\n85\n1',0),(17,'patrol','patrol','20120309190237',1,'Administrador',0,'Página_principal',2,'','87\n86\n1',0),(18,'patrol','patrol','20120309190530',1,'Administrador',0,'Página_principal',2,'','88\n87\n1',0),(19,'patrol','patrol','20120309190619',1,'Administrador',0,'Página_principal',2,'','89\n88\n1',0),(20,'patrol','patrol','20120309190741',1,'Administrador',0,'Página_principal',2,'','90\n89\n1',0),(21,'patrol','patrol','20120309190806',1,'Administrador',0,'Página_principal',2,'','91\n90\n1',0),(22,'patrol','patrol','20120309202217',1,'Administrador',0,'Página_principal',2,'','92\n91\n1',0),(23,'patrol','patrol','20120309202334',1,'Administrador',0,'Página_principal',2,'','93\n92\n1',0),(24,'patrol','patrol','20120309202433',1,'Administrador',0,'Página_principal',2,'','94\n93\n1',0),(25,'patrol','patrol','20120309203445',1,'Administrador',0,'Página_principal',2,'','95\n94\n1',0),(26,'patrol','patrol','20120309203704',1,'Administrador',0,'Página_principal',2,'','96\n95\n1',0),(27,'patrol','patrol','20120309203813',1,'Administrador',0,'Página_principal',2,'','97\n96\n1',0),(28,'patrol','patrol','20120309210904',1,'Administrador',0,'Página_principal',2,'','98\n97\n1',0),(29,'patrol','patrol','20120309211239',1,'Administrador',0,'Página_principal',2,'','99\n98\n1',0),(30,'patrol','patrol','20120309211544',1,'Administrador',0,'Página_principal',2,'','100\n99\n1',0),(31,'patrol','patrol','20120309212213',1,'Administrador',0,'Página_principal',2,'','101\n100\n1',0),(32,'patrol','patrol','20120309212440',1,'Administrador',0,'Página_principal',2,'','102\n101\n1',0),(33,'patrol','patrol','20120309212617',1,'Administrador',0,'Página_principal',2,'','103\n102\n1',0),(34,'patrol','patrol','20120309212730',1,'Administrador',0,'Página_principal',2,'','104\n103\n1',0),(35,'patrol','patrol','20120310002854',1,'Administrador',0,'Página_principal',2,'','105\n104\n1',0),(36,'patrol','patrol','20120310003940',1,'Administrador',0,'Página_principal',2,'','106\n105\n1',0),(37,'patrol','patrol','20120310004143',1,'Administrador',0,'Página_principal',2,'','107\n106\n1',0),(38,'patrol','patrol','20120310004808',1,'Administrador',0,'Página_principal',2,'','108\n107\n1',0),(39,'patrol','patrol','20120310011439',1,'Administrador',0,'Página_principal',2,'','109\n108\n1',0),(40,'patrol','patrol','20120310011935',1,'Administrador',0,'Página_principal',2,'','110\n109\n1',0),(41,'patrol','patrol','20120310033111',1,'Administrador',0,'Página_principal',2,'','111\n110\n1',0),(42,'patrol','patrol','20120310033253',1,'Administrador',0,'Página_principal',2,'','112\n111\n1',0),(43,'patrol','patrol','20120310033508',1,'Administrador',0,'Página_principal',2,'','113\n112\n1',0),(44,'patrol','patrol','20120310033645',1,'Administrador',0,'Página_principal',2,'','114\n113\n1',0),(45,'patrol','patrol','20120310034012',1,'Administrador',0,'Página_principal',2,'','115\n114\n1',0),(46,'patrol','patrol','20120310035211',1,'Administrador',0,'Página_principal',2,'','116\n115\n1',0),(47,'patrol','patrol','20120314150318',1,'Administrador',0,'Página_principal',2,'','117\n116\n1',0),(48,'patrol','patrol','20120314150610',1,'Administrador',0,'Página_principal',2,'','118\n117\n1',0),(49,'patrol','patrol','20120314151143',1,'Administrador',0,'Página_principal',2,'','119\n118\n1',0),(50,'patrol','patrol','20120315145234',1,'Administrador',0,'Página_principal',2,'','120\n119\n1',0),(51,'patrol','patrol','20120315145317',1,'Administrador',0,'Página_principal',2,'','121\n120\n1',0),(52,'patrol','patrol','20120315145519',1,'Administrador',0,'Página_principal',2,'','122\n121\n1',0),(53,'patrol','patrol','20120315145559',1,'Administrador',0,'Página_principal',2,'','123\n122\n1',0),(54,'patrol','patrol','20120315145739',1,'Administrador',0,'FZG.Vista.vislineabs.sql',8,'','124\n0\n1',0),(55,'patrol','patrol','20120315145817',1,'Administrador',0,'Página_principal',2,'','125\n123\n1',0),(56,'patrol','patrol','20120315150106',1,'Administrador',0,'FZG.Vista.vislineabs.sql',8,'','126\n124\n1',0),(57,'patrol','patrol','20120319133451',1,'Administrador',0,'Página_principal',2,'','127\n125\n1',0),(58,'patrol','patrol','20120319134618',1,'Administrador',0,'FZG.Procedure.ActualizaPreciosTabular.sql',9,'','128\n0\n1',0),(59,'patrol','patrol','20120319134837',1,'Administrador',0,'FZG.Procedure.ActualizaPreciosTabular.sql',9,'','129\n128\n1',0),(60,'patrol','patrol','20120319194332',1,'Administrador',0,'FZG.Procedure.ActualizaPreciosTabular.sql',9,'','130\n129\n1',0),(61,'patrol','patrol','20120320002545',1,'Administrador',0,'Página_principal',2,'','131\n127\n1',0),(62,'patrol','patrol','20120320002610',1,'Administrador',0,'Página_principal',2,'','132\n131\n1',0),(63,'patrol','patrol','20120320002742',1,'Administrador',0,'VISTA:_visrepprec',10,'','133\n0\n1',0),(64,'patrol','patrol','20120321130642',1,'Administrador',0,'Página_principal',2,'','134\n132\n1',0),(65,'patrol','patrol','20120321130742',1,'Administrador',0,'Página_principal',2,'','135\n134\n1',0),(66,'patrol','patrol','20120321131646',1,'Administrador',0,'Página_principal',2,'','136\n135\n1',0),(67,'patrol','patrol','20120321132321',1,'Administrador',0,'Página_principal',2,'','137\n136\n1',0),(68,'patrol','patrol','20120321132410',1,'Administrador',0,'Página_principal',2,'','138\n137\n1',0),(69,'patrol','patrol','20120321132542',1,'Administrador',0,'Página_principal',2,'','139\n138\n1',0),(70,'patrol','patrol','20120321132705',1,'Administrador',0,'FZG.Vista.precioscmpl.sql',11,'','140\n0\n1',0),(71,'patrol','patrol','20120322001110',1,'Administrador',0,'Página_principal',2,'','141\n139\n1',0),(72,'patrol','patrol','20120322001131',1,'Administrador',0,'Página_principal',2,'','142\n141\n1',0),(73,'patrol','patrol','20120322001228',1,'Administrador',0,'FZG.Vista.viscompcnt.sql',12,'','143\n0\n1',0),(74,'patrol','patrol','20120322001404',1,'Administrador',0,'FZG.Vista.viscompcnt.sql',12,'','144\n143\n1',0),(75,'patrol','patrol','20120322001600',1,'Administrador',0,'Página_principal',2,'','145\n142\n1',0),(76,'patrol','patrol','20120322001710',1,'Administrador',0,'Página_principal',2,'','146\n145\n1',0),(77,'patrol','patrol','20120323151620',1,'Administrador',0,'Página_principal',2,'','147\n146\n1',0),(78,'patrol','patrol','20120323151713',1,'Administrador',0,'Página_principal',2,'','148\n147\n1',0),(79,'patrol','patrol','20120323152040',1,'Administrador',0,'Página_principal',2,'','149\n148\n1',0),(80,'patrol','patrol','20120323152854',1,'Administrador',0,'Página_principal',2,'','150\n149\n1',0),(81,'patrol','patrol','20120323153521',1,'Administrador',0,'Página_principal',2,'','151\n150\n1',0),(82,'patrol','patrol','20120325205809',1,'Administrador',0,'Página_principal',2,'','152\n151\n1',0),(83,'patrol','patrol','20120327162240',1,'Administrador',0,'Página_principal',2,'','153\n152\n1',0),(84,'patrol','patrol','20120327162256',1,'Administrador',0,'Developing',13,'','154\n0\n1',0),(85,'patrol','patrol','20120327162401',1,'Administrador',0,'Developing',13,'','155\n154\n1',0),(86,'patrol','patrol','20120328133635',1,'Administrador',0,'Página_principal',2,'','156\n153\n1',0),(87,'patrol','patrol','20120328134047',1,'Administrador',0,'GRA:_Releases',14,'','157\n0\n1',0),(88,'patrol','patrol','20120328143119',1,'Administrador',0,'GRA:_Pendientes',15,'','158\n0\n1',0),(89,'patrol','patrol','20120328143239',1,'Administrador',0,'GRA:_Bitácora',16,'','159\n0\n1',0),(90,'patrol','patrol','20120328143320',1,'Administrador',0,'GRA:_Relaciones',17,'','160\n0\n1',0),(91,'move','move','20120328143459',1,'Administrador',0,'Vista:visindetpre',18,'','Vista:visintdetpre\n',0),(92,'delete','delete','20120328143549',1,'Administrador',0,'Gestión_Retail_Aberturas:_Relaciones',0,'el contenido era: «=== Estructuras de Datos === ==== Tablas ==== *catinsumos *cmoneda *composicion *composicionqry *contactos *cpar *debugstmt *elementos *insumos *listasprecios *logprecios *monedas *precios *preciosqry *productos *reppresqry *trans...»','',0),(93,'delete','delete','20120328143608',1,'Administrador',0,'Gestión_Retail_Aberturas:_Pendientes',0,'el contenido era: «*<del>Controlar Accesos por IP</del> *Licensing. Como*s + Precios -> Documentar *Transacciones *<del>SendTo - PDF</del> *Parser **[\'\'value;value;...\'\'] **{\'\'expresion\'\'} *Librería de Ventanas *Gráficos *Rutinas Java *Pruebas URL...»','',0),(94,'delete','delete','20120328143617',1,'Administrador',0,'Gestión_Retail_Aberturas:_Bitácora',0,'el contenido era: « == 20120112 == * Activación de Wiki * Desarrollo y test de [[TRIGGER:Alta_Productos]] * Modificación de [[VISTA:visindetpre]] * Modificación de [[TABLA:composicion]] ** Default values para Coeficientes Alto/Ancho y Offset Alto...»','',0),(95,'patrol','patrol','20120328144249',1,'Administrador',0,'GRA:_Releases',14,'','163\n157\n1',0),(96,'patrol','patrol','20120328150432',1,'Administrador',0,'FORM:Presupuesto',19,'','164\n0\n1',0),(97,'patrol','patrol','20120328150516',1,'Administrador',0,'FORM:Presupuesto',19,'','165\n164\n1',0),(98,'patrol','patrol','20120328150547',1,'Administrador',0,'FORM:Presupuesto',19,'','166\n165\n1',0),(99,'patrol','patrol','20120328150923',1,'Administrador',0,'FORM:Presupuesto',19,'','167\n166\n1',0),(100,'upload','upload','20120328151845',1,'Administrador',6,'FZG.FORMS.Presupuesto.Relaciones.Macros.jpg',0,'','',0),(101,'patrol','patrol','20120328193341',1,'Administrador',0,'GRA:_Releases',14,'','169\n163\n1',0),(102,'patrol','patrol','20120328193638',1,'Administrador',0,'GRA:_Releases',14,'','170\n169\n1',0),(103,'patrol','patrol','20120328193954',1,'Administrador',0,'GRA:_Releases',14,'','171\n170\n1',0),(104,'patrol','patrol','20120328194017',1,'Administrador',0,'GRA:_Releases',14,'','172\n171\n1',0),(105,'patrol','patrol','20120328194031',1,'Administrador',0,'GRA:_Releases',14,'','173\n172\n1',0),(106,'patrol','patrol','20120329163730',1,'Administrador',0,'Developing',13,'','174\n155\n1',0),(107,'patrol','patrol','20120329163945',1,'Administrador',0,'Developing',13,'','175\n174\n1',0),(108,'patrol','patrol','20120329164031',1,'Administrador',0,'Developing',13,'','176\n175\n1',0),(109,'patrol','patrol','20120330022116',1,'Administrador',0,'GRA:_Releases',14,'','177\n173\n1',0),(110,'patrol','patrol','20120403095030',1,'Administrador',0,'GRA:_Releases',14,'','178\n177\n1',0),(111,'patrol','patrol','20120403095835',1,'Administrador',0,'GRA:_Releases',14,'','179\n178\n1',0),(112,'patrol','patrol','20120403102327',1,'Administrador',0,'GRA:_Releases',14,'','180\n179\n1',0),(113,'patrol','patrol','20120404220021',1,'Administrador',0,'GRA:_Releases',14,'','181\n180\n1',0),(114,'patrol','patrol','20120404233129',1,'Administrador',0,'GRA:_Releases',14,'','182\n181\n1',0),(115,'patrol','patrol','20120407093059',1,'Administrador',0,'GRA:_Releases',14,'','183\n182\n1',0),(116,'patrol','patrol','20120410132501',1,'Administrador',0,'GRA:_Releases',14,'','184\n183\n1',0),(117,'patrol','patrol','20120413024940',1,'Administrador',0,'GRA:_Releases',14,'','185\n184\n1',0),(118,'patrol','patrol','20120417181905',1,'Administrador',0,'GRA:_Relaciones',17,'','186\n160\n1',0),(119,'patrol','patrol','20120417182419',1,'Administrador',0,'TABLA:composicion',5,'','187\n47\n1',0),(120,'patrol','patrol','20120417182840',1,'Administrador',0,'TABLA:composicion',5,'','188\n187\n1',0),(121,'patrol','patrol','20120417182951',1,'Administrador',0,'TABLA:composicion',5,'','189\n188\n1',0),(122,'patrol','patrol','20120417183024',1,'Administrador',0,'TABLA:composicion',5,'','190\n189\n1',0),(123,'patrol','patrol','20120417183155',1,'Administrador',0,'VISTA:visproadic',21,'','191\n0\n1',0),(124,'patrol','patrol','20120417183223',1,'Administrador',0,'VISTA:visproadic',21,'','192\n191\n1',0),(125,'patrol','patrol','20120417183244',1,'Administrador',0,'VISTA:visproadic',21,'','193\n192\n1',0),(126,'patrol','patrol','20120417183647',1,'Administrador',0,'VISTA:visproadic',21,'','194\n193\n1',0),(127,'patrol','patrol','20120417183808',1,'Administrador',0,'VISTA:visproadic',21,'','195\n194\n1',0),(128,'patrol','patrol','20120417184326',1,'Administrador',0,'VISTA:visproadic',21,'','196\n195\n1',0),(129,'patrol','patrol','20120417184437',1,'Administrador',0,'VISTA:visproadic',21,'','197\n196\n1',0),(130,'patrol','patrol','20120417184450',1,'Administrador',0,'VISTA:visproadic',21,'','198\n197\n1',0),(131,'patrol','patrol','20120417184526',1,'Administrador',0,'VISTA:visproadic',21,'','199\n198\n1',0),(132,'patrol','patrol','20120417184649',1,'Administrador',0,'PROC:CalculaPrecioBase',22,'','200\n0\n1',0),(133,'patrol','patrol','20120417184717',1,'Administrador',0,'PROC:CalculaPrecioBase',22,'','201\n200\n1',0),(134,'patrol','patrol','20120417184742',1,'Administrador',0,'PROC:CalculaPrecioBase',22,'','202\n201\n1',0),(135,'patrol','patrol','20120418003513',1,'Administrador',0,'GRA:_Relaciones',17,'','203\n186\n1',0),(136,'patrol','patrol','20120420014300',1,'Administrador',0,'TABLA:composicion',5,'','204\n190\n1',0),(137,'patrol','patrol','20120420014500',1,'Administrador',0,'GRA:_Relaciones',17,'','205\n203\n1',0),(138,'patrol','patrol','20120420020449',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','206\n0\n1',0),(139,'patrol','patrol','20120420020518',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','207\n206\n1',0),(140,'patrol','patrol','20120420020615',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','208\n207\n1',0),(141,'patrol','patrol','20120420020650',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','209\n208\n1',0),(142,'patrol','patrol','20120420020737',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','210\n209\n1',0),(143,'patrol','patrol','20120420020901',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','211\n210\n1',0),(144,'patrol','patrol','20120420095433',1,'Administrador',0,'GRA:_Releases',14,'','212\n185\n1',0),(145,'patrol','patrol','20120420095709',1,'Administrador',0,'GRA:_Releases',14,'','213\n212\n1',0),(146,'patrol','patrol','20120420104509',1,'Administrador',0,'GRA:_Releases',14,'','214\n213\n1',0),(147,'patrol','patrol','20120420104803',1,'Administrador',0,'GRA:_Releases',14,'','215\n214\n1',0),(148,'patrol','patrol','20120420104826',1,'Administrador',0,'GRA:_Releases',14,'','216\n215\n1',0),(149,'upload','upload','20120420104955',1,'Administrador',6,'Warning-icon-hi.png',0,'','',0),(150,'patrol','patrol','20120420105232',1,'Administrador',0,'GRA:_Releases',14,'','218\n216\n1',0),(151,'patrol','patrol','20120420105759',1,'Administrador',0,'GRA:_Releases',14,'','219\n218\n1',0),(152,'patrol','patrol','20120420105843',1,'Administrador',0,'GRA:_Releases',14,'','220\n219\n1',0),(153,'patrol','patrol','20120423224730',1,'Administrador',0,'GRA:_Releases',14,'','221\n220\n1',0),(154,'patrol','patrol','20120424000510',1,'Administrador',0,'GRA:_Releases',14,'','222\n221\n1',0),(155,'patrol','patrol','20120424000555',1,'Administrador',0,'GRA:_Releases',14,'','223\n222\n1',0),(156,'patrol','patrol','20120502172207',1,'Administrador',0,'Página_principal',2,'','224\n156\n1',0),(157,'patrol','patrol','20120502175555',1,'Administrador',0,'GRA:_PreciosABT',25,'','225\n0\n1',0),(158,'patrol','patrol','20120502175653',1,'Administrador',0,'GRA:_PreciosABT',25,'','226\n225\n1',0),(159,'patrol','patrol','20120502181538',1,'Administrador',0,'GRA:_PreciosABT',25,'','227\n226\n1',0),(160,'patrol','patrol','20120502184505',1,'Administrador',0,'GRA:_PreciosABT',25,'','228\n227\n1',0),(161,'patrol','patrol','20120504171111',1,'Administrador',0,'GRA:_PreciosABT',25,'','229\n228\n1',0),(162,'patrol','patrol','20120504171541',1,'Administrador',0,'GRA:_PreciosABT',25,'','230\n229\n1',0),(163,'patrol','patrol','20120504173022',1,'Administrador',0,'GRA:_PreciosABT',25,'','231\n230\n1',0),(164,'patrol','patrol','20120507190237',1,'Administrador',0,'GRA:_Relaciones',17,'','232\n205\n1',0),(165,'patrol','patrol','20120507190315',1,'Administrador',0,'VISTA:visprdparam',26,'','233\n0\n1',0),(166,'patrol','patrol','20120507190427',1,'Administrador',0,'GRA:_Relaciones',17,'','234\n232\n1',0),(167,'patrol','patrol','20120507190557',1,'Administrador',0,'GRA:_Relaciones',17,'','235\n234\n1',0),(168,'patrol','patrol','20120507191457',1,'Administrador',0,'GRA:_Releases',14,'','236\n223\n1',0),(169,'patrol','patrol','20120509012113',1,'Administrador',0,'GRA:_Relaciones',17,'','237\n235\n1',0),(170,'patrol','patrol','20120509012221',1,'Administrador',0,'VISTA:visrprescmp',27,'','238\n0\n1',0),(171,'patrol','patrol','20120509021840',1,'Administrador',0,'VISTA:visrprescmp',27,'','239\n238\n1',0),(172,'patrol','patrol','20120509021858',1,'Administrador',0,'VISTA:visrprescmp',27,'','240\n239\n1',0),(173,'patrol','patrol','20120509021934',1,'Administrador',0,'VISTA:visrprescmp',27,'','241\n240\n1',0),(174,'patrol','patrol','20120509021958',1,'Administrador',0,'VISTA:visrprescmp',27,'','242\n241\n1',0),(175,'patrol','patrol','20120509022400',1,'Administrador',0,'VISTA:visrprescmp',27,'','243\n242\n1',0),(176,'patrol','patrol','20120509022512',1,'Administrador',0,'VISTA:visrprescmp',27,'','244\n243\n1',0),(177,'patrol','patrol','20120509023736',1,'Administrador',0,'VISTA:visrprescmp',27,'','245\n244\n1',0),(178,'patrol','patrol','20120509023827',1,'Administrador',0,'VISTA:visrprescmp',27,'','246\n245\n1',0),(179,'patrol','patrol','20120510190844',1,'Administrador',0,'GRA:_PreciosABT',25,'','247\n231\n1',0),(180,'patrol','patrol','20120510232143',1,'Administrador',0,'GRA:_PreciosABT',25,'','248\n247\n1',0),(181,'patrol','patrol','20120510232209',1,'Administrador',0,'GRA:_PreciosABT',25,'','249\n248\n1',0),(182,'patrol','patrol','20120511193732',1,'Administrador',0,'GRA:_PreciosABT',25,'','250\n249\n1',0),(183,'patrol','patrol','20120511193824',1,'Administrador',0,'GRA:_PreciosABT',25,'','251\n250\n1',0),(184,'patrol','patrol','20120511193917',1,'Administrador',0,'GRA:_PreciosABT',25,'','252\n251\n1',0),(185,'patrol','patrol','20120511214514',1,'Administrador',0,'GRA:_PreciosABT',25,'','253\n252\n1',0),(186,'patrol','patrol','20120511214737',1,'Administrador',0,'GRA:_PreciosABT',25,'','254\n253\n1',0),(187,'patrol','patrol','20120511221315',1,'Administrador',0,'GRA:_PreciosABT',25,'','255\n254\n1',0),(188,'patrol','patrol','20120514221755',1,'Administrador',0,'GRA:_PreciosABT',25,'','256\n255\n1',0),(189,'patrol','patrol','20120514224149',1,'Administrador',0,'GRA:_PreciosABT',25,'','257\n256\n1',0),(190,'patrol','patrol','20120515200836',1,'Administrador',0,'GRA:_Releases',14,'','258\n236\n1',0),(191,'patrol','patrol','20120515200911',1,'Administrador',0,'GRA:_Releases',14,'','259\n258\n1',0),(192,'patrol','patrol','20120515201039',1,'Administrador',0,'GRA:_Releases',14,'','260\n259\n1',0),(193,'patrol','patrol','20120515202018',1,'Administrador',0,'GRA:_PreciosABT',25,'','261\n257\n1',0),(194,'patrol','patrol','20120515202205',1,'Administrador',0,'GRA:_PreciosABT',25,'','262\n261\n1',0),(195,'patrol','patrol','20120515224751',1,'Administrador',0,'GRA:_PreciosABT',25,'','263\n262\n1',0),(196,'patrol','patrol','20120515225254',1,'Administrador',0,'GRA:_PreciosABT',25,'','264\n263\n1',0),(197,'patrol','patrol','20120515225857',1,'Administrador',0,'GRA:_PreciosABT',25,'','265\n264\n1',0),(198,'patrol','patrol','20120515225934',1,'Administrador',0,'GRA:_PreciosABT',25,'','266\n265\n1',0),(199,'patrol','patrol','20120515232243',1,'Administrador',0,'GRA:_PreciosABT',25,'','267\n266\n1',0),(200,'patrol','patrol','20120515232556',1,'Administrador',0,'GRA:_PreciosABT',25,'','268\n267\n1',0),(201,'patrol','patrol','20120515233135',1,'Administrador',0,'GRA:_PreciosABT',25,'','269\n268\n1',0),(202,'patrol','patrol','20120515233317',1,'Administrador',0,'GRA:_PreciosABT',25,'','270\n269\n1',0),(203,'patrol','patrol','20120515233502',1,'Administrador',0,'GRA:_PreciosABT',25,'','271\n270\n1',0),(204,'patrol','patrol','20120515233702',1,'Administrador',0,'GRA:_PreciosABT',25,'','272\n271\n1',0),(205,'patrol','patrol','20120515233730',1,'Administrador',0,'GRA:_PreciosABT',25,'','273\n272\n1',0),(206,'patrol','patrol','20120515233935',1,'Administrador',0,'GRA:_PreciosABT',25,'','274\n273\n1',0),(207,'patrol','patrol','20120515234703',1,'Administrador',0,'GRA:_PreciosABT',25,'','275\n274\n1',0),(208,'patrol','patrol','20120515234848',1,'Administrador',0,'GRA:_PreciosABT',25,'','276\n275\n1',0),(209,'patrol','patrol','20120515235257',1,'Administrador',0,'GRA:_PreciosABT',25,'','277\n276\n1',0),(210,'patrol','patrol','20120515235323',1,'Administrador',0,'GRA:_PreciosABT',25,'','278\n277\n1',0),(211,'patrol','patrol','20120517174735',1,'Administrador',0,'VISTA:visreppres',28,'','279\n0\n1',0),(212,'patrol','patrol','20120517180305',1,'Administrador',0,'VISTA:visreppres',28,'','280\n279\n1',0),(213,'patrol','patrol','20120517181432',1,'Administrador',0,'VISTA:visreppres',28,'','281\n280\n1',0),(214,'patrol','patrol','20120517185618',1,'Administrador',0,'VISTA:visprodadic',29,'','282\n0\n1',0),(215,'patrol','patrol','20120517185636',1,'Administrador',0,'VISTA:visprodadic',29,'','283\n282\n1',0),(216,'patrol','patrol','20120517190719',1,'Administrador',0,'GRA:_Relaciones',17,'','284\n237\n1',0),(217,'patrol','patrol','20120517230759',1,'Administrador',0,'VISTA:visreppres',28,'','285\n281\n1',0),(218,'patrol','patrol','20120517233211',1,'Administrador',0,'VISTA:vislineabs',30,'','286\n0\n1',0),(219,'patrol','patrol','20120517233752',1,'Administrador',0,'VISTA:visdetaobs',31,'','287\n0\n1',0),(220,'patrol','patrol','20120517235123',1,'Administrador',0,'VISTA:vislineabs',30,'','288\n286\n1',0),(221,'patrol','patrol','20120518100136',1,'Administrador',0,'VISTA:visdetaobs',31,'','289\n287\n1',0),(222,'patrol','patrol','20120518100345',1,'Administrador',0,'VISTA:vislineabs',30,'','290\n288\n1',0),(223,'patrol','patrol','20120518100539',1,'Administrador',0,'VISTA:visprodadic',29,'','291\n283\n1',0),(224,'patrol','patrol','20120518101104',1,'Administrador',0,'VISTA:visprodadic',29,'','292\n291\n1',0),(225,'patrol','patrol','20120518101305',1,'Administrador',0,'VISTA:visreppres',28,'','293\n285\n1',0),(226,'patrol','patrol','20120518104734',1,'Administrador',0,'VISTA:vislineabs',30,'','294\n290\n1',0),(227,'patrol','patrol','20120518105249',1,'Administrador',0,'VISTA:visrprescmp',27,'','295\n246\n1',0),(228,'patrol','patrol','20120518120905',1,'Administrador',0,'VISTA:vissubxitem',32,'','296\n0\n1',0),(229,'patrol','patrol','20120518123750',1,'Administrador',0,'GRA:_Relaciones',17,'','297\n284\n1',0),(230,'patrol','patrol','20120518123950',1,'Administrador',0,'GRA:_Relaciones',17,'','298\n297\n1',0),(231,'patrol','patrol','20120518124037',1,'Administrador',0,'GRA:_Relaciones',17,'','299\n298\n1',0),(232,'patrol','patrol','20120518141850',1,'Administrador',0,'VISTA:visintdetpre',33,'','300\n0\n1',0),(233,'patrol','patrol','20120518142455',1,'Administrador',0,'GRA:_Relaciones',17,'','301\n299\n1',0),(234,'patrol','patrol','20120518142511',1,'Administrador',0,'GRA:_Relaciones',17,'','302\n301\n1',0),(235,'patrol','patrol','20120518142523',1,'Administrador',0,'GRA:_Relaciones',17,'','303\n302\n1',0),(236,'patrol','patrol','20120518142628',1,'Administrador',0,'REPORTE:Presupuestos',34,'','304\n0\n1',0),(237,'patrol','patrol','20120518142647',1,'Administrador',0,'REPORTE:Presupuestos',34,'','305\n304\n1',0),(238,'patrol','patrol','20120518142827',1,'Administrador',0,'GRA:_Relaciones',17,'','306\n303\n1',0),(239,'patrol','patrol','20120518143028',1,'Administrador',0,'REPORTE:PresupuestosDirecto',35,'','307\n0\n1',0),(240,'patrol','patrol','20120518143114',1,'Administrador',0,'VISTA:visrprescmp',27,'','308\n295\n1',0),(241,'patrol','patrol','20120518143351',1,'Administrador',0,'GRA:_Relaciones',17,'','309\n306\n1',0),(242,'patrol','patrol','20120518143417',1,'Administrador',0,'GRA:_Relaciones',17,'','310\n309\n1',0),(243,'patrol','patrol','20120518143446',1,'Administrador',0,'Página_principal',2,'','311\n224\n1',0),(244,'patrol','patrol','20120520200656',1,'Administrador',0,'VISTA:visintdetpre',33,'','312\n300\n1',0),(245,'patrol','patrol','20120520205151',1,'Administrador',0,'VISTA:visintdetpre',33,'','313\n312\n1',0),(246,'patrol','patrol','20120520205251',1,'Administrador',0,'VISTA:visintdetpre',33,'','314\n313\n1',0),(247,'patrol','patrol','20120521013118',1,'Administrador',0,'VISTA:visprdparam',26,'','315\n233\n1',0),(248,'patrol','patrol','20120521013754',1,'Administrador',0,'VISTA:visprdparam',26,'','316\n315\n1',0),(249,'patrol','patrol','20120521014259',1,'Administrador',0,'GRA:_Releases',14,'','317\n260\n1',0),(250,'patrol','patrol','20120521014846',1,'Administrador',0,'PROC:CalculoPrecio',36,'','318\n0\n1',0),(251,'patrol','patrol','20120521014920',1,'Administrador',0,'PROC:CalculoPrecio',36,'','319\n318\n1',0),(252,'patrol','patrol','20120521015224',1,'Administrador',0,'PROC:CalculaPrecioBase',22,'','320\n202\n1',0),(253,'patrol','patrol','20120521015348',1,'Administrador',0,'PROC:CalculaPrecioBase',22,'','321\n320\n1',0),(254,'patrol','patrol','20120521015543',1,'Administrador',0,'PROC:CalculaPrecioBase',22,'','322\n321\n1',0),(255,'patrol','patrol','20120521021204',1,'Administrador',0,'VISTA:visprdparam',26,'','323\n316\n1',0),(256,'patrol','patrol','20120521142350',1,'Administrador',0,'GRA:_Releases',14,'','324\n317\n1',0),(257,'patrol','patrol','20120522203645',1,'Administrador',0,'GRA:_Relaciones',17,'','325\n310\n1',0),(258,'patrol','patrol','20120522203845',1,'Administrador',0,'PROC:CalculoMedidaReal',37,'','326\n0\n1',0),(259,'patrol','patrol','20120522204846',1,'Administrador',0,'GRA:_Releases',14,'','327\n324\n1',0),(260,'patrol','patrol','20120522204923',1,'Administrador',0,'GRA:_Releases',14,'','328\n327\n1',0),(261,'patrol','patrol','20120522205258',1,'Administrador',0,'Página_principal',2,'','329\n311\n1',0),(262,'patrol','patrol','20120529171546',1,'Administrador',0,'GRA:_PreciosABT',25,'','330\n278\n1',0),(263,'patrol','patrol','20120529172506',1,'Administrador',0,'GRA:_PreciosABT',25,'','331\n330\n1',0),(264,'patrol','patrol','20120529173056',1,'Administrador',0,'GRA:_PreciosABT',25,'','332\n331\n1',0),(265,'patrol','patrol','20120529173224',1,'Administrador',0,'GRA:_PreciosABT',25,'','333\n332\n1',0),(266,'patrol','patrol','20120529183748',1,'Administrador',0,'GRA:_PreciosABT',25,'','334\n333\n1',0),(267,'patrol','patrol','20120604134127',1,'Administrador',0,'GRA:_PreciosABT',25,'','335\n334\n1',0),(268,'patrol','patrol','20120604134331',1,'Administrador',0,'GRA:_PreciosABT',25,'','336\n335\n1',0),(269,'patrol','patrol','20120604135315',1,'Administrador',0,'GRA:_PreciosABT',25,'','337\n336\n1',0),(270,'patrol','patrol','20120604135748',1,'Administrador',0,'GRA:_PreciosABT',25,'','338\n337\n1',0),(271,'patrol','patrol','20120604140437',1,'Administrador',0,'GRA:_PreciosABT',25,'','339\n338\n1',0),(272,'patrol','patrol','20120607182235',1,'Administrador',0,'GRA:_Releases',14,'','340\n328\n1',0),(273,'patrol','patrol','20120607182351',1,'Administrador',0,'GRA:_Releases',14,'','341\n340\n1',0),(274,'patrol','patrol','20120608100841',1,'Administrador',0,'VISTA:viscomposimpl',38,'','342\n0\n1',0),(275,'patrol','patrol','20120608102859',1,'Administrador',0,'VISTA:viscomposimpl',38,'','343\n342\n1',0),(276,'patrol','patrol','20120608181348',1,'Administrador',0,'GRA:_Relaciones',17,'','344\n325\n1',0),(277,'patrol','patrol','20120608181731',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','345\n0\n1',0),(278,'patrol','patrol','20120608181943',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','346\n345\n1',0),(279,'patrol','patrol','20120608182041',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','347\n346\n1',0),(280,'patrol','patrol','20120608185044',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','348\n347\n1',0),(281,'patrol','patrol','20120608185139',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','349\n348\n1',0),(282,'patrol','patrol','20120608190340',1,'Administrador',0,'TABLA:productos',40,'','350\n0\n1',0),(283,'patrol','patrol','20120608190419',1,'Administrador',0,'TABLA:productos',40,'','351\n350\n1',0),(284,'patrol','patrol','20120608190536',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','352\n0\n1',0),(285,'patrol','patrol','20120608190929',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','353\n352\n1',0),(286,'patrol','patrol','20120608191209',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','354\n353\n1',0),(287,'patrol','patrol','20120608191302',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','355\n354\n1',0),(288,'patrol','patrol','20120608191358',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','356\n355\n1',0),(289,'patrol','patrol','20120608191737',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','357\n356\n1',0),(290,'patrol','patrol','20120608191936',1,'Administrador',0,'GRA:_Relaciones',17,'','358\n344\n1',0),(291,'patrol','patrol','20120608192005',1,'Administrador',0,'TABLA:productos',40,'','359\n351\n1',0),(292,'patrol','patrol','20120608192043',1,'Administrador',0,'TABLA:productos',40,'','360\n359\n1',0),(293,'patrol','patrol','20120608192808',1,'Administrador',0,'TRIG:productos.BajaProducto',42,'','361\n0\n1',0),(294,'patrol','patrol','20120612202059',1,'Administrador',0,'Página_principal',2,'','362\n329\n1',0),(295,'patrol','patrol','20120612205756',1,'Administrador',0,'Página_principal',2,'','363\n362\n1',0),(296,'patrol','patrol','20120613002538',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','364\n211\n1',0),(297,'patrol','patrol','20120613002817',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','365\n364\n1',0),(298,'patrol','patrol','20120613003759',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','366\n365\n1',0),(299,'patrol','patrol','20120613010452',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','367\n366\n1',0),(300,'patrol','patrol','20120613012359',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','368\n367\n1',0),(301,'patrol','patrol','20120613012438',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','369\n368\n1',0),(302,'patrol','patrol','20120627174417',1,'Administrador',0,'GRA:_Relaciones',17,'','370\n358\n1',0),(303,'patrol','patrol','20120627174705',1,'Administrador',0,'PROC:AgregaProductoCompo',43,'','371\n0\n1',0),(304,'patrol','patrol','20120627174844',1,'Administrador',0,'PROC:AgregaProductoCompo',43,'','372\n371\n1',0),(305,'patrol','patrol','20120627174908',1,'Administrador',0,'PROC:AgregaProductoCompo',43,'','373\n372\n1',0),(306,'patrol','patrol','20120627174952',1,'Administrador',0,'PROC:AgregaProductoCompo',43,'','374\n373\n1',0),(307,'patrol','patrol','20120628235509',1,'Administrador',0,'GRA:_Releases',14,'','375\n341\n1',0),(308,'patrol','patrol','20120628235918',1,'Administrador',0,'GRA:_Relaciones',17,'','376\n370\n1',0),(309,'patrol','patrol','20120629000101',1,'Administrador',0,'GRA:_Relaciones',17,'','377\n376\n1',0),(310,'patrol','patrol','20120629002609',1,'Administrador',0,'FORM:CopiaComposicion',44,'','378\n0\n1',0),(311,'patrol','patrol','20120629002750',1,'Administrador',0,'Página_principal',2,'','379\n363\n1',0),(312,'patrol','patrol','20120629003231',1,'Administrador',0,'GRA:_Releases',14,'','380\n375\n1',0),(313,'patrol','patrol','20120629005859',1,'Administrador',0,'GRA:_Releases',14,'','381\n380\n1',0),(314,'patrol','patrol','20120629010031',1,'Administrador',0,'FORM:CopiaComposicion',44,'','382\n378\n1',0),(315,'patrol','patrol','20120629011809',1,'Administrador',0,'FORM:CopiaComposicion',44,'','383\n382\n1',0),(316,'patrol','patrol','20120629222511',1,'Administrador',0,'GRA:_Releases',14,'','384\n381\n1',0),(317,'patrol','patrol','20120629222643',1,'Administrador',0,'GRA:_Releases',14,'','385\n384\n1',0),(318,'patrol','patrol','20120711224030',1,'Administrador',0,'GRA:_Relaciones',17,'','386\n377\n1',0),(319,'patrol','patrol','20120713171152',1,'Administrador',0,'GRA:_Relaciones',17,'','387\n386\n1',0),(320,'patrol','patrol','20120713172632',1,'Administrador',0,'VISTA:vistranscrm',45,'','388\n0\n1',0),(321,'patrol','patrol','20120713172802',1,'Administrador',0,'VISTA:vistranscrm',45,'','389\n388\n1',0),(322,'patrol','patrol','20120713172834',1,'Administrador',0,'VISTA:vistranscrm',45,'','390\n389\n1',0),(323,'patrol','patrol','20120718124124',1,'Administrador',0,'GRA:_Relaciones',17,'','391\n387\n1',0),(324,'patrol','patrol','20120718124548',1,'Administrador',0,'VISTA:chqactivos',46,'','392\n0\n1',0),(325,'patrol','patrol','20120720114612',1,'Administrador',0,'GRA:_Releases',14,'','393\n385\n1',0),(326,'patrol','patrol','20120723155558',1,'Administrador',0,'Developing',13,'','394\n176\n1',0),(327,'patrol','patrol','20120724140939',1,'Administrador',0,'GRA:_Relaciones',17,'','395\n391\n1',0),(328,'patrol','patrol','20120724141132',1,'Administrador',0,'GRA:_Relaciones',17,'','396\n395\n1',0),(329,'patrol','patrol','20120724141247',1,'Administrador',0,'GRA:_Relaciones',17,'','397\n396\n1',0),(330,'patrol','patrol','20120724141414',1,'Administrador',0,'GRA:_Relaciones',17,'','398\n397\n1',0),(331,'patrol','patrol','20120724141448',1,'Administrador',0,'GRA:_Relaciones',17,'','399\n398\n1',0),(332,'patrol','patrol','20120724141653',1,'Administrador',0,'GRA:_Relaciones',17,'','400\n399\n1',0),(333,'patrol','patrol','20120724141719',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','401\n0\n1',0),(334,'patrol','patrol','20120724141733',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','402\n401\n1',0),(335,'patrol','patrol','20120724141817',1,'Administrador',0,'GRA:_Relaciones',17,'','403\n400\n1',0),(336,'patrol','patrol','20120724142028',1,'Administrador',0,'TABLA:accpayab',48,'','404\n0\n1',0),(337,'patrol','patrol','20120724142438',1,'Administrador',0,'TABLA:accreceiv',49,'','405\n0\n1',0),(338,'patrol','patrol','20120724142814',1,'Administrador',0,'GRA:_Releases',14,'','406\n393\n1',0),(339,'patrol','patrol','20120725153740',1,'Administrador',0,'GRA:_Relaciones',17,'','407\n403\n1',0),(340,'patrol','patrol','20120725153923',1,'Administrador',0,'TABLA:tdocumento',50,'','408\n0\n1',0),(341,'patrol','patrol','20120725153942',1,'Administrador',0,'TABLA:tdocumento',50,'','409\n408\n1',0),(342,'patrol','patrol','20120801093324',1,'Administrador',0,'TABLA:tdocumento',50,'','410\n409\n1',0),(343,'patrol','patrol','20120801093542',1,'Administrador',0,'GRA:_Releases',14,'','411\n406\n1',0),(344,'patrol','patrol','20120801175012',1,'Administrador',0,'Página_principal',2,'','412\n379\n1',0),(345,'patrol','patrol','20120801175107',1,'Administrador',0,'Página_principal',2,'','413\n412\n1',0),(346,'patrol','patrol','20120801175120',1,'Administrador',0,'Página_principal',2,'','414\n413\n1',0),(347,'patrol','patrol','20120801175324',1,'Administrador',0,'WikiUserSpanex',51,'','415\n0\n1',0),(348,'patrol','patrol','20120801175422',1,'Administrador',0,'WikiUserSpanex',51,'','416\n415\n1',0),(349,'patrol','patrol','20120801180234',1,'Administrador',0,'WikiUserSpanex',51,'','417\n416\n1',0),(350,'patrol','patrol','20120801180632',1,'Administrador',0,'WikiUserSpanex',51,'','418\n417\n1',0),(351,'patrol','patrol','20120801185132',1,'Administrador',0,'WikiUserSpanex',51,'','419\n418\n1',0),(352,'patrol','patrol','20120802154828',1,'Administrador',0,'GRA:_Relaciones',17,'','420\n407\n1',0),(353,'patrol','patrol','20120802160603',1,'Administrador',0,'FORM:Pagos',52,'','421\n0\n1',0),(354,'patrol','patrol','20120802160746',1,'Administrador',0,'FORM:Pagos',52,'','422\n421\n1',0),(355,'patrol','patrol','20120802161125',1,'Administrador',0,'FORM:Pagos',52,'','423\n422\n1',0),(356,'patrol','patrol','20120802161357',1,'Administrador',0,'FORM:Pagos',52,'','424\n423\n1',0),(357,'patrol','patrol','20120802162004',1,'Administrador',0,'MACRO:VisibleIngresoCheque',53,'','425\n0\n1',0),(358,'patrol','patrol','20120802162052',1,'Administrador',0,'FORM:Pagos',52,'','426\n424\n1',0),(359,'patrol','patrol','20120802163452',1,'Administrador',0,'FORM:Pagos',52,'','427\n426\n1',0),(360,'patrol','patrol','20120802163623',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','428\n402\n1',0),(361,'patrol','patrol','20120802164109',1,'Administrador',0,'FORM:Cobranzas',54,'','429\n0\n1',0),(362,'patrol','patrol','20120802164425',1,'Administrador',0,'FORM:Cobranzas',54,'','430\n429\n1',0),(363,'patrol','patrol','20120802164856',1,'Administrador',0,'FORM:Cobranzas',54,'','431\n430\n1',0),(364,'patrol','patrol','20120802165348',1,'Administrador',0,'FORM:Cobranzas',54,'','432\n431\n1',0),(365,'patrol','patrol','20120802165830',1,'Administrador',0,'FORM:Cobranzas',54,'','433\n432\n1',0),(366,'patrol','patrol','20120802165944',1,'Administrador',0,'FORM:Cobranzas',54,'','434\n433\n1',0),(367,'patrol','patrol','20120802170105',1,'Administrador',0,'FORM:Cobranzas',54,'','435\n434\n1',0),(368,'patrol','patrol','20120802170207',1,'Administrador',0,'FORM:Cobranzas',54,'','436\n435\n1',0),(369,'patrol','patrol','20120802170234',1,'Administrador',0,'FORM:Pagos',52,'','437\n427\n1',0),(370,'patrol','patrol','20120815203209',1,'Administrador',0,'GRA:_Relaciones',17,'','438\n420\n1',0),(371,'patrol','patrol','20120815203302',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','439\n428\n1',0),(372,'patrol','patrol','20120815203400',1,'Administrador',0,'VISTA:vischtdisp',55,'','440\n0\n1',0),(373,'patrol','patrol','20120824201642',1,'Administrador',0,'GRA:_Relaciones',17,'','441\n438\n1',0),(374,'patrol','patrol','20120824202017',1,'Administrador',0,'VISTA:vistotprod',56,'','442\n0\n1',0),(375,'patrol','patrol','20120824202157',1,'Administrador',0,'TABLA:vidquoten3',57,'','443\n0\n1',0),(376,'patrol','patrol','20120824202220',1,'Administrador',0,'GRA:_Relaciones',17,'','444\n441\n1',0),(377,'patrol','patrol','20120824202425',1,'Administrador',0,'TABLA:vidquoten3tmp',58,'','445\n0\n1',0),(378,'patrol','patrol','20120824205302',1,'Administrador',0,'GRA:_Releases',14,'','446\n411\n1',0),(379,'patrol','patrol','20120831095232',1,'Administrador',0,'GRA:_Releases',14,'','447\n446\n1',0),(380,'patrol','patrol','20120831095257',1,'Administrador',0,'GRA:_Releases',14,'','448\n447\n1',0),(381,'patrol','patrol','20120831100156',1,'Administrador',0,'GRA:_Releases',14,'','449\n448\n1',0),(382,'patrol','patrol','20120831104355',1,'Administrador',0,'GRA:_Releases',14,'','450\n449\n1',0),(383,'patrol','patrol','20120831104442',1,'Administrador',0,'GRA:_Releases',14,'','451\n450\n1',0),(384,'patrol','patrol','20120831105812',1,'Administrador',0,'Actualizacion_DB',59,'','452\n0\n1',0),(385,'patrol','patrol','20120831105938',1,'Administrador',0,'Actualizacion_DB',59,'','453\n452\n1',0),(386,'patrol','patrol','20120831173135',1,'Administrador',0,'Actualizacion_DB',59,'','454\n453\n1',0),(387,'patrol','patrol','20120831173224',1,'Administrador',0,'Actualizacion_DB',59,'','455\n454\n1',0),(388,'patrol','patrol','20120831173308',1,'Administrador',0,'Actualizacion_DB',59,'','456\n455\n1',0),(389,'patrol','patrol','20120831173321',1,'Administrador',0,'Actualizacion_DB',59,'','457\n456\n1',0),(390,'patrol','patrol','20120831173559',1,'Administrador',0,'Actualizacion_DB',59,'','458\n457\n1',0),(391,'patrol','patrol','20120831173850',1,'Administrador',0,'GRA:_Releases',14,'','459\n451\n1',0),(392,'patrol','patrol','20120831174617',1,'Administrador',0,'Actualizacion_DB',59,'','460\n458\n1',0),(393,'patrol','patrol','20120831175155',1,'Administrador',0,'Actualizacion_DB',59,'','461\n460\n1',0),(394,'patrol','patrol','20120831175221',1,'Administrador',0,'Actualizacion_DB',59,'','462\n461\n1',0),(395,'patrol','patrol','20120831175400',1,'Administrador',0,'Actualizacion_DB',59,'','463\n462\n1',0),(396,'patrol','patrol','20120831181231',1,'Administrador',0,'GRA:_Releases',14,'','464\n459\n1',0),(397,'patrol','patrol','20120831183534',1,'Administrador',0,'TABLA:precios',60,'','465\n0\n1',0),(398,'patrol','patrol','20120831183755',1,'Administrador',0,'TABLA:precios',60,'','466\n465\n1',0),(399,'patrol','patrol','20120831183905',1,'Administrador',0,'TRIG:precios.AltaPrecio',61,'','467\n0\n1',0),(400,'patrol','patrol','20120831183945',1,'Administrador',0,'TRIG:precios.AltaPrecio',61,'','468\n467\n1',0),(401,'patrol','patrol','20120831184128',1,'Administrador',0,'TRIG:precios.ActualizaPrecio',62,'','469\n0\n1',0),(402,'patrol','patrol','20120831184221',1,'Administrador',0,'TABLA:precios',60,'','470\n466\n1',0),(403,'patrol','patrol','20120831184242',1,'Administrador',0,'TABLA:precios',60,'','471\n470\n1',0),(404,'patrol','patrol','20120831185904',1,'Administrador',0,'GRA:_Releases',14,'','472\n464\n1',0),(405,'patrol','patrol','20120831191321',1,'Administrador',0,'GRA:_Releases',14,'','473\n472\n1',0),(406,'patrol','patrol','20120831191452',1,'Administrador',0,'GRA:_Releases',14,'','474\n473\n1',0),(407,'patrol','patrol','20120831215117',1,'Administrador',0,'Actualizacion_DB',59,'','475\n463\n1',0),(408,'patrol','patrol','20120831215435',1,'Administrador',0,'Actualizacion_DB',59,'','476\n475\n1',0),(409,'patrol','patrol','20120901000401',1,'Administrador',0,'Actualizacion_DB',59,'','477\n476\n1',0),(410,'patrol','patrol','20120901000905',1,'Administrador',0,'GRA:_Releases',14,'','478\n474\n1',0),(411,'patrol','patrol','20120901013341',1,'Administrador',0,'VISTA:clientes',63,'','479\n0\n1',0),(412,'patrol','patrol','20120901013528',1,'Administrador',0,'GRA:_Releases',14,'','480\n478\n1',0),(413,'patrol','patrol','20120901013648',1,'Administrador',0,'Actualizacion_DB',59,'','481\n477\n1',0),(414,'patrol','patrol','20120903025836',1,'Administrador',0,'VISTA:preciosvigentes',64,'','482\n0\n1',0),(415,'patrol','patrol','20120903105613',1,'Administrador',0,'VISTA:preciosvigact',65,'','483\n0\n1',0),(416,'patrol','patrol','20120904203051',1,'Administrador',0,'GRA:_Relaciones',17,'','484\n444\n1',0),(417,'patrol','patrol','20120904203313',1,'Administrador',0,'TABLA:telemecomp',66,'','485\n0\n1',0),(418,'patrol','patrol','20120904205257',1,'Administrador',0,'Actualizacion_DB',59,'','486\n481\n1',0),(419,'patrol','patrol','20120904205652',1,'Administrador',0,'GRA:_Releases',14,'','487\n480\n1',0),(420,'patrol','patrol','20120904205721',1,'Administrador',0,'GRA:_Releases',14,'','488\n487\n1',0),(421,'patrol','patrol','20120904205948',1,'Administrador',0,'GRA:_Releases',14,'','489\n488\n1',0),(422,'patrol','patrol','20120904232413',1,'Administrador',0,'GRA:_Releases',14,'','490\n489\n1',0),(423,'patrol','patrol','20120904233910',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','491\n349\n1',0),(424,'patrol','patrol','20120904234049',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','492\n491\n1',0),(425,'patrol','patrol','20120904234126',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','493\n492\n1',0),(426,'patrol','patrol','20120904234405',1,'Administrador',0,'GRA:_Releases',14,'','494\n490\n1',0),(427,'patrol','patrol','20120904235058',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','495\n439\n1',0),(428,'patrol','patrol','20120904235125',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','496\n495\n1',0),(429,'patrol','patrol','20120904235409',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','497\n496\n1',0),(430,'patrol','patrol','20120904235622',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','498\n497\n1',0),(431,'patrol','patrol','20120904235643',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','499\n498\n1',0),(432,'patrol','patrol','20120904235718',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','500\n499\n1',0),(433,'patrol','patrol','20120905000114',1,'Administrador',0,'MACRO:CopiaComposicion',67,'','501\n0\n1',0),(434,'patrol','patrol','20120905000249',1,'Administrador',0,'MACRO:CopiaComposicion',67,'','502\n501\n1',0),(435,'patrol','patrol','20120905000436',1,'Administrador',0,'Actualizacion_DB',59,'','503\n486\n1',0),(436,'patrol','patrol','20120905000451',1,'Administrador',0,'Actualizacion_DB',59,'','504\n503\n1',0),(437,'patrol','patrol','20120905012440',1,'Administrador',0,'GRA:_Releases',14,'','505\n494\n1',0),(438,'patrol','patrol','20120905012732',1,'Administrador',0,'TABLA:composicion',5,'','506\n204\n1',0),(439,'patrol','patrol','20120905012814',1,'Administrador',0,'TABLA:composicion',5,'','507\n506\n1',0),(440,'patrol','patrol','20120905012900',1,'Administrador',0,'TABLA:composicion',5,'','508\n507\n1',0),(441,'patrol','patrol','20120905022134',1,'Administrador',0,'TABLA:composicion',5,'','509\n508\n1',0),(442,'patrol','patrol','20120905133040',1,'Administrador',0,'Actualizacion_DB',59,'','510\n504\n1',0),(443,'patrol','patrol','20120905133153',1,'Administrador',0,'GRA:_Releases',14,'','511\n505\n1',0),(444,'patrol','patrol','20120905133213',1,'Administrador',0,'GRA:_Releases',14,'','512\n511\n1',0),(445,'patrol','patrol','20120905134549',1,'Administrador',0,'Actualizacion_DB',59,'','513\n510\n1',0),(446,'patrol','patrol','20120905135150',1,'Administrador',0,'Actualizacion_DB',59,'','514\n513\n1',0),(447,'patrol','patrol','20120905135223',1,'Administrador',0,'Actualizacion_DB',59,'','515\n514\n1',0),(448,'patrol','patrol','20120905135304',1,'Administrador',0,'Actualizacion_DB',59,'','516\n515\n1',0),(449,'patrol','patrol','20120905135450',1,'Administrador',0,'Actualizacion_DB',59,'','517\n516\n1',0),(450,'patrol','patrol','20120906003359',1,'Administrador',0,'GRA:_Relaciones',17,'','518\n484\n1',0),(451,'patrol','patrol','20120906004722',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','519\n0\n1',0),(452,'patrol','patrol','20120906021241',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','520\n519\n1',0),(453,'patrol','patrol','20120906021429',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','521\n520\n1',0),(454,'patrol','patrol','20120906021701',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','522\n521\n1',0),(455,'patrol','patrol','20120906021851',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','523\n522\n1',0),(456,'patrol','patrol','20120906022151',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','524\n523\n1',0),(457,'patrol','patrol','20120906121133',1,'Administrador',0,'GRA:_Releases',14,'','525\n512\n1',0),(458,'patrol','patrol','20120906121240',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','526\n524\n1',0),(459,'patrol','patrol','20120906140436',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','527\n526\n1',0),(460,'patrol','patrol','20120906141622',1,'Administrador',0,'VISTA:clientes',63,'','528\n479\n1',0),(461,'patrol','patrol','20120906141655',1,'Administrador',0,'GRA:_Releases',14,'','529\n525\n1',0),(462,'patrol','patrol','20120906152428',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','530\n527\n1',0),(463,'patrol','patrol','20120907132312',1,'Administrador',0,'GRA:_Releases',14,'','531\n529\n1',0),(464,'patrol','patrol','20120907132415',1,'Administrador',0,'GRA:_Releases',14,'','532\n531\n1',0),(465,'patrol','patrol','20120907132528',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','533\n0\n1',0),(466,'patrol','patrol','20120907132613',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','534\n533\n1',0),(467,'patrol','patrol','20120907132836',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','535\n534\n1',0),(468,'patrol','patrol','20120907132859',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','536\n535\n1',0),(469,'patrol','patrol','20120907132953',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','537\n536\n1',0),(470,'patrol','patrol','20120907133105',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','538\n537\n1',0),(471,'patrol','patrol','20120907133151',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','539\n538\n1',0),(472,'patrol','patrol','20120907133840',1,'Administrador',0,'MACRO:RecalculaPrecios',70,'','540\n0\n1',0),(473,'patrol','patrol','20120907133934',1,'Administrador',0,'MACRO:RecalculaPrecios',70,'','541\n540\n1',0),(474,'patrol','patrol','20120907134036',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','542\n500\n1',0),(475,'patrol','patrol','20120907174742',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','543\n530\n1',0),(476,'patrol','patrol','20120907180021',1,'Administrador',0,'GRA:_Releases',14,'','544\n532\n1',0),(477,'patrol','patrol','20120907180206',1,'Administrador',0,'PROC:GrabaItemPresupuestoTmp',71,'','545\n0\n1',0),(478,'patrol','patrol','20120908153413',1,'Administrador',0,'Actualizacion_DB',59,'','546\n517\n1',0),(479,'patrol','patrol','20120908153944',1,'Administrador',0,'Actualizacion_DB',59,'','547\n546\n1',0),(480,'patrol','patrol','20120908161343',1,'Administrador',0,'Actualizacion_DB',59,'','548\n547\n1',0),(481,'patrol','patrol','20120908161420',1,'Administrador',0,'Actualizacion_DB',59,'','549\n548\n1',0),(482,'patrol','patrol','20120908161720',1,'Administrador',0,'PROC:ResetEdicionItemTmp',72,'','550\n0\n1',0),(483,'patrol','patrol','20120908161929',1,'Administrador',0,'GRA:_Releases',14,'','551\n544\n1',0),(484,'patrol','patrol','20120908195405',1,'Administrador',0,'PROC:ResetEdicionItemTmp',72,'','552\n550\n1',0),(485,'patrol','patrol','20120911135603',1,'Administrador',0,'GRA:_Releases',14,'','553\n551\n1',0),(486,'patrol','patrol','20120911140151',1,'Administrador',0,'VISTA:acomerciales',73,'','554\n0\n1',0),(487,'patrol','patrol','20120911140430',1,'Administrador',0,'Actualizacion_DB',59,'','555\n549\n1',0),(488,'patrol','patrol','20120911142926',1,'Administrador',0,'GRA:_Releases',14,'','556\n553\n1',0),(489,'patrol','patrol','20120911152031',1,'Administrador',0,'GRA:_Releases',14,'','557\n556\n1',0),(490,'patrol','patrol','20120911152107',1,'Administrador',0,'GRA:_Releases',14,'','558\n557\n1',0),(491,'patrol','patrol','20120911152452',1,'Administrador',0,'GRA:_Releases',14,'','559\n558\n1',0),(492,'patrol','patrol','20120911153049',1,'Administrador',0,'MACRO:PresupuestoExpirado',74,'','560\n0\n1',0),(493,'patrol','patrol','20120911153114',1,'Administrador',0,'MACRO:PresupuestoExpirado',74,'','561\n560\n1',0),(494,'patrol','patrol','20120911153131',1,'Administrador',0,'MACRO:PresupuestoExpirado',74,'','562\n561\n1',0),(495,'patrol','patrol','20120912114733',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','563\n542\n1',0),(496,'patrol','patrol','20120912115117',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','564\n0\n1',0),(497,'patrol','patrol','20120912115209',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','565\n564\n1',0),(498,'patrol','patrol','20120912115343',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','566\n565\n1',0),(499,'patrol','patrol','20120912115400',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','567\n566\n1',0),(500,'patrol','patrol','20120912115419',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','568\n567\n1',0),(501,'patrol','patrol','20120912115905',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','569\n568\n1',0),(502,'patrol','patrol','20120912120122',1,'Administrador',0,'MACRO:ChequeoValorLicenciaOK',76,'','570\n0\n1',0),(503,'patrol','patrol','20120912120210',1,'Administrador',0,'MACRO:ChequeoValorLicenciaOK',76,'','571\n570\n1',0),(504,'patrol','patrol','20120912120248',1,'Administrador',0,'MACRO:ChequeoValorLicenciaOK',76,'','572\n571\n1',0),(505,'patrol','patrol','20120912120913',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','573\n569\n1',0),(506,'patrol','patrol','20120912120930',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','574\n573\n1',0),(507,'patrol','patrol','20120912121013',1,'Administrador',0,'MACRO:EventoWhenLoadingFromCabecera',75,'','575\n574\n1',0),(508,'patrol','patrol','20120912213804',1,'Administrador',0,'MACRO:ControlFormPresupuesto',77,'','576\n0\n1',0),(509,'patrol','patrol','20120912214130',1,'Administrador',0,'MACRO:ConfirmaDeletePresupuesto',78,'','577\n0\n1',0),(510,'patrol','patrol','20120912214428',1,'Administrador',0,'MACRO:ConfirmaDeletePresupuesto',78,'','578\n577\n1',0),(511,'patrol','patrol','20120912214510',1,'Administrador',0,'MACRO:ConfirmaDeletePresupuesto',78,'','579\n578\n1',0),(512,'patrol','patrol','20120913100955',1,'Administrador',0,'GRA:_Releases',14,'','580\n559\n1',0),(513,'patrol','patrol','20120913102132',1,'Administrador',0,'GRA:_Relaciones',17,'','581\n518\n1',0),(514,'patrol','patrol','20120913102318',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','582\n563\n1',0),(515,'patrol','patrol','20120914214352',1,'Administrador',0,'GRA:_Releases',14,'','583\n580\n1',0),(516,'patrol','patrol','20120914222010',1,'Administrador',0,'MACRO:EventoBRCDetallePresupuesto',79,'','584\n0\n1',0),(517,'patrol','patrol','20120914222042',1,'Administrador',0,'MACRO:EventoBRCDetallePresupuesto',79,'','585\n584\n1',0),(518,'patrol','patrol','20120914222256',1,'Administrador',0,'MACRO:EventoBRCDetallePresupuesto',79,'','586\n585\n1',0),(519,'patrol','patrol','20120914222539',1,'Administrador',0,'MACRO:EventoBRCDetallePresupuesto',79,'','587\n586\n1',0),(520,'patrol','patrol','20120917150854',1,'Administrador',0,'GRA:_Releases',14,'','588\n583\n1',0),(521,'patrol','patrol','20120917151109',1,'Administrador',0,'GRA:_Releases',14,'','589\n588\n1',0),(522,'patrol','patrol','20120917151527',1,'Administrador',0,'Actualizacion_DB',59,'','590\n555\n1',0),(523,'patrol','patrol','20120917151809',1,'Administrador',0,'VISTA:acomerciales',73,'','591\n554\n1',0),(524,'patrol','patrol','20120917151916',1,'Administrador',0,'VISTA:acomerciales',73,'','592\n591\n1',0),(525,'patrol','patrol','20120917152022',1,'Administrador',0,'GRA:_Releases',14,'','593\n589\n1',0),(526,'patrol','patrol','20120917173653',1,'Administrador',0,'VISTA:acomerciales',73,'','594\n592\n1',0),(527,'patrol','patrol','20120917203039',1,'Administrador',0,'VISTA:clientes',63,'','595\n528\n1',0),(528,'patrol','patrol','20120917203124',1,'Administrador',0,'VISTA:clientes',63,'','596\n595\n1',0),(529,'patrol','patrol','20120917203142',1,'Administrador',0,'VISTA:clientes',63,'','597\n596\n1',0),(530,'patrol','patrol','20120917203156',1,'Administrador',0,'VISTA:clientes',63,'','598\n597\n1',0),(531,'patrol','patrol','20120917225154',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','599\n369\n1',0),(532,'patrol','patrol','20120917225413',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','600\n599\n1',0),(533,'patrol','patrol','20120917225830',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','601\n600\n1',0),(534,'patrol','patrol','20120917225855',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','602\n601\n1',0),(535,'patrol','patrol','20120917230028',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','603\n602\n1',0),(536,'patrol','patrol','20120918190422',1,'Administrador',0,'GRA:_Relaciones',17,'','604\n581\n1',0),(537,'patrol','patrol','20120918190443',1,'Administrador',0,'GRA:_Relaciones',17,'','605\n604\n1',0),(538,'patrol','patrol','20120918190744',1,'Administrador',0,'Estructuras_SQL',80,'','606\n0\n1',0),(539,'patrol','patrol','20120918190821',1,'Administrador',0,'Estructuras_SQL',80,'','607\n606\n1',0),(540,'patrol','patrol','20120918190920',1,'Administrador',0,'SQLCODE0001',81,'','608\n0\n1',0),(541,'patrol','patrol','20120918191029',1,'Administrador',0,'Estructuras_SQL',80,'','609\n607\n1',0),(542,'patrol','patrol','20120918202228',1,'Administrador',0,'Estructuras_SQL',80,'','610\n609\n1',0),(543,'patrol','patrol','20120918202256',1,'Administrador',0,'SQLCODE0002',82,'','611\n0\n1',0),(544,'patrol','patrol','20120918202739',1,'Administrador',0,'Estructuras_SQL',80,'','612\n610\n1',0),(545,'patrol','patrol','20120918202805',1,'Administrador',0,'SQLCODE0002',82,'','613\n611\n1',0),(546,'patrol','patrol','20120918223638',1,'Administrador',0,'Estructuras_SQL',80,'','614\n612\n1',0),(547,'patrol','patrol','20120918223724',1,'Administrador',0,'SQLCODE0003',83,'','615\n0\n1',0),(548,'patrol','patrol','20120918223734',1,'Administrador',0,'Estructuras_SQL',80,'','616\n614\n1',0),(549,'patrol','patrol','20120919105823',1,'Administrador',0,'Estructuras_SQL',80,'','617\n616\n1',0),(550,'patrol','patrol','20120919105948',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','618\n582\n1',0),(551,'patrol','patrol','20120919110108',1,'Administrador',0,'SQLCODE0004',84,'','619\n0\n1',0),(552,'patrol','patrol','20120920204235',1,'Administrador',0,'GRA:_Releases',14,'','620\n593\n1',0),(553,'patrol','patrol','20120920204529',1,'Administrador',0,'MACRO:BotonActualizarPresupuesto',85,'','621\n0\n1',0),(554,'patrol','patrol','20120920204624',1,'Administrador',0,'MACRO:BotonActualizarPresupuesto',85,'','622\n621\n1',0),(555,'patrol','patrol','20120920204708',1,'Administrador',0,'MACRO:BotonActualizarPresupuesto',85,'','623\n622\n1',0),(556,'patrol','patrol','20120921131700',1,'Administrador',0,'PROC:ActualizaPreciosPresupuesto',86,'','624\n0\n1',0),(557,'patrol','patrol','20120921131848',1,'Administrador',0,'MACRO:BotonActualizarPresupuesto',85,'','625\n623\n1',0),(558,'patrol','patrol','20120921132056',1,'Administrador',0,'Actualizacion_DB',59,'','626\n590\n1',0),(559,'patrol','patrol','20120925021909',1,'Administrador',0,'GRA:_Releases',14,'','627\n620\n1',0),(560,'patrol','patrol','20120925022351',1,'Administrador',0,'MACRO:EventoBRCDetallePresupuesto',79,'','628\n587\n1',0),(561,'patrol','patrol','20120925170235',1,'Administrador',0,'PROC:ActualizaPreciosPresupuesto',86,'','629\n624\n1',0),(562,'patrol','patrol','20120925170301',1,'Administrador',0,'PROC:ActualizaPreciosPresupuesto',86,'','630\n629\n1',0),(563,'patrol','patrol','20120925170524',1,'Administrador',0,'PROC:ActualizaPreciosPresupuesto',86,'','631\n630\n1',0),(564,'patrol','patrol','20120925170903',1,'Administrador',0,'PROC:ActualizaPreciosPresupuesto',86,'','632\n631\n1',0),(565,'patrol','patrol','20120925170939',1,'Administrador',0,'PROC:ActualizaPreciosPresupuesto',86,'','633\n632\n1',0),(566,'patrol','patrol','20120925171119',1,'Administrador',0,'GRA:_Releases',14,'','634\n627\n1',0),(567,'patrol','patrol','20120925171640',1,'Administrador',0,'TRIG:Actualiza_Item_Presupuesto',87,'','635\n0\n1',0),(568,'patrol','patrol','20120925171742',1,'Administrador',0,'TRIG:Actualiza_Item_Presupuesto',87,'','636\n635\n1',0),(569,'patrol','patrol','20120925172306',1,'Administrador',0,'GRA:_Releases',14,'','637\n634\n1',0),(570,'patrol','patrol','20120925172356',1,'Administrador',0,'GRA:_Releases',14,'','638\n637\n1',0),(571,'patrol','patrol','20120925173630',1,'Administrador',0,'TRIG:Actualiza_Item_Presupuesto',87,'','639\n636\n1',0),(572,'patrol','patrol','20120925175653',1,'Administrador',0,'PROC:ActualizaItemPresupuesto',88,'','640\n0\n1',0),(573,'patrol','patrol','20120925175717',1,'Administrador',0,'PROC:ActualizaItemPresupuesto',88,'','641\n640\n1',0),(574,'patrol','patrol','20120925175953',1,'Administrador',0,'GRA:_Releases',14,'','642\n638\n1',0),(575,'patrol','patrol','20120925180331',1,'Administrador',0,'PROC:CopiaPresupuesto',89,'','643\n0\n1',0),(576,'patrol','patrol','20120925180642',1,'Administrador',0,'PROC:CopiaPresupuesto',89,'','644\n643\n1',0),(577,'patrol','patrol','20120925180714',1,'Administrador',0,'PROC:CopiaPresupuesto',89,'','645\n644\n1',0),(578,'patrol','patrol','20120925181057',1,'Administrador',0,'Actualizacion_DB',59,'','646\n626\n1',0),(579,'patrol','patrol','20120926191709',1,'Administrador',0,'Actualizacion_DB',59,'','647\n646\n1',0),(580,'upload','upload','20120926192200',1,'Administrador',6,'Checked.png',0,'','',0),(581,'patrol','patrol','20120926193146',1,'Administrador',0,'Actualizacion_DB',59,'','649\n647\n1',0),(582,'patrol','patrol','20120926193221',1,'Administrador',0,'Actualizacion_DB',59,'','650\n649\n1',0),(583,'patrol','patrol','20120926193454',1,'Administrador',0,'Actualizacion_DB',59,'','651\n650\n1',0),(584,'patrol','patrol','20120926194125',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','652\n618\n1',0),(585,'patrol','patrol','20120926194309',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','653\n652\n1',0),(586,'patrol','patrol','20120926194649',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','654\n653\n1',0),(587,'patrol','patrol','20120926195049',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','655\n654\n1',0),(588,'patrol','patrol','20120926195206',1,'Administrador',0,'Actualizacion_DB',59,'','656\n651\n1',0),(589,'patrol','patrol','20120926195230',1,'Administrador',0,'Actualizacion_DB',59,'','657\n656\n1',0),(590,'patrol','patrol','20120926195600',1,'Administrador',0,'Actualizacion_DB',59,'','658\n657\n1',0),(591,'patrol','patrol','20120926204315',1,'Administrador',0,'Actualizacion_DB',59,'','659\n658\n1',0),(592,'patrol','patrol','20120926204410',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','660\n655\n1',0),(593,'patrol','patrol','20120926204453',1,'Administrador',0,'Actualizacion_DB',59,'','661\n659\n1',0),(594,'patrol','patrol','20120926205614',1,'Administrador',0,'TABLA:clientescrmqry',91,'','662\n0\n1',0),(595,'patrol','patrol','20120926210145',1,'Administrador',0,'Actualizacion_DB',59,'','663\n661\n1',0),(596,'patrol','patrol','20120926210551',1,'Administrador',0,'Actualizacion_DB',59,'','664\n663\n1',0),(597,'patrol','patrol','20120926210839',1,'Administrador',0,'Actualizacion_DB',59,'','665\n664\n1',0),(598,'patrol','patrol','20120926213525',1,'Administrador',0,'Actualizacion_DB',59,'','666\n665\n1',0),(599,'patrol','patrol','20120926213709',1,'Administrador',0,'Actualizacion_DB',59,'','667\n666\n1',0),(600,'patrol','patrol','20120926213736',1,'Administrador',0,'Actualizacion_DB',59,'','668\n667\n1',0),(601,'patrol','patrol','20120926220153',1,'Administrador',0,'TABLA:vidquoten3tmp',58,'','669\n445\n1',0),(602,'patrol','patrol','20120926220257',1,'Administrador',0,'Actualizacion_DB',59,'','670\n668\n1',0),(603,'patrol','patrol','20120926220847',1,'Administrador',0,'Actualizacion_DB',59,'','671\n670\n1',0),(604,'patrol','patrol','20120926220937',1,'Administrador',0,'Actualizacion_DB',59,'','672\n671\n1',0),(605,'patrol','patrol','20120926221337',1,'Administrador',0,'Actualizacion_DB',59,'','673\n672\n1',0),(606,'patrol','patrol','20120926221636',1,'Administrador',0,'Actualizacion_DB',59,'','674\n673\n1',0),(607,'patrol','patrol','20120926222455',1,'Administrador',0,'Actualizacion_DB',59,'','675\n674\n1',0),(608,'patrol','patrol','20120926222854',1,'Administrador',0,'Actualizacion_DB',59,'','676\n675\n1',0),(609,'patrol','patrol','20120926224010',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','677\n660\n1',0),(610,'patrol','patrol','20120926224048',1,'Administrador',0,'Actualizacion_DB',59,'','678\n676\n1',0),(611,'patrol','patrol','20120926224247',1,'Administrador',0,'Actualizacion_DB',59,'','679\n678\n1',0),(612,'patrol','patrol','20120926230238',1,'Administrador',0,'Actualizacion_DB',59,'','680\n679\n1',0),(613,'patrol','patrol','20120926230818',1,'Administrador',0,'Actualizacion_DB',59,'','681\n680\n1',0),(614,'patrol','patrol','20120926231444',1,'Administrador',0,'Actualizacion_DB',59,'','682\n681\n1',0),(615,'patrol','patrol','20120926231721',1,'Administrador',0,'Actualizacion_DB',59,'','683\n682\n1',0),(616,'patrol','patrol','20120928203824',1,'Administrador',0,'GRA:_Relaciones',17,'','684\n605\n1',0),(617,'patrol','patrol','20120928205404',1,'Administrador',0,'GRA:_Relaciones',17,'','685\n684\n1',0),(618,'patrol','patrol','20120930021235',1,'Administrador',0,'Estructuras_SQL',80,'','686\n617\n1',0),(619,'patrol','patrol','20120930021431',1,'Administrador',0,'SQLCODE0005',92,'','687\n0\n1',0),(620,'patrol','patrol','20121002110217',1,'Administrador',0,'REPORTE:Presupuestos',34,'','688\n305\n1',0),(621,'patrol','patrol','20121002110339',1,'Administrador',0,'REPORTE:Presupuestos',34,'','689\n688\n1',0),(622,'patrol','patrol','20121002110406',1,'Administrador',0,'REPORTE:Presupuestos',34,'','690\n689\n1',0),(623,'patrol','patrol','20121002112037',1,'Administrador',0,'TABLA:reppresqry',93,'','691\n0\n1',0),(624,'patrol','patrol','20121002153737',1,'Administrador',0,'Developing',13,'','692\n394\n1',0),(625,'patrol','patrol','20121002165816',1,'Administrador',0,'Developing',13,'','693\n692\n1',0),(626,'patrol','patrol','20121003021512',1,'Administrador',0,'PROC:GrabaItemPresupuestoTmp',71,'','694\n545\n1',0),(627,'patrol','patrol','20121003021536',1,'Administrador',0,'PROC:GrabaItemPresupuestoTmp',71,'','695\n694\n1',0),(628,'patrol','patrol','20121003022011',1,'Administrador',0,'MACRO:BotonEditarComponentes',94,'','696\n0\n1',0),(629,'patrol','patrol','20121004153536',1,'Administrador',0,'GRA:_Relaciones',17,'','697\n685\n1',0),(630,'move','move','20121004153636',1,'Administrador',0,'REPORTE:PresupuestosDirecto',95,'','RPRT:PresupuestosDirecto\n',0),(631,'move','move','20121004153753',1,'Administrador',0,'REPORTE:Presupuestos',96,'','RPRT:Presupuestos\n',0),(632,'patrol','patrol','20121004153821',1,'Administrador',0,'GRA:_Relaciones',17,'','702\n697\n1',0),(633,'patrol','patrol','20121004153956',1,'Administrador',0,'GRA:_Releases',14,'','703\n642\n1',0),(634,'patrol','patrol','20121004154013',1,'Administrador',0,'GRA:_Releases',14,'','704\n703\n1',0),(635,'patrol','patrol','20121004154139',1,'Administrador',0,'Actualizacion_DB',59,'','705\n683\n1',0),(636,'patrol','patrol','20121004154327',1,'Administrador',0,'PROC:GrabaItemPresupuestoTmp',71,'','706\n695\n1',0),(637,'patrol','patrol','20121004154527',1,'Administrador',0,'GRA:_Releases',14,'','707\n704\n1',0),(638,'patrol','patrol','20121004154637',1,'Administrador',0,'GRA:_Releases',14,'','708\n707\n1',0),(639,'patrol','patrol','20121004154924',1,'Administrador',0,'GRA:_Releases',14,'','709\n708\n1',0),(640,'patrol','patrol','20121004155102',1,'Administrador',0,'GRA:_Releases',14,'','710\n709\n1',0),(641,'patrol','patrol','20121004190822',1,'Administrador',0,'GRA:_Releases',14,'','711\n710\n1',0),(642,'patrol','patrol','20121004191739',1,'Administrador',0,'Actualizacion_DB',59,'','712\n705\n1',0),(643,'patrol','patrol','20121004192044',1,'Administrador',0,'Actualizacion_DB',59,'','713\n712\n1',0),(644,'patrol','patrol','20121004192121',1,'Administrador',0,'Actualizacion_DB',59,'','714\n713\n1',0),(645,'patrol','patrol','20121004192539',1,'Administrador',0,'Actualizacion_DB',59,'','715\n714\n1',0),(646,'patrol','patrol','20121004192650',1,'Administrador',0,'Actualizacion_DB',59,'','716\n715\n1',0),(647,'patrol','patrol','20121004194824',1,'Administrador',0,'Actualizacion_DB',59,'','717\n716\n1',0),(648,'patrol','patrol','20121004195547',1,'Administrador',0,'Actualizacion_DB',59,'','718\n717\n1',0),(649,'patrol','patrol','20121004195809',1,'Administrador',0,'Actualizacion_DB',59,'','719\n718\n1',0),(650,'patrol','patrol','20121004200020',1,'Administrador',0,'Actualizacion_DB',59,'','720\n719\n1',0),(651,'patrol','patrol','20121004200959',1,'Administrador',0,'TRIG:Actualiza_Item_Presupuesto',87,'','721\n639\n1',0),(652,'patrol','patrol','20121004201843',1,'Administrador',0,'Actualizacion_DB',59,'','722\n720\n1',0),(653,'patrol','patrol','20121004202740',1,'Administrador',0,'Actualizacion_DB',59,'','723\n722\n1',0),(654,'patrol','patrol','20121004215800',1,'Administrador',0,'Actualizacion_DB',59,'','724\n723\n1',0),(655,'patrol','patrol','20121004223529',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','725\n603\n1',0),(656,'patrol','patrol','20121004223711',1,'Administrador',0,'Actualizacion_DB',59,'','726\n724\n1',0),(657,'patrol','patrol','20121009212410',1,'Administrador',0,'GRA:_Releases',14,'','727\n711\n1',0),(658,'patrol','patrol','20121009212556',1,'Administrador',0,'Actualizacion_DB',59,'','728\n726\n1',0),(659,'patrol','patrol','20121009212653',1,'Administrador',0,'Actualizacion_DB',59,'','729\n728\n1',0),(660,'patrol','patrol','20121009213147',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','730\n543\n1',0),(661,'patrol','patrol','20121009213228',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','731\n730\n1',0),(662,'patrol','patrol','20121009214110',1,'Administrador',0,'GRA:_Releases',14,'','732\n727\n1',0),(663,'patrol','patrol','20121010034249',1,'Administrador',0,'GRA:_Releases',14,'','733\n732\n1',0),(664,'patrol','patrol','20121010034408',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','734\n731\n1',0),(665,'patrol','patrol','20121010034626',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','735\n734\n1',0),(666,'patrol','patrol','20121010125739',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','736\n735\n1',0),(667,'patrol','patrol','20121017210308',1,'Administrador',0,'VISTA:proveedores',97,'','737\n0\n1',0),(668,'patrol','patrol','20121017211455',1,'Administrador',0,'PROC:CalculoPrecio',36,'','738\n319\n1',0),(669,'patrol','patrol','20121017212434',1,'Administrador',0,'PROC:CalculoPrecio',36,'','739\n738\n1',0),(670,'patrol','patrol','20121017212801',1,'Administrador',0,'GRA:_Releases',14,'','740\n733\n1',0),(671,'patrol','patrol','20121017213036',1,'Administrador',0,'GRA:_Releases',14,'','741\n740\n1',0),(672,'patrol','patrol','20121017213516',1,'Administrador',0,'Página_principal',2,'','742\n414\n1',0),(673,'patrol','patrol','20121017215925',1,'Administrador',0,'GRA:_Releases',14,'','743\n741\n1',0),(674,'patrol','patrol','20121017225211',1,'Administrador',0,'GRA:_Releases',14,'','744\n743\n1',0),(675,'patrol','patrol','20121017225903',1,'Administrador',0,'GRA:_Releases',14,'','745\n744\n1',0),(676,'delete','delete','20121018125233',1,'Administrador',0,'GRA:_Bitácora',0,'A petición del mismo autor: el contenido era: « == 20120112 == * Activación de Wiki * Desarrollo y test de [[TRIGGER:Alta_Productos]] * Modificación de [[VISTA:visindetpre]] * Modificación de ...» (y el único autor fue «[[Special:Contributions/Adm','',0),(677,'patrol','patrol','20121018125256',1,'Administrador',0,'Página_principal',2,'','746\n742\n1',0),(678,'patrol','patrol','20121018130150',1,'Administrador',0,'GRA:_Releases',14,'','747\n745\n1',0),(679,'patrol','patrol','20121018130605',1,'Administrador',0,'MACRO:SugerenciaContactoID',98,'','748\n0\n1',0),(680,'patrol','patrol','20121018130713',1,'Administrador',0,'GRA:_Relaciones',17,'','749\n702\n1',0),(681,'patrol','patrol','20121018131608',1,'Administrador',0,'GRA:_Releases',14,'','750\n747\n1',0),(682,'patrol','patrol','20121018131725',1,'Administrador',0,'GRA:_Releases',14,'','751\n750\n1',0),(683,'patrol','patrol','20121018135850',1,'Administrador',0,'GRA:_Releases',14,'','752\n751\n1',0),(684,'patrol','patrol','20121018150246',1,'Administrador',0,'MACRO:EventoWhenLoadingFormCabecera',99,'','753\n0\n1',0),(685,'patrol','patrol','20121018150348',1,'Administrador',0,'MACRO:EventoWhenLoadingFormCabecera',99,'','754\n753\n1',0),(686,'patrol','patrol','20121023051831',1,'Administrador',0,'GRA:_Releases',14,'','755\n752\n1',0),(687,'patrol','patrol','20121023052438',1,'Administrador',0,'FORM:PosicionCRM',100,'','756\n0\n1',0),(688,'patrol','patrol','20121023060122',1,'Administrador',0,'RPRT:IndividualCRM',101,'','757\n0\n1',0),(689,'patrol','patrol','20121023060146',1,'Administrador',0,'RPRT:IndividualCRM',101,'','758\n757\n1',0),(690,'patrol','patrol','20121023174342',1,'Administrador',0,'GRA:_Releases',14,'','759\n755\n1',0),(691,'patrol','patrol','20121023175044',1,'Administrador',0,'FORM:ConsultaClienteCRM',102,'','760\n0\n1',0),(692,'patrol','patrol','20121023175414',1,'Administrador',0,'FORM:ConsultaClienteCRM',102,'','761\n760\n1',0),(693,'patrol','patrol','20121023175509',1,'Administrador',0,'FORM:ConsultaClienteCRM',102,'','762\n761\n1',0),(694,'patrol','patrol','20121024171316',1,'Administrador',0,'GRA:_Releases',14,'','763\n759\n1',0),(695,'patrol','patrol','20121024171512',1,'Administrador',0,'TABLA:magnitudes',103,'','764\n0\n1',0),(696,'patrol','patrol','20121024172154',1,'Administrador',0,'TABLA:magnitudes',103,'','765\n764\n1',0),(697,'patrol','patrol','20121024172245',1,'Administrador',0,'TABLA:magnitudes',103,'','766\n765\n1',0),(698,'patrol','patrol','20121024172329',1,'Administrador',0,'GRA:_Relaciones',17,'','767\n749\n1',0),(699,'patrol','patrol','20121024174528',1,'Administrador',0,'Página_principal',2,'','768\n746\n1',0),(700,'patrol','patrol','20121024174741',1,'Administrador',0,'SpanexDraw',104,'','769\n0\n1',0),(701,'patrol','patrol','20121024175254',1,'Administrador',0,'TABLA:projects',105,'','770\n0\n1',0),(702,'patrol','patrol','20121024180220',1,'Administrador',0,'TABLA:secciones',106,'','771\n0\n1',0),(703,'patrol','patrol','20121025112638',1,'Administrador',0,'SpanexDraw',104,'','772\n769\n1',0),(704,'patrol','patrol','20121026012711',1,'Administrador',0,'TABLA:frames',107,'','773\n0\n1',0),(705,'patrol','patrol','20121026012812',1,'Administrador',0,'TABLA:frames',107,'','774\n773\n1',0),(706,'patrol','patrol','20121026133830',1,'Administrador',0,'GRA:_Releases',14,'','775\n763\n1',0),(707,'patrol','patrol','20121026134032',1,'Administrador',0,'Actualizacion_DB',59,'','776\n729\n1',0),(708,'patrol','patrol','20121026134054',1,'Administrador',0,'Actualizacion_DB',59,'','777\n776\n1',0),(709,'patrol','patrol','20121026134247',1,'Administrador',0,'Actualizacion_DB',59,'','778\n777\n1',0),(710,'patrol','patrol','20121026134705',1,'Administrador',0,'TABLA:vidquoten1',108,'','779\n0\n1',0),(711,'patrol','patrol','20121029153340',1,'Administrador',0,'GRA:_Releases',14,'','780\n775\n1',0),(712,'patrol','patrol','20121029154709',1,'Administrador',0,'MACRO:EventoWhenLoadingFormCabecera',99,'','781\n754\n1',0),(713,'patrol','patrol','20121029154755',1,'Administrador',0,'MACRO:EventoBRADetallePresupuesto',109,'','782\n0\n1',0),(714,'patrol','patrol','20121029154831',1,'Administrador',0,'MACRO:EventoBRADetallePresupuesto',109,'','783\n782\n1',0),(715,'patrol','patrol','20121029165133',1,'Administrador',0,'GRA:_Relaciones',17,'','784\n767\n1',0),(716,'patrol','patrol','20121029165159',1,'Administrador',0,'LIBR:FazzGlassMcr',110,'','785\n0\n1',0),(717,'patrol','patrol','20121029165655',1,'Administrador',0,'LIBR:SpanexB',111,'','786\n0\n1',0),(718,'patrol','patrol','20121029165740',1,'Administrador',0,'LIBR:FazzGlassMcr',110,'','787\n785\n1',0),(719,'patrol','patrol','20121030095606',1,'Administrador',0,'Página_principal',2,'','788\n768\n1',0),(720,'patrol','patrol','20121030095630',1,'Administrador',0,'Página_principal',2,'','789\n788\n1',0),(721,'patrol','patrol','20121030100502',1,'Administrador',0,'GRA:_Releases',14,'','790\n780\n1',0),(722,'patrol','patrol','20121030100549',1,'Administrador',0,'GRA:_Releases',14,'','791\n790\n1',0),(723,'patrol','patrol','20121030100950',1,'Administrador',0,'GRA:_Releases',14,'','792\n791\n1',0),(724,'patrol','patrol','20121030101240',1,'Administrador',0,'Página_principal',2,'','793\n789\n1',0),(725,'patrol','patrol','20121030101539',1,'Administrador',0,'Pendientes',112,'','794\n0\n1',0),(726,'patrol','patrol','20121030101624',1,'Administrador',0,'Pendientes',112,'','795\n794\n1',0),(727,'patrol','patrol','20121030102032',1,'Administrador',0,'Pendientes',112,'','796\n795\n1',0),(728,'patrol','patrol','20121030132301',1,'Administrador',0,'MACRO:MuestraSubForm',113,'','797\n0\n1',0),(729,'patrol','patrol','20121030132611',1,'Administrador',0,'GRA:_Releases',14,'','798\n792\n1',0),(730,'patrol','patrol','20121030133053',1,'Administrador',0,'MACRO:AprobacionPresupuesto',114,'','799\n0\n1',0),(731,'patrol','patrol','20121030133110',1,'Administrador',0,'MACRO:AprobacionPresupuesto',114,'','800\n799\n1',0),(732,'patrol','patrol','20121030133136',1,'Administrador',0,'MACRO:AprobacionPresupuesto',114,'','801\n800\n1',0),(733,'patrol','patrol','20121030133321',1,'Administrador',0,'MACRO:AprobacionPresupuesto',114,'','802\n801\n1',0),(734,'patrol','patrol','20121030133342',1,'Administrador',0,'MACRO:AprobacionPresupuesto',114,'','803\n802\n1',0),(735,'patrol','patrol','20121030133438',1,'Administrador',0,'MACRO:AprobacionPresupuesto',114,'','804\n803\n1',0),(736,'patrol','patrol','20121030133636',1,'Administrador',0,'GRA:_Releases',14,'','805\n798\n1',0),(737,'patrol','patrol','20121030134139',1,'Administrador',0,'Pendientes',112,'','806\n796\n1',0),(738,'patrol','patrol','20121030134624',1,'Administrador',0,'LIBR:SpanexC',115,'','807\n0\n1',0),(739,'patrol','patrol','20121101134834',1,'Administrador',0,'Página_principal',2,'','808\n793\n1',0),(740,'patrol','patrol','20121101135522',1,'Administrador',0,'Página_principal',2,'','809\n808\n1',0),(741,'patrol','patrol','20121108144727',1,'Administrador',0,'WikiUserSpanex',51,'','810\n419\n1',0),(742,'patrol','patrol','20121108144853',1,'Administrador',0,'WikiUserSpanex',51,'','811\n810\n1',0),(743,'patrol','patrol','20121108145347',1,'Administrador',0,'WikiUserSpanex',51,'','812\n811\n1',0),(744,'patrol','patrol','20121109141018',1,'Administrador',0,'Developing',13,'','813\n693\n1',0),(745,'patrol','patrol','20121109141159',1,'Administrador',0,'Developing',13,'','814\n813\n1',0),(746,'patrol','patrol','20121112220108',1,'Administrador',0,'Developing',13,'','815\n814\n1',0),(747,'patrol','patrol','20121123153547',1,'Administrador',0,'RPRT:Presupuestos',34,'','816\n700\n1',0),(748,'patrol','patrol','20121123153854',1,'Administrador',0,'RPRT:Presupuestos',34,'','817\n816\n1',0),(749,'patrol','patrol','20121123154320',1,'Administrador',0,'RPRT:Presupuestos',34,'','818\n817\n1',0),(750,'patrol','patrol','20121123162518',1,'Administrador',0,'GRA:_Relaciones',17,'','819\n784\n1',0),(751,'patrol','patrol','20121123162705',1,'Administrador',0,'TABLA:moduloscab',116,'','820\n0\n1',0),(752,'patrol','patrol','20121123162756',1,'Administrador',0,'TABLA:moduloscab',116,'','821\n820\n1',0),(753,'patrol','patrol','20121123162958',1,'Administrador',0,'TABLA:modulosdet',117,'','822\n0\n1',0),(754,'patrol','patrol','20121123163020',1,'Administrador',0,'TABLA:modulosdet',117,'','823\n822\n1',0),(755,'patrol','patrol','20121128102933',1,'Administrador',0,'GRA:_Relaciones',17,'','824\n819\n1',0),(756,'patrol','patrol','20121128103302',1,'Administrador',0,'VISTA:vischeckmod',118,'','825\n0\n1',0),(757,'patrol','patrol','20121128103319',1,'Administrador',0,'VISTA:vischeckmod',118,'','826\n825\n1',0),(758,'patrol','patrol','20121128103643',1,'Administrador',0,'VISTA:vischeckmod',118,'','827\n826\n1',0),(759,'patrol','patrol','20121129214738',1,'Administrador',0,'WikiUserSpanex',51,'','828\n812\n1',0),(760,'patrol','patrol','20121129215131',1,'Administrador',0,'WikiUserSpanex',51,'','829\n828\n1',0),(761,'patrol','patrol','20121129220156',1,'Administrador',0,'WikiUserSpanex',51,'','830\n829\n1',0),(762,'patrol','patrol','20121129221205',1,'Administrador',0,'WikiUserSpanex',51,'','831\n830\n1',0),(763,'patrol','patrol','20121130153113',1,'Administrador',0,'Actualizacion_DB',59,'','832\n778\n1',0),(764,'patrol','patrol','20121130224004',1,'Administrador',0,'Actualizacion_DB',59,'','833\n832\n1',0),(765,'patrol','patrol','20121130224219',1,'Administrador',0,'Actualizacion_DB',59,'','834\n833\n1',0),(766,'patrol','patrol','20121130234049',1,'Administrador',0,'Actualizacion_DB',59,'','835\n834\n1',0),(767,'patrol','patrol','20121130234531',1,'Administrador',0,'GRA:_Releases',14,'','836\n805\n1',0),(768,'patrol','patrol','20121130234556',1,'Administrador',0,'GRA:_Releases',14,'','837\n836\n1',0),(769,'patrol','patrol','20121130234810',1,'Administrador',0,'GRA:_Releases',14,'','838\n837\n1',0),(770,'upload','upload','20121130235018',1,'Administrador',6,'SpanexGestion.FORM.Modulos.png',0,'','',0),(771,'patrol','patrol','20121130235313',1,'Administrador',0,'GRA:_Releases',14,'','840\n838\n1',0),(772,'patrol','patrol','20121130235447',1,'Administrador',0,'GRA:_Releases',14,'','841\n840\n1',0),(773,'patrol','patrol','20121130235449',1,'Administrador',0,'FORM:Modulos',120,'','842\n0\n1',0),(774,'patrol','patrol','20121130235520',1,'Administrador',0,'FORM:Modulos',120,'','843\n842\n1',0),(775,'patrol','patrol','20121201002615',1,'Administrador',0,'FORM:Modulos',120,'','844\n843\n1',0),(776,'patrol','patrol','20121201003241',1,'Administrador',0,'FORM:Modulos',120,'','845\n844\n1',0),(777,'patrol','patrol','20121203170309',1,'Administrador',0,'Actualizacion_DB',59,'','846\n835\n1',0),(778,'patrol','patrol','20121203170512',1,'Administrador',0,'Actualizacion_DB',59,'','847\n846\n1',0),(779,'patrol','patrol','20121203170651',1,'Administrador',0,'Actualizacion_DB',59,'','848\n847\n1',0),(780,'patrol','patrol','20121204022818',1,'Administrador',0,'MACRO:CheckValidMeasure',121,'','849\n0\n1',0),(781,'patrol','patrol','20121204023030',1,'Administrador',0,'MACRO:CheckValidMeasure',121,'','850\n849\n1',0),(782,'patrol','patrol','20121204023102',1,'Administrador',0,'MACRO:CheckValidMeasure',121,'','851\n850\n1',0),(783,'patrol','patrol','20121204023726',1,'Administrador',0,'MACRO:CheckValidMeasure',121,'','852\n851\n1',0),(784,'patrol','patrol','20121204023918',1,'Administrador',0,'MACRO:CheckValidMeasure',121,'','853\n852\n1',0),(785,'patrol','patrol','20121204024214',1,'Administrador',0,'MACRO:CheckValidMeasure',121,'','854\n853\n1',0),(786,'patrol','patrol','20121206115741',1,'Administrador',0,'GRA:_Relaciones',17,'','855\n824\n1',0),(787,'patrol','patrol','20121206120146',1,'Administrador',0,'TABLA:modulossbs',122,'','856\n0\n1',0),(788,'patrol','patrol','20121206120252',1,'Administrador',0,'TABLA:modulossbs',122,'','857\n856\n1',0),(789,'patrol','patrol','20121206120831',1,'Administrador',0,'TABLA:modulosdet',117,'','858\n823\n1',0),(790,'patrol','patrol','20121206121515',1,'Administrador',0,'Actualizacion_DB',59,'','859\n848\n1',0),(791,'patrol','patrol','20121206122105',1,'Administrador',0,'GRA:_Releases',14,'','860\n841\n1',0),(792,'patrol','patrol','20121206122416',1,'Administrador',0,'Página_principal',2,'','861\n809\n1',0),(793,'patrol','patrol','20121206122756',1,'Administrador',0,'WikiSpanexSupport',123,'','862\n0\n1',0),(794,'patrol','patrol','20121206124103',1,'Administrador',0,'TABLA:accreceiv',49,'','863\n405\n1',0),(795,'patrol','patrol','20121206124208',1,'Administrador',0,'TABLA:accreceiv',49,'','864\n863\n1',0),(796,'patrol','patrol','20121206124550',1,'Administrador',0,'TABLA:composicion',5,'','865\n509\n1',0),(797,'patrol','patrol','20121206130232',1,'Administrador',0,'GRA:_Releases',14,'','866\n860\n1',0),(798,'patrol','patrol','20121206130302',1,'Administrador',0,'GRA:_Releases',14,'','867\n866\n1',0),(799,'patrol','patrol','20121206130323',1,'Administrador',0,'GRA:_Releases',14,'','868\n867\n1',0),(800,'patrol','patrol','20121206131553',1,'Administrador',0,'Página_principal',2,'','869\n861\n1',0),(801,'patrol','patrol','20121206131619',1,'Administrador',0,'Página_principal',2,'','870\n869\n1',0),(802,'patrol','patrol','20121206131736',1,'Administrador',14,'TABLAS',124,'','871\n0\n1',0),(803,'patrol','patrol','20121206132033',1,'Administrador',0,'Página_principal',2,'','872\n870\n1',0),(804,'patrol','patrol','20121206132132',1,'Administrador',14,'TABLAS',124,'','873\n871\n1',0),(805,'patrol','patrol','20121206132320',1,'Administrador',0,'TABLA:modulossbs',122,'','874\n857\n1',0),(806,'patrol','patrol','20121206132427',1,'Administrador',0,'TABLA:magnitudes',103,'','875\n766\n1',0),(807,'patrol','patrol','20121206132739',1,'Administrador',0,'Página_principal',2,'','876\n872\n1',0),(808,'patrol','patrol','20121206133216',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','877\n677\n1',0),(809,'patrol','patrol','20121206133332',1,'Administrador',0,'WikiSpanexSupport',123,'','878\n862\n1',0),(810,'patrol','patrol','20121206133407',1,'Administrador',0,'WikiSpanexSupport',123,'','879\n878\n1',0),(811,'patrol','patrol','20121206133454',1,'Administrador',0,'WikiSpanexSupport',123,'','880\n879\n1',0),(812,'patrol','patrol','20121206133628',1,'Administrador',0,'WikiSpanexSupport',123,'','881\n880\n1',0),(813,'patrol','patrol','20121206133804',1,'Administrador',0,'TKT:FZG.000001',125,'','882\n0\n1',0),(814,'patrol','patrol','20121206133824',1,'Administrador',0,'TKT:FZG.000001',125,'','883\n882\n1',0),(815,'patrol','patrol','20121206133939',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','884\n877\n1',0),(816,'patrol','patrol','20121206133958',1,'Administrador',0,'TKT:FZG.000001',125,'','885\n883\n1',0),(817,'patrol','patrol','20121206134038',1,'Administrador',0,'TKT:FZG.000001',125,'','886\n885\n1',0),(818,'patrol','patrol','20121206134137',1,'Administrador',0,'WikiSpanexSupport',123,'','887\n881\n1',0),(819,'patrol','patrol','20121206134225',1,'Administrador',0,'TKT:FZG.000001',125,'','888\n886\n1',0),(820,'patrol','patrol','20121206134252',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','889\n884\n1',0),(821,'patrol','patrol','20121206134327',1,'Administrador',0,'TKT:FZG.000001',125,'','890\n888\n1',0),(822,'patrol','patrol','20121206134357',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','891\n889\n1',0),(823,'patrol','patrol','20121206134425',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','892\n891\n1',0),(824,'patrol','patrol','20121206134507',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','893\n892\n1',0),(825,'patrol','patrol','20121206134609',1,'Administrador',0,'Página_principal',2,'','894\n876\n1',0),(826,'patrol','patrol','20121206134741',1,'Administrador',14,'TKT',126,'','895\n0\n1',0),(827,'delete','delete','20121206134938',1,'Administrador',0,'WikiSpanexSupport',0,'El contenido antes de blanquear era: «\'\'\'Listado de tickets\'\'\' [[TKT:FZG.000001]] ==== FZG.000001 ==== \'\'\'Autor\'\'\': Sofia  \'\'\'Fecha\'\'\': 20121205  \'\'\'Soporte\'\'\': SAS =====Incidente===== Se corrompe el archivo manifiest.rdf luego de cerrar la aplicaci...»','',0),(828,'patrol','patrol','20121206135239',1,'Administrador',0,'Página_principal',2,'','896\n894\n1',0),(829,'patrol','patrol','20121206135410',1,'Administrador',0,'Spanex:Estructuras',127,'','897\n0\n1',0),(830,'patrol','patrol','20121206135450',1,'Administrador',0,'Spanex:Estructuras',127,'','898\n897\n1',0),(831,'patrol','patrol','20121206135846',1,'Administrador',0,'VISTA:vischeckmod',118,'','899\n827\n1',0),(832,'patrol','patrol','20121206140005',1,'Administrador',0,'VISTA:vischeckmod',118,'','900\n899\n1',0),(833,'patrol','patrol','20121206140045',1,'Administrador',14,'VISTAS',128,'','901\n0\n1',0),(834,'patrol','patrol','20121206205827',1,'Administrador',0,'TKT:FZG.000001',125,'','902\n890\n1',0),(835,'patrol','patrol','20121206205854',1,'Administrador',0,'TKT:FZG.000001',125,'','903\n902\n1',0),(836,'patrol','patrol','20121206205919',1,'Administrador',0,'TKT:FZG.000001',125,'','904\n903\n1',0),(837,'patrol','patrol','20121206210035',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','905\n893\n1',0),(838,'patrol','patrol','20121206210417',1,'Administrador',0,'TKT.FZG.000002',129,'','906\n0\n1',0),(839,'patrol','patrol','20121206210837',1,'Administrador',0,'TKT.FZG.000002',129,'','907\n906\n1',0),(840,'patrol','patrol','20121206211703',1,'Administrador',0,'TKT.FZG.000003',130,'','908\n0\n1',0),(841,'patrol','patrol','20121206211733',1,'Administrador',0,'TKT.FZG.000003',130,'','909\n908\n1',0),(842,'patrol','patrol','20121206211911',1,'Administrador',0,'TKT:FZG.000001',125,'','910\n904\n1',0),(843,'patrol','patrol','20121206211939',1,'Administrador',14,'TKTOut',131,'','911\n0\n1',0),(844,'patrol','patrol','20121206213412',1,'Administrador',0,'TKT.FZG.000004',132,'','912\n0\n1',0),(845,'patrol','patrol','20121206213601',1,'Administrador',0,'TKT.FZG.000005',133,'','913\n0\n1',0),(846,'patrol','patrol','20121206213702',1,'Administrador',0,'Página_principal',2,'','914\n896\n1',0),(847,'patrol','patrol','20121206213746',1,'Administrador',0,'Página_principal',2,'','915\n914\n1',0),(848,'patrol','patrol','20121207150831',1,'Administrador',0,'TKT.FZG.000006',134,'','916\n0\n1',0),(849,'patrol','patrol','20121207153209',1,'Administrador',0,'TKT.FZG.000006',134,'','917\n916\n1',0),(850,'patrol','patrol','20121207153413',1,'Administrador',0,'TKT.FZG.000006',134,'','918\n917\n1',0),(851,'patrol','patrol','20121207153930',1,'Administrador',0,'TKT.FZG.000006',134,'','919\n918\n1',0),(852,'patrol','patrol','20121207154357',1,'Administrador',0,'TKT.FZG.000006',134,'','920\n919\n1',0),(853,'patrol','patrol','20121207154456',1,'Administrador',0,'TKT.FZG.000006',134,'','921\n920\n1',0),(854,'patrol','patrol','20121208031633',1,'Administrador',0,'TKT.FZG.000002',129,'','922\n907\n1',0),(855,'patrol','patrol','20121208031953',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','923\n725\n1',0),(856,'patrol','patrol','20121208032727',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','924\n923\n1',0),(857,'patrol','patrol','20121208034149',1,'Administrador',0,'TKT.FZG.000002',129,'','925\n922\n1',0),(858,'patrol','patrol','20121208035137',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','926\n736\n1',0),(859,'patrol','patrol','20121208035418',1,'Administrador',0,'GRA:_Releases',14,'','927\n868\n1',0),(860,'patrol','patrol','20121208035533',1,'Administrador',0,'GRA:_Releases',14,'','928\n927\n1',0),(861,'patrol','patrol','20121208035825',1,'Administrador',0,'GRA:_Releases',14,'','929\n928\n1',0),(862,'move','move','20121208040040',1,'Administrador',0,'TKT.FZG.000006',135,'','TKT:FZG.000006\n',0),(863,'move','move','20121208040055',1,'Administrador',0,'TKT.FZG.000002',136,'','TKT:FZG.000002\n',0),(864,'move','move','20121208040200',1,'Administrador',0,'TKT.FZG.000003',137,'','TKT:FZG.000003\n',0),(865,'move','move','20121208040220',1,'Administrador',0,'TKT.FZG.000004',138,'','TKT:FZG.000004\n',0),(866,'move','move','20121208040234',1,'Administrador',0,'TKT.FZG.000005',139,'','TKT:FZG.000005\n',0),(867,'patrol','patrol','20121208040311',1,'Administrador',14,'TKT',126,'','940\n895\n1',0),(868,'patrol','patrol','20121208040724',1,'Administrador',0,'PROC:CalculoPrecio',36,'','941\n739\n1',0),(869,'patrol','patrol','20121208040809',1,'Administrador',14,'PROC',140,'','942\n0\n1',0),(870,'patrol','patrol','20121208041409',1,'Administrador',0,'Spanex:Estructuras',127,'','943\n898\n1',0),(871,'patrol','patrol','20121208041539',1,'Administrador',14,'MACROS',141,'','944\n0\n1',0),(872,'patrol','patrol','20121208041557',1,'Administrador',14,'RPRT',142,'','945\n0\n1',0),(873,'patrol','patrol','20121208042104',1,'Administrador',0,'PROC:AltaItemPresupuesto',23,'','946\n924\n1',0),(874,'patrol','patrol','20121208042117',1,'Administrador',0,'PROC:AltaItemPresupuestoTmp',68,'','947\n926\n1',0),(875,'patrol','patrol','20121211134443',1,'Administrador',0,'Actualizacion_DB',59,'','948\n859\n1',0),(876,'patrol','patrol','20121211163719',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','949\n905\n1',0),(877,'patrol','patrol','20121211163822',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','950\n949\n1',0),(878,'patrol','patrol','20121211172209',1,'Administrador',0,'TABLA:bocetoscab',143,'','951\n0\n1',0),(879,'patrol','patrol','20121211172310',1,'Administrador',0,'GRA:_Relaciones',17,'','952\n855\n1',0),(880,'patrol','patrol','20121211172348',1,'Administrador',0,'GRA:_Relaciones',17,'','953\n952\n1',0),(881,'patrol','patrol','20121211172415',1,'Administrador',0,'TABLA:accpayab',48,'','954\n404\n1',0),(882,'patrol','patrol','20121211173232',1,'Administrador',0,'TABLA:bocetosdet',144,'','955\n0\n1',0),(883,'patrol','patrol','20121211173341',1,'Administrador',0,'GRA:_Relaciones',17,'','956\n953\n1',0),(884,'patrol','patrol','20121211174522',1,'Administrador',0,'TABLA:bocetossbs',145,'','957\n0\n1',0),(885,'patrol','patrol','20121211174649',1,'Administrador',0,'TABLA:moduloscab',116,'','958\n821\n1',0),(886,'patrol','patrol','20121211174708',1,'Administrador',0,'TABLA:modulosdet',117,'','959\n858\n1',0),(887,'patrol','patrol','20121211174827',1,'Administrador',0,'TABLA:precios',60,'','960\n471\n1',0),(888,'patrol','patrol','20121211174854',1,'Administrador',0,'TABLA:productos',40,'','961\n360\n1',0),(889,'patrol','patrol','20121211174917',1,'Administrador',0,'TABLA:reppresqry',93,'','962\n691\n1',0),(890,'patrol','patrol','20121211174937',1,'Administrador',0,'TABLA:tdocumento',50,'','963\n410\n1',0),(891,'patrol','patrol','20121211174958',1,'Administrador',0,'TABLA:telemecomp',66,'','964\n485\n1',0),(892,'patrol','patrol','20121211175041',1,'Administrador',0,'GRA:_Relaciones',17,'','965\n956\n1',0),(893,'patrol','patrol','20121211175126',1,'Administrador',0,'TABLA:vidquoten1',108,'','966\n779\n1',0),(894,'patrol','patrol','20121211175143',1,'Administrador',0,'TABLA:vidquoten3',57,'','967\n443\n1',0),(895,'patrol','patrol','20121211175217',1,'Administrador',0,'TABLA:vidquoten3tmp',58,'','968\n669\n1',0),(896,'patrol','patrol','20121211175244',1,'Administrador',0,'GRA:_Relaciones',17,'','969\n965\n1',0),(897,'patrol','patrol','20121212142514',1,'Administrador',0,'TABLA:listavsdim',146,'','970\n0\n1',0),(898,'patrol','patrol','20121212142549',1,'Administrador',0,'TABLA:magnitudes',103,'','971\n875\n1',0),(899,'patrol','patrol','20121212145013',1,'Administrador',0,'TABLA:listaatrib',147,'','972\n0\n1',0),(900,'patrol','patrol','20121212160658',1,'Administrador',0,'Página_principal',2,'','973\n915\n1',0),(901,'patrol','patrol','20121212160941',1,'Administrador',0,'TABLA:composicionqry',148,'','974\n0\n1',0),(902,'patrol','patrol','20121212161329',1,'Administrador',0,'TABLA:debugstmt',149,'','975\n0\n1',0),(903,'patrol','patrol','20121212161617',1,'Administrador',0,'PROC:DebugCheckPoint',150,'','976\n0\n1',0),(904,'patrol','patrol','20121212161650',1,'Administrador',0,'TABLA:debugstmt',149,'','977\n975\n1',0),(905,'patrol','patrol','20121212174747',1,'Administrador',0,'TABLA:vidquoten2',151,'','978\n0\n1',0),(906,'patrol','patrol','20121212174803',1,'Administrador',0,'GRA:_Relaciones',17,'','979\n969\n1',0),(907,'upload','upload','20121212182222',1,'Administrador',6,'Esquema.Tablas.Presupuesto.jpg',0,'','',0),(908,'patrol','patrol','20121212182409',1,'Administrador',0,'TABLA:vidquoten2',151,'','981\n978\n1',0),(909,'patrol','patrol','20121212182512',1,'Administrador',0,'TABLA:vidquoten2',151,'','982\n981\n1',0),(910,'patrol','patrol','20121212182718',1,'Administrador',0,'TABLA:vidquoten2',151,'','983\n982\n1',0),(911,'patrol','patrol','20121212182742',1,'Administrador',0,'TABLA:vidquoten2',151,'','984\n983\n1',0),(912,'patrol','patrol','20121212183133',1,'Administrador',0,'TABLA:vidquoten2',151,'','985\n984\n1',0),(913,'patrol','patrol','20121212183200',1,'Administrador',0,'TABLA:vidquoten2',151,'','986\n985\n1',0),(914,'patrol','patrol','20121212183529',1,'Administrador',0,'VISTA:acomerciales',73,'','987\n594\n1',0),(915,'patrol','patrol','20121212183621',1,'Administrador',0,'VISTA:clientes',63,'','988\n598\n1',0),(916,'patrol','patrol','20121212183835',1,'Administrador',0,'VISTA:chqactivos',46,'','989\n392\n1',0),(917,'patrol','patrol','20121212184004',1,'Administrador',0,'TABLA:checkbook',153,'','990\n0\n1',0),(918,'patrol','patrol','20121212184304',1,'Administrador',0,'Actualizacion_DB',59,'','991\n948\n1',0),(919,'patrol','patrol','20121212184334',1,'Administrador',0,'Actualizacion_DB',59,'','992\n991\n1',0),(920,'patrol','patrol','20121212184816',1,'Administrador',0,'Actualizacion_DB',59,'','993\n992\n1',0),(921,'patrol','patrol','20121212184933',1,'Administrador',0,'GRA:_Relaciones',17,'','994\n979\n1',0),(922,'patrol','patrol','20121212201755',1,'Administrador',0,'TABLA:wscontrol',154,'','995\n0\n1',0),(923,'patrol','patrol','20121212201847',1,'Administrador',0,'Página_principal',2,'','996\n973\n1',0),(924,'patrol','patrol','20121212201941',1,'Administrador',0,'Página_principal',2,'','997\n996\n1',0),(925,'patrol','patrol','20121212203511',1,'Administrador',0,'TABLA:contactos',155,'','998\n0\n1',0),(926,'patrol','patrol','20121212203622',1,'Administrador',0,'TABLA:contactos',155,'','999\n998\n1',0),(927,'patrol','patrol','20121212204109',1,'Administrador',0,'GRA:_Relaciones',17,'','1000\n994\n1',0),(928,'patrol','patrol','20121212204311',1,'Administrador',0,'Actualizacion_DB',59,'','1001\n993\n1',0),(929,'patrol','patrol','20121212204343',1,'Administrador',0,'Actualizacion_DB',59,'','1002\n1001\n1',0),(930,'patrol','patrol','20121212204426',1,'Administrador',0,'GRA:_Relaciones',17,'','1003\n1000\n1',0),(931,'patrol','patrol','20121212204519',1,'Administrador',0,'VISTA:visprodadic',29,'','1004\n292\n1',0),(932,'patrol','patrol','20121212204554',1,'Administrador',0,'VISTA:visreppres',28,'','1005\n293\n1',0),(933,'patrol','patrol','20121212204607',1,'Administrador',0,'VISTA:visrprescmp',27,'','1006\n308\n1',0),(934,'patrol','patrol','20121212204620',1,'Administrador',0,'VISTA:vissubxitem',32,'','1007\n296\n1',0),(935,'patrol','patrol','20121212204653',1,'Administrador',0,'VISTA:vischtdisp',55,'','1008\n440\n1',0),(936,'patrol','patrol','20121212204718',1,'Administrador',0,'VISTA:vistotprod',56,'','1009\n442\n1',0),(937,'patrol','patrol','20121212204738',1,'Administrador',0,'GRA:_Relaciones',17,'','1010\n1003\n1',0),(938,'patrol','patrol','20121212204811',1,'Administrador',0,'VISTA:vistranscrm',45,'','1011\n390\n1',0),(939,'patrol','patrol','20121212204842',1,'Administrador',0,'VISTA:visintdetpre',33,'','1012\n314\n1',0),(940,'patrol','patrol','20121212204847',1,'Administrador',0,'VISTA:vislineabs',30,'','1013\n294\n1',0),(941,'patrol','patrol','20121212204853',1,'Administrador',0,'VISTA:visprdparam',26,'','1014\n323\n1',0),(942,'patrol','patrol','20121212204859',1,'Administrador',0,'VISTA:visdetaobs',31,'','1015\n289\n1',0),(943,'patrol','patrol','20121212204905',1,'Administrador',0,'VISTA:viscomposimpl',38,'','1016\n343\n1',0),(944,'patrol','patrol','20121212204944',1,'Administrador',0,'GRA:_Relaciones',17,'','1017\n1010\n1',0),(945,'patrol','patrol','20121212205053',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','1018\n950\n1',0),(946,'patrol','patrol','20121212205147',1,'Administrador',0,'PROC:ActualizaItemPresupuesto',88,'','1019\n641\n1',0),(947,'patrol','patrol','20121212205155',1,'Administrador',0,'PROC:ActualizaPreciosPresupuesto',86,'','1020\n633\n1',0),(948,'patrol','patrol','20121212205157',1,'Administrador',0,'PROC:ActualizaPreciosTabular',69,'','1021\n539\n1',0),(949,'patrol','patrol','20121212205202',1,'Administrador',0,'PROC:AgregaProductoCompo',43,'','1022\n374\n1',0),(950,'patrol','patrol','20121212205245',1,'Administrador',0,'PROC:CalculaPrecioBase',22,'','1023\n322\n1',0),(951,'patrol','patrol','20121212205250',1,'Administrador',0,'PROC:CalculoMedidaReal',37,'','1024\n326\n1',0),(952,'patrol','patrol','20121212205300',1,'Administrador',0,'PROC:CopiaPresupuesto',89,'','1025\n645\n1',0),(953,'patrol','patrol','20121212205304',1,'Administrador',0,'PROC:DuplicaProductoCompo',39,'','1026\n493\n1',0),(954,'patrol','patrol','20121212205310',1,'Administrador',0,'PROC:GrabaItemPresupuestoTmp',71,'','1027\n706\n1',0),(955,'patrol','patrol','20121212205323',1,'Administrador',0,'PROC:ResetEdicionItemTmp',72,'','1028\n552\n1',0),(956,'patrol','patrol','20121212205407',1,'Administrador',0,'GRA:_Relaciones',17,'','1029\n1017\n1',0),(957,'patrol','patrol','20121212205711',1,'Administrador',0,'Spanex:Estructuras',127,'','1030\n943\n1',0),(958,'patrol','patrol','20121212205809',1,'Administrador',0,'LIBR:FazzGlassMcr',110,'','1031\n787\n1',0),(959,'patrol','patrol','20121212205841',1,'Administrador',0,'LIBR:SpanexB',111,'','1032\n786\n1',0),(960,'patrol','patrol','20121212205903',1,'Administrador',0,'LIBR:SpanexC',115,'','1033\n807\n1',0),(961,'patrol','patrol','20121212205938',1,'Administrador',14,'LIBR',156,'','1034\n0\n1',0),(962,'patrol','patrol','20121212210711',1,'Administrador',0,'GRA:_Relaciones',17,'','1035\n1029\n1',0),(963,'patrol','patrol','20121212210921',1,'Administrador',0,'RPRT:Presupuestos',34,'','1036\n818\n1',0),(964,'patrol','patrol','20121212210932',1,'Administrador',0,'RPRT:PresupuestosDirecto',35,'','1037\n698\n1',0),(965,'patrol','patrol','20121212210955',1,'Administrador',0,'RPRT:IndividualCRM',101,'','1038\n758\n1',0),(966,'patrol','patrol','20121212211105',1,'Administrador',0,'RPRT:IndividualCRM',101,'','1039\n1038\n1',0),(967,'patrol','patrol','20121212234640',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','1040\n1018\n1',0),(968,'patrol','patrol','20121212235456',1,'Administrador',0,'Spanex:Estructuras',127,'','1041\n1030\n1',0),(969,'patrol','patrol','20121212235632',1,'Administrador',0,'GRA:_Relaciones',17,'','1042\n1035\n1',0),(970,'patrol','patrol','20121212235706',1,'Administrador',0,'GRA:_Relaciones',17,'','1043\n1042\n1',0),(971,'patrol','patrol','20121212235740',1,'Administrador',0,'GRA:_Relaciones',17,'','1044\n1043\n1',0),(972,'patrol','patrol','20121213000120',1,'Administrador',0,'FORM:CopiaComposicion',44,'','1045\n383\n1',0),(973,'patrol','patrol','20121213000126',1,'Administrador',0,'FORM:Pagos',52,'','1046\n437\n1',0),(974,'patrol','patrol','20121213000321',1,'Administrador',0,'FORM:Presupuesto',19,'','1047\n167\n1',0),(975,'patrol','patrol','20121213000342',1,'Administrador',0,'FORM:Cobranzas',54,'','1048\n436\n1',0),(976,'patrol','patrol','20121213000426',1,'Administrador',0,'GRA:_Relaciones',17,'','1049\n1044\n1',0),(977,'patrol','patrol','20121213000550',1,'Administrador',0,'Spanex:Estructuras',127,'','1050\n1041\n1',0),(978,'patrol','patrol','20121213000615',1,'Administrador',14,'FORMS',157,'','1051\n0\n1',0),(979,'patrol','patrol','20121213000643',1,'Administrador',0,'Spanex:Estructuras',127,'','1052\n1050\n1',0),(980,'delete','delete','20121213000658',1,'Administrador',14,'FORMS',0,'el contenido era: «Lista de Formularios asociados» (y el único autor fue «[[Special:Contributions/Administrador|Administrador]]»)','',0),(981,'patrol','patrol','20121213000723',1,'Administrador',14,'FORM',158,'','1053\n0\n1',0),(982,'patrol','patrol','20121213105924',1,'Administrador',0,'Pendientes',112,'','1054\n806\n1',0),(983,'delete','delete','20121213105940',1,'Administrador',0,'GRA:_Pendientes',0,'el contenido era: «*<del>Controlar Accesos por IP</del> *Licensing. Como*s + Precios -> Documentar *Transacciones *<del>SendTo - PDF</del> *Parser **[\'\'value;value;......» (y el único autor fue «[[Special:Contributions/Administrador|Administrador]]»)','',0),(984,'patrol','patrol','20121213110008',1,'Administrador',0,'Página_principal',2,'','1055\n997\n1',0),(985,'patrol','patrol','20121213110057',1,'Administrador',0,'Página_principal',2,'','1056\n1055\n1',0),(986,'patrol','patrol','20121213110350',1,'Administrador',0,'Página_principal',2,'','1057\n1056\n1',0),(987,'patrol','patrol','20121213110533',1,'Administrador',0,'TRIG:precios.AltaPrecio',61,'','1058\n468\n1',0),(988,'patrol','patrol','20121213110647',1,'Administrador',0,'TRIG:precios.AltaPrecio',61,'','1059\n1058\n1',0),(989,'patrol','patrol','20121213110759',1,'Administrador',0,'Spanex:Estructuras',127,'','1060\n1052\n1',0),(990,'patrol','patrol','20121213110848',1,'Administrador',14,'TRIG',159,'','1061\n0\n1',0),(991,'patrol','patrol','20121213110938',1,'Administrador',0,'TRIG:precios.ActualizaPrecio',62,'','1062\n469\n1',0),(992,'patrol','patrol','20121213111026',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','1063\n1040\n1',0),(993,'patrol','patrol','20121213111133',1,'Administrador',0,'TEMP:LayoutGeneral',47,'','1064\n1063\n1',0),(994,'patrol','patrol','20121213111207',1,'Administrador',0,'TRIG:precios.AltaPrecio',61,'','1065\n1059\n1',0),(995,'patrol','patrol','20121213111630',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','1066\n357\n1',0),(996,'patrol','patrol','20121213111756',1,'Administrador',0,'TRIG:productos.BajaProducto',42,'','1067\n361\n1',0),(997,'patrol','patrol','20121213111844',1,'Administrador',0,'TRIG:productos.BajaProducto',42,'','1068\n1067\n1',0),(998,'patrol','patrol','20121213111919',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','1069\n1066\n1',0),(999,'move','move','20121213111942',1,'Administrador',0,'TRIG:productos.BajaProducto',160,'','TRIG:productos.Baja Producto\n',0),(1000,'patrol','patrol','20121213112009',1,'Administrador',0,'TABLA:productos',40,'','1072\n961\n1',0),(1001,'patrol','patrol','20121213112042',1,'Administrador',0,'TABLA:precios',60,'','1073\n960\n1',0),(1002,'patrol','patrol','20121213112113',1,'Administrador',0,'TRIG:productos.AltaProducto',41,'','1074\n1069\n1',0),(1003,'move','move','20121213112135',1,'Administrador',0,'TRIG:productos.AltaProducto',161,'','TRIG:productos.Alta Producto\n',0),(1004,'patrol','patrol','20121213112222',1,'Administrador',0,'TABLA:productos',40,'','1077\n1072\n1',0),(1005,'patrol','patrol','20121213112303',1,'Administrador',0,'TABLA:productos',40,'','1078\n1077\n1',0),(1006,'patrol','patrol','20121213112638',1,'Administrador',0,'TABLA:vidquoten1',108,'','1079\n966\n1',0),(1007,'patrol','patrol','20121213112827',1,'Administrador',0,'TRIG:vidquoten1.Baja_Presupuesto',162,'','1080\n0\n1',0),(1008,'patrol','patrol','20121213113138',1,'Administrador',0,'TABLA:vidquoten2',151,'','1081\n986\n1',0),(1009,'patrol','patrol','20121213113156',1,'Administrador',0,'TABLA:vidquoten2',151,'','1082\n1081\n1',0),(1010,'patrol','patrol','20121213113305',1,'Administrador',0,'TRIG:vidquoten2.Baja_Item_Presupuesto',163,'','1083\n0\n1',0),(1011,'patrol','patrol','20121213113326',1,'Administrador',0,'TRIG:vidquoten2.Baja_Item_Presupuesto',163,'','1084\n1083\n1',0),(1012,'patrol','patrol','20121213113347',1,'Administrador',0,'TABLA:vidquoten2',151,'','1085\n1082\n1',0),(1013,'patrol','patrol','20121213113438',1,'Administrador',0,'Página_principal',2,'','1086\n1057\n1',0),(1014,'patrol','patrol','20121213113909',1,'Administrador',0,'WikiUserSpanex',51,'','1087\n831\n1',0),(1015,'patrol','patrol','20121213115803',1,'Administrador',0,'CONCEPTO:Magnitud',164,'','1088\n0\n1',0),(1016,'patrol','patrol','20121213115844',1,'Administrador',0,'CONCEPTO:Magnitud',164,'','1089\n1088\n1',0),(1017,'patrol','patrol','20121213115934',1,'Administrador',0,'Página_principal',2,'','1090\n1086\n1',0),(1018,'patrol','patrol','20121213120002',1,'Administrador',0,'Página_principal',2,'','1091\n1090\n1',0),(1019,'patrol','patrol','20121213120027',1,'Administrador',0,'Página_principal',2,'','1092\n1091\n1',0),(1020,'patrol','patrol','20121213172756',1,'Administrador',0,'VISTA:vischeckmod',118,'','1093\n900\n1',0),(1021,'patrol','patrol','20121213172831',1,'Administrador',0,'VISTA:vischeckmod',118,'','1094\n1093\n1',0),(1022,'patrol','patrol','20121213173205',1,'Administrador',0,'VISTA:vischeckmod',118,'','1095\n1094\n1',0),(1023,'patrol','patrol','20121213173236',1,'Administrador',0,'VISTA:vischeckmod',118,'','1096\n1095\n1',0),(1024,'patrol','patrol','20121213173441',1,'Administrador',0,'VISTA:vischeckmod',118,'','1097\n1096\n1',0),(1025,'patrol','patrol','20121218085454',1,'Administrador',0,'TABLA:bocetoscab',143,'','1098\n951\n1',0),(1026,'patrol','patrol','20121218085515',1,'Administrador',0,'TABLA:bocetoscab',143,'','1099\n1098\n1',0),(1027,'patrol','patrol','20121218093400',1,'Administrador',0,'TABLA:bocetoscab',143,'','1100\n1099\n1',0),(1028,'patrol','patrol','20121218093718',1,'Administrador',0,'TRIG:bocetoscab.Baja_Boceto',165,'','1101\n0\n1',0),(1029,'patrol','patrol','20121218093759',1,'Administrador',0,'TABLA:bocetoscab',143,'','1102\n1100\n1',0),(1030,'patrol','patrol','20121218093906',1,'Administrador',0,'TABLA:bocetoscab',143,'','1103\n1102\n1',0),(1031,'patrol','patrol','20121218094610',1,'Administrador',0,'TABLA:bocetosdet',144,'','1104\n955\n1',0),(1032,'patrol','patrol','20121218094711',1,'Administrador',0,'TRIG:bocetoscab.Baja_Boceto',165,'','1105\n1101\n1',0),(1033,'patrol','patrol','20121218094732',1,'Administrador',0,'TRIG:bocetoscab.Baja_Boceto',165,'','1106\n1105\n1',0),(1034,'move','move','20121218094834',1,'Administrador',0,'TRIG:bocetoscab.Baja_Boceto',166,'','TRIG:bocetoscab.Baja BocetosCab\n',0),(1035,'patrol','patrol','20121218094854',1,'Administrador',0,'TABLA:bocetoscab',143,'','1109\n1103\n1',0),(1036,'patrol','patrol','20121218094956',1,'Administrador',0,'TRIG:bocetosdet.Baja_BocetosDet',167,'','1110\n0\n1',0),(1037,'patrol','patrol','20121218095034',1,'Administrador',0,'TRIG:bocetosdet.Baja_BocetosDet',167,'','1111\n1110\n1',0),(1038,'patrol','patrol','20121218095050',1,'Administrador',0,'TRIG:bocetosdet.Baja_BocetosDet',167,'','1112\n1111\n1',0),(1039,'patrol','patrol','20121218095132',1,'Administrador',0,'TRIG:bocetosdet.Baja_BocetosDet',167,'','1113\n1112\n1',0),(1040,'patrol','patrol','20121218204028',1,'Administrador',0,'TKT:FZG.000007',168,'','1114\n0\n1',0),(1041,'patrol','patrol','20130101000531',1,'Administrador',0,'Developing',13,'','1115\n815\n1',0),(1042,'patrol','patrol','20130101001953',1,'Administrador',0,'Developing',13,'','1116\n1115\n1',0),(1043,'patrol','patrol','20130101002148',1,'Administrador',0,'Developing',13,'','1117\n1116\n1',0),(1044,'patrol','patrol','20130101002805',1,'Administrador',0,'Developing',13,'','1118\n1117\n1',0),(1045,'patrol','patrol','20130101002846',1,'Administrador',0,'Developing',13,'','1119\n1118\n1',0),(1046,'patrol','patrol','20130101231432',1,'Administrador',0,'Developing',13,'','1120\n1119\n1',0),(1047,'patrol','patrol','20130101231844',1,'Administrador',0,'Developing',13,'','1121\n1120\n1',0),(1048,'patrol','patrol','20130101231946',1,'Administrador',0,'Developing',13,'','1122\n1121\n1',0),(1049,'patrol','patrol','20130102141206',1,'Administrador',0,'TKT:FZG.000007',168,'','1123\n1114\n1',0),(1050,'patrol','patrol','20130102141331',1,'Administrador',0,'TKT:FZG.000007',168,'','1124\n1123\n1',0),(1051,'patrol','patrol','20130102141412',1,'Administrador',0,'TKT:FZG.000007',168,'','1125\n1124\n1',0),(1052,'patrol','patrol','20130102194343',1,'Administrador',0,'TKT:FZG.000007',168,'','1126\n1125\n1',0),(1053,'patrol','patrol','20130103114124',1,'Administrador',0,'Developing',13,'','1127\n1122\n1',0),(1054,'patrol','patrol','20130103114159',1,'Administrador',0,'Developing',13,'','1128\n1127\n1',0),(1055,'patrol','patrol','20130103114544',1,'Administrador',14,'OOBasicCode',169,'','1129\n0\n1',0),(1056,'patrol','patrol','20130103114825',1,'Administrador',0,'GRA:_Relaciones',17,'','1130\n1049\n1',0),(1057,'patrol','patrol','20130103115456',1,'Administrador',0,'GRA:_Relaciones',17,'','1131\n1130\n1',0),(1058,'patrol','patrol','20130103115538',1,'Administrador',0,'TopWindow_having_MenuBar',170,'','1132\n0\n1',0),(1059,'patrol','patrol','20130103115641',1,'Administrador',0,'Developing',13,'','1133\n1128\n1',0),(1060,'patrol','patrol','20130103115852',1,'Administrador',0,'Embed_multiple_components_into_a_single_Window',171,'','1134\n0\n1',0),(1061,'patrol','patrol','20130103115907',1,'Administrador',0,'Developing',13,'','1135\n1133\n1',0),(1062,'patrol','patrol','20130103120137',1,'Administrador',0,'Developing',13,'','1136\n1135\n1',0),(1063,'patrol','patrol','20130103120504',1,'Administrador',0,'Developing',13,'','1137\n1136\n1',0),(1064,'patrol','patrol','20130103120553',1,'Administrador',0,'Developing',13,'','1138\n1137\n1',0),(1065,'patrol','patrol','20130103120710',1,'Administrador',0,'Developing',13,'','1139\n1138\n1',0),(1066,'patrol','patrol','20130103121344',1,'Administrador',0,'SetZoom',172,'','1140\n0\n1',0),(1067,'patrol','patrol','20130103121801',1,'Administrador',0,'DocZoom',173,'','1141\n0\n1',0),(1068,'patrol','patrol','20130103121845',1,'Administrador',0,'DocZoom',173,'','1142\n1141\n1',0),(1069,'upload','upload','20130103124151',1,'Administrador',6,'OOBasicCode.window.png',0,'','',0),(1070,'patrol','patrol','20130103124414',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1144\n0\n1',0),(1071,'patrol','patrol','20130103124716',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1145\n1144\n1',0),(1072,'patrol','patrol','20130103124740',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1146\n1145\n1',0),(1073,'upload','upload','20130103134727',1,'Administrador',6,'FCMFrame.png',0,'','',0),(1074,'patrol','patrol','20130103134814',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1148\n1146\n1',0),(1075,'patrol','patrol','20130103134958',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1149\n1148\n1',0),(1076,'patrol','patrol','20130103135402',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1150\n1149\n1',0),(1077,'patrol','patrol','20130103135605',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1151\n1150\n1',0),(1078,'patrol','patrol','20130103135639',1,'Administrador',0,'OOBasic_Nociones_Basicas',175,'','1152\n1151\n1',0),(1079,'patrol','patrol','20130103165736',1,'Administrador',0,'GRA:_Relaciones',17,'','1153\n1131\n1',0),(1080,'patrol','patrol','20130104230847',1,'Administrador',0,'Model_Controller_Frame',177,'','1154\n0\n1',0),(1081,'patrol','patrol','20130104230951',1,'Administrador',0,'Model_Controller_Frame',177,'','1155\n1154\n1',0),(1082,'patrol','patrol','20130104231027',1,'Administrador',0,'Model_Controller_Frame',177,'','1156\n1155\n1',0),(1083,'patrol','patrol','20130104232310',1,'Administrador',0,'AWT_Toolkit',178,'','1157\n0\n1',0),(1084,'patrol','patrol','20130104232351',1,'Administrador',0,'AWT_Toolkit',178,'','1158\n1157\n1',0),(1085,'patrol','patrol','20130110183737',1,'Administrador',0,'TKT:FZG.000007',168,'','1159\n1126\n1',0),(1086,'patrol','patrol','20130205000812',1,'Administrador',0,'GRA:_Releases',14,'','1160\n929\n1',0),(1087,'patrol','patrol','20130205001141',1,'Administrador',0,'VISTA:viscompcnt',179,'','1161\n0\n1',0),(1088,'patrol','patrol','20130205020015',1,'Administrador',0,'GRA:_Releases',14,'','1162\n1160\n1',0),(1089,'patrol','patrol','20130218171422',1,'Administrador',0,'Developing',13,'','1163\n1139\n1',0),(1090,'patrol','patrol','20130218174902',1,'Administrador',0,'Developing',13,'','1164\n1163\n1',0),(1091,'patrol','patrol','20130219222858',1,'Administrador',0,'Developing',13,'','1165\n1164\n1',0),(1092,'patrol','patrol','20130219223018',1,'Administrador',0,'Developing',13,'','1166\n1165\n1',0),(1093,'patrol','patrol','20130219223118',1,'Administrador',0,'Developing',13,'','1167\n1166\n1',0),(1094,'patrol','patrol','20130219223353',1,'Administrador',0,'Developing',13,'','1168\n1167\n1',0),(1095,'patrol','patrol','20130219223442',1,'Administrador',0,'Developing',13,'','1169\n1168\n1',0),(1096,'patrol','patrol','20130222144138',1,'Administrador',0,'Developing',13,'','1170\n1169\n1',0),(1097,'patrol','patrol','20130222144253',1,'Administrador',0,'Developing',13,'','1171\n1170\n1',0),(1098,'patrol','patrol','20130222144621',1,'Administrador',0,'Developing',13,'','1172\n1171\n1',0),(1099,'patrol','patrol','20130222145432',1,'Administrador',0,'Developing',13,'','1173\n1172\n1',0),(1100,'patrol','patrol','20130222152126',1,'Administrador',0,'Developing',13,'','1174\n1173\n1',0),(1101,'patrol','patrol','20130222152619',1,'Administrador',0,'Developing',13,'','1175\n1174\n1',0),(1102,'patrol','patrol','20130222153409',1,'Administrador',0,'Developing',13,'','1176\n1175\n1',0),(1103,'patrol','patrol','20130225225722',1,'Administrador',0,'Developing',13,'','1177\n1176\n1',0),(1104,'patrol','patrol','20130227234149',1,'Administrador',0,'GRA:_Releases',14,'','1178\n1162\n1',0),(1105,'patrol','patrol','20130228013619',1,'Administrador',0,'VISTA:productosdisp',180,'','1179\n0\n1',0),(1106,'patrol','patrol','20130228124855',1,'Administrador',0,'WikiUserSpanex',51,'','1180\n1087\n1',0),(1107,'patrol','patrol','20130228125551',1,'Administrador',0,'WikiUserSpanex',51,'','1181\n1180\n1',0),(1108,'patrol','patrol','20130228132623',1,'Administrador',0,'WikiUserSpanex',51,'','1182\n1181\n1',0),(1109,'upload','upload','20130228135430',1,'Administrador',6,'FZG.DOCS.Procesos.Ayuda.jpg',0,'','',0),(1110,'upload','upload','20130228140123',1,'Administrador',6,'FZG.DOCS.Procesos.Productos.jpg',0,'','',0),(1111,'upload','upload','20130228140845',1,'Administrador',6,'FZG.DOCS.Procesos.Precios.jpg',0,'','',0),(1112,'upload','upload','20130228140904',1,'Administrador',6,'FZG.DOCS.Procesos.Composicion.jpg',0,'','',0),(1113,'upload','upload','20130228141012',1,'Administrador',6,'FZG.DOCS.Procesos.Presupuesto.jpg',0,'','',0),(1114,'upload','upload','20130228141102',1,'Administrador',6,'FZG.DOCS.Pantalla.Presupuesto.jpg',0,'','',0),(1115,'patrol','patrol','20130228153505',1,'Administrador',0,'WikiUserSpanex',51,'','1189\n1182\n1',0),(1116,'upload','upload','20130228170205',1,'Administrador',6,'FZG.DOCS.Proceso.Modulo.to.Producto.jpg',0,'','',0),(1117,'patrol','patrol','20130228170537',1,'Administrador',0,'WikiUserSpanex',51,'','1191\n1189\n1',0),(1118,'patrol','patrol','20130228172959',1,'Administrador',0,'WikiUserSpanex',51,'','1192\n1191\n1',0),(1119,'upload','upload','20130228173111',1,'Administrador',6,'FZG.DOCS.Proceso.Modulo.to.Producto.png',0,'','',0),(1120,'patrol','patrol','20130228173246',1,'Administrador',0,'WikiUserSpanex',51,'','1194\n1192\n1',0),(1121,'patrol','patrol','20130228203033',1,'Administrador',0,'WikiUserSpanex',51,'','1195\n1194\n1',0),(1122,'patrol','patrol','20130228203927',1,'Administrador',0,'WikiUserSpanex',51,'','1196\n1195\n1',0),(1123,'patrol','patrol','20130301015858',1,'Administrador',0,'WikiUserSpanex',51,'','1197\n1196\n1',0),(1124,'upload','upload','20130301020054',1,'Administrador',6,'FZG.DOCS.Componentes.Schema.png',0,'','',0),(1125,'patrol','patrol','20130304161605',1,'Administrador',0,'GRA:_Releases',14,'','1199\n1178\n1',0),(1126,'patrol','patrol','20130304161851',1,'Administrador',0,'Actualizacion_DB',59,'','1200\n1002\n1',0),(1127,'patrol','patrol','20130305130406',1,'Administrador',0,'TABLA:productos',40,'','1201\n1078\n1',0),(1128,'patrol','patrol','20130305130702',1,'Administrador',0,'GRA:_Releases',14,'','1202\n1199\n1',0),(1129,'patrol','patrol','20130307014700',1,'Administrador',0,'Actualizacion_DB',59,'','1203\n1200\n1',0),(1130,'patrol','patrol','20130307171604',1,'Administrador',0,'FORM:Productos',190,'','1204\n0\n1',0),(1131,'patrol','patrol','20130307171723',1,'Administrador',0,'FORM:Productos',190,'','1205\n1204\n1',0),(1132,'patrol','patrol','20130307224638',1,'Administrador',0,'FORM:Productos',190,'','1206\n1205\n1',0),(1133,'patrol','patrol','20130307224737',1,'Administrador',0,'FORM:Productos',190,'','1207\n1206\n1',0),(1134,'patrol','patrol','20130307224810',1,'Administrador',0,'FORM:Productos',190,'','1208\n1207\n1',0),(1135,'patrol','patrol','20130312013825',1,'Administrador',0,'TKT:FZG.000009',191,'','1209\n0\n1',0),(1136,'patrol','patrol','20130312014337',1,'Administrador',0,'TKT:FZG.000008',192,'','1210\n0\n1',0),(1137,'patrol','patrol','20130314131916',1,'Administrador',14,'TKT',126,'','1211\n940\n1',0),(1138,'patrol','patrol','20130314134137',1,'Administrador',0,'Spanex:Estructuras',127,'','1212\n1060\n1',0),(1139,'patrol','patrol','20130314134734',1,'Administrador',0,'TKT:FZG.00010',193,'','1213\n0\n1',0),(1140,'patrol','patrol','20130321094407',1,'Administrador',0,'Developing',13,'','1214\n1177\n1',0),(1141,'patrol','patrol','20130322181543',1,'Administrador',0,'Actualizacion_DB',59,'','1215\n1203\n1',0),(1142,'patrol','patrol','20130322181743',1,'Administrador',0,'GRA:_Releases',14,'','1216\n1202\n1',0),(1143,'patrol','patrol','20130322181811',1,'Administrador',0,'GRA:_Releases',14,'','1217\n1216\n1',0),(1144,'patrol','patrol','20130322181852',1,'Administrador',0,'Actualizacion_DB',59,'','1218\n1215\n1',0),(1145,'patrol','patrol','20130322182036',1,'Administrador',0,'TABLA:composicion',5,'','1219\n865\n1',0),(1146,'patrol','patrol','20130322182055',1,'Administrador',0,'TABLA:composicion',5,'','1220\n1219\n1',0),(1147,'patrol','patrol','20130322182227',1,'Administrador',0,'TABLA:composicion',5,'','1221\n1220\n1',0),(1148,'patrol','patrol','20130322182336',1,'Administrador',0,'TABLA:composicion',5,'','1222\n1221\n1',0),(1149,'patrol','patrol','20130322224639',1,'Administrador',0,'GRA:_Releases',14,'','1223\n1217\n1',0),(1150,'patrol','patrol','20130322224725',1,'Administrador',0,'GRA:_Releases',14,'','1224\n1223\n1',0),(1151,'patrol','patrol','20130322224748',1,'Administrador',0,'GRA:_Releases',14,'','1225\n1224\n1',0),(1152,'patrol','patrol','20130322224821',1,'Administrador',0,'GRA:_Releases',14,'','1226\n1225\n1',0),(1153,'patrol','patrol','20130322233727',1,'Administrador',0,'GRA:_Releases',14,'','1227\n1226\n1',0),(1154,'patrol','patrol','20130322233821',1,'Administrador',0,'GRA:_Releases',14,'','1228\n1227\n1',0),(1155,'move','move','20130410204147',1,'Administrador',0,'TKT:FZG.00010',0,'Error previo','TKT:FZG.000010\n1',0),(1156,'patrol','patrol','20130410204228',1,'Administrador',0,'GRA:_Releases',14,'','1230\n1228\n1',0),(1157,'patrol','patrol','20130410204404',1,'Administrador',0,'TKT:FZG.000011',194,'','1231\n0\n1',0),(1158,'patrol','patrol','20130410235624',1,'Administrador',0,'Developing',13,'','1232\n1214\n1',0),(1159,'patrol','patrol','20130410235744',1,'Administrador',0,'Developing',13,'','1233\n1232\n1',0),(1160,'patrol','patrol','20130410235926',1,'Administrador',0,'Estadística_Registraciones_Spanex',195,'','1234\n0\n1',0),(1161,'patrol','patrol','20130410235941',1,'Administrador',0,'Developing',13,'','1235\n1233\n1',0),(1162,'patrol','patrol','20130411003735',1,'Administrador',14,'SQLCode',196,'','1236\n0\n1',0),(1163,'patrol','patrol','20130417200613',1,'Administrador',0,'GRA:_Releases',14,'','1237\n1230\n1',0),(1164,'patrol','patrol','20130418125846',1,'Administrador',0,'WikiUserSpanex',51,'','1238\n1197\n1',0),(1165,'patrol','patrol','20130419201344',1,'Administrador',0,'VISTA:vischeckmod',118,'','1239\n1097\n1',0),(1166,'patrol','patrol','20130419203846',1,'Administrador',0,'VISTA:vischeckmod',118,'','1240\n1239\n1',0),(1167,'patrol','patrol','20130419203929',1,'Administrador',0,'GRA:_Releases',14,'','1241\n1237\n1',0),(1168,'patrol','patrol','20130423130514',1,'Administrador',0,'Actualizacion_DB',59,'','1242\n1218\n1',0),(1169,'patrol','patrol','20130423132334',1,'Administrador',0,'GRA:_Releases',14,'','1243\n1241\n1',0),(1170,'patrol','patrol','20130508004723',1,'Administrador',0,'Spanex:Estructuras',127,'','1244\n1212\n1',0),(1171,'patrol','patrol','20130508005411',1,'Administrador',0,'MACRO:ResetFiltroProductoFORMPresupuesto',197,'','1245\n0\n1',0),(1172,'patrol','patrol','20130508005443',1,'Administrador',0,'MACRO:ResetFiltroProductoFORMPresupuesto',197,'','1246\n1245\n1',0),(1173,'patrol','patrol','20130508005613',1,'Administrador',0,'Spanex:Estructuras',127,'','1247\n1244\n1',0),(1174,'patrol','patrol','20130508005636',1,'Administrador',14,'MACRO',198,'','1248\n0\n1',0),(1175,'patrol','patrol','20130508022135',1,'Administrador',0,'MACRO:AprobacionPresupuesto',114,'','1249\n804\n1',0),(1176,'patrol','patrol','20130508022218',1,'Administrador',0,'MACRO:BotonActualizarPresupuesto',85,'','1250\n625\n1',0),(1177,'patrol','patrol','20130508022242',1,'Administrador',0,'MACRO:BotonEditarComponentes',94,'','1251\n696\n1',0),(1178,'patrol','patrol','20130508022302',1,'Administrador',0,'MACRO:CheckValidMeasure',121,'','1252\n854\n1',0),(1179,'patrol','patrol','20130508022318',1,'Administrador',0,'MACRO:ConfirmaDeletePresupuesto',78,'','1253\n579\n1',0),(1180,'patrol','patrol','20130508022457',1,'Administrador',0,'MACRO:ControlFormPresupuesto',77,'','1254\n576\n1',0),(1181,'patrol','patrol','20130508022652',1,'Administrador',0,'MACRO:MuestraSubForm',113,'','1255\n797\n1',0),(1182,'patrol','patrol','20130508022717',1,'Administrador',0,'MACRO:SugerenciaContactoID',98,'','1256\n748\n1',0),(1183,'patrol','patrol','20130508022741',1,'Administrador',0,'MACRO:VisibleIngresoCheque',53,'','1257\n425\n1',0),(1184,'patrol','patrol','20130508215302',1,'Administrador',0,'Developing',13,'','1258\n1235\n1',0),(1185,'patrol','patrol','20130515113543',1,'Administrador',0,'VISTA:vistotprod',56,'','1259\n1009\n1',0),(1186,'patrol','patrol','20130515113617',1,'Administrador',0,'VISTA:vistotprod',56,'','1260\n1259\n1',0),(1187,'patrol','patrol','20130530212918',1,'Administrador',0,'Página_principal',2,'','1261\n1092\n1',0),(1188,'patrol','patrol','20130530213313',1,'Administrador',0,'Knowing_Problems_/_Solutions',199,'','1262\n0\n1',0),(1189,'patrol','patrol','20130530213359',1,'Administrador',0,'Knowing_Problems_/_Solutions',199,'','1263\n1262\n1',0),(1190,'patrol','patrol','20130530213416',1,'Administrador',0,'Página_principal',2,'','1264\n1261\n1',0),(1191,'patrol','patrol','20130625185547',1,'Administrador',0,'TKT:FZG.000012',200,'','1265\n0\n1',0),(1192,'patrol','patrol','20130804154324',1,'Administrador',0,'Developing',13,'','1266\n1258\n1',0),(1193,'patrol','patrol','20130804154442',1,'Administrador',0,'Developing',13,'','1267\n1266\n1',0),(1194,'patrol','patrol','20130804160513',1,'Administrador',0,'Developing',13,'','1268\n1267\n1',0),(1195,'patrol','patrol','20130804160627',1,'Administrador',0,'Developing',13,'','1269\n1268\n1',0),(1196,'patrol','patrol','20130805190501',1,'Administrador',0,'Developing',13,'','1270\n1269\n1',0),(1197,'patrol','patrol','20130814151800',1,'Administrador',0,'Actualizacion_DB',59,'','1271\n1242\n1',0),(1198,'patrol','patrol','20130814151931',1,'Administrador',0,'GRA:_Releases',14,'','1272\n1243\n1',0),(1199,'patrol','patrol','20130815183227',1,'Administrador',0,'GRA:_Releases',14,'','1273\n1272\n1',0),(1200,'patrol','patrol','20130815183618',1,'Administrador',0,'TABLA:bitacoracrm',201,'','1274\n0\n1',0),(1201,'patrol','patrol','20130815183935',1,'Administrador',0,'TABLA:bitacoracrm',201,'','1275\n1274\n1',0),(1202,'patrol','patrol','20130818025240',1,'Administrador',0,'TABLA:bitacoracrm',201,'','1276\n1275\n1',0),(1203,'patrol','patrol','20130818025735',1,'Administrador',0,'TRIG:bitacoracrm.Alta_BitacoraCRM',202,'','1277\n0\n1',0),(1204,'patrol','patrol','20130824144312',1,'Administrador',0,'Página_principal',2,'','1278\n1264\n1',0),(1205,'patrol','patrol','20130824144359',1,'Administrador',0,'Página_principal',2,'','1279\n1278\n1',0),(1206,'patrol','patrol','20130824144434',1,'Administrador',0,'Clientes',203,'','1280\n0\n1',0),(1207,'patrol','patrol','20130824144556',1,'Administrador',0,'Clientes',203,'','1281\n1280\n1',0),(1208,'patrol','patrol','20130824145046',1,'Administrador',0,'FazzGlass',204,'','1282\n0\n1',0),(1209,'patrol','patrol','20130824152403',1,'Administrador',0,'FazzGlass',204,'','1283\n1282\n1',0),(1210,'patrol','patrol','20130824152551',1,'Administrador',0,'SoftwareFazzGlass',205,'','1284\n0\n1',0),(1211,'patrol','patrol','20130824152614',1,'Administrador',0,'SoftwareFazzGlass',205,'','1285\n1284\n1',0),(1212,'patrol','patrol','20130824152642',1,'Administrador',0,'SoftwareFazzGlass',205,'','1286\n1285\n1',0),(1213,'patrol','patrol','20130824152933',1,'Administrador',0,'FazzGlass',204,'','1287\n1283\n1',0),(1214,'patrol','patrol','20130824153124',1,'Administrador',0,'FazzGlass',204,'','1288\n1287\n1',0),(1215,'patrol','patrol','20130825143908',1,'Administrador',0,'FazzGlass',204,'','1289\n1288\n1',0),(1216,'patrol','patrol','20130825143948',1,'Administrador',0,'FazzGlass',204,'','1290\n1289\n1',0),(1217,'patrol','patrol','20130825144254',1,'Administrador',0,'SoftwareFazzGlass',205,'','1291\n1286\n1',0),(1218,'patrol','patrol','20130825144317',1,'Administrador',0,'SoftwareFazzGlass',205,'','1292\n1291\n1',0),(1219,'patrol','patrol','20130825144656',1,'Administrador',0,'Centuriones',206,'','1293\n0\n1',0),(1220,'patrol','patrol','20130825150615',1,'Administrador',0,'Apuntes_Planeamiento_Estratégico',207,'','1294\n0\n1',0),(1221,'patrol','patrol','20130825150810',1,'Administrador',0,'VieroAbogados',208,'','1295\n0\n1',0),(1222,'patrol','patrol','20130909232136',1,'Administrador',0,'Actualizacion_DB',59,'','1296\n1271\n1',0),(1223,'patrol','patrol','20130909232324',1,'Administrador',0,'Actualizacion_DB',59,'','1297\n1296\n1',0),(1224,'patrol','patrol','20130909232420',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1298\n0\n1',0),(1225,'patrol','patrol','20130909232448',1,'Administrador',0,'Actualizacion_DB',59,'','1299\n1297\n1',0),(1226,'patrol','patrol','20130909232538',1,'Administrador',0,'Actualizacion_DB',59,'','1300\n1299\n1',0),(1227,'patrol','patrol','20130910014532',1,'Administrador',0,'Developing',13,'','1301\n1270\n1',0),(1228,'patrol','patrol','20130910014618',1,'Administrador',0,'Developing',13,'','1302\n1301\n1',0),(1229,'patrol','patrol','20130910014809',1,'Administrador',0,'Lista_diferencias',210,'','1303\n0\n1',0),(1230,'patrol','patrol','20130910014836',1,'Administrador',0,'Lista_diferencias',210,'','1304\n1303\n1',0),(1231,'patrol','patrol','20130912191420',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1305\n1298\n1',0),(1232,'patrol','patrol','20130913015442',1,'Administrador',0,'PROC:CopiaModuloBoceto',211,'','1306\n0\n1',0),(1233,'patrol','patrol','20130913015509',1,'Administrador',0,'PROC:CopiaModuloBoceto',211,'','1307\n1306\n1',0),(1234,'patrol','patrol','20130917152049',1,'Administrador',0,'PROC:CopiaModuloModulo',212,'','1308\n0\n1',0),(1235,'patrol','patrol','20130917153430',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1309\n1305\n1',0),(1236,'patrol','patrol','20130921180359',1,'Administrador',0,'Developing',13,'','1310\n1302\n1',0),(1237,'patrol','patrol','20130924195424',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1311\n1309\n1',0),(1238,'patrol','patrol','20130924195527',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1312\n1311\n1',0),(1239,'patrol','patrol','20130924201951',1,'Administrador',0,'TABLA:bitacoracrm',201,'','1313\n1276\n1',0),(1240,'patrol','patrol','20130924202117',1,'Administrador',0,'TABLA:navtipolog',213,'','1314\n0\n1',0),(1241,'patrol','patrol','20130924202446',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1315\n1312\n1',0),(1242,'patrol','patrol','20130924203115',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1316\n1315\n1',0),(1243,'patrol','patrol','20130924203342',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1317\n1316\n1',0),(1244,'patrol','patrol','20130926162133',1,'Administrador',0,'Página_principal',2,'','1318\n1279\n1',0),(1245,'move','move','20130926162221',1,'Administrador',0,'GRA:_Releases',0,'','Spanex:Releases\n1',0),(1246,'move','move','20130926162524',1,'Administrador',0,'SpanexDraw',0,'','Spanex:Draw\n1',0),(1247,'patrol','patrol','20130926164123',1,'Administrador',0,'Página_principal',2,'','1321\n1318\n1',0),(1248,'patrol','patrol','20130926164145',1,'Administrador',0,'Página_principal',2,'','1322\n1321\n1',0),(1249,'patrol','patrol','20130926165229',1,'Administrador',0,'Página_principal',2,'','1323\n1322\n1',0),(1250,'patrol','patrol','20130926165412',1,'Administrador',0,'Spanex:Instalar',214,'','1324\n0\n1',0),(1251,'patrol','patrol','20130926165435',1,'Administrador',0,'Página_principal',2,'','1325\n1323\n1',0),(1252,'patrol','patrol','20130926165736',1,'Administrador',0,'Página_principal',2,'','1326\n1325\n1',0),(1253,'move','move','20130926165831',1,'Administrador',0,'WikiUserSpanex',0,'','Spanex:UserWiki\n1',0),(1254,'patrol','patrol','20130926165856',1,'Administrador',0,'Página_principal',2,'','1328\n1326\n1',0),(1255,'patrol','patrol','20130926165928',1,'Administrador',0,'Página_principal',2,'','1329\n1328\n1',0),(1256,'move','move','20130926170259',1,'Administrador',0,'GRA:_PreciosABT',0,'','Spanex:PreciosABT\n1',0),(1257,'move','move','20130926170854',1,'Administrador',0,'GRA:_Relaciones',0,'','Spanex:Relaciones\n1',0),(1258,'patrol','patrol','20130926171230',1,'Administrador',0,'Página_principal',2,'','1332\n1329\n1',0),(1259,'patrol','patrol','20130926203014',1,'Administrador',0,'TABLA:productos',40,'','1333\n1201\n1',0),(1260,'patrol','patrol','20130926204744',1,'Administrador',0,'TABLA:productos',40,'','1334\n1333\n1',0),(1261,'patrol','patrol','20130926210312',1,'Administrador',0,'TABLA:productos',40,'','1335\n1334\n1',0),(1262,'patrol','patrol','20130926210423',1,'Administrador',0,'TABLA:productos',40,'','1336\n1335\n1',0),(1263,'patrol','patrol','20130927031940',1,'Administrador',0,'TABLA:productos',40,'','1337\n1336\n1',0),(1264,'patrol','patrol','20131008011236',1,'Administrador',0,'Spanex:Releases',14,'','1338\n1319\n1',0),(1265,'patrol','patrol','20131008011608',1,'Administrador',0,'Spanex:Releases',14,'','1339\n1338\n1',0),(1266,'patrol','patrol','20131008012232',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1340\n0\n1',0),(1267,'patrol','patrol','20131008012446',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1341\n1340\n1',0),(1268,'patrol','patrol','20131008014705',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1342\n1341\n1',0),(1269,'patrol','patrol','20131008014737',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1343\n1342\n1',0),(1270,'patrol','patrol','20131008014758',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1344\n1343\n1',0),(1271,'patrol','patrol','20131008015843',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1345\n1344\n1',0),(1272,'patrol','patrol','20131008020610',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1346\n1345\n1',0),(1273,'patrol','patrol','20131008021044',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1347\n1346\n1',0),(1274,'patrol','patrol','20131008021813',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1348\n1347\n1',0),(1275,'patrol','patrol','20131008022001',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1349\n1348\n1',0),(1276,'patrol','patrol','20131008124218',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1350\n1349\n1',0),(1277,'patrol','patrol','20131008141502',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1351\n1350\n1',0),(1278,'patrol','patrol','20131008144113',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1352\n1351\n1',0),(1279,'patrol','patrol','20131008144206',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1353\n1352\n1',0),(1280,'patrol','patrol','20131008182206',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1354\n1353\n1',0),(1281,'patrol','patrol','20131008213613',1,'Administrador',0,'Spanex:Releases',14,'','1355\n1339\n1',0),(1282,'patrol','patrol','20131008213629',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1356\n1354\n1',0),(1283,'patrol','patrol','20131008213749',1,'Administrador',0,'Spanex:Releases',14,'','1357\n1355\n1',0),(1284,'patrol','patrol','20131008214040',1,'Administrador',0,'Spanex:Releases',14,'','1358\n1357\n1',0),(1285,'patrol','patrol','20131008215145',1,'Administrador',0,'FORM:PosicionCRM',100,'','1359\n756\n1',0),(1286,'patrol','patrol','20131008215429',1,'Administrador',0,'FORM:PosicionCRM',100,'','1360\n1359\n1',0),(1287,'patrol','patrol','20131008223744',1,'Administrador',0,'FORM:PosicionCRM',100,'','1361\n1360\n1',0),(1288,'patrol','patrol','20131008223930',1,'Administrador',0,'FORM:PosicionCRM',100,'','1362\n1361\n1',0),(1289,'patrol','patrol','20131008230005',1,'Administrador',0,'FORM:PosicionCRM',100,'','1363\n1362\n1',0),(1290,'patrol','patrol','20131008230333',1,'Administrador',0,'FORM:PosicionCRM',100,'','1364\n1363\n1',0),(1291,'patrol','patrol','20131008230539',1,'Administrador',0,'FORM:PosicionCRM',100,'','1365\n1364\n1',0),(1292,'patrol','patrol','20131008230807',1,'Administrador',0,'FORM:PosicionCRM',100,'','1366\n1365\n1',0),(1293,'patrol','patrol','20131008231131',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1367\n1356\n1',0),(1294,'patrol','patrol','20131008231321',1,'Administrador',0,'FORM:PosicionCRM',100,'','1368\n1366\n1',0),(1295,'patrol','patrol','20131008231724',1,'Administrador',0,'Spanex:Releases',14,'','1369\n1358\n1',0),(1296,'patrol','patrol','20131008231849',1,'Administrador',0,'Spanex:Releases',14,'','1370\n1369\n1',0),(1297,'patrol','patrol','20131008232910',1,'Administrador',0,'FORM:BitacoraCRM',216,'','1371\n0\n1',0),(1298,'patrol','patrol','20131009020418',1,'Administrador',0,'FORM:BitacoraCRM',216,'','1372\n1371\n1',0),(1299,'patrol','patrol','20131009020437',1,'Administrador',0,'FORM:BitacoraCRM',216,'','1373\n1372\n1',0),(1300,'patrol','patrol','20131009020725',1,'Administrador',0,'Spanex:Releases',14,'','1374\n1370\n1',0),(1301,'patrol','patrol','20131009021140',1,'Administrador',0,'MACRO:ActivaFiltroProductosGeneral',217,'','1375\n0\n1',0),(1302,'patrol','patrol','20131009021205',1,'Administrador',0,'MACRO:ActivaFiltroProductosGeneral',217,'','1376\n1375\n1',0),(1303,'patrol','patrol','20131009021548',1,'Administrador',0,'MACRO:ActivaFiltroContactos',218,'','1377\n0\n1',0),(1304,'patrol','patrol','20131009021714',1,'Administrador',0,'FORM:BitacoraCRM',216,'','1378\n1373\n1',0),(1305,'patrol','patrol','20131009021823',1,'Administrador',0,'Spanex:Releases',14,'','1379\n1374\n1',0),(1306,'patrol','patrol','20131017210100',1,'Administrador',0,'Spanex:Releases',14,'','1380\n1379\n1',0),(1307,'patrol','patrol','20131017212306',1,'Administrador',0,'FORM:BitacoraCRM',216,'','1381\n1378\n1',0),(1308,'patrol','patrol','20131017212922',1,'Administrador',0,'FORM:BitacoraCRM',216,'','1382\n1381\n1',0),(1309,'patrol','patrol','20131017214847',1,'Administrador',0,'MACRO:ActivaFiltroBitacoras',219,'','1383\n0\n1',0),(1310,'patrol','patrol','20131017221408',1,'Administrador',0,'MACRO:EventoWRFBitacoraGrid',220,'','1384\n0\n1',0),(1311,'patrol','patrol','20131017223545',1,'Administrador',0,'MACRO:EventoWLFBitacoraGrid',221,'','1385\n0\n1',0),(1312,'patrol','patrol','20131018204648',1,'Administrador',0,'Spanex:Releases',14,'','1386\n1380\n1',0),(1313,'patrol','patrol','20131018210514',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1387\n1367\n1',0),(1314,'patrol','patrol','20131018210831',1,'Administrador',0,'FORM:ConsultaClientesCRM',215,'','1388\n1387\n1',0),(1315,'patrol','patrol','20131018215216',1,'Administrador',0,'Spanex:Releases',14,'','1389\n1386\n1',0),(1316,'patrol','patrol','20131018215416',1,'Administrador',0,'Spanex:Releases',14,'','1390\n1389\n1',0),(1317,'patrol','patrol','20131018222804',1,'Administrador',0,'Spanex:Releases',14,'','1391\n1390\n1',0),(1318,'patrol','patrol','20131018222845',1,'Administrador',0,'Spanex:Releases',14,'','1392\n1391\n1',0),(1319,'patrol','patrol','20131018223611',1,'Administrador',0,'VISTA:listavigente',222,'','1393\n0\n1',0),(1320,'patrol','patrol','20131018223627',1,'Administrador',0,'VISTA:listavigente',222,'','1394\n1393\n1',0),(1321,'patrol','patrol','20131018223653',1,'Administrador',0,'VISTA:listavigente',222,'','1395\n1394\n1',0),(1322,'patrol','patrol','20131018223834',1,'Administrador',0,'Spanex:Releases',14,'','1396\n1392\n1',0),(1323,'patrol','patrol','20131018224429',1,'Administrador',0,'Spanex:Releases',14,'','1397\n1396\n1',0),(1324,'patrol','patrol','20131021192101',1,'Administrador',0,'Spanex:Releases',14,'','1398\n1397\n1',0),(1325,'patrol','patrol','20131021193626',1,'Administrador',0,'FORM:FormMenu',223,'','1399\n0\n1',0),(1326,'patrol','patrol','20131021193819',1,'Administrador',0,'FORM:FormMenu',223,'','1400\n1399\n1',0),(1327,'patrol','patrol','20131021195434',1,'Administrador',0,'MACRO:ExecuteProcess',224,'','1401\n0\n1',0),(1328,'patrol','patrol','20131021195529',1,'Administrador',0,'MACRO:ExecuteProcess',224,'','1402\n1401\n1',0),(1329,'patrol','patrol','20131021195757',1,'Administrador',0,'MACRO:ExecuteProcess',224,'','1403\n1402\n1',0),(1330,'patrol','patrol','20131022151206',1,'Administrador',0,'TABLA:filtroqry',225,'','1404\n0\n1',0),(1331,'patrol','patrol','20131022151328',1,'Administrador',0,'Spanex:Releases',14,'','1405\n1398\n1',0),(1332,'patrol','patrol','20131029194837',1,'Administrador',0,'Spanex:Releases',14,'','1406\n1405\n1',0),(1333,'patrol','patrol','20131102162854',1,'Administrador',0,'Spanex:UserWiki',51,'','1407\n1327\n1',0),(1334,'patrol','patrol','20131102163346',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1408\n1317\n1',0),(1335,'patrol','patrol','20131102163519',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1409\n1408\n1',0),(1336,'patrol','patrol','20131105194646',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1410\n1409\n1',0),(1337,'patrol','patrol','20131105194816',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1411\n1410\n1',0),(1338,'patrol','patrol','20131105194934',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1412\n1411\n1',0),(1339,'patrol','patrol','20131105195509',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1413\n1412\n1',0),(1340,'patrol','patrol','20131105195703',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1414\n1413\n1',0),(1341,'patrol','patrol','20131105195733',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1415\n1414\n1',0),(1342,'patrol','patrol','20131105200025',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1416\n1415\n1',0),(1343,'patrol','patrol','20131105200122',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1417\n1416\n1',0),(1344,'patrol','patrol','20131105202053',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1418\n1417\n1',0),(1345,'patrol','patrol','20131105203613',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1419\n1418\n1',0),(1346,'patrol','patrol','20131105205011',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1420\n1419\n1',0),(1347,'patrol','patrol','20131105205033',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1421\n1420\n1',0),(1348,'patrol','patrol','20131105205229',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1422\n1421\n1',0),(1349,'patrol','patrol','20131111125930',1,'Administrador',0,'Spanex:Releases',14,'','1423\n1406\n1',0),(1350,'patrol','patrol','20131111130749',1,'Administrador',0,'MACRO:AfterRecordChangeFORMProductos',226,'','1424\n0\n1',0),(1351,'patrol','patrol','20131111130914',1,'Administrador',0,'MACRO:AfterRecordChangeFORMProductos',226,'','1425\n1424\n1',0),(1352,'patrol','patrol','20131111131130',1,'Administrador',0,'MACRO:AfterRecordChangeFORMProductos',226,'','1426\n1425\n1',0),(1353,'patrol','patrol','20131111133328',1,'Administrador',0,'MACRO:ChangeFieldtxtProductoIDFORMProductos',227,'','1427\n0\n1',0),(1354,'patrol','patrol','20131111133348',1,'Administrador',0,'MACRO:ChangeFieldtxtProductoIDFORMProductos',227,'','1428\n1427\n1',0),(1355,'patrol','patrol','20131111151819',1,'Administrador',0,'MACRO:ConfirmeEliminarProductoCore',228,'','1429\n0\n1',0),(1356,'patrol','patrol','20131111152436',1,'Administrador',0,'MACRO:ConfirmeEliminarProductoCore',228,'','1430\n1429\n1',0),(1357,'patrol','patrol','20131111153114',1,'Administrador',0,'FORM:Productos',190,'','1431\n1208\n1',0),(1358,'patrol','patrol','20131111153141',1,'Administrador',0,'FORM:Productos',190,'','1432\n1431\n1',0),(1359,'patrol','patrol','20131111161508',1,'Administrador',0,'FORM:Aux:000002',229,'','1433\n0\n1',0),(1360,'patrol','patrol','20131111161519',1,'Administrador',0,'FORM:Aux:000002',229,'','1434\n1433\n1',0),(1361,'patrol','patrol','20131111170404',1,'Administrador',0,'MACRO:EventoBRAAux000002',230,'','1435\n0\n1',0),(1362,'patrol','patrol','20131111170741',1,'Administrador',0,'MACRO:EventoARAAux000002',231,'','1436\n0\n1',0),(1363,'patrol','patrol','20131112002653',1,'Administrador',0,'FORM:GestionMasivaPorProducto',232,'','1437\n0\n1',0),(1364,'patrol','patrol','20131112003003',1,'Administrador',0,'MACRO:EliminaContenidoCampo',233,'','1438\n0\n1',0),(1365,'patrol','patrol','20131112003023',1,'Administrador',0,'Spanex:Releases',14,'','1439\n1423\n1',0),(1366,'patrol','patrol','20131112003154',1,'Administrador',0,'FORM:GestionMasivaPorProducto',232,'','1440\n1437\n1',0),(1367,'patrol','patrol','20131205113926',1,'Administrador',0,'Spanex:Releases',14,'','1441\n1439\n1',0),(1368,'patrol','patrol','20131205162014',1,'Administrador',0,'Spanex:Releases',14,'','1442\n1441\n1',0),(1369,'patrol','patrol','20131217121726',1,'Administrador',0,'Spanex:Instalar',214,'','1443\n1324\n1',0),(1370,'patrol','patrol','20131217183719',1,'Administrador',0,'Spanex:Releases',14,'','1444\n1442\n1',0),(1371,'patrol','patrol','20131217184022',1,'Administrador',0,'Spanex:Releases',14,'','1445\n1444\n1',0),(1372,'patrol','patrol','20131218002909',1,'Administrador',0,'Spanex:Releases',14,'','1446\n1445\n1',0),(1373,'patrol','patrol','20131218202139',1,'Administrador',0,'Spanex:Releases',14,'','1447\n1446\n1',0),(1374,'patrol','patrol','20131218222939',1,'Administrador',0,'Spanex:Releases',14,'','1448\n1447\n1',0),(1375,'patrol','patrol','20131230231630',1,'Administrador',0,'Página_principal',2,'','1449\n1332\n1',0),(1376,'patrol','patrol','20131231003937',1,'Administrador',0,'Inventario',234,'','1450\n0\n1',0),(1377,'patrol','patrol','20131231004230',1,'Administrador',0,'Inventario',234,'','1451\n1450\n1',0),(1378,'patrol','patrol','20140101212946',1,'Administrador',0,'Actualizacion_DB',59,'','1452\n1300\n1',0),(1379,'patrol','patrol','20140101213137',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1453\n1422\n1',0),(1380,'patrol','patrol','20140210131640',1,'Administrador',0,'TABLA:wscontrol',154,'','1454\n995\n1',0),(1381,'patrol','patrol','20140210132244',1,'Administrador',0,'TABLA:wscontrol',154,'','1455\n1454\n1',0),(1382,'patrol','patrol','20140210133739',1,'Administrador',0,'TABLA:wscontrol',154,'','1456\n1455\n1',0),(1383,'patrol','patrol','20140210134040',1,'Administrador',0,'TABLA:wscontrol',154,'','1457\n1456\n1',0),(1384,'patrol','patrol','20140210134503',1,'Administrador',0,'TABLA:wscontrol',154,'','1458\n1457\n1',0),(1385,'patrol','patrol','20140215224456',1,'Administrador',0,'Inventario',234,'','1459\n1451\n1',0),(1386,'patrol','patrol','20140220151335',1,'Administrador',0,'Spanex:UserWiki',51,'','1460\n1407\n1',0),(1387,'patrol','patrol','20140220174528',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1461\n1453\n1',0),(1388,'patrol','patrol','20140220180058',1,'Administrador',0,'ActualizacionDBPendientes',209,'','1462\n1461\n1',0),(1389,'patrol','patrol','20140220180359',1,'Administrador',0,'Spanex:Releases',14,'','1463\n1448\n1',0),(1390,'patrol','patrol','20140220180543',1,'Administrador',0,'Spanex:Releases',14,'','1464\n1463\n1',0),(1391,'patrol','patrol','20140220181141',1,'Administrador',0,'TABLA:wsml',235,'','1465\n0\n1',0);
/*!40000 ALTER TABLE `peg_logging` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_l10n_cache`
--

DROP TABLE IF EXISTS `pvt_l10n_cache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_l10n_cache` (
  `lc_lang` varbinary(32) NOT NULL,
  `lc_key` varbinary(255) NOT NULL,
  `lc_value` mediumblob NOT NULL,
  KEY `lc_lang_key` (`lc_lang`,`lc_key`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_l10n_cache`
--

LOCK TABLES `pvt_l10n_cache` WRITE;
/*!40000 ALTER TABLE `pvt_l10n_cache` DISABLE KEYS */;
INSERT INTO `pvt_l10n_cache` VALUES ('en','fallback','b:0;'),('en','namespaceNames','a:17:{i:-2;s:5:\"Media\";i:-1;s:7:\"Special\";i:0;s:0:\"\";i:1;s:4:\"Talk\";i:2;s:4:\"User\";i:3;s:9:\"User_talk\";i:5;s:7:\"$1_talk\";i:6;s:4:\"File\";i:7;s:9:\"File_talk\";i:8;s:9:\"MediaWiki\";i:9;s:14:\"MediaWiki_talk\";i:10;s:8:\"Template\";i:11;s:13:\"Template_talk\";i:12;s:4:\"Help\";i:13;s:9:\"Help_talk\";i:14;s:8:\"Category\";i:15;s:13:\"Category_talk\";}'),('en','bookstoreList','a:4:{s:6:\"AddALL\";s:56:\"http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN\";s:9:\"PriceSCAN\";s:53:\"http://www.pricescan.com/books/bookDetail.asp?isbn=$1\";s:14:\"Barnes & Noble\";s:67:\"http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1\";s:10:\"Amazon.com\";s:41:\"http://www.amazon.com/exec/obidos/ISBN=$1\";}'),('en','magicWords','a:150:{s:8:\"redirect\";a:2:{i:0;i:0;i:1;s:9:\"#REDIRECT\";}s:5:\"notoc\";a:2:{i:0;i:0;i:1;s:9:\"__NOTOC__\";}s:9:\"nogallery\";a:2:{i:0;i:0;i:1;s:13:\"__NOGALLERY__\";}s:8:\"forcetoc\";a:2:{i:0;i:0;i:1;s:12:\"__FORCETOC__\";}s:3:\"toc\";a:2:{i:0;i:0;i:1;s:7:\"__TOC__\";}s:13:\"noeditsection\";a:2:{i:0;i:0;i:1;s:17:\"__NOEDITSECTION__\";}s:8:\"noheader\";a:2:{i:0;i:0;i:1;s:12:\"__NOHEADER__\";}s:12:\"currentmonth\";a:3:{i:0;i:1;i:1;s:12:\"CURRENTMONTH\";i:2;s:13:\"CURRENTMONTH2\";}s:13:\"currentmonth1\";a:2:{i:0;i:1;i:1;s:13:\"CURRENTMONTH1\";}s:16:\"currentmonthname\";a:2:{i:0;i:1;i:1;s:16:\"CURRENTMONTHNAME\";}s:19:\"currentmonthnamegen\";a:2:{i:0;i:1;i:1;s:19:\"CURRENTMONTHNAMEGEN\";}s:18:\"currentmonthabbrev\";a:2:{i:0;i:1;i:1;s:18:\"CURRENTMONTHABBREV\";}s:10:\"currentday\";a:2:{i:0;i:1;i:1;s:10:\"CURRENTDAY\";}s:11:\"currentday2\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTDAY2\";}s:14:\"currentdayname\";a:2:{i:0;i:1;i:1;s:14:\"CURRENTDAYNAME\";}s:11:\"currentyear\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTYEAR\";}s:11:\"currenttime\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTTIME\";}s:11:\"currenthour\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTHOUR\";}s:10:\"localmonth\";a:3:{i:0;i:1;i:1;s:10:\"LOCALMONTH\";i:2;s:11:\"LOCALMONTH2\";}s:11:\"localmonth1\";a:2:{i:0;i:1;i:1;s:11:\"LOCALMONTH1\";}s:14:\"localmonthname\";a:2:{i:0;i:1;i:1;s:14:\"LOCALMONTHNAME\";}s:17:\"localmonthnamegen\";a:2:{i:0;i:1;i:1;s:17:\"LOCALMONTHNAMEGEN\";}s:16:\"localmonthabbrev\";a:2:{i:0;i:1;i:1;s:16:\"LOCALMONTHABBREV\";}s:8:\"localday\";a:2:{i:0;i:1;i:1;s:8:\"LOCALDAY\";}s:9:\"localday2\";a:2:{i:0;i:1;i:1;s:9:\"LOCALDAY2\";}s:12:\"localdayname\";a:2:{i:0;i:1;i:1;s:12:\"LOCALDAYNAME\";}s:9:\"localyear\";a:2:{i:0;i:1;i:1;s:9:\"LOCALYEAR\";}s:9:\"localtime\";a:2:{i:0;i:1;i:1;s:9:\"LOCALTIME\";}s:9:\"localhour\";a:2:{i:0;i:1;i:1;s:9:\"LOCALHOUR\";}s:13:\"numberofpages\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFPAGES\";}s:16:\"numberofarticles\";a:2:{i:0;i:1;i:1;s:16:\"NUMBEROFARTICLES\";}s:13:\"numberoffiles\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFFILES\";}s:13:\"numberofusers\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFUSERS\";}s:19:\"numberofactiveusers\";a:2:{i:0;i:1;i:1;s:19:\"NUMBEROFACTIVEUSERS\";}s:13:\"numberofedits\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFEDITS\";}s:13:\"numberofviews\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFVIEWS\";}s:8:\"pagename\";a:2:{i:0;i:1;i:1;s:8:\"PAGENAME\";}s:9:\"pagenamee\";a:2:{i:0;i:1;i:1;s:9:\"PAGENAMEE\";}s:9:\"namespace\";a:2:{i:0;i:1;i:1;s:9:\"NAMESPACE\";}s:10:\"namespacee\";a:2:{i:0;i:1;i:1;s:10:\"NAMESPACEE\";}s:9:\"talkspace\";a:2:{i:0;i:1;i:1;s:9:\"TALKSPACE\";}s:10:\"talkspacee\";a:2:{i:0;i:1;i:1;s:10:\"TALKSPACEE\";}s:12:\"subjectspace\";a:3:{i:0;i:1;i:1;s:12:\"SUBJECTSPACE\";i:2;s:12:\"ARTICLESPACE\";}s:13:\"subjectspacee\";a:3:{i:0;i:1;i:1;s:13:\"SUBJECTSPACEE\";i:2;s:13:\"ARTICLESPACEE\";}s:12:\"fullpagename\";a:2:{i:0;i:1;i:1;s:12:\"FULLPAGENAME\";}s:13:\"fullpagenamee\";a:2:{i:0;i:1;i:1;s:13:\"FULLPAGENAMEE\";}s:11:\"subpagename\";a:2:{i:0;i:1;i:1;s:11:\"SUBPAGENAME\";}s:12:\"subpagenamee\";a:2:{i:0;i:1;i:1;s:12:\"SUBPAGENAMEE\";}s:12:\"basepagename\";a:2:{i:0;i:1;i:1;s:12:\"BASEPAGENAME\";}s:13:\"basepagenamee\";a:2:{i:0;i:1;i:1;s:13:\"BASEPAGENAMEE\";}s:12:\"talkpagename\";a:2:{i:0;i:1;i:1;s:12:\"TALKPAGENAME\";}s:13:\"talkpagenamee\";a:2:{i:0;i:1;i:1;s:13:\"TALKPAGENAMEE\";}s:15:\"subjectpagename\";a:3:{i:0;i:1;i:1;s:15:\"SUBJECTPAGENAME\";i:2;s:15:\"ARTICLEPAGENAME\";}s:16:\"subjectpagenamee\";a:3:{i:0;i:1;i:1;s:16:\"SUBJECTPAGENAMEE\";i:2;s:16:\"ARTICLEPAGENAMEE\";}s:3:\"msg\";a:2:{i:0;i:0;i:1;s:4:\"MSG:\";}s:5:\"subst\";a:2:{i:0;i:0;i:1;s:6:\"SUBST:\";}s:9:\"safesubst\";a:2:{i:0;i:0;i:1;s:10:\"SAFESUBST:\";}s:5:\"msgnw\";a:2:{i:0;i:0;i:1;s:6:\"MSGNW:\";}s:13:\"img_thumbnail\";a:3:{i:0;i:1;i:1;s:9:\"thumbnail\";i:2;s:5:\"thumb\";}s:15:\"img_manualthumb\";a:3:{i:0;i:1;i:1;s:12:\"thumbnail=$1\";i:2;s:8:\"thumb=$1\";}s:9:\"img_right\";a:2:{i:0;i:1;i:1;s:5:\"right\";}s:8:\"img_left\";a:2:{i:0;i:1;i:1;s:4:\"left\";}s:8:\"img_none\";a:2:{i:0;i:1;i:1;s:4:\"none\";}s:9:\"img_width\";a:2:{i:0;i:1;i:1;s:4:\"$1px\";}s:10:\"img_center\";a:3:{i:0;i:1;i:1;s:6:\"center\";i:2;s:6:\"centre\";}s:10:\"img_framed\";a:4:{i:0;i:1;i:1;s:6:\"framed\";i:2;s:8:\"enframed\";i:3;s:5:\"frame\";}s:13:\"img_frameless\";a:2:{i:0;i:1;i:1;s:9:\"frameless\";}s:8:\"img_page\";a:3:{i:0;i:1;i:1;s:7:\"page=$1\";i:2;s:7:\"page $1\";}s:11:\"img_upright\";a:4:{i:0;i:1;i:1;s:7:\"upright\";i:2;s:10:\"upright=$1\";i:3;s:10:\"upright $1\";}s:10:\"img_border\";a:2:{i:0;i:1;i:1;s:6:\"border\";}s:12:\"img_baseline\";a:2:{i:0;i:1;i:1;s:8:\"baseline\";}s:7:\"img_sub\";a:2:{i:0;i:1;i:1;s:3:\"sub\";}s:9:\"img_super\";a:3:{i:0;i:1;i:1;s:5:\"super\";i:2;s:3:\"sup\";}s:7:\"img_top\";a:2:{i:0;i:1;i:1;s:3:\"top\";}s:12:\"img_text_top\";a:2:{i:0;i:1;i:1;s:8:\"text-top\";}s:10:\"img_middle\";a:2:{i:0;i:1;i:1;s:6:\"middle\";}s:10:\"img_bottom\";a:2:{i:0;i:1;i:1;s:6:\"bottom\";}s:15:\"img_text_bottom\";a:2:{i:0;i:1;i:1;s:11:\"text-bottom\";}s:8:\"img_link\";a:2:{i:0;i:1;i:1;s:7:\"link=$1\";}s:7:\"img_alt\";a:2:{i:0;i:1;i:1;s:6:\"alt=$1\";}s:3:\"int\";a:2:{i:0;i:0;i:1;s:4:\"INT:\";}s:8:\"sitename\";a:2:{i:0;i:1;i:1;s:8:\"SITENAME\";}s:2:\"ns\";a:2:{i:0;i:0;i:1;s:3:\"NS:\";}s:3:\"nse\";a:2:{i:0;i:0;i:1;s:4:\"NSE:\";}s:8:\"localurl\";a:2:{i:0;i:0;i:1;s:9:\"LOCALURL:\";}s:9:\"localurle\";a:2:{i:0;i:0;i:1;s:10:\"LOCALURLE:\";}s:11:\"articlepath\";a:2:{i:0;i:0;i:1;s:11:\"ARTICLEPATH\";}s:6:\"server\";a:2:{i:0;i:0;i:1;s:6:\"SERVER\";}s:10:\"servername\";a:2:{i:0;i:0;i:1;s:10:\"SERVERNAME\";}s:10:\"scriptpath\";a:2:{i:0;i:0;i:1;s:10:\"SCRIPTPATH\";}s:9:\"stylepath\";a:2:{i:0;i:0;i:1;s:9:\"STYLEPATH\";}s:7:\"grammar\";a:2:{i:0;i:0;i:1;s:8:\"GRAMMAR:\";}s:6:\"gender\";a:2:{i:0;i:0;i:1;s:7:\"GENDER:\";}s:14:\"notitleconvert\";a:3:{i:0;i:0;i:1;s:18:\"__NOTITLECONVERT__\";i:2;s:8:\"__NOTC__\";}s:16:\"nocontentconvert\";a:3:{i:0;i:0;i:1;s:20:\"__NOCONTENTCONVERT__\";i:2;s:8:\"__NOCC__\";}s:11:\"currentweek\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTWEEK\";}s:10:\"currentdow\";a:2:{i:0;i:1;i:1;s:10:\"CURRENTDOW\";}s:9:\"localweek\";a:2:{i:0;i:1;i:1;s:9:\"LOCALWEEK\";}s:8:\"localdow\";a:2:{i:0;i:1;i:1;s:8:\"LOCALDOW\";}s:10:\"revisionid\";a:2:{i:0;i:1;i:1;s:10:\"REVISIONID\";}s:11:\"revisionday\";a:2:{i:0;i:1;i:1;s:11:\"REVISIONDAY\";}s:12:\"revisionday2\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONDAY2\";}s:13:\"revisionmonth\";a:2:{i:0;i:1;i:1;s:13:\"REVISIONMONTH\";}s:14:\"revisionmonth1\";a:2:{i:0;i:1;i:1;s:14:\"REVISIONMONTH1\";}s:12:\"revisionyear\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONYEAR\";}s:17:\"revisiontimestamp\";a:2:{i:0;i:1;i:1;s:17:\"REVISIONTIMESTAMP\";}s:12:\"revisionuser\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONUSER\";}s:6:\"plural\";a:2:{i:0;i:0;i:1;s:7:\"PLURAL:\";}s:7:\"fullurl\";a:2:{i:0;i:0;i:1;s:8:\"FULLURL:\";}s:8:\"fullurle\";a:2:{i:0;i:0;i:1;s:9:\"FULLURLE:\";}s:12:\"canonicalurl\";a:2:{i:0;i:0;i:1;s:13:\"CANONICALURL:\";}s:13:\"canonicalurle\";a:2:{i:0;i:0;i:1;s:14:\"CANONICALURLE:\";}s:7:\"lcfirst\";a:2:{i:0;i:0;i:1;s:8:\"LCFIRST:\";}s:7:\"ucfirst\";a:2:{i:0;i:0;i:1;s:8:\"UCFIRST:\";}s:2:\"lc\";a:2:{i:0;i:0;i:1;s:3:\"LC:\";}s:2:\"uc\";a:2:{i:0;i:0;i:1;s:3:\"UC:\";}s:3:\"raw\";a:2:{i:0;i:0;i:1;s:4:\"RAW:\";}s:12:\"displaytitle\";a:2:{i:0;i:1;i:1;s:12:\"DISPLAYTITLE\";}s:9:\"rawsuffix\";a:2:{i:0;i:1;i:1;s:1:\"R\";}s:14:\"newsectionlink\";a:2:{i:0;i:1;i:1;s:18:\"__NEWSECTIONLINK__\";}s:16:\"nonewsectionlink\";a:2:{i:0;i:1;i:1;s:20:\"__NONEWSECTIONLINK__\";}s:14:\"currentversion\";a:2:{i:0;i:1;i:1;s:14:\"CURRENTVERSION\";}s:9:\"urlencode\";a:2:{i:0;i:0;i:1;s:10:\"URLENCODE:\";}s:12:\"anchorencode\";a:2:{i:0;i:0;i:1;s:12:\"ANCHORENCODE\";}s:16:\"currenttimestamp\";a:2:{i:0;i:1;i:1;s:16:\"CURRENTTIMESTAMP\";}s:14:\"localtimestamp\";a:2:{i:0;i:1;i:1;s:14:\"LOCALTIMESTAMP\";}s:13:\"directionmark\";a:3:{i:0;i:1;i:1;s:13:\"DIRECTIONMARK\";i:2;s:7:\"DIRMARK\";}s:8:\"language\";a:2:{i:0;i:0;i:1;s:10:\"#LANGUAGE:\";}s:15:\"contentlanguage\";a:3:{i:0;i:1;i:1;s:15:\"CONTENTLANGUAGE\";i:2;s:11:\"CONTENTLANG\";}s:16:\"pagesinnamespace\";a:3:{i:0;i:1;i:1;s:17:\"PAGESINNAMESPACE:\";i:2;s:10:\"PAGESINNS:\";}s:14:\"numberofadmins\";a:2:{i:0;i:1;i:1;s:14:\"NUMBEROFADMINS\";}s:9:\"formatnum\";a:2:{i:0;i:0;i:1;s:9:\"FORMATNUM\";}s:7:\"padleft\";a:2:{i:0;i:0;i:1;s:7:\"PADLEFT\";}s:8:\"padright\";a:2:{i:0;i:0;i:1;s:8:\"PADRIGHT\";}s:7:\"special\";a:2:{i:0;i:0;i:1;s:7:\"special\";}s:11:\"defaultsort\";a:4:{i:0;i:1;i:1;s:12:\"DEFAULTSORT:\";i:2;s:15:\"DEFAULTSORTKEY:\";i:3;s:20:\"DEFAULTCATEGORYSORT:\";}s:8:\"filepath\";a:2:{i:0;i:0;i:1;s:9:\"FILEPATH:\";}s:3:\"tag\";a:2:{i:0;i:0;i:1;s:3:\"tag\";}s:9:\"hiddencat\";a:2:{i:0;i:1;i:1;s:13:\"__HIDDENCAT__\";}s:15:\"pagesincategory\";a:3:{i:0;i:1;i:1;s:15:\"PAGESINCATEGORY\";i:2;s:10:\"PAGESINCAT\";}s:8:\"pagesize\";a:2:{i:0;i:1;i:1;s:8:\"PAGESIZE\";}s:5:\"index\";a:2:{i:0;i:1;i:1;s:9:\"__INDEX__\";}s:7:\"noindex\";a:2:{i:0;i:1;i:1;s:11:\"__NOINDEX__\";}s:13:\"numberingroup\";a:3:{i:0;i:1;i:1;s:13:\"NUMBERINGROUP\";i:2;s:10:\"NUMINGROUP\";}s:14:\"staticredirect\";a:2:{i:0;i:1;i:1;s:18:\"__STATICREDIRECT__\";}s:15:\"protectionlevel\";a:2:{i:0;i:1;i:1;s:15:\"PROTECTIONLEVEL\";}s:10:\"formatdate\";a:3:{i:0;i:0;i:1;s:10:\"formatdate\";i:2;s:10:\"dateformat\";}s:8:\"url_path\";a:2:{i:0;i:0;i:1;s:4:\"PATH\";}s:8:\"url_wiki\";a:2:{i:0;i:0;i:1;s:4:\"WIKI\";}s:9:\"url_query\";a:2:{i:0;i:0;i:1;s:5:\"QUERY\";}}'),('en','messages:svgedit-editbutton-edit','s:12:\"Edit drawing\";'),('en','messages:svgedit-summary-label','s:12:\"Edit summary\";'),('en','messages:svgedit-summary-default','s:26:\"/* Modified in svg-edit */\";'),('en','messages:svgedit-editor-save-close','s:14:\"Save and close\";'),('en','messages:svgedit-editor-close','s:6:\"Cancel\";'),('en','messages:svgedit-desc','s:85:\"In-browser editing of SVG drawings with [http://code.google.com/p/svg-edit/ SVG-Edit]\";'),('en','messages:svgedit-edit-tab','s:12:\"Edit drawing\";'),('en','messages:svgedit-edit-tab-tooltip','s:45:\"You can edit this SVG drawing in your browser\";'),('en','messages:svgedit-toolbar-insert','s:11:\"SVG drawing\";'),('en','messages:sidebar','s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";'),('en','messages:tog-underline','s:17:\"Link underlining:\";'),('en','messages:tog-highlightbroken','s:114:\"Format broken links <a href=\"\" class=\"new\">like this</a> (alternative: Like this<a href=\"\" class=\"internal\">?</a>)\";'),('en','messages:tog-justify','s:18:\"Justify paragraphs\";'),('en','messages:tog-hideminor','s:34:\"Hide minor edits in recent changes\";'),('en','messages:tog-hidepatrolled','s:38:\"Hide patrolled edits in recent changes\";'),('en','messages:tog-newpageshidepatrolled','s:39:\"Hide patrolled pages from new page list\";'),('en','messages:tog-extendwatchlist','s:62:\"Expand watchlist to show all changes, not just the most recent\";'),('en','messages:tog-usenewrc','s:49:\"Use enhanced recent changes (requires JavaScript)\";'),('en','messages:tog-numberheadings','s:20:\"Auto-number headings\";'),('en','messages:tog-showtoolbar','s:39:\"Show edit toolbar (requires JavaScript)\";'),('en','messages:tog-editondblclick','s:48:\"Edit pages on double click (requires JavaScript)\";'),('en','messages:tog-editsection','s:39:\"Enable section editing via [edit] links\";'),('en','messages:tog-editsectiononrightclick','s:80:\"Enable section editing by right clicking on section titles (requires JavaScript)\";'),('en','messages:tog-showtoc','s:60:\"Show table of contents (for pages with more than 3 headings)\";'),('en','messages:tog-rememberpassword','s:78:\"Remember my login on this browser (for a maximum of $1 {{PLURAL:$1|day|days}})\";'),('en','messages:tog-watchcreations','s:34:\"Add pages I create to my watchlist\";'),('en','messages:tog-watchdefault','s:32:\"Add pages I edit to my watchlist\";'),('en','messages:tog-watchmoves','s:32:\"Add pages I move to my watchlist\";'),('en','messages:tog-watchdeletion','s:34:\"Add pages I delete to my watchlist\";'),('en','messages:tog-minordefault','s:31:\"Mark all edits minor by default\";'),('en','messages:tog-previewontop','s:28:\"Show preview before edit box\";'),('en','messages:tog-previewonfirst','s:26:\"Show preview on first edit\";'),('en','messages:tog-nocache','s:28:\"Disable browser page caching\";'),('en','messages:tog-enotifwatchlistpages','s:48:\"E-mail me when a page on my watchlist is changed\";'),('en','messages:tog-enotifusertalkpages','s:43:\"E-mail me when my user talk page is changed\";'),('en','messages:tog-enotifminoredits','s:39:\"E-mail me also for minor edits of pages\";'),('en','messages:tog-enotifrevealaddr','s:48:\"Reveal my e-mail address in notification e-mails\";'),('en','messages:tog-shownumberswatching','s:33:\"Show the number of watching users\";'),('en','messages:tog-oldsig','s:19:\"Existing signature:\";'),('en','messages:tog-fancysig','s:55:\"Treat signature as wikitext (without an automatic link)\";'),('en','messages:tog-externaleditor','s:160:\"Use external editor by default (for experts only, needs special settings on your computer. [//www.mediawiki.org/wiki/Manual:External_editors More information.])\";'),('en','messages:tog-externaldiff','s:158:\"Use external diff by default (for experts only, needs special settings on your computer. [//www.mediawiki.org/wiki/Manual:External_editors More information.])\";'),('en','messages:tog-showjumplinks','s:36:\"Enable \"jump to\" accessibility links\";'),('en','messages:tog-uselivepreview','s:53:\"Use live preview (requires JavaScript) (experimental)\";'),('en','messages:tog-forceeditsummary','s:44:\"Prompt me when entering a blank edit summary\";'),('en','messages:tog-watchlisthideown','s:32:\"Hide my edits from the watchlist\";'),('en','messages:tog-watchlisthidebots','s:33:\"Hide bot edits from the watchlist\";'),('en','messages:tog-watchlisthideminor','s:35:\"Hide minor edits from the watchlist\";'),('en','messages:tog-watchlisthideliu','s:48:\"Hide edits by logged in users from the watchlist\";'),('en','messages:tog-watchlisthideanons','s:48:\"Hide edits by anonymous users from the watchlist\";'),('en','messages:tog-watchlisthidepatrolled','s:39:\"Hide patrolled edits from the watchlist\";'),('en','messages:tog-nolangconversion','s:27:\"Disable variants conversion\";'),('en','messages:tog-ccmeonemails','s:47:\"Send me copies of e-mails I send to other users\";'),('en','messages:tog-diffonly','s:36:\"Do not show page content below diffs\";'),('en','messages:tog-showhiddencats','s:22:\"Show hidden categories\";'),('en','messages:tog-noconvertlink','s:29:\"Disable link title conversion\";'),('en','messages:tog-norollbackdiff','s:37:\"Omit diff after performing a rollback\";'),('en','messages:underline-always','s:6:\"Always\";'),('en','messages:underline-never','s:5:\"Never\";'),('en','messages:underline-default','s:15:\"Browser default\";'),('en','messages:editfont-style','s:21:\"Edit area font style:\";'),('en','messages:editfont-default','s:15:\"Browser default\";'),('en','messages:editfont-monospace','s:15:\"Monospaced font\";'),('en','messages:editfont-sansserif','s:15:\"Sans-serif font\";'),('en','messages:editfont-serif','s:10:\"Serif font\";'),('en','messages:sunday','s:6:\"Sunday\";'),('en','messages:monday','s:6:\"Monday\";'),('en','messages:tuesday','s:7:\"Tuesday\";'),('en','messages:wednesday','s:9:\"Wednesday\";'),('en','messages:thursday','s:8:\"Thursday\";'),('en','messages:friday','s:6:\"Friday\";'),('en','messages:saturday','s:8:\"Saturday\";'),('en','messages:sun','s:3:\"Sun\";'),('en','messages:mon','s:3:\"Mon\";'),('en','messages:tue','s:3:\"Tue\";'),('en','messages:wed','s:3:\"Wed\";'),('en','messages:thu','s:3:\"Thu\";'),('en','messages:fri','s:3:\"Fri\";'),('en','messages:sat','s:3:\"Sat\";'),('en','messages:january','s:7:\"January\";'),('en','messages:february','s:8:\"February\";'),('en','messages:march','s:5:\"March\";'),('en','messages:april','s:5:\"April\";'),('en','messages:may_long','s:3:\"May\";'),('en','messages:june','s:4:\"June\";'),('en','messages:july','s:4:\"July\";'),('en','messages:august','s:6:\"August\";'),('en','messages:september','s:9:\"September\";'),('en','messages:october','s:7:\"October\";'),('en','messages:november','s:8:\"November\";'),('en','messages:december','s:8:\"December\";'),('en','messages:january-gen','s:7:\"January\";'),('en','messages:february-gen','s:8:\"February\";'),('en','messages:march-gen','s:5:\"March\";'),('en','messages:april-gen','s:5:\"April\";'),('en','messages:may-gen','s:3:\"May\";'),('en','messages:june-gen','s:4:\"June\";'),('en','messages:july-gen','s:4:\"July\";'),('en','messages:august-gen','s:6:\"August\";'),('en','messages:september-gen','s:9:\"September\";'),('en','messages:october-gen','s:7:\"October\";'),('en','messages:november-gen','s:8:\"November\";'),('en','messages:december-gen','s:8:\"December\";'),('en','messages:jan','s:3:\"Jan\";'),('en','messages:feb','s:3:\"Feb\";'),('en','messages:mar','s:3:\"Mar\";'),('en','messages:apr','s:3:\"Apr\";'),('en','messages:may','s:3:\"May\";'),('en','messages:jun','s:3:\"Jun\";'),('en','messages:jul','s:3:\"Jul\";'),('en','messages:aug','s:3:\"Aug\";'),('en','messages:sep','s:3:\"Sep\";'),('en','messages:oct','s:3:\"Oct\";'),('en','messages:nov','s:3:\"Nov\";'),('en','messages:dec','s:3:\"Dec\";'),('en','messages:pagecategories','s:33:\"{{PLURAL:$1|Category|Categories}}\";'),('en','messages:pagecategorieslink','s:18:\"Special:Categories\";'),('en','messages:category_header','s:22:\"Pages in category \"$1\"\";'),('en','messages:subcategories','s:13:\"Subcategories\";'),('en','messages:category-media-header','s:22:\"Media in category \"$1\"\";'),('en','messages:category-empty','s:55:\"\'\'This category currently contains no pages or media.\'\'\";'),('en','messages:hidden-categories','s:47:\"{{PLURAL:$1|Hidden category|Hidden categories}}\";'),('en','messages:hidden-category-category','s:17:\"Hidden categories\";'),('en','messages:category-subcat-count','s:156:\"{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}\";'),('en','messages:category-subcat-count-limited','s:75:\"This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}.\";'),('en','messages:category-article-count','s:145:\"{{PLURAL:$2|This category contains only the following page.|The following {{PLURAL:$1|page is|$1 pages are}} in this category, out of $2 total.}}\";'),('en','messages:category-article-count-limited','s:73:\"The following {{PLURAL:$1|page is|$1 pages are}} in the current category.\";'),('en','messages:category-file-count','s:145:\"{{PLURAL:$2|This category contains only the following file.|The following {{PLURAL:$1|file is|$1 files are}} in this category, out of $2 total.}}\";'),('en','messages:category-file-count-limited','s:73:\"The following {{PLURAL:$1|file is|$1 files are}} in the current category.\";'),('en','messages:listingcontinuesabbrev','s:5:\"cont.\";'),('en','messages:index-category','s:13:\"Indexed pages\";'),('en','messages:noindex-category','s:15:\"Noindexed pages\";'),('en','messages:broken-file-category','s:28:\"Pages with broken file links\";'),('en','messages:linkprefix','s:31:\"/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD\";'),('en','messages:about','s:5:\"About\";'),('en','messages:article','s:12:\"Content page\";'),('en','messages:newwindow','s:21:\"(opens in new window)\";'),('en','messages:cancel','s:6:\"Cancel\";'),('en','messages:moredotdotdot','s:7:\"More...\";'),('en','messages:mypage','s:7:\"My page\";'),('en','messages:mytalk','s:7:\"My talk\";'),('en','messages:anontalk','s:24:\"Talk for this IP address\";'),('en','messages:navigation','s:10:\"Navigation\";'),('en','messages:and','s:8:\"&#32;and\";'),('en','messages:qbfind','s:4:\"Find\";'),('en','messages:qbbrowse','s:6:\"Browse\";'),('en','messages:qbedit','s:4:\"Edit\";'),('en','messages:qbpageoptions','s:9:\"This page\";'),('en','messages:qbpageinfo','s:7:\"Context\";'),('en','messages:qbmyoptions','s:8:\"My pages\";'),('en','messages:qbspecialpages','s:13:\"Special pages\";'),('en','messages:faq','s:3:\"FAQ\";'),('en','messages:faqpage','s:11:\"Project:FAQ\";'),('en','messages:sitetitle','s:12:\"{{SITENAME}}\";'),('en','messages:sitesubtitle','s:0:\"\";'),('en','messages:vector-action-addsection','s:9:\"Add topic\";'),('en','messages:vector-action-delete','s:6:\"Delete\";'),('en','messages:vector-action-move','s:4:\"Move\";'),('en','messages:vector-action-protect','s:7:\"Protect\";'),('en','messages:vector-action-undelete','s:8:\"Undelete\";'),('en','messages:vector-action-unprotect','s:17:\"Change protection\";'),('en','messages:vector-simplesearch-preference','s:53:\"Enable enhanced search suggestions (Vector skin only)\";'),('en','messages:vector-view-create','s:6:\"Create\";'),('en','messages:vector-view-edit','s:4:\"Edit\";'),('en','messages:vector-view-history','s:12:\"View history\";'),('en','messages:vector-view-view','s:4:\"Read\";'),('en','messages:vector-view-viewsource','s:11:\"View source\";'),('en','messages:actions','s:7:\"Actions\";'),('en','messages:namespaces','s:10:\"Namespaces\";'),('en','messages:variants','s:8:\"Variants\";'),('en','messages:errorpagetitle','s:5:\"Error\";'),('en','messages:returnto','s:13:\"Return to $1.\";'),('en','messages:tagline','s:17:\"From {{SITENAME}}\";'),('en','messages:help','s:4:\"Help\";'),('en','messages:search','s:6:\"Search\";'),('en','messages:searchbutton','s:6:\"Search\";'),('en','messages:go','s:2:\"Go\";'),('en','messages:searcharticle','s:2:\"Go\";'),('en','messages:history','s:12:\"Page history\";'),('en','messages:history_short','s:7:\"History\";'),('en','messages:updatedmarker','s:27:\"updated since my last visit\";'),('en','messages:printableversion','s:17:\"Printable version\";'),('en','messages:permalink','s:14:\"Permanent link\";'),('en','messages:print','s:5:\"Print\";'),('en','messages:view','s:4:\"View\";'),('en','messages:edit','s:4:\"Edit\";'),('en','messages:create','s:6:\"Create\";'),('en','messages:editthispage','s:14:\"Edit this page\";'),('en','messages:create-this-page','s:16:\"Create this page\";'),('en','messages:delete','s:6:\"Delete\";'),('en','messages:deletethispage','s:16:\"Delete this page\";'),('en','messages:undelete_short','s:40:\"Undelete {{PLURAL:$1|one edit|$1 edits}}\";'),('en','messages:viewdeleted_short','s:52:\"View {{PLURAL:$1|one deleted edit|$1 deleted edits}}\";'),('en','messages:protect','s:7:\"Protect\";'),('en','messages:protect_change','s:6:\"change\";'),('en','messages:protectthispage','s:17:\"Protect this page\";'),('en','messages:unprotect','s:17:\"Change protection\";'),('en','messages:unprotectthispage','s:30:\"Change protection of this page\";'),('en','messages:newpage','s:8:\"New page\";'),('en','messages:talkpage','s:17:\"Discuss this page\";'),('en','messages:talkpagelinktext','s:4:\"Talk\";'),('en','messages:specialpage','s:12:\"Special page\";'),('en','messages:personaltools','s:14:\"Personal tools\";'),('en','messages:postcomment','s:11:\"New section\";'),('en','messages:addsection','s:1:\"+\";'),('en','messages:articlepage','s:17:\"View content page\";'),('en','messages:talk','s:10:\"Discussion\";'),('en','messages:views','s:5:\"Views\";'),('en','messages:toolbox','s:7:\"Toolbox\";'),('en','messages:userpage','s:14:\"View user page\";'),('en','messages:projectpage','s:17:\"View project page\";'),('en','messages:imagepage','s:14:\"View file page\";'),('en','messages:mediawikipage','s:17:\"View message page\";'),('en','messages:templatepage','s:18:\"View template page\";'),('en','messages:viewhelppage','s:14:\"View help page\";'),('en','messages:categorypage','s:18:\"View category page\";'),('en','messages:viewtalkpage','s:15:\"View discussion\";'),('en','messages:otherlanguages','s:18:\"In other languages\";'),('en','messages:redirectedfrom','s:20:\"(Redirected from $1)\";'),('en','messages:redirectpagesub','s:13:\"Redirect page\";'),('en','messages:talkpageheader','s:1:\"-\";'),('en','messages:lastmodifiedat','s:41:\"This page was last modified on $1, at $2.\";'),('en','messages:viewcount','s:56:\"This page has been accessed {{PLURAL:$1|once|$1 times}}.\";'),('en','messages:protectedpage','s:14:\"Protected page\";'),('en','messages:jumpto','s:8:\"Jump to:\";'),('en','messages:jumptonavigation','s:10:\"navigation\";'),('en','messages:jumptosearch','s:6:\"search\";'),('en','messages:view-pool-error','s:159:\"Sorry, the servers are overloaded at the moment.\nToo many users are trying to view this page.\nPlease wait a while before you try to access this page again.\n\n$1\";'),('en','messages:pool-timeout','s:28:\"Timeout waiting for the lock\";'),('en','messages:pool-queuefull','s:18:\"Pool queue is full\";'),('en','messages:pool-errorunknown','s:13:\"Unknown error\";'),('en','messages:aboutsite','s:18:\"About {{SITENAME}}\";'),('en','messages:aboutpage','s:13:\"Project:About\";'),('en','messages:copyright','s:30:\"Content is available under $1.\";'),('en','messages:copyrightpage','s:25:\"{{ns:project}}:Copyrights\";'),('en','messages:currentevents','s:14:\"Current events\";'),('en','messages:currentevents-url','s:22:\"Project:Current events\";'),('en','messages:disclaimers','s:11:\"Disclaimers\";'),('en','messages:disclaimerpage','s:26:\"Project:General disclaimer\";'),('en','messages:edithelp','s:12:\"Editing help\";'),('en','messages:edithelppage','s:12:\"Help:Editing\";'),('en','messages:helppage','s:13:\"Help:Contents\";'),('en','messages:mainpage','s:9:\"Main Page\";'),('en','messages:mainpage-description','s:9:\"Main page\";'),('en','messages:policy-url','s:14:\"Project:Policy\";'),('en','messages:portal','s:16:\"Community portal\";'),('en','messages:portal-url','s:24:\"Project:Community portal\";'),('en','messages:privacy','s:14:\"Privacy policy\";'),('en','messages:privacypage','s:22:\"Project:Privacy policy\";'),('en','messages:badaccess','s:16:\"Permission error\";'),('en','messages:badaccess-group0','s:61:\"You are not allowed to execute the action you have requested.\";'),('en','messages:badaccess-groups','s:99:\"The action you have requested is limited to users in {{PLURAL:$2|the group|one of the groups}}: $1.\";'),('en','messages:versionrequired','s:32:\"Version $1 of MediaWiki required\";'),('en','messages:versionrequiredtext','s:91:\"Version $1 of MediaWiki is required to use this page.\nSee [[Special:Version|version page]].\";'),('en','messages:ok','s:2:\"OK\";'),('en','messages:pagetitle','s:17:\"$1 - {{SITENAME}}\";'),('en','messages:pagetitle-view-mainpage','s:12:\"{{SITENAME}}\";'),('en','messages:retrievedfrom','s:19:\"Retrieved from \"$1\"\";'),('en','messages:youhavenewmessages','s:17:\"You have $1 ($2).\";'),('en','messages:newmessageslink','s:12:\"new messages\";'),('en','messages:newmessagesdifflink','s:11:\"last change\";'),('en','messages:youhavenewmessagesmulti','s:27:\"You have new messages on $1\";'),('en','messages:newtalkseparator','s:6:\",&#32;\";'),('en','messages:editsection','s:4:\"edit\";'),('en','messages:editsection-brackets','s:4:\"[$1]\";'),('en','messages:editold','s:4:\"edit\";'),('en','messages:viewsourceold','s:11:\"view source\";'),('en','messages:editlink','s:4:\"edit\";'),('en','messages:viewsourcelink','s:11:\"view source\";'),('en','messages:editsectionhint','s:16:\"Edit section: $1\";'),('en','messages:toc','s:8:\"Contents\";'),('en','messages:showtoc','s:4:\"show\";'),('en','messages:hidetoc','s:4:\"hide\";'),('en','messages:collapsible-collapse','s:8:\"Collapse\";'),('en','messages:collapsible-expand','s:6:\"Expand\";'),('en','messages:thisisdeleted','s:19:\"View or restore $1?\";'),('en','messages:viewdeleted','s:8:\"View $1?\";'),('en','messages:restorelink','s:47:\"{{PLURAL:$1|one deleted edit|$1 deleted edits}}\";'),('en','messages:feedlinks','s:5:\"Feed:\";'),('en','messages:feed-invalid','s:31:\"Invalid subscription feed type.\";'),('en','messages:feed-unavailable','s:35:\"Syndication feeds are not available\";'),('en','messages:site-rss-feed','s:11:\"$1 RSS feed\";'),('en','messages:site-atom-feed','s:12:\"$1 Atom feed\";'),('en','messages:page-rss-feed','s:13:\"\"$1\" RSS feed\";'),('en','messages:page-atom-feed','s:14:\"\"$1\" Atom feed\";'),('en','messages:feed-atom','s:4:\"Atom\";'),('en','messages:feed-rss','s:3:\"RSS\";'),('en','messages:sitenotice','s:1:\"-\";'),('en','messages:anonnotice','s:1:\"-\";'),('en','messages:newsectionheaderdefaultlevel','s:8:\"== $1 ==\";'),('en','messages:red-link-title','s:24:\"$1 (page does not exist)\";'),('en','messages:sort-descending','s:15:\"Sort descending\";'),('en','messages:sort-ascending','s:14:\"Sort ascending\";'),('en','messages:nstab-main','s:4:\"Page\";'),('en','messages:nstab-user','s:9:\"User page\";'),('en','messages:nstab-media','s:10:\"Media page\";'),('en','messages:nstab-special','s:12:\"Special page\";'),('en','messages:nstab-project','s:12:\"Project page\";'),('en','messages:nstab-image','s:4:\"File\";'),('en','messages:nstab-mediawiki','s:7:\"Message\";'),('en','messages:nstab-template','s:8:\"Template\";'),('en','messages:nstab-help','s:9:\"Help page\";'),('en','messages:nstab-category','s:8:\"Category\";'),('en','messages:mainpage-nstab','s:0:\"\";'),('en','messages:nosuchaction','s:14:\"No such action\";'),('en','messages:nosuchactiontext','s:176:\"The action specified by the URL is invalid.\nYou might have mistyped the URL, or followed an incorrect link.\nThis might also indicate a bug in the software used by {{SITENAME}}.\";'),('en','messages:nosuchspecialpage','s:20:\"No such special page\";'),('en','messages:nospecialpagetext','s:154:\"<strong>You have requested an invalid special page.</strong>\n\nA list of valid special pages can be found at [[Special:SpecialPages|{{int:specialpages}}]].\";'),('en','messages:error','s:5:\"Error\";'),('en','messages:databaseerror','s:14:\"Database error\";'),('en','messages:dberrortext','s:239:\"A database query syntax error has occurred.\nThis may indicate a bug in the software.\nThe last attempted database query was:\n<blockquote><tt>$1</tt></blockquote>\nfrom within function \"<tt>$2</tt>\".\nDatabase returned error \"<tt>$3: $4</tt>\".\";'),('en','messages:dberrortextcl','s:147:\"A database query syntax error has occurred.\nThe last attempted database query was:\n\"$1\"\nfrom within function \"$2\".\nDatabase returned error \"$3: $4\"\";'),('en','messages:laggedslavemode','s:51:\"\'\'\'Warning:\'\'\' Page may not contain recent updates.\";'),('en','messages:readonly','s:15:\"Database locked\";'),('en','messages:enterlockreason','s:84:\"Enter a reason for the lock, including an estimate of when the lock will be released\";'),('en','messages:readonlytext','s:216:\"The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.\n\nThe administrator who locked it offered this explanation: $1\";'),('en','messages:missing-article','s:349:\"The database did not find the text of a page that it should have found, named \"$1\" $2.\n\nThis is usually caused by following an outdated diff or history link to a page that has been deleted.\n\nIf this is not the case, you may have found a bug in the software.\nPlease report this to an [[Special:ListUsers/sysop|administrator]], making note of the URL.\";'),('en','messages:missingarticle-rev','s:15:\"(revision#: $1)\";'),('en','messages:missingarticle-diff','s:14:\"(Diff: $1, $2)\";'),('en','messages:readonly_lag','s:98:\"The database has been automatically locked while the slave database servers catch up to the master\";'),('en','messages:internalerror','s:14:\"Internal error\";'),('en','messages:internalerror_info','s:18:\"Internal error: $1\";'),('en','messages:fileappenderrorread','s:34:\"Could not read \"$1\" during append.\";'),('en','messages:fileappenderror','s:30:\"Could not append \"$1\" to \"$2\".\";'),('en','messages:filecopyerror','s:33:\"Could not copy file \"$1\" to \"$2\".\";'),('en','messages:filerenameerror','s:35:\"Could not rename file \"$1\" to \"$2\".\";'),('en','messages:filedeleteerror','s:27:\"Could not delete file \"$1\".\";'),('en','messages:directorycreateerror','s:32:\"Could not create directory \"$1\".\";'),('en','messages:filenotfound','s:25:\"Could not find file \"$1\".\";'),('en','messages:fileexistserror','s:42:\"Unable to write to file \"$1\": File exists.\";'),('en','messages:unexpected','s:28:\"Unexpected value: \"$1\"=\"$2\".\";'),('en','messages:formerror','s:29:\"Error: Could not submit form.\";'),('en','messages:badarticleerror','s:45:\"This action cannot be performed on this page.\";'),('en','messages:cannotdelete','s:93:\"The page or file \"$1\" could not be deleted.\nIt may have already been deleted by someone else.\";'),('en','messages:badtitle','s:9:\"Bad title\";'),('en','messages:badtitletext','s:175:\"The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title.\nIt may contain one or more characters which cannot be used in titles.\";'),('en','messages:perfcached','s:55:\"The following data is cached and may not be up to date.\";'),('en','messages:perfcachedts','s:54:\"The following data is cached, and was last updated $1.\";'),('en','messages:querypage-no-updates','s:88:\"Updates for this page are currently disabled.\nData here will not presently be refreshed.\";'),('en','messages:wrong_wfQuery_params','s:68:\"Incorrect parameters to wfQuery()<br />\nFunction: $1<br />\nQuery: $2\";'),('en','messages:viewsource','s:11:\"View source\";'),('en','messages:viewsourcefor','s:6:\"for $1\";'),('en','messages:actionthrottled','s:16:\"Action throttled\";'),('en','messages:actionthrottledtext','s:178:\"As an anti-spam measure, you are limited from performing this action too many times in a short space of time, and you have exceeded this limit.\nPlease try again in a few minutes.\";'),('en','messages:protectedpagetext','s:48:\"This page has been protected to prevent editing.\";'),('en','messages:viewsourcetext','s:46:\"You can view and copy the source of this page:\";'),('en','messages:protectedinterface','s:86:\"This page provides interface text for the software, and is protected to prevent abuse.\";'),('en','messages:editinginterface','s:325:\"\'\'\'Warning:\'\'\' You are editing a page which is used to provide interface text for the software.\nChanges to this page will affect the appearance of the user interface for other users.\nFor translations, please consider using [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], the MediaWiki localisation project.\";'),('en','messages:sqlhidden','s:18:\"(SQL query hidden)\";'),('en','messages:cascadeprotected','s:180:\"This page has been protected from editing, because it is included in the following {{PLURAL:$1|page, which is|pages, which are}} protected with the \"cascading\" option turned on:\n$2\";'),('en','messages:namespaceprotected','s:67:\"You do not have permission to edit pages in the \'\'\'$1\'\'\' namespace.\";'),('en','messages:customcssprotected','s:103:\"You do not have permission to edit this CSS page, because it contains another user\'s personal settings.\";'),('en','messages:customjsprotected','s:110:\"You do not have permission to edit this JavaScript page, because it contains another user\'s personal settings.\";'),('en','messages:ns-specialprotected','s:31:\"Special pages cannot be edited.\";'),('en','messages:titleprotected','s:92:\"This title has been protected from creation by [[User:$1|$1]].\nThe reason given is \"\'\'$2\'\'\".\";'),('en','messages:virus-badscanner','s:48:\"Bad configuration: Unknown virus scanner: \'\'$1\'\'\";'),('en','messages:virus-scanfailed','s:21:\"scan failed (code $1)\";'),('en','messages:virus-unknownscanner','s:18:\"unknown antivirus:\";'),('en','messages:logouttext','s:280:\"\'\'\'You are now logged out.\'\'\'\n\nYou can continue to use {{SITENAME}} anonymously, or you can [[Special:UserLogin|log in again]] as the same or as a different user.\nNote that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache.\";'),('en','messages:welcomecreation','s:128:\"== Welcome, $1! ==\nYour account has been created.\nDo not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].\";'),('en','messages:yourname','s:9:\"Username:\";'),('en','messages:yourpassword','s:9:\"Password:\";'),('en','messages:yourpasswordagain','s:16:\"Retype password:\";'),('en','messages:remembermypassword','s:78:\"Remember my login on this browser (for a maximum of $1 {{PLURAL:$1|day|days}})\";'),('en','messages:securelogin-stick-https','s:35:\"Stay connected to HTTPS after login\";'),('en','messages:yourdomainname','s:12:\"Your domain:\";'),('en','messages:externaldberror','s:105:\"There was either an authentication database error or you are not allowed to update your external account.\";'),('en','messages:login','s:6:\"Log in\";'),('en','messages:nav-login-createaccount','s:23:\"Log in / create account\";'),('en','messages:loginprompt','s:56:\"You must have cookies enabled to log in to {{SITENAME}}.\";'),('en','messages:userlogin','s:23:\"Log in / create account\";'),('en','messages:userloginnocreate','s:6:\"Log in\";'),('en','messages:logout','s:7:\"Log out\";'),('en','messages:userlogout','s:7:\"Log out\";'),('en','messages:notloggedin','s:13:\"Not logged in\";'),('en','messages:nologin','s:26:\"Don\'t have an account? $1.\";'),('en','messages:nologinlink','s:17:\"Create an account\";'),('en','messages:createaccount','s:14:\"Create account\";'),('en','messages:gotaccount','s:28:\"Already have an account? $1.\";'),('en','messages:gotaccountlink','s:6:\"Log in\";'),('en','messages:userlogin-resetlink','s:29:\"Forgotten your login details?\";'),('en','messages:createaccountmail','s:9:\"By e-mail\";'),('en','messages:createaccountreason','s:7:\"Reason:\";'),('en','messages:badretype','s:39:\"The passwords you entered do not match.\";'),('en','messages:userexists','s:64:\"Username entered already in use.\nPlease choose a different name.\";'),('en','messages:loginerror','s:11:\"Login error\";'),('en','messages:createaccounterror','s:28:\"Could not create account: $1\";'),('en','messages:nocookiesnew','s:195:\"The user account was created, but you are not logged in.\n{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them, then log in with your new username and password.\";'),('en','messages:nocookieslogin','s:103:\"{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them and try again.\";'),('en','messages:nocookiesfornew','s:134:\"The user account was not created, as we could not confirm its source.\nEnsure you have cookies enabled, reload this page and try again.\";'),('en','messages:nocookiesforlogin','s:22:\"{{int:nocookieslogin}}\";'),('en','messages:noname','s:40:\"You have not specified a valid username.\";'),('en','messages:loginsuccesstitle','s:16:\"Login successful\";'),('en','messages:loginsuccess','s:52:\"\'\'\'You are now logged in to {{SITENAME}} as \"$1\".\'\'\'\";'),('en','messages:nosuchuser','s:139:\"There is no user by the name \"$1\".\nUsernames are case sensitive.\nCheck your spelling, or [[Special:UserLogin/signup|create a new account]].\";'),('en','messages:nosuchusershort','s:55:\"There is no user by the name \"$1\".\nCheck your spelling.\";'),('en','messages:nouserspecified','s:31:\"You have to specify a username.\";'),('en','messages:login-userblocked','s:40:\"This user is blocked. Login not allowed.\";'),('en','messages:wrongpassword','s:45:\"Incorrect password entered.\nPlease try again.\";'),('en','messages:wrongpasswordempty','s:45:\"Password entered was blank.\nPlease try again.\";'),('en','messages:passwordtooshort','s:67:\"Passwords must be at least {{PLURAL:$1|1 character|$1 characters}}.\";'),('en','messages:password-name-match','s:51:\"Your password must be different from your username.\";'),('en','messages:password-login-forbidden','s:57:\"The use of this username and password has been forbidden.\";'),('en','messages:mailmypassword','s:19:\"E-mail new password\";'),('en','messages:passwordremindertitle','s:39:\"New temporary password for {{SITENAME}}\";'),('en','messages:passwordremindertext','s:493:\"Someone (probably you, from IP address $1) requested a new\npassword for {{SITENAME}} ($4). A temporary password for user\n\"$2\" has been created and was set to \"$3\". If this was your\nintent, you will need to log in and choose a new password now.\nYour temporary password will expire in {{PLURAL:$5|one day|$5 days}}.\n\nIf someone else made this request, or if you have remembered your password,\nand you no longer wish to change it, you may ignore this message and\ncontinue using your old password.\";'),('en','messages:noemail','s:50:\"There is no e-mail address recorded for user \"$1\".\";'),('en','messages:noemailcreate','s:42:\"You need to provide a valid e-mail address\";'),('en','messages:passwordsent','s:113:\"A new password has been sent to the e-mail address registered for \"$1\".\nPlease log in again after you receive it.\";'),('en','messages:blocked-mailpassword','s:118:\"Your IP address is blocked from editing, and so is not allowed to use the password recovery function to prevent abuse.\";'),('en','messages:eauthentsent','s:219:\"A confirmation e-mail has been sent to the nominated e-mail address.\nBefore any other e-mail is sent to the account, you will have to follow the instructions in the e-mail, to confirm that the account is actually yours.\";'),('en','messages:throttled-mailpassword','s:178:\"A password reminder has already been sent, within the last {{PLURAL:$1|hour|$1 hours}}.\nTo prevent abuse, only one password reminder will be sent per {{PLURAL:$1|hour|$1 hours}}.\";'),('en','messages:loginstart','s:0:\"\";'),('en','messages:loginend','s:0:\"\";'),('en','messages:loginend-https','s:0:\"\";'),('en','messages:signupstart','s:18:\"{{int:loginstart}}\";'),('en','messages:signupend','s:16:\"{{int:loginend}}\";'),('en','messages:signupend-https','s:0:\"\";'),('en','messages:mailerror','s:22:\"Error sending mail: $1\";'),('en','messages:acct_creation_throttle_hit','s:250:\"Visitors to this wiki using your IP address have created {{PLURAL:$1|1 account|$1 accounts}} in the last day, which is the maximum allowed in this time period.\nAs a result, visitors using this IP address cannot create any more accounts at the moment.\";'),('en','messages:emailauthenticated','s:50:\"Your e-mail address was authenticated on $2 at $3.\";'),('en','messages:emailnotauthenticated','s:103:\"Your e-mail address is not yet authenticated.\nNo e-mail will be sent for any of the following features.\";'),('en','messages:noemailprefs','s:73:\"Specify an e-mail address in your preferences for these features to work.\";'),('en','messages:emailconfirmlink','s:27:\"Confirm your e-mail address\";'),('en','messages:invalidemailaddress','s:137:\"The e-mail address cannot be accepted as it appears to have an invalid format.\nPlease enter a well-formatted address or empty that field.\";'),('en','messages:accountcreated','s:15:\"Account created\";'),('en','messages:accountcreatedtext','s:41:\"The user account for $1 has been created.\";'),('en','messages:createaccount-title','s:33:\"Account creation for {{SITENAME}}\";'),('en','messages:createaccount-text','s:219:\"Someone created an account for your e-mail address on {{SITENAME}} ($4) named \"$2\", with password \"$3\".\nYou should log in and change your password now.\n\nYou may ignore this message, if this account was created in error.\";'),('en','messages:usernamehasherror','s:39:\"Username cannot contain hash characters\";'),('en','messages:login-throttled','s:78:\"You have made too many recent login attempts.\nPlease wait before trying again.\";'),('en','messages:login-abort-generic','s:37:\"Your login was unsuccessful - Aborted\";'),('en','messages:loginlanguagelabel','s:12:\"Language: $1\";'),('en','messages:loginlanguagelinks','s:99:\"* Deutsch|de\n* English|en\n* Esperanto|eo\n* Français|fr\n* Español|es\n* Italiano|it\n* Nederlands|nl\";'),('en','messages:suspicious-userlogout','s:106:\"Your request to log out was denied because it looks like it was sent by a broken browser or caching proxy.\";'),('en','messages:pear-mail-error','s:2:\"$1\";'),('en','messages:php-mail-error','s:2:\"$1\";'),('en','messages:php-mail-error-unknown','s:39:\"Unknown error in PHP\'s mail() function.\";'),('en','messages:resetpass','s:15:\"Change password\";'),('en','messages:resetpass_announce','s:101:\"You logged in with a temporary e-mailed code.\nTo finish logging in, you must set a new password here:\";'),('en','messages:resetpass_text','s:22:\"<!-- Add text here -->\";'),('en','messages:resetpass_header','s:23:\"Change account password\";'),('en','messages:oldpassword','s:13:\"Old password:\";'),('en','messages:newpassword','s:13:\"New password:\";'),('en','messages:retypenew','s:20:\"Retype new password:\";'),('en','messages:resetpass_submit','s:23:\"Set password and log in\";'),('en','messages:resetpass_success','s:66:\"Your password has been changed successfully!\nNow logging you in...\";'),('en','messages:resetpass_forbidden','s:27:\"Passwords cannot be changed\";'),('en','messages:resetpass-no-info','s:51:\"You must be logged in to access this page directly.\";'),('en','messages:resetpass-submit-loggedin','s:15:\"Change password\";'),('en','messages:resetpass-submit-cancel','s:6:\"Cancel\";'),('en','messages:resetpass-wrong-oldpass','s:133:\"Invalid temporary or current password.\nYou may have already successfully changed your password or requested a new temporary password.\";'),('en','messages:resetpass-temp-password','s:19:\"Temporary password:\";'),('en','messages:passwordreset','s:14:\"Reset password\";'),('en','messages:passwordreset-text','s:73:\"Complete this form to receive an e-mail reminder of your account details.\";'),('en','messages:passwordreset-legend','s:14:\"Reset password\";'),('en','messages:passwordreset-disabled','s:48:\"Password resets have been disabled on this wiki.\";'),('en','messages:passwordreset-pretext','s:52:\"{{PLURAL:$1||Enter one of the pieces of data below}}\";'),('en','messages:passwordreset-username','s:9:\"Username:\";'),('en','messages:passwordreset-domain','s:7:\"Domain:\";'),('en','messages:passwordreset-email','s:15:\"E-mail address:\";'),('en','messages:passwordreset-emailtitle','s:31:\"Account details on {{SITENAME}}\";'),('en','messages:passwordreset-emailtext-ip','s:556:\"Someone (probably you, from IP address $1) requested a reminder of your\naccount details for {{SITENAME}} ($4). The following user {{PLURAL:$3|account is|accounts are}}\nassociated with this e-mail address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword.\";'),('en','messages:passwordreset-emailtext-user','s:537:\"User $1 on {{SITENAME}} requested a reminder of your account details for {{SITENAME}}\n($4). The following user {{PLURAL:$3|account is|accounts are}} associated with this e-mail address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword.\";'),('en','messages:passwordreset-emailelement','s:35:\"Username: $1\nTemporary password: $2\";'),('en','messages:passwordreset-emailsent','s:32:\"A reminder e-mail has been sent.\";'),('en','messages:bold_sample','s:9:\"Bold text\";'),('en','messages:bold_tip','s:9:\"Bold text\";'),('en','messages:italic_sample','s:11:\"Italic text\";'),('en','messages:italic_tip','s:11:\"Italic text\";'),('en','messages:link_sample','s:10:\"Link title\";'),('en','messages:link_tip','s:13:\"Internal link\";'),('en','messages:extlink_sample','s:33:\"http://www.example.com link title\";'),('en','messages:extlink_tip','s:39:\"External link (remember http:// prefix)\";'),('en','messages:headline_sample','s:13:\"Headline text\";'),('en','messages:headline_tip','s:16:\"Level 2 headline\";'),('en','messages:nowiki_sample','s:30:\"Insert non-formatted text here\";'),('en','messages:nowiki_tip','s:22:\"Ignore wiki formatting\";'),('en','messages:image_sample','s:11:\"Example.jpg\";'),('en','messages:image_tip','s:13:\"Embedded file\";'),('en','messages:media_sample','s:11:\"Example.ogg\";'),('en','messages:media_tip','s:9:\"File link\";'),('en','messages:sig_tip','s:29:\"Your signature with timestamp\";'),('en','messages:hr_tip','s:31:\"Horizontal line (use sparingly)\";'),('en','messages:summary','s:8:\"Summary:\";'),('en','messages:subject','s:17:\"Subject/headline:\";'),('en','messages:minoredit','s:20:\"This is a minor edit\";'),('en','messages:watchthis','s:15:\"Watch this page\";'),('en','messages:savearticle','s:9:\"Save page\";'),('en','messages:preview','s:7:\"Preview\";'),('en','messages:showpreview','s:12:\"Show preview\";'),('en','messages:showlivepreview','s:12:\"Live preview\";'),('en','messages:showdiff','s:12:\"Show changes\";'),('en','messages:anoneditwarning','s:99:\"\'\'\'Warning:\'\'\' You are not logged in.\nYour IP address will be recorded in this page\'s edit history.\";'),('en','messages:anonpreviewwarning','s:90:\"\'\'You are not logged in. Saving will record your IP address in this page\'s edit history.\'\'\";'),('en','messages:missingsummary','s:133:\"\'\'\'Reminder:\'\'\' You have not provided an edit summary.\nIf you click \"{{int:savearticle}}\" again, your edit will be saved without one.\";'),('en','messages:missingcommenttext','s:29:\"Please enter a comment below.\";'),('en','messages:missingcommentheader','s:153:\"\'\'\'Reminder:\'\'\' You have not provided a subject/headline for this comment.\nIf you click \"{{int:savearticle}}\" again, your edit will be saved without one.\";'),('en','messages:summary-preview','s:16:\"Summary preview:\";'),('en','messages:subject-preview','s:25:\"Subject/headline preview:\";'),('en','messages:blockedtitle','s:15:\"User is blocked\";'),('en','messages:blockedtext','s:574:\"\'\'\'Your username or IP address has been blocked.\'\'\'\n\nThe block was made by $1.\nThe reason given is \'\'$2\'\'.\n\n* Start of block: $8\n* Expiry of block: $6\n* Intended blockee: $7\n\nYou can contact $1 or another [[{{MediaWiki:Grouppage-sysop}}|administrator]] to discuss the block.\nYou cannot use the \'e-mail this user\' feature unless a valid e-mail address is specified in your [[Special:Preferences|account preferences]] and you have not been blocked from using it.\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make.\";'),('en','messages:autoblockedtext','s:636:\"Your IP address has been automatically blocked because it was used by another user, who was blocked by $1.\nThe reason given is this:\n\n:\'\'$2\'\'\n\n* Start of block: $8\n* Expiry of block: $6\n* Intended blockee: $7\n\nYou may contact $1 or one of the other [[{{MediaWiki:Grouppage-sysop}}|administrators]] to discuss the block.\n\nNote that you may not use the \"e-mail this user\" feature unless you have a valid e-mail address registered in your [[Special:Preferences|user preferences]] and you have not been blocked from using it.\n\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make.\";'),('en','messages:blockednoreason','s:15:\"no reason given\";'),('en','messages:blockedoriginalsource','s:38:\"The source of \'\'\'$1\'\'\' is shown below:\";'),('en','messages:blockededitsource','s:56:\"The text of \'\'\'your edits\'\'\' to \'\'\'$1\'\'\' is shown below:\";'),('en','messages:whitelistedittitle','s:22:\"Login required to edit\";'),('en','messages:whitelistedittext','s:29:\"You have to $1 to edit pages.\";'),('en','messages:confirmedittext','s:157:\"You must confirm your e-mail address before editing pages.\nPlease set and validate your e-mail address through your [[Special:Preferences|user preferences]].\";'),('en','messages:nosuchsectiontitle','s:19:\"Cannot find section\";'),('en','messages:nosuchsectiontext','s:115:\"You tried to edit a section that does not exist.\nIt may have been moved or deleted while you were viewing the page.\";'),('en','messages:loginreqtitle','s:14:\"Login required\";'),('en','messages:loginreqlink','s:6:\"log in\";'),('en','messages:loginreqpagetext','s:32:\"You must $1 to view other pages.\";'),('en','messages:accmailtitle','s:14:\"Password sent.\";'),('en','messages:accmailtext','s:200:\"A randomly generated password for [[User talk:$1|$1]] has been sent to $2.\n\nThe password for this new account can be changed on the \'\'[[Special:ChangePassword|change password]]\'\' page upon logging in.\";'),('en','messages:newarticle','s:5:\"(New)\";'),('en','messages:newarticletext','s:239:\"You have followed a link to a page that does not exist yet.\nTo create the page, start typing in the box below (see the [[{{MediaWiki:Helppage}}|help page]] for more info).\nIf you are here by mistake, click your browser\'s \'\'\'back\'\'\' button.\";'),('en','messages:newarticletextanon','s:22:\"{{int:newarticletext}}\";'),('en','messages:talkpagetext','s:31:\"<!-- MediaWiki:talkpagetext -->\";'),('en','messages:anontalkpagetext','s:469:\"----\'\'This is the discussion page for an anonymous user who has not created an account yet, or who does not use it.\nWe therefore have to use the numerical IP address to identify him/her.\nSuch an IP address can be shared by several users.\nIf you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:UserLogin/signup|create an account]] or [[Special:UserLogin|log in]] to avoid future confusion with other anonymous users.\'\'\";'),('en','messages:noarticletext','s:296:\"There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nor [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span>.\";'),('en','messages:noarticletext-nopermission','s:237:\"There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\nor <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>.\";'),('en','messages:noarticletextanon','s:21:\"{{int:noarticletext}}\";'),('en','messages:userpage-userdoesnotexist','s:87:\"User account \"$1\" is not registered.\nPlease check if you want to create/edit this page.\";'),('en','messages:userpage-userdoesnotexist-view','s:36:\"User account \"$1\" is not registered.\";'),('en','messages:blocked-notice-logextract','s:91:\"This user is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:clearyourcache','s:503:\"\'\'\'Note:\'\'\' After saving, you may have to bypass your browser\'s cache to see the changes.\n* \'\'\'Firefox / Safari:\'\'\' Hold \'\'Shift\'\' while clicking \'\'Reload\'\', or press either \'\'Ctrl-F5\'\' or \'\'Ctrl-R\'\' (\'\'Command-R\'\' on a Mac)\n* \'\'\'Google Chrome:\'\'\' Press \'\'Ctrl-Shift-R\'\' (\'\'Command-Shift-R\'\' on a Mac)\n* \'\'\'Internet Explorer:\'\'\' Hold \'\'Ctrl\'\' while clicking \'\'Refresh\'\', or press \'\'Ctrl-F5\'\'\n* \'\'\'Konqueror:\'\'\' Click \'\'Reload\'\' or press \'\'F5\'\'\n* \'\'\'Opera:\'\'\' Clear the cache in \'\'Tools → Preferences\'\'\";'),('en','messages:usercssyoucanpreview','s:83:\"\'\'\'Tip:\'\'\' Use the \"{{int:showpreview}}\" button to test your new CSS before saving.\";'),('en','messages:userjsyoucanpreview','s:90:\"\'\'\'Tip:\'\'\' Use the \"{{int:showpreview}}\" button to test your new JavaScript before saving.\";'),('en','messages:usercsspreview','s:91:\"\'\'\'Remember that you are only previewing your user CSS.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:userjspreview','s:106:\"\'\'\'Remember that you are only testing/previewing your user JavaScript.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:sitecsspreview','s:86:\"\'\'\'Remember that you are only previewing this CSS.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:sitejspreview','s:98:\"\'\'\'Remember that you are only previewing this JavaScript code.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:userinvalidcssjstitle','s:160:\"\'\'\'Warning:\'\'\' There is no skin \"$1\".\nCustom .css and .js pages use a lowercase title, e.g. {{ns:user}}:Foo/vector.css as opposed to {{ns:user}}:Foo/Vector.css.\";'),('en','messages:updated','s:9:\"(Updated)\";'),('en','messages:note','s:11:\"\'\'\'Note:\'\'\'\";'),('en','messages:previewnote','s:81:\"\'\'\'Remember that this is only a preview.\'\'\'\nYour changes have not yet been saved!\";'),('en','messages:previewconflict','s:102:\"This preview reflects the text in the upper text editing area as it will appear if you choose to save.\";'),('en','messages:session_fail_preview','s:179:\"\'\'\'Sorry! We could not process your edit due to a loss of session data.\'\'\'\nPlease try again.\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in.\";'),('en','messages:session_fail_preview_html','s:338:\"\'\'\'Sorry! We could not process your edit due to a loss of session data.\'\'\'\n\n\'\'Because {{SITENAME}} has raw HTML enabled, the preview is hidden as a precaution against JavaScript attacks.\'\'\n\n\'\'\'If this is a legitimate edit attempt, please try again.\'\'\'\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in.\";'),('en','messages:token_suffix_mismatch','s:259:\"\'\'\'Your edit has been rejected because your client mangled the punctuation characters in the edit token.\'\'\'\nThe edit has been rejected to prevent corruption of the page text.\nThis sometimes happens when you are using a buggy web-based anonymous proxy service.\";'),('en','messages:edit_form_incomplete','s:114:\"\'\'\'Some parts of the edit form did not reach the server; double-check that your edits are intact and try again.\'\'\'\";'),('en','messages:editing','s:10:\"Editing $1\";'),('en','messages:editingsection','s:20:\"Editing $1 (section)\";'),('en','messages:editingcomment','s:24:\"Editing $1 (new section)\";'),('en','messages:editconflict','s:17:\"Edit conflict: $1\";'),('en','messages:explainconflict','s:333:\"Someone else has changed this page since you started editing it.\nThe upper text area contains the page text as it currently exists.\nYour changes are shown in the lower text area.\nYou will have to merge your changes into the existing text.\n\'\'\'Only\'\'\' the text in the upper text area will be saved when you press \"{{int:savearticle}}\".\";'),('en','messages:yourtext','s:9:\"Your text\";'),('en','messages:storedversion','s:15:\"Stored revision\";'),('en','messages:nonunicodebrowser','s:184:\"\'\'\'Warning: Your browser is not unicode compliant.\'\'\'\nA workaround is in place to allow you to safely edit pages: Non-ASCII characters will appear in the edit box as hexadecimal codes.\";'),('en','messages:editingold','s:135:\"\'\'\'Warning: You are editing an out-of-date revision of this page.\'\'\'\nIf you save it, any changes made since this revision will be lost.\";'),('en','messages:yourdiff','s:11:\"Differences\";'),('en','messages:copyrightwarning','s:406:\"Please note that all contributions to {{SITENAME}} are considered to be released under the $2 (see $1 for details).\nIf you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.\n\'\'\'Do not submit copyrighted work without permission!\'\'\'\";'),('en','messages:copyrightwarning2','s:394:\"Please note that all contributions to {{SITENAME}} may be edited, altered, or removed by other contributors.\nIf you do not want your writing to be edited mercilessly, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see $1 for details).\n\'\'\'Do not submit copyrighted work without permission!\'\'\'\";'),('en','messages:editpage-tos-summary','s:1:\"-\";'),('en','messages:longpage-hint','s:1:\"-\";'),('en','messages:longpageerror','s:132:\"\'\'\'Error: The text you have submitted is $1 kilobytes long, which is longer than the maximum of $2 kilobytes.\'\'\'\nIt cannot be saved.\";'),('en','messages:readonlywarning','s:253:\"\'\'\'Warning: The database has been locked for maintenance, so you will not be able to save your edits right now.\'\'\'\nYou may wish to cut-n-paste the text into a text file and save it for later.\n\nThe administrator who locked it offered this explanation: $1\";'),('en','messages:protectedpagewarning','s:159:\"\'\'\'Warning: This page has been protected so that only users with administrator privileges can edit it.\'\'\'\nThe latest log entry is provided below for reference:\";'),('en','messages:semiprotectedpagewarning','s:137:\"\'\'\'Note:\'\'\' This page has been protected so that only registered users can edit it.\nThe latest log entry is provided below for reference:\";'),('en','messages:cascadeprotectedwarning','s:189:\"\'\'\'Warning:\'\'\' This page has been protected so that only users with administrator privileges can edit it, because it is included in the following cascade-protected {{PLURAL:$1|page|pages}}:\";'),('en','messages:titleprotectedwarning','s:174:\"\'\'\'Warning: This page has been protected so that [[Special:ListGroupRights|specific rights]] are needed to create it.\'\'\'\nThe latest log entry is provided below for reference:\";'),('en','messages:templatesused','s:51:\"{{PLURAL:$1|Template|Templates}} used on this page:\";'),('en','messages:templatesusedpreview','s:54:\"{{PLURAL:$1|Template|Templates}} used in this preview:\";'),('en','messages:templatesusedsection','s:54:\"{{PLURAL:$1|Template|Templates}} used in this section:\";'),('en','messages:template-protected','s:11:\"(protected)\";'),('en','messages:template-semiprotected','s:16:\"(semi-protected)\";'),('en','messages:hiddencategories','s:78:\"This page is a member of {{PLURAL:$1|1 hidden category|$1 hidden categories}}:\";'),('en','messages:edittools','s:61:\"<!-- Text here will be shown below edit and upload forms. -->\";'),('en','messages:edittools-upload','s:1:\"-\";'),('en','messages:nocreatetitle','s:21:\"Page creation limited\";'),('en','messages:nocreatetext','s:157:\"{{SITENAME}} has restricted the ability to create new pages.\nYou can go back and edit an existing page, or [[Special:UserLogin|log in or create an account]].\";'),('en','messages:nocreate-loggedin','s:47:\"You do not have permission to create new pages.\";'),('en','messages:sectioneditnotsupported-title','s:29:\"Section editing not supported\";'),('en','messages:sectioneditnotsupported-text','s:46:\"Section editing is not supported in this page.\";'),('en','messages:permissionserrors','s:18:\"Permissions errors\";'),('en','messages:permissionserrorstext','s:86:\"You do not have permission to do that, for the following {{PLURAL:$1|reason|reasons}}:\";'),('en','messages:permissionserrorstext-withaction','s:81:\"You do not have permission to $2, for the following {{PLURAL:$1|reason|reasons}}:\";'),('en','messages:recreate-moveddeleted-warn','s:222:\"\'\'\'Warning: You are recreating a page that was previously deleted.\'\'\'\n\nYou should consider whether it is appropriate to continue editing this page.\nThe deletion and move log for this page are provided here for convenience:\";'),('en','messages:moveddeleted-notice','s:100:\"This page has been deleted.\nThe deletion and move log for the page are provided below for reference.\";'),('en','messages:log-fulllog','s:13:\"View full log\";'),('en','messages:edit-hook-aborted','s:45:\"Edit aborted by hook.\nIt gave no explanation.\";'),('en','messages:edit-gone-missing','s:59:\"Could not update the page.\nIt appears to have been deleted.\";'),('en','messages:edit-conflict','s:14:\"Edit conflict.\";'),('en','messages:edit-no-change','s:62:\"Your edit was ignored, because no change was made to the text.\";'),('en','messages:edit-already-exists','s:47:\"Could not create a new page.\nIt already exists.\";'),('en','messages:addsection-preload','s:0:\"\";'),('en','messages:addsection-editintro','s:0:\"\";'),('en','messages:expensive-parserfunction-warning','s:183:\"\'\'\'Warning:\'\'\' This page contains too many expensive parser function calls.\n\nIt should have less than $2 {{PLURAL:$2|call|calls}}, there {{PLURAL:$1|is now $1 call|are now $1 calls}}.\";'),('en','messages:expensive-parserfunction-category','s:51:\"Pages with too many expensive parser function calls\";'),('en','messages:post-expand-template-inclusion-warning','s:87:\"\'\'\'Warning:\'\'\' Template include size is too large.\nSome templates will not be included.\";'),('en','messages:post-expand-template-inclusion-category','s:45:\"Pages where template include size is exceeded\";'),('en','messages:post-expand-template-argument-warning','s:137:\"\'\'\'Warning:\'\'\' This page contains at least one template argument which has a too large expansion size.\nThese arguments have been omitted.\";'),('en','messages:post-expand-template-argument-category','s:43:\"Pages containing omitted template arguments\";'),('en','messages:parser-template-loop-warning','s:30:\"Template loop detected: [[$1]]\";'),('en','messages:parser-template-recursion-depth-warning','s:44:\"Template recursion depth limit exceeded ($1)\";'),('en','messages:language-converter-depth-warning','s:44:\"Language converter depth limit exceeded ($1)\";'),('en','messages:undo-success','s:161:\"The edit can be undone.\nPlease check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.\";'),('en','messages:undo-failure','s:67:\"The edit could not be undone due to conflicting intermediate edits.\";'),('en','messages:undo-norev','s:70:\"The edit could not be undone because it does not exist or was deleted.\";'),('en','messages:undo-summary','s:75:\"Undo revision $1 by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]])\";'),('en','messages:cantcreateaccounttitle','s:21:\"Cannot create account\";'),('en','messages:cantcreateaccount-text','s:118:\"Account creation from this IP address (\'\'\'$1\'\'\') has been blocked by [[User:$3|$3]].\n\nThe reason given by $3 is \'\'$2\'\'\";'),('en','messages:viewpagelogs','s:23:\"View logs for this page\";'),('en','messages:nohistory','s:39:\"There is no edit history for this page.\";'),('en','messages:currentrev','s:15:\"Latest revision\";'),('en','messages:currentrev-asof','s:24:\"Latest revision as of $1\";'),('en','messages:revisionasof','s:17:\"Revision as of $1\";'),('en','messages:revision-info','s:23:\"Revision as of $1 by $2\";'),('en','messages:revision-info-current','s:1:\"-\";'),('en','messages:revision-nav','s:65:\"($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)\";'),('en','messages:previousrevision','s:18:\"← Older revision\";'),('en','messages:nextrevision','s:18:\"Newer revision →\";'),('en','messages:currentrevisionlink','s:15:\"Latest revision\";'),('en','messages:cur','s:3:\"cur\";'),('en','messages:next','s:4:\"next\";'),('en','messages:last','s:4:\"prev\";'),('en','messages:page_first','s:5:\"first\";'),('en','messages:page_last','s:4:\"last\";'),('en','messages:histlegend','s:279:\"Diff selection: Mark the radio boxes of the revisions to compare and hit enter or the button at the bottom.<br />\nLegend: \'\'\'({{int:cur}})\'\'\' = difference with latest revision, \'\'\'({{int:last}})\'\'\' = difference with preceding revision, \'\'\'{{int:minoreditletter}}\'\'\' = minor edit.\";'),('en','messages:history-fieldset-title','s:14:\"Browse history\";'),('en','messages:history-show-deleted','s:12:\"Deleted only\";'),('en','messages:history_copyright','s:1:\"-\";'),('en','messages:histfirst','s:8:\"Earliest\";'),('en','messages:histlast','s:6:\"Latest\";'),('en','messages:historysize','s:31:\"({{PLURAL:$1|1 byte|$1 bytes}})\";'),('en','messages:historyempty','s:7:\"(empty)\";'),('en','messages:history-feed-title','s:16:\"Revision history\";'),('en','messages:history-feed-description','s:42:\"Revision history for this page on the wiki\";'),('en','messages:history-feed-item-nocomment','s:8:\"$1 at $2\";'),('en','messages:history-feed-empty','s:155:\"The requested page does not exist.\nIt may have been deleted from the wiki, or renamed.\nTry [[Special:Search|searching on the wiki]] for relevant new pages.\";'),('en','messages:rev-deleted-comment','s:22:\"(edit summary removed)\";'),('en','messages:rev-deleted-user','s:18:\"(username removed)\";'),('en','messages:rev-deleted-event','s:20:\"(log action removed)\";'),('en','messages:rev-deleted-user-contribs','s:65:\"[username or IP address removed - edit hidden from contributions]\";'),('en','messages:rev-deleted-text-permission','s:145:\"This page revision has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-deleted-text-unhide','s:207:\"This page revision has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this revision] if you wish to proceed.\";'),('en','messages:rev-suppressed-text-unhide','s:215:\"This page revision has been \'\'\'suppressed\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this revision] if you wish to proceed.\";'),('en','messages:rev-deleted-text-view','s:162:\"This page revision has been \'\'\'deleted\'\'\'.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-text-view','s:170:\"This page revision has been \'\'\'suppressed\'\'\'.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\";'),('en','messages:rev-deleted-no-diff','s:181:\"You cannot view this diff because one of the revisions has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-no-diff','s:78:\"You cannot view this diff because one of the revisions has been \'\'\'deleted\'\'\'.\";'),('en','messages:rev-deleted-unhide-diff','s:218:\"One of the revisions of this diff has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this diff] if you wish to proceed.\";'),('en','messages:rev-suppressed-unhide-diff','s:226:\"One of the revisions of this diff has been \'\'\'suppressed\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this diff] if you wish to proceed.\";'),('en','messages:rev-deleted-diff-view','s:184:\"One of the revisions of this diff has been \'\'\'deleted\'\'\'.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-diff-view','s:192:\"One of the revisions of this diff has been \'\'\'suppressed\'\'\'.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\";'),('en','messages:rev-delundel','s:9:\"show/hide\";'),('en','messages:rev-showdeleted','s:4:\"show\";'),('en','messages:revisiondelete','s:25:\"Delete/undelete revisions\";'),('en','messages:revdelete-nooldid-title','s:23:\"Invalid target revision\";'),('en','messages:revdelete-nooldid-text','s:167:\"You have either not specified a target revision(s) to perform this\nfunction, the specified revision does not exist, or you are attempting to hide the current revision.\";'),('en','messages:revdelete-nologtype-title','s:17:\"No log type given\";'),('en','messages:revdelete-nologtype-text','s:60:\"You have not specified a log type to perform this action on.\";'),('en','messages:revdelete-nologid-title','s:17:\"Invalid log entry\";'),('en','messages:revdelete-nologid-text','s:112:\"You have either not specified a target log event to perform this function or the specified entry does not exist.\";'),('en','messages:revdelete-no-file','s:34:\"The file specified does not exist.\";'),('en','messages:revdelete-show-file-confirm','s:97:\"Are you sure you want to view a deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?\";'),('en','messages:revdelete-show-file-submit','s:3:\"Yes\";'),('en','messages:revdelete-selected','s:68:\"\'\'\'{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:\'\'\'\";'),('en','messages:logdelete-selected','s:59:\"\'\'\'{{PLURAL:$1|Selected log event|Selected log events}}:\'\'\'\";'),('en','messages:revdelete-text','s:325:\"\'\'\'Deleted revisions and events will still appear in the page history and logs, but parts of their content will be inaccessible to the public.\'\'\'\nOther administrators on {{SITENAME}} will still be able to access the hidden content and can undelete it again through this same interface, unless additional restrictions are set.\";'),('en','messages:revdelete-confirm','s:168:\"Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].\";'),('en','messages:revdelete-suppress-text','s:209:\"Suppression should \'\'\'only\'\'\' be used for the following cases:\n* Potentially libelous information\n* Inappropriate personal information\n*: \'\'home addresses and telephone numbers, social security numbers, etc.\'\'\";'),('en','messages:revdelete-legend','s:27:\"Set visibility restrictions\";'),('en','messages:revdelete-hide-text','s:18:\"Hide revision text\";'),('en','messages:revdelete-hide-image','s:17:\"Hide file content\";'),('en','messages:revdelete-hide-name','s:22:\"Hide action and target\";'),('en','messages:revdelete-hide-comment','s:17:\"Hide edit summary\";'),('en','messages:revdelete-hide-user','s:33:\"Hide editor\'s username/IP address\";'),('en','messages:revdelete-hide-restricted','s:51:\"Suppress data from administrators as well as others\";'),('en','messages:revdelete-radio-same','s:15:\"(do not change)\";'),('en','messages:revdelete-radio-set','s:3:\"Yes\";'),('en','messages:revdelete-radio-unset','s:2:\"No\";'),('en','messages:revdelete-suppress','s:51:\"Suppress data from administrators as well as others\";'),('en','messages:revdelete-unsuppress','s:41:\"Remove restrictions on restored revisions\";'),('en','messages:revdelete-log','s:7:\"Reason:\";'),('en','messages:revdelete-submit','s:50:\"Apply to selected {{PLURAL:$1|revision|revisions}}\";'),('en','messages:revdelete-logentry','s:39:\"changed revision visibility of \"[[$1]]\"\";'),('en','messages:logdelete-logentry','s:36:\"changed event visibility of \"[[$1]]\"\";'),('en','messages:revdelete-success','s:47:\"\'\'\'Revision visibility successfully updated.\'\'\'\";'),('en','messages:revdelete-failure','s:50:\"\'\'\'Revision visibility could not be updated:\'\'\'\n$1\";'),('en','messages:logdelete-success','s:38:\"\'\'\'Log visibility successfully set.\'\'\'\";'),('en','messages:logdelete-failure','s:41:\"\'\'\'Log visibility could not be set:\'\'\'\n$1\";'),('en','messages:revdel-restore','s:17:\"change visibility\";'),('en','messages:revdel-restore-deleted','s:17:\"deleted revisions\";'),('en','messages:revdel-restore-visible','s:17:\"visible revisions\";'),('en','messages:pagehist','s:12:\"Page history\";'),('en','messages:deletedhist','s:15:\"Deleted history\";'),('en','messages:revdelete-content','s:7:\"content\";'),('en','messages:revdelete-summary','s:12:\"edit summary\";'),('en','messages:revdelete-uname','s:8:\"username\";'),('en','messages:revdelete-restricted','s:38:\"applied restrictions to administrators\";'),('en','messages:revdelete-unrestricted','s:39:\"removed restrictions for administrators\";'),('en','messages:revdelete-hid','s:6:\"hid $1\";'),('en','messages:revdelete-unhid','s:8:\"unhid $1\";'),('en','messages:revdelete-log-message','s:42:\"$1 for $2 {{PLURAL:$2|revision|revisions}}\";'),('en','messages:logdelete-log-message','s:36:\"$1 for $2 {{PLURAL:$2|event|events}}\";'),('en','messages:revdelete-hide-current','s:86:\"Error hiding the item dated $2, $1: This is the current revision.\nIt cannot be hidden.\";'),('en','messages:revdelete-show-no-access','s:106:\"Error showing the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it.\";'),('en','messages:revdelete-modify-no-access','s:108:\"Error modifying the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it.\";'),('en','messages:revdelete-modify-missing','s:60:\"Error modifying item ID $1: It is missing from the database!\";'),('en','messages:revdelete-no-change','s:83:\"\'\'\'Warning:\'\'\' The item dated $2, $1 already had the requested visibility settings.\";'),('en','messages:revdelete-concurrent-change','s:151:\"Error modifying the item dated $2, $1: Its status appears to have been changed by someone else while you attempted to modify it.\nPlease check the logs.\";'),('en','messages:revdelete-only-restricted','s:149:\"Error hiding the item dated $2, $1: You cannot suppress items from view by administrators without also selecting one of the other visibility options.\";'),('en','messages:revdelete-reason-dropdown','s:119:\"*Common delete reasons\n** Copyright violation\n** Inappropriate personal information\n** Potentially libelous information\";'),('en','messages:revdelete-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:revdelete-reasonotherlist','s:12:\"Other reason\";'),('en','messages:revdelete-edit-reasonlist','s:19:\"Edit delete reasons\";'),('en','messages:revdelete-offender','s:16:\"Revision author:\";'),('en','messages:suppressionlog','s:15:\"Suppression log\";'),('en','messages:suppressionlogtext','s:184:\"Below is a list of deletions and blocks involving content hidden from administrators.\nSee the [[Special:BlockList|IP block list]] for the list of currently operational bans and blocks.\";'),('en','messages:mergehistory','s:20:\"Merge page histories\";'),('en','messages:mergehistory-header','s:156:\"This page lets you merge revisions of the history of one source page into a newer page.\nMake sure that this change will maintain historical page continuity.\";'),('en','messages:mergehistory-box','s:29:\"Merge revisions of two pages:\";'),('en','messages:mergehistory-from','s:12:\"Source page:\";'),('en','messages:mergehistory-into','s:17:\"Destination page:\";'),('en','messages:mergehistory-list','s:22:\"Mergeable edit history\";'),('en','messages:mergehistory-merge','s:224:\"The following revisions of [[:$1]] can be merged into [[:$2]].\nUse the radio button column to merge in only the revisions created at and before the specified time.\nNote that using the navigation links will reset this column.\";'),('en','messages:mergehistory-go','s:20:\"Show mergeable edits\";'),('en','messages:mergehistory-submit','s:15:\"Merge revisions\";'),('en','messages:mergehistory-empty','s:27:\"No revisions can be merged.\";'),('en','messages:mergehistory-success','s:80:\"$3 {{PLURAL:$3|revision|revisions}} of [[:$1]] successfully merged into [[:$2]].\";'),('en','messages:mergehistory-fail','s:77:\"Unable to perform history merge, please recheck the page and time parameters.\";'),('en','messages:mergehistory-no-source','s:30:\"Source page $1 does not exist.\";'),('en','messages:mergehistory-no-destination','s:35:\"Destination page $1 does not exist.\";'),('en','messages:mergehistory-invalid-source','s:34:\"Source page must be a valid title.\";'),('en','messages:mergehistory-invalid-destination','s:39:\"Destination page must be a valid title.\";'),('en','messages:mergehistory-autocomment','s:27:\"Merged [[:$1]] into [[:$2]]\";'),('en','messages:mergehistory-comment','s:31:\"Merged [[:$1]] into [[:$2]]: $3\";'),('en','messages:mergehistory-same-destination','s:47:\"Source and destination pages cannot be the same\";'),('en','messages:mergehistory-reason','s:7:\"Reason:\";'),('en','messages:mergelog','s:9:\"Merge log\";'),('en','messages:pagemerge-logentry','s:46:\"merged [[$1]] into [[$2]] (revisions up to $3)\";'),('en','messages:revertmerge','s:7:\"Unmerge\";'),('en','messages:mergelogpagetext','s:75:\"Below is a list of the most recent merges of one page history into another.\";'),('en','messages:history-title','s:24:\"Revision history of \"$1\"\";'),('en','messages:difference','s:30:\"(Difference between revisions)\";'),('en','messages:difference-multipage','s:26:\"(Difference between pages)\";'),('en','messages:lineno','s:8:\"Line $1:\";'),('en','messages:compareselectedversions','s:26:\"Compare selected revisions\";'),('en','messages:showhideselectedversions','s:28:\"Show/hide selected revisions\";'),('en','messages:editundo','s:4:\"undo\";'),('en','messages:diff-multi','s:112:\"({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by {{PLURAL:$2|one user|$2 users}} not shown)\";'),('en','messages:diff-multi-manyusers','s:118:\"({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by more than $2 {{PLURAL:$2|user|users}} not shown)\";'),('en','messages:search-summary','s:0:\"\";'),('en','messages:searchresults','s:14:\"Search results\";'),('en','messages:searchresults-title','s:23:\"Search results for \"$1\"\";'),('en','messages:searchresulttext','s:95:\"For more information about searching {{SITENAME}}, see [[{{MediaWiki:Helppage}}|{{int:help}}]].\";'),('en','messages:searchsubtitle','s:166:\"You searched for \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|all pages starting with \"$1\"]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|all pages that link to \"$1\"]])\";'),('en','messages:searchsubtitleinvalid','s:25:\"You searched for \'\'\'$1\'\'\'\";'),('en','messages:toomanymatches','s:60:\"Too many matches were returned, please try a different query\";'),('en','messages:titlematches','s:18:\"Page title matches\";'),('en','messages:notitlematches','s:21:\"No page title matches\";'),('en','messages:textmatches','s:17:\"Page text matches\";'),('en','messages:notextmatches','s:20:\"No page text matches\";'),('en','messages:prevn','s:25:\"previous {{PLURAL:$1|$1}}\";'),('en','messages:nextn','s:21:\"next {{PLURAL:$1|$1}}\";'),('en','messages:prevn-title','s:40:\"Previous $1 {{PLURAL:$1|result|results}}\";'),('en','messages:nextn-title','s:36:\"Next $1 {{PLURAL:$1|result|results}}\";'),('en','messages:shown-title','s:45:\"Show $1 {{PLURAL:$1|result|results}} per page\";'),('en','messages:viewprevnext','s:40:\"View ($1 {{int:pipe-separator}} $2) ($3)\";'),('en','messages:searchmenu-legend','s:14:\"Search options\";'),('en','messages:searchmenu-exists','s:51:\"\'\'\'There is a page named \"[[:$1]]\" on this wiki.\'\'\'\";'),('en','messages:searchmenu-new','s:45:\"\'\'\'Create the page \"[[:$1]]\" on this wiki!\'\'\'\";'),('en','messages:searchmenu-new-nocreate','s:0:\"\";'),('en','messages:searchhelp-url','s:13:\"Help:Contents\";'),('en','messages:searchmenu-prefix','s:56:\"[[Special:PrefixIndex/$1|Browse pages with this prefix]]\";'),('en','messages:searchmenu-help','s:46:\"[[{{MediaWiki:Searchhelp-url}}|{{int:help}}]]?\";'),('en','messages:searchprofile-articles','s:13:\"Content pages\";'),('en','messages:searchprofile-project','s:22:\"Help and Project pages\";'),('en','messages:searchprofile-images','s:10:\"Multimedia\";'),('en','messages:searchprofile-everything','s:10:\"Everything\";'),('en','messages:searchprofile-advanced','s:8:\"Advanced\";'),('en','messages:searchprofile-articles-tooltip','s:12:\"Search in $1\";'),('en','messages:searchprofile-project-tooltip','s:12:\"Search in $1\";'),('en','messages:searchprofile-images-tooltip','s:16:\"Search for files\";'),('en','messages:searchprofile-everything-tooltip','s:44:\"Search all of content (including talk pages)\";'),('en','messages:searchprofile-advanced-tooltip','s:27:\"Search in custom namespaces\";'),('en','messages:search-result-size','s:34:\"$1 ({{PLURAL:$2|1 word|$2 words}})\";'),('en','messages:search-result-category-size','s:111:\"{{PLURAL:$1|1 member|$1 members}} ({{PLURAL:$2|1 subcategory|$2 subcategories}}, {{PLURAL:$3|1 file|$3 files}})\";'),('en','messages:search-result-score','s:14:\"Relevance: $1%\";'),('en','messages:search-redirect','s:13:\"(redirect $1)\";'),('en','messages:search-section','s:12:\"(section $1)\";'),('en','messages:search-suggest','s:16:\"Did you mean: $1\";'),('en','messages:search-interwiki-caption','s:15:\"Sister projects\";'),('en','messages:search-interwiki-default','s:11:\"$1 results:\";'),('en','messages:search-interwiki-custom','s:0:\"\";'),('en','messages:search-interwiki-more','s:6:\"(more)\";'),('en','messages:search-mwsuggest-enabled','s:16:\"with suggestions\";'),('en','messages:search-mwsuggest-disabled','s:14:\"no suggestions\";'),('en','messages:search-relatedarticle','s:7:\"Related\";'),('en','messages:mwsuggest-disable','s:24:\"Disable AJAX suggestions\";'),('en','messages:searcheverything-enable','s:24:\"Search in all namespaces\";'),('en','messages:searchrelated','s:7:\"related\";'),('en','messages:searchall','s:3:\"all\";'),('en','messages:showingresults','s:90:\"Showing below up to {{PLURAL:$1|\'\'\'1\'\'\' result|\'\'\'$1\'\'\' results}} starting with #\'\'\'$2\'\'\'.\";'),('en','messages:showingresultsnum','s:84:\"Showing below {{PLURAL:$3|\'\'\'1\'\'\' result|\'\'\'$3\'\'\' results}} starting with #\'\'\'$2\'\'\'.\";'),('en','messages:showingresultsheader','s:88:\"{{PLURAL:$5|Result \'\'\'$1\'\'\' of \'\'\'$3\'\'\'|Results \'\'\'$1 - $2\'\'\' of \'\'\'$3\'\'\'}} for \'\'\'$4\'\'\'\";'),('en','messages:nonefound','s:198:\"\'\'\'Note\'\'\': Only some namespaces are searched by default.\nTry prefixing your query with \'\'all:\'\' to search all content (including talk pages, templates, etc), or use the desired namespace as prefix.\";'),('en','messages:search-nonefound','s:41:\"There were no results matching the query.\";'),('en','messages:powersearch','s:15:\"Advanced search\";'),('en','messages:powersearch-legend','s:15:\"Advanced search\";'),('en','messages:powersearch-ns','s:21:\"Search in namespaces:\";'),('en','messages:powersearch-redir','s:14:\"List redirects\";'),('en','messages:powersearch-field','s:10:\"Search for\";'),('en','messages:powersearch-togglelabel','s:6:\"Check:\";'),('en','messages:powersearch-toggleall','s:3:\"All\";'),('en','messages:powersearch-togglenone','s:4:\"None\";'),('en','messages:search-external','s:15:\"External search\";'),('en','messages:searchdisabled','s:143:\"{{SITENAME}} search is disabled.\nYou can search via Google in the meantime.\nNote that their indexes of {{SITENAME}} content may be out of date.\";'),('en','messages:googlesearch','s:630:\"<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n	<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n	<input type=\"hidden\" name=\"num\" value=\"50\" />\n	<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n	<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n	<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n	<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>\";'),('en','messages:opensearch-desc','s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";'),('en','messages:qbsettings','s:8:\"Quickbar\";'),('en','messages:qbsettings-none','s:4:\"None\";'),('en','messages:qbsettings-fixedleft','s:10:\"Fixed left\";'),('en','messages:qbsettings-fixedright','s:11:\"Fixed right\";'),('en','messages:qbsettings-floatingleft','s:13:\"Floating left\";'),('en','messages:qbsettings-floatingright','s:14:\"Floating right\";'),('en','messages:qbsettings-directionality','s:62:\"Fixed, depending on the script directionality of your language\";'),('en','messages:preferences','s:11:\"Preferences\";'),('en','messages:preferences-summary','s:0:\"\";'),('en','messages:mypreferences','s:14:\"My preferences\";'),('en','messages:prefs-edits','s:16:\"Number of edits:\";'),('en','messages:prefsnologin','s:13:\"Not logged in\";'),('en','messages:prefsnologintext','s:127:\"You must be <span class=\"plainlinks\">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} logged in]</span> to set user preferences.\";'),('en','messages:changepassword','s:15:\"Change password\";'),('en','messages:prefs-skin','s:4:\"Skin\";'),('en','messages:skin-preview','s:7:\"Preview\";'),('en','messages:datedefault','s:13:\"No preference\";'),('en','messages:prefs-beta','s:13:\"Beta features\";'),('en','messages:prefs-datetime','s:13:\"Date and time\";'),('en','messages:prefs-labs','s:13:\"Labs features\";'),('en','messages:prefs-personal','s:12:\"User profile\";'),('en','messages:prefs-rc','s:14:\"Recent changes\";'),('en','messages:prefs-watchlist','s:9:\"Watchlist\";'),('en','messages:prefs-watchlist-days','s:26:\"Days to show in watchlist:\";'),('en','messages:prefs-watchlist-days-max','s:14:\"Maximum 7 days\";'),('en','messages:prefs-watchlist-edits','s:56:\"Maximum number of changes to show in expanded watchlist:\";'),('en','messages:prefs-watchlist-edits-max','s:20:\"Maximum number: 1000\";'),('en','messages:prefs-watchlist-token','s:16:\"Watchlist token:\";'),('en','messages:prefs-misc','s:4:\"Misc\";'),('en','messages:prefs-resetpass','s:15:\"Change password\";'),('en','messages:prefs-email','s:14:\"E-mail options\";'),('en','messages:prefs-rendering','s:10:\"Appearance\";'),('en','messages:saveprefs','s:4:\"Save\";'),('en','messages:resetprefs','s:21:\"Clear unsaved changes\";'),('en','messages:restoreprefs','s:28:\"Restore all default settings\";'),('en','messages:prefs-editing','s:7:\"Editing\";'),('en','messages:prefs-edit-boxsize','s:24:\"Size of the edit window.\";'),('en','messages:rows','s:5:\"Rows:\";'),('en','messages:columns','s:8:\"Columns:\";'),('en','messages:searchresultshead','s:6:\"Search\";'),('en','messages:resultsperpage','s:14:\"Hits per page:\";'),('en','messages:stub-threshold','s:72:\"Threshold for <a href=\"#\" class=\"stub\">stub link</a> formatting (bytes):\";'),('en','messages:stub-threshold-disabled','s:8:\"Disabled\";'),('en','messages:recentchangesdays','s:31:\"Days to show in recent changes:\";'),('en','messages:recentchangesdays-max','s:33:\"Maximum $1 {{PLURAL:$1|day|days}}\";'),('en','messages:recentchangescount','s:35:\"Number of edits to show by default:\";'),('en','messages:prefs-help-recentchangescount','s:55:\"This includes recent changes, page histories, and logs.\";'),('en','messages:prefs-help-watchlist-token','s:237:\"Filling in this field with a secret key will generate an RSS feed for your watchlist.\nAnyone who knows the key in this field will be able to read your watchlist, so choose a secure value.\nHere\'s a randomly-generated value you can use: $1\";'),('en','messages:savedprefs','s:33:\"Your preferences have been saved.\";'),('en','messages:timezonelegend','s:10:\"Time zone:\";'),('en','messages:localtime','s:11:\"Local time:\";'),('en','messages:timezoneuseserverdefault','s:21:\"Use wiki default ($1)\";'),('en','messages:timezoneuseoffset','s:22:\"Other (specify offset)\";'),('en','messages:timezoneoffset','s:9:\"Offset¹:\";'),('en','messages:servertime','s:12:\"Server time:\";'),('en','messages:guesstimezone','s:20:\"Fill in from browser\";'),('en','messages:timezoneregion-africa','s:6:\"Africa\";'),('en','messages:timezoneregion-america','s:7:\"America\";'),('en','messages:timezoneregion-antarctica','s:10:\"Antarctica\";'),('en','messages:timezoneregion-arctic','s:6:\"Arctic\";'),('en','messages:timezoneregion-asia','s:4:\"Asia\";'),('en','messages:timezoneregion-atlantic','s:14:\"Atlantic Ocean\";'),('en','messages:timezoneregion-australia','s:9:\"Australia\";'),('en','messages:timezoneregion-europe','s:6:\"Europe\";'),('en','messages:timezoneregion-indian','s:12:\"Indian Ocean\";'),('en','messages:timezoneregion-pacific','s:13:\"Pacific Ocean\";'),('en','messages:allowemail','s:30:\"Enable e-mail from other users\";'),('en','messages:prefs-searchoptions','s:14:\"Search options\";'),('en','messages:prefs-namespaces','s:10:\"Namespaces\";'),('en','messages:defaultns','s:37:\"Otherwise search in these namespaces:\";'),('en','messages:default','s:7:\"default\";'),('en','messages:prefs-files','s:5:\"Files\";'),('en','messages:prefs-custom-css','s:10:\"Custom CSS\";'),('en','messages:prefs-custom-js','s:17:\"Custom JavaScript\";'),('en','messages:prefs-common-css-js','s:36:\"Shared CSS/JavaScript for all skins:\";'),('en','messages:prefs-reset-intro','s:92:\"You can use this page to reset your preferences to the site defaults.\nThis cannot be undone.\";'),('en','messages:prefs-emailconfirm-label','s:20:\"E-mail confirmation:\";'),('en','messages:prefs-textboxsize','s:22:\"Size of editing window\";'),('en','messages:youremail','s:7:\"E-mail:\";'),('en','messages:username','s:9:\"Username:\";'),('en','messages:uid','s:8:\"User ID:\";'),('en','messages:prefs-memberingroups','s:37:\"Member of {{PLURAL:$1|group|groups}}:\";'),('en','messages:prefs-memberingroups-type','s:2:\"$1\";'),('en','messages:prefs-registration','s:18:\"Registration time:\";'),('en','messages:prefs-registration-date-time','s:2:\"$1\";'),('en','messages:yourrealname','s:10:\"Real name:\";'),('en','messages:yourlanguage','s:9:\"Language:\";'),('en','messages:yourvariant','s:25:\"Content language variant:\";'),('en','messages:yournick','s:14:\"New signature:\";'),('en','messages:prefs-help-signature','s:129:\"Comments on talk pages should be signed with \"<nowiki>~~~~</nowiki>\" which will be converted into your signature and a timestamp.\";'),('en','messages:badsig','s:39:\"Invalid raw signature.\nCheck HTML tags.\";'),('en','messages:badsiglength','s:96:\"Your signature is too long.\nIt must not be more than $1 {{PLURAL:$1|character|characters}} long.\";'),('en','messages:yourgender','s:7:\"Gender:\";'),('en','messages:gender-unknown','s:11:\"Undisclosed\";'),('en','messages:gender-male','s:4:\"Male\";'),('en','messages:gender-female','s:6:\"Female\";'),('en','messages:prefs-help-gender','s:94:\"Optional: Used for gender-correct addressing by the software.\nThis information will be public.\";'),('en','messages:email','s:6:\"E-mail\";'),('en','messages:prefs-help-realname','s:111:\"Real name is optional.\nIf you choose to provide it, this will be used for giving you attribution for your work.\";'),('en','messages:prefs-help-email','s:95:\"E-mail address is optional, but is needed for password resets, should you forget your password.\";'),('en','messages:prefs-help-email-others','s:163:\"You can also choose to let others contact you by e-mail through a link on your user or talk page.\nYour e-mail address is not revealed when other users contact you.\";'),('en','messages:prefs-help-email-required','s:27:\"E-mail address is required.\";'),('en','messages:prefs-info','s:17:\"Basic information\";'),('en','messages:prefs-i18n','s:20:\"Internationalisation\";'),('en','messages:prefs-signature','s:9:\"Signature\";'),('en','messages:prefs-dateformat','s:11:\"Date format\";'),('en','messages:prefs-timeoffset','s:11:\"Time offset\";'),('en','messages:prefs-advancedediting','s:16:\"Advanced options\";'),('en','messages:prefs-advancedrc','s:16:\"Advanced options\";'),('en','messages:prefs-advancedrendering','s:16:\"Advanced options\";'),('en','messages:prefs-advancedsearchoptions','s:16:\"Advanced options\";'),('en','messages:prefs-advancedwatchlist','s:16:\"Advanced options\";'),('en','messages:prefs-displayrc','s:15:\"Display options\";'),('en','messages:prefs-displaysearchoptions','s:15:\"Display options\";'),('en','messages:prefs-displaywatchlist','s:15:\"Display options\";'),('en','messages:prefs-diffs','s:5:\"Diffs\";'),('en','messages:email-address-validity-valid','s:28:\"E-mail address appears valid\";'),('en','messages:email-address-validity-invalid','s:28:\"Enter a valid e-mail address\";'),('en','messages:userrights','s:22:\"User rights management\";'),('en','messages:userrights-summary','s:0:\"\";'),('en','messages:userrights-lookup-user','s:18:\"Manage user groups\";'),('en','messages:userrights-user-editname','s:17:\"Enter a username:\";'),('en','messages:editusergroup','s:16:\"Edit user groups\";'),('en','messages:editinguser','s:164:\"Changing user rights of user \'\'\'[[User:$1|$1]]\'\'\' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])\";'),('en','messages:userrights-editusergroup','s:16:\"Edit user groups\";'),('en','messages:saveusergroups','s:16:\"Save user groups\";'),('en','messages:userrights-groupsmember','s:10:\"Member of:\";'),('en','messages:userrights-groupsmember-auto','s:19:\"Implicit member of:\";'),('en','messages:userrights-groups-help','s:234:\"You may alter the groups this user is in:\n* A checked box means the user is in that group.\n* An unchecked box means the user is not in that group.\n* A * indicates that you cannot remove the group once you have added it, or vice versa.\";'),('en','messages:userrights-reason','s:7:\"Reason:\";'),('en','messages:userrights-no-interwiki','s:62:\"You do not have permission to edit user rights on other wikis.\";'),('en','messages:userrights-nodatabase','s:43:\"Database $1 does not exist or is not local.\";'),('en','messages:userrights-nologin','s:90:\"You must [[Special:UserLogin|log in]] with an administrator account to assign user rights.\";'),('en','messages:userrights-notallowed','s:67:\"Your account does not have permission to add or remove user rights.\";'),('en','messages:userrights-changeable-col','s:21:\"Groups you can change\";'),('en','messages:userrights-unchangeable-col','s:24:\"Groups you cannot change\";'),('en','messages:userrights-irreversible-marker','s:3:\"$1*\";'),('en','messages:group','s:6:\"Group:\";'),('en','messages:group-user','s:5:\"Users\";'),('en','messages:group-autoconfirmed','s:19:\"Autoconfirmed users\";'),('en','messages:group-bot','s:4:\"Bots\";'),('en','messages:group-sysop','s:14:\"Administrators\";'),('en','messages:group-bureaucrat','s:11:\"Bureaucrats\";'),('en','messages:group-suppress','s:10:\"Oversights\";'),('en','messages:group-all','s:5:\"(all)\";'),('en','messages:group-user-member','s:4:\"user\";'),('en','messages:group-autoconfirmed-member','s:18:\"autoconfirmed user\";'),('en','messages:group-bot-member','s:3:\"bot\";'),('en','messages:group-sysop-member','s:13:\"administrator\";'),('en','messages:group-bureaucrat-member','s:10:\"bureaucrat\";'),('en','messages:group-suppress-member','s:9:\"oversight\";'),('en','messages:grouppage-user','s:20:\"{{ns:project}}:Users\";'),('en','messages:grouppage-autoconfirmed','s:34:\"{{ns:project}}:Autoconfirmed users\";'),('en','messages:grouppage-bot','s:19:\"{{ns:project}}:Bots\";'),('en','messages:grouppage-sysop','s:29:\"{{ns:project}}:Administrators\";'),('en','messages:grouppage-bureaucrat','s:26:\"{{ns:project}}:Bureaucrats\";'),('en','messages:grouppage-suppress','s:24:\"{{ns:project}}:Oversight\";'),('en','messages:right-read','s:10:\"Read pages\";'),('en','messages:right-edit','s:10:\"Edit pages\";'),('en','messages:right-createpage','s:45:\"Create pages (which are not discussion pages)\";'),('en','messages:right-createtalk','s:23:\"Create discussion pages\";'),('en','messages:right-createaccount','s:24:\"Create new user accounts\";'),('en','messages:right-minoredit','s:19:\"Mark edits as minor\";'),('en','messages:right-move','s:10:\"Move pages\";'),('en','messages:right-move-subpages','s:30:\"Move pages with their subpages\";'),('en','messages:right-move-rootuserpages','s:20:\"Move root user pages\";'),('en','messages:right-movefile','s:10:\"Move files\";'),('en','messages:right-suppressredirect','s:56:\"Not create redirects from source pages when moving pages\";'),('en','messages:right-upload','s:12:\"Upload files\";'),('en','messages:right-reupload','s:24:\"Overwrite existing files\";'),('en','messages:right-reupload-own','s:44:\"Overwrite existing files uploaded by oneself\";'),('en','messages:right-reupload-shared','s:53:\"Override files on the shared media repository locally\";'),('en','messages:right-upload_by_url','s:23:\"Upload files from a URL\";'),('en','messages:right-purge','s:52:\"Purge the site cache for a page without confirmation\";'),('en','messages:right-autoconfirmed','s:25:\"Edit semi-protected pages\";'),('en','messages:right-bot','s:34:\"Be treated as an automated process\";'),('en','messages:right-nominornewtalk','s:72:\"Not have minor edits to discussion pages trigger the new messages prompt\";'),('en','messages:right-apihighlimits','s:32:\"Use higher limits in API queries\";'),('en','messages:right-writeapi','s:20:\"Use of the write API\";'),('en','messages:right-delete','s:12:\"Delete pages\";'),('en','messages:right-bigdelete','s:33:\"Delete pages with large histories\";'),('en','messages:right-deleterevision','s:47:\"Delete and undelete specific revisions of pages\";'),('en','messages:right-deletedhistory','s:59:\"View deleted history entries, without their associated text\";'),('en','messages:right-deletedtext','s:55:\"View deleted text and changes between deleted revisions\";'),('en','messages:right-browsearchive','s:20:\"Search deleted pages\";'),('en','messages:right-undelete','s:15:\"Undelete a page\";'),('en','messages:right-suppressrevision','s:55:\"Review and restore revisions hidden from administrators\";'),('en','messages:right-suppressionlog','s:17:\"View private logs\";'),('en','messages:right-block','s:30:\"Block other users from editing\";'),('en','messages:right-blockemail','s:32:\"Block a user from sending e-mail\";'),('en','messages:right-hideuser','s:43:\"Block a username, hiding it from the public\";'),('en','messages:right-ipblock-exempt','s:46:\"Bypass IP blocks, auto-blocks and range blocks\";'),('en','messages:right-proxyunbannable','s:34:\"Bypass automatic blocks of proxies\";'),('en','messages:right-unblockself','s:18:\"Unblock themselves\";'),('en','messages:right-protect','s:49:\"Change protection levels and edit protected pages\";'),('en','messages:right-editprotected','s:51:\"Edit protected pages (without cascading protection)\";'),('en','messages:right-editinterface','s:23:\"Edit the user interface\";'),('en','messages:right-editusercssjs','s:42:\"Edit other users\' CSS and JavaScript files\";'),('en','messages:right-editusercss','s:27:\"Edit other users\' CSS files\";'),('en','messages:right-edituserjs','s:34:\"Edit other users\' JavaScript files\";'),('en','messages:right-rollback','s:72:\"Quickly rollback the edits of the last user who edited a particular page\";'),('en','messages:right-markbotedits','s:35:\"Mark rolled-back edits as bot edits\";'),('en','messages:right-noratelimit','s:30:\"Not be affected by rate limits\";'),('en','messages:right-import','s:29:\"Import pages from other wikis\";'),('en','messages:right-importupload','s:31:\"Import pages from a file upload\";'),('en','messages:right-patrol','s:31:\"Mark others\' edits as patrolled\";'),('en','messages:right-autopatrol','s:54:\"Have one\'s own edits automatically marked as patrolled\";'),('en','messages:right-patrolmarks','s:32:\"View recent changes patrol marks\";'),('en','messages:right-unwatchedpages','s:30:\"View a list of unwatched pages\";'),('en','messages:right-trackback','s:18:\"Submit a trackback\";'),('en','messages:right-mergehistory','s:26:\"Merge the history of pages\";'),('en','messages:right-userrights','s:20:\"Edit all user rights\";'),('en','messages:right-userrights-interwiki','s:40:\"Edit user rights of users on other wikis\";'),('en','messages:right-siteadmin','s:28:\"Lock and unlock the database\";'),('en','messages:right-override-export-depth','s:54:\"Export pages including linked pages up to a depth of 5\";'),('en','messages:right-sendemail','s:26:\"Send e-mail to other users\";'),('en','messages:rightslog','s:15:\"User rights log\";'),('en','messages:rightslogtext','s:40:\"This is a log of changes to user rights.\";'),('en','messages:rightslogentry','s:45:\"changed group membership for $1 from $2 to $3\";'),('en','messages:rightslogentry-autopromote','s:40:\"was automatically promoted from $2 to $3\";'),('en','messages:rightsnone','s:6:\"(none)\";'),('en','messages:action-read','s:14:\"read this page\";'),('en','messages:action-edit','s:14:\"edit this page\";'),('en','messages:action-createpage','s:12:\"create pages\";'),('en','messages:action-createtalk','s:23:\"create discussion pages\";'),('en','messages:action-createaccount','s:24:\"create this user account\";'),('en','messages:action-minoredit','s:23:\"mark this edit as minor\";'),('en','messages:action-move','s:14:\"move this page\";'),('en','messages:action-move-subpages','s:32:\"move this page, and its subpages\";'),('en','messages:action-move-rootuserpages','s:20:\"move root user pages\";'),('en','messages:action-movefile','s:14:\"move this file\";'),('en','messages:action-upload','s:16:\"upload this file\";'),('en','messages:action-reupload','s:28:\"overwrite this existing file\";'),('en','messages:action-reupload-shared','s:41:\"override this file on a shared repository\";'),('en','messages:action-upload_by_url','s:27:\"upload this file from a URL\";'),('en','messages:action-writeapi','s:17:\"use the write API\";'),('en','messages:action-delete','s:16:\"delete this page\";'),('en','messages:action-deleterevision','s:20:\"delete this revision\";'),('en','messages:action-deletedhistory','s:32:\"view this page\'s deleted history\";'),('en','messages:action-browsearchive','s:20:\"search deleted pages\";'),('en','messages:action-undelete','s:18:\"undelete this page\";'),('en','messages:action-suppressrevision','s:39:\"review and restore this hidden revision\";'),('en','messages:action-suppressionlog','s:21:\"view this private log\";'),('en','messages:action-block','s:28:\"block this user from editing\";'),('en','messages:action-protect','s:38:\"change protection levels for this page\";'),('en','messages:action-import','s:34:\"import this page from another wiki\";'),('en','messages:action-importupload','s:35:\"import this page from a file upload\";'),('en','messages:action-patrol','s:30:\"mark others\' edit as patrolled\";'),('en','messages:action-autopatrol','s:34:\"have your edit marked as patrolled\";'),('en','messages:action-unwatchedpages','s:32:\"view the list of unwatched pages\";'),('en','messages:action-trackback','s:18:\"submit a trackback\";'),('en','messages:action-mergehistory','s:30:\"merge the history of this page\";'),('en','messages:action-userrights','s:20:\"edit all user rights\";'),('en','messages:action-userrights-interwiki','s:40:\"edit user rights of users on other wikis\";'),('en','messages:action-siteadmin','s:27:\"lock or unlock the database\";'),('en','messages:nchanges','s:31:\"$1 {{PLURAL:$1|change|changes}}\";'),('en','messages:recentchanges','s:14:\"Recent changes\";'),('en','messages:recentchanges-url','s:21:\"Special:RecentChanges\";'),('en','messages:recentchanges-legend','s:22:\"Recent changes options\";'),('en','messages:recentchangestext','s:55:\"Track the most recent changes to the wiki on this page.\";'),('en','messages:recentchanges-feed-description','s:55:\"Track the most recent changes to the wiki in this feed.\";'),('en','messages:recentchanges-label-newpage','s:28:\"This edit created a new page\";'),('en','messages:recentchanges-label-minor','s:20:\"This is a minor edit\";'),('en','messages:recentchanges-label-bot','s:32:\"This edit was performed by a bot\";'),('en','messages:recentchanges-label-unpatrolled','s:36:\"This edit has not yet been patrolled\";'),('en','messages:rcnote','s:126:\"Below {{PLURAL:$1|is \'\'\'1\'\'\' change|are the last \'\'\'$1\'\'\' changes}} in the last {{PLURAL:$2|day|\'\'\'$2\'\'\' days}}, as of $5, $4.\";'),('en','messages:rcnotefrom','s:60:\"Below are the changes since \'\'\'$2\'\'\' (up to \'\'\'$1\'\'\' shown).\";'),('en','messages:rclistfrom','s:33:\"Show new changes starting from $1\";'),('en','messages:rcshowhideminor','s:14:\"$1 minor edits\";'),('en','messages:rcshowhidebots','s:7:\"$1 bots\";'),('en','messages:rcshowhideliu','s:18:\"$1 logged-in users\";'),('en','messages:rcshowhideanons','s:18:\"$1 anonymous users\";'),('en','messages:rcshowhidepatr','s:18:\"$1 patrolled edits\";'),('en','messages:rcshowhidemine','s:11:\"$1 my edits\";'),('en','messages:rclinks','s:44:\"Show last $1 changes in last $2 days<br />$3\";'),('en','messages:diff','s:4:\"diff\";'),('en','messages:hist','s:4:\"hist\";'),('en','messages:hide','s:4:\"Hide\";'),('en','messages:show','s:4:\"Show\";'),('en','messages:minoreditletter','s:1:\"m\";'),('en','messages:newpageletter','s:1:\"N\";'),('en','messages:boteditletter','s:1:\"b\";'),('en','messages:unpatrolledletter','s:1:\"!\";'),('en','messages:sectionlink','s:3:\"→\";'),('en','messages:number_of_watching_users_RCview','s:4:\"[$1]\";'),('en','messages:number_of_watching_users_pageview','s:38:\"[$1 watching {{PLURAL:$1|user|users}}]\";'),('en','messages:rc_categories','s:39:\"Limit to categories (separate with \"|\")\";'),('en','messages:rc_categories_any','s:3:\"Any\";'),('en','messages:rc-change-size','s:2:\"$1\";'),('en','messages:newsectionsummary','s:20:\"/* $1 */ new section\";'),('en','messages:rc-enhanced-expand','s:34:\"Show details (requires JavaScript)\";'),('en','messages:rc-enhanced-hide','s:12:\"Hide details\";'),('en','messages:recentchangeslinked','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-feed','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-toolbox','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-title','s:23:\"Changes related to \"$1\"\";'),('en','messages:recentchangeslinked-backlink','s:6:\"← $1\";'),('en','messages:recentchangeslinked-noresult','s:51:\"No changes on linked pages during the given period.\";'),('en','messages:recentchangeslinked-summary','s:180:\"This is a list of changes made recently to pages linked from a specified page (or to members of a specified category).\nPages on [[Special:Watchlist|your watchlist]] are \'\'\'bold\'\'\'.\";'),('en','messages:recentchangeslinked-page','s:10:\"Page name:\";'),('en','messages:recentchangeslinked-to','s:54:\"Show changes to pages linked to the given page instead\";'),('en','messages:upload','s:11:\"Upload file\";'),('en','messages:uploadbtn','s:11:\"Upload file\";'),('en','messages:reuploaddesc','s:43:\"Cancel upload and return to the upload form\";'),('en','messages:upload-tryagain','s:32:\"Submit modified file description\";'),('en','messages:uploadnologin','s:13:\"Not logged in\";'),('en','messages:uploadnologintext','s:60:\"You must be [[Special:UserLogin|logged in]] to upload files.\";'),('en','messages:upload_directory_missing','s:79:\"The upload directory ($1) is missing and could not be created by the webserver.\";'),('en','messages:upload_directory_read_only','s:59:\"The upload directory ($1) is not writable by the webserver.\";'),('en','messages:uploaderror','s:12:\"Upload error\";'),('en','messages:upload-summary','s:0:\"\";'),('en','messages:upload-recreate-warning','s:137:\"\'\'\'Warning: A file by that name has been deleted or moved.\'\'\'\n\nThe deletion and move log for this page are provided here for convenience:\";'),('en','messages:uploadtext','s:775:\"Use the form below to upload files.\nTo view or search previously uploaded files go to the [[Special:FileList|list of uploaded files]], (re)uploads are also logged in the [[Special:Log/upload|upload log]], deletions in the [[Special:Log/delete|deletion log]].\n\nTo include a file in a page, use a link in one of the following forms:\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></tt>\'\'\' to use the full version of the file\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt text]]</nowiki></tt>\'\'\' to use a 200 pixel wide rendition in a box in the left margin with \'alt text\' as description\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></tt>\'\'\' for directly linking to the file without displaying the file\";'),('en','messages:upload-permitted','s:25:\"Permitted file types: $1.\";'),('en','messages:upload-preferred','s:25:\"Preferred file types: $1.\";'),('en','messages:upload-prohibited','s:26:\"Prohibited file types: $1.\";'),('en','messages:uploadfooter','s:1:\"-\";'),('en','messages:uploadlog','s:10:\"upload log\";'),('en','messages:uploadlogpage','s:10:\"Upload log\";'),('en','messages:uploadlogpagetext','s:126:\"Below is a list of the most recent file uploads.\nSee the [[Special:NewFiles|gallery of new files]] for a more visual overview.\";'),('en','messages:filename','s:8:\"Filename\";'),('en','messages:filedesc','s:7:\"Summary\";'),('en','messages:fileuploadsummary','s:8:\"Summary:\";'),('en','messages:filereuploadsummary','s:13:\"File changes:\";'),('en','messages:filestatus','s:17:\"Copyright status:\";'),('en','messages:filesource','s:7:\"Source:\";'),('en','messages:uploadedfiles','s:14:\"Uploaded files\";'),('en','messages:ignorewarning','s:35:\"Ignore warning and save file anyway\";'),('en','messages:ignorewarnings','s:19:\"Ignore any warnings\";'),('en','messages:minlength1','s:39:\"File names must be at least one letter.\";'),('en','messages:illegalfilename','s:125:\"The filename \"$1\" contains characters that are not allowed in page titles.\nPlease rename the file and try uploading it again.\";'),('en','messages:badfilename','s:35:\"File name has been changed to \"$1\".\";'),('en','messages:filetype-mime-mismatch','s:76:\"File extension \".$1\" does not match the detected MIME type of the file ($2).\";'),('en','messages:filetype-badmime','s:59:\"Files of the MIME type \"$1\" are not allowed to be uploaded.\";'),('en','messages:filetype-bad-ie-mime','s:133:\"Cannot upload this file because Internet Explorer would detect it as \"$1\", which is a disallowed and potentially dangerous file type.\";'),('en','messages:filetype-unwanted-type','s:93:\"\'\'\'\".$1\"\'\'\' is an unwanted file type.\nPreferred {{PLURAL:$3|file type is|file types are}} $2.\";'),('en','messages:filetype-banned-type','s:140:\"\'\'\'\".$1\"\'\'\' {{PLURAL:$4|is not a permitted file type|are not permitted file types}}.\nPermitted {{PLURAL:$3|file type is|file types are}} $2.\";'),('en','messages:filetype-missing','s:40:\"The file has no extension (like \".jpg\").\";'),('en','messages:empty-file','s:33:\"The file you submitted was empty.\";'),('en','messages:file-too-large','s:37:\"The file you submitted was too large.\";'),('en','messages:filename-tooshort','s:26:\"The filename is too short.\";'),('en','messages:filetype-banned','s:28:\"This type of file is banned.\";'),('en','messages:verification-error','s:41:\"This file did not pass file verification.\";'),('en','messages:hookaborted','s:68:\"The modification you tried to make was aborted by an extension hook.\";'),('en','messages:illegal-filename','s:28:\"The filename is not allowed.\";'),('en','messages:overwrite','s:44:\"Overwriting an existing file is not allowed.\";'),('en','messages:unknown-error','s:25:\"An unknown error occured.\";'),('en','messages:tmp-create-error','s:32:\"Could not create temporary file.\";'),('en','messages:tmp-write-error','s:29:\"Error writing temporary file.\";'),('en','messages:large-file','s:68:\"It is recommended that files are no larger than $1;\nthis file is $2.\";'),('en','messages:largefileserver','s:59:\"This file is bigger than the server is configured to allow.\";'),('en','messages:emptyfile','s:144:\"The file you uploaded seems to be empty.\nThis might be due to a typo in the file name.\nPlease check whether you really want to upload this file.\";'),('en','messages:windows-nonascii-filename','s:61:\"This wiki does not support filenames with special characters.\";'),('en','messages:fileexists','s:132:\"A file with this name exists already, please check \'\'\'<tt>[[:$1]]</tt>\'\'\' if you are not sure if you want to change it.\n[[$1|thumb]]\";'),('en','messages:filepageexists','s:277:\"The description page for this file has already been created at \'\'\'<tt>[[:$1]]</tt>\'\'\', but no file with this name currently exists.\nThe summary you enter will not appear on the description page.\nTo make your summary appear there, you will need to manually edit it.\n[[$1|thumb]]\";'),('en','messages:fileexists-extension','s:184:\"A file with a similar name exists: [[$2|thumb]]\n* Name of the uploading file: \'\'\'<tt>[[:$1]]</tt>\'\'\'\n* Name of the existing file: \'\'\'<tt>[[:$2]]</tt>\'\'\'\nPlease choose a different name.\";'),('en','messages:fileexists-thumbnail-yes','s:226:\"The file seems to be an image of reduced size \'\'(thumbnail)\'\'.\n[[$1|thumb]]\nPlease check the file \'\'\'<tt>[[:$1]]</tt>\'\'\'.\nIf the checked file is the same image of original size it is not necessary to upload an extra thumbnail.\";'),('en','messages:file-thumbnail-no','s:198:\"The filename begins with \'\'\'<tt>$1</tt>\'\'\'.\nIt seems to be an image of reduced size \'\'(thumbnail)\'\'.\nIf you have this image in full resolution upload this one, otherwise change the file name please.\";'),('en','messages:fileexists-forbidden','s:166:\"A file with this name already exists, and cannot be overwritten.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]\";'),('en','messages:fileexists-shared-forbidden','s:169:\"A file with this name exists already in the shared file repository.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]\";'),('en','messages:file-exists-duplicate','s:67:\"This file is a duplicate of the following {{PLURAL:$1|file|files}}:\";'),('en','messages:file-deleted-duplicate','s:149:\"A file identical to this file ([[:$1]]) has previously been deleted.\nYou should check that file\'s deletion history before proceeding to re-upload it.\";'),('en','messages:uploadwarning','s:14:\"Upload warning\";'),('en','messages:uploadwarning-text','s:55:\"Please modify the file description below and try again.\";'),('en','messages:savefile','s:9:\"Save file\";'),('en','messages:uploadedimage','s:17:\"uploaded \"[[$1]]\"\";'),('en','messages:overwroteimage','s:34:\"uploaded a new version of \"[[$1]]\"\";'),('en','messages:uploaddisabled','s:17:\"Uploads disabled.\";'),('en','messages:copyuploaddisabled','s:23:\"Upload by URL disabled.\";'),('en','messages:uploadfromurl-queued','s:28:\"Your upload has been queued.\";'),('en','messages:uploaddisabledtext','s:26:\"File uploads are disabled.\";'),('en','messages:php-uploaddisabledtext','s:72:\"File uploads are disabled in PHP.\nPlease check the file_uploads setting.\";'),('en','messages:uploadscripted','s:92:\"This file contains HTML or script code that may be erroneously interpreted by a web browser.\";'),('en','messages:uploadvirus','s:38:\"The file contains a virus!\nDetails: $1\";'),('en','messages:uploadjava','s:155:\"The file is a ZIP file which contains a Java .class file.\nUploading Java files is not allowed, because they can cause security restrictions to be bypassed.\";'),('en','messages:upload-source','s:11:\"Source file\";'),('en','messages:sourcefilename','s:16:\"Source filename:\";'),('en','messages:sourceurl','s:11:\"Source URL:\";'),('en','messages:destfilename','s:21:\"Destination filename:\";'),('en','messages:upload-maxfilesize','s:21:\"Maximum file size: $1\";'),('en','messages:upload-description','s:16:\"File description\";'),('en','messages:upload-options','s:14:\"Upload options\";'),('en','messages:watchthisupload','s:15:\"Watch this file\";'),('en','messages:filewasdeleted','s:136:\"A file of this name has been previously uploaded and subsequently deleted.\nYou should check the $1 before proceeding to upload it again.\";'),('en','messages:filename-bad-prefix','s:200:\"The name of the file you are uploading begins with \'\'\'\"$1\"\'\'\', which is a non-descriptive name typically assigned automatically by digital cameras.\nPlease choose a more descriptive name for your file.\";'),('en','messages:filename-prefix-blacklist','s:432:\" #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical file names assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->\";'),('en','messages:upload-success-subj','s:17:\"Successful upload\";'),('en','messages:upload-success-msg','s:79:\"Your upload from [$2] was successful. It is available here: [[:{{ns:file}}:$1]]\";'),('en','messages:upload-failure-subj','s:14:\"Upload problem\";'),('en','messages:upload-failure-msg','s:51:\"There was a problem with your upload from [$2]:\n\n$1\";'),('en','messages:upload-warning-subj','s:14:\"Upload warning\";'),('en','messages:upload-warning-msg','s:134:\"There was a problem with your upload from [$2]. You may return to the [[Special:Upload/stash/$1|upload form]] to correct this problem.\";'),('en','messages:upload-proto-error','s:18:\"Incorrect protocol\";'),('en','messages:upload-proto-error-text','s:87:\"Remote upload requires URLs beginning with <code>http://</code> or <code>ftp://</code>.\";'),('en','messages:upload-file-error','s:14:\"Internal error\";'),('en','messages:upload-file-error-text','s:145:\"An internal error occurred when attempting to create a temporary file on the server.\nPlease contact an [[Special:ListUsers/sysop|administrator]].\";'),('en','messages:upload-misc-error','s:20:\"Unknown upload error\";'),('en','messages:upload-misc-error-text','s:189:\"An unknown error occurred during the upload.\nPlease verify that the URL is valid and accessible and try again.\nIf the problem persists, contact an [[Special:ListUsers/sysop|administrator]].\";'),('en','messages:upload-too-many-redirects','s:36:\"The URL contained too many redirects\";'),('en','messages:upload-unknown-size','s:12:\"Unknown size\";'),('en','messages:upload-http-error','s:25:\"An HTTP error occured: $1\";'),('en','messages:zip-file-open-error','s:62:\"An error was encountered when opening the file for ZIP checks.\";'),('en','messages:zip-wrong-format','s:38:\"The specified file was not a ZIP file.\";'),('en','messages:zip-bad','s:99:\"The file is a corrupt or otherwise unreadable ZIP file.\nIt cannot be properly checked for security.\";'),('en','messages:zip-unsupported','s:118:\"The file is a ZIP file which uses ZIP features not supported by MediaWiki.\nIt cannot be properly checked for security.\";'),('en','messages:uploadstash','s:12:\"Upload stash\";'),('en','messages:uploadstash-summary','s:195:\"This page provides access to files which are uploaded (or in the process of uploading) but are not yet published to the wiki. These files are not visible to anyone but the user who uploaded them.\";'),('en','messages:uploadstash-clear','s:19:\"Clear stashed files\";'),('en','messages:uploadstash-nofiles','s:26:\"You have no stashed files.\";'),('en','messages:uploadstash-badtoken','s:104:\"Performing of that action was unsuccessful, perhaps because your editing credentials expired. Try again.\";'),('en','messages:uploadstash-errclear','s:36:\"Clearing the files was unsuccessful.\";'),('en','messages:uploadstash-refresh','s:25:\"Refresh the list of files\";'),('en','messages:img-auth-accessdenied','s:13:\"Access denied\";'),('en','messages:img-auth-nopathinfo','s:198:\"Missing PATH_INFO.\nYour server is not set up to pass this information.\nIt may be CGI-based and cannot support img_auth.\n[//www.mediawiki.org/wiki/Manual:Image_Authorization See image authorization.]\";'),('en','messages:img-auth-notindir','s:57:\"Requested path is not in the configured upload directory.\";'),('en','messages:img-auth-badtitle','s:44:\"Unable to construct a valid title from \"$1\".\";'),('en','messages:img-auth-nologinnWL','s:55:\"You are not logged in and \"$1\" is not in the whitelist.\";'),('en','messages:img-auth-nofile','s:25:\"File \"$1\" does not exist.\";'),('en','messages:img-auth-isdir','s:71:\"You are trying to access a directory \"$1\".\nOnly file access is allowed.\";'),('en','messages:img-auth-streaming','s:15:\"Streaming \"$1\".\";'),('en','messages:img-auth-public','s:158:\"The function of img_auth.php is to output files from a private wiki.\nThis wiki is configured as a public wiki.\nFor optimal security, img_auth.php is disabled.\";'),('en','messages:img-auth-noread','s:39:\"User does not have access to read \"$1\".\";'),('en','messages:img-auth-bad-query-string','s:36:\"The URL has an invalid query string.\";'),('en','messages:http-invalid-url','s:15:\"Invalid URL: $1\";'),('en','messages:http-invalid-scheme','s:44:\"URLs with the \"$1\" scheme are not supported.\";'),('en','messages:http-request-error','s:41:\"HTTP request failed due to unknown error.\";'),('en','messages:http-read-error','s:16:\"HTTP read error.\";'),('en','messages:http-timed-out','s:23:\"HTTP request timed out.\";'),('en','messages:http-curl-error','s:22:\"Error fetching URL: $1\";'),('en','messages:http-host-unreachable','s:20:\"Could not reach URL.\";'),('en','messages:http-bad-status','s:50:\"There was a problem during the HTTP request: $1 $2\";'),('en','messages:upload-curl-error6','s:19:\"Could not reach URL\";'),('en','messages:upload-curl-error6-text','s:102:\"The URL provided could not be reached.\nPlease double-check that the URL is correct and the site is up.\";'),('en','messages:upload-curl-error28','s:14:\"Upload timeout\";'),('en','messages:upload-curl-error28-text','s:138:\"The site took too long to respond.\nPlease check the site is up, wait a short while and try again.\nYou may want to try at a less busy time.\";'),('en','messages:license','s:10:\"Licensing:\";'),('en','messages:license-header','s:9:\"Licensing\";'),('en','messages:nolicense','s:13:\"None selected\";'),('en','messages:licenses','s:1:\"-\";'),('en','messages:license-nopreview','s:23:\"(Preview not available)\";'),('en','messages:upload_source_url','s:35:\" (a valid, publicly accessible URL)\";'),('en','messages:upload_source_file','s:26:\" (a file on your computer)\";'),('en','messages:listfiles-summary','s:149:\"This special page shows all uploaded files.\nWhen filtered by user, only files where that user uploaded the most recent version of the file are shown.\";'),('en','messages:listfiles_search_for','s:22:\"Search for media name:\";'),('en','messages:imgfile','s:4:\"file\";'),('en','messages:listfiles','s:9:\"File list\";'),('en','messages:listfiles_thumb','s:9:\"Thumbnail\";'),('en','messages:listfiles_date','s:4:\"Date\";'),('en','messages:listfiles_name','s:4:\"Name\";'),('en','messages:listfiles_user','s:4:\"User\";'),('en','messages:listfiles_size','s:4:\"Size\";'),('en','messages:listfiles_description','s:11:\"Description\";'),('en','messages:listfiles_count','s:8:\"Versions\";'),('en','messages:file-anchor-link','s:4:\"File\";'),('en','messages:filehist','s:12:\"File history\";'),('en','messages:filehist-help','s:66:\"Click on a date/time to view the file as it appeared at that time.\";'),('en','messages:filehist-deleteall','s:10:\"delete all\";'),('en','messages:filehist-deleteone','s:6:\"delete\";'),('en','messages:filehist-revert','s:6:\"revert\";'),('en','messages:filehist-current','s:7:\"current\";'),('en','messages:filehist-datetime','s:9:\"Date/Time\";'),('en','messages:filehist-thumb','s:9:\"Thumbnail\";'),('en','messages:filehist-thumbtext','s:30:\"Thumbnail for version as of $1\";'),('en','messages:filehist-nothumb','s:12:\"No thumbnail\";'),('en','messages:filehist-user','s:4:\"User\";'),('en','messages:filehist-dimensions','s:10:\"Dimensions\";'),('en','messages:filehist-filesize','s:9:\"File size\";'),('en','messages:filehist-comment','s:7:\"Comment\";'),('en','messages:filehist-missing','s:12:\"File missing\";'),('en','messages:imagelinks','s:10:\"File usage\";'),('en','messages:linkstoimage','s:66:\"The following {{PLURAL:$1|page links|$1 pages link}} to this file:\";'),('en','messages:linkstoimage-more','s:215:\"More than $1 {{PLURAL:$1|page links|pages link}} to this file.\nThe following list shows the {{PLURAL:$1|first page link|first $1 page links}} to this file only.\nA [[Special:WhatLinksHere/$2|full list]] is available.\";'),('en','messages:nolinkstoimage','s:42:\"There are no pages that link to this file.\";'),('en','messages:morelinkstoimage','s:58:\"View [[Special:WhatLinksHere/$1|more links]] to this file.\";'),('en','messages:linkstoimage-redirect','s:21:\"$1 (file redirect) $2\";'),('en','messages:duplicatesoffile','s:135:\"The following {{PLURAL:$1|file is a duplicate|$1 files are duplicates}} of this file ([[Special:FileDuplicateSearch/$2|more details]]):\";'),('en','messages:sharedupload','s:55:\"This file is from $1 and may be used by other projects.\";'),('en','messages:sharedupload-desc-there','s:122:\"This file is from $1 and may be used by other projects.\nPlease see the [$2 file description page] for further information.\";'),('en','messages:sharedupload-desc-here','s:127:\"This file is from $1 and may be used by other projects.\nThe description on its [$2 file description page] there is shown below.\";'),('en','messages:shareddescriptionfollows','s:1:\"-\";'),('en','messages:filepage-nofile','s:28:\"No file by this name exists.\";'),('en','messages:filepage-nofile-link','s:56:\"No file by this name exists, but you can [$1 upload it].\";'),('en','messages:uploadnewversion-linktext','s:33:\"Upload a new version of this file\";'),('en','messages:shared-repo-from','s:7:\"from $1\";'),('en','messages:shared-repo','s:19:\"a shared repository\";'),('en','messages:shared-repo-name-wikimediacommons','s:17:\"Wikimedia Commons\";'),('en','messages:filepage.css','s:101:\"/* CSS placed here is included on the file description page, also included on foreign client wikis */\";'),('en','messages:filerevert','s:9:\"Revert $1\";'),('en','messages:filerevert-backlink','s:6:\"← $1\";'),('en','messages:filerevert-legend','s:11:\"Revert file\";'),('en','messages:filerevert-intro','s:88:\"You are about to revert the file \'\'\'[[Media:$1|$1]]\'\'\' to the [$4 version as of $3, $2].\";'),('en','messages:filerevert-comment','s:7:\"Reason:\";'),('en','messages:filerevert-defaultcomment','s:32:\"Reverted to version as of $2, $1\";'),('en','messages:filerevert-submit','s:6:\"Revert\";'),('en','messages:filerevert-success','s:73:\"\'\'\'[[Media:$1|$1]]\'\'\' has been reverted to the [$4 version as of $3, $2].\";'),('en','messages:filerevert-badversion','s:76:\"There is no previous local version of this file with the provided timestamp.\";'),('en','messages:filedelete','s:9:\"Delete $1\";'),('en','messages:filedelete-backlink','s:6:\"← $1\";'),('en','messages:filedelete-legend','s:11:\"Delete file\";'),('en','messages:filedelete-intro','s:85:\"You are about to delete the file \'\'\'[[Media:$1|$1]]\'\'\' along with all of its history.\";'),('en','messages:filedelete-intro-old','s:72:\"You are deleting the version of \'\'\'[[Media:$1|$1]]\'\'\' as of [$4 $3, $2].\";'),('en','messages:filedelete-comment','s:7:\"Reason:\";'),('en','messages:filedelete-submit','s:6:\"Delete\";'),('en','messages:filedelete-success','s:26:\"\'\'\'$1\'\'\' has been deleted.\";'),('en','messages:filedelete-success-old','s:67:\"The version of \'\'\'[[Media:$1|$1]]\'\'\' as of $3, $2 has been deleted.\";'),('en','messages:filedelete-nofile','s:24:\"\'\'\'$1\'\'\' does not exist.\";'),('en','messages:filedelete-nofile-old','s:71:\"There is no archived version of \'\'\'$1\'\'\' with the specified attributes.\";'),('en','messages:filedelete-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:filedelete-reason-otherlist','s:12:\"Other reason\";'),('en','messages:filedelete-reason-dropdown','s:64:\"*Common delete reasons\n** Copyright violation\n** Duplicated file\";'),('en','messages:filedelete-edit-reasonlist','s:19:\"Edit delete reasons\";'),('en','messages:filedelete-maintenance','s:74:\"Deletion and restoration of files temporarily disabled during maintenance.\";'),('en','messages:mimesearch','s:11:\"MIME search\";'),('en','messages:mimesearch-summary','s:115:\"This page enables the filtering of files for their MIME type.\nInput: contenttype/subtype, e.g. <tt>image/jpeg</tt>.\";'),('en','messages:mimetype','s:10:\"MIME type:\";'),('en','messages:download','s:8:\"download\";'),('en','messages:unwatchedpages','s:15:\"Unwatched pages\";'),('en','messages:unwatchedpages-summary','s:0:\"\";'),('en','messages:listredirects','s:17:\"List of redirects\";'),('en','messages:listredirects-summary','s:0:\"\";'),('en','messages:unusedtemplates','s:16:\"Unused templates\";'),('en','messages:unusedtemplates-summary','s:0:\"\";'),('en','messages:unusedtemplatestext','s:171:\"This page lists all pages in the {{ns:template}} namespace which are not included in another page.\nRemember to check for other links to the templates before deleting them.\";'),('en','messages:unusedtemplateswlh','s:11:\"other links\";'),('en','messages:randompage','s:11:\"Random page\";'),('en','messages:randompage-nopages','s:75:\"There are no pages in the following {{PLURAL:$2|namespace|namespaces}}: $1.\";'),('en','messages:randompage-url','s:14:\"Special:Random\";'),('en','messages:randomredirect','s:15:\"Random redirect\";'),('en','messages:randomredirect-nopages','s:45:\"There are no redirects in the namespace \"$1\".\";'),('en','messages:statistics','s:10:\"Statistics\";'),('en','messages:statistics-summary','s:0:\"\";'),('en','messages:statistics-header-pages','s:15:\"Page statistics\";'),('en','messages:statistics-header-edits','s:15:\"Edit statistics\";'),('en','messages:statistics-header-views','s:15:\"View statistics\";'),('en','messages:statistics-header-users','s:15:\"User statistics\";'),('en','messages:statistics-header-hooks','s:16:\"Other statistics\";'),('en','messages:statistics-articles','s:13:\"Content pages\";'),('en','messages:statistics-pages','s:5:\"Pages\";'),('en','messages:statistics-pages-desc','s:60:\"All pages in the wiki, including talk pages, redirects, etc.\";'),('en','messages:statistics-files','s:14:\"Uploaded files\";'),('en','messages:statistics-edits','s:40:\"Page edits since {{SITENAME}} was set up\";'),('en','messages:statistics-edits-average','s:22:\"Average edits per page\";'),('en','messages:statistics-views-total','s:11:\"Views total\";'),('en','messages:statistics-views-total-desc','s:62:\"Views to non-existing pages and special pages are not included\";'),('en','messages:statistics-views-peredit','s:14:\"Views per edit\";'),('en','messages:statistics-users','s:38:\"Registered [[Special:ListUsers|users]]\";'),('en','messages:statistics-users-active','s:12:\"Active users\";'),('en','messages:statistics-users-active-desc','s:72:\"Users who have performed an action in the last {{PLURAL:$1|day|$1 days}}\";'),('en','messages:statistics-mostpopular','s:17:\"Most viewed pages\";'),('en','messages:statistics-footer','s:0:\"\";'),('en','messages:disambiguations','s:37:\"Pages linking to disambiguation pages\";'),('en','messages:disambiguations-summary','s:0:\"\";'),('en','messages:disambiguationspage','s:17:\"Template:disambig\";'),('en','messages:disambiguations-text','s:231:\"The following pages link to a \'\'\'disambiguation page\'\'\'.\nThey should link to the appropriate topic instead.<br />\nA page is treated as disambiguation page if it uses a template which is linked from [[MediaWiki:Disambiguationspage]]\";'),('en','messages:doubleredirects','s:16:\"Double redirects\";'),('en','messages:doubleredirects-summary','s:0:\"\";'),('en','messages:doubleredirectstext','s:297:\"This page lists pages which redirect to other redirect pages.\nEach row contains links to the first and second redirect, as well as the target of the second redirect, which is usually the \"real\" target page, which the first redirect should point to.\n<del>Crossed out</del> entries have been solved.\";'),('en','messages:double-redirect-fixed-move','s:50:\"[[$1]] has been moved.\nIt now redirects to [[$2]].\";'),('en','messages:double-redirect-fixed-maintenance','s:45:\"Fixing double redirect from [[$1]] to [[$2]].\";'),('en','messages:double-redirect-fixer','s:14:\"Redirect fixer\";'),('en','messages:brokenredirects','s:16:\"Broken redirects\";'),('en','messages:brokenredirects-summary','s:0:\"\";'),('en','messages:brokenredirectstext','s:51:\"The following redirects link to non-existent pages:\";'),('en','messages:brokenredirects-edit','s:4:\"edit\";'),('en','messages:brokenredirects-delete','s:6:\"delete\";'),('en','messages:withoutinterwiki','s:28:\"Pages without language links\";'),('en','messages:withoutinterwiki-summary','s:59:\"The following pages do not link to other language versions.\";'),('en','messages:withoutinterwiki-legend','s:6:\"Prefix\";'),('en','messages:withoutinterwiki-submit','s:4:\"Show\";'),('en','messages:fewestrevisions','s:31:\"Pages with the fewest revisions\";'),('en','messages:fewestrevisions-summary','s:0:\"\";'),('en','messages:nbytes','s:27:\"$1 {{PLURAL:$1|byte|bytes}}\";'),('en','messages:ncategories','s:36:\"$1 {{PLURAL:$1|category|categories}}\";'),('en','messages:nlinks','s:27:\"$1 {{PLURAL:$1|link|links}}\";'),('en','messages:nmembers','s:31:\"$1 {{PLURAL:$1|member|members}}\";'),('en','messages:nrevisions','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:nviews','s:27:\"$1 {{PLURAL:$1|view|views}}\";'),('en','messages:nimagelinks','s:35:\"Used on $1 {{PLURAL:$1|page|pages}}\";'),('en','messages:ntransclusions','s:35:\"used on $1 {{PLURAL:$1|page|pages}}\";'),('en','messages:specialpage-empty','s:37:\"There are no results for this report.\";'),('en','messages:lonelypages','s:14:\"Orphaned pages\";'),('en','messages:lonelypages-summary','s:0:\"\";'),('en','messages:lonelypagestext','s:88:\"The following pages are not linked from or transcluded into other pages in {{SITENAME}}.\";'),('en','messages:uncategorizedpages','s:19:\"Uncategorized pages\";'),('en','messages:uncategorizedpages-summary','s:0:\"\";'),('en','messages:uncategorizedcategories','s:24:\"Uncategorized categories\";'),('en','messages:uncategorizedcategories-summary','s:0:\"\";'),('en','messages:uncategorizedimages','s:19:\"Uncategorized files\";'),('en','messages:uncategorizedimages-summary','s:0:\"\";'),('en','messages:uncategorizedtemplates','s:23:\"Uncategorized templates\";'),('en','messages:uncategorizedtemplates-summary','s:0:\"\";'),('en','messages:unusedcategories','s:17:\"Unused categories\";'),('en','messages:unusedimages','s:12:\"Unused files\";'),('en','messages:popularpages','s:13:\"Popular pages\";'),('en','messages:popularpages-summary','s:0:\"\";'),('en','messages:wantedcategories','s:17:\"Wanted categories\";'),('en','messages:wantedcategories-summary','s:0:\"\";'),('en','messages:wantedpages','s:12:\"Wanted pages\";'),('en','messages:wantedpages-summary','s:0:\"\";'),('en','messages:wantedpages-badtitle','s:31:\"Invalid title in result set: $1\";'),('en','messages:wantedfiles','s:12:\"Wanted files\";'),('en','messages:wantedfiles-summary','s:0:\"\";'),('en','messages:wantedtemplates','s:16:\"Wanted templates\";'),('en','messages:wantedtemplates-summary','s:0:\"\";'),('en','messages:mostlinked','s:20:\"Most linked-to pages\";'),('en','messages:mostlinked-summary','s:0:\"\";'),('en','messages:mostlinkedcategories','s:25:\"Most linked-to categories\";'),('en','messages:mostlinkedcategories-summary','s:0:\"\";'),('en','messages:mostlinkedtemplates','s:24:\"Most linked-to templates\";'),('en','messages:mostlinkedtemplates-summary','s:0:\"\";'),('en','messages:mostcategories','s:30:\"Pages with the most categories\";'),('en','messages:mostcategories-summary','s:0:\"\";'),('en','messages:mostimages','s:20:\"Most linked-to files\";'),('en','messages:mostimages-summary','s:0:\"\";'),('en','messages:mostrevisions','s:29:\"Pages with the most revisions\";'),('en','messages:mostrevisions-summary','s:0:\"\";'),('en','messages:prefixindex','s:21:\"All pages with prefix\";'),('en','messages:prefixindex-summary','s:0:\"\";'),('en','messages:shortpages','s:11:\"Short pages\";'),('en','messages:shortpages-summary','s:0:\"\";'),('en','messages:longpages','s:10:\"Long pages\";'),('en','messages:longpages-summary','s:0:\"\";'),('en','messages:deadendpages','s:14:\"Dead-end pages\";'),('en','messages:deadendpages-summary','s:0:\"\";'),('en','messages:deadendpagestext','s:63:\"The following pages do not link to other pages in {{SITENAME}}.\";'),('en','messages:protectedpages','s:15:\"Protected pages\";'),('en','messages:protectedpages-indef','s:27:\"Indefinite protections only\";'),('en','messages:protectedpages-summary','s:0:\"\";'),('en','messages:protectedpages-cascade','s:26:\"Cascading protections only\";'),('en','messages:protectedpagestext','s:56:\"The following pages are protected from moving or editing\";'),('en','messages:protectedpagesempty','s:55:\"No pages are currently protected with these parameters.\";'),('en','messages:protectedtitles','s:16:\"Protected titles\";'),('en','messages:protectedtitles-summary','s:0:\"\";'),('en','messages:protectedtitlestext','s:48:\"The following titles are protected from creation\";'),('en','messages:protectedtitlesempty','s:56:\"No titles are currently protected with these parameters.\";'),('en','messages:listusers','s:9:\"User list\";'),('en','messages:listusers-summary','s:0:\"\";'),('en','messages:listusers-editsonly','s:26:\"Show only users with edits\";'),('en','messages:listusers-creationsort','s:21:\"Sort by creation date\";'),('en','messages:usereditcount','s:27:\"$1 {{PLURAL:$1|edit|edits}}\";'),('en','messages:usercreated','s:19:\"Created on $1 at $2\";'),('en','messages:newpages','s:9:\"New pages\";'),('en','messages:newpages-summary','s:0:\"\";'),('en','messages:newpages-username','s:9:\"Username:\";'),('en','messages:ancientpages','s:12:\"Oldest pages\";'),('en','messages:ancientpages-summary','s:0:\"\";'),('en','messages:move','s:4:\"Move\";'),('en','messages:movethispage','s:14:\"Move this page\";'),('en','messages:unusedimagestext','s:191:\"The following files exist but are not embedded in any page.\nPlease note that other web sites may link to a file with a direct URL, and so may still be listed here despite being in active use.\";'),('en','messages:unusedcategoriestext','s:89:\"The following category pages exist, although no other page or category makes use of them.\";'),('en','messages:notargettitle','s:9:\"No target\";'),('en','messages:notargettext','s:73:\"You have not specified a target page or user to perform this function on.\";'),('en','messages:nopagetitle','s:19:\"No such target page\";'),('en','messages:nopagetext','s:50:\"The target page you have specified does not exist.\";'),('en','messages:pager-newer-n','s:30:\"{{PLURAL:$1|newer 1|newer $1}}\";'),('en','messages:pager-older-n','s:30:\"{{PLURAL:$1|older 1|older $1}}\";'),('en','messages:suppress','s:9:\"Oversight\";'),('en','messages:querypage-disabled','s:54:\"This special page is disabled for performance reasons.\";'),('en','messages:booksources','s:12:\"Book sources\";'),('en','messages:booksources-summary','s:0:\"\";'),('en','messages:booksources-search-legend','s:23:\"Search for book sources\";'),('en','messages:booksources-isbn','s:5:\"ISBN:\";'),('en','messages:booksources-go','s:2:\"Go\";'),('en','messages:booksources-text','s:140:\"Below is a list of links to other sites that sell new and used books, and may also have further information about books you are looking for:\";'),('en','messages:booksources-invalid-isbn','s:94:\"The given ISBN does not appear to be valid; check for errors copying from the original source.\";'),('en','messages:rfcurl','s:27:\"//tools.ietf.org/html/rfc$1\";'),('en','messages:pubmedurl','s:46:\"//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract\";'),('en','messages:specialloguserlabel','s:5:\"User:\";'),('en','messages:speciallogtitlelabel','s:6:\"Title:\";'),('en','messages:log','s:4:\"Logs\";'),('en','messages:all-logs-page','s:15:\"All public logs\";'),('en','messages:alllogstext','s:184:\"Combined display of all available logs of {{SITENAME}}.\nYou can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).\";'),('en','messages:logempty','s:25:\"No matching items in log.\";'),('en','messages:log-title-wildcard','s:37:\"Search titles starting with this text\";'),('en','messages:allpages','s:9:\"All pages\";'),('en','messages:allpages-summary','s:0:\"\";'),('en','messages:alphaindexline','s:8:\"$1 to $2\";'),('en','messages:nextpage','s:14:\"Next page ($1)\";'),('en','messages:prevpage','s:18:\"Previous page ($1)\";'),('en','messages:allpagesfrom','s:26:\"Display pages starting at:\";'),('en','messages:allpagesto','s:24:\"Display pages ending at:\";'),('en','messages:allarticles','s:9:\"All pages\";'),('en','messages:allinnamespace','s:24:\"All pages ($1 namespace)\";'),('en','messages:allnotinnamespace','s:31:\"All pages (not in $1 namespace)\";'),('en','messages:allpagesprev','s:8:\"Previous\";'),('en','messages:allpagesnext','s:4:\"Next\";'),('en','messages:allpagessubmit','s:2:\"Go\";'),('en','messages:allpagesprefix','s:26:\"Display pages with prefix:\";'),('en','messages:allpagesbadtitle','s:149:\"The given page title was invalid or had an inter-language or inter-wiki prefix.\nIt may contain one or more characters which cannot be used in titles.\";'),('en','messages:allpages-bad-ns','s:42:\"{{SITENAME}} does not have namespace \"$1\".\";'),('en','messages:categories','s:10:\"Categories\";'),('en','messages:categories-summary','s:0:\"\";'),('en','messages:categoriespagetext','s:204:\"The following {{PLURAL:$1|category contains|categories contain}} pages or media.\n[[Special:UnusedCategories|Unused categories]] are not shown here.\nAlso see [[Special:WantedCategories|wanted categories]].\";'),('en','messages:categoriesfrom','s:31:\"Display categories starting at:\";'),('en','messages:special-categories-sort-count','s:13:\"sort by count\";'),('en','messages:special-categories-sort-abc','s:19:\"sort alphabetically\";'),('en','messages:deletedcontributions','s:26:\"Deleted user contributions\";'),('en','messages:deletedcontributions-title','s:26:\"Deleted user contributions\";'),('en','messages:sp-deletedcontributions-contribs','s:13:\"contributions\";'),('en','messages:linksearch','s:21:\"External links search\";'),('en','messages:linksearch-pat','s:15:\"Search pattern:\";'),('en','messages:linksearch-ns','s:10:\"Namespace:\";'),('en','messages:linksearch-ok','s:6:\"Search\";'),('en','messages:linksearch-text','s:87:\"Wildcards such as \"*.wikipedia.org\" may be used.<br />\nSupported protocols: <tt>$1</tt>\";'),('en','messages:linksearch-line','s:20:\"$1 is linked from $2\";'),('en','messages:linksearch-error','s:55:\"Wildcards may appear only at the start of the hostname.\";'),('en','messages:listusersfrom','s:26:\"Display users starting at:\";'),('en','messages:listusers-submit','s:4:\"Show\";'),('en','messages:listusers-noresult','s:14:\"No user found.\";'),('en','messages:listusers-blocked','s:9:\"(blocked)\";'),('en','messages:activeusers','s:17:\"Active users list\";'),('en','messages:activeusers-summary','s:0:\"\";'),('en','messages:activeusers-intro','s:96:\"This is a list of users who had some kind of activity within the last $1 {{PLURAL:$1|day|days}}.\";'),('en','messages:activeusers-count','s:65:\"$1 {{PLURAL:$1|edit|edits}} in the last {{PLURAL:$3|day|$3 days}}\";'),('en','messages:activeusers-from','s:26:\"Display users starting at:\";'),('en','messages:activeusers-hidebots','s:9:\"Hide bots\";'),('en','messages:activeusers-hidesysops','s:19:\"Hide administrators\";'),('en','messages:activeusers-noresult','s:15:\"No users found.\";'),('en','messages:newuserlogpage','s:17:\"User creation log\";'),('en','messages:newuserlogpagetext','s:32:\"This is a log of user creations.\";'),('en','messages:newuserlogentry','s:0:\"\";'),('en','messages:newuserlog-byemail','s:23:\"password sent by e-mail\";'),('en','messages:newuserlog-create-entry','s:16:\"New user account\";'),('en','messages:newuserlog-create2-entry','s:22:\"created new account $1\";'),('en','messages:newuserlog-autocreate-entry','s:29:\"Account created automatically\";'),('en','messages:listgrouprights','s:17:\"User group rights\";'),('en','messages:listgrouprights-summary','s:201:\"The following is a list of user groups defined on this wiki, with their associated access rights.\nThere may be [[{{MediaWiki:Listgrouprights-helppage}}|additional information]] about individual rights.\";'),('en','messages:listgrouprights-key','s:121:\"* <span class=\"listgrouprights-granted\">Granted right</span>\n* <span class=\"listgrouprights-revoked\">Revoked right</span>\";'),('en','messages:listgrouprights-group','s:5:\"Group\";'),('en','messages:listgrouprights-rights','s:6:\"Rights\";'),('en','messages:listgrouprights-helppage','s:17:\"Help:Group rights\";'),('en','messages:listgrouprights-members','s:17:\"(list of members)\";'),('en','messages:listgrouprights-right-display','s:61:\"<span class=\"listgrouprights-granted\">$1 <tt>($2)</tt></span>\";'),('en','messages:listgrouprights-right-revoked','s:61:\"<span class=\"listgrouprights-revoked\">$1 <tt>($2)</tt></span>\";'),('en','messages:listgrouprights-addgroup','s:34:\"Add {{PLURAL:$2|group|groups}}: $1\";'),('en','messages:listgrouprights-removegroup','s:37:\"Remove {{PLURAL:$2|group|groups}}: $1\";'),('en','messages:listgrouprights-addgroup-all','s:14:\"Add all groups\";'),('en','messages:listgrouprights-removegroup-all','s:17:\"Remove all groups\";'),('en','messages:listgrouprights-addgroup-self','s:49:\"Add {{PLURAL:$2|group|groups}} to own account: $1\";'),('en','messages:listgrouprights-removegroup-self','s:54:\"Remove {{PLURAL:$2|group|groups}} from own account: $1\";'),('en','messages:listgrouprights-addgroup-self-all','s:29:\"Add all groups to own account\";'),('en','messages:listgrouprights-removegroup-self-all','s:34:\"Remove all groups from own account\";'),('en','messages:mailnologin','s:15:\"No send address\";'),('en','messages:mailnologintext','s:150:\"You must be [[Special:UserLogin|logged in]] and have a valid e-mail address in your [[Special:Preferences|preferences]] to send e-mail to other users.\";'),('en','messages:emailuser','s:16:\"E-mail this user\";'),('en','messages:emailpage','s:11:\"E-mail user\";'),('en','messages:emailpagetext','s:251:\"You can use the form below to send an e-mail message to this user.\nThe e-mail address you entered in [[Special:Preferences|your user preferences]] will appear as the \"From\" address of the e-mail, so the recipient will be able to reply directly to you.\";'),('en','messages:usermailererror','s:27:\"Mail object returned error:\";'),('en','messages:defemailsubject','s:19:\"{{SITENAME}} e-mail\";'),('en','messages:usermaildisabled','s:20:\"User e-mail disabled\";'),('en','messages:usermaildisabledtext','s:50:\"You cannot send e-mail to other users on this wiki\";'),('en','messages:noemailtitle','s:17:\"No e-mail address\";'),('en','messages:noemailtext','s:51:\"This user has not specified a valid e-mail address.\";'),('en','messages:nowikiemailtitle','s:17:\"No e-mail allowed\";'),('en','messages:nowikiemailtext','s:60:\"This user has chosen not to receive e-mail from other users.\";'),('en','messages:emailnotarget','s:47:\"Non-existent or invalid username for recipient.\";'),('en','messages:emailtarget','s:27:\"Enter username of recipient\";'),('en','messages:emailusername','s:9:\"Username:\";'),('en','messages:emailusernamesubmit','s:6:\"Submit\";'),('en','messages:email-legend','s:43:\"Send an e-mail to another {{SITENAME}} user\";'),('en','messages:emailfrom','s:5:\"From:\";'),('en','messages:emailto','s:3:\"To:\";'),('en','messages:emailsubject','s:8:\"Subject:\";'),('en','messages:emailmessage','s:8:\"Message:\";'),('en','messages:emailsend','s:4:\"Send\";'),('en','messages:emailccme','s:31:\"E-mail me a copy of my message.\";'),('en','messages:emailccsubject','s:30:\"Copy of your message to $1: $2\";'),('en','messages:emailsent','s:11:\"E-mail sent\";'),('en','messages:emailsenttext','s:34:\"Your e-mail message has been sent.\";'),('en','messages:emailuserfooter','s:79:\"This e-mail was sent by $1 to $2 by the \"E-mail user\" function at {{SITENAME}}.\";'),('en','messages:usermessage-summary','s:23:\"Leaving system message.\";'),('en','messages:usermessage-editor','s:16:\"System messenger\";'),('en','messages:usermessage-template','s:21:\"MediaWiki:UserMessage\";'),('en','messages:watchlist','s:12:\"My watchlist\";'),('en','messages:mywatchlist','s:12:\"My watchlist\";'),('en','messages:watchlistfor2','s:9:\"For $1 $2\";'),('en','messages:nowatchlist','s:36:\"You have no items on your watchlist.\";'),('en','messages:watchlistanontext','s:50:\"Please $1 to view or edit items on your watchlist.\";'),('en','messages:watchnologin','s:13:\"Not logged in\";'),('en','messages:watchnologintext','s:69:\"You must be [[Special:UserLogin|logged in]] to modify your watchlist.\";'),('en','messages:addwatch','s:16:\"Add to watchlist\";'),('en','messages:addedwatchtext','s:278:\"The page \"[[:$1]]\" has been added to your [[Special:Watchlist|watchlist]].\nFuture changes to this page and its associated talk page will be listed there, and the page will appear \'\'\'bolded\'\'\' in the [[Special:RecentChanges|list of recent changes]] to make it easier to pick out.\";'),('en','messages:removewatch','s:21:\"Remove from watchlist\";'),('en','messages:removedwatchtext','s:78:\"The page \"[[:$1]]\" has been removed from [[Special:Watchlist|your watchlist]].\";'),('en','messages:watch','s:5:\"Watch\";'),('en','messages:watchthispage','s:15:\"Watch this page\";'),('en','messages:unwatch','s:7:\"Unwatch\";'),('en','messages:unwatchthispage','s:13:\"Stop watching\";'),('en','messages:notanarticle','s:18:\"Not a content page\";'),('en','messages:notvisiblerev','s:54:\"The last revision by a different user has been deleted\";'),('en','messages:watchnochange','s:68:\"None of your watched items were edited in the time period displayed.\";'),('en','messages:watchlist-details','s:74:\"{{PLURAL:$1|$1 page|$1 pages}} on your watchlist, not counting talk pages.\";'),('en','messages:wlheader-enotif','s:33:\"* E-mail notification is enabled.\";'),('en','messages:wlheader-showupdated','s:83:\"* Pages which have been changed since you last visited them are shown in \'\'\'bold\'\'\'\";'),('en','messages:watchmethod-recent','s:39:\"checking recent edits for watched pages\";'),('en','messages:watchmethod-list','s:39:\"checking watched pages for recent edits\";'),('en','messages:watchlistcontains','s:52:\"Your watchlist contains $1 {{PLURAL:$1|page|pages}}.\";'),('en','messages:iteminvalidname','s:39:\"Problem with item \'$1\', invalid name...\";'),('en','messages:wlnote','s:115:\"Below {{PLURAL:$1|is the last change|are the last \'\'\'$1\'\'\' changes}} in the last {{PLURAL:$2|hour|\'\'\'$2\'\'\' hours}}.\";'),('en','messages:wlshowlast','s:29:\"Show last $1 hours $2 days $3\";'),('en','messages:watchlist-options','s:17:\"Watchlist options\";'),('en','messages:watching','s:11:\"Watching...\";'),('en','messages:unwatching','s:13:\"Unwatching...\";'),('en','messages:watcherrortext','s:66:\"An error occurred while changing your watchlist settings for \"$1\".\";'),('en','messages:enotif_mailer','s:32:\"{{SITENAME}} notification mailer\";'),('en','messages:enotif_reset','s:22:\"Mark all pages visited\";'),('en','messages:enotif_newpagetext','s:19:\"This is a new page.\";'),('en','messages:enotif_impersonal_salutation','s:17:\"{{SITENAME}} user\";'),('en','messages:changed','s:7:\"changed\";'),('en','messages:created','s:7:\"created\";'),('en','messages:enotif_subject','s:70:\"{{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED by $PAGEEDITOR\";'),('en','messages:enotif_lastvisited','s:45:\"See $1 for all changes since your last visit.\";'),('en','messages:enotif_lastdiff','s:27:\"See $1 to view this change.\";'),('en','messages:enotif_anon_editor','s:17:\"anonymous user $1\";'),('en','messages:enotif_body','s:839:\"Dear $WATCHINGUSERNAME,\n\n\nThe {{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED on $PAGEEDITDATE by $PAGEEDITOR, see $PAGETITLE_URL for the current revision.\n\n$NEWPAGE\n\nEditor\'s summary: $PAGESUMMARY $PAGEMINOREDIT\n\nContact the editor:\nmail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nThere will be no other notifications in case of further changes unless you visit this page.\nYou could also reset the notification flags for all your watched pages on your watchlist.\n\n			 Your friendly {{SITENAME}} notification system\n\n--\nTo change your e-mail notification settings, visit\n{{canonicalurl:{{#special:Preferences}}}}\n\nTo change your watchlist settings, visit\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nTo delete the page from your watchlist, visit\n$UNWATCHURL\n\nFeedback and further assistance:\n{{canonicalurl:{{MediaWiki:Helppage}}}}\";'),('en','messages:deletepage','s:11:\"Delete page\";'),('en','messages:confirm','s:7:\"Confirm\";'),('en','messages:excontent','s:17:\"content was: \"$1\"\";'),('en','messages:excontentauthor','s:82:\"content was: \"$1\" (and the only contributor was \"[[Special:Contributions/$2|$2]]\")\";'),('en','messages:exbeforeblank','s:33:\"content before blanking was: \"$1\"\";'),('en','messages:exblank','s:14:\"page was empty\";'),('en','messages:delete-confirm','s:11:\"Delete \"$1\"\";'),('en','messages:delete-backlink','s:6:\"← $1\";'),('en','messages:delete-legend','s:6:\"Delete\";'),('en','messages:historywarning','s:117:\"\'\'\'Warning:\'\'\' The page you are about to delete has a history with approximately $1 {{PLURAL:$1|revision|revisions}}:\";'),('en','messages:confirmdeletetext','s:230:\"You are about to delete a page along with all of its history.\nPlease confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].\";'),('en','messages:actioncomplete','s:15:\"Action complete\";'),('en','messages:actionfailed','s:13:\"Action failed\";'),('en','messages:deletedtext','s:63:\"\"$1\" has been deleted.\nSee $2 for a record of recent deletions.\";'),('en','messages:deletedarticle','s:16:\"deleted \"[[$1]]\"\";'),('en','messages:suppressedarticle','s:19:\"suppressed \"[[$1]]\"\";'),('en','messages:dellogpage','s:12:\"Deletion log\";'),('en','messages:dellogpagetext','s:45:\"Below is a list of the most recent deletions.\";'),('en','messages:deletionlog','s:12:\"deletion log\";'),('en','messages:reverted','s:28:\"Reverted to earlier revision\";'),('en','messages:deletecomment','s:7:\"Reason:\";'),('en','messages:deleteotherreason','s:24:\"Other/additional reason:\";'),('en','messages:deletereasonotherlist','s:12:\"Other reason\";'),('en','messages:deletereason-dropdown','s:76:\"*Common delete reasons\n** Author request\n** Copyright violation\n** Vandalism\";'),('en','messages:delete-edit-reasonlist','s:21:\"Edit deletion reasons\";'),('en','messages:delete-toobig','s:170:\"This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeletion of such pages has been restricted to prevent accidental disruption of {{SITENAME}}.\";'),('en','messages:delete-warning-toobig','s:160:\"This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeleting it may disrupt database operations of {{SITENAME}};\nproceed with caution.\";'),('en','messages:rollback','s:15:\"Roll back edits\";'),('en','messages:rollback_short','s:8:\"Rollback\";'),('en','messages:rollbacklink','s:8:\"rollback\";'),('en','messages:rollbackfailed','s:15:\"Rollback failed\";'),('en','messages:cantrollback','s:65:\"Cannot revert edit;\nlast contributor is only author of this page.\";'),('en','messages:alreadyrolled','s:352:\"Cannot rollback last edit of [[:$1]] by [[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nsomeone else has edited or rolled back the page already.\n\nThe last edit to the page was by [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).\";'),('en','messages:editcomment','s:31:\"The edit summary was: \"\'\'$1\'\'\".\";'),('en','messages:revertpage','s:108:\"Reverted edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) to last revision by [[User:$1|$1]]\";'),('en','messages:revertpage-nouser','s:71:\"Reverted edits by (username removed) to last revision by [[User:$1|$1]]\";'),('en','messages:rollback-success','s:58:\"Reverted edits by $1;\nchanged back to last revision by $2.\";'),('en','messages:sessionfailure-title','s:15:\"Session failure\";'),('en','messages:sessionfailure','s:192:\"There seems to be a problem with your login session;\nthis action has been canceled as a precaution against session hijacking.\nGo back to the previous page, reload that page and then try again.\";'),('en','messages:protectlogpage','s:14:\"Protection log\";'),('en','messages:protectlogtext','s:159:\"Below is a list of changes to page protections.\nSee the [[Special:ProtectedPages|protected pages list]] for the list of currently operational page protections.\";'),('en','messages:protectedarticle','s:18:\"protected \"[[$1]]\"\";'),('en','messages:modifiedarticleprotection','s:37:\"changed protection level for \"[[$1]]\"\";'),('en','messages:unprotectedarticle','s:32:\"removed protection from \"[[$1]]\"\";'),('en','messages:movedarticleprotection','s:51:\"moved protection settings from \"[[$2]]\" to \"[[$1]]\"\";'),('en','messages:protect-title','s:32:\"Change protection level for \"$1\"\";'),('en','messages:prot_1movedto2','s:22:\"[[$1]] moved to [[$2]]\";'),('en','messages:protect-backlink','s:6:\"← $1\";'),('en','messages:protect-legend','s:18:\"Confirm protection\";'),('en','messages:protectcomment','s:7:\"Reason:\";'),('en','messages:protectexpiry','s:8:\"Expires:\";'),('en','messages:protect_expiry_invalid','s:23:\"Expiry time is invalid.\";'),('en','messages:protect_expiry_old','s:27:\"Expiry time is in the past.\";'),('en','messages:protect-unchain-permissions','s:30:\"Unlock further protect options\";'),('en','messages:protect-text','s:72:\"You may view and change the protection level here for the page \'\'\'$1\'\'\'.\";'),('en','messages:protect-locked-blocked','s:103:\"You cannot change protection levels while blocked.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-locked-dblock','s:120:\"Protection levels cannot be changed due to an active database lock.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-locked-access','s:124:\"Your account does not have permission to change page protection levels.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-cascadeon','s:246:\"This page is currently protected because it is included in the following {{PLURAL:$1|page, which has|pages, which have}} cascading protection turned on.\nYou can change this page\'s protection level, but it will not affect the cascading protection.\";'),('en','messages:protect-default','s:15:\"Allow all users\";'),('en','messages:protect-fallback','s:23:\"Require \"$1\" permission\";'),('en','messages:protect-level-autoconfirmed','s:32:\"Block new and unregistered users\";'),('en','messages:protect-level-sysop','s:19:\"Administrators only\";'),('en','messages:protect-summary-cascade','s:9:\"cascading\";'),('en','messages:protect-expiring','s:16:\"expires $1 (UTC)\";'),('en','messages:protect-expiry-indefinite','s:10:\"indefinite\";'),('en','messages:protect-cascade','s:58:\"Protect pages included in this page (cascading protection)\";'),('en','messages:protect-cantedit','s:100:\"You cannot change the protection levels of this page, because you do not have permission to edit it.\";'),('en','messages:protect-othertime','s:11:\"Other time:\";'),('en','messages:protect-othertime-op','s:10:\"other time\";'),('en','messages:protect-existing-expiry','s:28:\"Existing expiry time: $3, $2\";'),('en','messages:protect-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:protect-otherreason-op','s:12:\"Other reason\";'),('en','messages:protect-dropdown','s:127:\"*Common protection reasons\n** Excessive vandalism\n** Excessive spamming\n** Counter-productive edit warring\n** High traffic page\";'),('en','messages:protect-edit-reasonlist','s:23:\"Edit protection reasons\";'),('en','messages:protect-expiry-options','s:139:\"1 hour:1 hour,1 day:1 day,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,infinite:infinite\";'),('en','messages:restriction-type','s:11:\"Permission:\";'),('en','messages:restriction-level','s:18:\"Restriction level:\";'),('en','messages:minimum-size','s:8:\"Min size\";'),('en','messages:maximum-size','s:9:\"Max size:\";'),('en','messages:pagesize','s:7:\"(bytes)\";'),('en','messages:restriction-edit','s:4:\"Edit\";'),('en','messages:restriction-move','s:4:\"Move\";'),('en','messages:restriction-create','s:6:\"Create\";'),('en','messages:restriction-upload','s:6:\"Upload\";'),('en','messages:restriction-level-sysop','s:15:\"fully protected\";'),('en','messages:restriction-level-autoconfirmed','s:14:\"semi protected\";'),('en','messages:restriction-level-all','s:9:\"any level\";'),('en','messages:undelete','s:18:\"View deleted pages\";'),('en','messages:undeletepage','s:30:\"View and restore deleted pages\";'),('en','messages:undeletepagetitle','s:64:\"\'\'\'The following consists of deleted revisions of [[:$1|$1]]\'\'\'.\";'),('en','messages:viewdeletedpage','s:18:\"View deleted pages\";'),('en','messages:undeletepagetext','s:178:\"The following {{PLURAL:$1|page has been deleted but is|$1 pages have been deleted but are}} still in the archive and can be restored.\nThe archive may be periodically cleaned out.\";'),('en','messages:undelete-fieldset-title','s:17:\"Restore revisions\";'),('en','messages:undeleteextrahelp','s:250:\"To restore the page\'s entire history, leave all checkboxes deselected and click \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\nTo perform a selective restoration, check the boxes corresponding to the revisions to be restored, and click \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\";'),('en','messages:undeleterevisions','s:44:\"$1 {{PLURAL:$1|revision|revisions}} archived\";'),('en','messages:undeletehistory','s:198:\"If you restore the page, all revisions will be restored to the history.\nIf a new page with the same name has been created since the deletion, the restored revisions will appear in the prior history.\";'),('en','messages:undeleterevdel','s:179:\"Undeletion will not be performed if it will result in the top page or file revision being partially deleted.\nIn such cases, you must uncheck or unhide the newest deleted revision.\";'),('en','messages:undeletehistorynoadmin','s:236:\"This page has been deleted.\nThe reason for deletion is shown in the summary below, along with details of the users who had edited this page before deletion.\nThe actual text of these deleted revisions is only available to administrators.\";'),('en','messages:undelete-revision','s:47:\"Deleted revision of $1 (as of $4, at $5) by $3:\";'),('en','messages:undeleterevision-missing','s:121:\"Invalid or missing revision.\nYou may have a bad link, or the revision may have been restored or removed from the archive.\";'),('en','messages:undelete-nodiff','s:27:\"No previous revision found.\";'),('en','messages:undeletebtn','s:7:\"Restore\";'),('en','messages:undeletelink','s:12:\"view/restore\";'),('en','messages:undeleteviewlink','s:4:\"view\";'),('en','messages:undeletereset','s:5:\"Reset\";'),('en','messages:undeleteinvert','s:16:\"Invert selection\";'),('en','messages:undeletecomment','s:7:\"Reason:\";'),('en','messages:undeletedarticle','s:17:\"restored \"[[$1]]\"\";'),('en','messages:undeletedrevisions','s:46:\"{{PLURAL:$1|1 revision|$1 revisions}} restored\";'),('en','messages:undeletedrevisions-files','s:80:\"{{PLURAL:$1|1 revision|$1 revisions}} and {{PLURAL:$2|1 file|$2 files}} restored\";'),('en','messages:undeletedfiles','s:38:\"{{PLURAL:$1|1 file|$1 files}} restored\";'),('en','messages:cannotundelete','s:64:\"Undelete failed;\nsomeone else may have undeleted the page first.\";'),('en','messages:undeletedpage','s:126:\"\'\'\'$1 has been restored\'\'\'\n\nConsult the [[Special:Log/delete|deletion log]] for a record of recent deletions and restorations.\";'),('en','messages:undelete-header','s:71:\"See [[Special:Log/delete|the deletion log]] for recently deleted pages.\";'),('en','messages:undelete-search-box','s:20:\"Search deleted pages\";'),('en','messages:undelete-search-prefix','s:25:\"Show pages starting with:\";'),('en','messages:undelete-search-submit','s:6:\"Search\";'),('en','messages:undelete-no-results','s:48:\"No matching pages found in the deletion archive.\";'),('en','messages:undelete-filename-mismatch','s:67:\"Cannot undelete file revision with timestamp $1: Filename mismatch.\";'),('en','messages:undelete-bad-store-key','s:82:\"Cannot undelete file revision with timestamp $1: File was missing before deletion.\";'),('en','messages:undelete-cleanup-error','s:40:\"Error deleting unused archive file \"$1\".\";'),('en','messages:undelete-missing-filearchive','s:107:\"Unable to restore file archive ID $1 because it is not in the database.\nIt may have already been undeleted.\";'),('en','messages:undelete-error-short','s:25:\"Error undeleting file: $1\";'),('en','messages:undelete-error-long','s:54:\"Errors were encountered while undeleting the file:\n\n$1\";'),('en','messages:undelete-show-file-confirm','s:99:\"Are you sure you want to view the deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?\";'),('en','messages:undelete-show-file-submit','s:3:\"Yes\";'),('en','messages:namespace','s:10:\"Namespace:\";'),('en','messages:invert','s:16:\"Invert selection\";'),('en','messages:tooltip-invert','s:111:\"Check this box to hide changes to pages within the selected namespace (and the associated namespace if checked)\";'),('en','messages:namespace_association','s:20:\"Associated namespace\";'),('en','messages:tooltip-namespace_association','s:99:\"Check this box to also include the talk or subject namespace associated with the selected namespace\";'),('en','messages:blanknamespace','s:6:\"(Main)\";'),('en','messages:contributions','s:18:\"User contributions\";'),('en','messages:contributions-title','s:25:\"User contributions for $1\";'),('en','messages:mycontris','s:16:\"My contributions\";'),('en','messages:contribsub2','s:11:\"For $1 ($2)\";'),('en','messages:nocontribs','s:46:\"No changes were found matching these criteria.\";'),('en','messages:uctop','s:5:\"(top)\";'),('en','messages:month','s:25:\"From month (and earlier):\";'),('en','messages:year','s:24:\"From year (and earlier):\";'),('en','messages:sp-contributions-newbies','s:39:\"Show contributions of new accounts only\";'),('en','messages:sp-contributions-newbies-sub','s:16:\"For new accounts\";'),('en','messages:sp-contributions-newbies-title','s:35:\"User contributions for new accounts\";'),('en','messages:sp-contributions-blocklog','s:9:\"block log\";'),('en','messages:sp-contributions-deleted','s:26:\"deleted user contributions\";'),('en','messages:sp-contributions-uploads','s:7:\"uploads\";'),('en','messages:sp-contributions-logs','s:4:\"logs\";'),('en','messages:sp-contributions-talk','s:4:\"talk\";'),('en','messages:sp-contributions-userrights','s:22:\"user rights management\";'),('en','messages:sp-contributions-blocked-notice','s:91:\"This user is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:sp-contributions-blocked-notice-anon','s:97:\"This IP address is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:sp-contributions-search','s:24:\"Search for contributions\";'),('en','messages:sp-contributions-username','s:23:\"IP address or username:\";'),('en','messages:sp-contributions-toponly','s:41:\"Only show edits that are latest revisions\";'),('en','messages:sp-contributions-submit','s:6:\"Search\";'),('en','messages:sp-contributions-explain','s:0:\"\";'),('en','messages:sp-contributions-footer','s:1:\"-\";'),('en','messages:sp-contributions-footer-anon','s:1:\"-\";'),('en','messages:whatlinkshere','s:15:\"What links here\";'),('en','messages:whatlinkshere-title','s:23:\"Pages that link to \"$1\"\";'),('en','messages:whatlinkshere-summary','s:0:\"\";'),('en','messages:whatlinkshere-page','s:5:\"Page:\";'),('en','messages:whatlinkshere-backlink','s:6:\"← $1\";'),('en','messages:linkshere','s:42:\"The following pages link to \'\'\'[[:$1]]\'\'\':\";'),('en','messages:nolinkshere','s:31:\"No pages link to \'\'\'[[:$1]]\'\'\'.\";'),('en','messages:nolinkshere-ns','s:55:\"No pages link to \'\'\'[[:$1]]\'\'\' in the chosen namespace.\";'),('en','messages:isredirect','s:13:\"redirect page\";'),('en','messages:istemplate','s:12:\"transclusion\";'),('en','messages:isimage','s:9:\"file link\";'),('en','messages:whatlinkshere-prev','s:34:\"{{PLURAL:$1|previous|previous $1}}\";'),('en','messages:whatlinkshere-next','s:26:\"{{PLURAL:$1|next|next $1}}\";'),('en','messages:whatlinkshere-links','s:9:\"← links\";'),('en','messages:whatlinkshere-hideredirs','s:12:\"$1 redirects\";'),('en','messages:whatlinkshere-hidetrans','s:16:\"$1 transclusions\";'),('en','messages:whatlinkshere-hidelinks','s:8:\"$1 links\";'),('en','messages:whatlinkshere-hideimages','s:14:\"$1 image links\";'),('en','messages:whatlinkshere-filters','s:7:\"Filters\";'),('en','messages:autoblockid','s:13:\"Autoblock #$1\";'),('en','messages:block','s:10:\"Block user\";'),('en','messages:unblock','s:12:\"Unblock user\";'),('en','messages:blockip','s:10:\"Block user\";'),('en','messages:blockip-title','s:10:\"Block user\";'),('en','messages:blockip-legend','s:10:\"Block user\";'),('en','messages:blockiptext','s:280:\"Use the form below to block write access from a specific IP address or username.\nThis should be done only to prevent vandalism, and in accordance with [[{{MediaWiki:Policy-url}}|policy]].\nFill in a specific reason below (for example, citing particular pages that were vandalized).\";'),('en','messages:ipadressorusername','s:23:\"IP address or username:\";'),('en','messages:ipbexpiry','s:7:\"Expiry:\";'),('en','messages:ipbreason','s:7:\"Reason:\";'),('en','messages:ipbreasonotherlist','s:12:\"Other reason\";'),('en','messages:ipbreason-dropdown','s:253:\"*Common block reasons\n** Inserting false information\n** Removing content from pages\n** Spamming links to external sites\n** Inserting nonsense/gibberish into pages\n** Intimidating behaviour/harassment\n** Abusing multiple accounts\n** Unacceptable username\";'),('en','messages:ipb-hardblock','s:57:\"Prevent logged-in users from editing from this IP address\";'),('en','messages:ipbcreateaccount','s:24:\"Prevent account creation\";'),('en','messages:ipbemailban','s:32:\"Prevent user from sending e-mail\";'),('en','messages:ipbenableautoblock','s:112:\"Automatically block the last IP address used by this user, and any subsequent IP addresses they try to edit from\";'),('en','messages:ipbsubmit','s:15:\"Block this user\";'),('en','messages:ipbother','s:11:\"Other time:\";'),('en','messages:ipboptions','s:157:\"2 hours:2 hours,1 day:1 day,3 days:3 days,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,indefinite:infinite\";'),('en','messages:ipbotheroption','s:5:\"other\";'),('en','messages:ipbotherreason','s:24:\"Other/additional reason:\";'),('en','messages:ipbhidename','s:34:\"Hide username from edits and lists\";'),('en','messages:ipbwatchuser','s:37:\"Watch this user\'s user and talk pages\";'),('en','messages:ipb-disableusertalk','s:64:\"Prevent this user from editing their own talk page while blocked\";'),('en','messages:ipb-change-block','s:37:\"Re-block the user with these settings\";'),('en','messages:ipb-confirm','s:13:\"Confirm block\";'),('en','messages:badipaddress','s:18:\"Invalid IP address\";'),('en','messages:blockipsuccesssub','s:15:\"Block succeeded\";'),('en','messages:blockipsuccesstext','s:113:\"[[Special:Contributions/$1|$1]] has been blocked.<br />\nSee [[Special:BlockList|IP block list]] to review blocks.\";'),('en','messages:ipb-blockingself','s:67:\"You are about to block yourself!  Are you sure you want to do that?\";'),('en','messages:ipb-confirmhideuser','s:156:\"You are about to block a user with \"hide user\" enabled.  This will suppress the user\'s name in all lists and log entries.  Are you sure you want to do that?\";'),('en','messages:ipb-edit-dropdown','s:18:\"Edit block reasons\";'),('en','messages:ipb-unblock-addr','s:10:\"Unblock $1\";'),('en','messages:ipb-unblock','s:32:\"Unblock a username or IP address\";'),('en','messages:ipb-blocklist','s:20:\"View existing blocks\";'),('en','messages:ipb-blocklist-contribs','s:20:\"Contributions for $1\";'),('en','messages:unblockip','s:12:\"Unblock user\";'),('en','messages:unblockiptext','s:90:\"Use the form below to restore write access to a previously blocked IP address or username.\";'),('en','messages:ipusubmit','s:17:\"Remove this block\";'),('en','messages:unblocked','s:33:\"[[User:$1|$1]] has been unblocked\";'),('en','messages:unblocked-range','s:21:\"$1 has been unblocked\";'),('en','messages:unblocked-id','s:25:\"Block $1 has been removed\";'),('en','messages:blocklist','s:13:\"Blocked users\";'),('en','messages:ipblocklist','s:13:\"Blocked users\";'),('en','messages:ipblocklist-legend','s:19:\"Find a blocked user\";'),('en','messages:blocklist-userblocks','s:19:\"Hide account blocks\";'),('en','messages:blocklist-tempblocks','s:21:\"Hide temporary blocks\";'),('en','messages:blocklist-addressblocks','s:21:\"Hide single IP blocks\";'),('en','messages:blocklist-timestamp','s:9:\"Timestamp\";'),('en','messages:blocklist-target','s:6:\"Target\";'),('en','messages:blocklist-expiry','s:7:\"Expires\";'),('en','messages:blocklist-by','s:14:\"Blocking admin\";'),('en','messages:blocklist-params','s:16:\"Block parameters\";'),('en','messages:blocklist-reason','s:6:\"Reason\";'),('en','messages:blocklist-summary','s:0:\"\";'),('en','messages:ipblocklist-submit','s:6:\"Search\";'),('en','messages:ipblocklist-localblock','s:11:\"Local block\";'),('en','messages:ipblocklist-otherblocks','s:32:\"Other {{PLURAL:$1|block|blocks}}\";'),('en','messages:infiniteblock','s:8:\"infinite\";'),('en','messages:expiringblock','s:19:\"expires on $1 at $2\";'),('en','messages:anononlyblock','s:10:\"anon. only\";'),('en','messages:noautoblockblock','s:18:\"autoblock disabled\";'),('en','messages:createaccountblock','s:24:\"account creation blocked\";'),('en','messages:emailblock','s:14:\"e-mail blocked\";'),('en','messages:blocklist-nousertalk','s:25:\"cannot edit own talk page\";'),('en','messages:ipblocklist-empty','s:23:\"The blocklist is empty.\";'),('en','messages:ipblocklist-no-results','s:52:\"The requested IP address or username is not blocked.\";'),('en','messages:blocklink','s:5:\"block\";'),('en','messages:unblocklink','s:7:\"unblock\";'),('en','messages:change-blocklink','s:12:\"change block\";'),('en','messages:contribslink','s:8:\"contribs\";'),('en','messages:autoblocker','s:120:\"Autoblocked because your IP address has been recently used by \"[[User:$1|$1]]\".\nThe reason given for $1\'s block is: \"$2\"\";'),('en','messages:blocklogpage','s:9:\"Block log\";'),('en','messages:blocklog-showlog','s:85:\"This user has been blocked previously.\nThe block log is provided below for reference:\";'),('en','messages:blocklog-showsuppresslog','s:99:\"This user has been blocked and hidden previously.\nThe suppress log is provided below for reference:\";'),('en','messages:blocklogentry','s:43:\"blocked [[$1]] with an expiry time of $2 $3\";'),('en','messages:reblock-logentry','s:62:\"changed block settings for [[$1]] with an expiry time of $2 $3\";'),('en','messages:blocklogtext','s:204:\"This is a log of user blocking and unblocking actions.\nAutomatically blocked IP addresses are not listed.\nSee the [[Special:BlockList|IP block list]] for the list of currently operational bans and blocks.\";'),('en','messages:unblocklogentry','s:12:\"unblocked $1\";'),('en','messages:block-log-flags-anononly','s:20:\"anonymous users only\";'),('en','messages:block-log-flags-nocreate','s:25:\"account creation disabled\";'),('en','messages:block-log-flags-noautoblock','s:18:\"autoblock disabled\";'),('en','messages:block-log-flags-noemail','s:14:\"e-mail blocked\";'),('en','messages:block-log-flags-nousertalk','s:25:\"cannot edit own talk page\";'),('en','messages:block-log-flags-angry-autoblock','s:26:\"enhanced autoblock enabled\";'),('en','messages:block-log-flags-hiddenname','s:15:\"username hidden\";'),('en','messages:range_block_disabled','s:61:\"The administrator ability to create range blocks is disabled.\";'),('en','messages:ipb_expiry_invalid','s:20:\"Expiry time invalid.\";'),('en','messages:ipb_expiry_temp','s:41:\"Hidden username blocks must be permanent.\";'),('en','messages:ipb_hide_invalid','s:60:\"Unable to suppress this account; it may have too many edits.\";'),('en','messages:ipb_already_blocked','s:23:\"\"$1\" is already blocked\";'),('en','messages:ipb-needreblock','s:58:\"$1 is already blocked. Do you want to change the settings?\";'),('en','messages:ipb-otherblocks-header','s:32:\"Other {{PLURAL:$1|block|blocks}}\";'),('en','messages:unblock-hideuser','s:64:\"You cannot unblock this user, as their username has been hidden.\";'),('en','messages:ipb_cant_unblock','s:65:\"Error: Block ID $1 not found. It may have been unblocked already.\";'),('en','messages:ipb_blocked_as_range','s:146:\"Error: The IP address $1 is not blocked directly and cannot be unblocked.\nIt is, however, blocked as part of the range $2, which can be unblocked.\";'),('en','messages:ip_range_invalid','s:17:\"Invalid IP range.\";'),('en','messages:ip_range_toolarge','s:45:\"Range blocks larger than /$1 are not allowed.\";'),('en','messages:blockme','s:8:\"Block me\";'),('en','messages:proxyblocker','s:13:\"Proxy blocker\";'),('en','messages:proxyblocker-disabled','s:26:\"This function is disabled.\";'),('en','messages:proxyblockreason','s:199:\"Your IP address has been blocked because it is an open proxy.\nPlease contact your Internet service provider or technical support of your organization and inform them of this serious security problem.\";'),('en','messages:proxyblocksuccess','s:5:\"Done.\";'),('en','messages:sorbs','s:5:\"DNSBL\";'),('en','messages:sorbsreason','s:77:\"Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.\";'),('en','messages:sorbs_create_account_reason','s:106:\"Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.\nYou cannot create an account\";'),('en','messages:cant-block-while-blocked','s:51:\"You cannot block other users while you are blocked.\";'),('en','messages:cant-see-hidden-user','s:152:\"The user you are trying to block has already been blocked and hidden.\nSince you do not have the hideuser right, you cannot see or edit the user\'s block.\";'),('en','messages:ipbblocked','s:73:\"You cannot block or unblock other users, because you are yourself blocked\";'),('en','messages:ipbnounblockself','s:39:\"You are not allowed to unblock yourself\";'),('en','messages:lockdb','s:13:\"Lock database\";'),('en','messages:unlockdb','s:15:\"Unlock database\";'),('en','messages:lockdbtext','s:294:\"Locking the database will suspend the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do, and that you will unlock the database when your maintenance is done.\";'),('en','messages:unlockdbtext','s:227:\"Unlocking the database will restore the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do.\";'),('en','messages:lockconfirm','s:40:\"Yes, I really want to lock the database.\";'),('en','messages:unlockconfirm','s:42:\"Yes, I really want to unlock the database.\";'),('en','messages:lockbtn','s:13:\"Lock database\";'),('en','messages:unlockbtn','s:15:\"Unlock database\";'),('en','messages:locknoconfirm','s:39:\"You did not check the confirmation box.\";'),('en','messages:lockdbsuccesssub','s:23:\"Database lock succeeded\";'),('en','messages:unlockdbsuccesssub','s:21:\"Database lock removed\";'),('en','messages:lockdbsuccesstext','s:120:\"The database has been locked.<br />\nRemember to [[Special:UnlockDB|remove the lock]] after your maintenance is complete.\";'),('en','messages:unlockdbsuccesstext','s:31:\"The database has been unlocked.\";'),('en','messages:lockfilenotwritable','s:116:\"The database lock file is not writable.\nTo lock or unlock the database, this needs to be writable by the web server.\";'),('en','messages:databasenotlocked','s:27:\"The database is not locked.\";'),('en','messages:lockedbyandtime','s:33:\"(by {{GENDER:$1|$1}} on $2 at $3)\";'),('en','messages:move-page','s:7:\"Move $1\";'),('en','messages:move-page-legend','s:9:\"Move page\";'),('en','messages:movepagetext','s:883:\"Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nYou can update redirects that point to the original title automatically.\nIf you choose not to, be sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will \'\'\'not\'\'\' be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n\'\'\'Warning!\'\'\'\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding.\";'),('en','messages:movepagetext-noredirectfixer','s:788:\"Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nBe sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will \'\'\'not\'\'\' be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n\'\'\'Warning!\'\'\'\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding.\";'),('en','messages:movepagetalktext','s:247:\"The associated talk page will be automatically moved along with it \'\'\'unless:\'\'\'\n*A non-empty talk page already exists under the new name, or\n*You uncheck the box below.\n\nIn those cases, you will have to move or merge the page manually if desired.\";'),('en','messages:movearticle','s:10:\"Move page:\";'),('en','messages:moveuserpage-warning','s:132:\"\'\'\'Warning:\'\'\' You are about to move a user page. Please note that only the page will be moved and the user will \'\'not\'\' be renamed.\";'),('en','messages:movenologin','s:13:\"Not logged in\";'),('en','messages:movenologintext','s:81:\"You must be a registered user and [[Special:UserLogin|logged in]] to move a page.\";'),('en','messages:movenotallowed','s:41:\"You do not have permission to move pages.\";'),('en','messages:movenotallowedfile','s:41:\"You do not have permission to move files.\";'),('en','messages:cant-move-user-page','s:68:\"You do not have permission to move user pages (apart from subpages).\";'),('en','messages:cant-move-to-user-page','s:84:\"You do not have permission to move a page to a user page (except to a user subpage).\";'),('en','messages:newtitle','s:13:\"To new title:\";'),('en','messages:move-watch','s:33:\"Watch source page and target page\";'),('en','messages:movepagebtn','s:9:\"Move page\";'),('en','messages:pagemovedsub','s:14:\"Move succeeded\";'),('en','messages:movepage-moved','s:33:\"\'\'\'\"$1\" has been moved to \"$2\"\'\'\'\";'),('en','messages:movepage-moved-redirect','s:28:\"A redirect has been created.\";'),('en','messages:movepage-moved-noredirect','s:47:\"The creation of a redirect has been suppressed.\";'),('en','messages:articleexists','s:105:\"A page of that name already exists, or the name you have chosen is not valid.\nPlease choose another name.\";'),('en','messages:cantmove-titleprotected','s:95:\"You cannot move a page to this location, because the new title has been protected from creation\";'),('en','messages:talkexists','s:155:\"\'\'\'The page itself was moved successfully, but the talk page could not be moved because one already exists at the new title.\nPlease merge them manually.\'\'\'\";'),('en','messages:movedto','s:8:\"moved to\";'),('en','messages:movetalk','s:25:\"Move associated talk page\";'),('en','messages:move-subpages','s:24:\"Move subpages (up to $1)\";'),('en','messages:move-talk-subpages','s:37:\"Move subpages of talk page (up to $1)\";'),('en','messages:movepage-page-exists','s:67:\"The page $1 already exists and cannot be automatically overwritten.\";'),('en','messages:movepage-page-moved','s:33:\"The page $1 has been moved to $2.\";'),('en','messages:movepage-page-unmoved','s:37:\"The page $1 could not be moved to $2.\";'),('en','messages:movepage-max-pages','s:98:\"The maximum of $1 {{PLURAL:$1|page|pages}} has been moved and no more will be moved automatically.\";'),('en','messages:1movedto2','s:22:\"moved [[$1]] to [[$2]]\";'),('en','messages:1movedto2_redir','s:36:\"moved [[$1]] to [[$2]] over redirect\";'),('en','messages:move-redirect-suppressed','s:19:\"redirect suppressed\";'),('en','messages:movelogpage','s:8:\"Move log\";'),('en','messages:movelogpagetext','s:34:\"Below is a list of all page moves.\";'),('en','messages:movesubpage','s:30:\"{{PLURAL:$1|Subpage|Subpages}}\";'),('en','messages:movesubpagetext','s:60:\"This page has $1 {{PLURAL:$1|subpage|subpages}} shown below.\";'),('en','messages:movenosubpage','s:26:\"This page has no subpages.\";'),('en','messages:movereason','s:7:\"Reason:\";'),('en','messages:revertmove','s:6:\"revert\";'),('en','messages:delete_and_move','s:15:\"Delete and move\";'),('en','messages:delete_and_move_text','s:121:\"== Deletion required ==\nThe destination page \"[[:$1]]\" already exists.\nDo you want to delete it to make way for the move?\";'),('en','messages:delete_and_move_confirm','s:20:\"Yes, delete the page\";'),('en','messages:delete_and_move_reason','s:28:\"Deleted to make way for move\";'),('en','messages:selfmove','s:75:\"Source and destination titles are the same;\ncannot move a page over itself.\";'),('en','messages:immobile-source-namespace','s:35:\"Cannot move pages in namespace \"$1\"\";'),('en','messages:immobile-target-namespace','s:37:\"Cannot move pages into namespace \"$1\"\";'),('en','messages:immobile-target-namespace-iw','s:51:\"Interwiki link is not a valid target for page move.\";'),('en','messages:immobile-source-page','s:25:\"This page is not movable.\";'),('en','messages:immobile-target-page','s:38:\"Cannot move to that destination title.\";'),('en','messages:imagenocrossnamespace','s:38:\"Cannot move file to non-file namespace\";'),('en','messages:nonfile-cannot-move-to-file','s:38:\"Cannot move non-file to file namespace\";'),('en','messages:imagetypemismatch','s:46:\"The new file extension does not match its type\";'),('en','messages:imageinvalidfilename','s:31:\"The target file name is invalid\";'),('en','messages:fix-double-redirects','s:53:\"Update any redirects that point to the original title\";'),('en','messages:move-leave-redirect','s:23:\"Leave a redirect behind\";'),('en','messages:protectedpagemovewarning','s:159:\"\'\'\'Warning:\'\'\' This page has been protected so that only users with administrator privileges can move it.\nThe latest log entry is provided below for reference:\";'),('en','messages:semiprotectedpagemovewarning','s:137:\"\'\'\'Note:\'\'\' This page has been protected so that only registered users can move it.\nThe latest log entry is provided below for reference:\";'),('en','messages:move-over-sharedrepo','s:115:\"== File exists ==\n[[:$1]] exists on a shared repository. Moving a file to this title will override the shared file.\";'),('en','messages:file-exists-sharedrepo','s:90:\"The file name chosen is already in use on a shared repository.\nPlease choose another name.\";'),('en','messages:export','s:12:\"Export pages\";'),('en','messages:exporttext','s:588:\"You can export the text and editing history of a particular page or set of pages wrapped in some XML.\nThis can be imported into another wiki using MediaWiki via the [[Special:Import|import page]].\n\nTo export pages, enter the titles in the text box below, one title per line, and select whether you want the current revision as well as all old revisions, with the page history lines, or the current revision with the info about the last edit.\n\nIn the latter case you can also use a link, for example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] for the page \"[[{{MediaWiki:Mainpage}}]]\".\";'),('en','messages:exportcuronly','s:55:\"Include only the current revision, not the full history\";'),('en','messages:exportnohistory','s:116:\"----\n\'\'\'Note:\'\'\' Exporting the full history of pages through this form has been disabled due to performance reasons.\";'),('en','messages:export-submit','s:6:\"Export\";'),('en','messages:export-addcattext','s:24:\"Add pages from category:\";'),('en','messages:export-addcat','s:3:\"Add\";'),('en','messages:export-addnstext','s:25:\"Add pages from namespace:\";'),('en','messages:export-addns','s:3:\"Add\";'),('en','messages:export-download','s:12:\"Save as file\";'),('en','messages:export-templates','s:17:\"Include templates\";'),('en','messages:export-pagelinks','s:35:\"Include linked pages to a depth of:\";'),('en','messages:allmessages','s:15:\"System messages\";'),('en','messages:allmessagesname','s:4:\"Name\";'),('en','messages:allmessagesdefault','s:20:\"Default message text\";'),('en','messages:allmessagescurrent','s:20:\"Current message text\";'),('en','messages:allmessagestext','s:256:\"This is a list of system messages available in the MediaWiki namespace.\nPlease visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and [//translatewiki.net translatewiki.net] if you wish to contribute to the generic MediaWiki localisation.\";'),('en','messages:allmessagesnotsupportedDB','s:80:\"This page cannot be used because \'\'\'$wgUseDatabaseMessages\'\'\' has been disabled.\";'),('en','messages:allmessages-filter-legend','s:6:\"Filter\";'),('en','messages:allmessages-filter','s:30:\"Filter by customisation state:\";'),('en','messages:allmessages-filter-unmodified','s:10:\"Unmodified\";'),('en','messages:allmessages-filter-all','s:3:\"All\";'),('en','messages:allmessages-filter-modified','s:8:\"Modified\";'),('en','messages:allmessages-prefix','s:17:\"Filter by prefix:\";'),('en','messages:allmessages-language','s:9:\"Language:\";'),('en','messages:allmessages-filter-submit','s:2:\"Go\";'),('en','messages:thumbnail-more','s:7:\"Enlarge\";'),('en','messages:filemissing','s:12:\"File missing\";'),('en','messages:thumbnail_error','s:28:\"Error creating thumbnail: $1\";'),('en','messages:djvu_page_error','s:22:\"DjVu page out of range\";'),('en','messages:djvu_no_xml','s:33:\"Unable to fetch XML for DjVu file\";'),('en','messages:thumbnail_invalid_params','s:28:\"Invalid thumbnail parameters\";'),('en','messages:thumbnail_dest_directory','s:38:\"Unable to create destination directory\";'),('en','messages:thumbnail_image-type','s:24:\"Image type not supported\";'),('en','messages:thumbnail_gd-library','s:56:\"Incomplete GD library configuration: Missing function $1\";'),('en','messages:thumbnail_image-missing','s:28:\"File seems to be missing: $1\";'),('en','messages:import','s:12:\"Import pages\";'),('en','messages:importinterwiki','s:16:\"Transwiki import\";'),('en','messages:import-interwiki-text','s:174:\"Select a wiki and page title to import.\nRevision dates and editors\' names will be preserved.\nAll transwiki import actions are logged at the [[Special:Log/import|import log]].\";'),('en','messages:import-interwiki-source','s:17:\"Source wiki/page:\";'),('en','messages:import-interwiki-history','s:40:\"Copy all history revisions for this page\";'),('en','messages:import-interwiki-templates','s:21:\"Include all templates\";'),('en','messages:import-interwiki-submit','s:6:\"Import\";'),('en','messages:import-interwiki-namespace','s:22:\"Destination namespace:\";'),('en','messages:import-upload-filename','s:9:\"Filename:\";'),('en','messages:import-comment','s:8:\"Comment:\";'),('en','messages:importtext','s:133:\"Please export the file from the source wiki using the [[Special:Export|export utility]].\nSave it to your computer and upload it here.\";'),('en','messages:importstart','s:18:\"Importing pages...\";'),('en','messages:import-revision-count','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:importnopages','s:19:\"No pages to import.\";'),('en','messages:imported-log-entries','s:48:\"Imported $1 {{PLURAL:$1|log entry|log entries}}.\";'),('en','messages:importfailed','s:34:\"Import failed: <nowiki>$1</nowiki>\";'),('en','messages:importunknownsource','s:26:\"Unknown import source type\";'),('en','messages:importcantopen','s:26:\"Could not open import file\";'),('en','messages:importbadinterwiki','s:18:\"Bad interwiki link\";'),('en','messages:importnotext','s:16:\"Empty or no text\";'),('en','messages:importsuccess','s:16:\"Import finished!\";'),('en','messages:importhistoryconflict','s:72:\"Conflicting history revision exists (may have imported this page before)\";'),('en','messages:importnosources','s:86:\"No transwiki import sources have been defined and direct history uploads are disabled.\";'),('en','messages:importnofile','s:28:\"No import file was uploaded.\";'),('en','messages:importuploaderrorsize','s:78:\"Upload of import file failed.\nThe file is bigger than the allowed upload size.\";'),('en','messages:importuploaderrorpartial','s:67:\"Upload of import file failed.\nThe file was only partially uploaded.\";'),('en','messages:importuploaderrortemp','s:60:\"Upload of import file failed.\nA temporary folder is missing.\";'),('en','messages:import-parse-failure','s:24:\"XML import parse failure\";'),('en','messages:import-noarticle','s:18:\"No page to import!\";'),('en','messages:import-nonewrevisions','s:39:\"All revisions were previously imported.\";'),('en','messages:xml-error-string','s:35:\"$1 at line $2, col $3 (byte $4): $5\";'),('en','messages:import-upload','s:15:\"Upload XML data\";'),('en','messages:import-token-mismatch','s:39:\"Loss of session data.\nPlease try again.\";'),('en','messages:import-invalid-interwiki','s:38:\"Cannot import from the specified wiki.\";'),('en','messages:importlogpage','s:10:\"Import log\";'),('en','messages:importlogpagetext','s:67:\"Administrative imports of pages with edit history from other wikis.\";'),('en','messages:import-logentry-upload','s:30:\"imported [[$1]] by file upload\";'),('en','messages:import-logentry-upload-detail','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:import-logentry-interwiki','s:14:\"transwikied $1\";'),('en','messages:import-logentry-interwiki-detail','s:43:\"$1 {{PLURAL:$1|revision|revisions}} from $2\";'),('en','messages:accesskey-pt-userpage','s:1:\".\";'),('en','messages:accesskey-pt-anonuserpage','s:1:\".\";'),('en','messages:accesskey-pt-mytalk','s:1:\"n\";'),('en','messages:accesskey-pt-anontalk','s:1:\"n\";'),('en','messages:accesskey-pt-preferences','s:0:\"\";'),('en','messages:accesskey-pt-watchlist','s:1:\"l\";'),('en','messages:accesskey-pt-mycontris','s:1:\"y\";'),('en','messages:accesskey-pt-login','s:1:\"o\";'),('en','messages:accesskey-pt-anonlogin','s:1:\"o\";'),('en','messages:accesskey-pt-logout','s:0:\"\";'),('en','messages:accesskey-ca-talk','s:1:\"t\";'),('en','messages:accesskey-ca-edit','s:1:\"e\";'),('en','messages:accesskey-ca-addsection','s:1:\"+\";'),('en','messages:accesskey-ca-viewsource','s:1:\"e\";'),('en','messages:accesskey-ca-history','s:1:\"h\";'),('en','messages:accesskey-ca-protect','s:1:\"=\";'),('en','messages:accesskey-ca-unprotect','s:1:\"=\";'),('en','messages:accesskey-ca-delete','s:1:\"d\";'),('en','messages:accesskey-ca-undelete','s:1:\"d\";'),('en','messages:accesskey-ca-move','s:1:\"m\";'),('en','messages:accesskey-ca-watch','s:1:\"w\";'),('en','messages:accesskey-ca-unwatch','s:1:\"w\";'),('en','messages:accesskey-search','s:1:\"f\";'),('en','messages:accesskey-search-go','s:0:\"\";'),('en','messages:accesskey-search-fulltext','s:0:\"\";'),('en','messages:accesskey-p-logo','s:0:\"\";'),('en','messages:accesskey-n-mainpage','s:1:\"z\";'),('en','messages:accesskey-n-mainpage-description','s:1:\"z\";'),('en','messages:accesskey-n-portal','s:0:\"\";'),('en','messages:accesskey-n-currentevents','s:0:\"\";'),('en','messages:accesskey-n-recentchanges','s:1:\"r\";'),('en','messages:accesskey-n-randompage','s:1:\"x\";'),('en','messages:accesskey-n-help','s:0:\"\";'),('en','messages:accesskey-t-whatlinkshere','s:1:\"j\";'),('en','messages:accesskey-t-recentchangeslinked','s:1:\"k\";'),('en','messages:accesskey-feed-rss','s:0:\"\";'),('en','messages:accesskey-feed-atom','s:0:\"\";'),('en','messages:accesskey-t-contributions','s:0:\"\";'),('en','messages:accesskey-t-emailuser','s:0:\"\";'),('en','messages:accesskey-t-permalink','s:0:\"\";'),('en','messages:accesskey-t-print','s:1:\"p\";'),('en','messages:accesskey-t-upload','s:1:\"u\";'),('en','messages:accesskey-t-specialpages','s:1:\"q\";'),('en','messages:accesskey-ca-nstab-main','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-user','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-media','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-special','s:0:\"\";'),('en','messages:accesskey-ca-nstab-project','s:1:\"a\";'),('en','messages:accesskey-ca-nstab-image','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-mediawiki','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-template','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-help','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-category','s:1:\"c\";'),('en','messages:accesskey-minoredit','s:1:\"i\";'),('en','messages:accesskey-save','s:1:\"s\";'),('en','messages:accesskey-preview','s:1:\"p\";'),('en','messages:accesskey-diff','s:1:\"v\";'),('en','messages:accesskey-compareselectedversions','s:1:\"v\";'),('en','messages:accesskey-watch','s:1:\"w\";'),('en','messages:accesskey-upload','s:1:\"s\";'),('en','messages:accesskey-preferences-save','s:1:\"s\";'),('en','messages:accesskey-summary','s:1:\"b\";'),('en','messages:accesskey-userrights-set','s:1:\"s\";'),('en','messages:accesskey-blockip-block','s:1:\"s\";'),('en','messages:accesskey-export','s:1:\"s\";'),('en','messages:accesskey-import','s:1:\"s\";'),('en','messages:tooltip-pt-userpage','s:14:\"Your user page\";'),('en','messages:tooltip-pt-anonuserpage','s:51:\"The user page for the IP address you are editing as\";'),('en','messages:tooltip-pt-mytalk','s:14:\"Your talk page\";'),('en','messages:tooltip-pt-anontalk','s:43:\"Discussion about edits from this IP address\";'),('en','messages:tooltip-pt-preferences','s:16:\"Your preferences\";'),('en','messages:tooltip-pt-watchlist','s:46:\"A list of pages you are monitoring for changes\";'),('en','messages:tooltip-pt-mycontris','s:28:\"A list of your contributions\";'),('en','messages:tooltip-pt-login','s:58:\"You are encouraged to log in; however, it is not mandatory\";'),('en','messages:tooltip-pt-anonlogin','s:58:\"You are encouraged to log in; however, it is not mandatory\";'),('en','messages:tooltip-pt-logout','s:7:\"Log out\";'),('en','messages:tooltip-ca-talk','s:33:\"Discussion about the content page\";'),('en','messages:tooltip-ca-edit','s:67:\"You can edit this page. Please use the preview button before saving\";'),('en','messages:tooltip-ca-addsection','s:19:\"Start a new section\";'),('en','messages:tooltip-ca-viewsource','s:47:\"This page is protected.\nYou can view its source\";'),('en','messages:tooltip-ca-history','s:27:\"Past revisions of this page\";'),('en','messages:tooltip-ca-protect','s:17:\"Protect this page\";'),('en','messages:tooltip-ca-unprotect','s:30:\"Change protection of this page\";'),('en','messages:tooltip-ca-delete','s:16:\"Delete this page\";'),('en','messages:tooltip-ca-undelete','s:57:\"Restore the edits done to this page before it was deleted\";'),('en','messages:tooltip-ca-move','s:14:\"Move this page\";'),('en','messages:tooltip-ca-watch','s:31:\"Add this page to your watchlist\";'),('en','messages:tooltip-ca-unwatch','s:36:\"Remove this page from your watchlist\";'),('en','messages:tooltip-search','s:19:\"Search {{SITENAME}}\";'),('en','messages:tooltip-search-go','s:43:\"Go to a page with this exact name if exists\";'),('en','messages:tooltip-search-fulltext','s:30:\"Search the pages for this text\";'),('en','messages:tooltip-p-logo','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-mainpage','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-mainpage-description','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-portal','s:56:\"About the project, what you can do, where to find things\";'),('en','messages:tooltip-n-currentevents','s:45:\"Find background information on current events\";'),('en','messages:tooltip-n-recentchanges','s:36:\"A list of recent changes in the wiki\";'),('en','messages:tooltip-n-randompage','s:18:\"Load a random page\";'),('en','messages:tooltip-n-help','s:21:\"The place to find out\";'),('en','messages:tooltip-t-whatlinkshere','s:39:\"A list of all wiki pages that link here\";'),('en','messages:tooltip-t-recentchangeslinked','s:45:\"Recent changes in pages linked from this page\";'),('en','messages:tooltip-feed-rss','s:22:\"RSS feed for this page\";'),('en','messages:tooltip-feed-atom','s:23:\"Atom feed for this page\";'),('en','messages:tooltip-t-contributions','s:36:\"A list of contributions of this user\";'),('en','messages:tooltip-t-emailuser','s:27:\"Send an e-mail to this user\";'),('en','messages:tooltip-t-upload','s:12:\"Upload files\";'),('en','messages:tooltip-t-specialpages','s:27:\"A list of all special pages\";'),('en','messages:tooltip-t-print','s:30:\"Printable version of this page\";'),('en','messages:tooltip-t-permalink','s:43:\"Permanent link to this revision of the page\";'),('en','messages:tooltip-ca-nstab-main','s:21:\"View the content page\";'),('en','messages:tooltip-ca-nstab-user','s:18:\"View the user page\";'),('en','messages:tooltip-ca-nstab-media','s:19:\"View the media page\";'),('en','messages:tooltip-ca-nstab-special','s:55:\"This is a special page, you cannot edit the page itself\";'),('en','messages:tooltip-ca-nstab-project','s:21:\"View the project page\";'),('en','messages:tooltip-ca-nstab-image','s:18:\"View the file page\";'),('en','messages:tooltip-ca-nstab-mediawiki','s:23:\"View the system message\";'),('en','messages:tooltip-ca-nstab-template','s:17:\"View the template\";'),('en','messages:tooltip-ca-nstab-help','s:18:\"View the help page\";'),('en','messages:tooltip-ca-nstab-category','s:22:\"View the category page\";'),('en','messages:tooltip-minoredit','s:25:\"Mark this as a minor edit\";'),('en','messages:tooltip-save','s:17:\"Save your changes\";'),('en','messages:tooltip-preview','s:52:\"Preview your changes, please use this before saving!\";'),('en','messages:tooltip-diff','s:39:\"Show which changes you made to the text\";'),('en','messages:tooltip-compareselectedversions','s:67:\"See the differences between the two selected revisions of this page\";'),('en','messages:tooltip-watch','s:31:\"Add this page to your watchlist\";'),('en','messages:tooltip-recreate','s:49:\"Recreate the page even though it has been deleted\";'),('en','messages:tooltip-upload','s:12:\"Start upload\";'),('en','messages:tooltip-rollback','s:76:\"\"Rollback\" reverts edit(s) to this page of the last contributor in one click\";'),('en','messages:tooltip-undo','s:107:\"\"Undo\" reverts this edit and opens the edit form in preview mode. It allows adding a reason in the summary.\";'),('en','messages:tooltip-preferences-save','s:16:\"Save preferences\";'),('en','messages:tooltip-summary','s:21:\"Enter a short summary\";'),('en','messages:common.css','s:50:\"/* CSS placed here will be applied to all skins */\";'),('en','messages:standard.css','s:60:\"/* CSS placed here will affect users of the Standard skin */\";'),('en','messages:nostalgia.css','s:61:\"/* CSS placed here will affect users of the Nostalgia skin */\";'),('en','messages:cologneblue.css','s:64:\"/* CSS placed here will affect users of the Cologne Blue skin */\";'),('en','messages:monobook.css','s:60:\"/* CSS placed here will affect users of the Monobook skin */\";'),('en','messages:myskin.css','s:58:\"/* CSS placed here will affect users of the MySkin skin */\";'),('en','messages:chick.css','s:57:\"/* CSS placed here will affect users of the Chick skin */\";'),('en','messages:simple.css','s:58:\"/* CSS placed here will affect users of the Simple skin */\";'),('en','messages:modern.css','s:58:\"/* CSS placed here will affect users of the Modern skin */\";'),('en','messages:vector.css','s:58:\"/* CSS placed here will affect users of the Vector skin */\";'),('en','messages:print.css','s:50:\"/* CSS placed here will affect the print output */\";'),('en','messages:handheld.css','s:99:\"/* CSS placed here will affect handheld devices based on the skin configured in $wgHandheldStyle */\";'),('en','messages:noscript.css','s:64:\"/* CSS placed here will affect users with JavaScript disabled */\";'),('en','messages:group-autoconfirmed.css','s:58:\"/* CSS placed here will affect autoconfirmed users only */\";'),('en','messages:group-bot.css','s:43:\"/* CSS placed here will affect bots only */\";'),('en','messages:group-sysop.css','s:45:\"/* CSS placed here will affect sysops only */\";'),('en','messages:group-bureaucrat.css','s:50:\"/* CSS placed here will affect bureaucrats only */\";'),('en','messages:common.js','s:74:\"/* Any JavaScript here will be loaded for all users on every page load. */\";'),('en','messages:standard.js','s:74:\"/* Any JavaScript here will be loaded for users using the Standard skin */\";'),('en','messages:nostalgia.js','s:75:\"/* Any JavaScript here will be loaded for users using the Nostalgia skin */\";'),('en','messages:cologneblue.js','s:78:\"/* Any JavaScript here will be loaded for users using the Cologne Blue skin */\";'),('en','messages:monobook.js','s:74:\"/* Any JavaScript here will be loaded for users using the MonoBook skin */\";'),('en','messages:myskin.js','s:72:\"/* Any JavaScript here will be loaded for users using the MySkin skin */\";'),('en','messages:chick.js','s:71:\"/* Any JavaScript here will be loaded for users using the Chick skin */\";'),('en','messages:simple.js','s:72:\"/* Any JavaScript here will be loaded for users using the Simple skin */\";'),('en','messages:modern.js','s:72:\"/* Any JavaScript here will be loaded for users using the Modern skin */\";'),('en','messages:vector.js','s:72:\"/* Any JavaScript here will be loaded for users using the Vector skin */\";'),('en','messages:group-autoconfirmed.js','s:69:\"/* Any JavaScript here will be loaded for autoconfirmed users only */\";'),('en','messages:group-bot.js','s:54:\"/* Any JavaScript here will be loaded for bots only */\";'),('en','messages:group-sysop.js','s:56:\"/* Any JavaScript here will be loaded for sysops only */\";'),('en','messages:group-bureaucrat.js','s:61:\"/* Any JavaScript here will be loaded for bureaucrats only */\";'),('en','messages:notacceptable','s:69:\"The wiki server cannot provide data in a format your client can read.\";'),('en','messages:anonymous','s:50:\"Anonymous {{PLURAL:$1|user|users}} of {{SITENAME}}\";'),('en','messages:siteuser','s:20:\"{{SITENAME}} user $1\";'),('en','messages:anonuser','s:30:\"{{SITENAME}} anonymous user $1\";'),('en','messages:lastmodifiedatby','s:41:\"This page was last modified $2, $1 by $3.\";'),('en','messages:othercontribs','s:20:\"Based on work by $1.\";'),('en','messages:others','s:6:\"others\";'),('en','messages:siteusers','s:40:\"{{SITENAME}} {{PLURAL:$2|user|users}} $1\";'),('en','messages:anonusers','s:50:\"{{SITENAME}} anonymous {{PLURAL:$2|user|users}} $1\";'),('en','messages:creditspage','s:12:\"Page credits\";'),('en','messages:nocredits','s:49:\"There is no credits info available for this page.\";'),('en','messages:spamprotectiontitle','s:22:\"Spam protection filter\";'),('en','messages:spamprotectiontext','s:125:\"The text you wanted to save was blocked by the spam filter.\nThis is probably caused by a link to a blacklisted external site.\";'),('en','messages:spamprotectionmatch','s:56:\"The following text is what triggered our spam filter: $1\";'),('en','messages:spambot_username','s:22:\"MediaWiki spam cleanup\";'),('en','messages:spam_reverting','s:53:\"Reverting to last revision not containing links to $1\";'),('en','messages:spam_blanking','s:45:\"All revisions contained links to $1, blanking\";'),('en','messages:pageinfo-title','s:20:\"Information for \"$1\"\";'),('en','messages:pageinfo-header-edits','s:5:\"Edits\";'),('en','messages:pageinfo-header-watchlist','s:9:\"Watchlist\";'),('en','messages:pageinfo-header-views','s:5:\"Views\";'),('en','messages:pageinfo-subjectpage','s:4:\"Page\";'),('en','messages:pageinfo-talkpage','s:9:\"Talk page\";'),('en','messages:pageinfo-watchers','s:18:\"Number of watchers\";'),('en','messages:pageinfo-edits','s:15:\"Number of edits\";'),('en','messages:pageinfo-authors','s:26:\"Number of distinct authors\";'),('en','messages:pageinfo-views','s:15:\"Number of views\";'),('en','messages:pageinfo-viewsperedit','s:14:\"Views per edit\";'),('en','messages:skinname-standard','s:7:\"Classic\";'),('en','messages:skinname-nostalgia','s:9:\"Nostalgia\";'),('en','messages:skinname-cologneblue','s:12:\"Cologne Blue\";'),('en','messages:skinname-monobook','s:8:\"MonoBook\";'),('en','messages:skinname-myskin','s:6:\"MySkin\";'),('en','messages:skinname-chick','s:5:\"Chick\";'),('en','messages:skinname-simple','s:6:\"Simple\";'),('en','messages:skinname-modern','s:6:\"Modern\";'),('en','messages:skinname-vector','s:6:\"Vector\";'),('en','messages:markaspatrolleddiff','s:17:\"Mark as patrolled\";'),('en','messages:markaspatrolledlink','s:4:\"[$1]\";'),('en','messages:markaspatrolledtext','s:27:\"Mark this page as patrolled\";'),('en','messages:markedaspatrolled','s:19:\"Marked as patrolled\";'),('en','messages:markedaspatrolledtext','s:62:\"The selected revision of [[:$1]] has been marked as patrolled.\";'),('en','messages:rcpatroldisabled','s:30:\"Recent changes patrol disabled\";'),('en','messages:rcpatroldisabledtext','s:56:\"The recent changes patrol feature is currently disabled.\";'),('en','messages:markedaspatrollederror','s:24:\"Cannot mark as patrolled\";'),('en','messages:markedaspatrollederrortext','s:52:\"You need to specify a revision to mark as patrolled.\";'),('en','messages:markedaspatrollederror-noautopatrol','s:58:\"You are not allowed to mark your own changes as patrolled.\";'),('en','messages:patrol-log-page','s:10:\"Patrol log\";'),('en','messages:patrol-log-header','s:37:\"This is a log of patrolled revisions.\";'),('en','messages:patrol-log-line','s:28:\"marked $1 of $2 patrolled $3\";'),('en','messages:patrol-log-auto','s:11:\"(automatic)\";'),('en','messages:patrol-log-diff','s:11:\"revision $1\";'),('en','messages:log-show-hide-patrol','s:13:\"$1 patrol log\";'),('en','messages:deletedrevision','s:23:\"Deleted old revision $1\";'),('en','messages:filedeleteerror-short','s:23:\"Error deleting file: $1\";'),('en','messages:filedeleteerror-long','s:52:\"Errors were encountered while deleting the file:\n\n$1\";'),('en','messages:filedelete-missing','s:59:\"The file \"$1\" cannot be deleted, because it does not exist.\";'),('en','messages:filedelete-old-unregistered','s:56:\"The specified file revision \"$1\" is not in the database.\";'),('en','messages:filedelete-current-unregistered','s:47:\"The specified file \"$1\" is not in the database.\";'),('en','messages:filedelete-archive-read-only','s:60:\"The archive directory \"$1\" is not writable by the webserver.\";'),('en','messages:previousdiff','s:14:\"← Older edit\";'),('en','messages:nextdiff','s:14:\"Newer edit →\";'),('en','messages:mediawarning','s:106:\"\'\'\'Warning\'\'\': This file type may contain malicious code.\nBy executing it, your system may be compromised.\";'),('en','messages:imagemaxsize','s:55:\"Image size limit:<br />\'\'(for file description pages)\'\'\";'),('en','messages:thumbsize','s:15:\"Thumbnail size:\";'),('en','messages:widthheight','s:8:\"$1 × $2\";'),('en','messages:widthheightpage','s:37:\"$1 × $2, $3 {{PLURAL:$3|page|pages}}\";'),('en','messages:file-info','s:28:\"file size: $1, MIME type: $2\";'),('en','messages:file-info-size','s:45:\"$1 × $2 pixels, file size: $3, MIME type: $4\";'),('en','messages:file-info-size-pages','s:74:\"$1 × $2 pixels, file size: $3, MIME type: $4, $5 {{PLURAL:$5|page|pages}}\";'),('en','messages:file-nohires','s:46:\"<small>No higher resolution available.</small>\";'),('en','messages:svg-long-desc','s:50:\"SVG file, nominally $1 × $2 pixels, file size: $3\";'),('en','messages:show-big-image','s:15:\"Full resolution\";'),('en','messages:show-big-image-preview','s:40:\"<small>Size of this preview: $1.</small>\";'),('en','messages:show-big-image-other','s:37:\"<small>Other resolutions: $1.</small>\";'),('en','messages:show-big-image-size','s:15:\"$1 × $2 pixels\";'),('en','messages:file-info-gif-looped','s:6:\"looped\";'),('en','messages:file-info-gif-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('en','messages:file-info-png-looped','s:6:\"looped\";'),('en','messages:file-info-png-repeat','s:34:\"played $1 {{PLURAL:$1|time|times}}\";'),('en','messages:file-info-png-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('en','messages:newimages','s:20:\"Gallery of new files\";'),('en','messages:imagelisttext','s:63:\"Below is a list of \'\'\'$1\'\'\' {{PLURAL:$1|file|files}} sorted $2.\";'),('en','messages:newimages-summary','s:48:\"This special page shows the last uploaded files.\";'),('en','messages:newimages-legend','s:6:\"Filter\";'),('en','messages:newimages-label','s:27:\"Filename (or a part of it):\";'),('en','messages:showhidebots','s:9:\"($1 bots)\";'),('en','messages:noimages','s:15:\"Nothing to see.\";'),('en','messages:ilsubmit','s:6:\"Search\";'),('en','messages:bydate','s:7:\"by date\";'),('en','messages:sp-newimages-showfrom','s:35:\"Show new files starting from $2, $1\";'),('en','messages:video-dims','s:12:\"$1, $2 × $3\";'),('en','messages:seconds-abbrev','s:1:\"s\";'),('en','messages:minutes-abbrev','s:1:\"m\";'),('en','messages:hours-abbrev','s:1:\"h\";'),('en','messages:days-abbrev','s:1:\"d\";'),('en','messages:bad_image_list','s:252:\"The format is as follows:\n\nOnly list items (lines starting with *) are considered.\nThe first link on a line must be a link to a bad file.\nAny subsequent links on the same line are considered to be exceptions, i.e. pages where the file may occur inline.\";'),('en','messages:variantname-zh-hans','s:4:\"hans\";'),('en','messages:variantname-zh-hant','s:4:\"hant\";'),('en','messages:variantname-zh-cn','s:2:\"cn\";'),('en','messages:variantname-zh-tw','s:2:\"tw\";'),('en','messages:variantname-zh-hk','s:2:\"hk\";'),('en','messages:variantname-zh-mo','s:2:\"mo\";'),('en','messages:variantname-zh-sg','s:2:\"sg\";'),('en','messages:variantname-zh-my','s:2:\"my\";'),('en','messages:variantname-zh','s:2:\"zh\";'),('en','messages:variantname-gan-hans','s:4:\"hans\";'),('en','messages:variantname-gan-hant','s:4:\"hant\";'),('en','messages:variantname-gan','s:3:\"gan\";'),('en','messages:variantname-sr-ec','s:5:\"sr-ec\";'),('en','messages:variantname-sr-el','s:5:\"sr-el\";'),('en','messages:variantname-sr','s:2:\"sr\";'),('en','messages:variantname-kk-kz','s:5:\"kk-kz\";'),('en','messages:variantname-kk-tr','s:5:\"kk-tr\";'),('en','messages:variantname-kk-cn','s:5:\"kk-cn\";'),('en','messages:variantname-kk-cyrl','s:7:\"kk-cyrl\";'),('en','messages:variantname-kk-latn','s:7:\"kk-latn\";'),('en','messages:variantname-kk-arab','s:7:\"kk-arab\";'),('en','messages:variantname-kk','s:2:\"kk\";'),('en','messages:variantname-ku-arab','s:7:\"ku-Arab\";'),('en','messages:variantname-ku-latn','s:7:\"ku-Latn\";'),('en','messages:variantname-ku','s:2:\"ku\";'),('en','messages:variantname-tg-cyrl','s:7:\"tg-Cyrl\";'),('en','messages:variantname-tg-latn','s:7:\"tg-Latn\";'),('en','messages:variantname-tg','s:2:\"tg\";'),('en','messages:variantname-ike-cans','s:8:\"ike-Cans\";'),('en','messages:variantname-ike-latn','s:8:\"ike-Latn\";'),('en','messages:variantname-iu','s:2:\"iu\";'),('en','messages:metadata','s:8:\"Metadata\";'),('en','messages:metadata-help','s:232:\"This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.\nIf the file has been modified from its original state, some details may not fully reflect the modified file.\";'),('en','messages:metadata-expand','s:21:\"Show extended details\";'),('en','messages:metadata-collapse','s:21:\"Hide extended details\";'),('en','messages:metadata-fields','s:329:\"Image metadata fields listed in this message will be included on image page display when the metadata table is collapsed.\nOthers will be hidden by default.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude\";'),('en','messages:metadata-langitem','s:12:\"\'\'\'$2:\'\'\' $1\";'),('en','messages:metadata-langitem-default','s:2:\"$1\";'),('en','messages:exif-imagewidth','s:5:\"Width\";'),('en','messages:exif-imagelength','s:6:\"Height\";'),('en','messages:exif-bitspersample','s:18:\"Bits per component\";'),('en','messages:exif-compression','s:18:\"Compression scheme\";'),('en','messages:exif-photometricinterpretation','s:17:\"Pixel composition\";'),('en','messages:exif-orientation','s:11:\"Orientation\";'),('en','messages:exif-samplesperpixel','s:20:\"Number of components\";'),('en','messages:exif-planarconfiguration','s:16:\"Data arrangement\";'),('en','messages:exif-ycbcrsubsampling','s:27:\"Subsampling ratio of Y to C\";'),('en','messages:exif-ycbcrpositioning','s:19:\"Y and C positioning\";'),('en','messages:exif-xresolution','s:21:\"Horizontal resolution\";'),('en','messages:exif-yresolution','s:19:\"Vertical resolution\";'),('en','messages:exif-stripoffsets','s:19:\"Image data location\";'),('en','messages:exif-rowsperstrip','s:24:\"Number of rows per strip\";'),('en','messages:exif-stripbytecounts','s:26:\"Bytes per compressed strip\";'),('en','messages:exif-jpeginterchangeformat','s:18:\"Offset to JPEG SOI\";'),('en','messages:exif-jpeginterchangeformatlength','s:18:\"Bytes of JPEG data\";'),('en','messages:exif-whitepoint','s:24:\"White point chromaticity\";'),('en','messages:exif-primarychromaticities','s:29:\"Chromaticities of primarities\";'),('en','messages:exif-ycbcrcoefficients','s:46:\"Color space transformation matrix coefficients\";'),('en','messages:exif-referenceblackwhite','s:40:\"Pair of black and white reference values\";'),('en','messages:exif-datetime','s:25:\"File change date and time\";'),('en','messages:exif-imagedescription','s:11:\"Image title\";'),('en','messages:exif-make','s:19:\"Camera manufacturer\";'),('en','messages:exif-model','s:12:\"Camera model\";'),('en','messages:exif-software','s:13:\"Software used\";'),('en','messages:exif-artist','s:6:\"Author\";'),('en','messages:exif-copyright','s:16:\"Copyright holder\";'),('en','messages:exif-exifversion','s:12:\"Exif version\";'),('en','messages:exif-flashpixversion','s:26:\"Supported Flashpix version\";'),('en','messages:exif-colorspace','s:11:\"Color space\";'),('en','messages:exif-componentsconfiguration','s:25:\"Meaning of each component\";'),('en','messages:exif-compressedbitsperpixel','s:22:\"Image compression mode\";'),('en','messages:exif-pixelydimension','s:11:\"Image width\";'),('en','messages:exif-pixelxdimension','s:12:\"Image height\";'),('en','messages:exif-usercomment','s:13:\"User comments\";'),('en','messages:exif-relatedsoundfile','s:18:\"Related audio file\";'),('en','messages:exif-datetimeoriginal','s:32:\"Date and time of data generation\";'),('en','messages:exif-datetimedigitized','s:27:\"Date and time of digitizing\";'),('en','messages:exif-subsectime','s:19:\"DateTime subseconds\";'),('en','messages:exif-subsectimeoriginal','s:27:\"DateTimeOriginal subseconds\";'),('en','messages:exif-subsectimedigitized','s:28:\"DateTimeDigitized subseconds\";'),('en','messages:exif-exposuretime','s:13:\"Exposure time\";'),('en','messages:exif-exposuretime-format','s:11:\"$1 sec ($2)\";'),('en','messages:exif-fnumber','s:8:\"F Number\";'),('en','messages:exif-fnumber-format','s:4:\"f/$1\";'),('en','messages:exif-exposureprogram','s:16:\"Exposure Program\";'),('en','messages:exif-spectralsensitivity','s:20:\"Spectral sensitivity\";'),('en','messages:exif-isospeedratings','s:16:\"ISO speed rating\";'),('en','messages:exif-shutterspeedvalue','s:18:\"APEX shutter speed\";'),('en','messages:exif-aperturevalue','s:13:\"APEX aperture\";'),('en','messages:exif-brightnessvalue','s:15:\"APEX brightness\";'),('en','messages:exif-exposurebiasvalue','s:18:\"APEX exposure bias\";'),('en','messages:exif-maxaperturevalue','s:21:\"Maximum land aperture\";'),('en','messages:exif-subjectdistance','s:16:\"Subject distance\";'),('en','messages:exif-meteringmode','s:13:\"Metering mode\";'),('en','messages:exif-lightsource','s:12:\"Light source\";'),('en','messages:exif-flash','s:5:\"Flash\";'),('en','messages:exif-focallength','s:17:\"Lens focal length\";'),('en','messages:exif-focallength-format','s:5:\"$1 mm\";'),('en','messages:exif-subjectarea','s:12:\"Subject area\";'),('en','messages:exif-flashenergy','s:12:\"Flash energy\";'),('en','messages:exif-focalplanexresolution','s:24:\"Focal plane X resolution\";'),('en','messages:exif-focalplaneyresolution','s:24:\"Focal plane Y resolution\";'),('en','messages:exif-focalplaneresolutionunit','s:27:\"Focal plane resolution unit\";'),('en','messages:exif-subjectlocation','s:16:\"Subject location\";'),('en','messages:exif-exposureindex','s:14:\"Exposure index\";'),('en','messages:exif-sensingmethod','s:14:\"Sensing method\";'),('en','messages:exif-filesource','s:11:\"File source\";'),('en','messages:exif-scenetype','s:10:\"Scene type\";'),('en','messages:exif-customrendered','s:23:\"Custom image processing\";'),('en','messages:exif-exposuremode','s:13:\"Exposure mode\";'),('en','messages:exif-whitebalance','s:13:\"White balance\";'),('en','messages:exif-digitalzoomratio','s:18:\"Digital zoom ratio\";'),('en','messages:exif-focallengthin35mmfilm','s:26:\"Focal length in 35 mm film\";'),('en','messages:exif-scenecapturetype','s:18:\"Scene capture type\";'),('en','messages:exif-gaincontrol','s:13:\"Scene control\";'),('en','messages:exif-contrast','s:8:\"Contrast\";'),('en','messages:exif-saturation','s:10:\"Saturation\";'),('en','messages:exif-sharpness','s:9:\"Sharpness\";'),('en','messages:exif-devicesettingdescription','s:27:\"Device settings description\";'),('en','messages:exif-subjectdistancerange','s:22:\"Subject distance range\";'),('en','messages:exif-imageuniqueid','s:15:\"Unique image ID\";'),('en','messages:exif-gpsversionid','s:15:\"GPS tag version\";'),('en','messages:exif-gpslatituderef','s:23:\"North or south latitude\";'),('en','messages:exif-gpslatitude','s:8:\"Latitude\";'),('en','messages:exif-gpslongituderef','s:22:\"East or west longitude\";'),('en','messages:exif-gpslongitude','s:9:\"Longitude\";'),('en','messages:exif-gpsaltituderef','s:18:\"Altitude reference\";'),('en','messages:exif-gpsaltitude','s:8:\"Altitude\";'),('en','messages:exif-gpstimestamp','s:23:\"GPS time (atomic clock)\";'),('en','messages:exif-gpssatellites','s:31:\"Satellites used for measurement\";'),('en','messages:exif-gpsstatus','s:15:\"Receiver status\";'),('en','messages:exif-gpsmeasuremode','s:16:\"Measurement mode\";'),('en','messages:exif-gpsdop','s:21:\"Measurement precision\";'),('en','messages:exif-gpsspeedref','s:10:\"Speed unit\";'),('en','messages:exif-gpsspeed','s:21:\"Speed of GPS receiver\";'),('en','messages:exif-gpstrackref','s:35:\"Reference for direction of movement\";'),('en','messages:exif-gpstrack','s:21:\"Direction of movement\";'),('en','messages:exif-gpsimgdirectionref','s:32:\"Reference for direction of image\";'),('en','messages:exif-gpsimgdirection','s:18:\"Direction of image\";'),('en','messages:exif-gpsmapdatum','s:25:\"Geodetic survey data used\";'),('en','messages:exif-gpsdestlatituderef','s:37:\"Reference for latitude of destination\";'),('en','messages:exif-gpsdestlatitude','s:20:\"Latitude destination\";'),('en','messages:exif-gpsdestlongituderef','s:38:\"Reference for longitude of destination\";'),('en','messages:exif-gpsdestlongitude','s:24:\"Longitude of destination\";'),('en','messages:exif-gpsdestbearingref','s:36:\"Reference for bearing of destination\";'),('en','messages:exif-gpsdestbearing','s:22:\"Bearing of destination\";'),('en','messages:exif-gpsdestdistanceref','s:37:\"Reference for distance to destination\";'),('en','messages:exif-gpsdestdistance','s:23:\"Distance to destination\";'),('en','messages:exif-gpsprocessingmethod','s:29:\"Name of GPS processing method\";'),('en','messages:exif-gpsareainformation','s:16:\"Name of GPS area\";'),('en','messages:exif-gpsdatestamp','s:8:\"GPS date\";'),('en','messages:exif-gpsdifferential','s:27:\"GPS differential correction\";'),('en','messages:exif-coordinate-format','s:19:\"$1° $2′ $3″ $4\";'),('en','messages:exif-jpegfilecomment','s:17:\"JPEG file comment\";'),('en','messages:exif-keywords','s:8:\"Keywords\";'),('en','messages:exif-worldregioncreated','s:42:\"World region that the picture was taken in\";'),('en','messages:exif-countrycreated','s:37:\"Country that the picture was taken in\";'),('en','messages:exif-countrycodecreated','s:50:\"Code for the country that the picture was taken in\";'),('en','messages:exif-provinceorstatecreated','s:47:\"Province or state that the picture was taken in\";'),('en','messages:exif-citycreated','s:34:\"City that the picture was taken in\";'),('en','messages:exif-sublocationcreated','s:53:\"Sublocation of the city that the picture was taken in\";'),('en','messages:exif-worldregiondest','s:18:\"World region shown\";'),('en','messages:exif-countrydest','s:13:\"Country shown\";'),('en','messages:exif-countrycodedest','s:22:\"Code for country shown\";'),('en','messages:exif-provinceorstatedest','s:23:\"Province or state shown\";'),('en','messages:exif-citydest','s:10:\"City shown\";'),('en','messages:exif-sublocationdest','s:25:\"Sublocation of city shown\";'),('en','messages:exif-objectname','s:11:\"Short title\";'),('en','messages:exif-specialinstructions','s:20:\"Special instructions\";'),('en','messages:exif-headline','s:8:\"Headline\";'),('en','messages:exif-credit','s:15:\"Credit/Provider\";'),('en','messages:exif-source','s:6:\"Source\";'),('en','messages:exif-editstatus','s:25:\"Editorial status of image\";'),('en','messages:exif-urgency','s:7:\"Urgency\";'),('en','messages:exif-fixtureidentifier','s:12:\"Fixture name\";'),('en','messages:exif-locationdest','s:17:\"Location depicted\";'),('en','messages:exif-locationdestcode','s:25:\"Code of location depicted\";'),('en','messages:exif-objectcycle','s:38:\"Time of day that media is intended for\";'),('en','messages:exif-contact','s:19:\"Contact information\";'),('en','messages:exif-writer','s:6:\"Writer\";'),('en','messages:exif-languagecode','s:8:\"Language\";'),('en','messages:exif-iimversion','s:11:\"IIM version\";'),('en','messages:exif-iimcategory','s:8:\"Category\";'),('en','messages:exif-iimsupplementalcategory','s:23:\"Supplemental categories\";'),('en','messages:exif-datetimeexpires','s:16:\"Do not use after\";'),('en','messages:exif-datetimereleased','s:11:\"Released on\";'),('en','messages:exif-originaltransmissionref','s:35:\"Original transmission location code\";'),('en','messages:exif-identifier','s:10:\"Identifier\";'),('en','messages:exif-lens','s:9:\"Lens used\";'),('en','messages:exif-serialnumber','s:23:\"Serial number of camera\";'),('en','messages:exif-cameraownername','s:15:\"Owner of camera\";'),('en','messages:exif-label','s:5:\"Label\";'),('en','messages:exif-datetimemetadata','s:31:\"Date metadata was last modified\";'),('en','messages:exif-nickname','s:22:\"Informal name of image\";'),('en','messages:exif-rating','s:17:\"Rating (out of 5)\";'),('en','messages:exif-rightscertificate','s:29:\"Rights management certificate\";'),('en','messages:exif-copyrighted','s:16:\"Copyright status\";'),('en','messages:exif-copyrightowner','s:15:\"Copyright owner\";'),('en','messages:exif-usageterms','s:11:\"Usage terms\";'),('en','messages:exif-webstatement','s:26:\"Online copyright statement\";'),('en','messages:exif-originaldocumentid','s:30:\"Unique ID of original document\";'),('en','messages:exif-licenseurl','s:25:\"URL for copyright license\";'),('en','messages:exif-morepermissionsurl','s:33:\"Alternative licensing information\";'),('en','messages:exif-attributionurl','s:39:\"When re-using this work, please link to\";'),('en','messages:exif-preferredattributionname','s:38:\"When re-using this work, please credit\";'),('en','messages:exif-pngfilecomment','s:16:\"PNG file comment\";'),('en','messages:exif-disclaimer','s:10:\"Disclaimer\";'),('en','messages:exif-contentwarning','s:15:\"Content warning\";'),('en','messages:exif-giffilecomment','s:16:\"GIF file comment\";'),('en','messages:exif-intellectualgenre','s:12:\"Type of item\";'),('en','messages:exif-subjectnewscode','s:12:\"Subject code\";'),('en','messages:exif-scenecode','s:15:\"IPTC scene code\";'),('en','messages:exif-event','s:14:\"Event depicted\";'),('en','messages:exif-organisationinimage','s:21:\"Organization depicted\";'),('en','messages:exif-personinimage','s:15:\"Person depicted\";'),('en','messages:exif-originalimageheight','s:37:\"Height of image before it was cropped\";'),('en','messages:exif-originalimagewidth','s:36:\"Width of image before it was cropped\";'),('en','messages:exif-make-value','s:2:\"$1\";'),('en','messages:exif-model-value','s:2:\"$1\";'),('en','messages:exif-software-value','s:2:\"$1\";'),('en','messages:exif-software-version-value','s:15:\"$1 (Version $2)\";'),('en','messages:exif-contact-value','s:52:\"$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8\";'),('en','messages:exif-subjectnewscode-value','s:7:\"$2 ($1)\";'),('en','messages:exif-compression-1','s:12:\"Uncompressed\";'),('en','messages:exif-compression-2','s:64:\"CCITT Group 3 1-Dimensional Modified Huffman run length encoding\";'),('en','messages:exif-compression-3','s:26:\"CCITT Group 3 fax encoding\";'),('en','messages:exif-compression-4','s:26:\"CCITT Group 4 fax encoding\";'),('en','messages:exif-compression-5','s:3:\"LZW\";'),('en','messages:exif-compression-6','s:10:\"JPEG (old)\";'),('en','messages:exif-compression-7','s:4:\"JPEG\";'),('en','messages:exif-compression-8','s:15:\"Deflate (Adobe)\";'),('en','messages:exif-compression-32773','s:24:\"PackBits (Macintosh RLE)\";'),('en','messages:exif-compression-32946','s:15:\"Deflate (PKZIP)\";'),('en','messages:exif-compression-34712','s:8:\"JPEG2000\";'),('en','messages:exif-copyrighted-true','s:11:\"Copyrighted\";'),('en','messages:exif-copyrighted-false','s:13:\"Public domain\";'),('en','messages:exif-photometricinterpretation-2','s:3:\"RGB\";'),('en','messages:exif-photometricinterpretation-6','s:5:\"YCbCr\";'),('en','messages:exif-unknowndate','s:12:\"Unknown date\";'),('en','messages:exif-orientation-1','s:6:\"Normal\";'),('en','messages:exif-orientation-2','s:20:\"Flipped horizontally\";'),('en','messages:exif-orientation-3','s:13:\"Rotated 180°\";'),('en','messages:exif-orientation-4','s:18:\"Flipped vertically\";'),('en','messages:exif-orientation-5','s:39:\"Rotated 90° CCW and flipped vertically\";'),('en','messages:exif-orientation-6','s:16:\"Rotated 90° CCW\";'),('en','messages:exif-orientation-7','s:38:\"Rotated 90° CW and flipped vertically\";'),('en','messages:exif-orientation-8','s:15:\"Rotated 90° CW\";'),('en','messages:exif-planarconfiguration-1','s:13:\"chunky format\";'),('en','messages:exif-planarconfiguration-2','s:13:\"planar format\";'),('en','messages:exif-xyresolution-i','s:6:\"$1 dpi\";'),('en','messages:exif-xyresolution-c','s:6:\"$1 dpc\";'),('en','messages:exif-colorspace-1','s:4:\"sRGB\";'),('en','messages:exif-colorspace-65535','s:12:\"Uncalibrated\";'),('en','messages:exif-componentsconfiguration-0','s:14:\"does not exist\";'),('en','messages:exif-componentsconfiguration-1','s:1:\"Y\";'),('en','messages:exif-componentsconfiguration-2','s:2:\"Cb\";'),('en','messages:exif-componentsconfiguration-3','s:2:\"Cr\";'),('en','messages:exif-componentsconfiguration-4','s:1:\"R\";'),('en','messages:exif-componentsconfiguration-5','s:1:\"G\";'),('en','messages:exif-componentsconfiguration-6','s:1:\"B\";'),('en','messages:exif-exposureprogram-0','s:11:\"Not defined\";'),('en','messages:exif-exposureprogram-1','s:6:\"Manual\";'),('en','messages:exif-exposureprogram-2','s:14:\"Normal program\";'),('en','messages:exif-exposureprogram-3','s:17:\"Aperture priority\";'),('en','messages:exif-exposureprogram-4','s:16:\"Shutter priority\";'),('en','messages:exif-exposureprogram-5','s:47:\"Creative program (biased toward depth of field)\";'),('en','messages:exif-exposureprogram-6','s:49:\"Action program (biased toward fast shutter speed)\";'),('en','messages:exif-exposureprogram-7','s:67:\"Portrait mode (for closeup photos with the background out of focus)\";'),('en','messages:exif-exposureprogram-8','s:66:\"Landscape mode (for landscape photos with the background in focus)\";'),('en','messages:exif-subjectdistance-value','s:9:\"$1 meters\";'),('en','messages:exif-meteringmode-0','s:7:\"Unknown\";'),('en','messages:exif-meteringmode-1','s:7:\"Average\";'),('en','messages:exif-meteringmode-2','s:23:\"Center weighted average\";'),('en','messages:exif-meteringmode-3','s:4:\"Spot\";'),('en','messages:exif-meteringmode-4','s:10:\"Multi-Spot\";'),('en','messages:exif-meteringmode-5','s:7:\"Pattern\";'),('en','messages:exif-meteringmode-6','s:7:\"Partial\";'),('en','messages:exif-meteringmode-255','s:5:\"Other\";'),('en','messages:exif-lightsource-0','s:7:\"Unknown\";'),('en','messages:exif-lightsource-1','s:8:\"Daylight\";'),('en','messages:exif-lightsource-2','s:11:\"Fluorescent\";'),('en','messages:exif-lightsource-3','s:29:\"Tungsten (incandescent light)\";'),('en','messages:exif-lightsource-4','s:5:\"Flash\";'),('en','messages:exif-lightsource-9','s:12:\"Fine weather\";'),('en','messages:exif-lightsource-10','s:14:\"Cloudy weather\";'),('en','messages:exif-lightsource-11','s:5:\"Shade\";'),('en','messages:exif-lightsource-12','s:39:\"Daylight fluorescent (D 5700 – 7100K)\";'),('en','messages:exif-lightsource-13','s:40:\"Day white fluorescent (N 4600 – 5400K)\";'),('en','messages:exif-lightsource-14','s:41:\"Cool white fluorescent (W 3900 – 4500K)\";'),('en','messages:exif-lightsource-15','s:37:\"White fluorescent (WW 3200 – 3700K)\";'),('en','messages:exif-lightsource-17','s:16:\"Standard light A\";'),('en','messages:exif-lightsource-18','s:16:\"Standard light B\";'),('en','messages:exif-lightsource-19','s:16:\"Standard light C\";'),('en','messages:exif-lightsource-20','s:3:\"D55\";'),('en','messages:exif-lightsource-21','s:3:\"D65\";'),('en','messages:exif-lightsource-22','s:3:\"D75\";'),('en','messages:exif-lightsource-23','s:3:\"D50\";'),('en','messages:exif-lightsource-24','s:19:\"ISO studio tungsten\";'),('en','messages:exif-lightsource-255','s:18:\"Other light source\";'),('en','messages:exif-flash-fired-0','s:18:\"Flash did not fire\";'),('en','messages:exif-flash-fired-1','s:11:\"Flash fired\";'),('en','messages:exif-flash-return-0','s:35:\"no strobe return detection function\";'),('en','messages:exif-flash-return-2','s:32:\"strobe return light not detected\";'),('en','messages:exif-flash-return-3','s:28:\"strobe return light detected\";'),('en','messages:exif-flash-mode-1','s:23:\"compulsory flash firing\";'),('en','messages:exif-flash-mode-2','s:28:\"compulsory flash suppression\";'),('en','messages:exif-flash-mode-3','s:9:\"auto mode\";'),('en','messages:exif-flash-function-1','s:17:\"No flash function\";'),('en','messages:exif-flash-redeye-1','s:22:\"red-eye reduction mode\";'),('en','messages:exif-focalplaneresolutionunit-2','s:6:\"inches\";'),('en','messages:exif-sensingmethod-1','s:9:\"Undefined\";'),('en','messages:exif-sensingmethod-2','s:26:\"One-chip color area sensor\";'),('en','messages:exif-sensingmethod-3','s:26:\"Two-chip color area sensor\";'),('en','messages:exif-sensingmethod-4','s:28:\"Three-chip color area sensor\";'),('en','messages:exif-sensingmethod-5','s:28:\"Color sequential area sensor\";'),('en','messages:exif-sensingmethod-7','s:16:\"Trilinear sensor\";'),('en','messages:exif-sensingmethod-8','s:30:\"Color sequential linear sensor\";'),('en','messages:exif-filesource-3','s:20:\"Digital still camera\";'),('en','messages:exif-scenetype-1','s:29:\"A directly photographed image\";'),('en','messages:exif-customrendered-0','s:14:\"Normal process\";'),('en','messages:exif-customrendered-1','s:14:\"Custom process\";'),('en','messages:exif-exposuremode-0','s:13:\"Auto exposure\";'),('en','messages:exif-exposuremode-1','s:15:\"Manual exposure\";'),('en','messages:exif-exposuremode-2','s:12:\"Auto bracket\";'),('en','messages:exif-whitebalance-0','s:18:\"Auto white balance\";'),('en','messages:exif-whitebalance-1','s:20:\"Manual white balance\";'),('en','messages:exif-scenecapturetype-0','s:8:\"Standard\";'),('en','messages:exif-scenecapturetype-1','s:9:\"Landscape\";'),('en','messages:exif-scenecapturetype-2','s:8:\"Portrait\";'),('en','messages:exif-scenecapturetype-3','s:11:\"Night scene\";'),('en','messages:exif-gaincontrol-0','s:4:\"None\";'),('en','messages:exif-gaincontrol-1','s:11:\"Low gain up\";'),('en','messages:exif-gaincontrol-2','s:12:\"High gain up\";'),('en','messages:exif-gaincontrol-3','s:13:\"Low gain down\";'),('en','messages:exif-gaincontrol-4','s:14:\"High gain down\";'),('en','messages:exif-contrast-0','s:6:\"Normal\";'),('en','messages:exif-contrast-1','s:4:\"Soft\";'),('en','messages:exif-contrast-2','s:4:\"Hard\";'),('en','messages:exif-saturation-0','s:6:\"Normal\";'),('en','messages:exif-saturation-1','s:14:\"Low saturation\";'),('en','messages:exif-saturation-2','s:15:\"High saturation\";'),('en','messages:exif-sharpness-0','s:6:\"Normal\";'),('en','messages:exif-sharpness-1','s:4:\"Soft\";'),('en','messages:exif-sharpness-2','s:4:\"Hard\";'),('en','messages:exif-subjectdistancerange-0','s:7:\"Unknown\";'),('en','messages:exif-subjectdistancerange-1','s:5:\"Macro\";'),('en','messages:exif-subjectdistancerange-2','s:10:\"Close view\";'),('en','messages:exif-subjectdistancerange-3','s:12:\"Distant view\";'),('en','messages:exif-gpslatitude-n','s:14:\"North latitude\";'),('en','messages:exif-gpslatitude-s','s:14:\"South latitude\";'),('en','messages:exif-gpslongitude-e','s:14:\"East longitude\";'),('en','messages:exif-gpslongitude-w','s:14:\"West longitude\";'),('en','messages:exif-gpsaltitude-above-sealevel','s:45:\"$1 {{PLURAL:$1|meter|meters}} above sea level\";'),('en','messages:exif-gpsaltitude-below-sealevel','s:45:\"$1 {{PLURAL:$1|meter|meters}} below sea level\";'),('en','messages:exif-gpsstatus-a','s:23:\"Measurement in progress\";'),('en','messages:exif-gpsstatus-v','s:28:\"Measurement interoperability\";'),('en','messages:exif-gpsmeasuremode-2','s:25:\"2-dimensional measurement\";'),('en','messages:exif-gpsmeasuremode-3','s:25:\"3-dimensional measurement\";'),('en','messages:exif-gpsspeed-k','s:19:\"Kilometers per hour\";'),('en','messages:exif-gpsspeed-m','s:14:\"Miles per hour\";'),('en','messages:exif-gpsspeed-n','s:5:\"Knots\";'),('en','messages:exif-gpsdestdistance-k','s:10:\"Kilometers\";'),('en','messages:exif-gpsdestdistance-m','s:5:\"Miles\";'),('en','messages:exif-gpsdestdistance-n','s:14:\"Nautical miles\";'),('en','messages:exif-gpsdop-excellent','s:14:\"Excellent ($1)\";'),('en','messages:exif-gpsdop-good','s:9:\"Good ($1)\";'),('en','messages:exif-gpsdop-moderate','s:13:\"Moderate ($1)\";'),('en','messages:exif-gpsdop-fair','s:9:\"Fair ($1)\";'),('en','messages:exif-gpsdop-poor','s:9:\"Poor ($1)\";'),('en','messages:exif-objectcycle-a','s:12:\"Morning only\";'),('en','messages:exif-objectcycle-p','s:12:\"Evening only\";'),('en','messages:exif-objectcycle-b','s:24:\"Both morning and evening\";'),('en','messages:exif-gpsdirection-t','s:14:\"True direction\";'),('en','messages:exif-gpsdirection-m','s:18:\"Magnetic direction\";'),('en','messages:exif-ycbcrpositioning-1','s:8:\"Centered\";'),('en','messages:exif-ycbcrpositioning-2','s:8:\"Co-sited\";'),('en','messages:exif-dc-contributor','s:12:\"Contributors\";'),('en','messages:exif-dc-coverage','s:34:\"Spatial or temporal scope of media\";'),('en','messages:exif-dc-date','s:7:\"Date(s)\";'),('en','messages:exif-dc-publisher','s:9:\"Publisher\";'),('en','messages:exif-dc-relation','s:13:\"Related media\";'),('en','messages:exif-dc-rights','s:6:\"Rights\";'),('en','messages:exif-dc-source','s:12:\"Source media\";'),('en','messages:exif-dc-type','s:13:\"Type of media\";'),('en','messages:exif-rating-rejected','s:8:\"Rejected\";'),('en','messages:exif-isospeedratings-overflow','s:18:\"Greater than 65535\";'),('en','messages:exif-maxaperturevalue-value','s:14:\"$1 APEX (f/$2)\";'),('en','messages:exif-iimcategory-ace','s:31:\"Arts, culture and entertainment\";'),('en','messages:exif-iimcategory-clj','s:13:\"Crime and law\";'),('en','messages:exif-iimcategory-dis','s:23:\"Disasters and accidents\";'),('en','messages:exif-iimcategory-fin','s:20:\"Economy and business\";'),('en','messages:exif-iimcategory-edu','s:9:\"Education\";'),('en','messages:exif-iimcategory-evn','s:11:\"Environment\";'),('en','messages:exif-iimcategory-hth','s:6:\"Health\";'),('en','messages:exif-iimcategory-hum','s:14:\"Human interest\";'),('en','messages:exif-iimcategory-lab','s:6:\"Labour\";'),('en','messages:exif-iimcategory-lif','s:21:\"Lifestyle and leisure\";'),('en','messages:exif-iimcategory-pol','s:8:\"Politics\";'),('en','messages:exif-iimcategory-rel','s:19:\"Religion and belief\";'),('en','messages:exif-iimcategory-sci','s:22:\"Science and technology\";'),('en','messages:exif-iimcategory-soi','s:13:\"Social issues\";'),('en','messages:exif-iimcategory-spo','s:6:\"Sports\";'),('en','messages:exif-iimcategory-war','s:24:\"War, conflict and unrest\";'),('en','messages:exif-iimcategory-wea','s:7:\"Weather\";'),('en','messages:exif-urgency-normal','s:11:\"Normal ($1)\";'),('en','messages:exif-urgency-low','s:8:\"Low ($1)\";'),('en','messages:exif-urgency-high','s:9:\"High ($1)\";'),('en','messages:exif-urgency-other','s:26:\"User-defined priority ($1)\";'),('en','messages:edit-externally','s:44:\"Edit this file using an external application\";'),('en','messages:edit-externally-help','s:100:\"(See the [//www.mediawiki.org/wiki/Manual:External_editors setup instructions] for more information)\";'),('en','messages:watchlistall2','s:3:\"all\";'),('en','messages:namespacesall','s:3:\"all\";'),('en','messages:monthsall','s:3:\"all\";'),('en','messages:limitall','s:3:\"all\";'),('en','messages:confirmemail','s:22:\"Confirm e-mail address\";'),('en','messages:confirmemail_noemail','s:92:\"You do not have a valid e-mail address set in your [[Special:Preferences|user preferences]].\";'),('en','messages:confirmemail_text','s:284:\"{{SITENAME}} requires that you validate your e-mail address before using e-mail features.\nActivate the button below to send a confirmation mail to your address.\nThe mail will include a link containing a code;\nload the link in your browser to confirm that your e-mail address is valid.\";'),('en','messages:confirmemail_pending','s:180:\"A confirmation code has already been e-mailed to you;\nif you recently created your account, you may wish to wait a few minutes for it to arrive before trying to request a new code.\";'),('en','messages:confirmemail_send','s:24:\"Mail a confirmation code\";'),('en','messages:confirmemail_sent','s:25:\"Confirmation e-mail sent.\";'),('en','messages:confirmemail_oncreate','s:176:\"A confirmation code was sent to your e-mail address.\nThis code is not required to log in, but you will need to provide it before enabling any e-mail-based features in the wiki.\";'),('en','messages:confirmemail_sendfailed','s:129:\"{{SITENAME}} could not send your confirmation mail.\nPlease check your e-mail address for invalid characters.\n\nMailer returned: $1\";'),('en','messages:confirmemail_invalid','s:53:\"Invalid confirmation code.\nThe code may have expired.\";'),('en','messages:confirmemail_needlogin','s:46:\"You need to $1 to confirm your e-mail address.\";'),('en','messages:confirmemail_success','s:100:\"Your e-mail address has been confirmed.\nYou may now [[Special:UserLogin|log in]] and enjoy the wiki.\";'),('en','messages:confirmemail_loggedin','s:43:\"Your e-mail address has now been confirmed.\";'),('en','messages:confirmemail_error','s:46:\"Something went wrong saving your confirmation.\";'),('en','messages:confirmemail_subject','s:40:\"{{SITENAME}} e-mail address confirmation\";'),('en','messages:confirmemail_body','s:400:\"Someone, probably you, from IP address $1,\nhas registered an account \"$2\" with this e-mail address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and activate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf you did *not* register the account, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_body_changed','s:415:\"Someone, probably you, from IP address $1,\nhas changed the e-mail address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and reactivate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_body_set','s:411:\"Someone, probably you, from IP address $1,\nhas set the e-mail address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and reactivate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_invalidated','s:36:\"E-mail address confirmation canceled\";'),('en','messages:invalidateemail','s:26:\"Cancel e-mail confirmation\";'),('en','messages:scarytranscludedisabled','s:36:\"[Interwiki transcluding is disabled]\";'),('en','messages:scarytranscludefailed','s:30:\"[Template fetch failed for $1]\";'),('en','messages:scarytranscludetoolong','s:17:\"[URL is too long]\";'),('en','messages:trackbackbox','s:34:\"Trackbacks for this page:<br />\n$1\";'),('en','messages:trackback','s:16:\"; $4 $5: [$2 $1]\";'),('en','messages:trackbackexcerpt','s:37:\"; $4 $5: [$2 $1]: <nowiki>$3</nowiki>\";'),('en','messages:trackbackremove','s:13:\"([$1 Delete])\";'),('en','messages:trackbacklink','s:9:\"Trackback\";'),('en','messages:trackbackdeleteok','s:39:\"The trackback was successfully deleted.\";'),('en','messages:deletedwhileediting','s:63:\"\'\'\'Warning\'\'\': This page was deleted after you started editing!\";'),('en','messages:confirmrecreate','s:168:\"User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing with reason:\n: \'\'$2\'\'\nPlease confirm that you really want to recreate this page.\";'),('en','messages:confirmrecreate-noreason','s:148:\"User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing.  Please confirm that you really want to recreate this page.\";'),('en','messages:recreate','s:8:\"Recreate\";'),('en','messages:unit-pixel','s:2:\"px\";'),('en','messages:confirm_purge_button','s:2:\"OK\";'),('en','messages:confirm-purge-top','s:29:\"Clear the cache of this page?\";'),('en','messages:confirm-purge-bottom','s:79:\"Purging a page clears the cache and forces the most current revision to appear.\";'),('en','messages:confirm-watch-button','s:2:\"OK\";'),('en','messages:confirm-watch-top','s:32:\"Add this page to your watchlist?\";'),('en','messages:confirm-unwatch-button','s:2:\"OK\";'),('en','messages:confirm-unwatch-top','s:37:\"Remove this page from your watchlist?\";'),('en','messages:semicolon-separator','s:6:\";&#32;\";'),('en','messages:comma-separator','s:6:\",&#32;\";'),('en','messages:colon-separator','s:6:\":&#32;\";'),('en','messages:autocomment-prefix','s:6:\"-&#32;\";'),('en','messages:pipe-separator','s:11:\"&#32;|&#32;\";'),('en','messages:word-separator','s:5:\"&#32;\";'),('en','messages:ellipsis','s:3:\"...\";'),('en','messages:percent','s:3:\"$1%\";'),('en','messages:parentheses','s:4:\"($1)\";'),('en','messages:imgmultipageprev','s:17:\"← previous page\";'),('en','messages:imgmultipagenext','s:13:\"next page →\";'),('en','messages:imgmultigo','s:3:\"Go!\";'),('en','messages:imgmultigoto','s:13:\"Go to page $1\";'),('en','messages:ascending_abbrev','s:3:\"asc\";'),('en','messages:descending_abbrev','s:4:\"desc\";'),('en','messages:table_pager_next','s:9:\"Next page\";'),('en','messages:table_pager_prev','s:13:\"Previous page\";'),('en','messages:table_pager_first','s:10:\"First page\";'),('en','messages:table_pager_last','s:9:\"Last page\";'),('en','messages:table_pager_limit','s:22:\"Show $1 items per page\";'),('en','messages:table_pager_limit_label','s:15:\"Items per page:\";'),('en','messages:table_pager_limit_submit','s:2:\"Go\";'),('en','messages:table_pager_empty','s:10:\"No results\";'),('en','messages:autosumm-blank','s:16:\"Blanked the page\";'),('en','messages:autosumm-replace','s:26:\"Replaced content with \"$1\"\";'),('en','messages:autoredircomment','s:25:\"Redirected page to [[$1]]\";'),('en','messages:autosumm-new','s:22:\"Created page with \"$1\"\";'),('en','messages:autoblock_whitelist','s:406:\"AOL http://webmaster.info.aol.com/proxyinfo.html\n*64.12.96.0/19\n*149.174.160.0/20\n*152.163.240.0/21\n*152.163.248.0/22\n*152.163.252.0/23\n*152.163.96.0/22\n*152.163.100.0/23\n*195.93.32.0/22\n*195.93.48.0/22\n*195.93.64.0/19\n*195.93.96.0/19\n*195.93.16.0/20\n*198.81.0.0/22\n*198.81.16.0/20\n*198.81.8.0/23\n*202.67.64.128/25\n*205.188.192.0/20\n*205.188.208.0/23\n*205.188.112.0/20\n*205.188.146.144/30\n*207.200.112.0/21\";'),('en','messages:size-bytes','s:4:\"$1 B\";'),('en','messages:size-kilobytes','s:5:\"$1 KB\";'),('en','messages:size-megabytes','s:5:\"$1 MB\";'),('en','messages:size-gigabytes','s:5:\"$1 GB\";'),('en','messages:livepreview-loading','s:10:\"Loading...\";'),('en','messages:livepreview-ready','s:17:\"Loading... Ready!\";'),('en','messages:livepreview-failed','s:40:\"Live preview failed!\nTry normal preview.\";'),('en','messages:livepreview-error','s:47:\"Failed to connect: $1 \"$2\".\nTry normal preview.\";'),('en','messages:lag-warn-normal','s:81:\"Changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list.\";'),('en','messages:lag-warn-high','s:114:\"Due to high database server lag, changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list.\";'),('en','messages:watchlistedit-numitems','s:78:\"Your watchlist contains {{PLURAL:$1|1 title|$1 titles}}, excluding talk pages.\";'),('en','messages:watchlistedit-noitems','s:34:\"Your watchlist contains no titles.\";'),('en','messages:watchlistedit-normal-title','s:14:\"Edit watchlist\";'),('en','messages:watchlistedit-normal-legend','s:28:\"Remove titles from watchlist\";'),('en','messages:watchlistedit-normal-explain','s:197:\"Titles on your watchlist are shown below.\nTo remove a title, check the box next to it, and click \"{{int:Watchlistedit-normal-submit}}\".\nYou can also [[Special:EditWatchlist/raw|edit the raw list]].\";'),('en','messages:watchlistedit-normal-submit','s:13:\"Remove titles\";'),('en','messages:watchlistedit-normal-done','s:69:\"{{PLURAL:$1|1 title was|$1 titles were}} removed from your watchlist:\";'),('en','messages:watchlistedit-raw-title','s:18:\"Edit raw watchlist\";'),('en','messages:watchlistedit-raw-legend','s:18:\"Edit raw watchlist\";'),('en','messages:watchlistedit-raw-explain','s:241:\"Titles on your watchlist are shown below, and can be edited by adding to and removing from the list;\none title per line.\nWhen finished, click \"{{int:Watchlistedit-raw-submit}}\".\nYou can also [[Special:EditWatchlist|use the standard editor]].\";'),('en','messages:watchlistedit-raw-titles','s:7:\"Titles:\";'),('en','messages:watchlistedit-raw-submit','s:16:\"Update watchlist\";'),('en','messages:watchlistedit-raw-done','s:32:\"Your watchlist has been updated.\";'),('en','messages:watchlistedit-raw-added','s:47:\"{{PLURAL:$1|1 title was|$1 titles were}} added:\";'),('en','messages:watchlistedit-raw-removed','s:49:\"{{PLURAL:$1|1 title was|$1 titles were}} removed:\";'),('en','messages:watchlisttools-view','s:21:\"View relevant changes\";'),('en','messages:watchlisttools-edit','s:23:\"View and edit watchlist\";'),('en','messages:watchlisttools-raw','s:18:\"Edit raw watchlist\";'),('en','messages:iranian-calendar-m1','s:9:\"Farvardin\";'),('en','messages:iranian-calendar-m2','s:11:\"Ordibehesht\";'),('en','messages:iranian-calendar-m3','s:7:\"Khordad\";'),('en','messages:iranian-calendar-m4','s:3:\"Tir\";'),('en','messages:iranian-calendar-m5','s:6:\"Mordad\";'),('en','messages:iranian-calendar-m6','s:9:\"Shahrivar\";'),('en','messages:iranian-calendar-m7','s:4:\"Mehr\";'),('en','messages:iranian-calendar-m8','s:4:\"Aban\";'),('en','messages:iranian-calendar-m9','s:4:\"Azar\";'),('en','messages:iranian-calendar-m10','s:3:\"Dey\";'),('en','messages:iranian-calendar-m11','s:6:\"Bahman\";'),('en','messages:iranian-calendar-m12','s:6:\"Esfand\";'),('en','messages:hijri-calendar-m1','s:8:\"Muharram\";'),('en','messages:hijri-calendar-m2','s:5:\"Safar\";'),('en','messages:hijri-calendar-m3','s:14:\"Rabi\' al-awwal\";'),('en','messages:hijri-calendar-m4','s:14:\"Rabi\' al-thani\";'),('en','messages:hijri-calendar-m5','s:15:\"Jumada al-awwal\";'),('en','messages:hijri-calendar-m6','s:15:\"Jumada al-thani\";'),('en','messages:hijri-calendar-m7','s:5:\"Rajab\";'),('en','messages:hijri-calendar-m8','s:8:\"Sha\'aban\";'),('en','messages:hijri-calendar-m9','s:7:\"Ramadan\";'),('en','messages:hijri-calendar-m10','s:7:\"Shawwal\";'),('en','messages:hijri-calendar-m11','s:13:\"Dhu al-Qi\'dah\";'),('en','messages:hijri-calendar-m12','s:13:\"Dhu al-Hijjah\";'),('en','messages:hebrew-calendar-m1','s:7:\"Tishrei\";'),('en','messages:hebrew-calendar-m2','s:8:\"Cheshvan\";'),('en','messages:hebrew-calendar-m3','s:6:\"Kislev\";'),('en','messages:hebrew-calendar-m4','s:5:\"Tevet\";'),('en','messages:hebrew-calendar-m5','s:6:\"Shevat\";'),('en','messages:hebrew-calendar-m6','s:4:\"Adar\";'),('en','messages:hebrew-calendar-m6a','s:6:\"Adar I\";'),('en','messages:hebrew-calendar-m6b','s:7:\"Adar II\";'),('en','messages:hebrew-calendar-m7','s:5:\"Nisan\";'),('en','messages:hebrew-calendar-m8','s:4:\"Iyar\";'),('en','messages:hebrew-calendar-m9','s:5:\"Sivan\";'),('en','messages:hebrew-calendar-m10','s:5:\"Tamuz\";'),('en','messages:hebrew-calendar-m11','s:2:\"Av\";'),('en','messages:hebrew-calendar-m12','s:4:\"Elul\";'),('en','messages:hebrew-calendar-m1-gen','s:7:\"Tishrei\";'),('en','messages:hebrew-calendar-m2-gen','s:8:\"Cheshvan\";'),('en','messages:hebrew-calendar-m3-gen','s:6:\"Kislev\";'),('en','messages:hebrew-calendar-m4-gen','s:5:\"Tevet\";'),('en','messages:hebrew-calendar-m5-gen','s:6:\"Shevat\";'),('en','messages:hebrew-calendar-m6-gen','s:4:\"Adar\";'),('en','messages:hebrew-calendar-m6a-gen','s:6:\"Adar I\";'),('en','messages:hebrew-calendar-m6b-gen','s:7:\"Adar II\";'),('en','messages:hebrew-calendar-m7-gen','s:5:\"Nisan\";'),('en','messages:hebrew-calendar-m8-gen','s:4:\"Iyar\";'),('en','messages:hebrew-calendar-m9-gen','s:5:\"Sivan\";'),('en','messages:hebrew-calendar-m10-gen','s:5:\"Tamuz\";'),('en','messages:hebrew-calendar-m11-gen','s:2:\"Av\";'),('en','messages:hebrew-calendar-m12-gen','s:4:\"Elul\";'),('en','messages:signature','s:21:\"[[{{ns:user}}:$1|$2]]\";'),('en','messages:signature-anon','s:36:\"[[{{#special:Contributions}}/$1|$2]]\";'),('en','messages:timezone-utc','s:3:\"UTC\";'),('en','messages:unknown_extension_tag','s:26:\"Unknown extension tag \"$1\"\";'),('en','messages:duplicate-defaultsort','s:77:\"\'\'\'Warning:\'\'\' Default sort key \"$2\" overrides earlier default sort key \"$1\".\";'),('en','messages:version','s:7:\"Version\";'),('en','messages:version-extensions','s:20:\"Installed extensions\";'),('en','messages:version-specialpages','s:13:\"Special pages\";'),('en','messages:version-parserhooks','s:12:\"Parser hooks\";'),('en','messages:version-variables','s:9:\"Variables\";'),('en','messages:version-antispam','s:15:\"Spam prevention\";'),('en','messages:version-skins','s:5:\"Skins\";'),('en','messages:version-api','s:3:\"API\";'),('en','messages:version-other','s:5:\"Other\";'),('en','messages:version-mediahandlers','s:14:\"Media handlers\";'),('en','messages:version-hooks','s:5:\"Hooks\";'),('en','messages:version-extension-functions','s:19:\"Extension functions\";'),('en','messages:version-parser-extensiontags','s:21:\"Parser extension tags\";'),('en','messages:version-parser-function-hooks','s:21:\"Parser function hooks\";'),('en','messages:version-hook-name','s:9:\"Hook name\";'),('en','messages:version-hook-subscribedby','s:13:\"Subscribed by\";'),('en','messages:version-version','s:12:\"(Version $1)\";'),('en','messages:version-svn-revision','s:5:\"(r$2)\";'),('en','messages:version-license','s:7:\"License\";'),('en','messages:version-poweredby-credits','s:88:\"This wiki is powered by \'\'\'[//www.mediawiki.org/ MediaWiki]\'\'\', copyright © 2001-$1 $2.\";'),('en','messages:version-poweredby-others','s:6:\"others\";'),('en','messages:version-license-info','s:777:\"MediaWiki is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nMediaWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received [{{SERVER}}{{SCRIPTPATH}}/COPYING a copy of the GNU General Public License] along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA or [//www.gnu.org/licenses/old-licenses/gpl-2.0.html read it online].\";'),('en','messages:version-software','s:18:\"Installed software\";'),('en','messages:version-software-product','s:7:\"Product\";'),('en','messages:version-software-version','s:7:\"Version\";'),('en','messages:filepath','s:9:\"File path\";'),('en','messages:filepath-page','s:5:\"File:\";'),('en','messages:filepath-submit','s:2:\"Go\";'),('en','messages:filepath-summary','s:161:\"This special page returns the complete path for a file.\nImages are shown in full resolution, other file types are started with their associated program directly.\";'),('en','messages:fileduplicatesearch','s:26:\"Search for duplicate files\";'),('en','messages:fileduplicatesearch-summary','s:48:\"Search for duplicate files based on hash values.\";'),('en','messages:fileduplicatesearch-legend','s:22:\"Search for a duplicate\";'),('en','messages:fileduplicatesearch-filename','s:9:\"Filename:\";'),('en','messages:fileduplicatesearch-submit','s:6:\"Search\";'),('en','messages:fileduplicatesearch-info','s:52:\"$1 × $2 pixel<br />File size: $3<br />MIME type: $4\";'),('en','messages:fileduplicatesearch-result-1','s:43:\"The file \"$1\" has no identical duplication.\";'),('en','messages:fileduplicatesearch-result-n','s:82:\"The file \"$1\" has {{PLURAL:$2|1 identical duplication|$2 identical duplications}}.\";'),('en','messages:fileduplicatesearch-noresults','s:25:\"No file named \"$1\" found.\";'),('en','messages:specialpages','s:13:\"Special pages\";'),('en','messages:specialpages-summary','s:0:\"\";'),('en','messages:specialpages-note','s:188:\"----\n* Normal special pages.\n* <span class=\"mw-specialpagerestricted\">Restricted special pages.</span>\n* <span class=\"mw-specialpagecached\">Cached special pages (might be obsolete).</span>\";'),('en','messages:specialpages-group-maintenance','s:19:\"Maintenance reports\";'),('en','messages:specialpages-group-other','s:19:\"Other special pages\";'),('en','messages:specialpages-group-login','s:15:\"Login / sign up\";'),('en','messages:specialpages-group-changes','s:23:\"Recent changes and logs\";'),('en','messages:specialpages-group-media','s:25:\"Media reports and uploads\";'),('en','messages:specialpages-group-users','s:16:\"Users and rights\";'),('en','messages:specialpages-group-highuse','s:14:\"High use pages\";'),('en','messages:specialpages-group-pages','s:14:\"Lists of pages\";'),('en','messages:specialpages-group-pagetools','s:10:\"Page tools\";'),('en','messages:specialpages-group-wiki','s:19:\"Wiki data and tools\";'),('en','messages:specialpages-group-redirects','s:25:\"Redirecting special pages\";'),('en','messages:specialpages-group-spam','s:10:\"Spam tools\";'),('en','messages:blankpage','s:10:\"Blank page\";'),('en','messages:intentionallyblankpage','s:38:\"This page is intentionally left blank.\";'),('en','messages:external_image_whitelist','s:440:\" #Leave this line exactly as it is<pre>\n#Put regular expression fragments (just the part that goes between the //) below\n#These will be matched with the URLs of external (hotlinked) images\n#Those that match will be displayed as images, otherwise only a link to the image will be shown\n#Lines beginning with # are treated as comments\n#This is case-insensitive\n\n#Put all regex fragments above this line. Leave this line exactly as it is</pre>\";'),('en','messages:tags','s:17:\"Valid change tags\";'),('en','messages:tag-filter','s:28:\"[[Special:Tags|Tag]] filter:\";'),('en','messages:tag-filter-submit','s:6:\"Filter\";'),('en','messages:tags-title','s:4:\"Tags\";'),('en','messages:tags-intro','s:84:\"This page lists the tags that the software may mark an edit with, and their meaning.\";'),('en','messages:tags-tag','s:8:\"Tag name\";'),('en','messages:tags-display-header','s:26:\"Appearance on change lists\";'),('en','messages:tags-description-header','s:27:\"Full description of meaning\";'),('en','messages:tags-hitcount-header','s:14:\"Tagged changes\";'),('en','messages:tags-edit','s:4:\"edit\";'),('en','messages:tags-hitcount','s:31:\"$1 {{PLURAL:$1|change|changes}}\";'),('en','messages:comparepages','s:13:\"Compare pages\";'),('en','messages:compare-selector','s:22:\"Compare page revisions\";'),('en','messages:compare-page1','s:6:\"Page 1\";'),('en','messages:compare-page2','s:6:\"Page 2\";'),('en','messages:compare-rev1','s:10:\"Revision 1\";'),('en','messages:compare-rev2','s:10:\"Revision 2\";'),('en','messages:compare-submit','s:7:\"Compare\";'),('en','messages:dberr-header','s:23:\"This wiki has a problem\";'),('en','messages:dberr-problems','s:56:\"Sorry!\nThis site is experiencing technical difficulties.\";'),('en','messages:dberr-again','s:40:\"Try waiting a few minutes and reloading.\";'),('en','messages:dberr-info','s:40:\"(Cannot contact the database server: $1)\";'),('en','messages:dberr-usegoogle','s:49:\"You can try searching via Google in the meantime.\";'),('en','messages:dberr-outofdate','s:58:\"Note that their indexes of our content may be out of date.\";'),('en','messages:dberr-cachederror','s:71:\"This is a cached copy of the requested page, and may not be up to date.\";'),('en','messages:htmlform-invalid-input','s:42:\"There are problems with some of your input\";'),('en','messages:htmlform-select-badoption','s:46:\"The value you specified is not a valid option.\";'),('en','messages:htmlform-int-invalid','s:42:\"The value you specified is not an integer.\";'),('en','messages:htmlform-float-invalid','s:40:\"The value you specified is not a number.\";'),('en','messages:htmlform-int-toolow','s:50:\"The value you specified is below the minimum of $1\";'),('en','messages:htmlform-int-toohigh','s:50:\"The value you specified is above the maximum of $1\";'),('en','messages:htmlform-required','s:22:\"This value is required\";'),('en','messages:htmlform-submit','s:6:\"Submit\";'),('en','messages:htmlform-reset','s:12:\"Undo changes\";'),('en','messages:htmlform-selectorother-other','s:5:\"Other\";'),('en','messages:sqlite-has-fts','s:32:\"$1 with full-text search support\";'),('en','messages:sqlite-no-fts','s:35:\"$1 without full-text search support\";'),('en','rtl','b:0;'),('en','capitalizeAllNouns','b:0;'),('en','digitTransformTable','N;'),('en','separatorTransformTable','N;'),('en','fallback8bitEncoding','s:12:\"windows-1252\";'),('en','linkPrefixExtension','b:0;'),('en','linkTrail','s:18:\"/^([a-z]+)(.*)$/sD\";'),('en','namespaceAliases','a:0:{}'),('en','dateFormats','a:12:{s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j F Y\";s:8:\"dmy both\";s:10:\"H:i, j F Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}'),('en','datePreferences','a:5:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";i:4;s:8:\"ISO 8601\";}'),('en','datePreferenceMigrationMap','a:4:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";}'),('en','defaultDateFormat','s:10:\"dmy or mdy\";'),('en','extraUserToggles','a:0:{}'),('en','specialPageAliases','a:97:{s:11:\"Activeusers\";a:1:{i:0;s:11:\"ActiveUsers\";}s:11:\"Allmessages\";a:1:{i:0;s:11:\"AllMessages\";}s:8:\"Allpages\";a:1:{i:0;s:8:\"AllPages\";}s:12:\"Ancientpages\";a:1:{i:0;s:12:\"AncientPages\";}s:8:\"Badtitle\";a:1:{i:0;s:8:\"Badtitle\";}s:9:\"Blankpage\";a:1:{i:0;s:9:\"BlankPage\";}s:5:\"Block\";a:3:{i:0;s:5:\"Block\";i:1;s:7:\"BlockIP\";i:2;s:9:\"BlockUser\";}s:7:\"Blockme\";a:1:{i:0;s:7:\"BlockMe\";}s:11:\"Booksources\";a:1:{i:0;s:11:\"BookSources\";}s:15:\"BrokenRedirects\";a:1:{i:0;s:15:\"BrokenRedirects\";}s:10:\"Categories\";a:1:{i:0;s:10:\"Categories\";}s:14:\"ChangePassword\";a:3:{i:0;s:14:\"ChangePassword\";i:1;s:9:\"ResetPass\";i:2;s:13:\"ResetPassword\";}s:12:\"ComparePages\";a:1:{i:0;s:12:\"ComparePages\";}s:12:\"Confirmemail\";a:1:{i:0;s:12:\"ConfirmEmail\";}s:13:\"Contributions\";a:2:{i:0;s:13:\"Contributions\";i:1;s:8:\"Contribs\";}s:13:\"CreateAccount\";a:1:{i:0;s:13:\"CreateAccount\";}s:12:\"Deadendpages\";a:1:{i:0;s:12:\"DeadendPages\";}s:20:\"DeletedContributions\";a:1:{i:0;s:20:\"DeletedContributions\";}s:15:\"Disambiguations\";a:1:{i:0;s:15:\"Disambiguations\";}s:15:\"DoubleRedirects\";a:1:{i:0;s:15:\"DoubleRedirects\";}s:13:\"EditWatchlist\";a:1:{i:0;s:13:\"EditWatchlist\";}s:9:\"Emailuser\";a:1:{i:0;s:9:\"EmailUser\";}s:6:\"Export\";a:1:{i:0;s:6:\"Export\";}s:15:\"Fewestrevisions\";a:1:{i:0;s:15:\"FewestRevisions\";}s:19:\"FileDuplicateSearch\";a:1:{i:0;s:19:\"FileDuplicateSearch\";}s:8:\"Filepath\";a:1:{i:0;s:8:\"FilePath\";}s:6:\"Import\";a:1:{i:0;s:6:\"Import\";}s:15:\"Invalidateemail\";a:1:{i:0;s:15:\"InvalidateEmail\";}s:9:\"BlockList\";a:3:{i:0;s:9:\"BlockList\";i:1;s:10:\"ListBlocks\";i:2;s:11:\"IPBlockList\";}s:10:\"LinkSearch\";a:1:{i:0;s:10:\"LinkSearch\";}s:10:\"Listadmins\";a:1:{i:0;s:10:\"ListAdmins\";}s:8:\"Listbots\";a:1:{i:0;s:8:\"ListBots\";}s:9:\"Listfiles\";a:3:{i:0;s:9:\"ListFiles\";i:1;s:8:\"FileList\";i:2;s:9:\"ImageList\";}s:15:\"Listgrouprights\";a:2:{i:0;s:15:\"ListGroupRights\";i:1;s:15:\"UserGroupRights\";}s:13:\"Listredirects\";a:1:{i:0;s:13:\"ListRedirects\";}s:9:\"Listusers\";a:2:{i:0;s:9:\"ListUsers\";i:1;s:8:\"UserList\";}s:6:\"Lockdb\";a:1:{i:0;s:6:\"LockDB\";}s:3:\"Log\";a:2:{i:0;s:3:\"Log\";i:1;s:4:\"Logs\";}s:11:\"Lonelypages\";a:2:{i:0;s:11:\"LonelyPages\";i:1;s:13:\"OrphanedPages\";}s:9:\"Longpages\";a:1:{i:0;s:9:\"LongPages\";}s:12:\"MergeHistory\";a:1:{i:0;s:12:\"MergeHistory\";}s:10:\"MIMEsearch\";a:1:{i:0;s:10:\"MIMESearch\";}s:14:\"Mostcategories\";a:1:{i:0;s:14:\"MostCategories\";}s:10:\"Mostimages\";a:3:{i:0;s:15:\"MostLinkedFiles\";i:1;s:9:\"MostFiles\";i:2;s:10:\"MostImages\";}s:10:\"Mostlinked\";a:2:{i:0;s:15:\"MostLinkedPages\";i:1;s:10:\"MostLinked\";}s:20:\"Mostlinkedcategories\";a:2:{i:0;s:20:\"MostLinkedCategories\";i:1;s:18:\"MostUsedCategories\";}s:19:\"Mostlinkedtemplates\";a:2:{i:0;s:19:\"MostLinkedTemplates\";i:1;s:17:\"MostUsedTemplates\";}s:13:\"Mostrevisions\";a:1:{i:0;s:13:\"MostRevisions\";}s:8:\"Movepage\";a:1:{i:0;s:8:\"MovePage\";}s:15:\"Mycontributions\";a:1:{i:0;s:15:\"MyContributions\";}s:6:\"Mypage\";a:1:{i:0;s:6:\"MyPage\";}s:6:\"Mytalk\";a:1:{i:0;s:6:\"MyTalk\";}s:9:\"Myuploads\";a:1:{i:0;s:9:\"MyUploads\";}s:9:\"Newimages\";a:2:{i:0;s:8:\"NewFiles\";i:1;s:9:\"NewImages\";}s:8:\"Newpages\";a:1:{i:0;s:8:\"NewPages\";}s:13:\"PasswordReset\";a:1:{i:0;s:13:\"PasswordReset\";}s:13:\"PermanentLink\";a:2:{i:0;s:13:\"PermanentLink\";i:1;s:9:\"PermaLink\";}s:12:\"Popularpages\";a:1:{i:0;s:12:\"PopularPages\";}s:11:\"Preferences\";a:1:{i:0;s:11:\"Preferences\";}s:11:\"Prefixindex\";a:1:{i:0;s:11:\"PrefixIndex\";}s:14:\"Protectedpages\";a:1:{i:0;s:14:\"ProtectedPages\";}s:15:\"Protectedtitles\";a:1:{i:0;s:15:\"ProtectedTitles\";}s:10:\"Randompage\";a:2:{i:0;s:6:\"Random\";i:1;s:10:\"RandomPage\";}s:14:\"Randomredirect\";a:1:{i:0;s:14:\"RandomRedirect\";}s:13:\"Recentchanges\";a:1:{i:0;s:13:\"RecentChanges\";}s:19:\"Recentchangeslinked\";a:2:{i:0;s:19:\"RecentChangesLinked\";i:1;s:14:\"RelatedChanges\";}s:14:\"Revisiondelete\";a:1:{i:0;s:14:\"RevisionDelete\";}s:12:\"RevisionMove\";a:1:{i:0;s:12:\"RevisionMove\";}s:6:\"Search\";a:1:{i:0;s:6:\"Search\";}s:10:\"Shortpages\";a:1:{i:0;s:10:\"ShortPages\";}s:12:\"Specialpages\";a:1:{i:0;s:12:\"SpecialPages\";}s:10:\"Statistics\";a:1:{i:0;s:10:\"Statistics\";}s:4:\"Tags\";a:1:{i:0;s:4:\"Tags\";}s:7:\"Unblock\";a:1:{i:0;s:7:\"Unblock\";}s:23:\"Uncategorizedcategories\";a:1:{i:0;s:23:\"UncategorizedCategories\";}s:19:\"Uncategorizedimages\";a:2:{i:0;s:18:\"UncategorizedFiles\";i:1;s:19:\"UncategorizedImages\";}s:18:\"Uncategorizedpages\";a:1:{i:0;s:18:\"UncategorizedPages\";}s:22:\"Uncategorizedtemplates\";a:1:{i:0;s:22:\"UncategorizedTemplates\";}s:8:\"Undelete\";a:1:{i:0;s:8:\"Undelete\";}s:8:\"Unlockdb\";a:1:{i:0;s:8:\"UnlockDB\";}s:16:\"Unusedcategories\";a:1:{i:0;s:16:\"UnusedCategories\";}s:12:\"Unusedimages\";a:2:{i:0;s:11:\"UnusedFiles\";i:1;s:12:\"UnusedImages\";}s:15:\"Unusedtemplates\";a:1:{i:0;s:15:\"UnusedTemplates\";}s:14:\"Unwatchedpages\";a:1:{i:0;s:14:\"UnwatchedPages\";}s:6:\"Upload\";a:1:{i:0;s:6:\"Upload\";}s:11:\"UploadStash\";a:1:{i:0;s:11:\"UploadStash\";}s:9:\"Userlogin\";a:1:{i:0;s:9:\"UserLogin\";}s:10:\"Userlogout\";a:1:{i:0;s:10:\"UserLogout\";}s:10:\"Userrights\";a:3:{i:0;s:10:\"UserRights\";i:1;s:9:\"MakeSysop\";i:2;s:7:\"MakeBot\";}s:7:\"Version\";a:1:{i:0;s:7:\"Version\";}s:16:\"Wantedcategories\";a:1:{i:0;s:16:\"WantedCategories\";}s:11:\"Wantedfiles\";a:1:{i:0;s:11:\"WantedFiles\";}s:11:\"Wantedpages\";a:2:{i:0;s:11:\"WantedPages\";i:1;s:11:\"BrokenLinks\";}s:15:\"Wantedtemplates\";a:1:{i:0;s:15:\"WantedTemplates\";}s:9:\"Watchlist\";a:1:{i:0;s:9:\"Watchlist\";}s:13:\"Whatlinkshere\";a:1:{i:0;s:13:\"WhatLinksHere\";}s:16:\"Withoutinterwiki\";a:1:{i:0;s:16:\"WithoutInterwiki\";}}'),('en','imageFiles','a:11:{s:11:\"button-bold\";s:15:\"button_bold.png\";s:13:\"button-italic\";s:17:\"button_italic.png\";s:11:\"button-link\";s:15:\"button_link.png\";s:14:\"button-extlink\";s:18:\"button_extlink.png\";s:15:\"button-headline\";s:19:\"button_headline.png\";s:12:\"button-image\";s:16:\"button_image.png\";s:12:\"button-media\";s:16:\"button_media.png\";s:11:\"button-math\";s:15:\"button_math.png\";s:13:\"button-nowiki\";s:17:\"button_nowiki.png\";s:10:\"button-sig\";s:14:\"button_sig.png\";s:9:\"button-hr\";s:13:\"button_hr.png\";}'),('en','preloadedMessages','a:95:{i:0;s:9:\"aboutpage\";i:1;s:9:\"aboutsite\";i:2;s:17:\"accesskey-ca-edit\";i:3;s:20:\"accesskey-ca-history\";i:4;s:23:\"accesskey-ca-nstab-main\";i:5;s:17:\"accesskey-ca-talk\";i:6;s:25:\"accesskey-n-currentevents\";i:7;s:16:\"accesskey-n-help\";i:8;s:32:\"accesskey-n-mainpage-description\";i:9;s:18:\"accesskey-n-portal\";i:10;s:22:\"accesskey-n-randompage\";i:11;s:25:\"accesskey-n-recentchanges\";i:12;s:23:\"accesskey-n-sitesupport\";i:13;s:16:\"accesskey-p-logo\";i:14;s:18:\"accesskey-pt-login\";i:15;s:16:\"accesskey-search\";i:16;s:25:\"accesskey-search-fulltext\";i:17;s:19:\"accesskey-search-go\";i:18;s:21:\"accesskey-t-permalink\";i:19;s:17:\"accesskey-t-print\";i:20;s:31:\"accesskey-t-recentchangeslinked\";i:21;s:24:\"accesskey-t-specialpages\";i:22;s:25:\"accesskey-t-whatlinkshere\";i:23;s:10:\"anonnotice\";i:24;s:15:\"colon-separator\";i:25;s:13:\"currentevents\";i:26;s:17:\"currentevents-url\";i:27;s:14:\"disclaimerpage\";i:28;s:11:\"disclaimers\";i:29;s:4:\"edit\";i:30;s:4:\"help\";i:31;s:8:\"helppage\";i:32;s:13:\"history_short\";i:33;s:6:\"jumpto\";i:34;s:16:\"jumptonavigation\";i:35;s:12:\"jumptosearch\";i:36;s:14:\"lastmodifiedat\";i:37;s:8:\"mainpage\";i:38;s:20:\"mainpage-description\";i:39;s:23:\"nav-login-createaccount\";i:40;s:10:\"navigation\";i:41;s:10:\"nstab-main\";i:42;s:15:\"opensearch-desc\";i:43;s:14:\"pagecategories\";i:44;s:18:\"pagecategorieslink\";i:45;s:9:\"pagetitle\";i:46;s:23:\"pagetitle-view-mainpage\";i:47;s:9:\"permalink\";i:48;s:13:\"personaltools\";i:49;s:6:\"portal\";i:50;s:10:\"portal-url\";i:51;s:16:\"printableversion\";i:52;s:7:\"privacy\";i:53;s:11:\"privacypage\";i:54;s:10:\"randompage\";i:55;s:14:\"randompage-url\";i:56;s:13:\"recentchanges\";i:57;s:17:\"recentchanges-url\";i:58;s:27:\"recentchangeslinked-toolbox\";i:59;s:13:\"retrievedfrom\";i:60;s:6:\"search\";i:61;s:13:\"searcharticle\";i:62;s:12:\"searchbutton\";i:63;s:7:\"sidebar\";i:64;s:14:\"site-atom-feed\";i:65;s:13:\"site-rss-feed\";i:66;s:10:\"sitenotice\";i:67;s:12:\"specialpages\";i:68;s:7:\"tagline\";i:69;s:4:\"talk\";i:70;s:7:\"toolbox\";i:71;s:15:\"tooltip-ca-edit\";i:72;s:18:\"tooltip-ca-history\";i:73;s:21:\"tooltip-ca-nstab-main\";i:74;s:15:\"tooltip-ca-talk\";i:75;s:23:\"tooltip-n-currentevents\";i:76;s:14:\"tooltip-n-help\";i:77;s:30:\"tooltip-n-mainpage-description\";i:78;s:16:\"tooltip-n-portal\";i:79;s:20:\"tooltip-n-randompage\";i:80;s:23:\"tooltip-n-recentchanges\";i:81;s:21:\"tooltip-n-sitesupport\";i:82;s:14:\"tooltip-p-logo\";i:83;s:20:\"tooltip-p-navigation\";i:84;s:16:\"tooltip-pt-login\";i:85;s:14:\"tooltip-search\";i:86;s:23:\"tooltip-search-fulltext\";i:87;s:17:\"tooltip-search-go\";i:88;s:19:\"tooltip-t-permalink\";i:89;s:15:\"tooltip-t-print\";i:90;s:29:\"tooltip-t-recentchangeslinked\";i:91;s:22:\"tooltip-t-specialpages\";i:92;s:23:\"tooltip-t-whatlinkshere\";i:93;s:5:\"views\";i:94;s:13:\"whatlinkshere\";}'),('en','namespaceGenderAliases','a:0:{}'),('en','fallbackSequence','a:0:{}'),('en','deps','a:5:{i:0;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEn.php\";s:9:\"timestamp\";i:1326230387;}i:1;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}s:24:\"wgExtensionMessagesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:24:\"wgExtensionMessagesFiles\";s:5:\"value\";a:1:{s:7:\"SVGEdit\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";}}s:23:\"wgExtensionAliasesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:23:\"wgExtensionAliasesFiles\";s:5:\"value\";a:0:{}}s:7:\"version\";O:18:\"ConstantDependency\":2:{s:4:\"name\";s:13:\"MW_LC_VERSION\";s:5:\"value\";i:1;}}'),('en','list','a:1:{s:8:\"messages\";a:2988:{i:0;s:23:\"svgedit-editbutton-edit\";i:1;s:21:\"svgedit-summary-label\";i:2;s:23:\"svgedit-summary-default\";i:3;s:25:\"svgedit-editor-save-close\";i:4;s:20:\"svgedit-editor-close\";i:5;s:12:\"svgedit-desc\";i:6;s:16:\"svgedit-edit-tab\";i:7;s:24:\"svgedit-edit-tab-tooltip\";i:8;s:22:\"svgedit-toolbar-insert\";i:9;s:7:\"sidebar\";i:10;s:13:\"tog-underline\";i:11;s:19:\"tog-highlightbroken\";i:12;s:11:\"tog-justify\";i:13;s:13:\"tog-hideminor\";i:14;s:17:\"tog-hidepatrolled\";i:15;s:25:\"tog-newpageshidepatrolled\";i:16;s:19:\"tog-extendwatchlist\";i:17;s:12:\"tog-usenewrc\";i:18;s:18:\"tog-numberheadings\";i:19;s:15:\"tog-showtoolbar\";i:20;s:18:\"tog-editondblclick\";i:21;s:15:\"tog-editsection\";i:22;s:27:\"tog-editsectiononrightclick\";i:23;s:11:\"tog-showtoc\";i:24;s:20:\"tog-rememberpassword\";i:25;s:18:\"tog-watchcreations\";i:26;s:16:\"tog-watchdefault\";i:27;s:14:\"tog-watchmoves\";i:28;s:17:\"tog-watchdeletion\";i:29;s:16:\"tog-minordefault\";i:30;s:16:\"tog-previewontop\";i:31;s:18:\"tog-previewonfirst\";i:32;s:11:\"tog-nocache\";i:33;s:24:\"tog-enotifwatchlistpages\";i:34;s:23:\"tog-enotifusertalkpages\";i:35;s:20:\"tog-enotifminoredits\";i:36;s:20:\"tog-enotifrevealaddr\";i:37;s:23:\"tog-shownumberswatching\";i:38;s:10:\"tog-oldsig\";i:39;s:12:\"tog-fancysig\";i:40;s:18:\"tog-externaleditor\";i:41;s:16:\"tog-externaldiff\";i:42;s:17:\"tog-showjumplinks\";i:43;s:18:\"tog-uselivepreview\";i:44;s:20:\"tog-forceeditsummary\";i:45;s:20:\"tog-watchlisthideown\";i:46;s:21:\"tog-watchlisthidebots\";i:47;s:22:\"tog-watchlisthideminor\";i:48;s:20:\"tog-watchlisthideliu\";i:49;s:22:\"tog-watchlisthideanons\";i:50;s:26:\"tog-watchlisthidepatrolled\";i:51;s:20:\"tog-nolangconversion\";i:52;s:16:\"tog-ccmeonemails\";i:53;s:12:\"tog-diffonly\";i:54;s:18:\"tog-showhiddencats\";i:55;s:17:\"tog-noconvertlink\";i:56;s:18:\"tog-norollbackdiff\";i:57;s:16:\"underline-always\";i:58;s:15:\"underline-never\";i:59;s:17:\"underline-default\";i:60;s:14:\"editfont-style\";i:61;s:16:\"editfont-default\";i:62;s:18:\"editfont-monospace\";i:63;s:18:\"editfont-sansserif\";i:64;s:14:\"editfont-serif\";i:65;s:6:\"sunday\";i:66;s:6:\"monday\";i:67;s:7:\"tuesday\";i:68;s:9:\"wednesday\";i:69;s:8:\"thursday\";i:70;s:6:\"friday\";i:71;s:8:\"saturday\";i:72;s:3:\"sun\";i:73;s:3:\"mon\";i:74;s:3:\"tue\";i:75;s:3:\"wed\";i:76;s:3:\"thu\";i:77;s:3:\"fri\";i:78;s:3:\"sat\";i:79;s:7:\"january\";i:80;s:8:\"february\";i:81;s:5:\"march\";i:82;s:5:\"april\";i:83;s:8:\"may_long\";i:84;s:4:\"june\";i:85;s:4:\"july\";i:86;s:6:\"august\";i:87;s:9:\"september\";i:88;s:7:\"october\";i:89;s:8:\"november\";i:90;s:8:\"december\";i:91;s:11:\"january-gen\";i:92;s:12:\"february-gen\";i:93;s:9:\"march-gen\";i:94;s:9:\"april-gen\";i:95;s:7:\"may-gen\";i:96;s:8:\"june-gen\";i:97;s:8:\"july-gen\";i:98;s:10:\"august-gen\";i:99;s:13:\"september-gen\";i:100;s:11:\"october-gen\";i:101;s:12:\"november-gen\";i:102;s:12:\"december-gen\";i:103;s:3:\"jan\";i:104;s:3:\"feb\";i:105;s:3:\"mar\";i:106;s:3:\"apr\";i:107;s:3:\"may\";i:108;s:3:\"jun\";i:109;s:3:\"jul\";i:110;s:3:\"aug\";i:111;s:3:\"sep\";i:112;s:3:\"oct\";i:113;s:3:\"nov\";i:114;s:3:\"dec\";i:115;s:14:\"pagecategories\";i:116;s:18:\"pagecategorieslink\";i:117;s:15:\"category_header\";i:118;s:13:\"subcategories\";i:119;s:21:\"category-media-header\";i:120;s:14:\"category-empty\";i:121;s:17:\"hidden-categories\";i:122;s:24:\"hidden-category-category\";i:123;s:21:\"category-subcat-count\";i:124;s:29:\"category-subcat-count-limited\";i:125;s:22:\"category-article-count\";i:126;s:30:\"category-article-count-limited\";i:127;s:19:\"category-file-count\";i:128;s:27:\"category-file-count-limited\";i:129;s:22:\"listingcontinuesabbrev\";i:130;s:14:\"index-category\";i:131;s:16:\"noindex-category\";i:132;s:20:\"broken-file-category\";i:133;s:10:\"linkprefix\";i:134;s:5:\"about\";i:135;s:7:\"article\";i:136;s:9:\"newwindow\";i:137;s:6:\"cancel\";i:138;s:13:\"moredotdotdot\";i:139;s:6:\"mypage\";i:140;s:6:\"mytalk\";i:141;s:8:\"anontalk\";i:142;s:10:\"navigation\";i:143;s:3:\"and\";i:144;s:6:\"qbfind\";i:145;s:8:\"qbbrowse\";i:146;s:6:\"qbedit\";i:147;s:13:\"qbpageoptions\";i:148;s:10:\"qbpageinfo\";i:149;s:11:\"qbmyoptions\";i:150;s:14:\"qbspecialpages\";i:151;s:3:\"faq\";i:152;s:7:\"faqpage\";i:153;s:9:\"sitetitle\";i:154;s:12:\"sitesubtitle\";i:155;s:24:\"vector-action-addsection\";i:156;s:20:\"vector-action-delete\";i:157;s:18:\"vector-action-move\";i:158;s:21:\"vector-action-protect\";i:159;s:22:\"vector-action-undelete\";i:160;s:23:\"vector-action-unprotect\";i:161;s:30:\"vector-simplesearch-preference\";i:162;s:18:\"vector-view-create\";i:163;s:16:\"vector-view-edit\";i:164;s:19:\"vector-view-history\";i:165;s:16:\"vector-view-view\";i:166;s:22:\"vector-view-viewsource\";i:167;s:7:\"actions\";i:168;s:10:\"namespaces\";i:169;s:8:\"variants\";i:170;s:14:\"errorpagetitle\";i:171;s:8:\"returnto\";i:172;s:7:\"tagline\";i:173;s:4:\"help\";i:174;s:6:\"search\";i:175;s:12:\"searchbutton\";i:176;s:2:\"go\";i:177;s:13:\"searcharticle\";i:178;s:7:\"history\";i:179;s:13:\"history_short\";i:180;s:13:\"updatedmarker\";i:181;s:16:\"printableversion\";i:182;s:9:\"permalink\";i:183;s:5:\"print\";i:184;s:4:\"view\";i:185;s:4:\"edit\";i:186;s:6:\"create\";i:187;s:12:\"editthispage\";i:188;s:16:\"create-this-page\";i:189;s:6:\"delete\";i:190;s:14:\"deletethispage\";i:191;s:14:\"undelete_short\";i:192;s:17:\"viewdeleted_short\";i:193;s:7:\"protect\";i:194;s:14:\"protect_change\";i:195;s:15:\"protectthispage\";i:196;s:9:\"unprotect\";i:197;s:17:\"unprotectthispage\";i:198;s:7:\"newpage\";i:199;s:8:\"talkpage\";i:200;s:16:\"talkpagelinktext\";i:201;s:11:\"specialpage\";i:202;s:13:\"personaltools\";i:203;s:11:\"postcomment\";i:204;s:10:\"addsection\";i:205;s:11:\"articlepage\";i:206;s:4:\"talk\";i:207;s:5:\"views\";i:208;s:7:\"toolbox\";i:209;s:8:\"userpage\";i:210;s:11:\"projectpage\";i:211;s:9:\"imagepage\";i:212;s:13:\"mediawikipage\";i:213;s:12:\"templatepage\";i:214;s:12:\"viewhelppage\";i:215;s:12:\"categorypage\";i:216;s:12:\"viewtalkpage\";i:217;s:14:\"otherlanguages\";i:218;s:14:\"redirectedfrom\";i:219;s:15:\"redirectpagesub\";i:220;s:14:\"talkpageheader\";i:221;s:14:\"lastmodifiedat\";i:222;s:9:\"viewcount\";i:223;s:13:\"protectedpage\";i:224;s:6:\"jumpto\";i:225;s:16:\"jumptonavigation\";i:226;s:12:\"jumptosearch\";i:227;s:15:\"view-pool-error\";i:228;s:12:\"pool-timeout\";i:229;s:14:\"pool-queuefull\";i:230;s:17:\"pool-errorunknown\";i:231;s:9:\"aboutsite\";i:232;s:9:\"aboutpage\";i:233;s:9:\"copyright\";i:234;s:13:\"copyrightpage\";i:235;s:13:\"currentevents\";i:236;s:17:\"currentevents-url\";i:237;s:11:\"disclaimers\";i:238;s:14:\"disclaimerpage\";i:239;s:8:\"edithelp\";i:240;s:12:\"edithelppage\";i:241;s:8:\"helppage\";i:242;s:8:\"mainpage\";i:243;s:20:\"mainpage-description\";i:244;s:10:\"policy-url\";i:245;s:6:\"portal\";i:246;s:10:\"portal-url\";i:247;s:7:\"privacy\";i:248;s:11:\"privacypage\";i:249;s:9:\"badaccess\";i:250;s:16:\"badaccess-group0\";i:251;s:16:\"badaccess-groups\";i:252;s:15:\"versionrequired\";i:253;s:19:\"versionrequiredtext\";i:254;s:2:\"ok\";i:255;s:9:\"pagetitle\";i:256;s:23:\"pagetitle-view-mainpage\";i:257;s:13:\"retrievedfrom\";i:258;s:18:\"youhavenewmessages\";i:259;s:15:\"newmessageslink\";i:260;s:19:\"newmessagesdifflink\";i:261;s:23:\"youhavenewmessagesmulti\";i:262;s:16:\"newtalkseparator\";i:263;s:11:\"editsection\";i:264;s:20:\"editsection-brackets\";i:265;s:7:\"editold\";i:266;s:13:\"viewsourceold\";i:267;s:8:\"editlink\";i:268;s:14:\"viewsourcelink\";i:269;s:15:\"editsectionhint\";i:270;s:3:\"toc\";i:271;s:7:\"showtoc\";i:272;s:7:\"hidetoc\";i:273;s:20:\"collapsible-collapse\";i:274;s:18:\"collapsible-expand\";i:275;s:13:\"thisisdeleted\";i:276;s:11:\"viewdeleted\";i:277;s:11:\"restorelink\";i:278;s:9:\"feedlinks\";i:279;s:12:\"feed-invalid\";i:280;s:16:\"feed-unavailable\";i:281;s:13:\"site-rss-feed\";i:282;s:14:\"site-atom-feed\";i:283;s:13:\"page-rss-feed\";i:284;s:14:\"page-atom-feed\";i:285;s:9:\"feed-atom\";i:286;s:8:\"feed-rss\";i:287;s:10:\"sitenotice\";i:288;s:10:\"anonnotice\";i:289;s:28:\"newsectionheaderdefaultlevel\";i:290;s:14:\"red-link-title\";i:291;s:15:\"sort-descending\";i:292;s:14:\"sort-ascending\";i:293;s:10:\"nstab-main\";i:294;s:10:\"nstab-user\";i:295;s:11:\"nstab-media\";i:296;s:13:\"nstab-special\";i:297;s:13:\"nstab-project\";i:298;s:11:\"nstab-image\";i:299;s:15:\"nstab-mediawiki\";i:300;s:14:\"nstab-template\";i:301;s:10:\"nstab-help\";i:302;s:14:\"nstab-category\";i:303;s:14:\"mainpage-nstab\";i:304;s:12:\"nosuchaction\";i:305;s:16:\"nosuchactiontext\";i:306;s:17:\"nosuchspecialpage\";i:307;s:17:\"nospecialpagetext\";i:308;s:5:\"error\";i:309;s:13:\"databaseerror\";i:310;s:11:\"dberrortext\";i:311;s:13:\"dberrortextcl\";i:312;s:15:\"laggedslavemode\";i:313;s:8:\"readonly\";i:314;s:15:\"enterlockreason\";i:315;s:12:\"readonlytext\";i:316;s:15:\"missing-article\";i:317;s:18:\"missingarticle-rev\";i:318;s:19:\"missingarticle-diff\";i:319;s:12:\"readonly_lag\";i:320;s:13:\"internalerror\";i:321;s:18:\"internalerror_info\";i:322;s:19:\"fileappenderrorread\";i:323;s:15:\"fileappenderror\";i:324;s:13:\"filecopyerror\";i:325;s:15:\"filerenameerror\";i:326;s:15:\"filedeleteerror\";i:327;s:20:\"directorycreateerror\";i:328;s:12:\"filenotfound\";i:329;s:15:\"fileexistserror\";i:330;s:10:\"unexpected\";i:331;s:9:\"formerror\";i:332;s:15:\"badarticleerror\";i:333;s:12:\"cannotdelete\";i:334;s:8:\"badtitle\";i:335;s:12:\"badtitletext\";i:336;s:10:\"perfcached\";i:337;s:12:\"perfcachedts\";i:338;s:20:\"querypage-no-updates\";i:339;s:20:\"wrong_wfQuery_params\";i:340;s:10:\"viewsource\";i:341;s:13:\"viewsourcefor\";i:342;s:15:\"actionthrottled\";i:343;s:19:\"actionthrottledtext\";i:344;s:17:\"protectedpagetext\";i:345;s:14:\"viewsourcetext\";i:346;s:18:\"protectedinterface\";i:347;s:16:\"editinginterface\";i:348;s:9:\"sqlhidden\";i:349;s:16:\"cascadeprotected\";i:350;s:18:\"namespaceprotected\";i:351;s:18:\"customcssprotected\";i:352;s:17:\"customjsprotected\";i:353;s:19:\"ns-specialprotected\";i:354;s:14:\"titleprotected\";i:355;s:16:\"virus-badscanner\";i:356;s:16:\"virus-scanfailed\";i:357;s:20:\"virus-unknownscanner\";i:358;s:10:\"logouttext\";i:359;s:15:\"welcomecreation\";i:360;s:8:\"yourname\";i:361;s:12:\"yourpassword\";i:362;s:17:\"yourpasswordagain\";i:363;s:18:\"remembermypassword\";i:364;s:23:\"securelogin-stick-https\";i:365;s:14:\"yourdomainname\";i:366;s:15:\"externaldberror\";i:367;s:5:\"login\";i:368;s:23:\"nav-login-createaccount\";i:369;s:11:\"loginprompt\";i:370;s:9:\"userlogin\";i:371;s:17:\"userloginnocreate\";i:372;s:6:\"logout\";i:373;s:10:\"userlogout\";i:374;s:11:\"notloggedin\";i:375;s:7:\"nologin\";i:376;s:11:\"nologinlink\";i:377;s:13:\"createaccount\";i:378;s:10:\"gotaccount\";i:379;s:14:\"gotaccountlink\";i:380;s:19:\"userlogin-resetlink\";i:381;s:17:\"createaccountmail\";i:382;s:19:\"createaccountreason\";i:383;s:9:\"badretype\";i:384;s:10:\"userexists\";i:385;s:10:\"loginerror\";i:386;s:18:\"createaccounterror\";i:387;s:12:\"nocookiesnew\";i:388;s:14:\"nocookieslogin\";i:389;s:15:\"nocookiesfornew\";i:390;s:17:\"nocookiesforlogin\";i:391;s:6:\"noname\";i:392;s:17:\"loginsuccesstitle\";i:393;s:12:\"loginsuccess\";i:394;s:10:\"nosuchuser\";i:395;s:15:\"nosuchusershort\";i:396;s:15:\"nouserspecified\";i:397;s:17:\"login-userblocked\";i:398;s:13:\"wrongpassword\";i:399;s:18:\"wrongpasswordempty\";i:400;s:16:\"passwordtooshort\";i:401;s:19:\"password-name-match\";i:402;s:24:\"password-login-forbidden\";i:403;s:14:\"mailmypassword\";i:404;s:21:\"passwordremindertitle\";i:405;s:20:\"passwordremindertext\";i:406;s:7:\"noemail\";i:407;s:13:\"noemailcreate\";i:408;s:12:\"passwordsent\";i:409;s:20:\"blocked-mailpassword\";i:410;s:12:\"eauthentsent\";i:411;s:22:\"throttled-mailpassword\";i:412;s:10:\"loginstart\";i:413;s:8:\"loginend\";i:414;s:14:\"loginend-https\";i:415;s:11:\"signupstart\";i:416;s:9:\"signupend\";i:417;s:15:\"signupend-https\";i:418;s:9:\"mailerror\";i:419;s:26:\"acct_creation_throttle_hit\";i:420;s:18:\"emailauthenticated\";i:421;s:21:\"emailnotauthenticated\";i:422;s:12:\"noemailprefs\";i:423;s:16:\"emailconfirmlink\";i:424;s:19:\"invalidemailaddress\";i:425;s:14:\"accountcreated\";i:426;s:18:\"accountcreatedtext\";i:427;s:19:\"createaccount-title\";i:428;s:18:\"createaccount-text\";i:429;s:17:\"usernamehasherror\";i:430;s:15:\"login-throttled\";i:431;s:19:\"login-abort-generic\";i:432;s:18:\"loginlanguagelabel\";i:433;s:18:\"loginlanguagelinks\";i:434;s:21:\"suspicious-userlogout\";i:435;s:15:\"pear-mail-error\";i:436;s:14:\"php-mail-error\";i:437;s:22:\"php-mail-error-unknown\";i:438;s:9:\"resetpass\";i:439;s:18:\"resetpass_announce\";i:440;s:14:\"resetpass_text\";i:441;s:16:\"resetpass_header\";i:442;s:11:\"oldpassword\";i:443;s:11:\"newpassword\";i:444;s:9:\"retypenew\";i:445;s:16:\"resetpass_submit\";i:446;s:17:\"resetpass_success\";i:447;s:19:\"resetpass_forbidden\";i:448;s:17:\"resetpass-no-info\";i:449;s:25:\"resetpass-submit-loggedin\";i:450;s:23:\"resetpass-submit-cancel\";i:451;s:23:\"resetpass-wrong-oldpass\";i:452;s:23:\"resetpass-temp-password\";i:453;s:13:\"passwordreset\";i:454;s:18:\"passwordreset-text\";i:455;s:20:\"passwordreset-legend\";i:456;s:22:\"passwordreset-disabled\";i:457;s:21:\"passwordreset-pretext\";i:458;s:22:\"passwordreset-username\";i:459;s:20:\"passwordreset-domain\";i:460;s:19:\"passwordreset-email\";i:461;s:24:\"passwordreset-emailtitle\";i:462;s:26:\"passwordreset-emailtext-ip\";i:463;s:28:\"passwordreset-emailtext-user\";i:464;s:26:\"passwordreset-emailelement\";i:465;s:23:\"passwordreset-emailsent\";i:466;s:11:\"bold_sample\";i:467;s:8:\"bold_tip\";i:468;s:13:\"italic_sample\";i:469;s:10:\"italic_tip\";i:470;s:11:\"link_sample\";i:471;s:8:\"link_tip\";i:472;s:14:\"extlink_sample\";i:473;s:11:\"extlink_tip\";i:474;s:15:\"headline_sample\";i:475;s:12:\"headline_tip\";i:476;s:13:\"nowiki_sample\";i:477;s:10:\"nowiki_tip\";i:478;s:12:\"image_sample\";i:479;s:9:\"image_tip\";i:480;s:12:\"media_sample\";i:481;s:9:\"media_tip\";i:482;s:7:\"sig_tip\";i:483;s:6:\"hr_tip\";i:484;s:7:\"summary\";i:485;s:7:\"subject\";i:486;s:9:\"minoredit\";i:487;s:9:\"watchthis\";i:488;s:11:\"savearticle\";i:489;s:7:\"preview\";i:490;s:11:\"showpreview\";i:491;s:15:\"showlivepreview\";i:492;s:8:\"showdiff\";i:493;s:15:\"anoneditwarning\";i:494;s:18:\"anonpreviewwarning\";i:495;s:14:\"missingsummary\";i:496;s:18:\"missingcommenttext\";i:497;s:20:\"missingcommentheader\";i:498;s:15:\"summary-preview\";i:499;s:15:\"subject-preview\";i:500;s:12:\"blockedtitle\";i:501;s:11:\"blockedtext\";i:502;s:15:\"autoblockedtext\";i:503;s:15:\"blockednoreason\";i:504;s:21:\"blockedoriginalsource\";i:505;s:17:\"blockededitsource\";i:506;s:18:\"whitelistedittitle\";i:507;s:17:\"whitelistedittext\";i:508;s:15:\"confirmedittext\";i:509;s:18:\"nosuchsectiontitle\";i:510;s:17:\"nosuchsectiontext\";i:511;s:13:\"loginreqtitle\";i:512;s:12:\"loginreqlink\";i:513;s:16:\"loginreqpagetext\";i:514;s:12:\"accmailtitle\";i:515;s:11:\"accmailtext\";i:516;s:10:\"newarticle\";i:517;s:14:\"newarticletext\";i:518;s:18:\"newarticletextanon\";i:519;s:12:\"talkpagetext\";i:520;s:16:\"anontalkpagetext\";i:521;s:13:\"noarticletext\";i:522;s:26:\"noarticletext-nopermission\";i:523;s:17:\"noarticletextanon\";i:524;s:25:\"userpage-userdoesnotexist\";i:525;s:30:\"userpage-userdoesnotexist-view\";i:526;s:25:\"blocked-notice-logextract\";i:527;s:14:\"clearyourcache\";i:528;s:20:\"usercssyoucanpreview\";i:529;s:19:\"userjsyoucanpreview\";i:530;s:14:\"usercsspreview\";i:531;s:13:\"userjspreview\";i:532;s:14:\"sitecsspreview\";i:533;s:13:\"sitejspreview\";i:534;s:21:\"userinvalidcssjstitle\";i:535;s:7:\"updated\";i:536;s:4:\"note\";i:537;s:11:\"previewnote\";i:538;s:15:\"previewconflict\";i:539;s:20:\"session_fail_preview\";i:540;s:25:\"session_fail_preview_html\";i:541;s:21:\"token_suffix_mismatch\";i:542;s:20:\"edit_form_incomplete\";i:543;s:7:\"editing\";i:544;s:14:\"editingsection\";i:545;s:14:\"editingcomment\";i:546;s:12:\"editconflict\";i:547;s:15:\"explainconflict\";i:548;s:8:\"yourtext\";i:549;s:13:\"storedversion\";i:550;s:17:\"nonunicodebrowser\";i:551;s:10:\"editingold\";i:552;s:8:\"yourdiff\";i:553;s:16:\"copyrightwarning\";i:554;s:17:\"copyrightwarning2\";i:555;s:20:\"editpage-tos-summary\";i:556;s:13:\"longpage-hint\";i:557;s:13:\"longpageerror\";i:558;s:15:\"readonlywarning\";i:559;s:20:\"protectedpagewarning\";i:560;s:24:\"semiprotectedpagewarning\";i:561;s:23:\"cascadeprotectedwarning\";i:562;s:21:\"titleprotectedwarning\";i:563;s:13:\"templatesused\";i:564;s:20:\"templatesusedpreview\";i:565;s:20:\"templatesusedsection\";i:566;s:18:\"template-protected\";i:567;s:22:\"template-semiprotected\";i:568;s:16:\"hiddencategories\";i:569;s:9:\"edittools\";i:570;s:16:\"edittools-upload\";i:571;s:13:\"nocreatetitle\";i:572;s:12:\"nocreatetext\";i:573;s:17:\"nocreate-loggedin\";i:574;s:29:\"sectioneditnotsupported-title\";i:575;s:28:\"sectioneditnotsupported-text\";i:576;s:17:\"permissionserrors\";i:577;s:21:\"permissionserrorstext\";i:578;s:32:\"permissionserrorstext-withaction\";i:579;s:26:\"recreate-moveddeleted-warn\";i:580;s:19:\"moveddeleted-notice\";i:581;s:11:\"log-fulllog\";i:582;s:17:\"edit-hook-aborted\";i:583;s:17:\"edit-gone-missing\";i:584;s:13:\"edit-conflict\";i:585;s:14:\"edit-no-change\";i:586;s:19:\"edit-already-exists\";i:587;s:18:\"addsection-preload\";i:588;s:20:\"addsection-editintro\";i:589;s:32:\"expensive-parserfunction-warning\";i:590;s:33:\"expensive-parserfunction-category\";i:591;s:38:\"post-expand-template-inclusion-warning\";i:592;s:39:\"post-expand-template-inclusion-category\";i:593;s:37:\"post-expand-template-argument-warning\";i:594;s:38:\"post-expand-template-argument-category\";i:595;s:28:\"parser-template-loop-warning\";i:596;s:39:\"parser-template-recursion-depth-warning\";i:597;s:32:\"language-converter-depth-warning\";i:598;s:12:\"undo-success\";i:599;s:12:\"undo-failure\";i:600;s:10:\"undo-norev\";i:601;s:12:\"undo-summary\";i:602;s:22:\"cantcreateaccounttitle\";i:603;s:22:\"cantcreateaccount-text\";i:604;s:12:\"viewpagelogs\";i:605;s:9:\"nohistory\";i:606;s:10:\"currentrev\";i:607;s:15:\"currentrev-asof\";i:608;s:12:\"revisionasof\";i:609;s:13:\"revision-info\";i:610;s:21:\"revision-info-current\";i:611;s:12:\"revision-nav\";i:612;s:16:\"previousrevision\";i:613;s:12:\"nextrevision\";i:614;s:19:\"currentrevisionlink\";i:615;s:3:\"cur\";i:616;s:4:\"next\";i:617;s:4:\"last\";i:618;s:10:\"page_first\";i:619;s:9:\"page_last\";i:620;s:10:\"histlegend\";i:621;s:22:\"history-fieldset-title\";i:622;s:20:\"history-show-deleted\";i:623;s:17:\"history_copyright\";i:624;s:9:\"histfirst\";i:625;s:8:\"histlast\";i:626;s:11:\"historysize\";i:627;s:12:\"historyempty\";i:628;s:18:\"history-feed-title\";i:629;s:24:\"history-feed-description\";i:630;s:27:\"history-feed-item-nocomment\";i:631;s:18:\"history-feed-empty\";i:632;s:19:\"rev-deleted-comment\";i:633;s:16:\"rev-deleted-user\";i:634;s:17:\"rev-deleted-event\";i:635;s:25:\"rev-deleted-user-contribs\";i:636;s:27:\"rev-deleted-text-permission\";i:637;s:23:\"rev-deleted-text-unhide\";i:638;s:26:\"rev-suppressed-text-unhide\";i:639;s:21:\"rev-deleted-text-view\";i:640;s:24:\"rev-suppressed-text-view\";i:641;s:19:\"rev-deleted-no-diff\";i:642;s:22:\"rev-suppressed-no-diff\";i:643;s:23:\"rev-deleted-unhide-diff\";i:644;s:26:\"rev-suppressed-unhide-diff\";i:645;s:21:\"rev-deleted-diff-view\";i:646;s:24:\"rev-suppressed-diff-view\";i:647;s:12:\"rev-delundel\";i:648;s:15:\"rev-showdeleted\";i:649;s:14:\"revisiondelete\";i:650;s:23:\"revdelete-nooldid-title\";i:651;s:22:\"revdelete-nooldid-text\";i:652;s:25:\"revdelete-nologtype-title\";i:653;s:24:\"revdelete-nologtype-text\";i:654;s:23:\"revdelete-nologid-title\";i:655;s:22:\"revdelete-nologid-text\";i:656;s:17:\"revdelete-no-file\";i:657;s:27:\"revdelete-show-file-confirm\";i:658;s:26:\"revdelete-show-file-submit\";i:659;s:18:\"revdelete-selected\";i:660;s:18:\"logdelete-selected\";i:661;s:14:\"revdelete-text\";i:662;s:17:\"revdelete-confirm\";i:663;s:23:\"revdelete-suppress-text\";i:664;s:16:\"revdelete-legend\";i:665;s:19:\"revdelete-hide-text\";i:666;s:20:\"revdelete-hide-image\";i:667;s:19:\"revdelete-hide-name\";i:668;s:22:\"revdelete-hide-comment\";i:669;s:19:\"revdelete-hide-user\";i:670;s:25:\"revdelete-hide-restricted\";i:671;s:20:\"revdelete-radio-same\";i:672;s:19:\"revdelete-radio-set\";i:673;s:21:\"revdelete-radio-unset\";i:674;s:18:\"revdelete-suppress\";i:675;s:20:\"revdelete-unsuppress\";i:676;s:13:\"revdelete-log\";i:677;s:16:\"revdelete-submit\";i:678;s:18:\"revdelete-logentry\";i:679;s:18:\"logdelete-logentry\";i:680;s:17:\"revdelete-success\";i:681;s:17:\"revdelete-failure\";i:682;s:17:\"logdelete-success\";i:683;s:17:\"logdelete-failure\";i:684;s:14:\"revdel-restore\";i:685;s:22:\"revdel-restore-deleted\";i:686;s:22:\"revdel-restore-visible\";i:687;s:8:\"pagehist\";i:688;s:11:\"deletedhist\";i:689;s:17:\"revdelete-content\";i:690;s:17:\"revdelete-summary\";i:691;s:15:\"revdelete-uname\";i:692;s:20:\"revdelete-restricted\";i:693;s:22:\"revdelete-unrestricted\";i:694;s:13:\"revdelete-hid\";i:695;s:15:\"revdelete-unhid\";i:696;s:21:\"revdelete-log-message\";i:697;s:21:\"logdelete-log-message\";i:698;s:22:\"revdelete-hide-current\";i:699;s:24:\"revdelete-show-no-access\";i:700;s:26:\"revdelete-modify-no-access\";i:701;s:24:\"revdelete-modify-missing\";i:702;s:19:\"revdelete-no-change\";i:703;s:27:\"revdelete-concurrent-change\";i:704;s:25:\"revdelete-only-restricted\";i:705;s:25:\"revdelete-reason-dropdown\";i:706;s:21:\"revdelete-otherreason\";i:707;s:25:\"revdelete-reasonotherlist\";i:708;s:25:\"revdelete-edit-reasonlist\";i:709;s:18:\"revdelete-offender\";i:710;s:14:\"suppressionlog\";i:711;s:18:\"suppressionlogtext\";i:712;s:12:\"mergehistory\";i:713;s:19:\"mergehistory-header\";i:714;s:16:\"mergehistory-box\";i:715;s:17:\"mergehistory-from\";i:716;s:17:\"mergehistory-into\";i:717;s:17:\"mergehistory-list\";i:718;s:18:\"mergehistory-merge\";i:719;s:15:\"mergehistory-go\";i:720;s:19:\"mergehistory-submit\";i:721;s:18:\"mergehistory-empty\";i:722;s:20:\"mergehistory-success\";i:723;s:17:\"mergehistory-fail\";i:724;s:22:\"mergehistory-no-source\";i:725;s:27:\"mergehistory-no-destination\";i:726;s:27:\"mergehistory-invalid-source\";i:727;s:32:\"mergehistory-invalid-destination\";i:728;s:24:\"mergehistory-autocomment\";i:729;s:20:\"mergehistory-comment\";i:730;s:29:\"mergehistory-same-destination\";i:731;s:19:\"mergehistory-reason\";i:732;s:8:\"mergelog\";i:733;s:18:\"pagemerge-logentry\";i:734;s:11:\"revertmerge\";i:735;s:16:\"mergelogpagetext\";i:736;s:13:\"history-title\";i:737;s:10:\"difference\";i:738;s:20:\"difference-multipage\";i:739;s:6:\"lineno\";i:740;s:23:\"compareselectedversions\";i:741;s:24:\"showhideselectedversions\";i:742;s:8:\"editundo\";i:743;s:10:\"diff-multi\";i:744;s:20:\"diff-multi-manyusers\";i:745;s:14:\"search-summary\";i:746;s:13:\"searchresults\";i:747;s:19:\"searchresults-title\";i:748;s:16:\"searchresulttext\";i:749;s:14:\"searchsubtitle\";i:750;s:21:\"searchsubtitleinvalid\";i:751;s:14:\"toomanymatches\";i:752;s:12:\"titlematches\";i:753;s:14:\"notitlematches\";i:754;s:11:\"textmatches\";i:755;s:13:\"notextmatches\";i:756;s:5:\"prevn\";i:757;s:5:\"nextn\";i:758;s:11:\"prevn-title\";i:759;s:11:\"nextn-title\";i:760;s:11:\"shown-title\";i:761;s:12:\"viewprevnext\";i:762;s:17:\"searchmenu-legend\";i:763;s:17:\"searchmenu-exists\";i:764;s:14:\"searchmenu-new\";i:765;s:23:\"searchmenu-new-nocreate\";i:766;s:14:\"searchhelp-url\";i:767;s:17:\"searchmenu-prefix\";i:768;s:15:\"searchmenu-help\";i:769;s:22:\"searchprofile-articles\";i:770;s:21:\"searchprofile-project\";i:771;s:20:\"searchprofile-images\";i:772;s:24:\"searchprofile-everything\";i:773;s:22:\"searchprofile-advanced\";i:774;s:30:\"searchprofile-articles-tooltip\";i:775;s:29:\"searchprofile-project-tooltip\";i:776;s:28:\"searchprofile-images-tooltip\";i:777;s:32:\"searchprofile-everything-tooltip\";i:778;s:30:\"searchprofile-advanced-tooltip\";i:779;s:18:\"search-result-size\";i:780;s:27:\"search-result-category-size\";i:781;s:19:\"search-result-score\";i:782;s:15:\"search-redirect\";i:783;s:14:\"search-section\";i:784;s:14:\"search-suggest\";i:785;s:24:\"search-interwiki-caption\";i:786;s:24:\"search-interwiki-default\";i:787;s:23:\"search-interwiki-custom\";i:788;s:21:\"search-interwiki-more\";i:789;s:24:\"search-mwsuggest-enabled\";i:790;s:25:\"search-mwsuggest-disabled\";i:791;s:21:\"search-relatedarticle\";i:792;s:17:\"mwsuggest-disable\";i:793;s:23:\"searcheverything-enable\";i:794;s:13:\"searchrelated\";i:795;s:9:\"searchall\";i:796;s:14:\"showingresults\";i:797;s:17:\"showingresultsnum\";i:798;s:20:\"showingresultsheader\";i:799;s:9:\"nonefound\";i:800;s:16:\"search-nonefound\";i:801;s:11:\"powersearch\";i:802;s:18:\"powersearch-legend\";i:803;s:14:\"powersearch-ns\";i:804;s:17:\"powersearch-redir\";i:805;s:17:\"powersearch-field\";i:806;s:23:\"powersearch-togglelabel\";i:807;s:21:\"powersearch-toggleall\";i:808;s:22:\"powersearch-togglenone\";i:809;s:15:\"search-external\";i:810;s:14:\"searchdisabled\";i:811;s:12:\"googlesearch\";i:812;s:15:\"opensearch-desc\";i:813;s:10:\"qbsettings\";i:814;s:15:\"qbsettings-none\";i:815;s:20:\"qbsettings-fixedleft\";i:816;s:21:\"qbsettings-fixedright\";i:817;s:23:\"qbsettings-floatingleft\";i:818;s:24:\"qbsettings-floatingright\";i:819;s:25:\"qbsettings-directionality\";i:820;s:11:\"preferences\";i:821;s:19:\"preferences-summary\";i:822;s:13:\"mypreferences\";i:823;s:11:\"prefs-edits\";i:824;s:12:\"prefsnologin\";i:825;s:16:\"prefsnologintext\";i:826;s:14:\"changepassword\";i:827;s:10:\"prefs-skin\";i:828;s:12:\"skin-preview\";i:829;s:11:\"datedefault\";i:830;s:10:\"prefs-beta\";i:831;s:14:\"prefs-datetime\";i:832;s:10:\"prefs-labs\";i:833;s:14:\"prefs-personal\";i:834;s:8:\"prefs-rc\";i:835;s:15:\"prefs-watchlist\";i:836;s:20:\"prefs-watchlist-days\";i:837;s:24:\"prefs-watchlist-days-max\";i:838;s:21:\"prefs-watchlist-edits\";i:839;s:25:\"prefs-watchlist-edits-max\";i:840;s:21:\"prefs-watchlist-token\";i:841;s:10:\"prefs-misc\";i:842;s:15:\"prefs-resetpass\";i:843;s:11:\"prefs-email\";i:844;s:15:\"prefs-rendering\";i:845;s:9:\"saveprefs\";i:846;s:10:\"resetprefs\";i:847;s:12:\"restoreprefs\";i:848;s:13:\"prefs-editing\";i:849;s:18:\"prefs-edit-boxsize\";i:850;s:4:\"rows\";i:851;s:7:\"columns\";i:852;s:17:\"searchresultshead\";i:853;s:14:\"resultsperpage\";i:854;s:14:\"stub-threshold\";i:855;s:23:\"stub-threshold-disabled\";i:856;s:17:\"recentchangesdays\";i:857;s:21:\"recentchangesdays-max\";i:858;s:18:\"recentchangescount\";i:859;s:29:\"prefs-help-recentchangescount\";i:860;s:26:\"prefs-help-watchlist-token\";i:861;s:10:\"savedprefs\";i:862;s:14:\"timezonelegend\";i:863;s:9:\"localtime\";i:864;s:24:\"timezoneuseserverdefault\";i:865;s:17:\"timezoneuseoffset\";i:866;s:14:\"timezoneoffset\";i:867;s:10:\"servertime\";i:868;s:13:\"guesstimezone\";i:869;s:21:\"timezoneregion-africa\";i:870;s:22:\"timezoneregion-america\";i:871;s:25:\"timezoneregion-antarctica\";i:872;s:21:\"timezoneregion-arctic\";i:873;s:19:\"timezoneregion-asia\";i:874;s:23:\"timezoneregion-atlantic\";i:875;s:24:\"timezoneregion-australia\";i:876;s:21:\"timezoneregion-europe\";i:877;s:21:\"timezoneregion-indian\";i:878;s:22:\"timezoneregion-pacific\";i:879;s:10:\"allowemail\";i:880;s:19:\"prefs-searchoptions\";i:881;s:16:\"prefs-namespaces\";i:882;s:9:\"defaultns\";i:883;s:7:\"default\";i:884;s:11:\"prefs-files\";i:885;s:16:\"prefs-custom-css\";i:886;s:15:\"prefs-custom-js\";i:887;s:19:\"prefs-common-css-js\";i:888;s:17:\"prefs-reset-intro\";i:889;s:24:\"prefs-emailconfirm-label\";i:890;s:17:\"prefs-textboxsize\";i:891;s:9:\"youremail\";i:892;s:8:\"username\";i:893;s:3:\"uid\";i:894;s:20:\"prefs-memberingroups\";i:895;s:25:\"prefs-memberingroups-type\";i:896;s:18:\"prefs-registration\";i:897;s:28:\"prefs-registration-date-time\";i:898;s:12:\"yourrealname\";i:899;s:12:\"yourlanguage\";i:900;s:11:\"yourvariant\";i:901;s:8:\"yournick\";i:902;s:20:\"prefs-help-signature\";i:903;s:6:\"badsig\";i:904;s:12:\"badsiglength\";i:905;s:10:\"yourgender\";i:906;s:14:\"gender-unknown\";i:907;s:11:\"gender-male\";i:908;s:13:\"gender-female\";i:909;s:17:\"prefs-help-gender\";i:910;s:5:\"email\";i:911;s:19:\"prefs-help-realname\";i:912;s:16:\"prefs-help-email\";i:913;s:23:\"prefs-help-email-others\";i:914;s:25:\"prefs-help-email-required\";i:915;s:10:\"prefs-info\";i:916;s:10:\"prefs-i18n\";i:917;s:15:\"prefs-signature\";i:918;s:16:\"prefs-dateformat\";i:919;s:16:\"prefs-timeoffset\";i:920;s:21:\"prefs-advancedediting\";i:921;s:16:\"prefs-advancedrc\";i:922;s:23:\"prefs-advancedrendering\";i:923;s:27:\"prefs-advancedsearchoptions\";i:924;s:23:\"prefs-advancedwatchlist\";i:925;s:15:\"prefs-displayrc\";i:926;s:26:\"prefs-displaysearchoptions\";i:927;s:22:\"prefs-displaywatchlist\";i:928;s:11:\"prefs-diffs\";i:929;s:28:\"email-address-validity-valid\";i:930;s:30:\"email-address-validity-invalid\";i:931;s:10:\"userrights\";i:932;s:18:\"userrights-summary\";i:933;s:22:\"userrights-lookup-user\";i:934;s:24:\"userrights-user-editname\";i:935;s:13:\"editusergroup\";i:936;s:11:\"editinguser\";i:937;s:24:\"userrights-editusergroup\";i:938;s:14:\"saveusergroups\";i:939;s:23:\"userrights-groupsmember\";i:940;s:28:\"userrights-groupsmember-auto\";i:941;s:22:\"userrights-groups-help\";i:942;s:17:\"userrights-reason\";i:943;s:23:\"userrights-no-interwiki\";i:944;s:21:\"userrights-nodatabase\";i:945;s:18:\"userrights-nologin\";i:946;s:21:\"userrights-notallowed\";i:947;s:25:\"userrights-changeable-col\";i:948;s:27:\"userrights-unchangeable-col\";i:949;s:30:\"userrights-irreversible-marker\";i:950;s:5:\"group\";i:951;s:10:\"group-user\";i:952;s:19:\"group-autoconfirmed\";i:953;s:9:\"group-bot\";i:954;s:11:\"group-sysop\";i:955;s:16:\"group-bureaucrat\";i:956;s:14:\"group-suppress\";i:957;s:9:\"group-all\";i:958;s:17:\"group-user-member\";i:959;s:26:\"group-autoconfirmed-member\";i:960;s:16:\"group-bot-member\";i:961;s:18:\"group-sysop-member\";i:962;s:23:\"group-bureaucrat-member\";i:963;s:21:\"group-suppress-member\";i:964;s:14:\"grouppage-user\";i:965;s:23:\"grouppage-autoconfirmed\";i:966;s:13:\"grouppage-bot\";i:967;s:15:\"grouppage-sysop\";i:968;s:20:\"grouppage-bureaucrat\";i:969;s:18:\"grouppage-suppress\";i:970;s:10:\"right-read\";i:971;s:10:\"right-edit\";i:972;s:16:\"right-createpage\";i:973;s:16:\"right-createtalk\";i:974;s:19:\"right-createaccount\";i:975;s:15:\"right-minoredit\";i:976;s:10:\"right-move\";i:977;s:19:\"right-move-subpages\";i:978;s:24:\"right-move-rootuserpages\";i:979;s:14:\"right-movefile\";i:980;s:22:\"right-suppressredirect\";i:981;s:12:\"right-upload\";i:982;s:14:\"right-reupload\";i:983;s:18:\"right-reupload-own\";i:984;s:21:\"right-reupload-shared\";i:985;s:19:\"right-upload_by_url\";i:986;s:11:\"right-purge\";i:987;s:19:\"right-autoconfirmed\";i:988;s:9:\"right-bot\";i:989;s:20:\"right-nominornewtalk\";i:990;s:19:\"right-apihighlimits\";i:991;s:14:\"right-writeapi\";i:992;s:12:\"right-delete\";i:993;s:15:\"right-bigdelete\";i:994;s:20:\"right-deleterevision\";i:995;s:20:\"right-deletedhistory\";i:996;s:17:\"right-deletedtext\";i:997;s:19:\"right-browsearchive\";i:998;s:14:\"right-undelete\";i:999;s:22:\"right-suppressrevision\";i:1000;s:20:\"right-suppressionlog\";i:1001;s:11:\"right-block\";i:1002;s:16:\"right-blockemail\";i:1003;s:14:\"right-hideuser\";i:1004;s:20:\"right-ipblock-exempt\";i:1005;s:21:\"right-proxyunbannable\";i:1006;s:17:\"right-unblockself\";i:1007;s:13:\"right-protect\";i:1008;s:19:\"right-editprotected\";i:1009;s:19:\"right-editinterface\";i:1010;s:19:\"right-editusercssjs\";i:1011;s:17:\"right-editusercss\";i:1012;s:16:\"right-edituserjs\";i:1013;s:14:\"right-rollback\";i:1014;s:18:\"right-markbotedits\";i:1015;s:17:\"right-noratelimit\";i:1016;s:12:\"right-import\";i:1017;s:18:\"right-importupload\";i:1018;s:12:\"right-patrol\";i:1019;s:16:\"right-autopatrol\";i:1020;s:17:\"right-patrolmarks\";i:1021;s:20:\"right-unwatchedpages\";i:1022;s:15:\"right-trackback\";i:1023;s:18:\"right-mergehistory\";i:1024;s:16:\"right-userrights\";i:1025;s:26:\"right-userrights-interwiki\";i:1026;s:15:\"right-siteadmin\";i:1027;s:27:\"right-override-export-depth\";i:1028;s:15:\"right-sendemail\";i:1029;s:9:\"rightslog\";i:1030;s:13:\"rightslogtext\";i:1031;s:14:\"rightslogentry\";i:1032;s:26:\"rightslogentry-autopromote\";i:1033;s:10:\"rightsnone\";i:1034;s:11:\"action-read\";i:1035;s:11:\"action-edit\";i:1036;s:17:\"action-createpage\";i:1037;s:17:\"action-createtalk\";i:1038;s:20:\"action-createaccount\";i:1039;s:16:\"action-minoredit\";i:1040;s:11:\"action-move\";i:1041;s:20:\"action-move-subpages\";i:1042;s:25:\"action-move-rootuserpages\";i:1043;s:15:\"action-movefile\";i:1044;s:13:\"action-upload\";i:1045;s:15:\"action-reupload\";i:1046;s:22:\"action-reupload-shared\";i:1047;s:20:\"action-upload_by_url\";i:1048;s:15:\"action-writeapi\";i:1049;s:13:\"action-delete\";i:1050;s:21:\"action-deleterevision\";i:1051;s:21:\"action-deletedhistory\";i:1052;s:20:\"action-browsearchive\";i:1053;s:15:\"action-undelete\";i:1054;s:23:\"action-suppressrevision\";i:1055;s:21:\"action-suppressionlog\";i:1056;s:12:\"action-block\";i:1057;s:14:\"action-protect\";i:1058;s:13:\"action-import\";i:1059;s:19:\"action-importupload\";i:1060;s:13:\"action-patrol\";i:1061;s:17:\"action-autopatrol\";i:1062;s:21:\"action-unwatchedpages\";i:1063;s:16:\"action-trackback\";i:1064;s:19:\"action-mergehistory\";i:1065;s:17:\"action-userrights\";i:1066;s:27:\"action-userrights-interwiki\";i:1067;s:16:\"action-siteadmin\";i:1068;s:8:\"nchanges\";i:1069;s:13:\"recentchanges\";i:1070;s:17:\"recentchanges-url\";i:1071;s:20:\"recentchanges-legend\";i:1072;s:17:\"recentchangestext\";i:1073;s:30:\"recentchanges-feed-description\";i:1074;s:27:\"recentchanges-label-newpage\";i:1075;s:25:\"recentchanges-label-minor\";i:1076;s:23:\"recentchanges-label-bot\";i:1077;s:31:\"recentchanges-label-unpatrolled\";i:1078;s:6:\"rcnote\";i:1079;s:10:\"rcnotefrom\";i:1080;s:10:\"rclistfrom\";i:1081;s:15:\"rcshowhideminor\";i:1082;s:14:\"rcshowhidebots\";i:1083;s:13:\"rcshowhideliu\";i:1084;s:15:\"rcshowhideanons\";i:1085;s:14:\"rcshowhidepatr\";i:1086;s:14:\"rcshowhidemine\";i:1087;s:7:\"rclinks\";i:1088;s:4:\"diff\";i:1089;s:4:\"hist\";i:1090;s:4:\"hide\";i:1091;s:4:\"show\";i:1092;s:15:\"minoreditletter\";i:1093;s:13:\"newpageletter\";i:1094;s:13:\"boteditletter\";i:1095;s:17:\"unpatrolledletter\";i:1096;s:11:\"sectionlink\";i:1097;s:31:\"number_of_watching_users_RCview\";i:1098;s:33:\"number_of_watching_users_pageview\";i:1099;s:13:\"rc_categories\";i:1100;s:17:\"rc_categories_any\";i:1101;s:14:\"rc-change-size\";i:1102;s:17:\"newsectionsummary\";i:1103;s:18:\"rc-enhanced-expand\";i:1104;s:16:\"rc-enhanced-hide\";i:1105;s:19:\"recentchangeslinked\";i:1106;s:24:\"recentchangeslinked-feed\";i:1107;s:27:\"recentchangeslinked-toolbox\";i:1108;s:25:\"recentchangeslinked-title\";i:1109;s:28:\"recentchangeslinked-backlink\";i:1110;s:28:\"recentchangeslinked-noresult\";i:1111;s:27:\"recentchangeslinked-summary\";i:1112;s:24:\"recentchangeslinked-page\";i:1113;s:22:\"recentchangeslinked-to\";i:1114;s:6:\"upload\";i:1115;s:9:\"uploadbtn\";i:1116;s:12:\"reuploaddesc\";i:1117;s:15:\"upload-tryagain\";i:1118;s:13:\"uploadnologin\";i:1119;s:17:\"uploadnologintext\";i:1120;s:24:\"upload_directory_missing\";i:1121;s:26:\"upload_directory_read_only\";i:1122;s:11:\"uploaderror\";i:1123;s:14:\"upload-summary\";i:1124;s:23:\"upload-recreate-warning\";i:1125;s:10:\"uploadtext\";i:1126;s:16:\"upload-permitted\";i:1127;s:16:\"upload-preferred\";i:1128;s:17:\"upload-prohibited\";i:1129;s:12:\"uploadfooter\";i:1130;s:9:\"uploadlog\";i:1131;s:13:\"uploadlogpage\";i:1132;s:17:\"uploadlogpagetext\";i:1133;s:8:\"filename\";i:1134;s:8:\"filedesc\";i:1135;s:17:\"fileuploadsummary\";i:1136;s:19:\"filereuploadsummary\";i:1137;s:10:\"filestatus\";i:1138;s:10:\"filesource\";i:1139;s:13:\"uploadedfiles\";i:1140;s:13:\"ignorewarning\";i:1141;s:14:\"ignorewarnings\";i:1142;s:10:\"minlength1\";i:1143;s:15:\"illegalfilename\";i:1144;s:11:\"badfilename\";i:1145;s:22:\"filetype-mime-mismatch\";i:1146;s:16:\"filetype-badmime\";i:1147;s:20:\"filetype-bad-ie-mime\";i:1148;s:22:\"filetype-unwanted-type\";i:1149;s:20:\"filetype-banned-type\";i:1150;s:16:\"filetype-missing\";i:1151;s:10:\"empty-file\";i:1152;s:14:\"file-too-large\";i:1153;s:17:\"filename-tooshort\";i:1154;s:15:\"filetype-banned\";i:1155;s:18:\"verification-error\";i:1156;s:11:\"hookaborted\";i:1157;s:16:\"illegal-filename\";i:1158;s:9:\"overwrite\";i:1159;s:13:\"unknown-error\";i:1160;s:16:\"tmp-create-error\";i:1161;s:15:\"tmp-write-error\";i:1162;s:10:\"large-file\";i:1163;s:15:\"largefileserver\";i:1164;s:9:\"emptyfile\";i:1165;s:25:\"windows-nonascii-filename\";i:1166;s:10:\"fileexists\";i:1167;s:14:\"filepageexists\";i:1168;s:20:\"fileexists-extension\";i:1169;s:24:\"fileexists-thumbnail-yes\";i:1170;s:17:\"file-thumbnail-no\";i:1171;s:20:\"fileexists-forbidden\";i:1172;s:27:\"fileexists-shared-forbidden\";i:1173;s:21:\"file-exists-duplicate\";i:1174;s:22:\"file-deleted-duplicate\";i:1175;s:13:\"uploadwarning\";i:1176;s:18:\"uploadwarning-text\";i:1177;s:8:\"savefile\";i:1178;s:13:\"uploadedimage\";i:1179;s:14:\"overwroteimage\";i:1180;s:14:\"uploaddisabled\";i:1181;s:18:\"copyuploaddisabled\";i:1182;s:20:\"uploadfromurl-queued\";i:1183;s:18:\"uploaddisabledtext\";i:1184;s:22:\"php-uploaddisabledtext\";i:1185;s:14:\"uploadscripted\";i:1186;s:11:\"uploadvirus\";i:1187;s:10:\"uploadjava\";i:1188;s:13:\"upload-source\";i:1189;s:14:\"sourcefilename\";i:1190;s:9:\"sourceurl\";i:1191;s:12:\"destfilename\";i:1192;s:18:\"upload-maxfilesize\";i:1193;s:18:\"upload-description\";i:1194;s:14:\"upload-options\";i:1195;s:15:\"watchthisupload\";i:1196;s:14:\"filewasdeleted\";i:1197;s:19:\"filename-bad-prefix\";i:1198;s:25:\"filename-prefix-blacklist\";i:1199;s:19:\"upload-success-subj\";i:1200;s:18:\"upload-success-msg\";i:1201;s:19:\"upload-failure-subj\";i:1202;s:18:\"upload-failure-msg\";i:1203;s:19:\"upload-warning-subj\";i:1204;s:18:\"upload-warning-msg\";i:1205;s:18:\"upload-proto-error\";i:1206;s:23:\"upload-proto-error-text\";i:1207;s:17:\"upload-file-error\";i:1208;s:22:\"upload-file-error-text\";i:1209;s:17:\"upload-misc-error\";i:1210;s:22:\"upload-misc-error-text\";i:1211;s:25:\"upload-too-many-redirects\";i:1212;s:19:\"upload-unknown-size\";i:1213;s:17:\"upload-http-error\";i:1214;s:19:\"zip-file-open-error\";i:1215;s:16:\"zip-wrong-format\";i:1216;s:7:\"zip-bad\";i:1217;s:15:\"zip-unsupported\";i:1218;s:11:\"uploadstash\";i:1219;s:19:\"uploadstash-summary\";i:1220;s:17:\"uploadstash-clear\";i:1221;s:19:\"uploadstash-nofiles\";i:1222;s:20:\"uploadstash-badtoken\";i:1223;s:20:\"uploadstash-errclear\";i:1224;s:19:\"uploadstash-refresh\";i:1225;s:21:\"img-auth-accessdenied\";i:1226;s:19:\"img-auth-nopathinfo\";i:1227;s:17:\"img-auth-notindir\";i:1228;s:17:\"img-auth-badtitle\";i:1229;s:19:\"img-auth-nologinnWL\";i:1230;s:15:\"img-auth-nofile\";i:1231;s:14:\"img-auth-isdir\";i:1232;s:18:\"img-auth-streaming\";i:1233;s:15:\"img-auth-public\";i:1234;s:15:\"img-auth-noread\";i:1235;s:25:\"img-auth-bad-query-string\";i:1236;s:16:\"http-invalid-url\";i:1237;s:19:\"http-invalid-scheme\";i:1238;s:18:\"http-request-error\";i:1239;s:15:\"http-read-error\";i:1240;s:14:\"http-timed-out\";i:1241;s:15:\"http-curl-error\";i:1242;s:21:\"http-host-unreachable\";i:1243;s:15:\"http-bad-status\";i:1244;s:18:\"upload-curl-error6\";i:1245;s:23:\"upload-curl-error6-text\";i:1246;s:19:\"upload-curl-error28\";i:1247;s:24:\"upload-curl-error28-text\";i:1248;s:7:\"license\";i:1249;s:14:\"license-header\";i:1250;s:9:\"nolicense\";i:1251;s:8:\"licenses\";i:1252;s:17:\"license-nopreview\";i:1253;s:17:\"upload_source_url\";i:1254;s:18:\"upload_source_file\";i:1255;s:17:\"listfiles-summary\";i:1256;s:20:\"listfiles_search_for\";i:1257;s:7:\"imgfile\";i:1258;s:9:\"listfiles\";i:1259;s:15:\"listfiles_thumb\";i:1260;s:14:\"listfiles_date\";i:1261;s:14:\"listfiles_name\";i:1262;s:14:\"listfiles_user\";i:1263;s:14:\"listfiles_size\";i:1264;s:21:\"listfiles_description\";i:1265;s:15:\"listfiles_count\";i:1266;s:16:\"file-anchor-link\";i:1267;s:8:\"filehist\";i:1268;s:13:\"filehist-help\";i:1269;s:18:\"filehist-deleteall\";i:1270;s:18:\"filehist-deleteone\";i:1271;s:15:\"filehist-revert\";i:1272;s:16:\"filehist-current\";i:1273;s:17:\"filehist-datetime\";i:1274;s:14:\"filehist-thumb\";i:1275;s:18:\"filehist-thumbtext\";i:1276;s:16:\"filehist-nothumb\";i:1277;s:13:\"filehist-user\";i:1278;s:19:\"filehist-dimensions\";i:1279;s:17:\"filehist-filesize\";i:1280;s:16:\"filehist-comment\";i:1281;s:16:\"filehist-missing\";i:1282;s:10:\"imagelinks\";i:1283;s:12:\"linkstoimage\";i:1284;s:17:\"linkstoimage-more\";i:1285;s:14:\"nolinkstoimage\";i:1286;s:16:\"morelinkstoimage\";i:1287;s:21:\"linkstoimage-redirect\";i:1288;s:16:\"duplicatesoffile\";i:1289;s:12:\"sharedupload\";i:1290;s:23:\"sharedupload-desc-there\";i:1291;s:22:\"sharedupload-desc-here\";i:1292;s:24:\"shareddescriptionfollows\";i:1293;s:15:\"filepage-nofile\";i:1294;s:20:\"filepage-nofile-link\";i:1295;s:25:\"uploadnewversion-linktext\";i:1296;s:16:\"shared-repo-from\";i:1297;s:11:\"shared-repo\";i:1298;s:33:\"shared-repo-name-wikimediacommons\";i:1299;s:12:\"filepage.css\";i:1300;s:10:\"filerevert\";i:1301;s:19:\"filerevert-backlink\";i:1302;s:17:\"filerevert-legend\";i:1303;s:16:\"filerevert-intro\";i:1304;s:18:\"filerevert-comment\";i:1305;s:25:\"filerevert-defaultcomment\";i:1306;s:17:\"filerevert-submit\";i:1307;s:18:\"filerevert-success\";i:1308;s:21:\"filerevert-badversion\";i:1309;s:10:\"filedelete\";i:1310;s:19:\"filedelete-backlink\";i:1311;s:17:\"filedelete-legend\";i:1312;s:16:\"filedelete-intro\";i:1313;s:20:\"filedelete-intro-old\";i:1314;s:18:\"filedelete-comment\";i:1315;s:17:\"filedelete-submit\";i:1316;s:18:\"filedelete-success\";i:1317;s:22:\"filedelete-success-old\";i:1318;s:17:\"filedelete-nofile\";i:1319;s:21:\"filedelete-nofile-old\";i:1320;s:22:\"filedelete-otherreason\";i:1321;s:27:\"filedelete-reason-otherlist\";i:1322;s:26:\"filedelete-reason-dropdown\";i:1323;s:26:\"filedelete-edit-reasonlist\";i:1324;s:22:\"filedelete-maintenance\";i:1325;s:10:\"mimesearch\";i:1326;s:18:\"mimesearch-summary\";i:1327;s:8:\"mimetype\";i:1328;s:8:\"download\";i:1329;s:14:\"unwatchedpages\";i:1330;s:22:\"unwatchedpages-summary\";i:1331;s:13:\"listredirects\";i:1332;s:21:\"listredirects-summary\";i:1333;s:15:\"unusedtemplates\";i:1334;s:23:\"unusedtemplates-summary\";i:1335;s:19:\"unusedtemplatestext\";i:1336;s:18:\"unusedtemplateswlh\";i:1337;s:10:\"randompage\";i:1338;s:18:\"randompage-nopages\";i:1339;s:14:\"randompage-url\";i:1340;s:14:\"randomredirect\";i:1341;s:22:\"randomredirect-nopages\";i:1342;s:10:\"statistics\";i:1343;s:18:\"statistics-summary\";i:1344;s:23:\"statistics-header-pages\";i:1345;s:23:\"statistics-header-edits\";i:1346;s:23:\"statistics-header-views\";i:1347;s:23:\"statistics-header-users\";i:1348;s:23:\"statistics-header-hooks\";i:1349;s:19:\"statistics-articles\";i:1350;s:16:\"statistics-pages\";i:1351;s:21:\"statistics-pages-desc\";i:1352;s:16:\"statistics-files\";i:1353;s:16:\"statistics-edits\";i:1354;s:24:\"statistics-edits-average\";i:1355;s:22:\"statistics-views-total\";i:1356;s:27:\"statistics-views-total-desc\";i:1357;s:24:\"statistics-views-peredit\";i:1358;s:16:\"statistics-users\";i:1359;s:23:\"statistics-users-active\";i:1360;s:28:\"statistics-users-active-desc\";i:1361;s:22:\"statistics-mostpopular\";i:1362;s:17:\"statistics-footer\";i:1363;s:15:\"disambiguations\";i:1364;s:23:\"disambiguations-summary\";i:1365;s:19:\"disambiguationspage\";i:1366;s:20:\"disambiguations-text\";i:1367;s:15:\"doubleredirects\";i:1368;s:23:\"doubleredirects-summary\";i:1369;s:19:\"doubleredirectstext\";i:1370;s:26:\"double-redirect-fixed-move\";i:1371;s:33:\"double-redirect-fixed-maintenance\";i:1372;s:21:\"double-redirect-fixer\";i:1373;s:15:\"brokenredirects\";i:1374;s:23:\"brokenredirects-summary\";i:1375;s:19:\"brokenredirectstext\";i:1376;s:20:\"brokenredirects-edit\";i:1377;s:22:\"brokenredirects-delete\";i:1378;s:16:\"withoutinterwiki\";i:1379;s:24:\"withoutinterwiki-summary\";i:1380;s:23:\"withoutinterwiki-legend\";i:1381;s:23:\"withoutinterwiki-submit\";i:1382;s:15:\"fewestrevisions\";i:1383;s:23:\"fewestrevisions-summary\";i:1384;s:6:\"nbytes\";i:1385;s:11:\"ncategories\";i:1386;s:6:\"nlinks\";i:1387;s:8:\"nmembers\";i:1388;s:10:\"nrevisions\";i:1389;s:6:\"nviews\";i:1390;s:11:\"nimagelinks\";i:1391;s:14:\"ntransclusions\";i:1392;s:17:\"specialpage-empty\";i:1393;s:11:\"lonelypages\";i:1394;s:19:\"lonelypages-summary\";i:1395;s:15:\"lonelypagestext\";i:1396;s:18:\"uncategorizedpages\";i:1397;s:26:\"uncategorizedpages-summary\";i:1398;s:23:\"uncategorizedcategories\";i:1399;s:31:\"uncategorizedcategories-summary\";i:1400;s:19:\"uncategorizedimages\";i:1401;s:27:\"uncategorizedimages-summary\";i:1402;s:22:\"uncategorizedtemplates\";i:1403;s:30:\"uncategorizedtemplates-summary\";i:1404;s:16:\"unusedcategories\";i:1405;s:12:\"unusedimages\";i:1406;s:12:\"popularpages\";i:1407;s:20:\"popularpages-summary\";i:1408;s:16:\"wantedcategories\";i:1409;s:24:\"wantedcategories-summary\";i:1410;s:11:\"wantedpages\";i:1411;s:19:\"wantedpages-summary\";i:1412;s:20:\"wantedpages-badtitle\";i:1413;s:11:\"wantedfiles\";i:1414;s:19:\"wantedfiles-summary\";i:1415;s:15:\"wantedtemplates\";i:1416;s:23:\"wantedtemplates-summary\";i:1417;s:10:\"mostlinked\";i:1418;s:18:\"mostlinked-summary\";i:1419;s:20:\"mostlinkedcategories\";i:1420;s:28:\"mostlinkedcategories-summary\";i:1421;s:19:\"mostlinkedtemplates\";i:1422;s:27:\"mostlinkedtemplates-summary\";i:1423;s:14:\"mostcategories\";i:1424;s:22:\"mostcategories-summary\";i:1425;s:10:\"mostimages\";i:1426;s:18:\"mostimages-summary\";i:1427;s:13:\"mostrevisions\";i:1428;s:21:\"mostrevisions-summary\";i:1429;s:11:\"prefixindex\";i:1430;s:19:\"prefixindex-summary\";i:1431;s:10:\"shortpages\";i:1432;s:18:\"shortpages-summary\";i:1433;s:9:\"longpages\";i:1434;s:17:\"longpages-summary\";i:1435;s:12:\"deadendpages\";i:1436;s:20:\"deadendpages-summary\";i:1437;s:16:\"deadendpagestext\";i:1438;s:14:\"protectedpages\";i:1439;s:20:\"protectedpages-indef\";i:1440;s:22:\"protectedpages-summary\";i:1441;s:22:\"protectedpages-cascade\";i:1442;s:18:\"protectedpagestext\";i:1443;s:19:\"protectedpagesempty\";i:1444;s:15:\"protectedtitles\";i:1445;s:23:\"protectedtitles-summary\";i:1446;s:19:\"protectedtitlestext\";i:1447;s:20:\"protectedtitlesempty\";i:1448;s:9:\"listusers\";i:1449;s:17:\"listusers-summary\";i:1450;s:19:\"listusers-editsonly\";i:1451;s:22:\"listusers-creationsort\";i:1452;s:13:\"usereditcount\";i:1453;s:11:\"usercreated\";i:1454;s:8:\"newpages\";i:1455;s:16:\"newpages-summary\";i:1456;s:17:\"newpages-username\";i:1457;s:12:\"ancientpages\";i:1458;s:20:\"ancientpages-summary\";i:1459;s:4:\"move\";i:1460;s:12:\"movethispage\";i:1461;s:16:\"unusedimagestext\";i:1462;s:20:\"unusedcategoriestext\";i:1463;s:13:\"notargettitle\";i:1464;s:12:\"notargettext\";i:1465;s:11:\"nopagetitle\";i:1466;s:10:\"nopagetext\";i:1467;s:13:\"pager-newer-n\";i:1468;s:13:\"pager-older-n\";i:1469;s:8:\"suppress\";i:1470;s:18:\"querypage-disabled\";i:1471;s:11:\"booksources\";i:1472;s:19:\"booksources-summary\";i:1473;s:25:\"booksources-search-legend\";i:1474;s:16:\"booksources-isbn\";i:1475;s:14:\"booksources-go\";i:1476;s:16:\"booksources-text\";i:1477;s:24:\"booksources-invalid-isbn\";i:1478;s:6:\"rfcurl\";i:1479;s:9:\"pubmedurl\";i:1480;s:19:\"specialloguserlabel\";i:1481;s:20:\"speciallogtitlelabel\";i:1482;s:3:\"log\";i:1483;s:13:\"all-logs-page\";i:1484;s:11:\"alllogstext\";i:1485;s:8:\"logempty\";i:1486;s:18:\"log-title-wildcard\";i:1487;s:8:\"allpages\";i:1488;s:16:\"allpages-summary\";i:1489;s:14:\"alphaindexline\";i:1490;s:8:\"nextpage\";i:1491;s:8:\"prevpage\";i:1492;s:12:\"allpagesfrom\";i:1493;s:10:\"allpagesto\";i:1494;s:11:\"allarticles\";i:1495;s:14:\"allinnamespace\";i:1496;s:17:\"allnotinnamespace\";i:1497;s:12:\"allpagesprev\";i:1498;s:12:\"allpagesnext\";i:1499;s:14:\"allpagessubmit\";i:1500;s:14:\"allpagesprefix\";i:1501;s:16:\"allpagesbadtitle\";i:1502;s:15:\"allpages-bad-ns\";i:1503;s:10:\"categories\";i:1504;s:18:\"categories-summary\";i:1505;s:18:\"categoriespagetext\";i:1506;s:14:\"categoriesfrom\";i:1507;s:29:\"special-categories-sort-count\";i:1508;s:27:\"special-categories-sort-abc\";i:1509;s:20:\"deletedcontributions\";i:1510;s:26:\"deletedcontributions-title\";i:1511;s:32:\"sp-deletedcontributions-contribs\";i:1512;s:10:\"linksearch\";i:1513;s:14:\"linksearch-pat\";i:1514;s:13:\"linksearch-ns\";i:1515;s:13:\"linksearch-ok\";i:1516;s:15:\"linksearch-text\";i:1517;s:15:\"linksearch-line\";i:1518;s:16:\"linksearch-error\";i:1519;s:13:\"listusersfrom\";i:1520;s:16:\"listusers-submit\";i:1521;s:18:\"listusers-noresult\";i:1522;s:17:\"listusers-blocked\";i:1523;s:11:\"activeusers\";i:1524;s:19:\"activeusers-summary\";i:1525;s:17:\"activeusers-intro\";i:1526;s:17:\"activeusers-count\";i:1527;s:16:\"activeusers-from\";i:1528;s:20:\"activeusers-hidebots\";i:1529;s:22:\"activeusers-hidesysops\";i:1530;s:20:\"activeusers-noresult\";i:1531;s:14:\"newuserlogpage\";i:1532;s:18:\"newuserlogpagetext\";i:1533;s:15:\"newuserlogentry\";i:1534;s:18:\"newuserlog-byemail\";i:1535;s:23:\"newuserlog-create-entry\";i:1536;s:24:\"newuserlog-create2-entry\";i:1537;s:27:\"newuserlog-autocreate-entry\";i:1538;s:15:\"listgrouprights\";i:1539;s:23:\"listgrouprights-summary\";i:1540;s:19:\"listgrouprights-key\";i:1541;s:21:\"listgrouprights-group\";i:1542;s:22:\"listgrouprights-rights\";i:1543;s:24:\"listgrouprights-helppage\";i:1544;s:23:\"listgrouprights-members\";i:1545;s:29:\"listgrouprights-right-display\";i:1546;s:29:\"listgrouprights-right-revoked\";i:1547;s:24:\"listgrouprights-addgroup\";i:1548;s:27:\"listgrouprights-removegroup\";i:1549;s:28:\"listgrouprights-addgroup-all\";i:1550;s:31:\"listgrouprights-removegroup-all\";i:1551;s:29:\"listgrouprights-addgroup-self\";i:1552;s:32:\"listgrouprights-removegroup-self\";i:1553;s:33:\"listgrouprights-addgroup-self-all\";i:1554;s:36:\"listgrouprights-removegroup-self-all\";i:1555;s:11:\"mailnologin\";i:1556;s:15:\"mailnologintext\";i:1557;s:9:\"emailuser\";i:1558;s:9:\"emailpage\";i:1559;s:13:\"emailpagetext\";i:1560;s:15:\"usermailererror\";i:1561;s:15:\"defemailsubject\";i:1562;s:16:\"usermaildisabled\";i:1563;s:20:\"usermaildisabledtext\";i:1564;s:12:\"noemailtitle\";i:1565;s:11:\"noemailtext\";i:1566;s:16:\"nowikiemailtitle\";i:1567;s:15:\"nowikiemailtext\";i:1568;s:13:\"emailnotarget\";i:1569;s:11:\"emailtarget\";i:1570;s:13:\"emailusername\";i:1571;s:19:\"emailusernamesubmit\";i:1572;s:12:\"email-legend\";i:1573;s:9:\"emailfrom\";i:1574;s:7:\"emailto\";i:1575;s:12:\"emailsubject\";i:1576;s:12:\"emailmessage\";i:1577;s:9:\"emailsend\";i:1578;s:9:\"emailccme\";i:1579;s:14:\"emailccsubject\";i:1580;s:9:\"emailsent\";i:1581;s:13:\"emailsenttext\";i:1582;s:15:\"emailuserfooter\";i:1583;s:19:\"usermessage-summary\";i:1584;s:18:\"usermessage-editor\";i:1585;s:20:\"usermessage-template\";i:1586;s:9:\"watchlist\";i:1587;s:11:\"mywatchlist\";i:1588;s:13:\"watchlistfor2\";i:1589;s:11:\"nowatchlist\";i:1590;s:17:\"watchlistanontext\";i:1591;s:12:\"watchnologin\";i:1592;s:16:\"watchnologintext\";i:1593;s:8:\"addwatch\";i:1594;s:14:\"addedwatchtext\";i:1595;s:11:\"removewatch\";i:1596;s:16:\"removedwatchtext\";i:1597;s:5:\"watch\";i:1598;s:13:\"watchthispage\";i:1599;s:7:\"unwatch\";i:1600;s:15:\"unwatchthispage\";i:1601;s:12:\"notanarticle\";i:1602;s:13:\"notvisiblerev\";i:1603;s:13:\"watchnochange\";i:1604;s:17:\"watchlist-details\";i:1605;s:15:\"wlheader-enotif\";i:1606;s:20:\"wlheader-showupdated\";i:1607;s:18:\"watchmethod-recent\";i:1608;s:16:\"watchmethod-list\";i:1609;s:17:\"watchlistcontains\";i:1610;s:15:\"iteminvalidname\";i:1611;s:6:\"wlnote\";i:1612;s:10:\"wlshowlast\";i:1613;s:17:\"watchlist-options\";i:1614;s:8:\"watching\";i:1615;s:10:\"unwatching\";i:1616;s:14:\"watcherrortext\";i:1617;s:13:\"enotif_mailer\";i:1618;s:12:\"enotif_reset\";i:1619;s:18:\"enotif_newpagetext\";i:1620;s:28:\"enotif_impersonal_salutation\";i:1621;s:7:\"changed\";i:1622;s:7:\"created\";i:1623;s:14:\"enotif_subject\";i:1624;s:18:\"enotif_lastvisited\";i:1625;s:15:\"enotif_lastdiff\";i:1626;s:18:\"enotif_anon_editor\";i:1627;s:11:\"enotif_body\";i:1628;s:10:\"deletepage\";i:1629;s:7:\"confirm\";i:1630;s:9:\"excontent\";i:1631;s:15:\"excontentauthor\";i:1632;s:13:\"exbeforeblank\";i:1633;s:7:\"exblank\";i:1634;s:14:\"delete-confirm\";i:1635;s:15:\"delete-backlink\";i:1636;s:13:\"delete-legend\";i:1637;s:14:\"historywarning\";i:1638;s:17:\"confirmdeletetext\";i:1639;s:14:\"actioncomplete\";i:1640;s:12:\"actionfailed\";i:1641;s:11:\"deletedtext\";i:1642;s:14:\"deletedarticle\";i:1643;s:17:\"suppressedarticle\";i:1644;s:10:\"dellogpage\";i:1645;s:14:\"dellogpagetext\";i:1646;s:11:\"deletionlog\";i:1647;s:8:\"reverted\";i:1648;s:13:\"deletecomment\";i:1649;s:17:\"deleteotherreason\";i:1650;s:21:\"deletereasonotherlist\";i:1651;s:21:\"deletereason-dropdown\";i:1652;s:22:\"delete-edit-reasonlist\";i:1653;s:13:\"delete-toobig\";i:1654;s:21:\"delete-warning-toobig\";i:1655;s:8:\"rollback\";i:1656;s:14:\"rollback_short\";i:1657;s:12:\"rollbacklink\";i:1658;s:14:\"rollbackfailed\";i:1659;s:12:\"cantrollback\";i:1660;s:13:\"alreadyrolled\";i:1661;s:11:\"editcomment\";i:1662;s:10:\"revertpage\";i:1663;s:17:\"revertpage-nouser\";i:1664;s:16:\"rollback-success\";i:1665;s:20:\"sessionfailure-title\";i:1666;s:14:\"sessionfailure\";i:1667;s:14:\"protectlogpage\";i:1668;s:14:\"protectlogtext\";i:1669;s:16:\"protectedarticle\";i:1670;s:25:\"modifiedarticleprotection\";i:1671;s:18:\"unprotectedarticle\";i:1672;s:22:\"movedarticleprotection\";i:1673;s:13:\"protect-title\";i:1674;s:14:\"prot_1movedto2\";i:1675;s:16:\"protect-backlink\";i:1676;s:14:\"protect-legend\";i:1677;s:14:\"protectcomment\";i:1678;s:13:\"protectexpiry\";i:1679;s:22:\"protect_expiry_invalid\";i:1680;s:18:\"protect_expiry_old\";i:1681;s:27:\"protect-unchain-permissions\";i:1682;s:12:\"protect-text\";i:1683;s:22:\"protect-locked-blocked\";i:1684;s:21:\"protect-locked-dblock\";i:1685;s:21:\"protect-locked-access\";i:1686;s:17:\"protect-cascadeon\";i:1687;s:15:\"protect-default\";i:1688;s:16:\"protect-fallback\";i:1689;s:27:\"protect-level-autoconfirmed\";i:1690;s:19:\"protect-level-sysop\";i:1691;s:23:\"protect-summary-cascade\";i:1692;s:16:\"protect-expiring\";i:1693;s:25:\"protect-expiry-indefinite\";i:1694;s:15:\"protect-cascade\";i:1695;s:16:\"protect-cantedit\";i:1696;s:17:\"protect-othertime\";i:1697;s:20:\"protect-othertime-op\";i:1698;s:23:\"protect-existing-expiry\";i:1699;s:19:\"protect-otherreason\";i:1700;s:22:\"protect-otherreason-op\";i:1701;s:16:\"protect-dropdown\";i:1702;s:23:\"protect-edit-reasonlist\";i:1703;s:22:\"protect-expiry-options\";i:1704;s:16:\"restriction-type\";i:1705;s:17:\"restriction-level\";i:1706;s:12:\"minimum-size\";i:1707;s:12:\"maximum-size\";i:1708;s:8:\"pagesize\";i:1709;s:16:\"restriction-edit\";i:1710;s:16:\"restriction-move\";i:1711;s:18:\"restriction-create\";i:1712;s:18:\"restriction-upload\";i:1713;s:23:\"restriction-level-sysop\";i:1714;s:31:\"restriction-level-autoconfirmed\";i:1715;s:21:\"restriction-level-all\";i:1716;s:8:\"undelete\";i:1717;s:12:\"undeletepage\";i:1718;s:17:\"undeletepagetitle\";i:1719;s:15:\"viewdeletedpage\";i:1720;s:16:\"undeletepagetext\";i:1721;s:23:\"undelete-fieldset-title\";i:1722;s:17:\"undeleteextrahelp\";i:1723;s:17:\"undeleterevisions\";i:1724;s:15:\"undeletehistory\";i:1725;s:14:\"undeleterevdel\";i:1726;s:22:\"undeletehistorynoadmin\";i:1727;s:17:\"undelete-revision\";i:1728;s:24:\"undeleterevision-missing\";i:1729;s:15:\"undelete-nodiff\";i:1730;s:11:\"undeletebtn\";i:1731;s:12:\"undeletelink\";i:1732;s:16:\"undeleteviewlink\";i:1733;s:13:\"undeletereset\";i:1734;s:14:\"undeleteinvert\";i:1735;s:15:\"undeletecomment\";i:1736;s:16:\"undeletedarticle\";i:1737;s:18:\"undeletedrevisions\";i:1738;s:24:\"undeletedrevisions-files\";i:1739;s:14:\"undeletedfiles\";i:1740;s:14:\"cannotundelete\";i:1741;s:13:\"undeletedpage\";i:1742;s:15:\"undelete-header\";i:1743;s:19:\"undelete-search-box\";i:1744;s:22:\"undelete-search-prefix\";i:1745;s:22:\"undelete-search-submit\";i:1746;s:19:\"undelete-no-results\";i:1747;s:26:\"undelete-filename-mismatch\";i:1748;s:22:\"undelete-bad-store-key\";i:1749;s:22:\"undelete-cleanup-error\";i:1750;s:28:\"undelete-missing-filearchive\";i:1751;s:20:\"undelete-error-short\";i:1752;s:19:\"undelete-error-long\";i:1753;s:26:\"undelete-show-file-confirm\";i:1754;s:25:\"undelete-show-file-submit\";i:1755;s:9:\"namespace\";i:1756;s:6:\"invert\";i:1757;s:14:\"tooltip-invert\";i:1758;s:21:\"namespace_association\";i:1759;s:29:\"tooltip-namespace_association\";i:1760;s:14:\"blanknamespace\";i:1761;s:13:\"contributions\";i:1762;s:19:\"contributions-title\";i:1763;s:9:\"mycontris\";i:1764;s:11:\"contribsub2\";i:1765;s:10:\"nocontribs\";i:1766;s:5:\"uctop\";i:1767;s:5:\"month\";i:1768;s:4:\"year\";i:1769;s:24:\"sp-contributions-newbies\";i:1770;s:28:\"sp-contributions-newbies-sub\";i:1771;s:30:\"sp-contributions-newbies-title\";i:1772;s:25:\"sp-contributions-blocklog\";i:1773;s:24:\"sp-contributions-deleted\";i:1774;s:24:\"sp-contributions-uploads\";i:1775;s:21:\"sp-contributions-logs\";i:1776;s:21:\"sp-contributions-talk\";i:1777;s:27:\"sp-contributions-userrights\";i:1778;s:31:\"sp-contributions-blocked-notice\";i:1779;s:36:\"sp-contributions-blocked-notice-anon\";i:1780;s:23:\"sp-contributions-search\";i:1781;s:25:\"sp-contributions-username\";i:1782;s:24:\"sp-contributions-toponly\";i:1783;s:23:\"sp-contributions-submit\";i:1784;s:24:\"sp-contributions-explain\";i:1785;s:23:\"sp-contributions-footer\";i:1786;s:28:\"sp-contributions-footer-anon\";i:1787;s:13:\"whatlinkshere\";i:1788;s:19:\"whatlinkshere-title\";i:1789;s:21:\"whatlinkshere-summary\";i:1790;s:18:\"whatlinkshere-page\";i:1791;s:22:\"whatlinkshere-backlink\";i:1792;s:9:\"linkshere\";i:1793;s:11:\"nolinkshere\";i:1794;s:14:\"nolinkshere-ns\";i:1795;s:10:\"isredirect\";i:1796;s:10:\"istemplate\";i:1797;s:7:\"isimage\";i:1798;s:18:\"whatlinkshere-prev\";i:1799;s:18:\"whatlinkshere-next\";i:1800;s:19:\"whatlinkshere-links\";i:1801;s:24:\"whatlinkshere-hideredirs\";i:1802;s:23:\"whatlinkshere-hidetrans\";i:1803;s:23:\"whatlinkshere-hidelinks\";i:1804;s:24:\"whatlinkshere-hideimages\";i:1805;s:21:\"whatlinkshere-filters\";i:1806;s:11:\"autoblockid\";i:1807;s:5:\"block\";i:1808;s:7:\"unblock\";i:1809;s:7:\"blockip\";i:1810;s:13:\"blockip-title\";i:1811;s:14:\"blockip-legend\";i:1812;s:11:\"blockiptext\";i:1813;s:18:\"ipadressorusername\";i:1814;s:9:\"ipbexpiry\";i:1815;s:9:\"ipbreason\";i:1816;s:18:\"ipbreasonotherlist\";i:1817;s:18:\"ipbreason-dropdown\";i:1818;s:13:\"ipb-hardblock\";i:1819;s:16:\"ipbcreateaccount\";i:1820;s:11:\"ipbemailban\";i:1821;s:18:\"ipbenableautoblock\";i:1822;s:9:\"ipbsubmit\";i:1823;s:8:\"ipbother\";i:1824;s:10:\"ipboptions\";i:1825;s:14:\"ipbotheroption\";i:1826;s:14:\"ipbotherreason\";i:1827;s:11:\"ipbhidename\";i:1828;s:12:\"ipbwatchuser\";i:1829;s:19:\"ipb-disableusertalk\";i:1830;s:16:\"ipb-change-block\";i:1831;s:11:\"ipb-confirm\";i:1832;s:12:\"badipaddress\";i:1833;s:17:\"blockipsuccesssub\";i:1834;s:18:\"blockipsuccesstext\";i:1835;s:16:\"ipb-blockingself\";i:1836;s:19:\"ipb-confirmhideuser\";i:1837;s:17:\"ipb-edit-dropdown\";i:1838;s:16:\"ipb-unblock-addr\";i:1839;s:11:\"ipb-unblock\";i:1840;s:13:\"ipb-blocklist\";i:1841;s:22:\"ipb-blocklist-contribs\";i:1842;s:9:\"unblockip\";i:1843;s:13:\"unblockiptext\";i:1844;s:9:\"ipusubmit\";i:1845;s:9:\"unblocked\";i:1846;s:15:\"unblocked-range\";i:1847;s:12:\"unblocked-id\";i:1848;s:9:\"blocklist\";i:1849;s:11:\"ipblocklist\";i:1850;s:18:\"ipblocklist-legend\";i:1851;s:20:\"blocklist-userblocks\";i:1852;s:20:\"blocklist-tempblocks\";i:1853;s:23:\"blocklist-addressblocks\";i:1854;s:19:\"blocklist-timestamp\";i:1855;s:16:\"blocklist-target\";i:1856;s:16:\"blocklist-expiry\";i:1857;s:12:\"blocklist-by\";i:1858;s:16:\"blocklist-params\";i:1859;s:16:\"blocklist-reason\";i:1860;s:17:\"blocklist-summary\";i:1861;s:18:\"ipblocklist-submit\";i:1862;s:22:\"ipblocklist-localblock\";i:1863;s:23:\"ipblocklist-otherblocks\";i:1864;s:13:\"infiniteblock\";i:1865;s:13:\"expiringblock\";i:1866;s:13:\"anononlyblock\";i:1867;s:16:\"noautoblockblock\";i:1868;s:18:\"createaccountblock\";i:1869;s:10:\"emailblock\";i:1870;s:20:\"blocklist-nousertalk\";i:1871;s:17:\"ipblocklist-empty\";i:1872;s:22:\"ipblocklist-no-results\";i:1873;s:9:\"blocklink\";i:1874;s:11:\"unblocklink\";i:1875;s:16:\"change-blocklink\";i:1876;s:12:\"contribslink\";i:1877;s:11:\"autoblocker\";i:1878;s:12:\"blocklogpage\";i:1879;s:16:\"blocklog-showlog\";i:1880;s:24:\"blocklog-showsuppresslog\";i:1881;s:13:\"blocklogentry\";i:1882;s:16:\"reblock-logentry\";i:1883;s:12:\"blocklogtext\";i:1884;s:15:\"unblocklogentry\";i:1885;s:24:\"block-log-flags-anononly\";i:1886;s:24:\"block-log-flags-nocreate\";i:1887;s:27:\"block-log-flags-noautoblock\";i:1888;s:23:\"block-log-flags-noemail\";i:1889;s:26:\"block-log-flags-nousertalk\";i:1890;s:31:\"block-log-flags-angry-autoblock\";i:1891;s:26:\"block-log-flags-hiddenname\";i:1892;s:20:\"range_block_disabled\";i:1893;s:18:\"ipb_expiry_invalid\";i:1894;s:15:\"ipb_expiry_temp\";i:1895;s:16:\"ipb_hide_invalid\";i:1896;s:19:\"ipb_already_blocked\";i:1897;s:15:\"ipb-needreblock\";i:1898;s:22:\"ipb-otherblocks-header\";i:1899;s:16:\"unblock-hideuser\";i:1900;s:16:\"ipb_cant_unblock\";i:1901;s:20:\"ipb_blocked_as_range\";i:1902;s:16:\"ip_range_invalid\";i:1903;s:17:\"ip_range_toolarge\";i:1904;s:7:\"blockme\";i:1905;s:12:\"proxyblocker\";i:1906;s:21:\"proxyblocker-disabled\";i:1907;s:16:\"proxyblockreason\";i:1908;s:17:\"proxyblocksuccess\";i:1909;s:5:\"sorbs\";i:1910;s:11:\"sorbsreason\";i:1911;s:27:\"sorbs_create_account_reason\";i:1912;s:24:\"cant-block-while-blocked\";i:1913;s:20:\"cant-see-hidden-user\";i:1914;s:10:\"ipbblocked\";i:1915;s:16:\"ipbnounblockself\";i:1916;s:6:\"lockdb\";i:1917;s:8:\"unlockdb\";i:1918;s:10:\"lockdbtext\";i:1919;s:12:\"unlockdbtext\";i:1920;s:11:\"lockconfirm\";i:1921;s:13:\"unlockconfirm\";i:1922;s:7:\"lockbtn\";i:1923;s:9:\"unlockbtn\";i:1924;s:13:\"locknoconfirm\";i:1925;s:16:\"lockdbsuccesssub\";i:1926;s:18:\"unlockdbsuccesssub\";i:1927;s:17:\"lockdbsuccesstext\";i:1928;s:19:\"unlockdbsuccesstext\";i:1929;s:19:\"lockfilenotwritable\";i:1930;s:17:\"databasenotlocked\";i:1931;s:15:\"lockedbyandtime\";i:1932;s:9:\"move-page\";i:1933;s:16:\"move-page-legend\";i:1934;s:12:\"movepagetext\";i:1935;s:28:\"movepagetext-noredirectfixer\";i:1936;s:16:\"movepagetalktext\";i:1937;s:11:\"movearticle\";i:1938;s:20:\"moveuserpage-warning\";i:1939;s:11:\"movenologin\";i:1940;s:15:\"movenologintext\";i:1941;s:14:\"movenotallowed\";i:1942;s:18:\"movenotallowedfile\";i:1943;s:19:\"cant-move-user-page\";i:1944;s:22:\"cant-move-to-user-page\";i:1945;s:8:\"newtitle\";i:1946;s:10:\"move-watch\";i:1947;s:11:\"movepagebtn\";i:1948;s:12:\"pagemovedsub\";i:1949;s:14:\"movepage-moved\";i:1950;s:23:\"movepage-moved-redirect\";i:1951;s:25:\"movepage-moved-noredirect\";i:1952;s:13:\"articleexists\";i:1953;s:23:\"cantmove-titleprotected\";i:1954;s:10:\"talkexists\";i:1955;s:7:\"movedto\";i:1956;s:8:\"movetalk\";i:1957;s:13:\"move-subpages\";i:1958;s:18:\"move-talk-subpages\";i:1959;s:20:\"movepage-page-exists\";i:1960;s:19:\"movepage-page-moved\";i:1961;s:21:\"movepage-page-unmoved\";i:1962;s:18:\"movepage-max-pages\";i:1963;s:9:\"1movedto2\";i:1964;s:15:\"1movedto2_redir\";i:1965;s:24:\"move-redirect-suppressed\";i:1966;s:11:\"movelogpage\";i:1967;s:15:\"movelogpagetext\";i:1968;s:11:\"movesubpage\";i:1969;s:15:\"movesubpagetext\";i:1970;s:13:\"movenosubpage\";i:1971;s:10:\"movereason\";i:1972;s:10:\"revertmove\";i:1973;s:15:\"delete_and_move\";i:1974;s:20:\"delete_and_move_text\";i:1975;s:23:\"delete_and_move_confirm\";i:1976;s:22:\"delete_and_move_reason\";i:1977;s:8:\"selfmove\";i:1978;s:25:\"immobile-source-namespace\";i:1979;s:25:\"immobile-target-namespace\";i:1980;s:28:\"immobile-target-namespace-iw\";i:1981;s:20:\"immobile-source-page\";i:1982;s:20:\"immobile-target-page\";i:1983;s:21:\"imagenocrossnamespace\";i:1984;s:27:\"nonfile-cannot-move-to-file\";i:1985;s:17:\"imagetypemismatch\";i:1986;s:20:\"imageinvalidfilename\";i:1987;s:20:\"fix-double-redirects\";i:1988;s:19:\"move-leave-redirect\";i:1989;s:24:\"protectedpagemovewarning\";i:1990;s:28:\"semiprotectedpagemovewarning\";i:1991;s:20:\"move-over-sharedrepo\";i:1992;s:22:\"file-exists-sharedrepo\";i:1993;s:6:\"export\";i:1994;s:10:\"exporttext\";i:1995;s:13:\"exportcuronly\";i:1996;s:15:\"exportnohistory\";i:1997;s:13:\"export-submit\";i:1998;s:17:\"export-addcattext\";i:1999;s:13:\"export-addcat\";i:2000;s:16:\"export-addnstext\";i:2001;s:12:\"export-addns\";i:2002;s:15:\"export-download\";i:2003;s:16:\"export-templates\";i:2004;s:16:\"export-pagelinks\";i:2005;s:11:\"allmessages\";i:2006;s:15:\"allmessagesname\";i:2007;s:18:\"allmessagesdefault\";i:2008;s:18:\"allmessagescurrent\";i:2009;s:15:\"allmessagestext\";i:2010;s:25:\"allmessagesnotsupportedDB\";i:2011;s:25:\"allmessages-filter-legend\";i:2012;s:18:\"allmessages-filter\";i:2013;s:29:\"allmessages-filter-unmodified\";i:2014;s:22:\"allmessages-filter-all\";i:2015;s:27:\"allmessages-filter-modified\";i:2016;s:18:\"allmessages-prefix\";i:2017;s:20:\"allmessages-language\";i:2018;s:25:\"allmessages-filter-submit\";i:2019;s:14:\"thumbnail-more\";i:2020;s:11:\"filemissing\";i:2021;s:15:\"thumbnail_error\";i:2022;s:15:\"djvu_page_error\";i:2023;s:11:\"djvu_no_xml\";i:2024;s:24:\"thumbnail_invalid_params\";i:2025;s:24:\"thumbnail_dest_directory\";i:2026;s:20:\"thumbnail_image-type\";i:2027;s:20:\"thumbnail_gd-library\";i:2028;s:23:\"thumbnail_image-missing\";i:2029;s:6:\"import\";i:2030;s:15:\"importinterwiki\";i:2031;s:21:\"import-interwiki-text\";i:2032;s:23:\"import-interwiki-source\";i:2033;s:24:\"import-interwiki-history\";i:2034;s:26:\"import-interwiki-templates\";i:2035;s:23:\"import-interwiki-submit\";i:2036;s:26:\"import-interwiki-namespace\";i:2037;s:22:\"import-upload-filename\";i:2038;s:14:\"import-comment\";i:2039;s:10:\"importtext\";i:2040;s:11:\"importstart\";i:2041;s:21:\"import-revision-count\";i:2042;s:13:\"importnopages\";i:2043;s:20:\"imported-log-entries\";i:2044;s:12:\"importfailed\";i:2045;s:19:\"importunknownsource\";i:2046;s:14:\"importcantopen\";i:2047;s:18:\"importbadinterwiki\";i:2048;s:12:\"importnotext\";i:2049;s:13:\"importsuccess\";i:2050;s:21:\"importhistoryconflict\";i:2051;s:15:\"importnosources\";i:2052;s:12:\"importnofile\";i:2053;s:21:\"importuploaderrorsize\";i:2054;s:24:\"importuploaderrorpartial\";i:2055;s:21:\"importuploaderrortemp\";i:2056;s:20:\"import-parse-failure\";i:2057;s:16:\"import-noarticle\";i:2058;s:21:\"import-nonewrevisions\";i:2059;s:16:\"xml-error-string\";i:2060;s:13:\"import-upload\";i:2061;s:21:\"import-token-mismatch\";i:2062;s:24:\"import-invalid-interwiki\";i:2063;s:13:\"importlogpage\";i:2064;s:17:\"importlogpagetext\";i:2065;s:22:\"import-logentry-upload\";i:2066;s:29:\"import-logentry-upload-detail\";i:2067;s:25:\"import-logentry-interwiki\";i:2068;s:32:\"import-logentry-interwiki-detail\";i:2069;s:21:\"accesskey-pt-userpage\";i:2070;s:25:\"accesskey-pt-anonuserpage\";i:2071;s:19:\"accesskey-pt-mytalk\";i:2072;s:21:\"accesskey-pt-anontalk\";i:2073;s:24:\"accesskey-pt-preferences\";i:2074;s:22:\"accesskey-pt-watchlist\";i:2075;s:22:\"accesskey-pt-mycontris\";i:2076;s:18:\"accesskey-pt-login\";i:2077;s:22:\"accesskey-pt-anonlogin\";i:2078;s:19:\"accesskey-pt-logout\";i:2079;s:17:\"accesskey-ca-talk\";i:2080;s:17:\"accesskey-ca-edit\";i:2081;s:23:\"accesskey-ca-addsection\";i:2082;s:23:\"accesskey-ca-viewsource\";i:2083;s:20:\"accesskey-ca-history\";i:2084;s:20:\"accesskey-ca-protect\";i:2085;s:22:\"accesskey-ca-unprotect\";i:2086;s:19:\"accesskey-ca-delete\";i:2087;s:21:\"accesskey-ca-undelete\";i:2088;s:17:\"accesskey-ca-move\";i:2089;s:18:\"accesskey-ca-watch\";i:2090;s:20:\"accesskey-ca-unwatch\";i:2091;s:16:\"accesskey-search\";i:2092;s:19:\"accesskey-search-go\";i:2093;s:25:\"accesskey-search-fulltext\";i:2094;s:16:\"accesskey-p-logo\";i:2095;s:20:\"accesskey-n-mainpage\";i:2096;s:32:\"accesskey-n-mainpage-description\";i:2097;s:18:\"accesskey-n-portal\";i:2098;s:25:\"accesskey-n-currentevents\";i:2099;s:25:\"accesskey-n-recentchanges\";i:2100;s:22:\"accesskey-n-randompage\";i:2101;s:16:\"accesskey-n-help\";i:2102;s:25:\"accesskey-t-whatlinkshere\";i:2103;s:31:\"accesskey-t-recentchangeslinked\";i:2104;s:18:\"accesskey-feed-rss\";i:2105;s:19:\"accesskey-feed-atom\";i:2106;s:25:\"accesskey-t-contributions\";i:2107;s:21:\"accesskey-t-emailuser\";i:2108;s:21:\"accesskey-t-permalink\";i:2109;s:17:\"accesskey-t-print\";i:2110;s:18:\"accesskey-t-upload\";i:2111;s:24:\"accesskey-t-specialpages\";i:2112;s:23:\"accesskey-ca-nstab-main\";i:2113;s:23:\"accesskey-ca-nstab-user\";i:2114;s:24:\"accesskey-ca-nstab-media\";i:2115;s:26:\"accesskey-ca-nstab-special\";i:2116;s:26:\"accesskey-ca-nstab-project\";i:2117;s:24:\"accesskey-ca-nstab-image\";i:2118;s:28:\"accesskey-ca-nstab-mediawiki\";i:2119;s:27:\"accesskey-ca-nstab-template\";i:2120;s:23:\"accesskey-ca-nstab-help\";i:2121;s:27:\"accesskey-ca-nstab-category\";i:2122;s:19:\"accesskey-minoredit\";i:2123;s:14:\"accesskey-save\";i:2124;s:17:\"accesskey-preview\";i:2125;s:14:\"accesskey-diff\";i:2126;s:33:\"accesskey-compareselectedversions\";i:2127;s:15:\"accesskey-watch\";i:2128;s:16:\"accesskey-upload\";i:2129;s:26:\"accesskey-preferences-save\";i:2130;s:17:\"accesskey-summary\";i:2131;s:24:\"accesskey-userrights-set\";i:2132;s:23:\"accesskey-blockip-block\";i:2133;s:16:\"accesskey-export\";i:2134;s:16:\"accesskey-import\";i:2135;s:19:\"tooltip-pt-userpage\";i:2136;s:23:\"tooltip-pt-anonuserpage\";i:2137;s:17:\"tooltip-pt-mytalk\";i:2138;s:19:\"tooltip-pt-anontalk\";i:2139;s:22:\"tooltip-pt-preferences\";i:2140;s:20:\"tooltip-pt-watchlist\";i:2141;s:20:\"tooltip-pt-mycontris\";i:2142;s:16:\"tooltip-pt-login\";i:2143;s:20:\"tooltip-pt-anonlogin\";i:2144;s:17:\"tooltip-pt-logout\";i:2145;s:15:\"tooltip-ca-talk\";i:2146;s:15:\"tooltip-ca-edit\";i:2147;s:21:\"tooltip-ca-addsection\";i:2148;s:21:\"tooltip-ca-viewsource\";i:2149;s:18:\"tooltip-ca-history\";i:2150;s:18:\"tooltip-ca-protect\";i:2151;s:20:\"tooltip-ca-unprotect\";i:2152;s:17:\"tooltip-ca-delete\";i:2153;s:19:\"tooltip-ca-undelete\";i:2154;s:15:\"tooltip-ca-move\";i:2155;s:16:\"tooltip-ca-watch\";i:2156;s:18:\"tooltip-ca-unwatch\";i:2157;s:14:\"tooltip-search\";i:2158;s:17:\"tooltip-search-go\";i:2159;s:23:\"tooltip-search-fulltext\";i:2160;s:14:\"tooltip-p-logo\";i:2161;s:18:\"tooltip-n-mainpage\";i:2162;s:30:\"tooltip-n-mainpage-description\";i:2163;s:16:\"tooltip-n-portal\";i:2164;s:23:\"tooltip-n-currentevents\";i:2165;s:23:\"tooltip-n-recentchanges\";i:2166;s:20:\"tooltip-n-randompage\";i:2167;s:14:\"tooltip-n-help\";i:2168;s:23:\"tooltip-t-whatlinkshere\";i:2169;s:29:\"tooltip-t-recentchangeslinked\";i:2170;s:16:\"tooltip-feed-rss\";i:2171;s:17:\"tooltip-feed-atom\";i:2172;s:23:\"tooltip-t-contributions\";i:2173;s:19:\"tooltip-t-emailuser\";i:2174;s:16:\"tooltip-t-upload\";i:2175;s:22:\"tooltip-t-specialpages\";i:2176;s:15:\"tooltip-t-print\";i:2177;s:19:\"tooltip-t-permalink\";i:2178;s:21:\"tooltip-ca-nstab-main\";i:2179;s:21:\"tooltip-ca-nstab-user\";i:2180;s:22:\"tooltip-ca-nstab-media\";i:2181;s:24:\"tooltip-ca-nstab-special\";i:2182;s:24:\"tooltip-ca-nstab-project\";i:2183;s:22:\"tooltip-ca-nstab-image\";i:2184;s:26:\"tooltip-ca-nstab-mediawiki\";i:2185;s:25:\"tooltip-ca-nstab-template\";i:2186;s:21:\"tooltip-ca-nstab-help\";i:2187;s:25:\"tooltip-ca-nstab-category\";i:2188;s:17:\"tooltip-minoredit\";i:2189;s:12:\"tooltip-save\";i:2190;s:15:\"tooltip-preview\";i:2191;s:12:\"tooltip-diff\";i:2192;s:31:\"tooltip-compareselectedversions\";i:2193;s:13:\"tooltip-watch\";i:2194;s:16:\"tooltip-recreate\";i:2195;s:14:\"tooltip-upload\";i:2196;s:16:\"tooltip-rollback\";i:2197;s:12:\"tooltip-undo\";i:2198;s:24:\"tooltip-preferences-save\";i:2199;s:15:\"tooltip-summary\";i:2200;s:10:\"common.css\";i:2201;s:12:\"standard.css\";i:2202;s:13:\"nostalgia.css\";i:2203;s:15:\"cologneblue.css\";i:2204;s:12:\"monobook.css\";i:2205;s:10:\"myskin.css\";i:2206;s:9:\"chick.css\";i:2207;s:10:\"simple.css\";i:2208;s:10:\"modern.css\";i:2209;s:10:\"vector.css\";i:2210;s:9:\"print.css\";i:2211;s:12:\"handheld.css\";i:2212;s:12:\"noscript.css\";i:2213;s:23:\"group-autoconfirmed.css\";i:2214;s:13:\"group-bot.css\";i:2215;s:15:\"group-sysop.css\";i:2216;s:20:\"group-bureaucrat.css\";i:2217;s:9:\"common.js\";i:2218;s:11:\"standard.js\";i:2219;s:12:\"nostalgia.js\";i:2220;s:14:\"cologneblue.js\";i:2221;s:11:\"monobook.js\";i:2222;s:9:\"myskin.js\";i:2223;s:8:\"chick.js\";i:2224;s:9:\"simple.js\";i:2225;s:9:\"modern.js\";i:2226;s:9:\"vector.js\";i:2227;s:22:\"group-autoconfirmed.js\";i:2228;s:12:\"group-bot.js\";i:2229;s:14:\"group-sysop.js\";i:2230;s:19:\"group-bureaucrat.js\";i:2231;s:13:\"notacceptable\";i:2232;s:9:\"anonymous\";i:2233;s:8:\"siteuser\";i:2234;s:8:\"anonuser\";i:2235;s:16:\"lastmodifiedatby\";i:2236;s:13:\"othercontribs\";i:2237;s:6:\"others\";i:2238;s:9:\"siteusers\";i:2239;s:9:\"anonusers\";i:2240;s:11:\"creditspage\";i:2241;s:9:\"nocredits\";i:2242;s:19:\"spamprotectiontitle\";i:2243;s:18:\"spamprotectiontext\";i:2244;s:19:\"spamprotectionmatch\";i:2245;s:16:\"spambot_username\";i:2246;s:14:\"spam_reverting\";i:2247;s:13:\"spam_blanking\";i:2248;s:14:\"pageinfo-title\";i:2249;s:21:\"pageinfo-header-edits\";i:2250;s:25:\"pageinfo-header-watchlist\";i:2251;s:21:\"pageinfo-header-views\";i:2252;s:20:\"pageinfo-subjectpage\";i:2253;s:17:\"pageinfo-talkpage\";i:2254;s:17:\"pageinfo-watchers\";i:2255;s:14:\"pageinfo-edits\";i:2256;s:16:\"pageinfo-authors\";i:2257;s:14:\"pageinfo-views\";i:2258;s:21:\"pageinfo-viewsperedit\";i:2259;s:17:\"skinname-standard\";i:2260;s:18:\"skinname-nostalgia\";i:2261;s:20:\"skinname-cologneblue\";i:2262;s:17:\"skinname-monobook\";i:2263;s:15:\"skinname-myskin\";i:2264;s:14:\"skinname-chick\";i:2265;s:15:\"skinname-simple\";i:2266;s:15:\"skinname-modern\";i:2267;s:15:\"skinname-vector\";i:2268;s:19:\"markaspatrolleddiff\";i:2269;s:19:\"markaspatrolledlink\";i:2270;s:19:\"markaspatrolledtext\";i:2271;s:17:\"markedaspatrolled\";i:2272;s:21:\"markedaspatrolledtext\";i:2273;s:16:\"rcpatroldisabled\";i:2274;s:20:\"rcpatroldisabledtext\";i:2275;s:22:\"markedaspatrollederror\";i:2276;s:26:\"markedaspatrollederrortext\";i:2277;s:35:\"markedaspatrollederror-noautopatrol\";i:2278;s:15:\"patrol-log-page\";i:2279;s:17:\"patrol-log-header\";i:2280;s:15:\"patrol-log-line\";i:2281;s:15:\"patrol-log-auto\";i:2282;s:15:\"patrol-log-diff\";i:2283;s:20:\"log-show-hide-patrol\";i:2284;s:15:\"deletedrevision\";i:2285;s:21:\"filedeleteerror-short\";i:2286;s:20:\"filedeleteerror-long\";i:2287;s:18:\"filedelete-missing\";i:2288;s:27:\"filedelete-old-unregistered\";i:2289;s:31:\"filedelete-current-unregistered\";i:2290;s:28:\"filedelete-archive-read-only\";i:2291;s:12:\"previousdiff\";i:2292;s:8:\"nextdiff\";i:2293;s:12:\"mediawarning\";i:2294;s:12:\"imagemaxsize\";i:2295;s:9:\"thumbsize\";i:2296;s:11:\"widthheight\";i:2297;s:15:\"widthheightpage\";i:2298;s:9:\"file-info\";i:2299;s:14:\"file-info-size\";i:2300;s:20:\"file-info-size-pages\";i:2301;s:12:\"file-nohires\";i:2302;s:13:\"svg-long-desc\";i:2303;s:14:\"show-big-image\";i:2304;s:22:\"show-big-image-preview\";i:2305;s:20:\"show-big-image-other\";i:2306;s:19:\"show-big-image-size\";i:2307;s:20:\"file-info-gif-looped\";i:2308;s:20:\"file-info-gif-frames\";i:2309;s:20:\"file-info-png-looped\";i:2310;s:20:\"file-info-png-repeat\";i:2311;s:20:\"file-info-png-frames\";i:2312;s:9:\"newimages\";i:2313;s:13:\"imagelisttext\";i:2314;s:17:\"newimages-summary\";i:2315;s:16:\"newimages-legend\";i:2316;s:15:\"newimages-label\";i:2317;s:12:\"showhidebots\";i:2318;s:8:\"noimages\";i:2319;s:8:\"ilsubmit\";i:2320;s:6:\"bydate\";i:2321;s:21:\"sp-newimages-showfrom\";i:2322;s:10:\"video-dims\";i:2323;s:14:\"seconds-abbrev\";i:2324;s:14:\"minutes-abbrev\";i:2325;s:12:\"hours-abbrev\";i:2326;s:11:\"days-abbrev\";i:2327;s:14:\"bad_image_list\";i:2328;s:19:\"variantname-zh-hans\";i:2329;s:19:\"variantname-zh-hant\";i:2330;s:17:\"variantname-zh-cn\";i:2331;s:17:\"variantname-zh-tw\";i:2332;s:17:\"variantname-zh-hk\";i:2333;s:17:\"variantname-zh-mo\";i:2334;s:17:\"variantname-zh-sg\";i:2335;s:17:\"variantname-zh-my\";i:2336;s:14:\"variantname-zh\";i:2337;s:20:\"variantname-gan-hans\";i:2338;s:20:\"variantname-gan-hant\";i:2339;s:15:\"variantname-gan\";i:2340;s:17:\"variantname-sr-ec\";i:2341;s:17:\"variantname-sr-el\";i:2342;s:14:\"variantname-sr\";i:2343;s:17:\"variantname-kk-kz\";i:2344;s:17:\"variantname-kk-tr\";i:2345;s:17:\"variantname-kk-cn\";i:2346;s:19:\"variantname-kk-cyrl\";i:2347;s:19:\"variantname-kk-latn\";i:2348;s:19:\"variantname-kk-arab\";i:2349;s:14:\"variantname-kk\";i:2350;s:19:\"variantname-ku-arab\";i:2351;s:19:\"variantname-ku-latn\";i:2352;s:14:\"variantname-ku\";i:2353;s:19:\"variantname-tg-cyrl\";i:2354;s:19:\"variantname-tg-latn\";i:2355;s:14:\"variantname-tg\";i:2356;s:20:\"variantname-ike-cans\";i:2357;s:20:\"variantname-ike-latn\";i:2358;s:14:\"variantname-iu\";i:2359;s:8:\"metadata\";i:2360;s:13:\"metadata-help\";i:2361;s:15:\"metadata-expand\";i:2362;s:17:\"metadata-collapse\";i:2363;s:15:\"metadata-fields\";i:2364;s:17:\"metadata-langitem\";i:2365;s:25:\"metadata-langitem-default\";i:2366;s:15:\"exif-imagewidth\";i:2367;s:16:\"exif-imagelength\";i:2368;s:18:\"exif-bitspersample\";i:2369;s:16:\"exif-compression\";i:2370;s:30:\"exif-photometricinterpretation\";i:2371;s:16:\"exif-orientation\";i:2372;s:20:\"exif-samplesperpixel\";i:2373;s:24:\"exif-planarconfiguration\";i:2374;s:21:\"exif-ycbcrsubsampling\";i:2375;s:21:\"exif-ycbcrpositioning\";i:2376;s:16:\"exif-xresolution\";i:2377;s:16:\"exif-yresolution\";i:2378;s:17:\"exif-stripoffsets\";i:2379;s:17:\"exif-rowsperstrip\";i:2380;s:20:\"exif-stripbytecounts\";i:2381;s:26:\"exif-jpeginterchangeformat\";i:2382;s:32:\"exif-jpeginterchangeformatlength\";i:2383;s:15:\"exif-whitepoint\";i:2384;s:26:\"exif-primarychromaticities\";i:2385;s:22:\"exif-ycbcrcoefficients\";i:2386;s:24:\"exif-referenceblackwhite\";i:2387;s:13:\"exif-datetime\";i:2388;s:21:\"exif-imagedescription\";i:2389;s:9:\"exif-make\";i:2390;s:10:\"exif-model\";i:2391;s:13:\"exif-software\";i:2392;s:11:\"exif-artist\";i:2393;s:14:\"exif-copyright\";i:2394;s:16:\"exif-exifversion\";i:2395;s:20:\"exif-flashpixversion\";i:2396;s:15:\"exif-colorspace\";i:2397;s:28:\"exif-componentsconfiguration\";i:2398;s:27:\"exif-compressedbitsperpixel\";i:2399;s:20:\"exif-pixelydimension\";i:2400;s:20:\"exif-pixelxdimension\";i:2401;s:16:\"exif-usercomment\";i:2402;s:21:\"exif-relatedsoundfile\";i:2403;s:21:\"exif-datetimeoriginal\";i:2404;s:22:\"exif-datetimedigitized\";i:2405;s:15:\"exif-subsectime\";i:2406;s:23:\"exif-subsectimeoriginal\";i:2407;s:24:\"exif-subsectimedigitized\";i:2408;s:17:\"exif-exposuretime\";i:2409;s:24:\"exif-exposuretime-format\";i:2410;s:12:\"exif-fnumber\";i:2411;s:19:\"exif-fnumber-format\";i:2412;s:20:\"exif-exposureprogram\";i:2413;s:24:\"exif-spectralsensitivity\";i:2414;s:20:\"exif-isospeedratings\";i:2415;s:22:\"exif-shutterspeedvalue\";i:2416;s:18:\"exif-aperturevalue\";i:2417;s:20:\"exif-brightnessvalue\";i:2418;s:22:\"exif-exposurebiasvalue\";i:2419;s:21:\"exif-maxaperturevalue\";i:2420;s:20:\"exif-subjectdistance\";i:2421;s:17:\"exif-meteringmode\";i:2422;s:16:\"exif-lightsource\";i:2423;s:10:\"exif-flash\";i:2424;s:16:\"exif-focallength\";i:2425;s:23:\"exif-focallength-format\";i:2426;s:16:\"exif-subjectarea\";i:2427;s:16:\"exif-flashenergy\";i:2428;s:26:\"exif-focalplanexresolution\";i:2429;s:26:\"exif-focalplaneyresolution\";i:2430;s:29:\"exif-focalplaneresolutionunit\";i:2431;s:20:\"exif-subjectlocation\";i:2432;s:18:\"exif-exposureindex\";i:2433;s:18:\"exif-sensingmethod\";i:2434;s:15:\"exif-filesource\";i:2435;s:14:\"exif-scenetype\";i:2436;s:19:\"exif-customrendered\";i:2437;s:17:\"exif-exposuremode\";i:2438;s:17:\"exif-whitebalance\";i:2439;s:21:\"exif-digitalzoomratio\";i:2440;s:26:\"exif-focallengthin35mmfilm\";i:2441;s:21:\"exif-scenecapturetype\";i:2442;s:16:\"exif-gaincontrol\";i:2443;s:13:\"exif-contrast\";i:2444;s:15:\"exif-saturation\";i:2445;s:14:\"exif-sharpness\";i:2446;s:29:\"exif-devicesettingdescription\";i:2447;s:25:\"exif-subjectdistancerange\";i:2448;s:18:\"exif-imageuniqueid\";i:2449;s:17:\"exif-gpsversionid\";i:2450;s:19:\"exif-gpslatituderef\";i:2451;s:16:\"exif-gpslatitude\";i:2452;s:20:\"exif-gpslongituderef\";i:2453;s:17:\"exif-gpslongitude\";i:2454;s:19:\"exif-gpsaltituderef\";i:2455;s:16:\"exif-gpsaltitude\";i:2456;s:17:\"exif-gpstimestamp\";i:2457;s:18:\"exif-gpssatellites\";i:2458;s:14:\"exif-gpsstatus\";i:2459;s:19:\"exif-gpsmeasuremode\";i:2460;s:11:\"exif-gpsdop\";i:2461;s:16:\"exif-gpsspeedref\";i:2462;s:13:\"exif-gpsspeed\";i:2463;s:16:\"exif-gpstrackref\";i:2464;s:13:\"exif-gpstrack\";i:2465;s:23:\"exif-gpsimgdirectionref\";i:2466;s:20:\"exif-gpsimgdirection\";i:2467;s:16:\"exif-gpsmapdatum\";i:2468;s:23:\"exif-gpsdestlatituderef\";i:2469;s:20:\"exif-gpsdestlatitude\";i:2470;s:24:\"exif-gpsdestlongituderef\";i:2471;s:21:\"exif-gpsdestlongitude\";i:2472;s:22:\"exif-gpsdestbearingref\";i:2473;s:19:\"exif-gpsdestbearing\";i:2474;s:23:\"exif-gpsdestdistanceref\";i:2475;s:20:\"exif-gpsdestdistance\";i:2476;s:24:\"exif-gpsprocessingmethod\";i:2477;s:23:\"exif-gpsareainformation\";i:2478;s:17:\"exif-gpsdatestamp\";i:2479;s:20:\"exif-gpsdifferential\";i:2480;s:22:\"exif-coordinate-format\";i:2481;s:20:\"exif-jpegfilecomment\";i:2482;s:13:\"exif-keywords\";i:2483;s:23:\"exif-worldregioncreated\";i:2484;s:19:\"exif-countrycreated\";i:2485;s:23:\"exif-countrycodecreated\";i:2486;s:27:\"exif-provinceorstatecreated\";i:2487;s:16:\"exif-citycreated\";i:2488;s:23:\"exif-sublocationcreated\";i:2489;s:20:\"exif-worldregiondest\";i:2490;s:16:\"exif-countrydest\";i:2491;s:20:\"exif-countrycodedest\";i:2492;s:24:\"exif-provinceorstatedest\";i:2493;s:13:\"exif-citydest\";i:2494;s:20:\"exif-sublocationdest\";i:2495;s:15:\"exif-objectname\";i:2496;s:24:\"exif-specialinstructions\";i:2497;s:13:\"exif-headline\";i:2498;s:11:\"exif-credit\";i:2499;s:11:\"exif-source\";i:2500;s:15:\"exif-editstatus\";i:2501;s:12:\"exif-urgency\";i:2502;s:22:\"exif-fixtureidentifier\";i:2503;s:17:\"exif-locationdest\";i:2504;s:21:\"exif-locationdestcode\";i:2505;s:16:\"exif-objectcycle\";i:2506;s:12:\"exif-contact\";i:2507;s:11:\"exif-writer\";i:2508;s:17:\"exif-languagecode\";i:2509;s:15:\"exif-iimversion\";i:2510;s:16:\"exif-iimcategory\";i:2511;s:28:\"exif-iimsupplementalcategory\";i:2512;s:20:\"exif-datetimeexpires\";i:2513;s:21:\"exif-datetimereleased\";i:2514;s:28:\"exif-originaltransmissionref\";i:2515;s:15:\"exif-identifier\";i:2516;s:9:\"exif-lens\";i:2517;s:17:\"exif-serialnumber\";i:2518;s:20:\"exif-cameraownername\";i:2519;s:10:\"exif-label\";i:2520;s:21:\"exif-datetimemetadata\";i:2521;s:13:\"exif-nickname\";i:2522;s:11:\"exif-rating\";i:2523;s:22:\"exif-rightscertificate\";i:2524;s:16:\"exif-copyrighted\";i:2525;s:19:\"exif-copyrightowner\";i:2526;s:15:\"exif-usageterms\";i:2527;s:17:\"exif-webstatement\";i:2528;s:23:\"exif-originaldocumentid\";i:2529;s:15:\"exif-licenseurl\";i:2530;s:23:\"exif-morepermissionsurl\";i:2531;s:19:\"exif-attributionurl\";i:2532;s:29:\"exif-preferredattributionname\";i:2533;s:19:\"exif-pngfilecomment\";i:2534;s:15:\"exif-disclaimer\";i:2535;s:19:\"exif-contentwarning\";i:2536;s:19:\"exif-giffilecomment\";i:2537;s:22:\"exif-intellectualgenre\";i:2538;s:20:\"exif-subjectnewscode\";i:2539;s:14:\"exif-scenecode\";i:2540;s:10:\"exif-event\";i:2541;s:24:\"exif-organisationinimage\";i:2542;s:18:\"exif-personinimage\";i:2543;s:24:\"exif-originalimageheight\";i:2544;s:23:\"exif-originalimagewidth\";i:2545;s:15:\"exif-make-value\";i:2546;s:16:\"exif-model-value\";i:2547;s:19:\"exif-software-value\";i:2548;s:27:\"exif-software-version-value\";i:2549;s:18:\"exif-contact-value\";i:2550;s:26:\"exif-subjectnewscode-value\";i:2551;s:18:\"exif-compression-1\";i:2552;s:18:\"exif-compression-2\";i:2553;s:18:\"exif-compression-3\";i:2554;s:18:\"exif-compression-4\";i:2555;s:18:\"exif-compression-5\";i:2556;s:18:\"exif-compression-6\";i:2557;s:18:\"exif-compression-7\";i:2558;s:18:\"exif-compression-8\";i:2559;s:22:\"exif-compression-32773\";i:2560;s:22:\"exif-compression-32946\";i:2561;s:22:\"exif-compression-34712\";i:2562;s:21:\"exif-copyrighted-true\";i:2563;s:22:\"exif-copyrighted-false\";i:2564;s:32:\"exif-photometricinterpretation-2\";i:2565;s:32:\"exif-photometricinterpretation-6\";i:2566;s:16:\"exif-unknowndate\";i:2567;s:18:\"exif-orientation-1\";i:2568;s:18:\"exif-orientation-2\";i:2569;s:18:\"exif-orientation-3\";i:2570;s:18:\"exif-orientation-4\";i:2571;s:18:\"exif-orientation-5\";i:2572;s:18:\"exif-orientation-6\";i:2573;s:18:\"exif-orientation-7\";i:2574;s:18:\"exif-orientation-8\";i:2575;s:26:\"exif-planarconfiguration-1\";i:2576;s:26:\"exif-planarconfiguration-2\";i:2577;s:19:\"exif-xyresolution-i\";i:2578;s:19:\"exif-xyresolution-c\";i:2579;s:17:\"exif-colorspace-1\";i:2580;s:21:\"exif-colorspace-65535\";i:2581;s:30:\"exif-componentsconfiguration-0\";i:2582;s:30:\"exif-componentsconfiguration-1\";i:2583;s:30:\"exif-componentsconfiguration-2\";i:2584;s:30:\"exif-componentsconfiguration-3\";i:2585;s:30:\"exif-componentsconfiguration-4\";i:2586;s:30:\"exif-componentsconfiguration-5\";i:2587;s:30:\"exif-componentsconfiguration-6\";i:2588;s:22:\"exif-exposureprogram-0\";i:2589;s:22:\"exif-exposureprogram-1\";i:2590;s:22:\"exif-exposureprogram-2\";i:2591;s:22:\"exif-exposureprogram-3\";i:2592;s:22:\"exif-exposureprogram-4\";i:2593;s:22:\"exif-exposureprogram-5\";i:2594;s:22:\"exif-exposureprogram-6\";i:2595;s:22:\"exif-exposureprogram-7\";i:2596;s:22:\"exif-exposureprogram-8\";i:2597;s:26:\"exif-subjectdistance-value\";i:2598;s:19:\"exif-meteringmode-0\";i:2599;s:19:\"exif-meteringmode-1\";i:2600;s:19:\"exif-meteringmode-2\";i:2601;s:19:\"exif-meteringmode-3\";i:2602;s:19:\"exif-meteringmode-4\";i:2603;s:19:\"exif-meteringmode-5\";i:2604;s:19:\"exif-meteringmode-6\";i:2605;s:21:\"exif-meteringmode-255\";i:2606;s:18:\"exif-lightsource-0\";i:2607;s:18:\"exif-lightsource-1\";i:2608;s:18:\"exif-lightsource-2\";i:2609;s:18:\"exif-lightsource-3\";i:2610;s:18:\"exif-lightsource-4\";i:2611;s:18:\"exif-lightsource-9\";i:2612;s:19:\"exif-lightsource-10\";i:2613;s:19:\"exif-lightsource-11\";i:2614;s:19:\"exif-lightsource-12\";i:2615;s:19:\"exif-lightsource-13\";i:2616;s:19:\"exif-lightsource-14\";i:2617;s:19:\"exif-lightsource-15\";i:2618;s:19:\"exif-lightsource-17\";i:2619;s:19:\"exif-lightsource-18\";i:2620;s:19:\"exif-lightsource-19\";i:2621;s:19:\"exif-lightsource-20\";i:2622;s:19:\"exif-lightsource-21\";i:2623;s:19:\"exif-lightsource-22\";i:2624;s:19:\"exif-lightsource-23\";i:2625;s:19:\"exif-lightsource-24\";i:2626;s:20:\"exif-lightsource-255\";i:2627;s:18:\"exif-flash-fired-0\";i:2628;s:18:\"exif-flash-fired-1\";i:2629;s:19:\"exif-flash-return-0\";i:2630;s:19:\"exif-flash-return-2\";i:2631;s:19:\"exif-flash-return-3\";i:2632;s:17:\"exif-flash-mode-1\";i:2633;s:17:\"exif-flash-mode-2\";i:2634;s:17:\"exif-flash-mode-3\";i:2635;s:21:\"exif-flash-function-1\";i:2636;s:19:\"exif-flash-redeye-1\";i:2637;s:31:\"exif-focalplaneresolutionunit-2\";i:2638;s:20:\"exif-sensingmethod-1\";i:2639;s:20:\"exif-sensingmethod-2\";i:2640;s:20:\"exif-sensingmethod-3\";i:2641;s:20:\"exif-sensingmethod-4\";i:2642;s:20:\"exif-sensingmethod-5\";i:2643;s:20:\"exif-sensingmethod-7\";i:2644;s:20:\"exif-sensingmethod-8\";i:2645;s:17:\"exif-filesource-3\";i:2646;s:16:\"exif-scenetype-1\";i:2647;s:21:\"exif-customrendered-0\";i:2648;s:21:\"exif-customrendered-1\";i:2649;s:19:\"exif-exposuremode-0\";i:2650;s:19:\"exif-exposuremode-1\";i:2651;s:19:\"exif-exposuremode-2\";i:2652;s:19:\"exif-whitebalance-0\";i:2653;s:19:\"exif-whitebalance-1\";i:2654;s:23:\"exif-scenecapturetype-0\";i:2655;s:23:\"exif-scenecapturetype-1\";i:2656;s:23:\"exif-scenecapturetype-2\";i:2657;s:23:\"exif-scenecapturetype-3\";i:2658;s:18:\"exif-gaincontrol-0\";i:2659;s:18:\"exif-gaincontrol-1\";i:2660;s:18:\"exif-gaincontrol-2\";i:2661;s:18:\"exif-gaincontrol-3\";i:2662;s:18:\"exif-gaincontrol-4\";i:2663;s:15:\"exif-contrast-0\";i:2664;s:15:\"exif-contrast-1\";i:2665;s:15:\"exif-contrast-2\";i:2666;s:17:\"exif-saturation-0\";i:2667;s:17:\"exif-saturation-1\";i:2668;s:17:\"exif-saturation-2\";i:2669;s:16:\"exif-sharpness-0\";i:2670;s:16:\"exif-sharpness-1\";i:2671;s:16:\"exif-sharpness-2\";i:2672;s:27:\"exif-subjectdistancerange-0\";i:2673;s:27:\"exif-subjectdistancerange-1\";i:2674;s:27:\"exif-subjectdistancerange-2\";i:2675;s:27:\"exif-subjectdistancerange-3\";i:2676;s:18:\"exif-gpslatitude-n\";i:2677;s:18:\"exif-gpslatitude-s\";i:2678;s:19:\"exif-gpslongitude-e\";i:2679;s:19:\"exif-gpslongitude-w\";i:2680;s:31:\"exif-gpsaltitude-above-sealevel\";i:2681;s:31:\"exif-gpsaltitude-below-sealevel\";i:2682;s:16:\"exif-gpsstatus-a\";i:2683;s:16:\"exif-gpsstatus-v\";i:2684;s:21:\"exif-gpsmeasuremode-2\";i:2685;s:21:\"exif-gpsmeasuremode-3\";i:2686;s:15:\"exif-gpsspeed-k\";i:2687;s:15:\"exif-gpsspeed-m\";i:2688;s:15:\"exif-gpsspeed-n\";i:2689;s:22:\"exif-gpsdestdistance-k\";i:2690;s:22:\"exif-gpsdestdistance-m\";i:2691;s:22:\"exif-gpsdestdistance-n\";i:2692;s:21:\"exif-gpsdop-excellent\";i:2693;s:16:\"exif-gpsdop-good\";i:2694;s:20:\"exif-gpsdop-moderate\";i:2695;s:16:\"exif-gpsdop-fair\";i:2696;s:16:\"exif-gpsdop-poor\";i:2697;s:18:\"exif-objectcycle-a\";i:2698;s:18:\"exif-objectcycle-p\";i:2699;s:18:\"exif-objectcycle-b\";i:2700;s:19:\"exif-gpsdirection-t\";i:2701;s:19:\"exif-gpsdirection-m\";i:2702;s:23:\"exif-ycbcrpositioning-1\";i:2703;s:23:\"exif-ycbcrpositioning-2\";i:2704;s:19:\"exif-dc-contributor\";i:2705;s:16:\"exif-dc-coverage\";i:2706;s:12:\"exif-dc-date\";i:2707;s:17:\"exif-dc-publisher\";i:2708;s:16:\"exif-dc-relation\";i:2709;s:14:\"exif-dc-rights\";i:2710;s:14:\"exif-dc-source\";i:2711;s:12:\"exif-dc-type\";i:2712;s:20:\"exif-rating-rejected\";i:2713;s:29:\"exif-isospeedratings-overflow\";i:2714;s:27:\"exif-maxaperturevalue-value\";i:2715;s:20:\"exif-iimcategory-ace\";i:2716;s:20:\"exif-iimcategory-clj\";i:2717;s:20:\"exif-iimcategory-dis\";i:2718;s:20:\"exif-iimcategory-fin\";i:2719;s:20:\"exif-iimcategory-edu\";i:2720;s:20:\"exif-iimcategory-evn\";i:2721;s:20:\"exif-iimcategory-hth\";i:2722;s:20:\"exif-iimcategory-hum\";i:2723;s:20:\"exif-iimcategory-lab\";i:2724;s:20:\"exif-iimcategory-lif\";i:2725;s:20:\"exif-iimcategory-pol\";i:2726;s:20:\"exif-iimcategory-rel\";i:2727;s:20:\"exif-iimcategory-sci\";i:2728;s:20:\"exif-iimcategory-soi\";i:2729;s:20:\"exif-iimcategory-spo\";i:2730;s:20:\"exif-iimcategory-war\";i:2731;s:20:\"exif-iimcategory-wea\";i:2732;s:19:\"exif-urgency-normal\";i:2733;s:16:\"exif-urgency-low\";i:2734;s:17:\"exif-urgency-high\";i:2735;s:18:\"exif-urgency-other\";i:2736;s:15:\"edit-externally\";i:2737;s:20:\"edit-externally-help\";i:2738;s:13:\"watchlistall2\";i:2739;s:13:\"namespacesall\";i:2740;s:9:\"monthsall\";i:2741;s:8:\"limitall\";i:2742;s:12:\"confirmemail\";i:2743;s:20:\"confirmemail_noemail\";i:2744;s:17:\"confirmemail_text\";i:2745;s:20:\"confirmemail_pending\";i:2746;s:17:\"confirmemail_send\";i:2747;s:17:\"confirmemail_sent\";i:2748;s:21:\"confirmemail_oncreate\";i:2749;s:23:\"confirmemail_sendfailed\";i:2750;s:20:\"confirmemail_invalid\";i:2751;s:22:\"confirmemail_needlogin\";i:2752;s:20:\"confirmemail_success\";i:2753;s:21:\"confirmemail_loggedin\";i:2754;s:18:\"confirmemail_error\";i:2755;s:20:\"confirmemail_subject\";i:2756;s:17:\"confirmemail_body\";i:2757;s:25:\"confirmemail_body_changed\";i:2758;s:21:\"confirmemail_body_set\";i:2759;s:24:\"confirmemail_invalidated\";i:2760;s:15:\"invalidateemail\";i:2761;s:23:\"scarytranscludedisabled\";i:2762;s:21:\"scarytranscludefailed\";i:2763;s:22:\"scarytranscludetoolong\";i:2764;s:12:\"trackbackbox\";i:2765;s:9:\"trackback\";i:2766;s:16:\"trackbackexcerpt\";i:2767;s:15:\"trackbackremove\";i:2768;s:13:\"trackbacklink\";i:2769;s:17:\"trackbackdeleteok\";i:2770;s:19:\"deletedwhileediting\";i:2771;s:15:\"confirmrecreate\";i:2772;s:24:\"confirmrecreate-noreason\";i:2773;s:8:\"recreate\";i:2774;s:10:\"unit-pixel\";i:2775;s:20:\"confirm_purge_button\";i:2776;s:17:\"confirm-purge-top\";i:2777;s:20:\"confirm-purge-bottom\";i:2778;s:20:\"confirm-watch-button\";i:2779;s:17:\"confirm-watch-top\";i:2780;s:22:\"confirm-unwatch-button\";i:2781;s:19:\"confirm-unwatch-top\";i:2782;s:19:\"semicolon-separator\";i:2783;s:15:\"comma-separator\";i:2784;s:15:\"colon-separator\";i:2785;s:18:\"autocomment-prefix\";i:2786;s:14:\"pipe-separator\";i:2787;s:14:\"word-separator\";i:2788;s:8:\"ellipsis\";i:2789;s:7:\"percent\";i:2790;s:11:\"parentheses\";i:2791;s:16:\"imgmultipageprev\";i:2792;s:16:\"imgmultipagenext\";i:2793;s:10:\"imgmultigo\";i:2794;s:12:\"imgmultigoto\";i:2795;s:16:\"ascending_abbrev\";i:2796;s:17:\"descending_abbrev\";i:2797;s:16:\"table_pager_next\";i:2798;s:16:\"table_pager_prev\";i:2799;s:17:\"table_pager_first\";i:2800;s:16:\"table_pager_last\";i:2801;s:17:\"table_pager_limit\";i:2802;s:23:\"table_pager_limit_label\";i:2803;s:24:\"table_pager_limit_submit\";i:2804;s:17:\"table_pager_empty\";i:2805;s:14:\"autosumm-blank\";i:2806;s:16:\"autosumm-replace\";i:2807;s:16:\"autoredircomment\";i:2808;s:12:\"autosumm-new\";i:2809;s:19:\"autoblock_whitelist\";i:2810;s:10:\"size-bytes\";i:2811;s:14:\"size-kilobytes\";i:2812;s:14:\"size-megabytes\";i:2813;s:14:\"size-gigabytes\";i:2814;s:19:\"livepreview-loading\";i:2815;s:17:\"livepreview-ready\";i:2816;s:18:\"livepreview-failed\";i:2817;s:17:\"livepreview-error\";i:2818;s:15:\"lag-warn-normal\";i:2819;s:13:\"lag-warn-high\";i:2820;s:22:\"watchlistedit-numitems\";i:2821;s:21:\"watchlistedit-noitems\";i:2822;s:26:\"watchlistedit-normal-title\";i:2823;s:27:\"watchlistedit-normal-legend\";i:2824;s:28:\"watchlistedit-normal-explain\";i:2825;s:27:\"watchlistedit-normal-submit\";i:2826;s:25:\"watchlistedit-normal-done\";i:2827;s:23:\"watchlistedit-raw-title\";i:2828;s:24:\"watchlistedit-raw-legend\";i:2829;s:25:\"watchlistedit-raw-explain\";i:2830;s:24:\"watchlistedit-raw-titles\";i:2831;s:24:\"watchlistedit-raw-submit\";i:2832;s:22:\"watchlistedit-raw-done\";i:2833;s:23:\"watchlistedit-raw-added\";i:2834;s:25:\"watchlistedit-raw-removed\";i:2835;s:19:\"watchlisttools-view\";i:2836;s:19:\"watchlisttools-edit\";i:2837;s:18:\"watchlisttools-raw\";i:2838;s:19:\"iranian-calendar-m1\";i:2839;s:19:\"iranian-calendar-m2\";i:2840;s:19:\"iranian-calendar-m3\";i:2841;s:19:\"iranian-calendar-m4\";i:2842;s:19:\"iranian-calendar-m5\";i:2843;s:19:\"iranian-calendar-m6\";i:2844;s:19:\"iranian-calendar-m7\";i:2845;s:19:\"iranian-calendar-m8\";i:2846;s:19:\"iranian-calendar-m9\";i:2847;s:20:\"iranian-calendar-m10\";i:2848;s:20:\"iranian-calendar-m11\";i:2849;s:20:\"iranian-calendar-m12\";i:2850;s:17:\"hijri-calendar-m1\";i:2851;s:17:\"hijri-calendar-m2\";i:2852;s:17:\"hijri-calendar-m3\";i:2853;s:17:\"hijri-calendar-m4\";i:2854;s:17:\"hijri-calendar-m5\";i:2855;s:17:\"hijri-calendar-m6\";i:2856;s:17:\"hijri-calendar-m7\";i:2857;s:17:\"hijri-calendar-m8\";i:2858;s:17:\"hijri-calendar-m9\";i:2859;s:18:\"hijri-calendar-m10\";i:2860;s:18:\"hijri-calendar-m11\";i:2861;s:18:\"hijri-calendar-m12\";i:2862;s:18:\"hebrew-calendar-m1\";i:2863;s:18:\"hebrew-calendar-m2\";i:2864;s:18:\"hebrew-calendar-m3\";i:2865;s:18:\"hebrew-calendar-m4\";i:2866;s:18:\"hebrew-calendar-m5\";i:2867;s:18:\"hebrew-calendar-m6\";i:2868;s:19:\"hebrew-calendar-m6a\";i:2869;s:19:\"hebrew-calendar-m6b\";i:2870;s:18:\"hebrew-calendar-m7\";i:2871;s:18:\"hebrew-calendar-m8\";i:2872;s:18:\"hebrew-calendar-m9\";i:2873;s:19:\"hebrew-calendar-m10\";i:2874;s:19:\"hebrew-calendar-m11\";i:2875;s:19:\"hebrew-calendar-m12\";i:2876;s:22:\"hebrew-calendar-m1-gen\";i:2877;s:22:\"hebrew-calendar-m2-gen\";i:2878;s:22:\"hebrew-calendar-m3-gen\";i:2879;s:22:\"hebrew-calendar-m4-gen\";i:2880;s:22:\"hebrew-calendar-m5-gen\";i:2881;s:22:\"hebrew-calendar-m6-gen\";i:2882;s:23:\"hebrew-calendar-m6a-gen\";i:2883;s:23:\"hebrew-calendar-m6b-gen\";i:2884;s:22:\"hebrew-calendar-m7-gen\";i:2885;s:22:\"hebrew-calendar-m8-gen\";i:2886;s:22:\"hebrew-calendar-m9-gen\";i:2887;s:23:\"hebrew-calendar-m10-gen\";i:2888;s:23:\"hebrew-calendar-m11-gen\";i:2889;s:23:\"hebrew-calendar-m12-gen\";i:2890;s:9:\"signature\";i:2891;s:14:\"signature-anon\";i:2892;s:12:\"timezone-utc\";i:2893;s:21:\"unknown_extension_tag\";i:2894;s:21:\"duplicate-defaultsort\";i:2895;s:7:\"version\";i:2896;s:18:\"version-extensions\";i:2897;s:20:\"version-specialpages\";i:2898;s:19:\"version-parserhooks\";i:2899;s:17:\"version-variables\";i:2900;s:16:\"version-antispam\";i:2901;s:13:\"version-skins\";i:2902;s:11:\"version-api\";i:2903;s:13:\"version-other\";i:2904;s:21:\"version-mediahandlers\";i:2905;s:13:\"version-hooks\";i:2906;s:27:\"version-extension-functions\";i:2907;s:28:\"version-parser-extensiontags\";i:2908;s:29:\"version-parser-function-hooks\";i:2909;s:17:\"version-hook-name\";i:2910;s:25:\"version-hook-subscribedby\";i:2911;s:15:\"version-version\";i:2912;s:20:\"version-svn-revision\";i:2913;s:15:\"version-license\";i:2914;s:25:\"version-poweredby-credits\";i:2915;s:24:\"version-poweredby-others\";i:2916;s:20:\"version-license-info\";i:2917;s:16:\"version-software\";i:2918;s:24:\"version-software-product\";i:2919;s:24:\"version-software-version\";i:2920;s:8:\"filepath\";i:2921;s:13:\"filepath-page\";i:2922;s:15:\"filepath-submit\";i:2923;s:16:\"filepath-summary\";i:2924;s:19:\"fileduplicatesearch\";i:2925;s:27:\"fileduplicatesearch-summary\";i:2926;s:26:\"fileduplicatesearch-legend\";i:2927;s:28:\"fileduplicatesearch-filename\";i:2928;s:26:\"fileduplicatesearch-submit\";i:2929;s:24:\"fileduplicatesearch-info\";i:2930;s:28:\"fileduplicatesearch-result-1\";i:2931;s:28:\"fileduplicatesearch-result-n\";i:2932;s:29:\"fileduplicatesearch-noresults\";i:2933;s:12:\"specialpages\";i:2934;s:20:\"specialpages-summary\";i:2935;s:17:\"specialpages-note\";i:2936;s:30:\"specialpages-group-maintenance\";i:2937;s:24:\"specialpages-group-other\";i:2938;s:24:\"specialpages-group-login\";i:2939;s:26:\"specialpages-group-changes\";i:2940;s:24:\"specialpages-group-media\";i:2941;s:24:\"specialpages-group-users\";i:2942;s:26:\"specialpages-group-highuse\";i:2943;s:24:\"specialpages-group-pages\";i:2944;s:28:\"specialpages-group-pagetools\";i:2945;s:23:\"specialpages-group-wiki\";i:2946;s:28:\"specialpages-group-redirects\";i:2947;s:23:\"specialpages-group-spam\";i:2948;s:9:\"blankpage\";i:2949;s:22:\"intentionallyblankpage\";i:2950;s:24:\"external_image_whitelist\";i:2951;s:4:\"tags\";i:2952;s:10:\"tag-filter\";i:2953;s:17:\"tag-filter-submit\";i:2954;s:10:\"tags-title\";i:2955;s:10:\"tags-intro\";i:2956;s:8:\"tags-tag\";i:2957;s:19:\"tags-display-header\";i:2958;s:23:\"tags-description-header\";i:2959;s:20:\"tags-hitcount-header\";i:2960;s:9:\"tags-edit\";i:2961;s:13:\"tags-hitcount\";i:2962;s:12:\"comparepages\";i:2963;s:16:\"compare-selector\";i:2964;s:13:\"compare-page1\";i:2965;s:13:\"compare-page2\";i:2966;s:12:\"compare-rev1\";i:2967;s:12:\"compare-rev2\";i:2968;s:14:\"compare-submit\";i:2969;s:12:\"dberr-header\";i:2970;s:14:\"dberr-problems\";i:2971;s:11:\"dberr-again\";i:2972;s:10:\"dberr-info\";i:2973;s:15:\"dberr-usegoogle\";i:2974;s:15:\"dberr-outofdate\";i:2975;s:17:\"dberr-cachederror\";i:2976;s:22:\"htmlform-invalid-input\";i:2977;s:25:\"htmlform-select-badoption\";i:2978;s:20:\"htmlform-int-invalid\";i:2979;s:22:\"htmlform-float-invalid\";i:2980;s:19:\"htmlform-int-toolow\";i:2981;s:20:\"htmlform-int-toohigh\";i:2982;s:17:\"htmlform-required\";i:2983;s:15:\"htmlform-submit\";i:2984;s:14:\"htmlform-reset\";i:2985;s:28:\"htmlform-selectorother-other\";i:2986;s:14:\"sqlite-has-fts\";i:2987;s:13:\"sqlite-no-fts\";}}'),('en','preload','a:3:{s:8:\"messages\";a:95:{s:9:\"aboutpage\";s:13:\"Project:About\";s:9:\"aboutsite\";s:18:\"About {{SITENAME}}\";s:17:\"accesskey-ca-edit\";s:1:\"e\";s:20:\"accesskey-ca-history\";s:1:\"h\";s:23:\"accesskey-ca-nstab-main\";s:1:\"c\";s:17:\"accesskey-ca-talk\";s:1:\"t\";s:25:\"accesskey-n-currentevents\";s:0:\"\";s:16:\"accesskey-n-help\";s:0:\"\";s:32:\"accesskey-n-mainpage-description\";s:1:\"z\";s:18:\"accesskey-n-portal\";s:0:\"\";s:22:\"accesskey-n-randompage\";s:1:\"x\";s:25:\"accesskey-n-recentchanges\";s:1:\"r\";s:23:\"accesskey-n-sitesupport\";N;s:16:\"accesskey-p-logo\";s:0:\"\";s:18:\"accesskey-pt-login\";s:1:\"o\";s:16:\"accesskey-search\";s:1:\"f\";s:25:\"accesskey-search-fulltext\";s:0:\"\";s:19:\"accesskey-search-go\";s:0:\"\";s:21:\"accesskey-t-permalink\";s:0:\"\";s:17:\"accesskey-t-print\";s:1:\"p\";s:31:\"accesskey-t-recentchangeslinked\";s:1:\"k\";s:24:\"accesskey-t-specialpages\";s:1:\"q\";s:25:\"accesskey-t-whatlinkshere\";s:1:\"j\";s:10:\"anonnotice\";s:1:\"-\";s:15:\"colon-separator\";s:6:\":&#32;\";s:13:\"currentevents\";s:14:\"Current events\";s:17:\"currentevents-url\";s:22:\"Project:Current events\";s:14:\"disclaimerpage\";s:26:\"Project:General disclaimer\";s:11:\"disclaimers\";s:11:\"Disclaimers\";s:4:\"edit\";s:4:\"Edit\";s:4:\"help\";s:4:\"Help\";s:8:\"helppage\";s:13:\"Help:Contents\";s:13:\"history_short\";s:7:\"History\";s:6:\"jumpto\";s:8:\"Jump to:\";s:16:\"jumptonavigation\";s:10:\"navigation\";s:12:\"jumptosearch\";s:6:\"search\";s:14:\"lastmodifiedat\";s:41:\"This page was last modified on $1, at $2.\";s:8:\"mainpage\";s:9:\"Main Page\";s:20:\"mainpage-description\";s:9:\"Main page\";s:23:\"nav-login-createaccount\";s:23:\"Log in / create account\";s:10:\"navigation\";s:10:\"Navigation\";s:10:\"nstab-main\";s:4:\"Page\";s:15:\"opensearch-desc\";s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";s:14:\"pagecategories\";s:33:\"{{PLURAL:$1|Category|Categories}}\";s:18:\"pagecategorieslink\";s:18:\"Special:Categories\";s:9:\"pagetitle\";s:17:\"$1 - {{SITENAME}}\";s:23:\"pagetitle-view-mainpage\";s:12:\"{{SITENAME}}\";s:9:\"permalink\";s:14:\"Permanent link\";s:13:\"personaltools\";s:14:\"Personal tools\";s:6:\"portal\";s:16:\"Community portal\";s:10:\"portal-url\";s:24:\"Project:Community portal\";s:16:\"printableversion\";s:17:\"Printable version\";s:7:\"privacy\";s:14:\"Privacy policy\";s:11:\"privacypage\";s:22:\"Project:Privacy policy\";s:10:\"randompage\";s:11:\"Random page\";s:14:\"randompage-url\";s:14:\"Special:Random\";s:13:\"recentchanges\";s:14:\"Recent changes\";s:17:\"recentchanges-url\";s:21:\"Special:RecentChanges\";s:27:\"recentchangeslinked-toolbox\";s:15:\"Related changes\";s:13:\"retrievedfrom\";s:19:\"Retrieved from \"$1\"\";s:6:\"search\";s:6:\"Search\";s:13:\"searcharticle\";s:2:\"Go\";s:12:\"searchbutton\";s:6:\"Search\";s:7:\"sidebar\";s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";s:14:\"site-atom-feed\";s:12:\"$1 Atom feed\";s:13:\"site-rss-feed\";s:11:\"$1 RSS feed\";s:10:\"sitenotice\";s:1:\"-\";s:12:\"specialpages\";s:13:\"Special pages\";s:7:\"tagline\";s:17:\"From {{SITENAME}}\";s:4:\"talk\";s:10:\"Discussion\";s:7:\"toolbox\";s:7:\"Toolbox\";s:15:\"tooltip-ca-edit\";s:67:\"You can edit this page. Please use the preview button before saving\";s:18:\"tooltip-ca-history\";s:27:\"Past revisions of this page\";s:21:\"tooltip-ca-nstab-main\";s:21:\"View the content page\";s:15:\"tooltip-ca-talk\";s:33:\"Discussion about the content page\";s:23:\"tooltip-n-currentevents\";s:45:\"Find background information on current events\";s:14:\"tooltip-n-help\";s:21:\"The place to find out\";s:30:\"tooltip-n-mainpage-description\";s:19:\"Visit the main page\";s:16:\"tooltip-n-portal\";s:56:\"About the project, what you can do, where to find things\";s:20:\"tooltip-n-randompage\";s:18:\"Load a random page\";s:23:\"tooltip-n-recentchanges\";s:36:\"A list of recent changes in the wiki\";s:21:\"tooltip-n-sitesupport\";N;s:14:\"tooltip-p-logo\";s:19:\"Visit the main page\";s:20:\"tooltip-p-navigation\";N;s:16:\"tooltip-pt-login\";s:58:\"You are encouraged to log in; however, it is not mandatory\";s:14:\"tooltip-search\";s:19:\"Search {{SITENAME}}\";s:23:\"tooltip-search-fulltext\";s:30:\"Search the pages for this text\";s:17:\"tooltip-search-go\";s:43:\"Go to a page with this exact name if exists\";s:19:\"tooltip-t-permalink\";s:43:\"Permanent link to this revision of the page\";s:15:\"tooltip-t-print\";s:30:\"Printable version of this page\";s:29:\"tooltip-t-recentchangeslinked\";s:45:\"Recent changes in pages linked from this page\";s:22:\"tooltip-t-specialpages\";s:27:\"A list of all special pages\";s:23:\"tooltip-t-whatlinkshere\";s:39:\"A list of all wiki pages that link here\";s:5:\"views\";s:5:\"Views\";s:13:\"whatlinkshere\";s:15:\"What links here\";}s:11:\"dateFormats\";a:12:{s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j F Y\";s:8:\"dmy both\";s:10:\"H:i, j F Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}s:14:\"namespaceNames\";a:17:{i:-2;s:5:\"Media\";i:-1;s:7:\"Special\";i:0;s:0:\"\";i:1;s:4:\"Talk\";i:2;s:4:\"User\";i:3;s:9:\"User_talk\";i:5;s:7:\"$1_talk\";i:6;s:4:\"File\";i:7;s:9:\"File_talk\";i:8;s:9:\"MediaWiki\";i:9;s:14:\"MediaWiki_talk\";i:10;s:8:\"Template\";i:11;s:13:\"Template_talk\";i:12;s:4:\"Help\";i:13;s:9:\"Help_talk\";i:14;s:8:\"Category\";i:15;s:13:\"Category_talk\";}}'),('es','fallback','s:2:\"en\";'),('es','namespaceNames','a:17:{i:-2;s:5:\"Medio\";i:-1;s:8:\"Especial\";i:1;s:10:\"Discusión\";i:2;s:7:\"Usuario\";i:3;s:18:\"Usuario_discusión\";i:5;s:13:\"$1_discusión\";i:6;s:7:\"Archivo\";i:7;s:18:\"Archivo_discusión\";i:8;s:9:\"MediaWiki\";i:9;s:20:\"MediaWiki_discusión\";i:10;s:9:\"Plantilla\";i:11;s:20:\"Plantilla_discusión\";i:12;s:5:\"Ayuda\";i:13;s:16:\"Ayuda_discusión\";i:14;s:10:\"Categoría\";i:15;s:21:\"Categoría_discusión\";i:0;s:0:\"\";}'),('es','bookstoreList','a:4:{s:6:\"AddALL\";s:56:\"http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN\";s:9:\"PriceSCAN\";s:53:\"http://www.pricescan.com/books/bookDetail.asp?isbn=$1\";s:14:\"Barnes & Noble\";s:67:\"http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1\";s:10:\"Amazon.com\";s:41:\"http://www.amazon.com/exec/obidos/ISBN=$1\";}'),('es','magicWords','a:150:{s:8:\"redirect\";a:4:{i:0;i:0;i:1;s:13:\"#REDIRECCIÓN\";i:2;s:12:\"#REDIRECCION\";i:3;s:9:\"#REDIRECT\";}s:5:\"notoc\";a:3:{i:0;i:0;i:1;s:9:\"__NOTDC__\";i:2;s:9:\"__NOTOC__\";}s:9:\"nogallery\";a:4:{i:0;i:0;i:1;s:14:\"__NOGALERÍA__\";i:2;s:13:\"__NOGALERIA__\";i:3;s:13:\"__NOGALLERY__\";}s:8:\"forcetoc\";a:4:{i:0;i:0;i:1;s:13:\"__FORZARTDC__\";i:2;s:13:\"__FORZARTOC__\";i:3;s:12:\"__FORCETOC__\";}s:3:\"toc\";a:3:{i:0;i:0;i:1;s:7:\"__TDC__\";i:2;s:7:\"__TOC__\";}s:13:\"noeditsection\";a:4:{i:0;i:0;i:1;s:20:\"__NOEDITARSECCIÓN__\";i:2;s:19:\"__NOEDITARSECCION__\";i:3;s:17:\"__NOEDITSECTION__\";}s:8:\"noheader\";a:4:{i:0;i:0;i:1;s:13:\"__NOTÍTULO__\";i:2;s:12:\"__NOTITULO__\";i:3;s:12:\"__NOHEADER__\";}s:12:\"currentmonth\";a:5:{i:0;i:1;i:1;s:9:\"MESACTUAL\";i:2;s:10:\"MESACTUAL2\";i:3;s:12:\"CURRENTMONTH\";i:4;s:13:\"CURRENTMONTH2\";}s:13:\"currentmonth1\";a:3:{i:0;i:1;i:1;s:10:\"MESACTUAL1\";i:2;s:13:\"CURRENTMONTH1\";}s:16:\"currentmonthname\";a:3:{i:0;i:1;i:1;s:15:\"NOMBREMESACTUAL\";i:2;s:16:\"CURRENTMONTHNAME\";}s:19:\"currentmonthnamegen\";a:3:{i:0;i:1;i:1;s:24:\"GENERADORNOMBREMESACTUAL\";i:2;s:19:\"CURRENTMONTHNAMEGEN\";}s:18:\"currentmonthabbrev\";a:4:{i:0;i:1;i:1;s:26:\"ABREVIACIONNOMBREMESACTUAL\";i:2;s:27:\"ABREVIACIÓNNOMBREMESACTUAL\";i:3;s:18:\"CURRENTMONTHABBREV\";}s:10:\"currentday\";a:6:{i:0;i:1;i:1;s:10:\"DÍAACTUAL\";i:2;s:9:\"DIAACTUAL\";i:3;s:11:\"DÍA_ACTUAL\";i:4;s:10:\"DIA_ACTUAL\";i:5;s:10:\"CURRENTDAY\";}s:11:\"currentday2\";a:6:{i:0;i:1;i:1;s:11:\"DÍAACTUAL2\";i:2;s:10:\"DIAACTUAL2\";i:3;s:12:\"DÍA_ACTUAL2\";i:4;s:11:\"DIA_ACTUAL2\";i:5;s:11:\"CURRENTDAY2\";}s:14:\"currentdayname\";a:4:{i:0;i:1;i:1;s:16:\"NOMBREDÍAACTUAL\";i:2;s:15:\"NOMBREDIAACTUAL\";i:3;s:14:\"CURRENTDAYNAME\";}s:11:\"currentyear\";a:4:{i:0;i:1;i:1;s:10:\"AÑOACTUAL\";i:2;s:11:\"AÑO_ACTUAL\";i:3;s:11:\"CURRENTYEAR\";}s:11:\"currenttime\";a:4:{i:0;i:1;i:1;s:10:\"HORAACTUAL\";i:2;s:11:\"HORA_ACTUAL\";i:3;s:11:\"CURRENTTIME\";}s:11:\"currenthour\";a:4:{i:0;i:1;i:1;s:19:\"HORA_MINUTOS_ACTUAL\";i:2;s:17:\"HORAMINUTOSACTUAL\";i:3;s:11:\"CURRENTHOUR\";}s:10:\"localmonth\";a:4:{i:0;i:1;i:1;s:8:\"MESLOCAL\";i:2;s:10:\"LOCALMONTH\";i:3;s:11:\"LOCALMONTH2\";}s:11:\"localmonth1\";a:3:{i:0;i:1;i:1;s:9:\"MESLOCAL1\";i:2;s:11:\"LOCALMONTH1\";}s:14:\"localmonthname\";a:3:{i:0;i:1;i:1;s:14:\"NOMBREMESLOCAL\";i:2;s:14:\"LOCALMONTHNAME\";}s:17:\"localmonthnamegen\";a:3:{i:0;i:1;i:1;s:23:\"GENERADORNOMBREMESLOCAL\";i:2;s:17:\"LOCALMONTHNAMEGEN\";}s:16:\"localmonthabbrev\";a:3:{i:0;i:1;i:1;s:19:\"ABREVIACIONMESLOCAL\";i:2;s:16:\"LOCALMONTHABBREV\";}s:8:\"localday\";a:4:{i:0;i:1;i:1;s:9:\"DÍALOCAL\";i:2;s:8:\"DIALOCAL\";i:3;s:8:\"LOCALDAY\";}s:9:\"localday2\";a:4:{i:0;i:1;i:1;s:9:\"DIALOCAL2\";i:2;s:10:\"DÍALOCAL2\";i:3;s:9:\"LOCALDAY2\";}s:12:\"localdayname\";a:4:{i:0;i:1;i:1;s:14:\"NOMBREDIALOCAL\";i:2;s:15:\"NOMBREDÍALOCAL\";i:3;s:12:\"LOCALDAYNAME\";}s:9:\"localyear\";a:3:{i:0;i:1;i:1;s:9:\"AÑOLOCAL\";i:2;s:9:\"LOCALYEAR\";}s:9:\"localtime\";a:3:{i:0;i:1;i:1;s:9:\"HORALOCAL\";i:2;s:9:\"LOCALTIME\";}s:9:\"localhour\";a:3:{i:0;i:1;i:1;s:16:\"HORAMINUTOSLOCAL\";i:2;s:9:\"LOCALHOUR\";}s:13:\"numberofpages\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEPÁGINAS\";i:2;s:15:\"NUMERODEPAGINAS\";i:3;s:13:\"NUMBEROFPAGES\";}s:16:\"numberofarticles\";a:4:{i:0;i:1;i:1;s:19:\"NÚMERODEARTÍCULOS\";i:2;s:17:\"NUMERODEARTICULOS\";i:3;s:16:\"NUMBEROFARTICLES\";}s:13:\"numberoffiles\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEARCHIVOS\";i:2;s:16:\"NUMERODEARCHIVOS\";i:3;s:13:\"NUMBEROFFILES\";}s:13:\"numberofusers\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEUSUARIOS\";i:2;s:16:\"NUMERODEUSUARIOS\";i:3;s:13:\"NUMBEROFUSERS\";}s:19:\"numberofactiveusers\";a:4:{i:0;i:1;i:1;s:24:\"NÚMERODEUSUARIOSACTIVOS\";i:2;s:23:\"NUMERODEUSUARIOSACTIVOS\";i:3;s:19:\"NUMBEROFACTIVEUSERS\";}s:13:\"numberofedits\";a:4:{i:0;i:1;i:1;s:18:\"NÚMERODEEDICIONES\";i:2;s:17:\"NUMERODEEDICIONES\";i:3;s:13:\"NUMBEROFEDITS\";}s:13:\"numberofviews\";a:4:{i:0;i:1;i:1;s:15:\"NÚMERODEVISTAS\";i:2;s:14:\"NUMERODEVISTAS\";i:3;s:13:\"NUMBEROFVIEWS\";}s:8:\"pagename\";a:4:{i:0;i:1;i:1;s:14:\"NOMBREDEPAGINA\";i:2;s:15:\"NOMBREDEPÁGINA\";i:3;s:8:\"PAGENAME\";}s:9:\"pagenamee\";a:4:{i:0;i:1;i:1;s:15:\"NOMBREDEPAGINAC\";i:2;s:16:\"NOMBREDEPÁGINAC\";i:3;s:9:\"PAGENAMEE\";}s:9:\"namespace\";a:3:{i:0;i:1;i:1;s:15:\"ESPACIODENOMBRE\";i:2;s:9:\"NAMESPACE\";}s:10:\"namespacee\";a:3:{i:0;i:1;i:1;s:16:\"ESPACIODENOMBREC\";i:2;s:10:\"NAMESPACEE\";}s:9:\"talkspace\";a:4:{i:0;i:1;i:1;s:18:\"ESPACIODEDISCUSION\";i:2;s:19:\"ESPACIODEDISCUSIÓN\";i:3;s:9:\"TALKSPACE\";}s:10:\"talkspacee\";a:3:{i:0;i:1;i:1;s:19:\"ESPACIODEDISCUSIONC\";i:2;s:10:\"TALKSPACEE\";}s:12:\"subjectspace\";a:7:{i:0;i:1;i:1;s:15:\"ESPACIODEASUNTO\";i:2;s:13:\"ESPACIODETEMA\";i:3;s:18:\"ESPACIODEARTÍCULO\";i:4;s:17:\"ESPACIODEARTICULO\";i:5;s:12:\"SUBJECTSPACE\";i:6;s:12:\"ARTICLESPACE\";}s:13:\"subjectspacee\";a:7:{i:0;i:1;i:1;s:14:\"ESPACIODETEMAC\";i:2;s:16:\"ESPACIODEASUNTOC\";i:3;s:18:\"ESPACIODEARTICULOC\";i:4;s:19:\"ESPACIODEARTÍCULOC\";i:5;s:13:\"SUBJECTSPACEE\";i:6;s:13:\"ARTICLESPACEE\";}s:12:\"fullpagename\";a:6:{i:0;i:1;i:1;s:23:\"NOMBREDEPÁGINACOMPLETA\";i:2;s:22:\"NOMBREDEPAGINACOMPLETA\";i:3;s:21:\"NOMBREDEPÁGINAENTERA\";i:4;s:20:\"NOMBREDEPAGINAENTERA\";i:5;s:12:\"FULLPAGENAME\";}s:13:\"fullpagenamee\";a:4:{i:0;i:1;i:1;s:23:\"NOMBRECOMPLETODEPAGINAC\";i:2;s:24:\"NOMBRECOMPLETODEPÁGINAC\";i:3;s:13:\"FULLPAGENAMEE\";}s:11:\"subpagename\";a:4:{i:0;i:1;i:1;s:17:\"NOMBREDESUBPAGINA\";i:2;s:18:\"NOMBREDESUBPÁGINA\";i:3;s:11:\"SUBPAGENAME\";}s:12:\"subpagenamee\";a:4:{i:0;i:1;i:1;s:18:\"NOMBREDESUBPAGINAC\";i:2;s:19:\"NOMBREDESUBPÁGINAC\";i:3;s:12:\"SUBPAGENAMEE\";}s:12:\"basepagename\";a:4:{i:0;i:1;i:1;s:18:\"NOMBREDEPAGINABASE\";i:2;s:19:\"NOMBREDEPÁGINABASE\";i:3;s:12:\"BASEPAGENAME\";}s:13:\"basepagenamee\";a:4:{i:0;i:1;i:1;s:19:\"NOMBREDEPAGINABASEC\";i:2;s:20:\"NOMBREDEPÁGINABASEC\";i:3;s:13:\"BASEPAGENAMEE\";}s:12:\"talkpagename\";a:6:{i:0;i:1;i:1;s:27:\"NOMBREDEPÁGINADEDISCUSIÓN\";i:2;s:25:\"NOMBREDEPAGINADEDISCUSION\";i:3;s:23:\"NOMBREDEPAGINADISCUSION\";i:4;s:25:\"NOMBREDEPÁGINADISCUSIÓN\";i:5;s:12:\"TALKPAGENAME\";}s:13:\"talkpagenamee\";a:6:{i:0;i:1;i:1;s:28:\"NOMBREDEPÁGINADEDISCUSIÓNC\";i:2;s:26:\"NOMBREDEPAGINADEDISCUSIONC\";i:3;s:24:\"NOMBREDEPAGINADISCUSIONC\";i:4;s:26:\"NOMBREDEPÁGINADISCUSIÓNC\";i:5;s:13:\"TALKPAGENAMEE\";}s:15:\"subjectpagename\";a:9:{i:0;i:1;i:1;s:20:\"NOMBREDEPAGINADETEMA\";i:2;s:21:\"NOMBREDEPÁGINADETEMA\";i:3;s:23:\"NOMBREDEPÁGINADEASUNTO\";i:4;s:22:\"NOMBREDEPAGINADEASUNTO\";i:5;s:24:\"NOMBREDEPAGINADEARTICULO\";i:6;s:26:\"NOMBREDEPÁGINADEARTÍCULO\";i:7;s:15:\"SUBJECTPAGENAME\";i:8;s:15:\"ARTICLEPAGENAME\";}s:16:\"subjectpagenamee\";a:9:{i:0;i:1;i:1;s:21:\"NOMBREDEPAGINADETEMAC\";i:2;s:22:\"NOMBREDEPÁGINADETEMAC\";i:3;s:24:\"NOMBREDEPÁGINADEASUNTOC\";i:4;s:23:\"NOMBREDEPAGINADEASUNTOC\";i:5;s:25:\"NOMBREDEPAGINADEARTICULOC\";i:6;s:27:\"NOMBREDEPÁGINADEARTÍCULOC\";i:7;s:16:\"SUBJECTPAGENAMEE\";i:8;s:16:\"ARTICLEPAGENAMEE\";}s:3:\"msg\";a:3:{i:0;i:0;i:1;s:4:\"MSJ:\";i:2;s:4:\"MSG:\";}s:13:\"img_thumbnail\";a:6:{i:0;i:1;i:1;s:17:\"miniaturadeimagen\";i:2;s:9:\"miniatura\";i:3;s:4:\"mini\";i:4;s:9:\"thumbnail\";i:5;s:5:\"thumb\";}s:15:\"img_manualthumb\";a:5:{i:0;i:1;i:1;s:20:\"miniaturadeimagen=$1\";i:2;s:12:\"miniatura=$1\";i:3;s:12:\"thumbnail=$1\";i:4;s:8:\"thumb=$1\";}s:9:\"img_right\";a:5:{i:0;i:1;i:1;s:7:\"derecha\";i:2;s:4:\"dcha\";i:3;s:3:\"der\";i:4;s:5:\"right\";}s:8:\"img_left\";a:5:{i:0;i:1;i:1;s:9:\"izquierda\";i:2;s:4:\"izda\";i:3;s:3:\"izq\";i:4;s:4:\"left\";}s:8:\"img_none\";a:6:{i:0;i:1;i:1;s:7:\"ninguna\";i:2;s:4:\"nada\";i:3;s:2:\"no\";i:4;s:7:\"ninguno\";i:5;s:4:\"none\";}s:10:\"img_center\";a:7:{i:0;i:1;i:1;s:6:\"centro\";i:2;s:8:\"centrado\";i:3;s:8:\"centrada\";i:4;s:7:\"centrar\";i:5;s:6:\"center\";i:6;s:6:\"centre\";}s:10:\"img_framed\";a:7:{i:0;i:1;i:1;s:5:\"marco\";i:2;s:9:\"enmarcado\";i:3;s:9:\"enmarcada\";i:4;s:6:\"framed\";i:5;s:8:\"enframed\";i:6;s:5:\"frame\";}s:13:\"img_frameless\";a:5:{i:0;i:1;i:1;s:8:\"sinmarco\";i:2;s:12:\"sin_enmarcar\";i:3;s:11:\"sinenmarcar\";i:4;s:9:\"frameless\";}s:8:\"img_page\";a:7:{i:0;i:1;i:1;s:9:\"pagina=$1\";i:2;s:10:\"página=$1\";i:3;s:9:\"pagina $1\";i:4;s:10:\"página $1\";i:5;s:7:\"page=$1\";i:6;s:7:\"page $1\";}s:10:\"img_border\";a:3:{i:0;i:1;i:1;s:5:\"borde\";i:2;s:6:\"border\";}s:8:\"img_link\";a:5:{i:0;i:1;i:1;s:11:\"vínculo=$1\";i:2;s:10:\"vinculo=$1\";i:3;s:9:\"enlace=$1\";i:4;s:7:\"link=$1\";}s:8:\"sitename\";a:3:{i:0;i:1;i:1;s:13:\"NOMBREDESITIO\";i:2;s:8:\"SITENAME\";}s:2:\"ns\";a:3:{i:0;i:0;i:1;s:3:\"EN:\";i:2;s:3:\"NS:\";}s:8:\"localurl\";a:3:{i:0;i:0;i:1;s:8:\"URLLOCAL\";i:2;s:9:\"LOCALURL:\";}s:9:\"localurle\";a:3:{i:0;i:0;i:1;s:10:\"URLLOCALC:\";i:2;s:10:\"LOCALURLE:\";}s:6:\"server\";a:3:{i:0;i:0;i:1;s:8:\"SERVIDOR\";i:2;s:6:\"SERVER\";}s:10:\"servername\";a:3:{i:0;i:0;i:1;s:14:\"NOMBRESERVIDOR\";i:2;s:10:\"SERVERNAME\";}s:10:\"scriptpath\";a:4:{i:0;i:0;i:1;s:10:\"RUTASCRIPT\";i:2;s:12:\"RUTADESCRIPT\";i:3;s:10:\"SCRIPTPATH\";}s:9:\"stylepath\";a:4:{i:0;i:0;i:1;s:10:\"RUTAESTILO\";i:2;s:12:\"RUTADEESTILO\";i:3;s:9:\"STYLEPATH\";}s:7:\"grammar\";a:4:{i:0;i:0;i:1;s:10:\"GRAMATICA:\";i:2;s:11:\"GRAMÁTICA:\";i:3;s:8:\"GRAMMAR:\";}s:6:\"gender\";a:4:{i:0;i:0;i:1;s:8:\"GÉNERO:\";i:2;s:7:\"GENERO:\";i:3;s:7:\"GENDER:\";}s:14:\"notitleconvert\";a:6:{i:0;i:0;i:1;s:21:\"__NOCONVERTIRTITULO__\";i:2;s:22:\"__NOCONVERTIRTÍTULO__\";i:3;s:9:\"__NOCT___\";i:4;s:18:\"__NOTITLECONVERT__\";i:5;s:8:\"__NOTC__\";}s:16:\"nocontentconvert\";a:5:{i:0;i:0;i:1;s:24:\"__NOCONVERTIRCONTENIDO__\";i:2;s:9:\"__NOCC___\";i:3;s:20:\"__NOCONTENTCONVERT__\";i:4;s:8:\"__NOCC__\";}s:11:\"currentweek\";a:3:{i:0;i:1;i:1;s:12:\"SEMANAACTUAL\";i:2;s:11:\"CURRENTWEEK\";}s:10:\"currentdow\";a:5:{i:0;i:1;i:1;s:9:\"DDSACTUAL\";i:2;s:17:\"DIADESEMANAACTUAL\";i:3;s:18:\"DÍADESEMANAACTUAL\";i:4;s:10:\"CURRENTDOW\";}s:9:\"localweek\";a:3:{i:0;i:1;i:1;s:11:\"SEMANALOCAL\";i:2;s:9:\"LOCALWEEK\";}s:8:\"localdow\";a:5:{i:0;i:1;i:1;s:8:\"DDSLOCAL\";i:2;s:16:\"DIADESEMANALOCAL\";i:3;s:17:\"DÍADESEMANALOCAL\";i:4;s:8:\"LOCALDOW\";}s:10:\"revisionid\";a:6:{i:0;i:1;i:1;s:12:\"IDDEREVISION\";i:2;s:10:\"IDREVISION\";i:3;s:13:\"IDDEREVISIÓN\";i:4;s:11:\"IDREVISIÓN\";i:5;s:10:\"REVISIONID\";}s:11:\"revisionday\";a:6:{i:0;i:1;i:1;s:13:\"DIADEREVISION\";i:2;s:11:\"DIAREVISION\";i:3;s:15:\"DÍADEREVISIÓN\";i:4;s:13:\"DÍAREVISIÓN\";i:5;s:11:\"REVISIONDAY\";}s:12:\"revisionday2\";a:6:{i:0;i:1;i:1;s:14:\"DIADEREVISION2\";i:2;s:12:\"DIAREVISION2\";i:3;s:16:\"DÍADEREVISIÓN2\";i:4;s:14:\"DÍAREVISIÓN2\";i:5;s:12:\"REVISIONDAY2\";}s:13:\"revisionmonth\";a:6:{i:0;i:1;i:1;s:13:\"MESDEREVISION\";i:2;s:14:\"MESDEREVISIÓN\";i:3;s:11:\"MESREVISION\";i:4;s:12:\"MESREVISIÓN\";i:5;s:13:\"REVISIONMONTH\";}s:12:\"revisionyear\";a:6:{i:0;i:1;i:1;s:14:\"AÑODEREVISION\";i:2;s:15:\"AÑODEREVISIÓN\";i:3;s:12:\"AÑOREVISION\";i:4;s:13:\"AÑOREVISIÓN\";i:5;s:12:\"REVISIONYEAR\";}s:17:\"revisiontimestamp\";a:4:{i:0;i:1;i:1;s:21:\"MARCADEHORADEREVISION\";i:2;s:22:\"MARCADEHORADEREVISIÓN\";i:3;s:17:\"REVISIONTIMESTAMP\";}s:12:\"revisionuser\";a:4:{i:0;i:1;i:1;s:17:\"USUARIODEREVISION\";i:2;s:18:\"USUARIODEREVISIÓN\";i:3;s:12:\"REVISIONUSER\";}s:7:\"fullurl\";a:3:{i:0;i:0;i:1;s:12:\"URLCOMPLETA:\";i:2;s:8:\"FULLURL:\";}s:8:\"fullurle\";a:3:{i:0;i:0;i:1;s:13:\"URLCOMPLETAC:\";i:2;s:9:\"FULLURLE:\";}s:7:\"lcfirst\";a:4:{i:0;i:0;i:1;s:13:\"PRIMEROMINUS;\";i:2;s:14:\"PRIMEROMINÚS:\";i:3;s:8:\"LCFIRST:\";}s:7:\"ucfirst\";a:4:{i:0;i:0;i:1;s:13:\"PRIMEROMAYUS;\";i:2;s:14:\"PRIMEROMAYÚS:\";i:3;s:8:\"UCFIRST:\";}s:2:\"lc\";a:4:{i:0;i:0;i:1;s:6:\"MINUS:\";i:2;s:7:\"MINÚS:\";i:3;s:3:\"LC:\";}s:2:\"uc\";a:4:{i:0;i:0;i:1;s:6:\"MAYUS:\";i:2;s:7:\"MAYÚS:\";i:3;s:3:\"UC:\";}s:12:\"displaytitle\";a:4:{i:0;i:1;i:1;s:14:\"MOSTRARTÍTULO\";i:2;s:13:\"MOSTRARTITULO\";i:3;s:12:\"DISPLAYTITLE\";}s:14:\"newsectionlink\";a:4:{i:0;i:1;i:1;s:25:\"__VINCULARANUEVASECCION__\";i:2;s:25:\"VÍNCULARANUEVASECCIÓN__\";i:3;s:18:\"__NEWSECTIONLINK__\";}s:16:\"nonewsectionlink\";a:4:{i:0;i:1;i:1;s:27:\"__NOVINCULARANUEVASECCION__\";i:2;s:27:\"NOVÍNCULARANUEVASECCIÓN__\";i:3;s:20:\"__NONEWSECTIONLINK__\";}s:14:\"currentversion\";a:4:{i:0;i:1;i:1;s:13:\"VERSIONACTUAL\";i:2;s:14:\"VERSIÓNACTUAL\";i:3;s:14:\"CURRENTVERSION\";}s:9:\"urlencode\";a:3:{i:0;i:0;i:1;s:13:\"CODIFICARURL:\";i:2;s:10:\"URLENCODE:\";}s:16:\"currenttimestamp\";a:3:{i:0;i:1;i:1;s:17:\"MARCADEHORAACTUAL\";i:2;s:16:\"CURRENTTIMESTAMP\";}s:14:\"localtimestamp\";a:3:{i:0;i:1;i:1;s:16:\"MARCADEHORALOCAL\";i:2;s:14:\"LOCALTIMESTAMP\";}s:8:\"language\";a:3:{i:0;i:0;i:1;s:8:\"#IDIOMA:\";i:2;s:10:\"#LANGUAGE:\";}s:15:\"contentlanguage\";a:5:{i:0;i:1;i:1;s:18:\"IDIOMADELCONTENIDO\";i:2;s:13:\"IDIOMADELCONT\";i:3;s:15:\"CONTENTLANGUAGE\";i:4;s:11:\"CONTENTLANG\";}s:14:\"numberofadmins\";a:10:{i:0;i:1;i:1;s:23:\"NÚMEROADMINIISTRADORES\";i:2;s:13:\"NÚMEROADMINS\";i:3;s:12:\"NUMEROADMINS\";i:4;s:21:\"NUMEROADMINISTRADORES\";i:5;s:23:\"NUMERODEADMINISTRADORES\";i:6;s:14:\"NUMERODEADMINS\";i:7;s:24:\"NÚMERODEADMINISTRADORES\";i:8;s:15:\"NÚMERODEADMINS\";i:9;s:14:\"NUMBEROFADMINS\";}s:9:\"formatnum\";a:4:{i:0;i:0;i:1;s:14:\"FORMATONÚMERO\";i:2;s:13:\"FORMATONUMERO\";i:3;s:9:\"FORMATNUM\";}s:7:\"special\";a:3:{i:0;i:0;i:1;s:8:\"especial\";i:2;s:7:\"special\";}s:11:\"defaultsort\";a:8:{i:0;i:1;i:1;s:8:\"ORDENAR:\";i:2;s:27:\"CLAVEDEORDENPREDETERMINADO:\";i:3;s:31:\"ORDENDECATEGORIAPREDETERMINADO:\";i:4;s:32:\"ORDENDECATEGORÍAPREDETERMINADO:\";i:5;s:12:\"DEFAULTSORT:\";i:6;s:15:\"DEFAULTSORTKEY:\";i:7;s:20:\"DEFAULTCATEGORYSORT:\";}s:8:\"filepath\";a:5:{i:0;i:0;i:1;s:12:\"RUTAARCHIVO:\";i:2;s:11:\"RUTARCHIVO:\";i:3;s:14:\"RUTADEARCHIVO:\";i:4;s:9:\"FILEPATH:\";}s:3:\"tag\";a:4:{i:0;i:0;i:1;s:8:\"etiqueta\";i:2;s:8:\"ETIQUETA\";i:3;s:3:\"tag\";}s:9:\"hiddencat\";a:3:{i:0;i:1;i:1;s:20:\"__CATEGORÍAOCULTA__\";i:2;s:13:\"__HIDDENCAT__\";}s:15:\"pagesincategory\";a:8:{i:0;i:1;i:1;s:20:\"PÁGINASENCATEGORÍA\";i:2;s:13:\"PÁGINASENCAT\";i:3;s:9:\"PAGSENCAT\";i:4;s:18:\"PAGINASENCATEGORIA\";i:5;s:12:\"PAGINASENCAT\";i:6;s:15:\"PAGESINCATEGORY\";i:7;s:10:\"PAGESINCAT\";}s:8:\"pagesize\";a:6:{i:0;i:1;i:1;s:14:\"TAMAÑOPÁGINA\";i:2;s:16:\"TAMAÑODEPÁGINA\";i:3;s:13:\"TAMAÑOPAGINA\";i:4;s:15:\"TAMAÑODEPAGINA\";i:5;s:8:\"PAGESIZE\";}s:5:\"index\";a:3:{i:0;i:1;i:1;s:11:\"__INDEXAR__\";i:2;s:9:\"__INDEX__\";}s:7:\"noindex\";a:3:{i:0;i:1;i:1;s:13:\"__NOINDEXAR__\";i:2;s:11:\"__NOINDEX__\";}s:13:\"numberingroup\";a:7:{i:0;i:1;i:1;s:14:\"NÚMEROENGRUPO\";i:2;s:13:\"NUMEROENGRUPO\";i:3;s:10:\"NUMENGRUPO\";i:4;s:11:\"NÚMENGRUPO\";i:5;s:13:\"NUMBERINGROUP\";i:6;s:10:\"NUMINGROUP\";}s:14:\"staticredirect\";a:4:{i:0;i:1;i:1;s:23:\"__REDIRECCIONESTATICA__\";i:2;s:25:\"__REDIRECCIÓNESTÁTICA__\";i:3;s:18:\"__STATICREDIRECT__\";}s:15:\"protectionlevel\";a:3:{i:0;i:1;i:1;s:18:\"NIVELDEPROTECCIÓN\";i:2;s:15:\"PROTECTIONLEVEL\";}s:10:\"formatdate\";a:5:{i:0;i:0;i:1;s:14:\"formatodefecha\";i:2;s:14:\"formatearfecha\";i:3;s:10:\"formatdate\";i:4;s:10:\"dateformat\";}s:5:\"subst\";a:2:{i:0;i:0;i:1;s:6:\"SUBST:\";}s:9:\"safesubst\";a:2:{i:0;i:0;i:1;s:10:\"SAFESUBST:\";}s:5:\"msgnw\";a:2:{i:0;i:0;i:1;s:6:\"MSGNW:\";}s:9:\"img_width\";a:2:{i:0;i:1;i:1;s:4:\"$1px\";}s:11:\"img_upright\";a:4:{i:0;i:1;i:1;s:7:\"upright\";i:2;s:10:\"upright=$1\";i:3;s:10:\"upright $1\";}s:12:\"img_baseline\";a:2:{i:0;i:1;i:1;s:8:\"baseline\";}s:7:\"img_sub\";a:2:{i:0;i:1;i:1;s:3:\"sub\";}s:9:\"img_super\";a:3:{i:0;i:1;i:1;s:5:\"super\";i:2;s:3:\"sup\";}s:7:\"img_top\";a:2:{i:0;i:1;i:1;s:3:\"top\";}s:12:\"img_text_top\";a:2:{i:0;i:1;i:1;s:8:\"text-top\";}s:10:\"img_middle\";a:2:{i:0;i:1;i:1;s:6:\"middle\";}s:10:\"img_bottom\";a:2:{i:0;i:1;i:1;s:6:\"bottom\";}s:15:\"img_text_bottom\";a:2:{i:0;i:1;i:1;s:11:\"text-bottom\";}s:7:\"img_alt\";a:2:{i:0;i:1;i:1;s:6:\"alt=$1\";}s:3:\"int\";a:2:{i:0;i:0;i:1;s:4:\"INT:\";}s:3:\"nse\";a:2:{i:0;i:0;i:1;s:4:\"NSE:\";}s:11:\"articlepath\";a:2:{i:0;i:0;i:1;s:11:\"ARTICLEPATH\";}s:14:\"revisionmonth1\";a:2:{i:0;i:1;i:1;s:14:\"REVISIONMONTH1\";}s:6:\"plural\";a:2:{i:0;i:0;i:1;s:7:\"PLURAL:\";}s:12:\"canonicalurl\";a:2:{i:0;i:0;i:1;s:13:\"CANONICALURL:\";}s:13:\"canonicalurle\";a:2:{i:0;i:0;i:1;s:14:\"CANONICALURLE:\";}s:3:\"raw\";a:2:{i:0;i:0;i:1;s:4:\"RAW:\";}s:9:\"rawsuffix\";a:2:{i:0;i:1;i:1;s:1:\"R\";}s:12:\"anchorencode\";a:2:{i:0;i:0;i:1;s:12:\"ANCHORENCODE\";}s:13:\"directionmark\";a:3:{i:0;i:1;i:1;s:13:\"DIRECTIONMARK\";i:2;s:7:\"DIRMARK\";}s:16:\"pagesinnamespace\";a:3:{i:0;i:1;i:1;s:17:\"PAGESINNAMESPACE:\";i:2;s:10:\"PAGESINNS:\";}s:7:\"padleft\";a:2:{i:0;i:0;i:1;s:7:\"PADLEFT\";}s:8:\"padright\";a:2:{i:0;i:0;i:1;s:8:\"PADRIGHT\";}s:8:\"url_path\";a:2:{i:0;i:0;i:1;s:4:\"PATH\";}s:8:\"url_wiki\";a:2:{i:0;i:0;i:1;s:4:\"WIKI\";}s:9:\"url_query\";a:2:{i:0;i:0;i:1;s:5:\"QUERY\";}}'),('es','messages:svgedit-editbutton-edit','s:13:\"Editar dibujo\";'),('es','messages:svgedit-summary-label','s:14:\"Editar resumen\";'),('es','messages:svgedit-summary-default','s:29:\"/* Modificado con svg-edit */\";'),('es','messages:svgedit-editor-save-close','s:16:\"Guardar y cerrar\";'),('es','messages:svgedit-editor-close','s:8:\"Cancelar\";'),('es','messages:svgedit-desc','s:107:\"Edición de dibujos en formato SVG en el propio navegador con [http://code.google.com/p/svg-edit/ SVG-Edit]\";'),('es','messages:svgedit-edit-tab','s:13:\"Editar dibujo\";'),('es','messages:svgedit-edit-tab-tooltip','s:44:\"Puede editar esta dibujo SVG en el navegador\";'),('es','messages:svgedit-toolbar-insert','s:10:\"Dibujo SVG\";'),('es','messages:tog-underline','s:17:\"Subrayar enlaces:\";'),('es','messages:tog-highlightbroken','s:134:\"Destacar enlaces a artículos vacíos <a href=\"\" class=\"new\">como este</a> (alternativa: como éste<a href=\"\" class=\"internal\">?</a>).\";'),('es','messages:tog-justify','s:20:\"Justificar párrafos\";'),('es','messages:tog-hideminor','s:46:\"Ocultar ediciones menores en cambios recientes\";'),('es','messages:tog-hidepatrolled','s:54:\"Ocultar ediciones patrulladas en los cambios recientes\";'),('es','messages:tog-newpageshidepatrolled','s:59:\"Ocultar páginas patrulladas de la lista de páginas nuevas\";'),('es','messages:tog-extendwatchlist','s:84:\"Expandir la lista de seguimiento a todos los cambios, no sólo a los más recientes.\";'),('es','messages:tog-usenewrc','s:49:\"Cambios recientes mejorados (requiere JavaScript)\";'),('es','messages:tog-numberheadings','s:40:\"Numerar automáticamente los encabezados\";'),('es','messages:tog-showtoolbar','s:28:\"Mostrar la barra de edición\";'),('es','messages:tog-editondblclick','s:52:\"Editar páginas con doble clic (requiere JavaScript)\";'),('es','messages:tog-editsection','s:60:\"Habilitar la edición de secciones usando el enlace [editar]\";'),('es','messages:tog-editsectiononrightclick','s:121:\"Habilitar la edición de secciones presionando el botón de la derecha en los títulos de secciones (requiere JavaScript)\";'),('es','messages:tog-showtoc','s:60:\"Mostrar el índice (para páginas con más de 3 encabezados)\";'),('es','messages:tog-rememberpassword','s:124:\"Recordar mi nombre de usuario y contraseña entre sesiones en este navegador (por un máximo de $1 {{PLURAL:$1|día|días}})\";'),('es','messages:tog-watchcreations','s:32:\"Vigilar las páginas que yo cree\";'),('es','messages:tog-watchdefault','s:37:\"Vigilar las páginas que yo modifique\";'),('es','messages:tog-watchmoves','s:33:\"Vigilar las páginas que renombre\";'),('es','messages:tog-watchdeletion','s:30:\"Vigilar las páginas que borre\";'),('es','messages:tog-minordefault','s:64:\"Marcar todas las ediciones como menores de manera predeterminada\";'),('es','messages:tog-previewontop','s:54:\"Mostrar previsualización antes del cuadro de edición\";'),('es','messages:tog-previewonfirst','s:48:\"Mostrar previsualización en la primera edición\";'),('es','messages:tog-nocache','s:46:\"Desactivar la caché de páginas del navegador\";'),('es','messages:tog-enotifwatchlistpages','s:92:\"Enviarme un correo electrónico cuando una página en mi lista de seguimiento sea modificada\";'),('es','messages:tog-enotifusertalkpages','s:78:\"Enviarme un correo electrónico cuando mi página de discusión sea modificada\";'),('es','messages:tog-enotifminoredits','s:52:\"Notificarme también los cambios menores de páginas\";'),('es','messages:tog-enotifrevealaddr','s:76:\"Revelar mi dirección de correo electrónico en los correos de notificación\";'),('es','messages:tog-shownumberswatching','s:45:\"Mostrar el número de usuarios que la vigilan\";'),('es','messages:tog-oldsig','s:13:\"Firma actual:\";'),('es','messages:tog-fancysig','s:55:\"Tratar firma como wikitexto (sin un enlace automático)\";'),('es','messages:tog-externaleditor','s:178:\"Utilizar editor externo por defecto (sólo para expertos pues necesitas ajustes especiales en tu ordenador. [//www.mediawiki.org/wiki/Manual:External_editors Más información.])\";'),('es','messages:tog-externaldiff','s:176:\"Utilizar diff externo por defecto (sólo para expertos pues necesitas ajustes especiales en tu ordenador. [//www.mediawiki.org/wiki/Manual:External_editors Más información.])\";'),('es','messages:tog-showjumplinks','s:47:\"Habilitar enlaces de accesibilidad «saltar a»\";'),('es','messages:tog-uselivepreview','s:45:\"Usar live preview (JavaScript) (Experimental)\";'),('es','messages:tog-forceeditsummary','s:42:\"Alertar al grabar sin resumen de edición.\";'),('es','messages:tog-watchlisthideown','s:48:\"Ocultar mis ediciones en la lista de seguimiento\";'),('es','messages:tog-watchlisthidebots','s:52:\"Ocultar ediciones de bots en la lista de seguimiento\";'),('es','messages:tog-watchlisthideminor','s:52:\"Ocultar ediciones menores en la lista de seguimiento\";'),('es','messages:tog-watchlisthideliu','s:68:\"Ocultar ediciones de usuarios registrados en la lista de seguimiento\";'),('es','messages:tog-watchlisthideanons','s:66:\"Ocultar ediciones de usuarios anónimos en la lista de seguimiento\";'),('es','messages:tog-watchlisthidepatrolled','s:60:\"Ocultar las ediciones patrulladas en la lista de seguimiento\";'),('es','messages:tog-nolangconversion','s:37:\"Deshabilitar conversión de lenguajes\";'),('es','messages:tog-ccmeonemails','s:57:\"Recibir copias de los correos que envío a otros usuarios\";'),('es','messages:tog-diffonly','s:58:\"No mostrar el contenido de la página bajo las diferencias\";'),('es','messages:tog-showhiddencats','s:30:\"Mostrar categorías escondidas\";'),('es','messages:tog-noconvertlink','s:46:\"Desactivar la conversión de título de enlace\";'),('es','messages:tog-norollbackdiff','s:39:\"Omitir el \'\'diff\'\' después de revertir\";'),('es','messages:underline-always','s:7:\"Siempre\";'),('es','messages:underline-never','s:5:\"Nunca\";'),('es','messages:underline-default','s:34:\"Valor predeterminado del navegador\";'),('es','messages:editfont-style','s:44:\"Estilo de tipografía del área de edición:\";'),('es','messages:editfont-default','s:28:\"Predeterminado del navegador\";'),('es','messages:editfont-monospace','s:25:\"Tipografía monoespaciada\";'),('es','messages:editfont-sansserif','s:22:\"Tipografía sans-serif\";'),('es','messages:editfont-serif','s:17:\"Tipografía serif\";'),('es','messages:sunday','s:7:\"domingo\";'),('es','messages:monday','s:5:\"lunes\";'),('es','messages:tuesday','s:6:\"martes\";'),('es','messages:wednesday','s:10:\"miércoles\";'),('es','messages:thursday','s:6:\"jueves\";'),('es','messages:friday','s:7:\"viernes\";'),('es','messages:saturday','s:7:\"sábado\";'),('es','messages:sun','s:3:\"dom\";'),('es','messages:mon','s:3:\"lun\";'),('es','messages:tue','s:3:\"mar\";'),('es','messages:wed','s:3:\"mie\";'),('es','messages:thu','s:3:\"jue\";'),('es','messages:fri','s:3:\"vie\";'),('es','messages:sat','s:3:\"sab\";'),('es','messages:january','s:5:\"enero\";'),('es','messages:february','s:7:\"febrero\";'),('es','messages:march','s:5:\"marzo\";'),('es','messages:april','s:5:\"abril\";'),('es','messages:may_long','s:4:\"mayo\";'),('es','messages:june','s:5:\"junio\";'),('es','messages:july','s:5:\"julio\";'),('es','messages:august','s:6:\"agosto\";'),('es','messages:september','s:10:\"septiembre\";'),('es','messages:october','s:7:\"octubre\";'),('es','messages:november','s:9:\"noviembre\";'),('es','messages:december','s:9:\"diciembre\";'),('es','messages:january-gen','s:5:\"enero\";'),('es','messages:february-gen','s:7:\"febrero\";'),('es','messages:march-gen','s:5:\"marzo\";'),('es','messages:april-gen','s:5:\"abril\";'),('es','messages:may-gen','s:4:\"mayo\";'),('es','messages:june-gen','s:5:\"junio\";'),('es','messages:july-gen','s:5:\"julio\";'),('es','messages:august-gen','s:6:\"agosto\";'),('es','messages:september-gen','s:10:\"septiembre\";'),('es','messages:october-gen','s:7:\"octubre\";'),('es','messages:november-gen','s:9:\"noviembre\";'),('es','messages:december-gen','s:9:\"diciembre\";'),('es','messages:jan','s:3:\"ene\";'),('es','messages:feb','s:3:\"feb\";'),('es','messages:mar','s:3:\"mar\";'),('es','messages:apr','s:3:\"abr\";'),('es','messages:may','s:3:\"may\";'),('es','messages:jun','s:3:\"jun\";'),('es','messages:jul','s:3:\"jul\";'),('es','messages:aug','s:3:\"ago\";'),('es','messages:sep','s:3:\"sep\";'),('es','messages:oct','s:3:\"oct\";'),('es','messages:nov','s:3:\"nov\";'),('es','messages:dec','s:3:\"dic\";'),('es','messages:pagecategories','s:36:\"{{PLURAL:$1|Categoría|Categorías}}\";'),('es','messages:category_header','s:34:\"Artículos en la categoría «$1»\";'),('es','messages:subcategories','s:14:\"Subcategorías\";'),('es','messages:category-media-header','s:43:\"Archivos multimedia en la categoría «$1»\";'),('es','messages:category-empty','s:81:\"\'\'La categoría no contiene actualmente ningún artículo o archivo multimedia.\'\'\";'),('es','messages:hidden-categories','s:57:\"{{PLURAL:$1|Categoría escondida|Categorías escondidas}}\";'),('es','messages:hidden-category-category','s:19:\"Categorías ocultas\";'),('es','messages:category-subcat-count','s:190:\"{{PLURAL:$2|Esta categoría comprende solamente la siguiente categoría.|Esta categoría incluye {{PLURAL:$1|la siguiente categorías|las siguientes $1 subcategorías}}, de un total de $2.}}\";'),('es','messages:category-subcat-count-limited','s:99:\"Esta categoría contiene {{PLURAL:$1|la siguiente subcategoría|las siguientes $1 subcategorías}}.\";'),('es','messages:category-article-count','s:198:\"{{PLURAL:$2|Esta categoría incluye solamente la siguiente página.|{{PLURAL:$1|La siguiente página página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría, de un total de $2.}}\";'),('es','messages:category-article-count-limited','s:101:\"{{PLURAL:$1|La siguiente página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría.\";'),('es','messages:category-file-count','s:191:\"{{PLURAL:$2|Esta categoría contiene solamente el siguiente archivo.|{{PLURAL:$1|El siguiente archivo pertenece|Los siguientes $1 archivos pertenecen}} a esta categoría, de un total de $2.}}\";'),('es','messages:category-file-count-limited','s:101:\"{{PLURAL:$1|El siguiente fichero pertenece|Los siguientes $1 ficheros pertenecen}} a esta categoría.\";'),('es','messages:listingcontinuesabbrev','s:5:\"cont.\";'),('es','messages:index-category','s:18:\"Páginas indexadas\";'),('es','messages:noindex-category','s:21:\"Páginas no indizadas\";'),('es','messages:broken-file-category','s:37:\"Páginas con enlaces rotos a archivos\";'),('es','messages:about','s:9:\"Acerca de\";'),('es','messages:article','s:9:\"Artículo\";'),('es','messages:newwindow','s:30:\"(Se abre en una ventana nueva)\";'),('es','messages:cancel','s:8:\"Cancelar\";'),('es','messages:moredotdotdot','s:7:\"Más...\";'),('es','messages:mypage','s:10:\"Mi página\";'),('es','messages:mytalk','s:10:\"Discusión\";'),('es','messages:anontalk','s:23:\"Discusión para esta IP\";'),('es','messages:navigation','s:11:\"Navegación\";'),('es','messages:and','s:6:\"&#32;y\";'),('es','messages:qbfind','s:6:\"Buscar\";'),('es','messages:qbbrowse','s:7:\"Navegar\";'),('es','messages:qbedit','s:6:\"Editar\";'),('es','messages:qbpageoptions','s:19:\"Opciones de página\";'),('es','messages:qbpageinfo','s:23:\"Información de página\";'),('es','messages:qbmyoptions','s:12:\"Mis páginas\";'),('es','messages:qbspecialpages','s:19:\"Páginas especiales\";'),('es','messages:faq','s:25:\"Preguntas más frecuentes\";'),('es','messages:faqpage','s:11:\"Project:FAQ\";'),('es','messages:vector-action-addsection','s:12:\"Añadir tema\";'),('es','messages:vector-action-delete','s:6:\"Borrar\";'),('es','messages:vector-action-move','s:5:\"Mover\";'),('es','messages:vector-action-protect','s:8:\"Proteger\";'),('es','messages:vector-action-undelete','s:9:\"Restaurar\";'),('es','messages:vector-action-unprotect','s:19:\"Cambiar protección\";'),('es','messages:vector-simplesearch-preference','s:66:\"Activar sugerencias de búsqueda mejoradas (piel Vector solamente)\";'),('es','messages:vector-view-create','s:5:\"Crear\";'),('es','messages:vector-view-edit','s:6:\"Editar\";'),('es','messages:vector-view-history','s:13:\"Ver historial\";'),('es','messages:vector-view-view','s:4:\"Leer\";'),('es','messages:vector-view-viewsource','s:10:\"Ver fuente\";'),('es','messages:actions','s:8:\"Acciones\";'),('es','messages:namespaces','s:19:\"Espacios de nombres\";'),('es','messages:variants','s:9:\"Variantes\";'),('es','messages:errorpagetitle','s:5:\"Error\";'),('es','messages:returnto','s:12:\"Volver a $1.\";'),('es','messages:tagline','s:15:\"De {{SITENAME}}\";'),('es','messages:help','s:5:\"Ayuda\";'),('es','messages:search','s:6:\"Buscar\";'),('es','messages:searchbutton','s:6:\"Buscar\";'),('es','messages:go','s:2:\"Ir\";'),('es','messages:searcharticle','s:2:\"Ir\";'),('es','messages:history','s:9:\"Historial\";'),('es','messages:history_short','s:9:\"Historial\";'),('es','messages:updatedmarker','s:35:\"actualizado desde mi última visita\";'),('es','messages:printableversion','s:22:\"Versión para imprimir\";'),('es','messages:permalink','s:17:\"Enlace permanente\";'),('es','messages:print','s:8:\"Imprimir\";'),('es','messages:view','s:3:\"Ver\";'),('es','messages:edit','s:6:\"Editar\";'),('es','messages:create','s:5:\"Crear\";'),('es','messages:editthispage','s:19:\"Editar esta página\";'),('es','messages:create-this-page','s:18:\"Crear esta página\";'),('es','messages:delete','s:6:\"Borrar\";'),('es','messages:deletethispage','s:19:\"Borrar esta página\";'),('es','messages:undelete_short','s:49:\"Restaurar {{PLURAL:$1|una edición|$1 ediciones}}\";'),('es','messages:viewdeleted_short','s:60:\"Ver {{PLURAL:$1|una edición borrada|$1 ediciones borradas}}\";'),('es','messages:protect','s:8:\"Proteger\";'),('es','messages:protect_change','s:7:\"cambiar\";'),('es','messages:protectthispage','s:21:\"Proteger esta página\";'),('es','messages:unprotect','s:19:\"Cambiar protección\";'),('es','messages:unprotectthispage','s:38:\"Cambiar la protección de esta página\";'),('es','messages:newpage','s:13:\"Página nueva\";'),('es','messages:talkpage','s:21:\"Discutir esta página\";'),('es','messages:talkpagelinktext','s:10:\"Discusión\";'),('es','messages:specialpage','s:16:\"Página especial\";'),('es','messages:personaltools','s:23:\"Herramientas personales\";'),('es','messages:postcomment','s:14:\"Nueva sección\";'),('es','messages:articlepage','s:13:\"Ver artículo\";'),('es','messages:talk','s:10:\"Discusión\";'),('es','messages:views','s:6:\"Vistas\";'),('es','messages:toolbox','s:12:\"Herramientas\";'),('es','messages:userpage','s:22:\"Ver página de usuario\";'),('es','messages:projectpage','s:23:\"Ver página de proyecto\";'),('es','messages:imagepage','s:23:\"Ver página del archivo\";'),('es','messages:mediawikipage','s:22:\"Ver página de mensaje\";'),('es','messages:templatepage','s:24:\"Ver página de plantilla\";'),('es','messages:viewhelppage','s:20:\"Ver página de ayuda\";'),('es','messages:categorypage','s:25:\"Ver página de categoría\";'),('es','messages:viewtalkpage','s:14:\"Ver discusión\";'),('es','messages:otherlanguages','s:13:\"Otros idiomas\";'),('es','messages:redirectedfrom','s:21:\"(Redirigido desde $1)\";'),('es','messages:redirectpagesub','s:18:\"Página redirigida\";'),('es','messages:lastmodifiedat','s:60:\"Esta página fue modificada por última vez el $1, a las $2.\";'),('es','messages:viewcount','s:61:\"Esta página ha sido visitada {{PLURAL:$1|una vez|$1 veces}}.\";'),('es','messages:protectedpage','s:17:\"Página protegida\";'),('es','messages:jumpto','s:9:\"Saltar a:\";'),('es','messages:jumptonavigation','s:11:\"navegación\";'),('es','messages:jumptosearch','s:6:\"buscar\";'),('es','messages:view-pool-error','s:206:\"Lo sentimos, los servidores están sobrecargados en este momento.\nHay demasiados usuarios que están tratando de ver esta página.\nEspera un momento antes de tratar de acceder nuevamente a esta página.\n\n$1\";'),('es','messages:pool-timeout','s:37:\"Tiempo limite agotado para el bloqueo\";'),('es','messages:pool-queuefull','s:30:\"La cola de trabajo está llena\";'),('es','messages:pool-errorunknown','s:17:\"Error desconocido\";'),('es','messages:aboutsite','s:22:\"Acerca de {{SITENAME}}\";'),('es','messages:aboutpage','s:17:\"Project:Acerca de\";'),('es','messages:copyright','s:58:\"El contenido está disponible bajo los términos de la $1.\";'),('es','messages:copyrightpage','s:32:\"{{ns:project}}:Derechos de autor\";'),('es','messages:currentevents','s:10:\"Actualidad\";'),('es','messages:currentevents-url','s:18:\"Project:Actualidad\";'),('es','messages:disclaimers','s:11:\"Aviso legal\";'),('es','messages:disclaimerpage','s:46:\"Project:Limitación general de responsabilidad\";'),('es','messages:edithelp','s:17:\"Ayuda de edición\";'),('es','messages:edithelppage','s:31:\"Help:Cómo se edita una página\";'),('es','messages:helppage','s:15:\"Help:Contenidos\";'),('es','messages:mainpage','s:17:\"Página principal\";'),('es','messages:mainpage-description','s:17:\"Página principal\";'),('es','messages:policy-url','s:18:\"Project:Políticas\";'),('es','messages:portal','s:22:\"Portal de la comunidad\";'),('es','messages:portal-url','s:30:\"Project:Portal de la comunidad\";'),('es','messages:privacy','s:33:\"Política de protección de datos\";'),('es','messages:privacypage','s:41:\"Project:Política de protección de datos\";'),('es','messages:badaccess','s:17:\"Error de permisos\";'),('es','messages:badaccess-group0','s:67:\"No tienes autorización para ejecutar la acción que ha solicitado.\";'),('es','messages:badaccess-groups','s:117:\"La acción que has solicitado está restringida a los usuarios {{PLURAL:$2|del grupo|de uno de estos $2 grupos}}: $1.\";'),('es','messages:versionrequired','s:67:\"La versión $1 de MediaWiki es necesaria para utilizar esta página\";'),('es','messages:versionrequiredtext','s:144:\"Se necesita la versión $1 de MediaWiki para utilizar esta página. Para más información, consultar [[Special:Version|la página de versión]]\";'),('es','messages:ok','s:7:\"Aceptar\";'),('es','messages:retrievedfrom','s:18:\"Obtenido de «$1»\";'),('es','messages:youhavenewmessages','s:15:\"Tienes $1 ($2).\";'),('es','messages:newmessageslink','s:15:\"mensajes nuevos\";'),('es','messages:newmessagesdifflink','s:21:\"última modificación\";'),('es','messages:youhavenewmessagesmulti','s:28:\"Tienes nuevos mensajes en $1\";'),('es','messages:editsection','s:6:\"editar\";'),('es','messages:editold','s:6:\"editar\";'),('es','messages:viewsourceold','s:18:\"ver código fuente\";'),('es','messages:editlink','s:9:\"modificar\";'),('es','messages:viewsourcelink','s:10:\"ver fuente\";'),('es','messages:editsectionhint','s:19:\"Editar sección: $1\";'),('es','messages:toc','s:9:\"Contenido\";'),('es','messages:showtoc','s:7:\"mostrar\";'),('es','messages:hidetoc','s:7:\"ocultar\";'),('es','messages:collapsible-collapse','s:7:\"Ocultar\";'),('es','messages:collapsible-expand','s:7:\"Mostrar\";'),('es','messages:thisisdeleted','s:21:\"¿Ver o restaurar $1?\";'),('es','messages:viewdeleted','s:16:\"¿Deseas ver $1?\";'),('es','messages:restorelink','s:56:\"{{PLURAL:$1|una edición borrada|$1 ediciones borradas}}\";'),('es','messages:feedlinks','s:13:\"Sindicación:\";'),('es','messages:feed-invalid','s:59:\"Tipo de subscripción a sindicación de noticias inválida.\";'),('es','messages:feed-unavailable','s:37:\"Las fuentes web no están disponibles\";'),('es','messages:site-rss-feed','s:13:\"$1 Fuente RSS\";'),('es','messages:site-atom-feed','s:15:\"Feed Atom de $1\";'),('es','messages:page-rss-feed','s:16:\"Canal RSS «$1»\";'),('es','messages:page-atom-feed','s:17:\"Canal Atom «$1»\";'),('es','messages:red-link-title','s:25:\"$1 (la página no existe)\";'),('es','messages:sort-descending','s:17:\"Orden descendente\";'),('es','messages:sort-ascending','s:16:\"Orden ascendente\";'),('es','messages:nstab-main','s:7:\"Página\";'),('es','messages:nstab-user','s:7:\"Usuario\";'),('es','messages:nstab-media','s:5:\"Media\";'),('es','messages:nstab-special','s:16:\"Página especial\";'),('es','messages:nstab-project','s:20:\"Página del proyecto\";'),('es','messages:nstab-image','s:7:\"Archivo\";'),('es','messages:nstab-mediawiki','s:7:\"Mensaje\";'),('es','messages:nstab-template','s:9:\"Plantilla\";'),('es','messages:nstab-help','s:5:\"Ayuda\";'),('es','messages:nstab-category','s:10:\"Categoría\";'),('es','messages:nosuchaction','s:21:\"No existe tal acción\";'),('es','messages:nosuchactiontext','s:217:\"La acción especificada en la dirección es inválida.\nEs posible que hayas escrito mal la URL o que hayas seguido un enlace incorrecto. Esto también podría indicar un error en el software utilizado en {{SITENAME}}.\";'),('es','messages:nosuchspecialpage','s:30:\"No existe esa página especial\";'),('es','messages:nospecialpagetext','s:163:\"<strong>Ha solicitado una página especial inexistente.</strong>\n\nPuedes ver una lista de las páginas especiales en [[Special:SpecialPages|{{int:specialpages}}]].\";'),('es','messages:error','s:5:\"Error\";'),('es','messages:databaseerror','s:25:\"Error de la base de datos\";'),('es','messages:dberrortext','s:305:\"Ha ocurrido un error de sintaxis en una consulta a la base de datos.\nEsto puede indicar un error en el software.\nLa última consulta a la base de datos que se intentó fue:\n<blockquote><tt>$1</tt></blockquote>\ndentro de la función «<tt>$2</tt>».\nLa base de datos devolvió el error «<tt>$3: $4</tt>».\";'),('es','messages:dberrortextcl','s:202:\"Ha ocurrido un error de sintaxis en una consulta a la base de datos.\nLa última consulta a la base de datos que se intentó fue:\n«$1»\ndesde la función «$2».\nBase de datos retornó error «$3: $4».\";'),('es','messages:laggedslavemode','s:81:\"\'\'\'Aviso:\'\'\' puede que falten las actualizaciones más recientes en esta página.\";'),('es','messages:readonly','s:23:\"Base de datos bloqueada\";'),('es','messages:enterlockreason','s:97:\"Explique el motivo del bloqueo, incluyendo una estimación de cuándo se producirá el desbloqueo\";'),('es','messages:readonlytext','s:234:\"La base de datos no permite nuevas entradas u otras modificaciones de forma temporal, probablemente por mantenimiento rutinario, tras lo cual volverá a la normalidad.\n\nLa explicación dada por el administrador que la bloqueó fue: $1\";'),('es','messages:missing-article','s:375:\"La base de datos no encuentra el texto de una página que debería hallarse, llamada «$1» $2.\n\nLa causa de esto suele deberse a un \'\'diff\'\' anacrónico o un enlace al historial de una página que ha sido borrada.\n\nSi no fuera el caso, puedes haber encontrado un fallo en el software.\n\nPor favor, avisa a un [[Special:ListUsers/sysop|administrador]], tomando nota de la URL.\";'),('es','messages:missingarticle-rev','s:23:\"(n.º de revisión: $1)\";'),('es','messages:missingarticle-diff','s:14:\"(Dif.: $1, $2)\";'),('es','messages:readonly_lag','s:86:\"La base de datos se ha bloqueado temporalmente mientras los servidores se sincronizan.\";'),('es','messages:internalerror','s:13:\"Error interno\";'),('es','messages:internalerror_info','s:17:\"Error interno: $1\";'),('es','messages:fileappenderrorread','s:48:\"No se ha podido leer «$1» durante la anexión.\";'),('es','messages:fileappenderror','s:40:\"No se ha podido añadir «$1» a «$2».\";'),('es','messages:filecopyerror','s:45:\"No se pudo copiar el archivo «$1» a «$2».\";'),('es','messages:filerenameerror','s:48:\"No se pudo renombrar el archivo «$1» a «$2».\";'),('es','messages:filedeleteerror','s:36:\"No se pudo borrar el archivo «$1».\";'),('es','messages:directorycreateerror','s:38:\"No se pudo crear el directorio «$1».\";'),('es','messages:filenotfound','s:39:\"No se pudo encontrar el archivo «$1».\";'),('es','messages:fileexistserror','s:60:\"No se pudo escribir en el archivo «$1»: el archivo existe.\";'),('es','messages:unexpected','s:32:\"Valor inesperado: «$1»=«$2».\";'),('es','messages:formerror','s:38:\"Error: no se pudo enviar el formulario\";'),('es','messages:badarticleerror','s:55:\"Esta acción no se puede llevar a cabo en esta página.\";'),('es','messages:cannotdelete','s:95:\"La página o archivo «$1» no se pudo borrar.\nPuede que ya haya sido borrado por alguien más.\";'),('es','messages:badtitle','s:18:\"Título incorrecto\";'),('es','messages:badtitletext','s:195:\"El título de la página solicitada está vacío, no es válido, o es un enlace interidioma o interwiki incorrecto.\nPuede que contenga uno o más caracteres que no se pueden usar en los títulos.\";'),('es','messages:perfcached','s:79:\"Los siguientes datos están en caché y por tanto pueden estar desactualizados:\";'),('es','messages:perfcachedts','s:68:\"Estos datos están almacenados. Su última actualización fue el $1.\";'),('es','messages:querypage-no-updates','s:118:\"Actualmente las actualizaciones de esta página están desactivadas. Estos datos no serán actualizados a corto plazo.\";'),('es','messages:wrong_wfQuery_params','s:76:\"Parámetros incorrectos para wfQuery()<br />\nFunción: $1<br />\nConsulta: $2\";'),('es','messages:viewsource','s:10:\"Ver fuente\";'),('es','messages:viewsourcefor','s:7:\"para $1\";'),('es','messages:actionthrottled','s:17:\"Acción bloqueada\";'),('es','messages:actionthrottledtext','s:219:\"Como medida contra el \'\'spam\'\', la acción que estás realizando está limitada a un número determinado de veces en un periodo corto de tiempo, y has excedido ese límite. Por favor inténtalo de nuevo en unos minutos.\";'),('es','messages:protectedpagetext','s:55:\"Esta página ha sido protegida para evitar su edición.\";'),('es','messages:viewsourcetext','s:54:\"Puedes ver y copiar el código fuente de esta página:\";'),('es','messages:protectedinterface','s:95:\"Esta página provee texto del interfaz del software, y está protegida para evitar vandalismos.\";'),('es','messages:editinginterface','s:353:\"\'\'\'Aviso:\'\'\' Estás editando una página usada para proporcionar texto de interfaz para el software. Los cambios en esta página afectarán a la apariencia de la interfaz para los demás usuarios. Para traducciones, por favor considera usar [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], el proyecto de regionalización de MediaWiki.\";'),('es','messages:sqlhidden','s:21:\"(Consulta SQL oculta)\";'),('es','messages:cascadeprotected','s:189:\"Esta página ha sido protegida para su edición, porque está incluida en {{PLURAL:$1|la siguiente página|las siguientes páginas}}, que están protegidas con la opción de «cascada»:\n$2\";'),('es','messages:namespaceprotected','s:75:\"No tienes permiso para editar las páginas del espacio de nombres \'\'\'$1\'\'\'.\";'),('es','messages:customcssprotected','s:107:\"No tienes permiso para editar esta página CSS, porque contiene configuraciones personales de otro usuario.\";'),('es','messages:customjsprotected','s:114:\"No tienes permiso para editar esta página JavaScript, porque contiene configuraciones personales de otro usuario.\";'),('es','messages:ns-specialprotected','s:43:\"Las páginas especiales no se pueden editar\";'),('es','messages:titleprotected','s:97:\"Esta página ha sido protegida contra creación por [[User:$1|$1]].\nEl motivo dado fue: \"\'\'$2\'\'\".\";'),('es','messages:virus-badscanner','s:54:\"Error de configuración: Antivirus desconocido: \'\'$1\'\'\";'),('es','messages:virus-scanfailed','s:28:\"Escaneo fallido (código $1)\";'),('es','messages:virus-unknownscanner','s:22:\"antivirus desconocido:\";'),('es','messages:logouttext','s:323:\"\'\'\'Ha terminado su sesión.\'\'\'\n\nPuedes continuar usando {{SITENAME}} de forma anónima, o puedes [[Special:UserLogin|iniciar sesión otra vez]] con el mismo u otro usuario.\nTen en cuenta que las páginas que tengas abiertas en otras ventanas o pestañas pueden verse como si siguieras identificado hasta que las refresques.\";'),('es','messages:welcomecreation','s:119:\"== ¡Bienvenido(a), $1! ==\n\nTu cuenta ha sido creada.\nNo olvides personalizar [[Special:Preferences|tus preferencias]].\";'),('es','messages:yourname','s:18:\"Nombre de usuario:\";'),('es','messages:yourpassword','s:12:\"Contraseña:\";'),('es','messages:yourpasswordagain','s:24:\"Confirma la contraseña:\";'),('es','messages:remembermypassword','s:74:\"Mantenerme conectado en este navegador (hasta $1 {{PLURAL:$1|día|días}})\";'),('es','messages:securelogin-stick-https','s:56:\"Permanecer conectado a HTTPS después de iniciar sesión\";'),('es','messages:yourdomainname','s:7:\"Dominio\";'),('es','messages:externaldberror','s:125:\"Hubo un error de autenticación externa de la base de datos o bien no tienes autorización para actualizar tu cuenta externa.\";'),('es','messages:login','s:15:\"Iniciar sesión\";'),('es','messages:nav-login-createaccount','s:30:\"Iniciar sesión / crear cuenta\";'),('es','messages:loginprompt','s:88:\"Es necesario habilitar las \'\'cookies\'\' en el navegador para registrarse en {{SITENAME}}.\";'),('es','messages:userlogin','s:30:\"Iniciar sesión / crear cuenta\";'),('es','messages:userloginnocreate','s:15:\"Iniciar sesión\";'),('es','messages:logout','s:14:\"Cerrar sesión\";'),('es','messages:userlogout','s:14:\"Cerrar sesión\";'),('es','messages:notloggedin','s:23:\"No has iniciado sesión\";'),('es','messages:nologin','s:27:\"¿No tienes una cuenta? $1.\";'),('es','messages:nologinlink','s:16:\"Crear una cuenta\";'),('es','messages:createaccount','s:12:\"Crear cuenta\";'),('es','messages:gotaccount','s:27:\"¿Ya tienes una cuenta? $1.\";'),('es','messages:gotaccountlink','s:6:\"Entrar\";'),('es','messages:userlogin-resetlink','s:32:\"¿Olvidaste tus datos de acceso?\";'),('es','messages:createaccountmail','s:23:\"por correo electrónico\";'),('es','messages:createaccountreason','s:7:\"Motivo:\";'),('es','messages:badretype','s:30:\"Las contraseñas no coinciden.\";'),('es','messages:userexists','s:84:\"El nombre de usuario indicado ya está en uso.\nPor favor escoge un nombre diferente.\";'),('es','messages:loginerror','s:26:\"Error de inicio de sesión\";'),('es','messages:createaccounterror','s:30:\"No se pudo crear la cuenta: $1\";'),('es','messages:nocookiesnew','s:275:\"La cuenta de usuario ha sido creada, pero no has iniciado sesión.\n{{SITENAME}} usa <em>cookies</em> para identificar a los usuarios registrados.\nTu navegador tiene desactivadas las cookies.\nPor favor, actívalas e inicia sesión con tu nuevo nombre de usuario y contraseña.\";'),('es','messages:nocookieslogin','s:176:\"{{SITENAME}} utiliza <em>cookies</em> para la autenticación de usuarios. Las <em>cookies</em> están desactivadas en tu navegador. Por favor, actívalas e inténtalo de nuevo.\";'),('es','messages:nocookiesfornew','s:175:\"No se pudo crear la cuenta de usuario, porque no pudimos confirmar su origen.\nAsegúrate de que tienes las cookies activadas, luego recarga esta página e inténtalo de nuevo.\";'),('es','messages:noname','s:51:\"No se ha especificado un nombre de usuario válido.\";'),('es','messages:loginsuccesstitle','s:25:\"Inicio de sesión exitoso\";'),('es','messages:loginsuccess','s:55:\"\'\'\'Has iniciado sesión en {{SITENAME}} como «$1».\'\'\'\";'),('es','messages:nosuchuser','s:174:\"No existe ningún usuario llamado «$1».\nLos nombres de usuario son sensibles a las mayúsculas.\nRevisa la ortografía, o [[Special:UserLogin/signup|crea una cuenta nueva]].\";'),('es','messages:nosuchusershort','s:83:\"No hay un usuario con el nombre «$1». Comprueba que lo has escrito correctamente.\";'),('es','messages:nouserspecified','s:39:\"Debes especificar un nombre de usuario.\";'),('es','messages:login-userblocked','s:61:\"Este usuario está bloqueado. Inicio de sesión no permitido.\";'),('es','messages:wrongpassword','s:70:\"La contraseña indicada es incorrecta.\nPor favor, inténtalo de nuevo.\";'),('es','messages:wrongpasswordempty','s:63:\"No has escrito una contraseña.\nPor favor, inténtalo de nuevo.\";'),('es','messages:passwordtooshort','s:77:\"Las contraseñas deben tener al menos {{PLURAL:$1|1 caracter|$1 caracteres}}.\";'),('es','messages:password-name-match','s:58:\"Tu contraseña debe ser diferente de tu nombre de usuario.\";'),('es','messages:password-login-forbidden','s:67:\"El uso de este nombre de usuario y contraseña han sido prohibidos.\";'),('es','messages:mailmypassword','s:52:\"Enviar una nueva contraseña por correo electrónico\";'),('es','messages:passwordremindertitle','s:43:\"Recordatorio de contraseña de {{SITENAME}}\";'),('es','messages:passwordremindertext','s:515:\"Alguien (probablemente tú, desde la dirección IP $1) solicitó que te enviáramos una nueva contraseña para tu cuenta en {{SITENAME}} ($4).\nSe ha creado la siguiente contraseña temporal para el usuario «$2»: «$3»\nAhora deberías iniciar sesión y cambiar tu contraseña. Tu contraseña temporal expirará en {{PLURAL:$5|un día|$5 días}}.\n\nSi fue otro quien solicitó este mensaje o has recordado tu contraseña y ya no deseas cambiarla, puedes ignorar este mensaje y seguir usando tu contraseña original.\";'),('es','messages:noemail','s:68:\"No hay una dirección de correo electrónico registrada para «$1».\";'),('es','messages:noemailcreate','s:63:\"Necesitas proveer una dirección de correo electrónico válida\";'),('es','messages:passwordsent','s:119:\"Se ha enviado una nueva contraseña al correo electrónico de «$1».\nPor favor, identifícate de nuevo tras recibirla.\";'),('es','messages:blocked-mailpassword','s:129:\"Tu dirección IP está bloqueada, y no se te permite el uso de la función de recuperación de contraseñas para prevenir abusos.\";'),('es','messages:eauthentsent','s:251:\"Se ha enviado un correo electrónico de confirmación a la dirección especificada.\nAntes de que se envíe cualquier otro correo a la cuenta tienes que seguir las instrucciones enviadas en el mensaje para así confirmar que la dirección te pertenece.\";'),('es','messages:throttled-mailpassword','s:203:\"Ya se ha enviado un recordatorio de password en {{PLURAL:$1|la última hora|las últimas $1 horas}}.\nPara evitar los abusos, solo se enviará un recordatorio de password cada {{PLURAL:$1|hora|$1 horas}}.\";'),('es','messages:mailerror','s:26:\"Error al enviar correo: $1\";'),('es','messages:acct_creation_throttle_hit','s:279:\"Los visitantes a este wiki usando tu dirección IP han creado {{PLURAL:$1|una cuenta|$1 cuentas}} en el último día, lo cual es lo máximo permitido en este periodo de tiempo.\nComo resultado, los visitantes usando esta dirección IP no pueden crear más cuentas en este momento.\";'),('es','messages:emailauthenticated','s:64:\"Tu dirección de correo electrónico fue autenticada el $2 a $3.\";'),('es','messages:emailnotauthenticated','s:130:\"Aún no has confirmado tu dirección de correo electrónico.\nHasta que lo hagas, las siguientes funciones no estarán disponibles.\";'),('es','messages:noemailprefs','s:77:\"Especifica una dirección electrónica para habilitar estas características.\";'),('es','messages:emailconfirmlink','s:43:\"Confirmar dirección de correo electrónico\";'),('es','messages:invalidemailaddress','s:178:\"La dirección electrónica no puede ser aceptada, pues parece que tiene un formato no válido.\nPor favor, escribe una dirección en el formato adecuado o deja el campo en blanco.\";'),('es','messages:accountcreated','s:13:\"Cuenta creada\";'),('es','messages:accountcreatedtext','s:44:\"La cuenta de usuario para $1 ha sido creada.\";'),('es','messages:createaccount-title','s:37:\"Creación de cuenta para {{SITENAME}}\";'),('es','messages:createaccount-text','s:268:\"Alguien creó en {{SITENAME}} ($4) una cuenta asociada a este correo electrónico con el nombre «$2».\nLa contraseña asignada automáticamente es «$3». Por favor entra ahora y cambia tu contraseña.\n\nPuedes ignorar este mensaje si esta cuenta fue creada por error.\";'),('es','messages:usernamehasherror','s:71:\"El nombre de usuario no puede contener símbolos de almohadilla/numeral\";'),('es','messages:login-throttled','s:96:\"Has intentado demasiadas veces iniciar sesión. Por favor espera antes de intentarlo nuevamente.\";'),('es','messages:login-abort-generic','s:47:\"Tu inicio de sesión no fue exitoso - Cancelado\";'),('es','messages:loginlanguagelabel','s:10:\"Idioma: $1\";'),('es','messages:suspicious-userlogout','s:140:\"Tu solicitud de desconexión ha sido denegada debido a que parece que ésta ha sido enviada desde un navegador defectuoso o un proxy caché.\";'),('es','messages:php-mail-error-unknown','s:46:\"Error desconocido en la función mail() de PHP\";'),('es','messages:resetpass','s:22:\"Cambiar la contraseña\";'),('es','messages:resetpass_announce','s:140:\"Has iniciado sesión con una contraseña temporal que fue enviada por correo electrónico.\nPor favor, introduce una nueva contraseña aquí:\";'),('es','messages:resetpass_text','s:27:\"<!-- Añada texto aquí -->\";'),('es','messages:resetpass_header','s:35:\"Cambiar la contraseña de la cuenta\";'),('es','messages:oldpassword','s:20:\"Contraseña antigua:\";'),('es','messages:newpassword','s:18:\"Contraseña nueva:\";'),('es','messages:retypenew','s:31:\"Confirmar la contraseña nueva:\";'),('es','messages:resetpass_submit','s:40:\"Establecer contraseña e iniciar sesión\";'),('es','messages:resetpass_success','s:64:\"La contraseña ha sido cambiada con éxito.\nIniciando sesión...\";'),('es','messages:resetpass_forbidden','s:37:\"No se pueden cambiar las contraseñas\";'),('es','messages:resetpass-no-info','s:63:\"Debes iniciar sesión para acceder directamente a esta página.\";'),('es','messages:resetpass-submit-loggedin','s:19:\"Cambiar contraseña\";'),('es','messages:resetpass-submit-cancel','s:8:\"Cancelar\";'),('es','messages:resetpass-wrong-oldpass','s:114:\"La contraseña antigua no es correcta.\nPuede que ya hayas cambiado la contraseña o que hayas pedido una temporal.\";'),('es','messages:resetpass-temp-password','s:21:\"Contraseña temporal:\";'),('es','messages:passwordreset','s:31:\"Restablecimiento de contraseña\";'),('es','messages:passwordreset-text','s:107:\"Completa este formulario para recibir un recordatorio por correo electrónico de los detalles de tu cuenta.\";'),('es','messages:passwordreset-legend','s:23:\"Restablecer contraseña\";'),('es','messages:passwordreset-disabled','s:67:\"Se ha desactivado el restablecimiento de contraseñas en este wiki.\";'),('es','messages:passwordreset-pretext','s:65:\"{{PLURAL:$1||Introduce uno de los elementos de datos siguientes}}\";'),('es','messages:passwordreset-username','s:18:\"Nombre de usuario:\";'),('es','messages:passwordreset-domain','s:8:\"Dominio:\";'),('es','messages:passwordreset-email','s:34:\"Dirección de correo electrónico:\";'),('es','messages:passwordreset-emailtitle','s:37:\"Detalles de la cuenta en {{SITENAME}}\";'),('es','messages:passwordreset-emailtext-ip','s:612:\"Alguien (probablemente tú, desde la dirección IP $1) pidió un recordatorio de tus\ndatos de cuenta para {{SITENAME}} ($4). {{PLURAL:$3|La siguiente cuenta está asociada|Las siguientes cuentas están asociadas}}\ncon esta dirección de correo electrónico:\n\n$2\n\n{{PLURAL:$3|Esta contraseña temporal|Estas contraseñas temporales}} expirarán en {{PLURAL:$5|un día|$5 días}}.\nDeberías iniciar sesión y establecer una contraseña nueva ahora. Si alguien más hizo este pedido,\no recuerdas tu contraseña original, y no deseas cambiarla, puedes\nignorar este mensaje y continuar usando tu contraseña anterior.\";'),('es','messages:passwordreset-emailtext-user','s:587:\"El usuario $1 en {{SITENAME}} pidió un recordatorio de tus datos de cuenta para {{SITENAME}}\n($4). {{PLURAL:$3|La siguiente cuenta está asociada|Las siguientes cuentas están asociadas}} con esta dirección de correo electrónico:\n\n$2\n\n{{PLURAL:$3|Esta contraseña temporal|Estas contraseñas temporales}} expirarán en {{PLURAL:$5|un día|$5 días}}.\nDeberías iniciar sesión y establecer una contraseña nueva ahora. Si alguien más hizo este pedido,\no recuerdas tu contraseña original, y no deseas cambiarla, puedes\nignorar este mensaje y continuar usando tu contraseña anterior.\";'),('es','messages:passwordreset-emailelement','s:46:\"Nombre de usuario: $1\nContraseña temporal: $2\";'),('es','messages:passwordreset-emailsent','s:53:\"Se ha enviado un correo electrónico de recordatorio.\";'),('es','messages:bold_sample','s:16:\"Texto en negrita\";'),('es','messages:bold_tip','s:16:\"Texto en negrita\";'),('es','messages:italic_sample','s:16:\"Texto en cursiva\";'),('es','messages:italic_tip','s:16:\"Texto en cursiva\";'),('es','messages:link_sample','s:18:\"Título del enlace\";'),('es','messages:link_tip','s:14:\"Enlace interno\";'),('es','messages:extlink_sample','s:41:\"http://www.ejemplo.com Título del enlace\";'),('es','messages:extlink_tip','s:52:\"Enlace externo (recuerda añadir el prefijo http://)\";'),('es','messages:headline_sample','s:19:\"Texto de encabezado\";'),('es','messages:headline_tip','s:21:\"Encabezado de nivel 2\";'),('es','messages:nowiki_sample','s:32:\"Insertar aquí texto sin formato\";'),('es','messages:nowiki_tip','s:23:\"Ignorar el formato wiki\";'),('es','messages:image_sample','s:11:\"Ejemplo.jpg\";'),('es','messages:image_tip','s:18:\"Archivo incrustado\";'),('es','messages:media_sample','s:11:\"Ejemplo.ogg\";'),('es','messages:media_tip','s:16:\"Enlace a archivo\";'),('es','messages:sig_tip','s:25:\"Tu firma con fecha y hora\";'),('es','messages:hr_tip','s:44:\"Línea horizontal (utilizar con moderación)\";'),('es','messages:summary','s:8:\"Resumen:\";'),('es','messages:subject','s:18:\"Asunto/encabezado:\";'),('es','messages:minoredit','s:26:\"Esta es una edición menor\";'),('es','messages:watchthis','s:20:\"Vigilar esta página\";'),('es','messages:savearticle','s:17:\"Grabar la página\";'),('es','messages:preview','s:13:\"Previsualizar\";'),('es','messages:showpreview','s:25:\"Mostrar previsualización\";'),('es','messages:showlivepreview','s:27:\"Previsualización inmediata\";'),('es','messages:showdiff','s:15:\"Mostrar cambios\";'),('es','messages:anoneditwarning','s:139:\"\'\'\'Aviso:\'\'\' No has iniciado sesión con una cuenta de usuario.\nTu dirección IP se almacenará en el historial de ediciones de la página.\";'),('es','messages:anonpreviewwarning','s:152:\"\'\'No has iniciado sesión con una cuenta de usuario. Al guardar los cambios se almacenará tu dirección IP en el historial de edición de la página.\'\'\";'),('es','messages:missingsummary','s:140:\"\'\'\'Atención:\'\'\' No has escrito un resumen de edición. Si haces clic nuevamente en «{{int:savearticle}}» tu edición se grabará sin él.\";'),('es','messages:missingcommenttext','s:33:\"Por favor introduce texto debajo.\";'),('es','messages:missingcommentheader','s:150:\"\'\'\'Recordatorio:\'\'\' No has escrito un título para este comentario. Si haces clic nuevamente en \"{{int:savearticle}}\" tu edición se grabará sin él.\";'),('es','messages:summary-preview','s:30:\"Previsualización del resumen:\";'),('es','messages:subject-preview','s:35:\"Previsualización del tema/título:\";'),('es','messages:blockedtitle','s:26:\"El usuario está bloqueado\";'),('es','messages:blockedtext','s:719:\"\'\'\'Tu nombre de usuario o dirección IP ha sido bloqueada.\'\'\'\n\nEl bloqueo fue hecho por $1.\nLa razón dada es \'\'$2\'\'.\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 u otro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir el bloqueo.\nNo puedes utilizar la función «enviar correo electrónico a este usuario»  a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y que el bloqueo no haya inhabilitado esta función.\n\nTu dirección IP actual es $3, y el identificador del bloqueo es #$5.\nPor favor incluye todos los datos aquí mostrados en cualquier consulta que hagas.\";'),('es','messages:autoblockedtext','s:763:\"Tu dirección IP ha sido bloqueada automáticamente porque fue utilizada por otro usuario que fue bloqueado por $1.\nLa razón dada es esta:\n\n:\'\'$2\'\'\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|bibliotecarios]] para discutir el bloqueo.\n\nNo puedes utilizar la función «enviar correo electrónico a este usuario»  a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y que el bloqueo no haya inhabilitado esta función.\n\nTu actual dirección IP es $3, y el identificador del bloqueo es #$5.\nPor favor incluye todos los datos aquí mostrados en cualquier consulta que hagas.\";'),('es','messages:blockednoreason','s:31:\"no se ha especificado el motivo\";'),('es','messages:blockedoriginalsource','s:57:\"El código fuente de \'\'\'$1\'\'\' se muestra a continuación:\";'),('es','messages:blockededitsource','s:71:\"El texto de \'\'\'tus ediciones\'\'\' a \'\'\'$1\'\'\' se muestran a continuación:\";'),('es','messages:whitelistedittitle','s:40:\"Se requiere identificación para editar.\";'),('es','messages:whitelistedittext','s:37:\"Tienes que $1 para editar artículos.\";'),('es','messages:confirmedittext','s:192:\"Debes confirmar tu dirección electrónica antes de editar páginas. Por favor, establece y valida una dirección electrónica a través de tus [[Special:Preferences|preferencias de usuario]].\";'),('es','messages:nosuchsectiontitle','s:22:\"Sección no encontrada\";'),('es','messages:nosuchsectiontext','s:111:\"Has intentado editar una sección que no existe.\nQuizá ha sido movida o borrada mientras visitabas la página.\";'),('es','messages:loginreqtitle','s:28:\"Es necesario iniciar sesión\";'),('es','messages:loginreqlink','s:15:\"iniciar sesión\";'),('es','messages:loginreqpagetext','s:33:\"Debes $1 para ver otras páginas.\";'),('es','messages:accmailtitle','s:31:\"La contraseña ha sido enviada.\";'),('es','messages:accmailtext','s:248:\"Una contraseña generada aleatoriamente para [[User talk:$1|$1]] ha sido enviada a $2.\n\nLa contraseña para esta nueva cuenta puede ser cambiada en la página \'\'[[Special:ChangePassword|cambiar la contraseña]]\'\' después de haber iniciado sesión.\";'),('es','messages:newarticle','s:7:\"(Nuevo)\";'),('es','messages:newarticletext','s:257:\"Has seguido un enlace a una página que aún no existe.\nPara crear esta página, escribe en el campo a continuación. Para más información, consulta la [[{{MediaWiki:Helppage}}|página de ayuda]].\nSi llegaste aquí por error, vuelve a la página anterior.\";'),('es','messages:anontalkpagetext','s:502:\"---- \'\'Esta es la página de discusión de un usuario anónimo que aún no ha creado una cuenta, o no la usa. Por lo tanto, tenemos que usar su dirección IP para identificarlo. Una dirección IP puede ser compartida por varios usuarios. Si eres un usuario anónimo y crees que se han dirigido a ti con comentarios improcedentes, por favor [[Special:UserLogin/signup|crea una cuenta]] o si ya la tienes [[Special:UserLogin|identifícate]] para evitar confusiones futuras con otros usuarios anónimos.\'\'\";'),('es','messages:noarticletext','s:314:\"En este momento no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar el título de esta página]] en otras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.\";'),('es','messages:noarticletext-nopermission','s:256:\"Actualmente no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas,\no <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>.\";'),('es','messages:userpage-userdoesnotexist','s:125:\"La cuenta de usuario «<nowiki>$1</nowiki>» no está registrada. Por favor comprueba si quieres crear o editar esta página.\";'),('es','messages:userpage-userdoesnotexist-view','s:48:\"La cuenta de usuario «$1» no está registrada.\";'),('es','messages:blocked-notice-logextract','s:130:\"Este usuario está actualmente bloqueado.\nLa última entrada del registro de bloqueos se proporciona debajo para mayor referencia:\";'),('es','messages:clearyourcache','s:579:\"\'\'\'Nota:\'\'\' después de guardar, quizás necesites refrescar la caché de tu navegador para ver los cambios.\n* \'\'\'Firefox / Safari:\'\'\' Mantén presionada \'\'Mayús\'\' mientras pulsas el botón \'\'Actualizar\'\', o presiona \'\'Ctrl+F5\'\' o \'\'Ctrl+R\'\' (\'\'Comando+R\'\' en Mac)\n* \'\'\'Google Chrome:\'\'\' presiona \'\'Ctrl+Shift+R\'\' (\'\'Comando+Mayús+R\'\' en Mac)\n* \'\'\'Internet Explorer:\'\'\' mantén presionada \'\'Ctrl\'\' mientras pulsas \'\'Actualizar\'\', o presiona \'\'Ctrl+F5\'\'\n* \'\'\'Konqueror:\'\'\' pulsa \'\'Recargar\'\' o presiona \'\'F5\'\'\n* \'\'\'Opera:\'\'\' vacía la caché en \'\'Herramientas → Preferencias\'\'\";'),('es','messages:usercssyoucanpreview','s:97:\"\'\'\'Consejo:\'\'\' Usa el botón «{{int:showpreview}}» para probar el nuevo CSS antes de guardarlo.\";'),('es','messages:userjsyoucanpreview','s:96:\"\'\'\'Consejo:\'\'\' Usa el botón «{{int:showpreview}}» para probar el nuevo JS antes de guardarlo.\";'),('es','messages:usercsspreview','s:97:\"\'\'\'Recuerda que solo estás previsualizando tu CSS de usuario.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:userjspreview','s:106:\"\'\'\'¡Recuerda que solo estás previsualizando tu JavaScript de usuario.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:sitecsspreview','s:88:\"\'\'\'Recuerda que sólo estás previsualizando este CSS\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:sitejspreview','s:104:\"\'\'\'Recuerda que sólo estás previsualizando este código JavaScript.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:userinvalidcssjstitle','s:218:\"\'\'\'Aviso:\'\'\' No existe la skin «$1». Recuerda que las páginas personalizadas \'\'.css\'\' y \'\'.js\'\' tienen un título en minúsculas. Por ejemplo, {{ns:user}}:Ejemplo/vector.css en vez de {{ns:user}}:Ejemplo/Vector.css.\";'),('es','messages:updated','s:13:\"(Actualizado)\";'),('es','messages:note','s:11:\"\'\'\'Nota:\'\'\'\";'),('es','messages:previewnote','s:94:\"\'\'\'¡Recuerda que esto es solo una previsualización.\'\'\'\n¡Tus cambios aún no se ha guardado!\";'),('es','messages:previewconflict','s:119:\"Esta previsualización refleja el texto en el área de edición superior como aparecerá una vez guardados los cambios.\";'),('es','messages:session_fail_preview','s:221:\"\'\'\'Lo sentimos, no pudimos procesar la edición debido a una pérdida de los datos de sesión.\'\'\'\nPor favor, inténtalo de nuevo.\nSi el problema persiste, [[Special:UserLogout|cierra la sesión]] y vuelve a identificarte.\";'),('es','messages:session_fail_preview_html','s:413:\"\'\'\'Lo sentimos, no hemos podido procesar tu cambio debido a una pérdida de datos de sesión.\'\'\'\n\n\'\'Puesto que este wiki tiene el HTML puro habilitado, la visión preliminar está oculta para prevenirse contra ataques en JavaScript.\'\'\n\n\'\'\'Si éste es un intento legítimo de modificación, por favor, inténtalo de nuevo. Si aún así no funcionase, [[Special:UserLogout|cierra la sesión]] e ingresa de nuevo.\'\'\'\";'),('es','messages:token_suffix_mismatch','s:273:\"\'\'\'Tu edición ha sido rechazada porque tu cliente ha mezclado los signos de puntuación en el token de edición.\nSe rechazó la edición para evitar que el texto de la página se corrompa.\nEsto sucede en ocasiones cuando se usa un servicio de proxy anónimo defectuoso.\'\'\'\";'),('es','messages:edit_form_incomplete','s:139:\"\'\'\'Algunas partes del formulario de edición no llegaron al servidor, comprueba que tus ediciones están intactas e inténtalo de nuevo\'\'\'.\";'),('es','messages:editing','s:11:\"Editando $1\";'),('es','messages:editingsection','s:22:\"Editando $1 (sección)\";'),('es','messages:editingcomment','s:28:\"Editando $1 (nueva sección)\";'),('es','messages:editconflict','s:25:\"Conflicto de edición: $1\";'),('es','messages:explainconflict','s:382:\"Alguien más ha cambiado esta página desde que empezaste a editarla.\nEl área de texto superior contiene el texto de la página como existe actualmente.\nTus cambios se muestran en el área de texto inferior.\nSi quieres grabar tus cambios, has de trasladarlos al área superior.\n\'\'\'Sólo\'\'\' el texto en el área de texto superior será grabado cuando pulses «{{int:savearticle}}».\";'),('es','messages:yourtext','s:8:\"Tu texto\";'),('es','messages:storedversion','s:19:\"Versión almacenada\";'),('es','messages:nonunicodebrowser','s:246:\"\'\'\'Atención: Tu navegador no cumple la norma Unicode.\'\'\'\nSe ha activado un sistema de edición alternativo que te permitirá editar artículos con seguridad: los caracteres no ASCII aparecerán en la caja de edición como códigos hexadecimales.\";'),('es','messages:editingold','s:139:\"\'\'\'Aviso: Estás editando una versión antigua de esta página.\'\'\'\nSi la guardas, se perderán los cambios realizados desde esta revisión.\";'),('es','messages:yourdiff','s:11:\"Diferencias\";'),('es','messages:copyrightwarning','s:434:\"Por favor observa que todas las contribuciones a {{SITENAME}} se consideran hechas públicas bajo la $2 (véase $1 para más detalles). Si no deseas la modificación y distribución libre de tu obra, entonces no la pongas aquí.<br />También nos aseguras que tú escribiste esto y te pertenecen de los derechos de autor, o lo copiaste desde el dominio público u otra fuente libre. \'\'\'¡No uses escritos con copyright sin permiso!\'\'\'\";'),('es','messages:copyrightwarning2','s:486:\"Por favor, ten en cuenta que todas las contribuciones a {{SITENAME}} pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, entonces no las pongas aquí.<br />También nos aseguras que tú escribiste esto y te pertenecen de los derechos de autor, o lo copiaste desde el dominio público u otra fuente libre. (véase $1 para más detalles).\n\'\'\'¡No uses escritos con copyright sin permiso!\'\'\'\";'),('es','messages:longpageerror','s:117:\"\'\'\'Error: El texto que has enviado ocupa $1 kilobytes, que excede el máximo de $2 kilobytes. No se puede guardar.\'\'\'\";'),('es','messages:readonlywarning','s:278:\"\'\'\'Aviso: La base de datos ha sido bloqueada por cuestiones de mantenimiento, así que no podrás guardar tus modificaciones en este momento.\nPuedes copiar y pegar el texto en un archivo y guardarlo para más tarde.\'\'\'\n\nEl administrador que la bloqueó dio esta explicación: $1\";'),('es','messages:protectedpagewarning','s:193:\"\'\'\'Aviso: Esta página ha sido protegida de manera que solo usuarios con permisos de administrador puedan editarla.\'\'\'\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:semiprotectedpagewarning','s:168:\"\'\'\'Nota:\'\'\' Esta página ha sido protegida para que solo usuarios registrados puedan editarla.\nA continuación se provee la última entrada de registro para referencia:\";'),('es','messages:cascadeprotectedwarning','s:201:\"\'\'\'Aviso:\'\'\' Esta página está protegida, solo los administradores pueden editarla porque está incluida en  {{PLURAL:$1|la siguiente página protegida|las siguientes páginas protegidas}} en cascada:\";'),('es','messages:titleprotectedwarning','s:204:\"\'\'\'Aviso: Esta página está protegida de modo que se necesitan [[Special:ListGroupRights|derechos especificos]] para crearla.\'\'\'\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:templatesused','s:64:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta página:\";'),('es','messages:templatesusedpreview','s:74:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta previsualización:\";'),('es','messages:templatesusedsection','s:65:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta sección:\";'),('es','messages:template-protected','s:11:\"(protegida)\";'),('es','messages:template-semiprotected','s:15:\"(semiprotegida)\";'),('es','messages:hiddencategories','s:87:\"Esta página es un miembro de {{PLURAL:$1|1 categoría oculta|$1 categorías ocultas}}:\";'),('es','messages:edittools','s:73:\"<!-- Este texto aparecerá bajo los formularios de edición y subida. -->\";'),('es','messages:nocreatetitle','s:30:\"Creación de páginas limitada\";'),('es','messages:nocreatetext','s:176:\"{{SITENAME}} ha restringido la posibilidad de crear nuevas páginas.\nPuede volver atrás y editar una página existente, [[Special:UserLogin|identificarte o crear una cuenta]].\";'),('es','messages:nocreate-loggedin','s:45:\"No tienes permiso para crear páginas nuevas.\";'),('es','messages:sectioneditnotsupported-title','s:34:\"Edición de sección no compatible\";'),('es','messages:sectioneditnotsupported-text','s:58:\"La edición de sección no es compatible con esta página.\";'),('es','messages:permissionserrors','s:19:\"Errores de permisos\";'),('es','messages:permissionserrorstext','s:95:\"No tienes permiso para hacer eso, por {{PLURAL:$1|el siguiente motivo|los siguientes motivos}}:\";'),('es','messages:permissionserrorstext-withaction','s:75:\"No tienes permiso para $2, por los siguientes {{PLURAL:$1|motivo|motivos}}:\";'),('es','messages:recreate-moveddeleted-warn','s:253:\"\'\'\'Atención: estás volviendo a crear una página que ha sido borrada anteriormente.\'\'\'\n\nDeberías considerar si es apropiado continuar editando esta página.\nEl registro de borrado y traslados para esta página están provistos aquí por conveniencia:\";'),('es','messages:moveddeleted-notice','s:122:\"Esta página ha sido borrada.\nEl registro de borrados y traslados para la página están provistos debajo como referencia.\";'),('es','messages:log-fulllog','s:24:\"Ver el registro completo\";'),('es','messages:edit-hook-aborted','s:60:\"Edición cancelada por la extensión.\nNo dió explicaciones.\";'),('es','messages:edit-gone-missing','s:61:\"No se pudo actualizar la página.\nParece que ha sido borrada.\";'),('es','messages:edit-conflict','s:22:\"Conflicto de edición.\";'),('es','messages:edit-no-change','s:67:\"Se ignoró tu revisión, porque no se hizo ningún cambio al texto.\";'),('es','messages:edit-already-exists','s:46:\"No se pudo crear una página nueva.\nYa existe.\";'),('es','messages:expensive-parserfunction-warning','s:185:\"Aviso: Esta página contiene demasiadas llamadas a funciones sintácticas costosas (#ifexist: y similares)\n\nTiene {{PLURAL:$1|una llamada|$1 llamadas}}, pero debería tener menos de $2.\";'),('es','messages:expensive-parserfunction-category','s:65:\"Páginas con llamadas a funciones sintácticas demasiado costosas\";'),('es','messages:post-expand-template-inclusion-warning','s:100:\"Aviso: El tamaño de las plantillas incluidas es muy grande.\nAlgunas plantillas no serán incluidas.\";'),('es','messages:post-expand-template-inclusion-category','s:37:\"Páginas con sobrecarga de plantillas\";'),('es','messages:post-expand-template-argument-warning','s:159:\"Aviso: Esta página contiene al menos un parámetro de plantilla que tiene un tamaño de expansión demasiado grande.\nEse o esos parámetros han sido omitidos.\";'),('es','messages:post-expand-template-argument-category','s:61:\"Páginas que contienen plantillas con parámetros descartados\";'),('es','messages:parser-template-loop-warning','s:36:\"Detectado bucle de plantilla: [[$1]]\";'),('es','messages:parser-template-recursion-depth-warning','s:58:\"Se ha excedido el límite de recursión de plantillas ($1)\";'),('es','messages:language-converter-depth-warning','s:68:\"El límite de profundidad del convertidor de idioma ha excedido ($1)\";'),('es','messages:undo-success','s:212:\"La edición puede deshacerse. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así deshacer la edición.\";'),('es','messages:undo-failure','s:90:\"No se puede deshacer la edición ya que otro usuario ha realizado una edición intermedia.\";'),('es','messages:undo-norev','s:69:\"La edición no puede ser deshecha porque no existe o ha sido borrada.\";'),('es','messages:undo-summary','s:84:\"Deshecha la revisión $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc.]])\";'),('es','messages:cantcreateaccounttitle','s:27:\"No se puede crear la cuenta\";'),('es','messages:cantcreateaccount-text','s:130:\"La creación de cuentas desde esta dirección IP (\'\'\'$1\'\'\') ha sido bloqueada por [[User:$3|$3]].\n\nEl motivo dado por $3 es \'\'$2\'\'\";'),('es','messages:viewpagelogs','s:33:\"Ver los registros de esta página\";'),('es','messages:nohistory','s:48:\"No hay historial de ediciones para esta página.\";'),('es','messages:currentrev','s:16:\"Revisión actual\";'),('es','messages:currentrev-asof','s:23:\"Última revisión de $1\";'),('es','messages:revisionasof','s:15:\"Revisión de $1\";'),('es','messages:revision-info','s:27:\"Revisión a fecha de $1; $2\";'),('es','messages:previousrevision','s:22:\"← Revisión anterior\";'),('es','messages:nextrevision','s:23:\"Revisión siguiente →\";'),('es','messages:currentrevisionlink','s:16:\"Revisión actual\";'),('es','messages:cur','s:3:\"act\";'),('es','messages:next','s:3:\"sig\";'),('es','messages:last','s:3:\"ant\";'),('es','messages:page_first','s:8:\"primeras\";'),('es','messages:page_last','s:8:\"últimas\";'),('es','messages:histlegend','s:238:\"Selección de diferencias: marca los selectores de las versiones a comparar y pulsa \'\'enter\'\' o el botón de abajo.<br />\nLeyenda: (act) = diferencias con la versión actual,\n(prev) = diferencias con la versión previa, M = edición menor\";'),('es','messages:history-fieldset-title','s:22:\"Buscar en el historial\";'),('es','messages:history-show-deleted','s:17:\"Solamente borrado\";'),('es','messages:histfirst','s:8:\"Primeras\";'),('es','messages:histlast','s:8:\"Últimas\";'),('es','messages:historysize','s:31:\"({{PLURAL:$1|1 byte|$1 bytes}})\";'),('es','messages:historyempty','s:8:\"(vacío)\";'),('es','messages:history-feed-title','s:23:\"Historial de revisiones\";'),('es','messages:history-feed-description','s:52:\"Historial de revisiones para esta página en el wiki\";'),('es','messages:history-feed-item-nocomment','s:8:\"$1 en $2\";'),('es','messages:history-feed-empty','s:154:\"La página solicitada no existe.\nPuede haber sido borrada del wiki o renombrada.\nPrueba a [[Special:Search|buscar en el wiki]] nuevas páginas relevantes.\";'),('es','messages:rev-deleted-comment','s:31:\"(resumen de edición eliminado)\";'),('es','messages:rev-deleted-user','s:29:\"(nombre de usuario eliminado)\";'),('es','messages:rev-deleted-event','s:17:\"(entrada borrada)\";'),('es','messages:rev-deleted-user-contribs','s:95:\"[nombre de usuario o dirección IP eliminada - edición ocultada de la lista de contribuciones]\";'),('es','messages:rev-deleted-text-permission','s:161:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nPuede haber detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-deleted-text-unhide','s:244:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nPuede haber más detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\nComo administrador todavía puedes [$1 ver esta revisión] si así lo deseas.\";'),('es','messages:rev-suppressed-text-unhide','s:253:\"Esta revisión de la página ha sido \'\'\'suprimida\'\'\'.\nPuede haber más detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\nComo administrador podrá seguir [$1 viendo esta revisión] si desea continuar.\";'),('es','messages:rev-deleted-text-view','s:203:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-text-view','s:210:\"Esta revisión de la página ha sido \'\'\'suprimida\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\";'),('es','messages:rev-deleted-no-diff','s:201:\"No puedes ver esta diferencia porque una de las revisiones ha sido \'\'\'borrada\'\'\'.\nPuedes encontrar más detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-no-diff','s:81:\"No puedes ver esta diferencia porque una de las revisiones ha sido \'\'\'borrada\'\'\'.\";'),('es','messages:rev-deleted-unhide-diff','s:229:\"Una de las revisiones de esta diferencia ha sido \'\'\'borrada\'\'\'.\nPuede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\nAún puede [$1 ver este cambio] si así lo desea.\";'),('es','messages:rev-suppressed-unhide-diff','s:240:\"Una de las revisiones de esta diferencia ha sido \'\'\'suprimida\'\'\'.\nPuede haber detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\nAún puede [$1 ver esta diferencia] si desea así lo desea.\";'),('es','messages:rev-deleted-diff-view','s:215:\"Una de las revisiones de esta diferencia ha sido \'\'\'borrada\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-diff-view','s:222:\"Una de las revisiones de esta diferencia ha sido \'\'\'suprimida\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\";'),('es','messages:rev-delundel','s:15:\"mostrar/ocultar\";'),('es','messages:rev-showdeleted','s:7:\"mostrar\";'),('es','messages:revisiondelete','s:27:\"Borrar/restaurar revisiones\";'),('es','messages:revdelete-nooldid-title','s:24:\"No hay revisión destino\";'),('es','messages:revdelete-nooldid-text','s:94:\"No se ha especificado una revisión o revisiones destino sobre las que realizar esta función.\";'),('es','messages:revdelete-nologtype-title','s:19:\"ningún nombre dado\";'),('es','messages:revdelete-nologtype-text','s:62:\"No has especificado ningún nombre para ejecutar esta acción.\";'),('es','messages:revdelete-nologid-title','s:29:\"Entrada de registro inválida\";'),('es','messages:revdelete-nologid-text','s:112:\"Tampoco has especificado un objetivo de eventos para ejecutar esta función o la entrada especificada no existe.\";'),('es','messages:revdelete-no-file','s:34:\"El fichero especificado no existe.\";'),('es','messages:revdelete-show-file-confirm','s:94:\"¿Realmente deseas ver la revisión borrada del archivo \"<nowiki>$1</nowiki>\" del $2 a las $3?\";'),('es','messages:revdelete-show-file-submit','s:3:\"Sí\";'),('es','messages:revdelete-selected','s:79:\"\'\'\'{{PLURAL:$2|Revisión seleccionada|Revisiones seleccionadas}} de [[:$1]]:\'\'\'\";'),('es','messages:logdelete-selected','s:65:\"\'\'\'{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:\'\'\'\";'),('es','messages:revdelete-text','s:342:\"Las revisiones borradas aún aparecerán en el historial de la página y en los registros, pero sus contenidos no serán accesibles al público.\'\'\'\nOtros administradores de {{SITENAME}} aún podrán acceder al contenido oculto y podrán deshacer el borrado a través de la misma interfaz, a menos que se establezcan restricciones adicionales.\";'),('es','messages:revdelete-confirm','s:179:\"Por favor confirma que deseas realizar la operación, que entiendes las consecuencias y que estás ejecutando dicha acción acorde con [[{{MediaWiki:Policy-url}}|las políticas]].\";'),('es','messages:revdelete-suppress-text','s:223:\"La eliminación \'\'\'solamente\'\'\' debería usarse en los siguientes casos:\n* Información potencialmente difamatoria\n* Información personal inapropiada\n* domicilios y números de teléfono, números de seguridad social, etc.\";'),('es','messages:revdelete-legend','s:38:\"Establecer restricciones de revisión:\";'),('es','messages:revdelete-hide-text','s:32:\"Ocultar el texto de la revisión\";'),('es','messages:revdelete-hide-image','s:32:\"Ocultar el contenido del archivo\";'),('es','messages:revdelete-hide-name','s:26:\"Ocultar acción y objetivo\";'),('es','messages:revdelete-hide-comment','s:30:\"Ocultar el resumen de edición\";'),('es','messages:revdelete-hide-user','s:31:\"Ocultar el nombre/IP del editor\";'),('es','messages:revdelete-hide-restricted','s:55:\"Suprimir datos a los administradores así como al resto\";'),('es','messages:revdelete-radio-same','s:12:\"(no cambiar)\";'),('es','messages:revdelete-radio-set','s:3:\"Sí\";'),('es','messages:revdelete-radio-unset','s:2:\"No\";'),('es','messages:revdelete-suppress','s:55:\"Suprimir datos a los administradores así como al resto\";'),('es','messages:revdelete-unsuppress','s:48:\"Eliminar restricciones de revisiones restauradas\";'),('es','messages:revdelete-log','s:7:\"Motivo:\";'),('es','messages:revdelete-submit','s:78:\"Aplicar a {{PLURAL:$1|la revisión seleccionada|las revisiones seleccionadas}}\";'),('es','messages:revdelete-logentry','s:46:\"cambió la visibilidad de revisiones de [[$1]]\";'),('es','messages:logdelete-logentry','s:43:\"cambió la visibilidad de eventos de [[$1]]\";'),('es','messages:revdelete-success','s:66:\"\'\'\'La visibilidad de revisiones ha sido cambiada correctamente.\'\'\'\";'),('es','messages:revdelete-failure','s:64:\"\'\'\'La visibilidad de la revisión no pudo ser establecida:\'\'\'\n$1\";'),('es','messages:logdelete-success','s:46:\"Visibilidad de eventos cambiada correctamente.\";'),('es','messages:logdelete-failure','s:58:\"\'\'\'La visibilidad del registro no pudo ser ajustada:\'\'\'\n$1\";'),('es','messages:revdel-restore','s:19:\"cambiar visibilidad\";'),('es','messages:revdel-restore-deleted','s:19:\"revisiones borradas\";'),('es','messages:revdel-restore-visible','s:19:\"revisiones visibles\";'),('es','messages:pagehist','s:23:\"Historial de la página\";'),('es','messages:deletedhist','s:17:\"Historial borrado\";'),('es','messages:revdelete-content','s:9:\"contenido\";'),('es','messages:revdelete-summary','s:19:\"resumen de edición\";'),('es','messages:revdelete-uname','s:17:\"nombre de usuario\";'),('es','messages:revdelete-restricted','s:44:\"restricciones para administradores aplicadas\";'),('es','messages:revdelete-unrestricted','s:45:\"restricciones para administradores eliminadas\";'),('es','messages:revdelete-hid','s:10:\"ocultó $1\";'),('es','messages:revdelete-unhid','s:10:\"mostró $1\";'),('es','messages:revdelete-log-message','s:45:\"$1 para $2 {{PLURAL:$2|revisión|revisiones}}\";'),('es','messages:logdelete-log-message','s:37:\"$1 de $2 {{PLURAL:$2|evento|eventos}}\";'),('es','messages:revdelete-hide-current','s:95:\"Error al ocultar el objeto de fecha $1 a las $2: es la revisión actual.\nNo puede ser ocultada.\";'),('es','messages:revdelete-show-no-access','s:113:\"Error mostrando el objeto de fecha $2, $1: este objeto ha sido marcado como \"restringido\".\nNo tiene acceso a él.\";'),('es','messages:revdelete-modify-no-access','s:115:\"Error modificando el objeto de fecha $2, $1: este objeto ha sido marcado como \"restringido\".\nNo tiene acceso a él.\";'),('es','messages:revdelete-modify-missing','s:73:\"Error modificando el objeto ID $1: ¡no se encuentra en la base de datos!\";'),('es','messages:revdelete-no-change','s:105:\"\'\'\'Atención:\'\'\' la revisión de fecha $1 a las $2 ya tiene las restricciones de visibilidad solicitadas.\";'),('es','messages:revdelete-concurrent-change','s:164:\"Error modificando el objeto de fecha $2, $1: su estado parece haber sido cambiado por alguien más cuando tratabas de modificarlo. Por favor verifica los registros.\";'),('es','messages:revdelete-only-restricted','s:169:\"Error ocultando el item de fecha $2, $1: no puedes suprimir elementos de vista de los administradores sin seleccionar asímismo una de las otras opciones de visibilidad.\";'),('es','messages:revdelete-reason-dropdown','s:157:\"*Razones de borrado comunes\n** Violación a los derechos de autor\n** Información personal inapropiada\n** Información potencialmente injuriosa o calumniante\";'),('es','messages:revdelete-otherreason','s:22:\"Otra/adicional razón:\";'),('es','messages:revdelete-reasonotherlist','s:11:\"Otra razón\";'),('es','messages:revdelete-edit-reasonlist','s:25:\"Editar razones de borrado\";'),('es','messages:revdelete-offender','s:19:\"Autor de revisión:\";'),('es','messages:suppressionlog','s:23:\"Registro de supresiones\";'),('es','messages:suppressionlogtext','s:229:\"Debajo hay una lista con los borrados y bloqueos recientes, que incluyen contenido oculto de los administradores.\nMire la [[Special:BlockList|lista de bloqueos activos]] para ver una lista de prohibiciones actualmente operativas.\";'),('es','messages:mergehistory','s:32:\"Fusionar historiales de páginas\";'),('es','messages:mergehistory-header','s:177:\"Esta página te permite fusionar revisiones del historial de una página origen en otra más reciente.\nAsegúrate de que esto mantendrá la continuidad histórica de la página.\";'),('es','messages:mergehistory-box','s:41:\"Fusionar los historiales de dos páginas:\";'),('es','messages:mergehistory-from','s:15:\"Página origen:\";'),('es','messages:mergehistory-into','s:16:\"Página destino:\";'),('es','messages:mergehistory-list','s:33:\"Historial de ediciones fusionable\";'),('es','messages:mergehistory-merge','s:256:\"Las siguientes revisiones de [[:$1]] pueden fusionarse en [[:$2]].\nUsa la columna de casillas para fusionar sólo las revisiones creadas en y antes de la fecha especificada.\nNota que usar los enlaces de navegación borrará las selecciones de esta columna.\";'),('es','messages:mergehistory-go','s:29:\"Mostrar ediciones fusionables\";'),('es','messages:mergehistory-submit','s:19:\"Fusionar revisiones\";'),('es','messages:mergehistory-empty','s:30:\"No hay revisiones fusionables.\";'),('es','messages:mergehistory-success','s:88:\"$3 {{PLURAL:$3|revisión|revisiones}} de [[:$1]] fusionadas de forma exitosa en [[:$2]].\";'),('es','messages:mergehistory-fail','s:104:\"No se puede realizar la fusión de historiales, por favor revisa la página y los parámetros de tiempo.\";'),('es','messages:mergehistory-no-source','s:31:\"La página origen $1 no existe.\";'),('es','messages:mergehistory-no-destination','s:32:\"La página destino $1 no existe.\";'),('es','messages:mergehistory-invalid-source','s:48:\"La página origen debe tener un título válido.\";'),('es','messages:mergehistory-invalid-destination','s:53:\"La página de destino ha de tener un título válido.\";'),('es','messages:mergehistory-autocomment','s:29:\"Fusionando [[:$1]] en [[:$2]]\";'),('es','messages:mergehistory-comment','s:33:\"Fusionando [[:$1]] en [[:$2]]: $3\";'),('es','messages:mergehistory-same-destination','s:55:\"Las páginas de origen y destino no pueden ser la misma\";'),('es','messages:mergehistory-reason','s:7:\"Razón:\";'),('es','messages:mergelog','s:20:\"Registro de fusiones\";'),('es','messages:pagemerge-logentry','s:47:\"fusionó [[$1]] en [[$2]] (revisiones hasta $3)\";'),('es','messages:revertmerge','s:16:\"Deshacer fusión\";'),('es','messages:mergelogpagetext','s:90:\"Debajo está una lista de las fusiones más recientes de historial de una página en otra.\";'),('es','messages:history-title','s:35:\"Historial de revisiones para «$1»\";'),('es','messages:difference','s:30:\"(Diferencias entre revisiones)\";'),('es','messages:difference-multipage','s:31:\"(Diferencia entre las páginas)\";'),('es','messages:lineno','s:10:\"Línea $1:\";'),('es','messages:compareselectedversions','s:32:\"Comparar versiones seleccionadas\";'),('es','messages:showhideselectedversions','s:39:\"Mostrar/ocultar versiones seleccionadas\";'),('es','messages:editundo','s:8:\"deshacer\";'),('es','messages:diff-multi','s:149:\"(No se {{PLURAL:$1|muestra una edición intermedia realizada|muestran $1 ediciones intermedias realizadas}} por {{PLURAL:$2|un usuario|$2 usuarios}})\";'),('es','messages:diff-multi-manyusers','s:127:\"(No se {{PLURAL:$1|muestra una edición intermedia|muestran $1 ediciones intermedias}} de {{PLURAL:$2|un usuario|$2 usuarios}})\";'),('es','messages:searchresults','s:26:\"Resultados de la búsqueda\";'),('es','messages:searchresults-title','s:36:\"Resultados de la búsqueda de «$1»\";'),('es','messages:searchresulttext','s:117:\"Para más información acerca de las búsquedas en {{SITENAME}}, consulta la [[{{MediaWiki:Helppage}}|{{int:help}}]].\";'),('es','messages:searchsubtitle','s:189:\"Has buscado \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|todas las páginas que empiezan por \"$1\"]] {{int:pipe-separator}} [[Special:WhatLinksHere/$1|todas las páginas que enlazan con «$1»]])\";'),('es','messages:searchsubtitleinvalid','s:20:\"Has buscado \'\'\'$1\'\'\'\";'),('es','messages:toomanymatches','s:75:\"Se han obtenido muchos resultados; por favor intenta una consulta diferente\";'),('es','messages:titlematches','s:37:\"Coincidencias de título de artículo\";'),('es','messages:notitlematches','s:44:\"No hay coincidencias de título de artículo\";'),('es','messages:textmatches','s:35:\"Coincidencias de texto de artículo\";'),('es','messages:notextmatches','s:42:\"No hay coincidencias de texto de artículo\";'),('es','messages:prevn','s:24:\"{{PLURAL:$1|$1}} previas\";'),('es','messages:nextn','s:27:\"{{PLURAL:$1|$1}} siguientes\";'),('es','messages:prevn-title','s:45:\"$1 {{PLURAL:$1|resultado|resultados}} previos\";'),('es','messages:nextn-title','s:47:\"Próximos $1 {{PLURAL:$1|resultado|resultados}}\";'),('es','messages:shown-title','s:57:\"Mostrar $1 {{PLURAL:$1|resultado|resultados}} por página\";'),('es','messages:viewprevnext','s:40:\"Ver ($1 {{int:pipe-separator}} $2) ($3).\";'),('es','messages:searchmenu-legend','s:21:\"Opciones de búsqueda\";'),('es','messages:searchmenu-exists','s:53:\"\'\'\'Hay una página llamada \"[[:$1]]\" en esta wiki.\'\'\'\";'),('es','messages:searchmenu-new','s:49:\"\'\'\'¡Crea la página «[[:$1]]» en este wiki!\'\'\'\";'),('es','messages:searchhelp-url','s:10:\"Help:Ayuda\";'),('es','messages:searchmenu-prefix','s:58:\"[[Special:PrefixIndex/$1|Otras páginas con este prefijo]]\";'),('es','messages:searchprofile-articles','s:21:\"Páginas de contenido\";'),('es','messages:searchprofile-project','s:31:\"Páginas de ayuda y de proyecto\";'),('es','messages:searchprofile-images','s:10:\"Multimedia\";'),('es','messages:searchprofile-everything','s:4:\"Todo\";'),('es','messages:searchprofile-advanced','s:8:\"Avanzado\";'),('es','messages:searchprofile-articles-tooltip','s:12:\"Buscar en $1\";'),('es','messages:searchprofile-project-tooltip','s:12:\"Buscar en $1\";'),('es','messages:searchprofile-images-tooltip','s:15:\"Buscar archivos\";'),('es','messages:searchprofile-everything-tooltip','s:63:\"Buscar en todo el contenido (incluyendo páginas de discusión)\";'),('es','messages:searchprofile-advanced-tooltip','s:44:\"Buscar en espacios de nombres personalizados\";'),('es','messages:search-result-size','s:40:\"$1 ({{PLURAL:$2|1 palabra|$2 palabras}})\";'),('es','messages:search-result-category-size','s:122:\"{{PLURAL:$1|1 miembro|$1 miembros}} ({{PLURAL:$2|1 subcategoría|$2 subcategorías}}, {{PLURAL:$3|1 fichero|$3 ficheros}})\";'),('es','messages:search-result-score','s:15:\"Relevancia: $1%\";'),('es','messages:search-redirect','s:19:\"(redirige desde $1)\";'),('es','messages:search-section','s:13:\"(sección $1)\";'),('es','messages:search-suggest','s:26:\"Quizás quieres buscar: $1\";'),('es','messages:search-interwiki-caption','s:18:\"Proyectos hermanos\";'),('es','messages:search-interwiki-default','s:17:\"Resultados de $1:\";'),('es','messages:search-interwiki-more','s:6:\"(más)\";'),('es','messages:search-mwsuggest-enabled','s:15:\"con sugerencias\";'),('es','messages:search-mwsuggest-disabled','s:15:\"sin sugerencias\";'),('es','messages:search-relatedarticle','s:11:\"Relacionado\";'),('es','messages:mwsuggest-disable','s:38:\"Desactivar AJAX al realizar búsquedas\";'),('es','messages:searcheverything-enable','s:39:\"Buscar en todos los espacios de nombres\";'),('es','messages:searchrelated','s:11:\"relacionado\";'),('es','messages:searchall','s:5:\"todos\";'),('es','messages:showingresults','s:114:\"Abajo se {{PLURAL:$1|muestra \'\'\'1\'\'\' resultado|muestran hasta \'\'\'$1\'\'\' resultados}} empezando por el nº \'\'\'$2\'\'\'.\";'),('es','messages:showingresultsnum','s:112:\"Abajo se {{PLURAL:$3|muestra \'\'\'1\'\'\' resultado|muestran los \'\'\'$3\'\'\' resultados}} empezando por el nº \'\'\'$2\'\'\'.\";'),('es','messages:showingresultsheader','s:93:\"{{PLURAL:$5|Resultado \'\'\'$1\'\'\' de \'\'\'$3\'\'\'|Resultados \'\'\'$1-$2\'\'\' de \'\'\'$3\'\'\'}} para \'\'\'$4\'\'\'\";'),('es','messages:nonefound','s:257:\"\'\'\'Nota\'\'\': De manera predeterminada solo se busca en algunos espacios de nombres.\nPrueba a usar el prefijo \'\'all:\'\' para buscar en todo el contenido (incluyendo páginas de discusión, plantillas, etc.) o usa el espacio de nombres que quieras como prefijo.\";'),('es','messages:search-nonefound','s:57:\"No hay resultados que cumplan los criterios de búsqueda.\";'),('es','messages:powersearch','s:18:\"Búsqueda avanzada\";'),('es','messages:powersearch-legend','s:18:\"Búsqueda avanzada\";'),('es','messages:powersearch-ns','s:34:\"Buscar en los espacios de nombres:\";'),('es','messages:powersearch-redir','s:20:\"Listar redirecciones\";'),('es','messages:powersearch-field','s:6:\"Buscar\";'),('es','messages:powersearch-togglelabel','s:12:\"Seleccionar:\";'),('es','messages:powersearch-toggleall','s:5:\"Todos\";'),('es','messages:powersearch-togglenone','s:7:\"Ninguno\";'),('es','messages:search-external','s:17:\"Búsqueda externa\";'),('es','messages:searchdisabled','s:202:\"Las búsquedas en {{SITENAME}} están temporalmente desactivadas.\nMientras tanto puedes buscar mediante Google, pero ten en cuenta que sus índices relativos a {{SITENAME}} pueden estar desactualizados.\";'),('es','messages:qbsettings','s:8:\"Quickbar\";'),('es','messages:qbsettings-none','s:7:\"Ninguna\";'),('es','messages:qbsettings-fixedleft','s:19:\"Fija a la izquierda\";'),('es','messages:qbsettings-fixedright','s:17:\"Fija a la derecha\";'),('es','messages:qbsettings-floatingleft','s:23:\"Flotante a la izquierda\";'),('es','messages:qbsettings-floatingright','s:21:\"Flotante a la derecha\";'),('es','messages:qbsettings-directionality','s:69:\"Fijos, dependiendo de la direccionalidad de la escritura de su idioma\";'),('es','messages:preferences','s:12:\"Preferencias\";'),('es','messages:mypreferences','s:12:\"Preferencias\";'),('es','messages:prefs-edits','s:22:\"Cantidad de ediciones:\";'),('es','messages:prefsnologin','s:23:\"No has iniciado sesión\";'),('es','messages:prefsnologintext','s:152:\"Necesitas <span class=\"plainlinks\">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} iniciar sesión]</span> para establecer las preferencias del usuario.\";'),('es','messages:changepassword','s:19:\"Cambiar contraseña\";'),('es','messages:prefs-skin','s:4:\"Skin\";'),('es','messages:skin-preview','s:13:\"Previsualizar\";'),('es','messages:datedefault','s:15:\"Sin preferencia\";'),('es','messages:prefs-beta','s:26:\"Características de prueba\";'),('es','messages:prefs-datetime','s:12:\"Fecha y hora\";'),('es','messages:prefs-labs','s:36:\"Características de los laboratorios\";'),('es','messages:prefs-personal','s:17:\"Perfil de usuario\";'),('es','messages:prefs-rc','s:17:\"Cambios recientes\";'),('es','messages:prefs-watchlist','s:11:\"Seguimiento\";'),('es','messages:prefs-watchlist-days','s:54:\"Número de días a mostrar en la lista de seguimiento:\";'),('es','messages:prefs-watchlist-days-max','s:15:\"Máximo 7 días\";'),('es','messages:prefs-watchlist-edits','s:53:\"Número de ediciones a mostrar en la lista expandida:\";'),('es','messages:prefs-watchlist-edits-max','s:13:\"Máximo: 1000\";'),('es','messages:prefs-watchlist-token','s:30:\"Ficha de lista de seguimiento:\";'),('es','messages:prefs-misc','s:11:\"Miscelánea\";'),('es','messages:prefs-resetpass','s:19:\"Cambiar contraseña\";'),('es','messages:prefs-email','s:31:\"Opciones de correo electrónico\";'),('es','messages:prefs-rendering','s:10:\"Apariencia\";'),('es','messages:saveprefs','s:7:\"Guardar\";'),('es','messages:resetprefs','s:27:\"Limpiar cambios sin guardar\";'),('es','messages:restoreprefs','s:42:\"Restaurar la configuración predeterminada\";'),('es','messages:prefs-editing','s:8:\"Edición\";'),('es','messages:prefs-edit-boxsize','s:34:\"Tamaño de la ventana de edición.\";'),('es','messages:rows','s:6:\"Filas:\";'),('es','messages:columns','s:9:\"Columnas:\";'),('es','messages:searchresultshead','s:10:\"Búsquedas\";'),('es','messages:resultsperpage','s:23:\"Resultados por página:\";'),('es','messages:stub-threshold','s:77:\"Límite para formato de <a href=\"#\" class=\"stub\">enlace a esbozo</a> (bytes):\";'),('es','messages:stub-threshold-disabled','s:11:\"Desactivado\";'),('es','messages:recentchangesdays','s:37:\"Días a mostrar en cambios recientes:\";'),('es','messages:recentchangesdays-max','s:40:\"(máximo {{PLURAL:$1|un día|$1 días}})\";'),('es','messages:recentchangescount','s:56:\"Número de ediciones a mostrar de manera predeterminada:\";'),('es','messages:prefs-help-recentchangescount','s:68:\"Esto incluye cambios recientes, historiales de página, y registros.\";'),('es','messages:prefs-help-watchlist-token','s:281:\"Rellenar este campo con una clave secreta generará un canal RSS para tu lista de seguimiento.\nCualquiera que conozca la clave en este campo será capaz de leer tu lista de seguimiento, así que escoge un valor seguro. Aquí hay un valor generado aleatoriamente que puedes usar: $1\";'),('es','messages:savedprefs','s:36:\"Tus preferencias han sido guardadas.\";'),('es','messages:timezonelegend','s:13:\"Zona horaria:\";'),('es','messages:localtime','s:11:\"Hora local:\";'),('es','messages:timezoneuseserverdefault','s:30:\"Usar la hora del servidor ($1)\";'),('es','messages:timezoneuseoffset','s:39:\"Otra (especifica la diferencia horaria)\";'),('es','messages:timezoneoffset','s:13:\"Diferencia¹:\";'),('es','messages:servertime','s:18:\"Hora del servidor:\";'),('es','messages:guesstimezone','s:42:\"Rellenar a partir de la hora del navegador\";'),('es','messages:timezoneregion-africa','s:7:\"África\";'),('es','messages:timezoneregion-america','s:8:\"América\";'),('es','messages:timezoneregion-antarctica','s:10:\"Antártica\";'),('es','messages:timezoneregion-arctic','s:7:\"Ártico\";'),('es','messages:timezoneregion-asia','s:4:\"Asia\";'),('es','messages:timezoneregion-atlantic','s:18:\"Océano Atlántico\";'),('es','messages:timezoneregion-australia','s:9:\"Australia\";'),('es','messages:timezoneregion-europe','s:6:\"Europa\";'),('es','messages:timezoneregion-indian','s:15:\"Océano Índico\";'),('es','messages:timezoneregion-pacific','s:17:\"Océano Pacífico\";'),('es','messages:allowemail','s:45:\"Aceptar correo electrónico de otros usuarios\";'),('es','messages:prefs-searchoptions','s:21:\"Opciones de búsqueda\";'),('es','messages:prefs-namespaces','s:19:\"Espacios de nombres\";'),('es','messages:defaultns','s:48:\"Buscar en estos espacios de nombres por defecto:\";'),('es','messages:default','s:11:\"por defecto\";'),('es','messages:prefs-files','s:8:\"Archivos\";'),('es','messages:prefs-custom-css','s:17:\"CSS personalizado\";'),('es','messages:prefs-custom-js','s:24:\"JavaScript personalizado\";'),('es','messages:prefs-common-css-js','s:39:\"CSS/JS compartido para todas las skins:\";'),('es','messages:prefs-reset-intro','s:116:\"Puedes usar esta página para restaurar tus preferencias a las predeterminadas del sitio.\nEsto no se puede deshacer.\";'),('es','messages:prefs-emailconfirm-label','s:37:\"Confirmación de correo electrónico:\";'),('es','messages:prefs-textboxsize','s:33:\"Tamaño de la página de edición\";'),('es','messages:youremail','s:20:\"Correo electrónico:\";'),('es','messages:username','s:18:\"Nombre de usuario:\";'),('es','messages:uid','s:14:\"ID de usuario:\";'),('es','messages:prefs-memberingroups','s:46:\"Miembro {{PLURAL:$1|del grupo|de los grupos}}:\";'),('es','messages:prefs-registration','s:17:\"Hora de registro:\";'),('es','messages:yourrealname','s:12:\"Nombre real:\";'),('es','messages:yourlanguage','s:7:\"Idioma:\";'),('es','messages:yourvariant','s:37:\"Variante lingüística del contenido:\";'),('es','messages:yournick','s:12:\"Nueva firma:\";'),('es','messages:prefs-help-signature','s:140:\"Los comentarios en páginas de discusión deberían firmarse con «<nowiki>~~~~</nowiki>», que se convertirá en tu firma con fecha y hora.\";'),('es','messages:badsig','s:67:\"El código de tu firma no es válido; comprueba las etiquetas HTML.\";'),('es','messages:badsiglength','s:92:\"La firma es muy larga. Debe contener un máximo de {{PLURAL:$1|un carácter|$1 caracteres}}.\";'),('es','messages:yourgender','s:8:\"Género:\";'),('es','messages:gender-unknown','s:15:\"Sin especificar\";'),('es','messages:gender-male','s:9:\"Masculino\";'),('es','messages:gender-female','s:8:\"Femenino\";'),('es','messages:prefs-help-gender','s:120:\"Opcional: empleado para que sea usado correctamente el género por parte del software. Esta información será pública.\";'),('es','messages:email','s:19:\"Correo electrónico\";'),('es','messages:prefs-help-realname','s:99:\"El nombre real es opcional. Si decides proporcionarlo, se usará para dar atribución a tu trabajo.\";'),('es','messages:prefs-help-email','s:138:\"La dirección de correo electrónico es opcional, pero es necesaria para el restablecimiento de tu contraseña, en caso de que la olvides.\";'),('es','messages:prefs-help-email-others','s:208:\"También puedes permitir que otros usuarios te contacten por correo-e a través de un enlace en tus páginas de usuario y discusión.\nTu dirección de correo-e no se revela cuando otros usuarios te contactan.\";'),('es','messages:prefs-help-email-required','s:64:\"Es necesario proporcionar una dirección de correo electrónico.\";'),('es','messages:prefs-info','s:20:\"Información básica\";'),('es','messages:prefs-i18n','s:21:\"Internacionalización\";'),('es','messages:prefs-signature','s:5:\"Firma\";'),('es','messages:prefs-dateformat','s:16:\"Formato de fecha\";'),('es','messages:prefs-timeoffset','s:18:\"Diferencia horaria\";'),('es','messages:prefs-advancedediting','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedrc','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedrendering','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedsearchoptions','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedwatchlist','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-displayrc','s:20:\"Opciones de mostrado\";'),('es','messages:prefs-displaysearchoptions','s:26:\"Opciones de visualización\";'),('es','messages:prefs-displaywatchlist','s:26:\"Opciones de visualización\";'),('es','messages:prefs-diffs','s:11:\"Diferencias\";'),('es','messages:email-address-validity-valid','s:55:\"La dirección de correo electrónico parece ser válida\";'),('es','messages:email-address-validity-invalid','s:42:\"Introduce una dirección de correo válida\";'),('es','messages:userrights','s:38:\"Configuración de permisos de usuarios\";'),('es','messages:userrights-lookup-user','s:29:\"Configurar grupos de usuarios\";'),('es','messages:userrights-user-editname','s:29:\"Escriba un nombre de usuario:\";'),('es','messages:editusergroup','s:28:\"Modificar grupos de usuarios\";'),('es','messages:editinguser','s:172:\"Cambiando los derechos del usuario \'\'\'[[User:$1|$1]]\'\'\' ([[User talk:$1|{{int:talkpagelinktext}}]] {{int:pipe-separator}} [[Special:Contributions/$1|{{int:contribslink}}]])\";'),('es','messages:userrights-editusergroup','s:28:\"Modificar grupos de usuarios\";'),('es','messages:saveusergroups','s:26:\"Guardar grupos de usuarios\";'),('es','messages:userrights-groupsmember','s:11:\"Miembro de:\";'),('es','messages:userrights-groupsmember-auto','s:22:\"Miembro implícito de:\";'),('es','messages:userrights-groups-help','s:285:\"Puedes modificar los grupos a los que pertenece este usuario:\n* Un recuadro marcado significa que el usuario está en ese grupo.\n* Un recuadro no marcado significa que el usuario no está en ese grupo.\n* Un * indica que no podrás retirar el grupo una vez que lo concedas, o viceversa.\";'),('es','messages:userrights-reason','s:7:\"Motivo:\";'),('es','messages:userrights-no-interwiki','s:87:\"No tienes permiso para editar los grupos a los que pertenece un usuario en otros wikis.\";'),('es','messages:userrights-nodatabase','s:44:\"La base de datos $1 no existe o no es local.\";'),('es','messages:userrights-nologin','s:121:\"Debes [[Special:UserLogin|iniciar sesión]] con una cuenta de administrador para poder editar los grupos de los usuarios.\";'),('es','messages:userrights-notallowed','s:70:\"Tu cuenta no tiene permiso para añadir o retirar permisos de usuario.\";'),('es','messages:userrights-changeable-col','s:25:\"Grupos que puedes cambiar\";'),('es','messages:userrights-unchangeable-col','s:28:\"Grupos que no puedes cambiar\";'),('es','messages:group','s:6:\"Grupo:\";'),('es','messages:group-user','s:8:\"Usuarios\";'),('es','messages:group-autoconfirmed','s:24:\"Usuarios autoconfirmados\";'),('es','messages:group-bot','s:4:\"Bots\";'),('es','messages:group-sysop','s:15:\"Administradores\";'),('es','messages:group-bureaucrat','s:11:\"Burócratas\";'),('es','messages:group-suppress','s:23:\"Supresores de ediciones\";'),('es','messages:group-all','s:7:\"(todos)\";'),('es','messages:group-user-member','s:7:\"usuario\";'),('es','messages:group-autoconfirmed-member','s:22:\"usuario autoconfirmado\";'),('es','messages:group-bot-member','s:3:\"bot\";'),('es','messages:group-sysop-member','s:13:\"administrador\";'),('es','messages:group-bureaucrat-member','s:10:\"burócrata\";'),('es','messages:group-suppress-member','s:21:\"supresor de ediciones\";'),('es','messages:grouppage-user','s:23:\"{{ns:project}}:Usuarios\";'),('es','messages:grouppage-autoconfirmed','s:39:\"{{ns:project}}:Usuarios autoconfirmados\";'),('es','messages:grouppage-bot','s:19:\"{{ns:project}}:Bots\";'),('es','messages:grouppage-sysop','s:30:\"{{ns:project}}:Administradores\";'),('es','messages:grouppage-bureaucrat','s:26:\"{{ns:project}}:Burócratas\";'),('es','messages:grouppage-suppress','s:38:\"{{ns:project}}:Supresores de ediciones\";'),('es','messages:right-read','s:13:\"Leer páginas\";'),('es','messages:right-edit','s:15:\"Editar páginas\";'),('es','messages:right-createpage','s:49:\"Crear páginas que no sean páginas de discusión\";'),('es','messages:right-createtalk','s:28:\"Crear páginas de discusión\";'),('es','messages:right-createaccount','s:31:\"Crear cuentas de usuario nuevas\";'),('es','messages:right-minoredit','s:33:\"Marcar ediciones como «menores»\";'),('es','messages:right-move','s:18:\"Trasladar páginas\";'),('es','messages:right-move-subpages','s:38:\"Trasladar páginas con sus subpáginas\";'),('es','messages:right-move-rootuserpages','s:32:\"Mover páginas del usuario raíz\";'),('es','messages:right-movefile','s:14:\"Mover archivos\";'),('es','messages:right-suppressredirect','s:68:\"No crear redirecciones de las páginas fuente  al trasladar páginas\";'),('es','messages:right-upload','s:14:\"Subir archivos\";'),('es','messages:right-reupload','s:48:\"Subir una nueva versión de un archivo existente\";'),('es','messages:right-reupload-own','s:59:\"Subir una nueva versión de un archivo creado por uno mismo\";'),('es','messages:right-reupload-shared','s:60:\"Sobreescribir localmente ficheros del repositorio multimedia\";'),('es','messages:right-upload_by_url','s:35:\"Subir un archivo a traves de un URL\";'),('es','messages:right-purge','s:63:\"Purgar la caché en el servidor sin tener que dar confirmación\";'),('es','messages:right-autoconfirmed','s:30:\"Editar páginas semiprotegidas\";'),('es','messages:right-bot','s:40:\"Ser tratado como un programa automático\";'),('es','messages:right-nominornewtalk','s:95:\"No accionar el aviso de nuevos mensajes al realizar ediciones menores de páginas de discusión\";'),('es','messages:right-apihighlimits','s:57:\"Tener límites más altos de peticiones a través del API\";'),('es','messages:right-writeapi','s:31:\"Hacer uso del API para escribir\";'),('es','messages:right-delete','s:15:\"Borrar páginas\";'),('es','messages:right-bigdelete','s:39:\"Borrar páginas con historiales grandes\";'),('es','messages:right-deleterevision','s:54:\"Borrar y restaurar revisiones específicas de páginas\";'),('es','messages:right-deletedhistory','s:60:\"Ver el historial de páginas borradas, sin el texto asociado\";'),('es','messages:right-deletedtext','s:53:\"Ver texto borrado y cambios entre revisiones borradas\";'),('es','messages:right-browsearchive','s:24:\"Buscar páginas borradas\";'),('es','messages:right-undelete','s:21:\"Restaurar una página\";'),('es','messages:right-suppressrevision','s:61:\"Revisar y restaurar revisiones escondidas por administradores\";'),('es','messages:right-suppressionlog','s:22:\"Ver registros privados\";'),('es','messages:right-block','s:44:\"Bloquear a otros usuarios para que no editen\";'),('es','messages:right-blockemail','s:68:\"Bloquear a un usuario para que no pueda mandar correos electrónicos\";'),('es','messages:right-hideuser','s:52:\"Bloquear un nombre de usuario, haciéndolo invisible\";'),('es','messages:right-ipblock-exempt','s:72:\"Pasar por encima de bloqueos de IPs, auto-bloqueos y bloqueos de rangos.\";'),('es','messages:right-proxyunbannable','s:52:\"Pasar por encima de bloqueos automáticos de proxies\";'),('es','messages:right-unblockself','s:13:\"Desbloquearse\";'),('es','messages:right-protect','s:59:\"Cambiar niveles de protección y editar páginas protegidas\";'),('es','messages:right-editprotected','s:62:\"Editar páginas protegidas (sin la protección «en cascada»)\";'),('es','messages:right-editinterface','s:29:\"Editar la interfaz de usuario\";'),('es','messages:right-editusercssjs','s:49:\"Editar las páginas de CSS y JS de otros usuarios\";'),('es','messages:right-editusercss','s:44:\"Editar las páginas de CSS de otros usuarios\";'),('es','messages:right-edituserjs','s:43:\"Editar las páginas de JS de otros usuarios\";'),('es','messages:right-rollback','s:95:\"Revertir rápidamente las ediciones del último usuario que modificó una página en particular\";'),('es','messages:right-markbotedits','s:51:\"Marcar ediciones deshechas como ediciones de un bot\";'),('es','messages:right-noratelimit','s:38:\"No afectado por límites de frecuencia\";'),('es','messages:right-import','s:35:\"Importar páginas desde otras wikis\";'),('es','messages:right-importupload','s:38:\"Importar páginas de un archivo subido\";'),('es','messages:right-patrol','s:42:\"Marcar ediciones de otros como patrulladas\";'),('es','messages:right-autopatrol','s:54:\"Marcar como patrulladas sus ediciones automáticamente\";'),('es','messages:right-patrolmarks','s:49:\"Ver las marcas de patrullaje de cambios recientes\";'),('es','messages:right-unwatchedpages','s:38:\"Ver una lista de páginas no vigiladas\";'),('es','messages:right-trackback','s:23:\"Enviar un \'\'trackback\'\'\";'),('es','messages:right-mergehistory','s:20:\"Fusionar historiales\";'),('es','messages:right-userrights','s:39:\"Modificar todos los derechos de usuario\";'),('es','messages:right-userrights-interwiki','s:49:\"Modificar los derechos de usuarios en otros wikis\";'),('es','messages:right-siteadmin','s:39:\"Bloquear y desbloquear la base de datos\";'),('es','messages:right-override-export-depth','s:73:\"Exporta páginas incluyendo aquellas enlazadas hasta una profundidad de 5\";'),('es','messages:right-sendemail','s:46:\"Enviar un correo electrónico a otros usuarios\";'),('es','messages:rightslog','s:28:\"Cambios de perfil de usuario\";'),('es','messages:rightslogtext','s:59:\"Este es un registro de cambios en los permisos de usuarios.\";'),('es','messages:rightslogentry','s:55:\"modificó los grupos a los que pertenece $1: de $2 a $3\";'),('es','messages:rightslogentry-autopromote','s:44:\"fue promovido automáticamente desde $2 a $3\";'),('es','messages:rightsnone','s:9:\"(ninguno)\";'),('es','messages:action-read','s:17:\"leer esta página\";'),('es','messages:action-edit','s:22:\"modificar esta página\";'),('es','messages:action-createpage','s:14:\"crear páginas\";'),('es','messages:action-createtalk','s:28:\"crear páginas de discusión\";'),('es','messages:action-createaccount','s:28:\"crear esta cuenta de usuario\";'),('es','messages:action-minoredit','s:29:\"marcar este cambio como menor\";'),('es','messages:action-move','s:18:\"mover esta página\";'),('es','messages:action-move-subpages','s:36:\"mover esta página y sus subpáginas\";'),('es','messages:action-move-rootuserpages','s:32:\"mover páginas del usuario raíz\";'),('es','messages:action-movefile','s:18:\"mover este archivo\";'),('es','messages:action-upload','s:18:\"subir este archivo\";'),('es','messages:action-reupload','s:33:\"reemplazar este archivo existente\";'),('es','messages:action-reupload-shared','s:60:\"reemplazar este archivo existente en un depósito compartido\";'),('es','messages:action-upload_by_url','s:43:\"subir este archivo desde una dirección URL\";'),('es','messages:action-writeapi','s:28:\"utilizar el API de escritura\";'),('es','messages:action-delete','s:19:\"borrar esta página\";'),('es','messages:action-deleterevision','s:21:\"borrar esta revisión\";'),('es','messages:action-deletedhistory','s:40:\"ver el historial borrado de esta página\";'),('es','messages:action-browsearchive','s:24:\"buscar páginas borradas\";'),('es','messages:action-undelete','s:22:\"recuperar esta página\";'),('es','messages:action-suppressrevision','s:44:\"revisar y restaurar esta revisión escondida\";'),('es','messages:action-suppressionlog','s:25:\"ver este registro privado\";'),('es','messages:action-block','s:41:\"bloquear a este usuario para que no edite\";'),('es','messages:action-protect','s:52:\"cambiar los niveles de protección para esta página\";'),('es','messages:action-import','s:37:\"importar esta página desde otro wiki\";'),('es','messages:action-importupload','s:53:\"importar esta página mediante la carga de un archivo\";'),('es','messages:action-patrol','s:42:\"marcar ediciones de otros como patrulladas\";'),('es','messages:action-autopatrol','s:45:\"marcar como patrulladas tus propias ediciones\";'),('es','messages:action-unwatchedpages','s:37:\"ver la lista de páginas no vigiladas\";'),('es','messages:action-trackback','s:34:\"enviar una notificación de enlace\";'),('es','messages:action-mergehistory','s:37:\"fusionar el historial de esta página\";'),('es','messages:action-userrights','s:39:\"modificar todos los derechos de usuario\";'),('es','messages:action-userrights-interwiki','s:49:\"modificar los derechos de usuarios en otros wikis\";'),('es','messages:action-siteadmin','s:39:\"bloquear o desbloquear la base de datos\";'),('es','messages:nchanges','s:31:\"$1 {{PLURAL:$1|cambio|cambios}}\";'),('es','messages:recentchanges','s:17:\"Cambios recientes\";'),('es','messages:recentchanges-legend','s:32:\"Opciones sobre cambios recientes\";'),('es','messages:recentchangestext','s:60:\"Sigue los cambios más recientes de la wiki en esta página.\";'),('es','messages:recentchanges-feed-description','s:58:\"Seguir los cambios más recientes en el wiki en este feed.\";'),('es','messages:recentchanges-label-newpage','s:37:\"Esta edición creó una nueva página\";'),('es','messages:recentchanges-label-minor','s:26:\"Esta es una edición menor\";'),('es','messages:recentchanges-label-bot','s:40:\"Esta edición fue realizada por un robot\";'),('es','messages:recentchanges-label-unpatrolled','s:42:\"Esta edición todavía no se ha patrullado\";'),('es','messages:rcnote','s:177:\"Debajo {{PLURAL:$1|hay \'\'\'1\'\'\' cambio efectuado|están los últimos \'\'\'$1\'\'\' cambios efectuados}} en  {{PLURAL:$2|el último día|los últimos \'\'\'$2\'\'\' días}}, hasta el $4, $5.\";'),('es','messages:rcnotefrom','s:74:\"A continuación se muestran los cambios desde <b>$2</b> (hasta <b>$1</b>).\";'),('es','messages:rclistfrom','s:31:\"Mostrar nuevos cambios desde $1\";'),('es','messages:rcshowhideminor','s:20:\"$1 ediciones menores\";'),('es','messages:rcshowhidebots','s:7:\"$1 bots\";'),('es','messages:rcshowhideliu','s:23:\"$1 usuarios registrados\";'),('es','messages:rcshowhideanons','s:21:\"$1 usuarios anónimos\";'),('es','messages:rcshowhidepatr','s:24:\"$1 ediciones patrulladas\";'),('es','messages:rcshowhidemine','s:16:\"$1 mis ediciones\";'),('es','messages:rclinks','s:61:\"Ver los últimos $1 cambios en los últimos $2 días.<br />$3\";'),('es','messages:diff','s:3:\"dif\";'),('es','messages:hist','s:4:\"hist\";'),('es','messages:hide','s:7:\"Ocultar\";'),('es','messages:show','s:7:\"mostrar\";'),('es','messages:minoreditletter','s:1:\"m\";'),('es','messages:newpageletter','s:1:\"N\";'),('es','messages:boteditletter','s:1:\"b\";'),('es','messages:number_of_watching_users_pageview','s:45:\"[$1 {{PLURAL:$1|usuario|usuarios}} vigilando]\";'),('es','messages:rc_categories','s:47:\"Limitar a las categorías (separadas por «|»)\";'),('es','messages:rc_categories_any','s:10:\"Cualquiera\";'),('es','messages:newsectionsummary','s:24:\"Nueva sección: /* $1 */\";'),('es','messages:rc-enhanced-expand','s:38:\"Mostrar detalles (requiere JavaScript)\";'),('es','messages:rc-enhanced-hide','s:16:\"Ocultar detalles\";'),('es','messages:recentchangeslinked','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-feed','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-toolbox','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-title','s:31:\"Cambios relacionados con «$1»\";'),('es','messages:recentchangeslinked-noresult','s:70:\"No hubo cambios en las páginas enlazadas durante el periodo indicado.\";'),('es','messages:recentchangeslinked-summary','s:237:\"Esta página es una lista de los últimos cambios en las páginas enlazadas desde una página (o en las pertenecientes a una categoría). Las páginas que están en tu [[Special:Watchlist|lista de seguimiento]] aparecen en \'\'\'negrita\'\'\'.\";'),('es','messages:recentchangeslinked-page','s:21:\"Nombre de la página:\";'),('es','messages:recentchangeslinked-to','s:61:\"Muestra los cambios recientes en lugar de la página indicada\";'),('es','messages:upload','s:13:\"Subir archivo\";'),('es','messages:uploadbtn','s:16:\"Subir un archivo\";'),('es','messages:reuploaddesc','s:34:\"Regresar al formulario para subir.\";'),('es','messages:upload-tryagain','s:45:\"Envíe la descripción del archivo modificado\";'),('es','messages:uploadnologin','s:23:\"No has iniciado sesión\";'),('es','messages:uploadnologintext','s:75:\"Tienes que [[Special:UserLogin|iniciar sesión]] para poder subir archivos.\";'),('es','messages:upload_directory_missing','s:90:\"El directorio de subida de archivos ($1) no existe, y no puede ser creado por el servidor.\";'),('es','messages:upload_directory_read_only','s:78:\"El servidor web no puede escribir en el directorio de subida de archivos ($1).\";'),('es','messages:uploaderror','s:31:\"Error al intentar subir archivo\";'),('es','messages:upload-recreate-warning','s:151:\"\'\'\'Aviso: Un archivo con ese nombre ha sido eliminado o renombrado.\'\'\'\n\nA continuación se muestra el registro de borrados y traslados de esta página:\";'),('es','messages:uploadtext','s:904:\"Utiliza el siguiente formulario para subir archivos.\nPara ver o buscar archivos subidos con anterioridad, ve a la [[Special:FileList|lista de archivos subidos]].\nLos archivos subidos quedarán registrados además en el [[Special:Log/upload|registro de archivos subidos]] y los borrados en el [[Special:Log/delete|registro de borrados]].\n\nPara incluir un archivo en una página, usa un enlace como los mostrados a continuación:\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></tt>\'\'\' para usar el fichero en tamaño completo\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|texto descriptivo]]</nowiki></tt>\'\'\' para una versión de 200 píxeles de ancho en una caja en el margen izquierdo con \'texto descriptivo\' como descripción\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></tt>\'\'\' para enlazar directamente al fichero sin mostrarlo.\";'),('es','messages:upload-permitted','s:32:\"Tipos de archivo permitidos: $1.\";'),('es','messages:upload-preferred','s:32:\"Tipos de archivo preferidos: $1.\";'),('es','messages:upload-prohibited','s:32:\"Tipos de archivo prohibidos: $1.\";'),('es','messages:uploadlog','s:19:\"registro de subidas\";'),('es','messages:uploadlogpage','s:19:\"Subidas de archivos\";'),('es','messages:uploadlogpagetext','s:139:\"Abajo hay una lista de los últimos archivos subidos.\nMira la [[Special:NewFiles|galería de archivos nuevos]] para una descripción visual\";'),('es','messages:filename','s:18:\"Nombre del archivo\";'),('es','messages:filedesc','s:7:\"Sumario\";'),('es','messages:fileuploadsummary','s:13:\"Descripción:\";'),('es','messages:filereuploadsummary','s:19:\"Cambios de archivo:\";'),('es','messages:filestatus','s:20:\"Estado de copyright:\";'),('es','messages:filesource','s:7:\"Fuente:\";'),('es','messages:uploadedfiles','s:16:\"Archivos subidos\";'),('es','messages:ignorewarning','s:38:\"Ignorar aviso y guardar de todos modos\";'),('es','messages:ignorewarnings','s:23:\"Ignorar cualquier aviso\";'),('es','messages:minlength1','s:54:\"Los nombres de archivo deben tener al menos una letra.\";'),('es','messages:illegalfilename','s:156:\"El nombre de archivo «$1» contiene caracteres que no están permitidos en títulos de páginas. Por favor, renombra el archivo e intenta volver a subirlo.\";'),('es','messages:badfilename','s:47:\"El nombre de la imagen se ha cambiado a «$1».\";'),('es','messages:filetype-mime-mismatch','s:92:\"La extensión de archivo «.$1» no coincide con el tipo detectado de MIME del archivo ($2).\";'),('es','messages:filetype-badmime','s:49:\"No se permite subir archivos de tipo MIME «$1».\";'),('es','messages:filetype-bad-ie-mime','s:156:\"No se puede subir este archivo porque Internet Explorer podría considerarlo como «$1», que es un tipo de archivo no permitido y potencialmente peligroso.\";'),('es','messages:filetype-unwanted-type','s:135:\"\'\'\'«.$1»\'\'\' no está entre los tipos de fichero aconsejados.\n{{PLURAL:$3|El único tipo aconsejado es|Los tipos aconsejados son}} $2.\";'),('es','messages:filetype-banned-type','s:184:\"\'\'\'\".$1\"\'\'\' {{PLURAL:$4|no es un tipo de archivo permitido|no son tipos de archivos permitidos}}.\n{{PLURAL:$3|El tipo de archivo permitido es|Los tipos de archivos permitidos son}} $2.\";'),('es','messages:filetype-missing','s:47:\"El archivo no tiene extensión (como «.jpg»).\";'),('es','messages:empty-file','s:38:\"El archivo que enviaste estaba vacío.\";'),('es','messages:file-too-large','s:44:\"El archivo que enviste era demasiado grande.\";'),('es','messages:filename-tooshort','s:40:\"El nombre de archivo es demasiado corto.\";'),('es','messages:filetype-banned','s:35:\"El tipo de archivo está prohibido.\";'),('es','messages:verification-error','s:51:\"Este archivo no pasó la verificación de archivos.\";'),('es','messages:hookaborted','s:88:\"La modificación que ha intentado realizar fue cancelada por un adicional de extensión.\";'),('es','messages:illegal-filename','s:40:\"El nombre de archivo no está permitido.\";'),('es','messages:overwrite','s:53:\"Sobrescribir un archivo existente no está permitido.\";'),('es','messages:unknown-error','s:30:\"Ocurrió un error desconocido.\";'),('es','messages:tmp-create-error','s:34:\"No se pudo crear archivo temporal.\";'),('es','messages:tmp-write-error','s:35:\"Error al escribir archivo temporal.\";'),('es','messages:large-file','s:76:\"Se recomienda que los archivos no sean mayores de $1; este archivo ocupa $2.\";'),('es','messages:largefileserver','s:84:\"El tamaño de este archivo es mayor del que este servidor admite por configuración.\";'),('es','messages:emptyfile','s:132:\"El archivo que has intentado subir parece estar vacío; por favor, verifica que realmente se trate del archivo que intentabas subir.\";'),('es','messages:windows-nonascii-filename','s:65:\"Este wiki no admite nombres de archivo con caracteres especiales.\";'),('es','messages:fileexists','s:134:\"Ya existe un archivo con este nombre, por favor comprueba \'\'\'<tt>[[:$1]]</tt>\'\'\' si no estás seguro de querer cambiarlo.\n[[$1|thumb]]\";'),('es','messages:filepageexists','s:293:\"La página de descripción de este archivo ya ha sido creada en \'\'\'<tt>[[:$1]]</tt>\'\'\', pero no existe actualmente ningún fichero con este nombre.\nEl resumen que ha ingresado no aparecerá en la página de descripción. Para que el sumario aparezca, deberá editarlo manualmente.\n[[$1|thumb]]\";'),('es','messages:fileexists-extension','s:216:\"Existe un archivo con un nombre similar: [[$2|thumb]]\n* Nombre del archivo que se está subiendo: \'\'\'<tt>[[:$1]]</tt>\'\'\'\n* Nombre del archivo ya existente: \'\'\'<tt>[[:$2]]</tt>\'\'\'\nPor favor, elige un nombre diferente.\";'),('es','messages:fileexists-thumbnail-yes','s:241:\"El archivo parece ser una imagen de tamaño reducido \'\'(thumbnail)\'\'. [[$1|thumb]]\nPor favor comprueba el archivo \'\'\'<tt>[[:$1]]</tt>\'\'\'.\nSi el archivo comprobado es la misma imagen a tamaño original no es necesario subir un thumbnail más.\";'),('es','messages:file-thumbnail-no','s:208:\"El nombre del archivo comienza con \'\'\'<tt>$1</tt>\'\'\'.\nParece ser una imagen de tamaño reducido \'\'(thumbnail)\'\'.\nSi tiene esta imagen a toda resolución súbala, si no, por favor cambie el nombre del archivo.\";'),('es','messages:fileexists-forbidden','s:194:\"Ya existe un archivo con este nombre, y no puede ser grabado encima de otro. Si quiere subir su archivo de todos modos, por favor vuelva atrás y utilice otro nombre. [[File:$1|thumb|center|$1]]\";'),('es','messages:fileexists-shared-forbidden','s:191:\"Ya existe un archivo con este nombre en el repositorio compartido.\nSi todavía quiere subir su archivo, por favor, regrese a la página anterior y use otro nombre. [[File:$1|thumb|center|$1]]\";'),('es','messages:file-exists-duplicate','s:75:\"Este archivo es un duplicado {{PLURAL:$1|del siguiente|de los siguientes}}:\";'),('es','messages:file-deleted-duplicate','s:149:\"Un archivo idéntico a este ([[:$1]]) ha sido borrado con anterioridad. Debes comprobar el historial de borrado del archivo ante de volver a subirlo.\";'),('es','messages:uploadwarning','s:32:\"Advertencia de subida de archivo\";'),('es','messages:uploadwarning-text','s:86:\"Por favor, modifique la descripción del archivo abajo indicada e inténtelo de nuevo.\";'),('es','messages:savefile','s:15:\"Guardar archivo\";'),('es','messages:uploadedimage','s:17:\"subió «[[$1]]»\";'),('es','messages:overwroteimage','s:39:\"subió una nueva versión de «[[$1]]»\";'),('es','messages:uploaddisabled','s:32:\"Subida de archivos deshabilitada\";'),('es','messages:copyuploaddisabled','s:28:\"Carga por URL deshabilitada.\";'),('es','messages:uploadfromurl-queued','s:35:\"Tu carga ha sido enviada a la cola.\";'),('es','messages:uploaddisabledtext','s:29:\"No es posible subir archivos.\";'),('es','messages:php-uploaddisabledtext','s:107:\"La subida de archivos está deshabilitada en PHP. Por favor compruebe <code>file_uploads</code> en php.ini.\";'),('es','messages:uploadscripted','s:106:\"Este archivo contiene script o código HTML que puede ser interpretado erróneamente por un navegador web.\";'),('es','messages:uploadvirus','s:44:\"¡El archivo contiene un virus!\nDetalles: $1\";'),('es','messages:uploadjava','s:165:\"El archivo es un ZIP que contiene un archivo .class de Java.\nNo se permite subir archivos Java, porque pueden causar que se puedan saltar restricciones de seguridad.\";'),('es','messages:upload-source','s:14:\"Archivo origen\";'),('es','messages:sourcefilename','s:26:\"Nombre del archivo origen:\";'),('es','messages:sourceurl','s:20:\"Dirección original:\";'),('es','messages:destfilename','s:30:\"Nombre del archivo de destino:\";'),('es','messages:upload-maxfilesize','s:31:\"Tamaño máximo del archivo: $1\";'),('es','messages:upload-description','s:23:\"Descripción de archivo\";'),('es','messages:upload-options','s:17:\"Opciones de carga\";'),('es','messages:watchthisupload','s:20:\"Vigilar este archivo\";'),('es','messages:filewasdeleted','s:138:\"Un archivo con este nombre se subió con anterioridad y posteriormente ha sido borrado. Deberías revisar el $1 antes de subirlo de nuevo.\";'),('es','messages:filename-bad-prefix','s:239:\"El nombre del archivo que estás subiendo comienza por \'\'\'«$1»\'\'\', un nombre nada descriptivo de su contenido. Es un típico nombre de los que asignan automáticamente las cámaras digitales.\n\nPor favor, elige un nombre más descriptivo.\";'),('es','messages:upload-success-subj','s:17:\"Subida con éxito\";'),('es','messages:upload-success-msg','s:73:\"Tu carga de [$2] fue exitosa. Está disponible aquí: [[:{{ns:file}}:$1]]\";'),('es','messages:upload-failure-subj','s:20:\"Problema en la carga\";'),('es','messages:upload-failure-msg','s:49:\"Hubo un problema durante la carga desde [$2]:\n\n$1\";'),('es','messages:upload-warning-subj','s:15:\"Alerta de carga\";'),('es','messages:upload-warning-msg','s:134:\"Hubo un problema con tu carga de [$2]. Puedes regresar al [[Special:Upload/stash/$1|formulario de carga]] para corregir este problema.\";'),('es','messages:upload-proto-error','s:20:\"Protocolo incorrecto\";'),('es','messages:upload-proto-error-text','s:107:\"Para subir archivos desde otra página la URL debe comenzar por <code>http://</code> o <code>ftp://</code>.\";'),('es','messages:upload-file-error','s:33:\"Error interno al subir el archivo\";'),('es','messages:upload-file-error-text','s:174:\"Ha ocurrido un error interno mientras se intentaba crear un fichero temporal en el servidor. Por favor, contacta con un [[Special:ListUsers/sysop|administrador del sistema]].\";'),('es','messages:upload-misc-error','s:30:\"Error desconocido en la subida\";'),('es','messages:upload-misc-error-text','s:211:\"Ha ocurrido un error durante la subida. Por favor verifica que la URL es válida y accesible e inténtalo de nuevo. Si el problema persiste, contacta con un [[Special:ListUsers/sysop|administrador del sistema]].\";'),('es','messages:upload-too-many-redirects','s:41:\"La URL contenía demasiadas redirecciones\";'),('es','messages:upload-unknown-size','s:19:\"Tamaño desconocido\";'),('es','messages:upload-http-error','s:29:\"Ha ocurrido un error HTTP: $1\";'),('es','messages:zip-file-open-error','s:68:\"Se encontró un error al abrir el archivo ZIP para su comprobación.\";'),('es','messages:zip-wrong-format','s:45:\"El archivo especificado no es un archivo ZIP.\";'),('es','messages:zip-bad','s:88:\"El archivo es un ZIP dañado o que no se puede leer.\nNo se puede comprobar su seguridad.\";'),('es','messages:zip-unsupported','s:136:\"El archivo es un archivo que utiliza características ZIP no compatibles con MediaWiki.\nNo puede comprobarse adecuadamente su seguridad.\";'),('es','messages:uploadstash','s:19:\"Ficheros escondidos\";'),('es','messages:uploadstash-summary','s:217:\"Esta página da acceso a los ficheros enviados (o que están en el proceso de envío) pero que aún no han sido publicados en la wiki. Estos ficheros no son visibles para nadie, excepto para el usuario que los envió.\";'),('es','messages:uploadstash-clear','s:30:\"Borrar los ficheros escondidos\";'),('es','messages:uploadstash-nofiles','s:30:\"No tienes archivos escondidos.\";'),('es','messages:uploadstash-badtoken','s:108:\"No fue posible ejecutar esa operación, tal vez porque sus credenciales de edición expiraron. Reinténtelo.\";'),('es','messages:uploadstash-errclear','s:42:\"El borrado de los archivos no tuvo éxito.\";'),('es','messages:uploadstash-refresh','s:31:\"Actualizar la lista de archivos\";'),('es','messages:img-auth-accessdenied','s:15:\"Acceso denegado\";'),('es','messages:img-auth-nopathinfo','s:232:\"Falta PATH_INFO.\nTu servidor no está configurado para proporcionar esta información.\nPuede que esté basado en CGI y no sea compatible con img_auth.\nVéase [//www.mediawiki.org/wiki/Manual:Image_Authorization image authorization.]\";'),('es','messages:img-auth-notindir','s:61:\"Ruta solicitad no esá en el directorio de cargas configurado\";'),('es','messages:img-auth-badtitle','s:50:\"Incapaz de construir un título válido de «$1».\";'),('es','messages:img-auth-nologinnWL','s:61:\"No has iniciado sesión y «$1» no está en la lista blanca.\";'),('es','messages:img-auth-nofile','s:28:\"El archivo «$1» no existe.\";'),('es','messages:img-auth-isdir','s:92:\"Estás tratando de acceder a un directorio «$1».\nSolo se permite el acceso a los archivos.\";'),('es','messages:img-auth-streaming','s:17:\"Streaming «$1».\";'),('es','messages:img-auth-public','s:170:\"La función de img_auth.php es mostrar archivos desde una wiki privada.\nEsta wiki está configurada como pública.\nPara óptima seguridad, img_auth.php está desactivado.\";'),('es','messages:img-auth-noread','s:44:\"El usuario no tiene acceso para leer «$1».\";'),('es','messages:img-auth-bad-query-string','s:58:\"La dirección URL tiene una cadena de consulta no válida.\";'),('es','messages:http-invalid-url','s:17:\"URL inválida: $1\";'),('es','messages:http-invalid-scheme','s:50:\"Las URLs con el esquema «$1» no son compatibles.\";'),('es','messages:http-request-error','s:55:\"La solicitud HTTP falló debido a un error desconocido.\";'),('es','messages:http-read-error','s:22:\"Error de lectura HTTP.\";'),('es','messages:http-timed-out','s:30:\"La solicitud HTTP ha expirado.\";'),('es','messages:http-curl-error','s:29:\"Error al recuperar el URL: $1\";'),('es','messages:http-host-unreachable','s:32:\"No fue posible acceder a la URL.\";'),('es','messages:http-bad-status','s:54:\"Ha habido un problema durante la solicitud HTTP: $1 $2\";'),('es','messages:upload-curl-error6','s:26:\"No se pudo alcanzar la URL\";'),('es','messages:upload-curl-error6-text','s:106:\"La URL no pudo ser alcanzada. Por favor comprueba que la URL es correcta y el sitio web está funcionando.\";'),('es','messages:upload-curl-error28','s:25:\"Tiempo de espera excedido\";'),('es','messages:upload-curl-error28-text','s:193:\"La página tardó demasiado en responder. Por favor, comprueba que el servidor está funcionando, espera un poco y vuelva a intentarlo. Quizás desees intentarlo en otro momento de menos carga.\";'),('es','messages:license','s:9:\"Licencia:\";'),('es','messages:license-header','s:8:\"Licencia\";'),('es','messages:nolicense','s:20:\"Ninguna seleccionada\";'),('es','messages:license-nopreview','s:33:\"(Previsualización no disponible)\";'),('es','messages:upload_source_url','s:44:\" (una URL válida y accesible públicamente)\";'),('es','messages:upload_source_file','s:25:\" (un archivo en tu disco)\";'),('es','messages:listfiles-summary','s:178:\"Esta página especial muestra todos los archivos subidos.\nCuando es filytrado por el usuario, sólo los archivos cargados por el usuario se muestran en su versión más reciente.\";'),('es','messages:listfiles_search_for','s:28:\"Buscar por nombre de imagen:\";'),('es','messages:imgfile','s:7:\"archivo\";'),('es','messages:listfiles','s:17:\"Lista de archivos\";'),('es','messages:listfiles_thumb','s:9:\"Miniatura\";'),('es','messages:listfiles_date','s:5:\"Fecha\";'),('es','messages:listfiles_name','s:6:\"Nombre\";'),('es','messages:listfiles_user','s:7:\"Usuario\";'),('es','messages:listfiles_size','s:15:\"Tamaño (bytes)\";'),('es','messages:listfiles_description','s:12:\"Descripción\";'),('es','messages:listfiles_count','s:9:\"Versiones\";'),('es','messages:file-anchor-link','s:7:\"Archivo\";'),('es','messages:filehist','s:21:\"Historial del archivo\";'),('es','messages:filehist-help','s:62:\"Haz clic sobre una fecha/hora para ver el\narchivo a esa fecha.\";'),('es','messages:filehist-deleteall','s:11:\"borrar todo\";'),('es','messages:filehist-deleteone','s:6:\"borrar\";'),('es','messages:filehist-revert','s:8:\"revertir\";'),('es','messages:filehist-current','s:3:\"act\";'),('es','messages:filehist-datetime','s:12:\"Fecha y hora\";'),('es','messages:filehist-thumb','s:9:\"Miniatura\";'),('es','messages:filehist-thumbtext','s:30:\"Miniatura de la versión de $1\";'),('es','messages:filehist-nothumb','s:13:\"Sin miniatura\";'),('es','messages:filehist-user','s:7:\"Usuario\";'),('es','messages:filehist-dimensions','s:11:\"Dimensiones\";'),('es','messages:filehist-filesize','s:7:\"Tamaño\";'),('es','messages:filehist-comment','s:10:\"Comentario\";'),('es','messages:filehist-missing','s:26:\"No se encuentra el archivo\";'),('es','messages:imagelinks','s:16:\"Usos del archivo\";'),('es','messages:linkstoimage','s:89:\"{{PLURAL:$1|La siguiente página enlaza|Las siguientes páginas enlazan}} a este archivo:\";'),('es','messages:linkstoimage-more','s:297:\"Hay más de {{PLURAL:$1|una página que enlaza|$1 páginas que enlazan}} con este archivo.\n\nLa lista siguiente sólo muestra {{PLURAL:$1|la primera página que enlaza|las primeras $1 páginas que enlazan}} con este archivo.\nTambién puedes consultar la [[Special:WhatLinksHere/$2|lista completa]].\";'),('es','messages:nolinkstoimage','s:42:\"No hay páginas que enlacen a esta imagen.\";'),('es','messages:morelinkstoimage','s:61:\"Vea [[Special:WhatLinksHere/$1|más enlaces]] a este archivo.\";'),('es','messages:linkstoimage-redirect','s:31:\"$1 (archivo de redirección) $2\";'),('es','messages:duplicatesoffile','s:153:\"{{PLURAL:$1|El siguiente archivo es un duplicado|Los siguientes $1 archivos son duplicados}} de éste ([[Special:FileDuplicateSearch/$2|más detalles]]):\";'),('es','messages:sharedupload','s:60:\"Este archivo es de $1 y puede ser usado por otros proyectos.\";'),('es','messages:sharedupload-desc-there','s:148:\"Este archivo es de $1 y puede ser usado por otros proyectos.\nPor favor mira la [$2 página de descripción del archivo] para información adicional.\";'),('es','messages:sharedupload-desc-here','s:146:\"Este archivo es de $1 y puede ser usado por otros proyectos.\nLa descripción en su [$2 página de descripción del archivo] está mostrada debajo.\";'),('es','messages:filepage-nofile','s:42:\"No existe ningún archivo con este nombre.\";'),('es','messages:filepage-nofile-link','s:68:\"No existe ningún archivo con este nombre, pero puedes [$1 subirlo].\";'),('es','messages:uploadnewversion-linktext','s:40:\"Subir una nueva versión de este archivo\";'),('es','messages:shared-repo-from','s:5:\"de $1\";'),('es','messages:shared-repo','s:25:\"un repositorio compartido\";'),('es','messages:filerevert','s:11:\"Revertir $1\";'),('es','messages:filerevert-legend','s:22:\"Reversión de archivos\";'),('es','messages:filerevert-intro','s:76:\"Estás revirtiendo \'\'\'[[Media:$1|$1]]\'\'\' a la [$4 versión del $2 a las $3].\";'),('es','messages:filerevert-comment','s:7:\"Motivo:\";'),('es','messages:filerevert-defaultcomment','s:45:\"Revertido a la versión subida el $1 a las $2\";'),('es','messages:filerevert-submit','s:8:\"Revertir\";'),('es','messages:filerevert-success','s:75:\"\'\'\'[[Media:$1|$1]]\'\'\' ha sido revertido a la [$4 versión del $2 a las $3].\";'),('es','messages:filerevert-badversion','s:71:\"No existe version local previa de este archivo con esa marca de tiempo.\";'),('es','messages:filedelete','s:9:\"Borrar $1\";'),('es','messages:filedelete-legend','s:14:\"Borrar archivo\";'),('es','messages:filedelete-intro','s:77:\"Estás borrando el archivo \'\'\'[[Media:$1|$1]]\'\'\' así como todo su historial.\";'),('es','messages:filedelete-intro-old','s:74:\"Estás borrando la versión de \'\'\'[[Media:$1|$1]]\'\'\' del [$4 $2 a las $3].\";'),('es','messages:filedelete-comment','s:7:\"Motivo:\";'),('es','messages:filedelete-submit','s:8:\"Eliminar\";'),('es','messages:filedelete-success','s:25:\"\'\'\'$1\'\'\' ha sido borrado.\";'),('es','messages:filedelete-success-old','s:68:\"La version de \'\'\'[[Media:$1|$1]]\'\'\' del $2 a las $3 ha sido borrada.\";'),('es','messages:filedelete-nofile','s:19:\"\'\'\'$1\'\'\' no existe.\";'),('es','messages:filedelete-nofile-old','s:76:\"No existe una versión guardada de \'\'\'$1\'\'\' con los atributos especificados.\";'),('es','messages:filedelete-otherreason','s:12:\"Otra razón:\";'),('es','messages:filedelete-reason-otherlist','s:11:\"Otra razón\";'),('es','messages:filedelete-reason-dropdown','s:78:\"*Razones de borrado habituales\n** Violación de copyright\n** Archivo duplicado\";'),('es','messages:filedelete-edit-reasonlist','s:29:\"Edita los motivos del borrado\";'),('es','messages:filedelete-maintenance','s:90:\"Borrado y restauración de archivos temporalmente deshabilitados durante el mantenimiento.\";'),('es','messages:mimesearch','s:14:\"Búsqueda MIME\";'),('es','messages:mimesearch-summary','s:120:\"Esta página permite el filtrado de ficheros por su tipo MIME.\nEntrada: contenttype/subtype, p. ej. <tt>image/jpeg</tt>.\";'),('es','messages:mimetype','s:10:\"Tipo MIME:\";'),('es','messages:download','s:9:\"descargar\";'),('es','messages:unwatchedpages','s:21:\"Páginas no vigiladas\";'),('es','messages:listredirects','s:22:\"Lista de redirecciones\";'),('es','messages:unusedtemplates','s:18:\"Plantillas sin uso\";'),('es','messages:unusedtemplatestext','s:186:\"Aquí se enumeran todas las páginas en el espacio de nombres {{ns:template}} que no están incluidas en otras páginas. Recuerda mirar lo que enlaza a las plantillas antes de borrarlas.\";'),('es','messages:unusedtemplateswlh','s:13:\"otros enlaces\";'),('es','messages:randompage','s:17:\"Página aleatoria\";'),('es','messages:randompage-nopages','s:89:\"No hay páginas en los siguientes {{PLURAL:$2|espacio de nombre|espacios de nombre}}: $1.\";'),('es','messages:randomredirect','s:32:\"Ir a una redirección cualquiera\";'),('es','messages:randomredirect-nopages','s:53:\"No hay redirecciones en el espacio de nombres «$1».\";'),('es','messages:statistics','s:13:\"Estadísticas\";'),('es','messages:statistics-header-pages','s:25:\"Estadísticas de páginas\";'),('es','messages:statistics-header-edits','s:26:\"Estadísticas de ediciones\";'),('es','messages:statistics-header-views','s:24:\"Estadísticas de visitas\";'),('es','messages:statistics-header-users','s:24:\"Estadísticas de usuario\";'),('es','messages:statistics-header-hooks','s:19:\"Otras estadísticas\";'),('es','messages:statistics-articles','s:21:\"Páginas de contenido\";'),('es','messages:statistics-pages','s:8:\"Páginas\";'),('es','messages:statistics-pages-desc','s:85:\"Todas las páginas en el wiki, incluyendo páginas de discusión, redirecciones, etc.\";'),('es','messages:statistics-files','s:16:\"Ficheros subidos\";'),('es','messages:statistics-edits','s:58:\"Ediciones en páginas desde que {{SITENAME}} fue instalado\";'),('es','messages:statistics-edits-average','s:30:\"Media de ediciones por página\";'),('es','messages:statistics-views-total','s:15:\"Visitas totales\";'),('es','messages:statistics-views-total-desc','s:70:\"No se incluyen accesos a páginas no existentes ni páginas especiales\";'),('es','messages:statistics-views-peredit','s:20:\"Visitas por edición\";'),('es','messages:statistics-users','s:42:\"[[Special:ListUsers|Usuarios]] registrados\";'),('es','messages:statistics-users-active','s:16:\"Usuarios activos\";'),('es','messages:statistics-users-active-desc','s:93:\"Usuarios que han ejecutado una acción en {{PLURAL:$1|el último día|los últimos $1 días}}\";'),('es','messages:statistics-mostpopular','s:20:\"Páginas más vistas\";'),('es','messages:disambiguations','s:52:\"Páginas que enlazan con páginas de desambiguación\";'),('es','messages:disambiguationspage','s:24:\"Template:Desambiguación\";'),('es','messages:disambiguations-text','s:276:\"Las siguientes páginas enlazan con una \'\'\'página de desambiguación\'\'\'.\nEn lugar de ello deberían enlazar con  el tema apropiado.<br />\nUna página es considerada página de desambiguación si utiliza la plantilla que está enlazada desde [[MediaWiki:Disambiguationspage]].\";'),('es','messages:doubleredirects','s:20:\"Redirecciones dobles\";'),('es','messages:doubleredirectstext','s:371:\"Esta página contiene una lista de páginas que redirigen a otras páginas de redirección.\nCada fila contiene enlaces a la segunda y tercera redirección, así como la primera línea de la segunda redirección, en la que usualmente se encontrará el artículo «real» al que la primera redirección debería apuntar.\nLas entradas <del>tachadas</del> han sido resueltas.\";'),('es','messages:double-redirect-fixed-move','s:61:\"[[$1]] ha sido trasladado, ahora es una redirección a [[$2]]\";'),('es','messages:double-redirect-fixed-maintenance','s:56:\"Corrigiendo la doble redirección desde [[$1]] a [[$2]].\";'),('es','messages:double-redirect-fixer','s:26:\"Corrector de redirecciones\";'),('es','messages:brokenredirects','s:25:\"Redirecciones incorrectas\";'),('es','messages:brokenredirectstext','s:63:\"Las siguientes redirecciones enlazan a páginas que no existen:\";'),('es','messages:brokenredirects-edit','s:6:\"editar\";'),('es','messages:brokenredirects-delete','s:6:\"borrar\";'),('es','messages:withoutinterwiki','s:23:\"Páginas sin interwikis\";'),('es','messages:withoutinterwiki-summary','s:64:\"Las siguientes páginas no enlazan a versiones en otros idiomas:\";'),('es','messages:withoutinterwiki-legend','s:7:\"Prefijo\";'),('es','messages:withoutinterwiki-submit','s:7:\"Mostrar\";'),('es','messages:fewestrevisions','s:30:\"Artículos con menos ediciones\";'),('es','messages:nbytes','s:27:\"$1 {{PLURAL:$1|byte|bytes}}\";'),('es','messages:ncategories','s:39:\"$1 {{PLURAL:$1|categoría|categorías}}\";'),('es','messages:nlinks','s:31:\"$1 {{PLURAL:$1|enlace|enlaces}}\";'),('es','messages:nmembers','s:37:\"$1 {{PLURAL:$1|artículo|artículos}}\";'),('es','messages:nrevisions','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:nviews','s:29:\"$1 {{PLURAL:$1|vista|vistas}}\";'),('es','messages:nimagelinks','s:46:\"Usado en {{PLURAL:$1|una página|$1 páginas}}\";'),('es','messages:ntransclusions','s:46:\"usado en {{PLURAL:$1|una página|$1 páginas}}\";'),('es','messages:specialpage-empty','s:26:\"Esta página está vacía.\";'),('es','messages:lonelypages','s:19:\"Páginas huérfanas\";'),('es','messages:lonelypagestext','s:95:\"Las siguientes páginas no están enlazadas ni transcluídas en otras páginas de {{SITENAME}}.\";'),('es','messages:uncategorizedpages','s:24:\"Páginas sin categorizar\";'),('es','messages:uncategorizedcategories','s:27:\"Categorías sin categorizar\";'),('es','messages:uncategorizedimages','s:25:\"Imágenes sin categorizar\";'),('es','messages:uncategorizedtemplates','s:26:\"Plantillas sin categorizar\";'),('es','messages:unusedcategories','s:19:\"Categorías sin uso\";'),('es','messages:unusedimages','s:17:\"Imágenes sin uso\";'),('es','messages:popularpages','s:18:\"Páginas populares\";'),('es','messages:wantedcategories','s:22:\"Categorías requeridas\";'),('es','messages:wantedpages','s:19:\"Páginas requeridas\";'),('es','messages:wantedpages-badtitle','s:47:\"Título inválido en conjunto de resultados: $1\";'),('es','messages:wantedfiles','s:19:\"Ficheros requeridos\";'),('es','messages:wantedtemplates','s:21:\"Plantillas requeridas\";'),('es','messages:mostlinked','s:25:\"Artículos más enlazados\";'),('es','messages:mostlinkedcategories','s:26:\"Categorías más enlazadas\";'),('es','messages:mostlinkedtemplates','s:25:\"Plantillas más enlazadas\";'),('es','messages:mostcategories','s:29:\"Páginas con más categorías\";'),('es','messages:mostimages','s:21:\"Imágenes más usadas\";'),('es','messages:mostrevisions','s:29:\"Artículos con más ediciones\";'),('es','messages:prefixindex','s:30:\"Todas las páginas con prefijo\";'),('es','messages:shortpages','s:15:\"Páginas cortas\";'),('es','messages:longpages','s:15:\"Páginas largas\";'),('es','messages:deadendpages','s:19:\"Páginas sin salida\";'),('es','messages:deadendpagestext','s:68:\"Las siguientes páginas no enlazan a otras páginas de {{SITENAME}}.\";'),('es','messages:protectedpages','s:19:\"Páginas protegidas\";'),('es','messages:protectedpages-indef','s:30:\"Sólo protecciones indefinidas\";'),('es','messages:protectedpages-cascade','s:29:\"Sólo protecciones en cascada\";'),('es','messages:protectedpagestext','s:69:\"Las siguientes páginas están protegidas para su edición o traslado\";'),('es','messages:protectedpagesempty','s:66:\"Actualmente no hay ninguna página protegida con esos parámetros.\";'),('es','messages:protectedtitles','s:19:\"Títulos protegidos\";'),('es','messages:protectedtitlestext','s:72:\"Los siguientes títulos están protegidos, por lo que no se pueden crear\";'),('es','messages:protectedtitlesempty','s:64:\"Actualmente no existen entradas protegidas con esos parámetros.\";'),('es','messages:listusers','s:17:\"Lista de usuarios\";'),('es','messages:listusers-editsonly','s:36:\"Muestra sólo usuarios con ediciones\";'),('es','messages:listusers-creationsort','s:31:\"Ordenado por fecha de creación\";'),('es','messages:usereditcount','s:35:\"$1 {{PLURAL:$1|edición|ediciones}}\";'),('es','messages:usercreated','s:18:\"Creado el $1 en $2\";'),('es','messages:newpages','s:15:\"Páginas nuevas\";'),('es','messages:newpages-username','s:17:\"Nombre de usuario\";'),('es','messages:ancientpages','s:24:\"Artículos más antiguos\";'),('es','messages:move','s:9:\"Trasladar\";'),('es','messages:movethispage','s:22:\"Trasladar esta página\";'),('es','messages:unusedimagestext','s:232:\"Los siguientes archivos existen pero no están insertados en ninguna página.\nPor favor note que otros sitios web pueden vincular a un archivo con un URL directo, y por tanto pueden ser listados aquí a pesar de estar en uso activo.\";'),('es','messages:unusedcategoriestext','s:93:\"Las siguientes categorías han sido creadas, pero ningún artículo o categoría las utiliza.\";'),('es','messages:notargettitle','s:23:\"No hay página objetivo\";'),('es','messages:notargettext','s:64:\"Especifique sobre qué página desea llevar a cabo esta acción.\";'),('es','messages:nopagetitle','s:28:\"No existe la página destino\";'),('es','messages:nopagetext','s:49:\"La página destino que ha especificado no existe.\";'),('es','messages:pager-newer-n','s:39:\"{{PLURAL:$1|1 siguiente|$1 siguientes}}\";'),('es','messages:pager-older-n','s:38:\"{{PLURAL:$1|1 anterior|$1 anteriores}}\";'),('es','messages:suppress','s:21:\"Supresor de ediciones\";'),('es','messages:querypage-disabled','s:69:\"Esta página especial está deshabilitada por motivos de rendimiento.\";'),('es','messages:booksources','s:17:\"Fuentes de libros\";'),('es','messages:booksources-search-legend','s:24:\"Buscar fuentes de libros\";'),('es','messages:booksources-go','s:2:\"Ir\";'),('es','messages:booksources-text','s:156:\"Abajo hay una lista de enlaces a otros sitios que venden libros nuevos y usados, puede que contengan más información sobre los libros que estás buscando.\";'),('es','messages:booksources-invalid-isbn','s:98:\"El número de ISBN no parece ser válido; comprueba los errores copiándolo de la fuente original.\";'),('es','messages:specialloguserlabel','s:8:\"Usuario:\";'),('es','messages:speciallogtitlelabel','s:8:\"Título:\";'),('es','messages:log','s:9:\"Registros\";'),('es','messages:all-logs-page','s:29:\"Todos los registros públicos\";'),('es','messages:alllogstext','s:201:\"Vista combinada de todos los registros de {{SITENAME}}.\nPuedes filtrar la vista seleccionando un tipo de registro, el nombre del usuario o la página afectada. Se distinguen mayúsculas de minúsculas.\";'),('es','messages:logempty','s:53:\"No hay elementos en el registro con esas condiciones.\";'),('es','messages:log-title-wildcard','s:43:\"Buscar títulos que empiecen con este texto\";'),('es','messages:allpages','s:18:\"Todas las páginas\";'),('es','messages:alphaindexline','s:7:\"$1 a $2\";'),('es','messages:nextpage','s:22:\"Siguiente página ($1)\";'),('es','messages:prevpage','s:21:\"Página anterior ($1)\";'),('es','messages:allpagesfrom','s:34:\"Mostrar páginas que empiecen por:\";'),('es','messages:allpagesto','s:32:\"Mostrar páginas terminadas con:\";'),('es','messages:allarticles','s:20:\"Todos los artículos\";'),('es','messages:allinnamespace','s:31:\"Todas las páginas (espacio $1)\";'),('es','messages:allnotinnamespace','s:60:\"Todas las páginas que no están en el espacio de nombres $1\";'),('es','messages:allpagesprev','s:8:\"Anterior\";'),('es','messages:allpagesnext','s:9:\"Siguiente\";'),('es','messages:allpagessubmit','s:7:\"Mostrar\";'),('es','messages:allpagesprefix','s:32:\"Mostrar páginas con el prefijo:\";'),('es','messages:allpagesbadtitle','s:158:\"El título dado era inválido o tenía un prefijo de enlace inter-idioma o inter-wiki. Puede contener uno o más caracteres que no se pueden usar en títulos.\";'),('es','messages:allpages-bad-ns','s:59:\"{{SITENAME}} no tiene un espacio de nombres llamado «$1».\";'),('es','messages:categories','s:11:\"Categorías\";'),('es','messages:categoriespagetext','s:237:\"Las siguientes {{PLURAL:$1|categoría contiene|categorías contienen}} páginas o medios.\nNo se muestran aquí las [[Special:UnusedCategories|categorías sin uso]].\nVéase también las [[Special:WantedCategories|categorías requeridas]].\";'),('es','messages:categoriesfrom','s:37:\"Mostrar categorías que empiecen por:\";'),('es','messages:special-categories-sort-count','s:18:\"ordenar por conteo\";'),('es','messages:special-categories-sort-abc','s:24:\"ordenar alfabéticamente\";'),('es','messages:deletedcontributions','s:34:\"Contribuciones borradas de usuario\";'),('es','messages:deletedcontributions-title','s:34:\"Contribuciones borradas de usuario\";'),('es','messages:sp-deletedcontributions-contribs','s:14:\"contribuciones\";'),('es','messages:linksearch','s:16:\"Enlaces externos\";'),('es','messages:linksearch-pat','s:21:\"Patrón de búsqueda:\";'),('es','messages:linksearch-ns','s:18:\"Espacio de nombre:\";'),('es','messages:linksearch-ok','s:6:\"Buscar\";'),('es','messages:linksearch-text','s:215:\"Se pueden usar caracteres comodín como \"*.wikipedia.org\".\nEs necesario, por lo menos, un dominio de nivel, por ejemplo \"*.org\".<br />\nProtocolos soportados: <tt>$1</tt> (no añada ninguno de estos en su búsqueda).\";'),('es','messages:linksearch-line','s:20:\"$1 enlazado desde $2\";'),('es','messages:linksearch-error','s:69:\"Los comodines sólo pueden aparecer al principio del nombre de sitio.\";'),('es','messages:listusersfrom','s:34:\"Mostrar usuarios que empiecen por:\";'),('es','messages:listusers-submit','s:7:\"Mostrar\";'),('es','messages:listusers-noresult','s:27:\"No se encontró al usuario.\";'),('es','messages:listusers-blocked','s:35:\"({{GENDER:$1|bloqueado|bloqueada}})\";'),('es','messages:activeusers','s:25:\"Lista de usuarios activos\";'),('es','messages:activeusers-intro','s:106:\"Esta es una lista de usuarios que han tenido alguna actividad en los últimos $1 {{PLURAL:$1|día|días}}.\";'),('es','messages:activeusers-count','s:79:\"$1 {{PLURAL:$1|edición|ediciones}} en los últimos {{PLURAL:$3|día|$3 días}}\";'),('es','messages:activeusers-from','s:39:\"Mostrando a los usuarios empezando por:\";'),('es','messages:activeusers-hidebots','s:14:\"Ocultar robots\";'),('es','messages:activeusers-hidesysops','s:23:\"Ocultar administradores\";'),('es','messages:activeusers-noresult','s:27:\"No se encontraron usuarios.\";'),('es','messages:newuserlogpage','s:33:\"Registro de creación de usuarios\";'),('es','messages:newuserlogpagetext','s:45:\"Este es un registro de creación de usuarios.\";'),('es','messages:newuserlog-byemail','s:43:\"contraseña enviada por correo electrónico\";'),('es','messages:newuserlog-create-entry','s:13:\"Usuario nuevo\";'),('es','messages:newuserlog-create2-entry','s:22:\"Nueva cuenta creada $1\";'),('es','messages:newuserlog-autocreate-entry','s:30:\"Cuenta creada automáticamente\";'),('es','messages:listgrouprights','s:30:\"Permisos del grupo de usuarios\";'),('es','messages:listgrouprights-summary','s:227:\"La siguiente es una lista de los grupos de usuario definidos en esta wiki y de sus privilegios de acceso asociados.\nPuede haber información adicional sobre privilegios individuales en [[{{MediaWiki:Listgrouprights-helppage}}]]\";'),('es','messages:listgrouprights-key','s:128:\"* <span class=\"listgrouprights-granted\">Derecho concedido</span>\n* <span class=\"listgrouprights-revoked\">Derecho revocado</span>\";'),('es','messages:listgrouprights-group','s:5:\"Grupo\";'),('es','messages:listgrouprights-rights','s:8:\"Derechos\";'),('es','messages:listgrouprights-helppage','s:23:\"Help:Derechos de grupos\";'),('es','messages:listgrouprights-members','s:32:\"(ver los miembros de este grupo)\";'),('es','messages:listgrouprights-addgroup','s:38:\"Agregar {{PLURAL:$2|grupo|grupos}}: $1\";'),('es','messages:listgrouprights-removegroup','s:39:\"Eliminar {{PLURAL:$2|grupo|grupos}}: $1\";'),('es','messages:listgrouprights-addgroup-all','s:24:\"Agregar todos los grupos\";'),('es','messages:listgrouprights-removegroup-all','s:25:\"Eliminar todos los grupos\";'),('es','messages:listgrouprights-addgroup-self','s:57:\"Agregar {{PLURAL:$2|grupo|grupos}} a tu propia cuenta: $1\";'),('es','messages:listgrouprights-removegroup-self','s:59:\"Eliminar {{PLURAL:$2|grupo|grupos}} de tu propia cuenta: $1\";'),('es','messages:listgrouprights-addgroup-self-all','s:43:\"Agregar todos los grupos a tu propia cuenta\";'),('es','messages:listgrouprights-removegroup-self-all','s:45:\"Eliminar todos los grupos de tu propia cuenta\";'),('es','messages:mailnologin','s:27:\"Ninguna dirección de envio\";'),('es','messages:mailnologintext','s:184:\"Debes [[Special:UserLogin|iniciar sesión]] y tener una dirección electrónica válida en tus [[Special:Preferences|preferencias]] para enviar un correo electrónico a otros usuarios.\";'),('es','messages:emailuser','s:41:\"Enviar correo electrónico a este usuario\";'),('es','messages:emailpage','s:29:\"Correo electrónico a usuario\";'),('es','messages:emailpagetext','s:252:\"Puedes usar el formulario de abajo para enviar un correo electrónico a este usuario.\nLa dirección electrónica que indicaste en [[Special:Preferences|tus preferencias de usuario]] aparecerá en el remitente para que el destinatario pueda responderte.\";'),('es','messages:usermailererror','s:40:\"El sistema de correo devolvió un error:\";'),('es','messages:defemailsubject','s:22:\"Correo de {{SITENAME}}\";'),('es','messages:usermaildisabled','s:45:\"Correo electrónico del usuario deshabilitado\";'),('es','messages:usermaildisabledtext','s:68:\"No puedes enviar correos electrónicos a otros usuarios en esta wiki\";'),('es','messages:noemailtitle','s:40:\"No hay dirección de correo electrónico\";'),('es','messages:noemailtext','s:78:\"Este usuario no ha especificado una dirección de correo electrónico válida.\";'),('es','messages:nowikiemailtitle','s:35:\"correos electrónicos no permitidos\";'),('es','messages:nowikiemailtext','s:75:\"Este usuario ha elegido no recibir correos electrónicos de otros usuarios.\";'),('es','messages:emailnotarget','s:65:\"Nombre de usuario no existente o no válido para el destinatario.\";'),('es','messages:emailtarget','s:47:\"Introduce el nombre de usuario del destinatario\";'),('es','messages:emailusername','s:18:\"Nombre de usuario:\";'),('es','messages:emailusernamesubmit','s:6:\"Enviar\";'),('es','messages:email-legend','s:60:\"Enviar un correo electrónico a otro usuario de {{SITENAME}}\";'),('es','messages:emailfrom','s:3:\"De:\";'),('es','messages:emailto','s:5:\"Para:\";'),('es','messages:emailsubject','s:7:\"Asunto:\";'),('es','messages:emailmessage','s:8:\"Mensaje:\";'),('es','messages:emailsend','s:6:\"Enviar\";'),('es','messages:emailccme','s:33:\"Enviarme una copia de mi mensaje.\";'),('es','messages:emailccsubject','s:28:\"Copia de tu mensaje a $1: $2\";'),('es','messages:emailsent','s:27:\"Correo electrónico enviado\";'),('es','messages:emailsenttext','s:48:\"Se ha enviado tu mensaje de correo electrónico.\";'),('es','messages:emailuserfooter','s:136:\"Este correo electrónico fue enviado por $1 a $2 a través de la función «Enviar correo electrónico a este usuario» en {{SITENAME}}.\";'),('es','messages:usermessage-summary','s:30:\"Dejando un mensaje de sistema.\";'),('es','messages:usermessage-editor','s:21:\"Mensajero del sistema\";'),('es','messages:watchlist','s:20:\"Lista de seguimiento\";'),('es','messages:mywatchlist','s:20:\"Lista de seguimiento\";'),('es','messages:watchlistfor2','s:10:\"Para $1 $2\";'),('es','messages:nowatchlist','s:53:\"No tienes ninguna página en tu lista de seguimiento.\";'),('es','messages:watchlistanontext','s:74:\"Para ver o editar las entradas de tu lista de seguimiento es necesario $1.\";'),('es','messages:watchnologin','s:23:\"No has iniciado sesión\";'),('es','messages:watchnologintext','s:83:\"Debes [[Special:UserLogin|iniciar sesión]] para modificar tu lista de seguimiento.\";'),('es','messages:addwatch','s:33:\"Añadir a la lista de seguimiento\";'),('es','messages:addedwatchtext','s:322:\"La página «[[:$1]]» ha sido añadida a tu [[Special:Watchlist|lista de seguimiento]]. Los cambios futuros en esta página y en su página de discusión asociada se indicarán ahí, y la página aparecerá \'\'\'en negritas\'\'\' en la [[Special:RecentChanges|lista de cambios recientes]] para hacerla más fácil de detectar.\";'),('es','messages:removewatch','s:33:\"Quitar de la lista de seguimiento\";'),('es','messages:removedwatchtext','s:90:\"La página «[[:$1]]» ha sido eliminada de tu [[Special:Watchlist|lista de seguimiento]].\";'),('es','messages:watch','s:7:\"Vigilar\";'),('es','messages:watchthispage','s:20:\"Vigilar esta página\";'),('es','messages:unwatch','s:16:\"Dejar de vigilar\";'),('es','messages:unwatchthispage','s:16:\"Dejar de vigilar\";'),('es','messages:notanarticle','s:18:\"No es un artículo\";'),('es','messages:notvisiblerev','s:60:\"La última revisión de un usuario diferente ha sido borrada\";'),('es','messages:watchnochange','s:98:\"Ninguno de los artículos de tu lista de seguimiento fue editado en el periodo de tiempo mostrado.\";'),('es','messages:watchlist-details','s:94:\"{{PLURAL:$1|$1 página|$1 páginas}} en su lista de seguimiento, sin contar las de discusión.\";'),('es','messages:wlheader-enotif','s:58:\"* La notificación por correo electrónico está activada.\";'),('es','messages:wlheader-showupdated','s:76:\"* Las páginas modificadas desde su última visita aparecen en \'\'\'negrita\'\'\'\";'),('es','messages:watchmethod-recent','s:49:\"revisando cambios recientes en páginas vigiladas\";'),('es','messages:watchmethod-list','s:62:\"revisando las páginas vigiladas en busca de cambios recientes\";'),('es','messages:watchlistcontains','s:64:\"Tu lista de seguimiento posee $1 {{PLURAL:$1|página|páginas}}.\";'),('es','messages:iteminvalidname','s:51:\"Problema con el artículo \'$1\', nombre inválido...\";'),('es','messages:wlnote','s:162:\"A continuación {{PLURAL:$1|se muestra el último cambio|se muestran los últimos \'\'\'$1\'\'\' cambios}} en {{PLURAL:$2|la última hora|las últimas \'\'\'$2\'\'\' horas}}.\";'),('es','messages:wlshowlast','s:54:\"Ver los cambios de las últimas $1 horas, $2 días  $3\";'),('es','messages:watchlist-options','s:35:\"Opciones de la lista de seguimiento\";'),('es','messages:watching','s:12:\"Vigilando...\";'),('es','messages:unwatching','s:40:\"Eliminando de la lista de seguimiento...\";'),('es','messages:watcherrortext','s:86:\"Ocurrió un error al cambiar la configuración de tu lista de seguimiento para «$1».\";'),('es','messages:enotif_mailer','s:40:\"Notificación por correo de {{SITENAME}}\";'),('es','messages:enotif_reset','s:35:\"Marcar todas las páginas visitadas\";'),('es','messages:enotif_newpagetext','s:30:\"Se trata de una nueva página.\";'),('es','messages:enotif_impersonal_salutation','s:23:\"usuario de {{SITENAME}}\";'),('es','messages:changed','s:10:\"modificada\";'),('es','messages:created','s:6:\"creada\";'),('es','messages:enotif_subject','s:79:\"La página $PAGETITLE de {{SITENAME}} ha sido $CHANGEDORCREATED por $PAGEEDITOR\";'),('es','messages:enotif_lastvisited','s:74:\"Consulta $1 para ver todos los cambios realizados desde tu última visita.\";'),('es','messages:enotif_lastdiff','s:33:\"Consulta $1 para ver este cambio.\";'),('es','messages:enotif_anon_editor','s:19:\"usuario anónimo $1\";'),('es','messages:enotif_body','s:882:\"Estimado/a $WATCHINGUSERNAME,\n\nLa página de {{SITENAME}} $PAGETITLE ha sido $CHANGEDORCREATED el $PAGEEDITDATE por el usuario $PAGEEDITOR.\nLa versión actual se encuentra en $PAGETITLE_URL\n\n$NEWPAGE\n\nEl resumen de edición es: $PAGESUMMARY $PAGEMINOREDIT\n\nContacta al editor:\nCorreo electrónico: $PAGEEDITOR_EMAIL\nWiki: $PAGEEDITOR_WIKI\n\nNo habrá otras notificaciones en caso de cambios adicionales, a menos que visites esta página nuevamente.\nTambién puedes reestablecer las notificaciones para todas tus páginas vigiladas en tu página de vigilancia.\n\n             El sistema de notificación de {{SITENAME}}.\n\n--\nPara cambiar las opciones de tu lista de seguimiento, visita:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nPara borrar la página de tu lista de seguimiento visita:\n$UNWATCHURL\n\nRetroalimentación y asistencia adicional:\n{{canonicalurl:{{MediaWiki:Helppage}}}}\";'),('es','messages:deletepage','s:19:\"Borrar esta página\";'),('es','messages:confirm','s:9:\"Confirmar\";'),('es','messages:excontent','s:24:\"el contenido era: «$1»\";'),('es','messages:excontentauthor','s:84:\"el contenido era: «$1» (y el único autor fue «[[Special:Contributions/$2|$2]]»)\";'),('es','messages:exbeforeblank','s:43:\"El contenido antes de blanquear era: «$1»\";'),('es','messages:exblank','s:24:\"la página estaba vacía\";'),('es','messages:delete-confirm','s:13:\"Borrar «$1»\";'),('es','messages:delete-legend','s:6:\"Borrar\";'),('es','messages:historywarning','s:129:\"\'\'\'Aviso:\'\'\' La página que estás a punto de borrar tiene un historial de aproximadamente $1 {{PLURAL:$1|revisión|revisiones}}:\";'),('es','messages:confirmdeletetext','s:257:\"Estás a punto de borrar una página en forma permanente, así como todo su historial.\nPor favor, confirma que realmente quieres hacer eso, que entiendes las\nconsecuencias, y que lo estás haciendo de acuerdo con [[{{MediaWiki:Policy-url}}|las políticas]].\";'),('es','messages:actioncomplete','s:18:\"Acción completada\";'),('es','messages:actionfailed','s:15:\"Acción fallida\";'),('es','messages:deletedtext','s:77:\"«$1» ha sido borrado.\nVéase $2 para un registro de los borrados recientes.\";'),('es','messages:deletedarticle','s:17:\"borró «[[$1]]»\";'),('es','messages:suppressedarticle','s:20:\"suprimió «[[$1]]»\";'),('es','messages:dellogpage','s:20:\"Registro de borrados\";'),('es','messages:dellogpagetext','s:68:\"A continuación se muestra una lista de los borrados más recientes.\";'),('es','messages:deletionlog','s:20:\"registro de borrados\";'),('es','messages:reverted','s:34:\"Revertido a una revisión anterior\";'),('es','messages:deletecomment','s:7:\"Motivo:\";'),('es','messages:deleteotherreason','s:12:\"Otro motivo:\";'),('es','messages:deletereasonotherlist','s:11:\"Otro motivo\";'),('es','messages:deletereason-dropdown','s:99:\"*Razones comunes de borrado\n** A petición del mismo autor\n** Violación de copyright\n** Vandalismo\";'),('es','messages:delete-edit-reasonlist','s:25:\"Editar razones de borrado\";'),('es','messages:delete-toobig','s:193:\"Esta página tiene un historial muy grande, con más de $1 {{PLURAL:$1|revisión|revisiones}}. Borrar este tipo de páginas ha sido restringido para prevenir posibles problemas en {{SITENAME}}.\";'),('es','messages:delete-warning-toobig','s:184:\"Esta página tiene un historial de más de $1 {{PLURAL:$1|revisión|revisiones}}. Eliminarla puede perturbar las operaciones de la base de datos de {{SITENAME}}. Ten cuidado al borrar.\";'),('es','messages:rollback','s:18:\"Revertir ediciones\";'),('es','messages:rollback_short','s:8:\"Revertir\";'),('es','messages:rollbacklink','s:8:\"revertir\";'),('es','messages:rollbackfailed','s:19:\"No se pudo revertir\";'),('es','messages:cantrollback','s:92:\"No se puede revertir la edición;\nel último colaborador es el único autor de esta página.\";'),('es','messages:alreadyrolled','s:382:\"No se puede revertir la última edición de [[:$1]] hecha por [[User:$2|$2]] ([[User talk:$2|discusión]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nalguien más ya ha editado o revertido esa página.\n\nLa última edición fue hecha por [[User:$3|$3]] ([[User talk:$3|discusión]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).\";'),('es','messages:editcomment','s:42:\"El resumen de la edición fue: \'\'«$1»\'\'.\";'),('es','messages:revertpage','s:122:\"Revertidos los cambios de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc.]]) a la última edición de [[User:$1|$1]]\";'),('es','messages:revertpage-nouser','s:109:\"Revertidas ediciones hechas por (nombre de usuario eliminado) a la última revisión hecha por [[User:$1|$1]]\";'),('es','messages:rollback-success','s:69:\"Revertidas las ediciones de $1; recuperada la última versión de $2.\";'),('es','messages:sessionfailure-title','s:16:\"Error de sesión\";'),('es','messages:sessionfailure','s:219:\"Parece que hay un problema con tu sesión;\nesta acción ha sido cancelada como medida de precaución contra secuestros de sesión.\nPor favor, pulsa «Atrás», recarga la página de la que viniste e inténtalo de nuevo.\";'),('es','messages:protectlogpage','s:23:\"Registro de protección\";'),('es','messages:protectlogtext','s:184:\"Abajo se presenta una lista de protección y desprotección de página.\nVéase [[Special:ProtectedPages|la lista de páginas protegidas]] para ver las protecciones activas en páginas.\";'),('es','messages:protectedarticle','s:20:\"protegió «[[$1]]»\";'),('es','messages:modifiedarticleprotection','s:45:\"cambió el nivel de protección de «[[$1]]»\";'),('es','messages:unprotectedarticle','s:23:\"desprotegió «[[$1]]»\";'),('es','messages:movedarticleprotection','s:49:\"cambiadas protecciones de «[[$2]]» a «[[$1]]»\";'),('es','messages:protect-title','s:43:\"Cambiando el nivel de protección de «$1»\";'),('es','messages:prot_1movedto2','s:53:\"heredando la protección al trasladar [[$1]] a [[$2]]\";'),('es','messages:protect-legend','s:21:\"Confirmar protección\";'),('es','messages:protectcomment','s:7:\"Motivo:\";'),('es','messages:protectexpiry','s:10:\"Caducidad:\";'),('es','messages:protect_expiry_invalid','s:31:\"Tiempo de caducidad incorrecto.\";'),('es','messages:protect_expiry_old','s:44:\"El tiempo de expiración está en el pasado.\";'),('es','messages:protect-unchain-permissions','s:47:\"Desbloquear opciones de protección adicionales\";'),('es','messages:protect-text','s:70:\"Puedes ver y modificar el nivel de protección de la página \'\'\'$1\'\'\'.\";'),('es','messages:protect-locked-blocked','s:136:\"No puede cambiar los niveles de protección estando bloqueado. A continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-locked-dblock','s:169:\"Los niveles de protección no se pueden cambiar debido a un bloqueo activo de la base de datos.\nA continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-locked-access','s:156:\"Su cuenta no tiene permiso para cambiar los niveles de protección de una página.\nA continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-cascadeon','s:286:\"Actualmente esta página está protegida porque está incluida en {{PLURAL:$1|la siguiente página|las siguientes páginas}}, que tienen activada la opción de protección en cascada. Puedes cambiar el nivel de protección de esta página, pero no afectará a la protección en cascada.\";'),('es','messages:protect-default','s:27:\"Permitir todos los usuarios\";'),('es','messages:protect-fallback','s:26:\"Necesita el permiso «$1»\";'),('es','messages:protect-level-autoconfirmed','s:41:\"Bloquear usuarios nuevos y no registrados\";'),('es','messages:protect-level-sysop','s:20:\"Solo administradores\";'),('es','messages:protect-summary-cascade','s:10:\"en cascada\";'),('es','messages:protect-expiring','s:18:\"caduca el $1 (UTC)\";'),('es','messages:protect-expiry-indefinite','s:10:\"indefinido\";'),('es','messages:protect-cascade','s:72:\"Protección en cascada - proteger todas las páginas incluidas en ésta.\";'),('es','messages:protect-cantedit','s:88:\"No puedes cambiar el nivel de protección porque no tienes permiso para hacer ediciones.\";'),('es','messages:protect-othertime','s:22:\"Especificar caducidad:\";'),('es','messages:protect-othertime-op','s:18:\"otra (especificar)\";'),('es','messages:protect-existing-expiry','s:38:\"Fecha de caducidad actual: $2 a las $3\";'),('es','messages:protect-otherreason','s:12:\"Otra razón:\";'),('es','messages:protect-otherreason-op','s:11:\"Otra razón\";'),('es','messages:protect-dropdown','s:117:\"*Razones de protección habituales\n**Vandalismo excesivo\n**Spam excesivo\n**Guerra de ediciones\n**Página muy visitada\";'),('es','messages:protect-edit-reasonlist','s:33:\"Editar las razones de protección\";'),('es','messages:protect-expiry-options','s:144:\"1 hora:1 hour,1 día:1 day,1 semana:1 week,2 semanas:2 weeks,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year,para siempre:infinite\";'),('es','messages:restriction-type','s:8:\"Permiso:\";'),('es','messages:restriction-level','s:22:\"Nivel de restricción:\";'),('es','messages:minimum-size','s:15:\"Tamaño mínimo\";'),('es','messages:maximum-size','s:16:\"Tamaño máximo:\";'),('es','messages:pagesize','s:7:\"(bytes)\";'),('es','messages:restriction-edit','s:6:\"Editar\";'),('es','messages:restriction-move','s:16:\"Pueden trasladar\";'),('es','messages:restriction-create','s:5:\"Crear\";'),('es','messages:restriction-upload','s:5:\"Subir\";'),('es','messages:restriction-level-sysop','s:23:\"completamente protegida\";'),('es','messages:restriction-level-autoconfirmed','s:13:\"semiprotegida\";'),('es','messages:restriction-level-all','s:15:\"cualquier nivel\";'),('es','messages:undelete','s:29:\"Restaurar una página borrada\";'),('es','messages:undeletepage','s:33:\"Ver y restaurar páginas borradas\";'),('es','messages:undeletepagetitle','s:63:\"\'\'\'Las siguientes son las revisiones borradas de [[:$1|$1]]\'\'\'.\";'),('es','messages:viewdeletedpage','s:21:\"Ver páginas borradas\";'),('es','messages:undeletepagetext','s:254:\"{{PLURAL:$1|La siguiente página ha sido borrada pero aún está en el archivo y puede ser restaurada.|Las siguientes $1 páginas han sido borradas pero aún están en el archivo y pueden ser restauradas.}}\nPuede que el archivo se limpie periódicamente.\";'),('es','messages:undelete-fieldset-title','s:20:\"Restaurar revisiones\";'),('es','messages:undeleteextrahelp','s:247:\"Para restaurar todo el historial de la página, deja todas las casillas sin seleccionar y pulsa \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'. Para realizar una restauración selectiva, marca las revisiones a ser restauradas y pulsa \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\";'),('es','messages:undeleterevisions','s:48:\"$1 {{PLURAL:$1|revisión|revisiones}} archivadas\";'),('es','messages:undeletehistory','s:311:\"Si restauras una página, todas sus revisiones serán restauradas al historial.\nSi una nueva página con el mismo nombre ha sido creada desde que se borró la original, las versiones restauradas aparecerán como historial anterior, y la revisión actual de la página actual no se reemplazará automáticamente.\";'),('es','messages:undeleterevdel','s:250:\"No se deshará el borrado si éste resulta en el borrado parcial de la última revisión de la página. En tal caso, desmarque o muestre las revisiones borradas más recientes. Las revisiones de archivos que no tiene permitido ver no se restaurarán.\";'),('es','messages:undeletehistorynoadmin','s:259:\"El artículo ha sido borrado. La razón de su eliminación se indica abajo en el resumen, así como los detalles de las ediciones realizadas antes del borrado. El texto completo del artículo está disponible sólo para usuarios con permisos de administrador.\";'),('es','messages:undelete-revision','s:49:\"Edición borrada de $1 (fechada $4, a $5) por $3:\";'),('es','messages:undeleterevision-missing','s:136:\"Revisión no válida o perdida. Puede deberse a un enlace incorrecto,\no a que la revisión haya sido restaurada o eliminada del archivo.\";'),('es','messages:undelete-nodiff','s:31:\"No existe una revisión previa.\";'),('es','messages:undeletebtn','s:9:\"Restaurar\";'),('es','messages:undeletelink','s:13:\"ver/restaurar\";'),('es','messages:undeleteviewlink','s:3:\"ver\";'),('es','messages:undeletereset','s:8:\"Cancelar\";'),('es','messages:undeleteinvert','s:19:\"Invertir selección\";'),('es','messages:undeletecomment','s:7:\"Razón:\";'),('es','messages:undeletedarticle','s:20:\"restauró «[[$1]]»\";'),('es','messages:undeletedrevisions','s:62:\"{{PLURAL:$1|Una edición restaurada|$1 ediciones restauradas}}\";'),('es','messages:undeletedrevisions-files','s:98:\"$1 {{PLURAL:$1|ediciones restauradas y $2 archivo restaurado|ediciones y $2 archivos restaurados}}\";'),('es','messages:undeletedfiles','s:56:\"$1 {{PLURAL:$1|archivo restaurado|archivos restaurados}}\";'),('es','messages:cannotundelete','s:86:\"Ha fallado el deshacer el borrado;\nalguien más puede haber deshecho el borrado antes.\";'),('es','messages:undeletedpage','s:144:\"\'\'\'Se ha restaurado $1\'\'\'\n\nConsulta el [[Special:Log/delete|registro de borrados]] para ver una lista de los últimos borrados y restauraciones.\";'),('es','messages:undelete-header','s:84:\"En el [[Special:Log/delete|registro de borrados]] se listan las páginas eliminadas.\";'),('es','messages:undelete-search-box','s:24:\"Buscar páginas borradas\";'),('es','messages:undelete-search-prefix','s:34:\"Mostrar páginas que empiecen por:\";'),('es','messages:undelete-search-submit','s:6:\"Buscar\";'),('es','messages:undelete-no-results','s:67:\"No se encontraron páginas borradas para ese criterio de búsqueda.\";'),('es','messages:undelete-filename-mismatch','s:91:\"No se puede restaurar la versión con marca de tiempo $1: No concuerda el nombre de fichero\";'),('es','messages:undelete-bad-store-key','s:99:\"No se puede restaurar la versión con marca de tiempo $1: el fichero fue omitido antes del borrado.\";'),('es','messages:undelete-cleanup-error','s:45:\"Error al borrar el archivo no utilizado \"$1\".\";'),('es','messages:undelete-missing-filearchive','s:123:\"No se ha podido restaurar el archivo de ID $1 debido a que no está en la base de datos.\nPuede que ya haya sido restaurado.\";'),('es','messages:undelete-error-short','s:29:\"Error restaurando archivo: $1\";'),('es','messages:undelete-error-long','s:61:\"Se encontraron errores mientras se restauraba el archivo:\n\n$1\";'),('es','messages:undelete-show-file-confirm','s:106:\"¿Estás seguro que quieres ver una revisión borrada del archivo «<nowiki>$1</nowiki>» del $2 a las $3?\";'),('es','messages:undelete-show-file-submit','s:3:\"Sí\";'),('es','messages:namespace','s:19:\"Espacio de nombres:\";'),('es','messages:invert','s:19:\"Invertir selección\";'),('es','messages:tooltip-invert','s:154:\"Marca esta casilla para ocultar los cambios a las páginas dentro del espacio de nombres seleccionado (y el espacio de nombres asociado si está activada)\";'),('es','messages:namespace_association','s:27:\"Espacio de nombres asociado\";'),('es','messages:tooltip-namespace_association','s:124:\"Marca esta casilla para incluir también el espacio de nombres de discusión asociado con el espacio de nombres seleccionado\";'),('es','messages:blanknamespace','s:11:\"(Principal)\";'),('es','messages:contributions','s:26:\"Contribuciones del usuario\";'),('es','messages:contributions-title','s:57:\"Contribuciones {{GENDER:$1|del usuario|de la usuaria}} $1\";'),('es','messages:mycontris','s:14:\"Contribuciones\";'),('es','messages:contribsub2','s:7:\"$1 ($2)\";'),('es','messages:nocontribs','s:57:\"No se encontraron cambios que cumplieran estos criterios.\";'),('es','messages:uctop','s:18:\"(última edición)\";'),('es','messages:month','s:26:\"Desde el mes (y anterior):\";'),('es','messages:year','s:27:\"Desde el año (y anterior):\";'),('es','messages:sp-contributions-newbies','s:50:\"Mostrar solo las contribuciones de usuarios nuevos\";'),('es','messages:sp-contributions-newbies-sub','s:19:\"Para cuentas nuevas\";'),('es','messages:sp-contributions-newbies-title','s:33:\"Contribuciones de usuarios nuevos\";'),('es','messages:sp-contributions-blocklog','s:20:\"registro de bloqueos\";'),('es','messages:sp-contributions-deleted','s:34:\"contribuciones de usuario borradas\";'),('es','messages:sp-contributions-uploads','s:7:\"subidas\";'),('es','messages:sp-contributions-logs','s:9:\"registros\";'),('es','messages:sp-contributions-talk','s:10:\"discusión\";'),('es','messages:sp-contributions-userrights','s:39:\"administración de derechos de usuarios\";'),('es','messages:sp-contributions-blocked-notice','s:129:\"Este usuario está actualmente bloqueado. La última entrada del registro de bloqueos es presentada debajo para mayor referencia:\";'),('es','messages:sp-contributions-blocked-notice-anon','s:148:\"Esta dirección IP se encuentra actualmente bloqueada.\nA continuación se muestra la última entrada del registro de bloqueos para mayor referencia.\";'),('es','messages:sp-contributions-search','s:21:\"Buscar contribuciones\";'),('es','messages:sp-contributions-username','s:34:\"Dirección IP o nombre de usuario:\";'),('es','messages:sp-contributions-toponly','s:32:\"Mostrar solamente revisiones top\";'),('es','messages:sp-contributions-submit','s:6:\"Buscar\";'),('es','messages:whatlinkshere','s:19:\"Lo que enlaza aquí\";'),('es','messages:whatlinkshere-title','s:31:\"Páginas que enlazan con «$1»\";'),('es','messages:whatlinkshere-page','s:8:\"Página:\";'),('es','messages:linkshere','s:48:\"Las siguientes páginas enlazan a \'\'\'[[:$1]]\'\'\':\";'),('es','messages:nolinkshere','s:41:\"Ninguna página enlaza con \'\'\'[[:$1]]\'\'\'.\";'),('es','messages:nolinkshere-ns','s:74:\"Ninguna página enlaza con \'\'\'[[:$1]]\'\'\' en el espacio de nombres elegido.\";'),('es','messages:isredirect','s:18:\"página redirigida\";'),('es','messages:istemplate','s:10:\"inclusión\";'),('es','messages:isimage','s:16:\"Enlace de imagen\";'),('es','messages:whatlinkshere-prev','s:31:\"{{PLURAL:$1|previa|previas $1}}\";'),('es','messages:whatlinkshere-next','s:37:\"{{PLURAL:$1|siguiente|siguientes $1}}\";'),('es','messages:whatlinkshere-links','s:11:\"← enlaces\";'),('es','messages:whatlinkshere-hideredirs','s:16:\"$1 redirecciones\";'),('es','messages:whatlinkshere-hidetrans','s:14:\"$1 inclusiones\";'),('es','messages:whatlinkshere-hidelinks','s:10:\"$1 enlaces\";'),('es','messages:whatlinkshere-hideimages','s:22:\"$1 enlaces a imágenes\";'),('es','messages:whatlinkshere-filters','s:7:\"Filtros\";'),('es','messages:autoblockid','s:23:\"Bloqueo automático #$1\";'),('es','messages:block','s:16:\"Bloquear usuario\";'),('es','messages:unblock','s:19:\"Desbloquear usuario\";'),('es','messages:blockip','s:16:\"Bloquear usuario\";'),('es','messages:blockip-title','s:16:\"Bloquear usuario\";'),('es','messages:blockip-legend','s:16:\"Bloquear usuario\";'),('es','messages:blockiptext','s:363:\"Usa el siguiente formulario para bloquear el acceso de escritura desde una dirección IP específica o nombre de usuario.\nEsto debería hacerse sólo para prevenir vandalismos, y de acuerdo a las [[{{MediaWiki:Policy-url}}|políticas]].\nExplica la razón específica del bloqueo (por ejemplo, citando las páginas en particular que han sido objeto de vandalismo).\";'),('es','messages:ipadressorusername','s:33:\"Dirección IP o nombre de usuario\";'),('es','messages:ipbexpiry','s:16:\"Caduca dentro de\";'),('es','messages:ipbreason','s:7:\"Motivo:\";'),('es','messages:ipbreasonotherlist','s:11:\"Otra razón\";'),('es','messages:ipbreason-dropdown','s:277:\"*Motivos comunes de bloqueo\n** Añadir información falsa\n** Eliminar contenido de las páginas\n** Publicitar enlaces a otras páginas web\n** Añadir basura a las páginas\n** Comportamiento intimidatorio u hostil\n** Abusar de múltiples cuentas\n** Nombre de usuario inaceptable\";'),('es','messages:ipb-hardblock','s:70:\"Impedir que los usuarios identificados editen desde esta dirección IP\";'),('es','messages:ipbcreateaccount','s:43:\"Prevenir la creación de cuentas de usuario\";'),('es','messages:ipbemailban','s:50:\"Prevenir que el usuario envíe correo electrónico\";'),('es','messages:ipbenableautoblock','s:119:\"Bloquear automáticamente la dirección IP usada por este usuario y cualquier IP posterior desde la cual intente editar\";'),('es','messages:ipbsubmit','s:23:\"Bloquear a este usuario\";'),('es','messages:ipbother','s:21:\"Especificar caducidad\";'),('es','messages:ipboptions','s:161:\"2 horas:2 hours,1 día:1 day,3 días:3 days,1 semana:1 week,2 semanas:2 weeks,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year,para siempre:infinite\";'),('es','messages:ipbotheroption','s:4:\"otro\";'),('es','messages:ipbotherreason','s:12:\"Otra razón:\";'),('es','messages:ipbhidename','s:47:\"Ocultar nombre de usuario de ediciones y listas\";'),('es','messages:ipbwatchuser','s:63:\"Vigilar las páginas de usuario y de discusión de este usuario\";'),('es','messages:ipb-disableusertalk','s:87:\"Impedir que este usuario edite su propia página de discusión mientras esté bloqueado\";'),('es','messages:ipb-change-block','s:37:\"Rebloquear al usuario con estos datos\";'),('es','messages:ipb-confirm','s:17:\"Confirmar bloqueo\";'),('es','messages:badipaddress','s:46:\"La dirección IP no tiene el formato correcto.\";'),('es','messages:blockipsuccesssub','s:28:\"Bloqueo realizado con éxito\";'),('es','messages:blockipsuccesstext','s:126:\"\"[[Special:Contributions/$1|$1]]\" ha sido bloqueado.<br />\nVéase la [[Special:IPBlockList|lista de bloqueos]] para revisarlo.\";'),('es','messages:ipb-blockingself','s:83:\"¡Estás a punto de bloquearte a ti mismo!  ¿Estás seguro de que quieres hacerlo?\";'),('es','messages:ipb-confirmhideuser','s:197:\"Estás a punto de bloquear un usuario con la opción de supresión activada. Esto suprimirá el nombre de usuario en todas las listas y entradas de registro. ¿Estás seguro de que deseas proceder?\";'),('es','messages:ipb-edit-dropdown','s:25:\"Editar motivo del bloqueo\";'),('es','messages:ipb-unblock-addr','s:14:\"Desbloquear $1\";'),('es','messages:ipb-unblock','s:31:\"Desbloquear un usuario o una IP\";'),('es','messages:ipb-blocklist','s:21:\"Ver bloqueos vigentes\";'),('es','messages:ipb-blocklist-contribs','s:20:\"Contribuciones de $1\";'),('es','messages:unblockip','s:19:\"Desbloquear usuario\";'),('es','messages:unblockiptext','s:116:\"Use el formulario a continuación para devolver los permisos de escritura a una dirección IP que ha sido bloqueada.\";'),('es','messages:ipusubmit','s:23:\"Desactivar este bloqueo\";'),('es','messages:unblocked','s:62:\"[[User:$1|$1]] ha sido {{GENDER:$1|desbloqueado|desbloqueada}}\";'),('es','messages:unblocked-range','s:23:\"$1 ha sido desbloqueado\";'),('es','messages:unblocked-id','s:29:\"Se ha eliminado el bloqueo $1\";'),('es','messages:blocklist','s:19:\"Usuarios bloqueados\";'),('es','messages:ipblocklist','s:19:\"Usuarios bloqueados\";'),('es','messages:ipblocklist-legend','s:32:\"Encontrar a un usuario bloqueado\";'),('es','messages:blocklist-userblocks','s:26:\"Ocultar bloqueos de cuenta\";'),('es','messages:blocklist-tempblocks','s:27:\"Ocultar bloqueos temporales\";'),('es','messages:blocklist-addressblocks','s:42:\"Ocultar bloqueos de una sola dirección IP\";'),('es','messages:blocklist-timestamp','s:15:\"Marca de tiempo\";'),('es','messages:blocklist-target','s:7:\"Destino\";'),('es','messages:blocklist-expiry','s:6:\"Caduca\";'),('es','messages:blocklist-by','s:24:\"Bloqueo de administrador\";'),('es','messages:blocklist-params','s:22:\"Parámetros de bloqueo\";'),('es','messages:blocklist-reason','s:6:\"Motivo\";'),('es','messages:ipblocklist-submit','s:6:\"Buscar\";'),('es','messages:ipblocklist-localblock','s:13:\"Bloqueo local\";'),('es','messages:ipblocklist-otherblocks','s:37:\"Otros {{PLURAL:$1|bloqueo| bloqueos}}\";'),('es','messages:infiniteblock','s:8:\"infinito\";'),('es','messages:expiringblock','s:21:\"expira el $1 a las $2\";'),('es','messages:anononlyblock','s:12:\"sólo anón.\";'),('es','messages:noautoblockblock','s:33:\"bloqueo automático deshabilitado\";'),('es','messages:createaccountblock','s:29:\"creación de cuenta bloqueada\";'),('es','messages:emailblock','s:29:\"correo electrónico bloqueado\";'),('es','messages:blocklist-nousertalk','s:47:\"no puede editar su propia página de discusión\";'),('es','messages:ipblocklist-empty','s:34:\"La lista de bloqueos está vacía.\";'),('es','messages:ipblocklist-no-results','s:54:\"El nombre de usuario o IP indicado no está bloqueado.\";'),('es','messages:blocklink','s:8:\"bloquear\";'),('es','messages:unblocklink','s:11:\"desbloquear\";'),('es','messages:change-blocklink','s:15:\"cambiar bloqueo\";'),('es','messages:contribslink','s:14:\"contribuciones\";'),('es','messages:autoblocker','s:173:\"Has sido bloqueado automáticamente porque tu dirección IP ha sido usada recientemente por «[[User:$1|$1]]». La razón dada para bloquear a «[[User:$1|$1]]» fue «$2».\";'),('es','messages:blocklogpage','s:20:\"Registro de bloqueos\";'),('es','messages:blocklog-showlog','s:107:\"Este usuario ha sido bloqueado previamente. Debajo se provee el registro de bloqueos para mayor referencia:\";'),('es','messages:blocklog-showsuppresslog','s:98:\"Este usuario ha sido bloqueado y ocultado. Se provee el registro de supresiones para más detalle:\";'),('es','messages:blocklogentry','s:43:\"bloqueó a [[$1]] $3 durante un plazo de $2\";'),('es','messages:reblock-logentry','s:58:\"cambió el bloqueo para  [[$1]] con una caducidad de $2 $3\";'),('es','messages:blocklogtext','s:229:\"Esto es un registro de bloqueos y desbloqueos de usuarios.\nLas direcciones bloqueadas automáticamente no aparecen aquí.\nConsulte la [[Special:BlockList|lista de direcciones IP bloqueadas]] para ver la lista de bloqueos vigente.\";'),('es','messages:unblocklogentry','s:16:\"desbloqueó a $1\";'),('es','messages:block-log-flags-anononly','s:15:\"sólo anónimos\";'),('es','messages:block-log-flags-nocreate','s:35:\"desactivada la creación de cuentas\";'),('es','messages:block-log-flags-noautoblock','s:31:\"bloqueo automático desactivado\";'),('es','messages:block-log-flags-noemail','s:33:\"correo electrónico deshabilitado\";'),('es','messages:block-log-flags-nousertalk','s:47:\"no puede editar su propia página de discusión\";'),('es','messages:block-log-flags-angry-autoblock','s:31:\"autobloqueo avanzado habilitado\";'),('es','messages:block-log-flags-hiddenname','s:24:\"nombre de usuario oculto\";'),('es','messages:range_block_disabled','s:78:\"La facultad de administrador de crear bloqueos por rangos está deshabilitada.\";'),('es','messages:ipb_expiry_invalid','s:37:\"El tiempo de caducidad no es válido.\";'),('es','messages:ipb_expiry_temp','s:64:\"Los bloqueos a nombres de usuario ocultos deben ser permanentes.\";'),('es','messages:ipb_hide_invalid','s:62:\"Incapaz de suprimir esta cuenta; puede tener muchas ediciones.\";'),('es','messages:ipb_already_blocked','s:31:\"\"$1\" ya se encuentra bloqueado.\";'),('es','messages:ipb-needreblock','s:52:\"$1 ya está bloqueado. ¿Quieres cambiar el bloqueo?\";'),('es','messages:ipb-otherblocks-header','s:41:\"{{PLURAL:$1|Otro bloqueo|Otros bloqueos}}\";'),('es','messages:unblock-hideuser','s:81:\"No se puede desbloquear a este usuario, porque su nombre de usuario está oculto.\";'),('es','messages:ipb_cant_unblock','s:85:\"\'\'\'Error\'\'\': Número ID $1 de bloqueo no encontrado. Pudo haber sido desbloqueado ya.\";'),('es','messages:ipb_blocked_as_range','s:169:\"Error: la dirección IP $1 no está bloqueada directamente y no puede ser desbloqueada.\nSin embargo, está bloqueada como parte del rango $2, que puede ser desbloqueado.\";'),('es','messages:ip_range_invalid','s:29:\"El rango de IP no es válido.\";'),('es','messages:ip_range_toolarge','s:60:\"Los bloqueos de rango superiores a /$1 no están permitidos.\";'),('es','messages:blockme','s:10:\"Bloquearme\";'),('es','messages:proxyblocker','s:21:\"Bloqueador de proxies\";'),('es','messages:proxyblocker-disabled','s:32:\"Esta función está desactivada.\";'),('es','messages:proxyblockreason','s:216:\"Su dirección IP ha sido bloqueada porque es un proxy abierto. Por favor, contacte con su proveedor de servicios de Internet o con su servicio de asistencia técnica e infórmeles de este grave problema de seguridad.\";'),('es','messages:proxyblocksuccess','s:6:\"Hecho.\";'),('es','messages:sorbsreason','s:59:\"Su dirección IP está listada como proxy abierto en DNSBL.\";'),('es','messages:sorbs_create_account_reason','s:85:\"Su dirección IP está listada como proxy abierto en DNSBL. No puede crear una cuenta\";'),('es','messages:cant-block-while-blocked','s:62:\"No puedes bloquear a otros usuarios mientras estás bloqueado.\";'),('es','messages:cant-see-hidden-user','s:172:\"El usuario que está intentando bloquear ya ha sido bloqueado y oculto. Puesto que usted no tiene el derecho hideuser, usted no puede ver o editar los bloqueos del usuario.\";'),('es','messages:ipbblocked','s:73:\"No puedes bloquear o desbloquear a otros usuarios porque estás bloqueado\";'),('es','messages:ipbnounblockself','s:23:\"No puedes desbloquearte\";'),('es','messages:lockdb','s:25:\"Bloquear la base de datos\";'),('es','messages:unlockdb','s:28:\"Desbloquear la base de datos\";'),('es','messages:lockdbtext','s:381:\"El bloqueo de la base de datos impedirá a todos los usuarios editar páginas, cambiar sus preferencias, modificar sus listas de seguimiento y cualquier otra función que requiera realizar cambios en la base de datos. Por favor, confirme que ésto es precisamente lo que quiere hacer y que desbloqueará la base de datos tan pronto haya finalizado las operaciones de mantenimiento.\";'),('es','messages:unlockdbtext','s:283:\"El desbloqueo de la base de datos permitirá a todos los usuarios editar páginas, cambiar sus preferencias, modificar sus listas de seguimiento y cualesquiera otras funciones que impliquen modificar la base de datos. Por favor, confirme que esto es precisamente lo que quiere hacer.\";'),('es','messages:lockconfirm','s:48:\"Sí, realmente quiero bloquear la base de datos.\";'),('es','messages:unlockconfirm','s:51:\"Sí, realmente quiero desbloquear la base de datos.\";'),('es','messages:lockbtn','s:25:\"Bloquear la base de datos\";'),('es','messages:unlockbtn','s:28:\"Desbloquear la base de datos\";'),('es','messages:locknoconfirm','s:36:\"No ha confirmado lo que desea hacer.\";'),('es','messages:lockdbsuccesssub','s:37:\"El bloqueo se ha realizado con éxito\";'),('es','messages:unlockdbsuccesssub','s:40:\"El desbloqueo se ha realizado con éxito\";'),('es','messages:lockdbsuccesstext','s:136:\"La base de datos de {{SITENAME}} ha sido bloqueada.\n<br />Recuerde retirar el bloqueo después de completar las tareas de mantenimiento.\";'),('es','messages:unlockdbsuccesstext','s:54:\"La base de datos de {{SITENAME}} ha sido desbloqueada.\";'),('es','messages:lockfilenotwritable','s:174:\"El archivo-cerrojo de la base de datos no tiene permiso de escritura. Para bloquear o desbloquear la base de datos, este archivo tiene que ser escribible por el servidor web.\";'),('es','messages:databasenotlocked','s:36:\"La base de datos no está bloqueada.\";'),('es','messages:lockedbyandtime','s:37:\"(por {{GENDER:$1|$1}} el $2 a las $3)\";'),('es','messages:move-page','s:12:\"Trasladar $1\";'),('es','messages:move-page-legend','s:17:\"Renombrar página\";'),('es','messages:movepagetext','s:957:\"Usando el siguiente formulario se renombrará una página, moviendo todo su historial al nuevo nombre.\nEl título anterior se convertirá en una redirección al nuevo título.\nLos enlaces al antiguo título de la página no se cambiarán.\nAsegúrate de no dejar [[Special:DoubleRedirects|redirecciones dobles]] o [[Special:BrokenRedirects|rotas]].\nTú eres responsable de hacer que los enlaces sigan apuntando a donde se supone que deberían hacerlo.\n\nRecuerda que la página \'\'\'no\'\'\' será renombrada si ya existe una página con el nuevo título, a no ser que sea una página vacía o una redirección sin historial.\nEsto significa que podrás renombrar una página a su título original si has cometido un error, pero que no podrás sobrescribir una página existente.\n\n\'\'\'¡Aviso!\'\'\'\nEste puede ser un cambio drástico e inesperado para una página popular;\npor favor, asegúrate de entender las consecuencias del procedimiento antes de seguir adelante.\";'),('es','messages:movepagetext-noredirectfixer','s:893:\"Usando el siguiente formulario se renombrará una página, moviendo todo su historial al nuevo nombre.\nEl título anterior se convertirá en una redirección al nuevo título.\nAsegúrate de no dejar [[Special:DoubleRedirects|redirecciones dobles]] o [[Special:BrokenRedirects|rotas]].\nTú eres responsable de hacer que los enlaces sigan apuntando adonde se supone que deberían hacerlo.\n\nRecuerda que la página \'\'\'no\'\'\' será renombrada si ya existe una página con el nuevo título, a no ser que sea una página vacía o una redirección sin historial.\nEsto significa que podrás renombrar una página a su título original si has cometido un error, pero que no podrás sobrescribir una página existente.\n\n\'\'\'¡Aviso!\'\'\'\nEste puede ser un cambio drástico e inesperado para una página popular;\npor favor, asegúrate de entender las consecuencias del procedimiento antes de seguir adelante.\";'),('es','messages:movepagetalktext','s:395:\"La página de discusión asociada, si existe, será renombrada automáticamente \'\'\'a menos que:\'\'\'\n*Esté moviendo la página entre espacios de nombres diferentes,\n*Una página de discusión no vacía ya exista con el nombre nuevo, o\n*No actives la opción «Renombrar la página de discusión también».\n\nEn estos casos, deberás trasladar manualmente el contenido de la página de discusión.\";'),('es','messages:movearticle','s:17:\"Renombrar página\";'),('es','messages:moveuserpage-warning','s:157:\"\'\'\'Aviso:\'\'\' estás a punto de mover una página de usuario. Ten en cuenta de que solo la página será trasladada pero el usuario \'\'\'no\'\'\' será renombrado.\";'),('es','messages:movenologin','s:23:\"No has iniciado sesión\";'),('es','messages:movenologintext','s:110:\"Es necesario ser usuario registrado y [[Special:UserLogin|haber iniciado sesión]] para renombrar una página.\";'),('es','messages:movenotallowed','s:38:\"No tienes permiso para mover páginas.\";'),('es','messages:movenotallowedfile','s:38:\"No tienes permiso para mover archivos.\";'),('es','messages:cant-move-user-page','s:71:\"No tienes permiso para mover páginas de usuario (excepto subpáginas).\";'),('es','messages:cant-move-to-user-page','s:101:\"No tienes permiso para mover una página a una página de usuario (excepto a subpáginas de usuario).\";'),('es','messages:newtitle','s:16:\"A título nuevo:\";'),('es','messages:move-watch','s:36:\"Vigilar páginas de origen y destino\";'),('es','messages:movepagebtn','s:17:\"Renombrar página\";'),('es','messages:pagemovedsub','s:31:\"Renombrado realizado con éxito\";'),('es','messages:movepage-moved','s:41:\"\'\'\'«$1» ha sido trasladado a «$2».\'\'\'\";'),('es','messages:movepage-moved-redirect','s:30:\"Se ha creado una redirección.\";'),('es','messages:movepage-moved-noredirect','s:48:\"Se ha suprimido la creación de la redirección.\";'),('es','messages:articleexists','s:111:\"Ya existe una página con ese nombre, o el nombre que has escogido no es válido.\nPor favor, elige otro nombre.\";'),('es','messages:cantmove-titleprotected','s:113:\"No puedes mover la página a esta ubicación, porque el nuevo título ha sido protegido para evitar su creación.\";'),('es','messages:talkexists','s:163:\"La página fue renombrada con éxito, pero la discusión no se pudo mover porque ya existe una en el título nuevo. Por favor incorpora sus contenidos manualmente.\";'),('es','messages:movedto','s:12:\"renombrado a\";'),('es','messages:movetalk','s:43:\"Renombrar la página de discusión asociada\";'),('es','messages:move-subpages','s:45:\"Intentar trasladar las subpáginas (hasta $1)\";'),('es','messages:move-talk-subpages','s:59:\"Intentar trasladar las subpáginas de discusión (hasta $1)\";'),('es','messages:movepage-page-exists','s:77:\"La página $1 ya existe, por lo que no puede ser renombrada automáticamente.\";'),('es','messages:movepage-page-moved','s:38:\"La página $1 ha sido trasladada a $2.\";'),('es','messages:movepage-page-unmoved','s:45:\"La página $1 no se ha podido trasladar a $2.\";'),('es','messages:movepage-max-pages','s:141:\"Se {{PLURAL:$1|ha trasladado un máximo de una página|han trasladado un máximo de $1 páginas}}, y no se van a mover más automáticamente.\";'),('es','messages:1movedto2','s:26:\"[[$1]] trasladada a [[$2]]\";'),('es','messages:1movedto2_redir','s:49:\"[[$1]] trasladada a [[$2]] sobre una redirección\";'),('es','messages:move-redirect-suppressed','s:22:\"redirección suprimida\";'),('es','messages:movelogpage','s:21:\"Registro de traslados\";'),('es','messages:movelogpagetext','s:53:\"Abajo se encuentra una lista de páginas trasladadas.\";'),('es','messages:movesubpage','s:36:\"{{PLURAL:$1|Subpágina|Subpáginas}}\";'),('es','messages:movesubpagetext','s:87:\"Esta página tiene {{PLURAL:$1|la siguiente subpágina|las siguientes $1 subpáginas}}:\";'),('es','messages:movenosubpage','s:34:\"Esta página no tiene subpáginas.\";'),('es','messages:movereason','s:7:\"Motivo:\";'),('es','messages:revertmove','s:8:\"revertir\";'),('es','messages:delete_and_move','s:18:\"Borrar y trasladar\";'),('es','messages:delete_and_move_text','s:114:\"==Se necesita borrado==\n\nLa página de destino (\"[[:$1]]\") ya existe. ¿Quiere borrarla para permitir al traslado?\";'),('es','messages:delete_and_move_confirm','s:22:\"Sí, borrar la página\";'),('es','messages:delete_and_move_reason','s:33:\"Borrada para permitir el traslado\";'),('es','messages:selfmove','s:99:\"Los títulos de origen y destino son los mismos;\nno se puede trasladar una página sobre sí misma.\";'),('es','messages:immobile-source-namespace','s:63:\"No se pueden trasladar páginas en el espacio de nombres «$1»\";'),('es','messages:immobile-target-namespace','s:59:\"No se puede trasladar páginas al espacio de nombres «$1»\";'),('es','messages:immobile-target-namespace-iw','s:72:\"Un enlace interwiki no es un destino válido para trasladar una página.\";'),('es','messages:immobile-source-page','s:35:\"Esta página no se puede renombrar.\";'),('es','messages:immobile-target-page','s:36:\"No se puede trasladar a tal título.\";'),('es','messages:imagenocrossnamespace','s:58:\"No se puede trasladar el fichero a otro espacio de nombres\";'),('es','messages:nonfile-cannot-move-to-file','s:66:\"No es posible mover un no-archivo al espacio de nombres de archivo\";'),('es','messages:imagetypemismatch','s:57:\"La nueva extensión de archivo no corresponde con su tipo\";'),('es','messages:imageinvalidfilename','s:46:\"El nombre del fichero de destino no es válido\";'),('es','messages:fix-double-redirects','s:60:\"Actualizar las redirecciones que apuntan al título original\";'),('es','messages:move-leave-redirect','s:22:\"Dejar una redirección\";'),('es','messages:protectedpagemovewarning','s:214:\"\'\'\'Advertencia:\'\'\' Esta página ha sido bloqueada de tal manera que solamente usuarios con privilegios de administrador puedan trasladarla.\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:semiprotectedpagemovewarning','s:174:\"\'\'\'Nota:\'\'\' Esta página ha sido bloqueada para que  solamente usuarios registrados pueden moverla.\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:move-over-sharedrepo','s:135:\"== El archivo existe ==\n[[:$1]] existe en un repositorio compartido. Mover el archivo a este título invalidará el archivo compartido.\";'),('es','messages:file-exists-sharedrepo','s:110:\"El nombre de archivo elegido ya está siendo usado en un repositorio compartido.\nPor favor, elige otro nombre.\";'),('es','messages:export','s:17:\"Exportar páginas\";'),('es','messages:exporttext','s:695:\"Puedes exportar el texto y el historial de ediciones de una página en particular o de un conjunto de páginas a un texto XML. En el futuro, este texto podría importarse en otro wiki que ejecutase MediaWiki a través de [[Special:Import|importar página]].\n\nPara exportar páginas, escribe los títulos en la caja de texto de abajo, un título por línea, y selecciona si quieres la versión actual junto a las versiones anteriores, con las líneas del historial, o sólo la versión actual con la información sobre la última edición.\n\nEn el último caso también puedes usar un enlace, por ejemplo [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] para la página \"[[{{MediaWiki:Mainpage}}]]\".\";'),('es','messages:exportcuronly','s:77:\"Incluye sólo la revisión actual, no el historial de revisiones al completo.\";'),('es','messages:exportnohistory','s:158:\"----\n\'\'\'Nota:\'\'\' Exportar el historial completo de páginas a través de este formulario ha sido deshabilitado debido a problemas de rendimiento del servidor.\";'),('es','messages:export-submit','s:8:\"Exportar\";'),('es','messages:export-addcattext','s:37:\"Añadir páginas desde la categoría:\";'),('es','messages:export-addcat','s:7:\"Añadir\";'),('es','messages:export-addnstext','s:38:\"Agregar páginas del nombre del sitio:\";'),('es','messages:export-addns','s:7:\"Agregar\";'),('es','messages:export-download','s:20:\"Guardar como archivo\";'),('es','messages:export-templates','s:18:\"Incluir plantillas\";'),('es','messages:export-pagelinks','s:48:\"Incluir páginas enlazadas a una profundidad de:\";'),('es','messages:allmessages','s:31:\"Todos los mensajes de MediaWiki\";'),('es','messages:allmessagesname','s:6:\"Nombre\";'),('es','messages:allmessagesdefault','s:20:\"Texto predeterminado\";'),('es','messages:allmessagescurrent','s:12:\"Texto actual\";'),('es','messages:allmessagestext','s:275:\"Esta es una lista de mensajes del sistema disponibles en el espacio de nombres MediaWiki:\nPor favor visita [//www.mediawiki.org/wiki/Localisation Localización MediaWiki] y [//translatewiki.net translatewiki.net] si deseas contribuir con la localización genérica MediaWiki.\";'),('es','messages:allmessagesnotsupportedDB','s:89:\"Esta página no está disponible porque \'\'\'$wgUseDatabaseMessages\'\'\' está deshabilitado.\";'),('es','messages:allmessages-filter-legend','s:6:\"Filtro\";'),('es','messages:allmessages-filter','s:39:\"Filtrar por estado de personalización:\";'),('es','messages:allmessages-filter-unmodified','s:13:\"Sin modificar\";'),('es','messages:allmessages-filter-all','s:4:\"Todo\";'),('es','messages:allmessages-filter-modified','s:10:\"Modificado\";'),('es','messages:allmessages-prefix','s:20:\"Filtrar por prefijo:\";'),('es','messages:allmessages-language','s:7:\"Idioma:\";'),('es','messages:allmessages-filter-submit','s:2:\"Ir\";'),('es','messages:thumbnail-more','s:8:\"Aumentar\";'),('es','messages:filemissing','s:13:\"Falta archivo\";'),('es','messages:thumbnail_error','s:28:\"Error al crear miniatura: $1\";'),('es','messages:djvu_page_error','s:27:\"Página DjVu fuera de rango\";'),('es','messages:djvu_no_xml','s:42:\"Imposible obtener XML para el archivo DjVu\";'),('es','messages:thumbnail_invalid_params','s:37:\"Parámetros del thumbnail no válidos\";'),('es','messages:thumbnail_dest_directory','s:41:\"Incapaz de crear el directorio de destino\";'),('es','messages:thumbnail_image-type','s:29:\"Tipo de imagen no contemplado\";'),('es','messages:thumbnail_gd-library','s:66:\"Configuración de la librería GD incompleta: falta la función $1\";'),('es','messages:thumbnail_image-missing','s:32:\"El fichero parece no existir: $1\";'),('es','messages:import','s:17:\"Importar páginas\";'),('es','messages:importinterwiki','s:22:\"Importación transwiki\";'),('es','messages:import-interwiki-text','s:228:\"Selecciona un wiki y un título de página para importar.\nLas fechas de revisiones y los nombres de editores se preservarán.\nTodas las importaciones transwiki se registran en el [[Special:Log/import|registro de importaciones]].\";'),('es','messages:import-interwiki-source','s:22:\"Wiki o página origen:\";'),('es','messages:import-interwiki-history','s:56:\"Copiar todas las versiones históricas para esta página\";'),('es','messages:import-interwiki-templates','s:28:\"Incluir todas las plantillas\";'),('es','messages:import-interwiki-submit','s:8:\"Importar\";'),('es','messages:import-interwiki-namespace','s:30:\"Espacio de nombres de destino:\";'),('es','messages:import-upload-filename','s:18:\"Nombre de archivo:\";'),('es','messages:import-comment','s:11:\"Comentario:\";'),('es','messages:importtext','s:150:\"Por favor, exporta el archivo desde el wiki de origen usando la [[Special:Export|herramienta de exportación]], guárdalo en tu disco y súbelo aquí.\";'),('es','messages:importstart','s:22:\"Importando páginas...\";'),('es','messages:import-revision-count','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:importnopages','s:29:\"No hay páginas que importar.\";'),('es','messages:imported-log-entries','s:70:\"Importados $1 {{PLURAL:$1|entradas de registro|entradas de registro}}.\";'),('es','messages:importfailed','s:30:\"La importación ha fallado: $1\";'),('es','messages:importunknownsource','s:42:\"Tipo de fuente de importación desconocida\";'),('es','messages:importcantopen','s:30:\"No se pudo importar el archivo\";'),('es','messages:importbadinterwiki','s:25:\"Enlace interwiki anómalo\";'),('es','messages:importnotext','s:18:\"Vacío o sin texto\";'),('es','messages:importsuccess','s:45:\"¡La importación se ha realizado con éxito!\";'),('es','messages:importhistoryconflict','s:96:\"Existen revisiones en conflicto en el historial (puede que se haya importado esta página antes)\";'),('es','messages:importnosources','s:94:\"No hay fuentes de importación transwiki y no está permitido subir directamente el historial.\";'),('es','messages:importnofile','s:40:\"No se subieron archivos de importación.\";'),('es','messages:importuploaderrorsize','s:90:\"Falló la carga del archivo de importaciones.\nSu tamaño es superior al máximo permitido.\";'),('es','messages:importuploaderrorpartial','s:75:\"Falló la subida del fichero de importación.\nSe subió sólo parcialmente.\";'),('es','messages:importuploaderrortemp','s:76:\"Falló la subida del fichero de importación.\nNo hay un directorio temporal.\";'),('es','messages:import-parse-failure','s:32:\"Error de lectura al importar XML\";'),('es','messages:import-noarticle','s:32:\"¡No hay páginas para importar!\";'),('es','messages:import-nonewrevisions','s:51:\"Todas las revisiones fueron previamente importadas.\";'),('es','messages:xml-error-string','s:40:\"$1 en la línea $2, col $3 (byte $4): $5\";'),('es','messages:import-upload','s:15:\"Subir datos XML\";'),('es','messages:import-token-mismatch','s:61:\"Pérdida de datos de sesión. Por favor, inténtalo de nuevo.\";'),('es','messages:import-invalid-interwiki','s:45:\"No se puede importar de la wiki especificada.\";'),('es','messages:importlogpage','s:25:\"Registro de importaciones\";'),('es','messages:importlogpagetext','s:74:\"Importaciones administrativas de páginas con historial desde otros wikis.\";'),('es','messages:import-logentry-upload','s:37:\"importó [[$1]] por subida de archivo\";'),('es','messages:import-logentry-upload-detail','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:import-logentry-interwiki','s:18:\"transwikificada $1\";'),('es','messages:import-logentry-interwiki-detail','s:46:\"$1 {{PLURAL:$1|revisión|revisiones}} desde $2\";'),('es','messages:tooltip-pt-userpage','s:21:\"Tu página de usuario\";'),('es','messages:tooltip-pt-anonuserpage','s:50:\"La página de usuario de la IP desde la que editas\";'),('es','messages:tooltip-pt-mytalk','s:24:\"Tu página de discusión\";'),('es','messages:tooltip-pt-anontalk','s:58:\"Discusión sobre ediciones hechas desde esta dirección IP\";'),('es','messages:tooltip-pt-preferences','s:16:\"Tus preferencias\";'),('es','messages:tooltip-pt-watchlist','s:39:\"Lista de páginas cuyos cambios vigilas\";'),('es','messages:tooltip-pt-mycontris','s:27:\"Lista de tus contribuciones\";'),('es','messages:tooltip-pt-login','s:62:\"Te recomendamos iniciar sesión, sin embargo no es obligatorio\";'),('es','messages:tooltip-pt-anonlogin','s:52:\"Te invitamos a registrarte, aunque no es obligatorio\";'),('es','messages:tooltip-pt-logout','s:19:\"Salir de la sesión\";'),('es','messages:tooltip-ca-talk','s:31:\"Discusión acerca del artículo\";'),('es','messages:tooltip-ca-edit','s:83:\"Puedes editar esta página. Utiliza el botón de previsualización antes de guardar\";'),('es','messages:tooltip-ca-addsection','s:25:\"Inicia una nueva sección\";'),('es','messages:tooltip-ca-viewsource','s:58:\"Esta página está protegida.\nPuedes ver su código fuente\";'),('es','messages:tooltip-ca-history','s:50:\"Versiones anteriores de esta página y sus autores\";'),('es','messages:tooltip-ca-protect','s:21:\"Proteger esta página\";'),('es','messages:tooltip-ca-unprotect','s:35:\"Cambiar protección de esta página\";'),('es','messages:tooltip-ca-delete','s:19:\"Borrar esta página\";'),('es','messages:tooltip-ca-undelete','s:72:\"Restaurar las ediciones hechas a esta página antes de que fuese borrada\";'),('es','messages:tooltip-ca-move','s:18:\"Mover esta página\";'),('es','messages:tooltip-ca-watch','s:46:\"Añadir esta página a su lista de seguimiento\";'),('es','messages:tooltip-ca-unwatch','s:46:\"Borrar esta página de su lista de seguimiento\";'),('es','messages:tooltip-search','s:22:\"Buscar en {{SITENAME}}\";'),('es','messages:tooltip-search-go','s:48:\"Ir al artículo con este nombre exacto si existe\";'),('es','messages:tooltip-search-fulltext','s:32:\"Busca este texto en las páginas\";'),('es','messages:tooltip-p-logo','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-mainpage','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-mainpage-description','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-portal','s:71:\"Acerca del proyecto, lo que puedes hacer, dónde encontrar información\";'),('es','messages:tooltip-n-currentevents','s:55:\"Información de contexto sobre acontecimientos actuales\";'),('es','messages:tooltip-n-recentchanges','s:37:\"Lista de cambios recientes en el wiki\";'),('es','messages:tooltip-n-randompage','s:26:\"Cargar una página al azar\";'),('es','messages:tooltip-n-help','s:22:\"El lugar para aprender\";'),('es','messages:tooltip-t-whatlinkshere','s:54:\"Lista de todas las páginas del wiki que enlazan aquí\";'),('es','messages:tooltip-t-recentchangeslinked','s:55:\"Cambios recientes en las páginas que enlazan con ésta\";'),('es','messages:tooltip-feed-rss','s:32:\"Sindicación RSS de esta página\";'),('es','messages:tooltip-feed-atom','s:33:\"Sindicación Atom de esta página\";'),('es','messages:tooltip-t-contributions','s:39:\"Lista de contribuciones de este usuario\";'),('es','messages:tooltip-t-emailuser','s:42:\"Enviar un mensaje de correo a este usuario\";'),('es','messages:tooltip-t-upload','s:37:\"Subir imágenes o archivos multimedia\";'),('es','messages:tooltip-t-specialpages','s:38:\"Lista de todas las páginas especiales\";'),('es','messages:tooltip-t-print','s:35:\"Versión imprimible de esta página\";'),('es','messages:tooltip-t-permalink','s:47:\"Enlace permanente a esta versión de la página\";'),('es','messages:tooltip-ca-nstab-main','s:16:\"Ver el artículo\";'),('es','messages:tooltip-ca-nstab-user','s:25:\"Ver la página de usuario\";'),('es','messages:tooltip-ca-nstab-media','s:28:\"Ver la página de multimedia\";'),('es','messages:tooltip-ca-nstab-special','s:66:\"Esta es una página especial, no se puede editar la página en sí\";'),('es','messages:tooltip-ca-nstab-project','s:26:\"Ver la página de proyecto\";'),('es','messages:tooltip-ca-nstab-image','s:27:\"Ver la página de la imagen\";'),('es','messages:tooltip-ca-nstab-mediawiki','s:25:\"Ver el mensaje de sistema\";'),('es','messages:tooltip-ca-nstab-template','s:16:\"Ver la plantilla\";'),('es','messages:tooltip-ca-nstab-help','s:23:\"Ver la página de ayuda\";'),('es','messages:tooltip-ca-nstab-category','s:28:\"Ver la página de categoría\";'),('es','messages:tooltip-minoredit','s:29:\"Marcar este cambio como menor\";'),('es','messages:tooltip-save','s:19:\"Guardar los cambios\";'),('es','messages:tooltip-preview','s:72:\"Previsualiza los cambios realizados. ¡Por favor, hazlo antes de grabar!\";'),('es','messages:tooltip-diff','s:51:\"Muestra los cambios que ha introducido en el texto.\";'),('es','messages:tooltip-compareselectedversions','s:74:\"Ver las diferencias entre las dos versiones seleccionadas de esta página.\";'),('es','messages:tooltip-watch','s:46:\"Añadir esta página a su lista de seguimiento\";'),('es','messages:tooltip-recreate','s:40:\"Recupera una página que ha sido borrada\";'),('es','messages:tooltip-upload','s:17:\"Empieza la subida\";'),('es','messages:tooltip-rollback','s:79:\"«Revertir» revierte todas las ediciones del último usuario con un solo clic.\";'),('es','messages:tooltip-undo','s:160:\"«Deshacer» revierte la edición seleccionada y abre la página de edición en el modo de previsualización.\nPermite añadir una razón al resumen de edición.\";'),('es','messages:tooltip-preferences-save','s:24:\"Guardar las preferencias\";'),('es','messages:tooltip-summary','s:26:\"Introduce un breve resumen\";'),('es','messages:common.css','s:75:\"/* Los estilos CSS definidos aquí aplicarán a todas las pieles (skins) */\";'),('es','messages:standard.css','s:101:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Standard */\";'),('es','messages:nostalgia.css','s:102:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Nostalgia */\";'),('es','messages:cologneblue.css','s:105:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Cologne Blue */\";'),('es','messages:monobook.css','s:101:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Monobook */\";'),('es','messages:myskin.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel MySkin */\";'),('es','messages:chick.css','s:98:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Chick */\";'),('es','messages:simple.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Simple */\";'),('es','messages:modern.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Modern */\";'),('es','messages:vector.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Vector */\";'),('es','messages:print.css','s:62:\"/* Los estilos CSS colocados aquí afectarán la impresión */\";'),('es','messages:handheld.css','s:131:\"/* Los estilos CSS colocados aquí afectarán a los dispositivos móviles basados en las pieles configuradas en $wgHandheldStyle */\";'),('es','messages:common.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */\";'),('es','messages:standard.js','s:110:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Estandar */\";'),('es','messages:nostalgia.js','s:112:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Nostalgia. */\";'),('es','messages:cologneblue.js','s:114:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Colonia azul */\";'),('es','messages:monobook.js','s:97:\"/* El código JavaScript que se ponga aquí será cargado por los usuarios de la piel MonoBook */\";'),('es','messages:myskin.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Mi piel */\";'),('es','messages:chick.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Pollito */\";'),('es','messages:simple.js','s:108:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Simple */\";'),('es','messages:modern.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Moderna */\";'),('es','messages:vector.js','s:108:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Vector */\";'),('es','messages:notacceptable','s:100:\"El servidor wiki no puede proveer los datos en un formato que su cliente (navegador) pueda entender.\";'),('es','messages:anonymous','s:65:\"{{PLURAL:$1|Usuario anónimo|Usuarios anónimos}} de {{SITENAME}}\";'),('es','messages:siteuser','s:48:\"{{GENDER:$1|Usuario|Usuaria}} $1 de {{SITENAME}}\";'),('es','messages:anonuser','s:32:\"{{SITENAME}} usuario anónimo $1\";'),('es','messages:lastmodifiedatby','s:61:\"Esta página fue modificada por última vez en $2, $1 por $3.\";'),('es','messages:othercontribs','s:27:\"Basado en el trabajo de $1.\";'),('es','messages:others','s:5:\"otros\";'),('es','messages:siteusers','s:49:\"{{PLURAL:$2|Usuario|Usuarios}} $1 de {{SITENAME}}\";'),('es','messages:anonusers','s:56:\"{{SITENAME}} {{PLURAL:$2|usuario|usuarios}} anónimos $1\";'),('es','messages:creditspage','s:23:\"Créditos de la página\";'),('es','messages:nocredits','s:51:\"No hay información de créditos para esta página.\";'),('es','messages:spamprotectiontitle','s:33:\"Filtro de protección contra spam\";'),('es','messages:spamprotectiontext','s:155:\"La página que quería guardar fue bloqueada por el filtro de spam.\nEsto podría estar causado por un enlace a un sitio externo incluido en la lista negra.\";'),('es','messages:spamprotectionmatch','s:63:\"El siguiente texto es el que activó nuestro filtro de spam: $1\";'),('es','messages:spambot_username','s:29:\"Limpieza de spam de MediaWiki\";'),('es','messages:spam_reverting','s:62:\"Revirtiendo a la última versión que no contenga enlaces a $1\";'),('es','messages:spam_blanking','s:56:\"Todas las revisiones contienen enlaces a $1, blanqueando\";'),('es','messages:pageinfo-title','s:24:\"Información para «$1»\";'),('es','messages:pageinfo-header-edits','s:9:\"Ediciones\";'),('es','messages:pageinfo-header-watchlist','s:20:\"Lista de seguimiento\";'),('es','messages:pageinfo-header-views','s:6:\"Vistas\";'),('es','messages:pageinfo-subjectpage','s:7:\"Página\";'),('es','messages:pageinfo-talkpage','s:21:\"Página de discusión\";'),('es','messages:pageinfo-watchers','s:32:\"Número de usuarios vigilándola\";'),('es','messages:pageinfo-edits','s:20:\"Número de ediciones\";'),('es','messages:pageinfo-authors','s:28:\"Número de autores distintos\";'),('es','messages:pageinfo-views','s:17:\"Número de vistas\";'),('es','messages:pageinfo-viewsperedit','s:19:\"Vistas por edición\";'),('es','messages:skinname-standard','s:9:\"Estándar\";'),('es','messages:skinname-nostalgia','s:9:\"Nostalgia\";'),('es','messages:skinname-cologneblue','s:12:\"Colonia azul\";'),('es','messages:skinname-monobook','s:8:\"MonoBook\";'),('es','messages:skinname-myskin','s:7:\"Mi piel\";'),('es','messages:skinname-chick','s:7:\"Pollito\";'),('es','messages:skinname-simple','s:6:\"Simple\";'),('es','messages:skinname-modern','s:7:\"Moderna\";'),('es','messages:skinname-vector','s:6:\"Vector\";'),('es','messages:markaspatrolleddiff','s:20:\"Marcar como revisado\";'),('es','messages:markaspatrolledtext','s:35:\"Marcar este artículo como revisado\";'),('es','messages:markedaspatrolled','s:21:\"Marcado como revisado\";'),('es','messages:markedaspatrolledtext','s:70:\"La revisión seleccionada de [[:$1|$1]] ha sido marcada como revisada.\";'),('es','messages:rcpatroldisabled','s:48:\"Revisión de los Cambios Recientes deshabilitada\";'),('es','messages:rcpatroldisabledtext','s:82:\"La capacidad de revisar los Cambios Recientes está deshabilitada en este momento.\";'),('es','messages:markedaspatrollederror','s:34:\"No se puede marcar como patrullada\";'),('es','messages:markedaspatrollederrortext','s:62:\"Debes especificar una revisión para marcarla como patrullada.\";'),('es','messages:markedaspatrollederror-noautopatrol','s:66:\"No tienes permisos para marcar tus propios cambios como revisados.\";'),('es','messages:patrol-log-page','s:22:\"Registro de revisiones\";'),('es','messages:patrol-log-header','s:46:\"Este es un registro de revisiones patrulladas.\";'),('es','messages:patrol-log-line','s:22:\"revisó la $1 de $2 $3\";'),('es','messages:patrol-log-auto','s:13:\"(automático)\";'),('es','messages:patrol-log-diff','s:12:\"revisión $1\";'),('es','messages:log-show-hide-patrol','s:25:\"$1 registro de patrullaje\";'),('es','messages:deletedrevision','s:28:\"Borrada revisión antigua $1\";'),('es','messages:filedeleteerror-short','s:44:\"Se produjo un error al borrar el archivo: $1\";'),('es','messages:filedeleteerror-long','s:60:\"Se han producido errores mientras se borraba el archivo:\n\n$1\";'),('es','messages:filedelete-missing','s:51:\"No se pudo borrar el archivo \"$1\" porque no existe.\";'),('es','messages:filedelete-old-unregistered','s:58:\"La revisión de archivo \"$1\" no está en la base de datos.\";'),('es','messages:filedelete-current-unregistered','s:48:\"El archivo «$1» no existe en la base de datos.\";'),('es','messages:filedelete-archive-read-only','s:64:\"El servidor web no logra escribir en el directorio archivo \"$1\".\";'),('es','messages:previousdiff','s:21:\"← Edición anterior\";'),('es','messages:nextdiff','s:22:\"Edición siguiente →\";'),('es','messages:mediawarning','s:121:\"\'\'\'Atención\'\'\': Este fichero puede contener código malicioso.\nEjecutarlo podría comprometer la seguridad de su equipo.\";'),('es','messages:imagemaxsize','s:81:\"Límite de tamaño de imagen:<br />\'\'(para páginas de descripción de archivo)\'\'\";'),('es','messages:thumbsize','s:35:\"Tamaño de las vistas en miniatura:\";'),('es','messages:widthheightpage','s:39:\"$1×$2, $3 {{PLURAL:|página|páginas}}\";'),('es','messages:file-info','s:37:\"tamaño de archivo: $1; tipo MIME: $2\";'),('es','messages:file-info-size','s:56:\"$1 × $2 píxeles; tamaño de archivo: $3; tipo MIME: $4\";'),('es','messages:file-info-size-pages','s:90:\"$1× $2 píxeles, tamaño de archivo: $3, tipo MIME: $4, $5 {{PLURAL:$5|página|páginas}}\";'),('es','messages:file-nohires','s:49:\"<small>No disponible a mayor resolución.</small>\";'),('es','messages:svg-long-desc','s:67:\"archivo SVG, nominalmente $1 × $2 píxeles, tamaño de archivo: $3\";'),('es','messages:show-big-image','s:20:\"Resolución original\";'),('es','messages:show-big-image-preview','s:53:\"<small>Tamaño de esta previsualización: $1.</small>\";'),('es','messages:show-big-image-other','s:38:\"<small>Otras resoluciones: $1.</small>\";'),('es','messages:show-big-image-size','s:17:\"$1 × $2 píxeles\";'),('es','messages:file-info-gif-looped','s:8:\"bucleado\";'),('es','messages:file-info-gif-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('es','messages:file-info-png-looped','s:8:\"bucleado\";'),('es','messages:file-info-png-repeat','s:38:\"reproducido $1 {{PLURAL:$1|vez|veces}}\";'),('es','messages:file-info-png-frames','s:29:\"$1 {{PLURAL:$1|marco|marcos}}\";'),('es','messages:newimages','s:28:\"Galería de imágenes nuevas\";'),('es','messages:imagelisttext','s:77:\"Debajo hay una lista de \'\'\'$1\'\'\' {{PLURAL:$1|imagen|imágenes}} ordenadas $2.\";'),('es','messages:newimages-summary','s:76:\"Esta página especial muestra una galería de los últimos ficheros subidos.\";'),('es','messages:newimages-legend','s:18:\"Nombre del fichero\";'),('es','messages:newimages-label','s:33:\"Nombre del fichero (o una parte):\";'),('es','messages:showhidebots','s:9:\"($1 bots)\";'),('es','messages:noimages','s:20:\"No hay nada que ver.\";'),('es','messages:ilsubmit','s:6:\"Buscar\";'),('es','messages:bydate','s:9:\"por fecha\";'),('es','messages:sp-newimages-showfrom','s:45:\"Mostrar nuevas imágenes empezando por $2, $1\";'),('es','messages:minutes-abbrev','s:1:\"m\";'),('es','messages:hours-abbrev','s:1:\"h\";'),('es','messages:bad_image_list','s:316:\"El formato es el siguiente:\n\nSolo se reconocen elementos de lista (líneas que comienzan con «*»).\nEl primer enlace de cada línea debe ser un enlace al archivo que se quiere bloquear.\nTodos los demás enlaces en la misma línea se tomarán como excepciones (es decir, páginas donde sí se puede usar el archivo).\";'),('es','messages:metadata','s:9:\"Metadatos\";'),('es','messages:metadata-help','s:266:\"Este archivo contiene información adicional (metadatos), probablemente añadida por la cámara digital, el escáner o el programa usado para crearlo o digitalizarlo. Si el archivo ha sido modificado desde su estado original, pueden haberse perdido algunos detalles.\";'),('es','messages:metadata-expand','s:24:\"Mostrar datos detallados\";'),('es','messages:metadata-collapse','s:24:\"Ocultar datos detallados\";'),('es','messages:metadata-fields','s:394:\"Los campos de metadatos que se listan en este mensaje se mostrarán en la página de descripción de la imagen aún cuando la tabla de metadatos esté plegada.\nExisten otros campos que se mantendrán ocultos por defecto.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude\";'),('es','messages:exif-imagewidth','s:7:\"Anchura\";'),('es','messages:exif-imagelength','s:6:\"Altura\";'),('es','messages:exif-bitspersample','s:19:\"Bits por componente\";'),('es','messages:exif-compression','s:22:\"Esquema de compresión\";'),('es','messages:exif-photometricinterpretation','s:21:\"Composición de pixel\";'),('es','messages:exif-orientation','s:12:\"Orientación\";'),('es','messages:exif-samplesperpixel','s:22:\"Número de componentes\";'),('es','messages:exif-planarconfiguration','s:22:\"Distribución de datos\";'),('es','messages:exif-ycbcrsubsampling','s:30:\"Razón de submuestreo de Y a C\";'),('es','messages:exif-ycbcrpositioning','s:22:\"Posicionamientos Y y C\";'),('es','messages:exif-xresolution','s:22:\"Resolución horizontal\";'),('es','messages:exif-yresolution','s:20:\"Resolución vertical\";'),('es','messages:exif-stripoffsets','s:32:\"Localización de datos de imagen\";'),('es','messages:exif-rowsperstrip','s:26:\"Número de filas por banda\";'),('es','messages:exif-stripbytecounts','s:26:\"Bytes por banda comprimida\";'),('es','messages:exif-jpeginterchangeformat','s:26:\"Desplazamiento al JPEG SOI\";'),('es','messages:exif-jpeginterchangeformatlength','s:19:\"Bytes de datos JPEG\";'),('es','messages:exif-whitepoint','s:26:\"Cromacidad de punto blanco\";'),('es','messages:exif-primarychromaticities','s:22:\"Cromacidades primarias\";'),('es','messages:exif-ycbcrcoefficients','s:64:\"Coeficientes de la matriz de transformación de espacio de color\";'),('es','messages:exif-referenceblackwhite','s:46:\"Pareja de valores blanco y negro de referencia\";'),('es','messages:exif-datetime','s:41:\"Fecha y hora de modificación del archivo\";'),('es','messages:exif-imagedescription','s:20:\"Título de la imagen\";'),('es','messages:exif-make','s:24:\"Fabricante de la cámara\";'),('es','messages:exif-model','s:17:\"Modelo de cámara\";'),('es','messages:exif-software','s:14:\"Software usado\";'),('es','messages:exif-artist','s:5:\"Autor\";'),('es','messages:exif-copyright','s:32:\"Titular de los derechos de autor\";'),('es','messages:exif-exifversion','s:13:\"Versión Exif\";'),('es','messages:exif-flashpixversion','s:29:\"Versión admitida de Flashpix\";'),('es','messages:exif-colorspace','s:16:\"Espacio de color\";'),('es','messages:exif-componentsconfiguration','s:30:\"Significado de cada componente\";'),('es','messages:exif-compressedbitsperpixel','s:32:\"Modo de compresión de la imagen\";'),('es','messages:exif-pixelydimension','s:18:\"Ancho de la imagen\";'),('es','messages:exif-pixelxdimension','s:19:\"Altura de la imagen\";'),('es','messages:exif-usercomment','s:22:\"Comentarios de usuario\";'),('es','messages:exif-relatedsoundfile','s:28:\"Archivo de audio relacionado\";'),('es','messages:exif-datetimeoriginal','s:43:\"Fecha y hora de la generación de los datos\";'),('es','messages:exif-datetimedigitized','s:34:\"Fecha y hora de la digitalización\";'),('es','messages:exif-subsectime','s:48:\"Fecha y hora (precisión por debajo del segundo)\";'),('es','messages:exif-subsectimeoriginal','s:79:\"Fecha y hora de la generación de los datos (precisión por debajo del segundo)\";'),('es','messages:exif-subsectimedigitized','s:69:\"Fecha y hora de la digitalización (precisón por debajo del segundo)\";'),('es','messages:exif-exposuretime','s:21:\"Tiempo de exposición\";'),('es','messages:exif-exposuretime-format','s:11:\"$1 seg ($2)\";'),('es','messages:exif-fnumber','s:9:\"Número F\";'),('es','messages:exif-exposureprogram','s:23:\"Programa de exposición\";'),('es','messages:exif-spectralsensitivity','s:22:\"Sensibilidad espectral\";'),('es','messages:exif-isospeedratings','s:30:\"Calificación de velocidad ISO\";'),('es','messages:exif-shutterspeedvalue','s:29:\"Velocidad de obturación APEX\";'),('es','messages:exif-aperturevalue','s:13:\"Apertura APEX\";'),('es','messages:exif-brightnessvalue','s:11:\"Brillo APEX\";'),('es','messages:exif-exposurebiasvalue','s:20:\"Sesgo de exposición\";'),('es','messages:exif-maxaperturevalue','s:25:\"Valor máximo de apertura\";'),('es','messages:exif-subjectdistance','s:19:\"Distancia al sujeto\";'),('es','messages:exif-meteringmode','s:17:\"Modo de medición\";'),('es','messages:exif-lightsource','s:13:\"Fuente de luz\";'),('es','messages:exif-flash','s:5:\"Flash\";'),('es','messages:exif-focallength','s:26:\"Longitud de la lente focal\";'),('es','messages:exif-subjectarea','s:16:\"Área del sujeto\";'),('es','messages:exif-flashenergy','s:18:\"Energía del flash\";'),('es','messages:exif-focalplanexresolution','s:25:\"Resolución X plano focal\";'),('es','messages:exif-focalplaneyresolution','s:25:\"Resolución Y plano focal\";'),('es','messages:exif-focalplaneresolutionunit','s:37:\"Unidad de resolución del plano focal\";'),('es','messages:exif-subjectlocation','s:24:\"Localización del sujeto\";'),('es','messages:exif-exposureindex','s:22:\"Índice de exposición\";'),('es','messages:exif-sensingmethod','s:17:\"Método de sensor\";'),('es','messages:exif-filesource','s:17:\"Fuente de archivo\";'),('es','messages:exif-scenetype','s:14:\"Tipo de escena\";'),('es','messages:exif-customrendered','s:34:\"Procesador personalizado de imagen\";'),('es','messages:exif-exposuremode','s:19:\"Modo de exposición\";'),('es','messages:exif-whitebalance','s:17:\"Balance de blanco\";'),('es','messages:exif-digitalzoomratio','s:22:\"Razón de zoom digital\";'),('es','messages:exif-focallengthin35mmfilm','s:36:\"Longitud focal en película de 35 mm\";'),('es','messages:exif-scenecapturetype','s:25:\"Tipo de captura de escena\";'),('es','messages:exif-gaincontrol','s:17:\"Control de escena\";'),('es','messages:exif-contrast','s:9:\"Contraste\";'),('es','messages:exif-saturation','s:11:\"Saturación\";'),('es','messages:exif-sharpness','s:7:\"Agudeza\";'),('es','messages:exif-devicesettingdescription','s:43:\"Descripción de los ajustes del dispositivo\";'),('es','messages:exif-subjectdistancerange','s:28:\"Rango de distancia al sujeto\";'),('es','messages:exif-imageuniqueid','s:19:\"ID único de imagen\";'),('es','messages:exif-gpsversionid','s:27:\"Versión de la etiqueta GPS\";'),('es','messages:exif-gpslatituderef','s:19:\"Latitud norte o sur\";'),('es','messages:exif-gpslatitude','s:7:\"Latitud\";'),('es','messages:exif-gpslongituderef','s:21:\"Longitud este u oeste\";'),('es','messages:exif-gpslongitude','s:8:\"Longitud\";'),('es','messages:exif-gpsaltituderef','s:19:\"Refencia de altitud\";'),('es','messages:exif-gpsaltitude','s:7:\"Altitud\";'),('es','messages:exif-gpstimestamp','s:27:\"Tiempo GPS (reloj atómico)\";'),('es','messages:exif-gpssatellites','s:35:\"Satélites usados para la medición\";'),('es','messages:exif-gpsstatus','s:19:\"Estado del receptor\";'),('es','messages:exif-gpsmeasuremode','s:17:\"Modo de medición\";'),('es','messages:exif-gpsdop','s:23:\"Precisión de medición\";'),('es','messages:exif-gpsspeedref','s:19:\"Unidad de velocidad\";'),('es','messages:exif-gpsspeed','s:26:\"Velocidad del receptor GPS\";'),('es','messages:exif-gpstrackref','s:44:\"Referencia para la dirección del movimiento\";'),('es','messages:exif-gpstrack','s:25:\"Dirección del movimiento\";'),('es','messages:exif-gpsimgdirectionref','s:38:\"Referencia de la dirección de imágen\";'),('es','messages:exif-gpsimgdirection','s:21:\"Dirección de imágen\";'),('es','messages:exif-gpsmapdatum','s:40:\"Utilizados datos de medición geodésica\";'),('es','messages:exif-gpsdestlatituderef','s:38:\"Referencia para la latitud del destino\";'),('es','messages:exif-gpsdestlatitude','s:18:\"Destino de latitud\";'),('es','messages:exif-gpsdestlongituderef','s:39:\"Referencia para la longitud del destino\";'),('es','messages:exif-gpsdestlongitude','s:20:\"Longitud del destino\";'),('es','messages:exif-gpsdestbearingref','s:42:\"Referencia para la orientación al destino\";'),('es','messages:exif-gpsdestbearing','s:24:\"Orientación del destino\";'),('es','messages:exif-gpsdestdistanceref','s:39:\"Referencia para la distancia al destino\";'),('es','messages:exif-gpsdestdistance','s:20:\"Distancia al destino\";'),('es','messages:exif-gpsprocessingmethod','s:35:\"Nombre del método de procesado GPS\";'),('es','messages:exif-gpsareainformation','s:22:\"Nombre de la área GPS\";'),('es','messages:exif-gpsdatestamp','s:9:\"Fecha GPS\";'),('es','messages:exif-gpsdifferential','s:30:\"Corrección diferencial de GPS\";'),('es','messages:exif-jpegfilecomment','s:26:\"Comentario de archivo JPEG\";'),('es','messages:exif-keywords','s:14:\"Palabras clave\";'),('es','messages:exif-worldregioncreated','s:46:\"Región del mundo en la que se tomó la imagen\";'),('es','messages:exif-countrycreated','s:34:\"País en el que se tomó la imagen\";'),('es','messages:exif-countrycodecreated','s:52:\"Código para el país en el que la imagen fue tomada\";'),('es','messages:exif-provinceorstatecreated','s:49:\"Provincia o estado en el que la imagen fue tomada\";'),('es','messages:exif-citycreated','s:35:\"Ciudad en la que se tomó la imagen\";'),('es','messages:exif-sublocationcreated','s:49:\"Región de la ciudad en la que la foto fue tomada\";'),('es','messages:exif-worldregiondest','s:26:\"Región del mundo mostrada\";'),('es','messages:exif-countrydest','s:14:\"País mostrado\";'),('es','messages:exif-countrycodedest','s:25:\"Código de país mostrado\";'),('es','messages:exif-provinceorstatedest','s:27:\"Provincia o estado mostrado\";'),('es','messages:exif-citydest','s:15:\"Ciudad mostrada\";'),('es','messages:exif-sublocationdest','s:29:\"Región de la ciudad mostrada\";'),('es','messages:exif-objectname','s:13:\"Título breve\";'),('es','messages:exif-specialinstructions','s:24:\"Instrucciones especiales\";'),('es','messages:exif-headline','s:10:\"Encabezado\";'),('es','messages:exif-credit','s:18:\"Crédito/proveedor\";'),('es','messages:exif-source','s:6:\"Fuente\";'),('es','messages:exif-editstatus','s:29:\"Estado editorial de la imagen\";'),('es','messages:exif-urgency','s:8:\"Urgencia\";'),('es','messages:exif-fixtureidentifier','s:26:\"Nome del elemento habitual\";'),('es','messages:exif-locationdest','s:19:\"Ubicación mostrada\";'),('es','messages:exif-locationdestcode','s:33:\"Código de la ubicación mostrada\";'),('es','messages:exif-objectcycle','s:55:\"Hora del día para la cual está destinado este archivo\";'),('es','messages:exif-contact','s:24:\"Información de contacto\";'),('es','messages:exif-writer','s:8:\"Escritor\";'),('es','messages:exif-languagecode','s:6:\"Idioma\";'),('es','messages:exif-iimversion','s:12:\"Versión IIM\";'),('es','messages:exif-iimcategory','s:10:\"Categoría\";'),('es','messages:exif-iimsupplementalcategory','s:26:\"Categorías suplementarias\";'),('es','messages:exif-datetimeexpires','s:19:\"No usar después de\";'),('es','messages:exif-datetimereleased','s:10:\"Lanzado el\";'),('es','messages:exif-originaltransmissionref','s:46:\"Código de ubicación de transmisión original\";'),('es','messages:exif-identifier','s:13:\"Identificador\";'),('es','messages:exif-lens','s:15:\"Lente utilizada\";'),('es','messages:exif-serialnumber','s:30:\"Número de serie de la cámara\";'),('es','messages:exif-cameraownername','s:25:\"Propietario de la cámara\";'),('es','messages:exif-label','s:8:\"Etiqueta\";'),('es','messages:exif-datetimemetadata','s:65:\"Fecha en la cual fueron modificados por última vez los metadatos\";'),('es','messages:exif-nickname','s:28:\"Nombre informal de la imagen\";'),('es','messages:exif-rating','s:21:\"Valoración (sobre 5)\";'),('es','messages:exif-rightscertificate','s:35:\"Certificado de gestión de derechos\";'),('es','messages:exif-copyrighted','s:19:\"Estado de copyright\";'),('es','messages:exif-copyrightowner','s:21:\"Titular del copyright\";'),('es','messages:exif-usageterms','s:16:\"Términos de uso\";'),('es','messages:exif-webstatement','s:43:\"Declaración de derechos de autor en línea\";'),('es','messages:exif-originaldocumentid','s:33:\"Id. único del documento original\";'),('es','messages:exif-licenseurl','s:33:\"URL para la licencia de copyright\";'),('es','messages:exif-morepermissionsurl','s:36:\"Información de licencia alternativa\";'),('es','messages:exif-attributionurl','s:50:\"Cuando reutilices este trabajo, por favor enlaza a\";'),('es','messages:exif-preferredattributionname','s:56:\"Al volver a utilizar este trabajo, por favor da crédito\";'),('es','messages:exif-pngfilecomment','s:25:\"Comentario de archivo PNG\";'),('es','messages:exif-disclaimer','s:11:\"Aviso legal\";'),('es','messages:exif-contentwarning','s:24:\"Advertencia de contenido\";'),('es','messages:exif-giffilecomment','s:25:\"Comentario de archivo GIF\";'),('es','messages:exif-intellectualgenre','s:16:\"Tipo de elemento\";'),('es','messages:exif-subjectnewscode','s:17:\"Código de asunto\";'),('es','messages:exif-scenecode','s:22:\"Código de escena IPTC\";'),('es','messages:exif-event','s:19:\"Evento representado\";'),('es','messages:exif-organisationinimage','s:26:\"Organización representada\";'),('es','messages:exif-personinimage','s:20:\"Persona representada\";'),('es','messages:exif-originalimageheight','s:48:\"Altura de la imagen antes de que fuera recortada\";'),('es','messages:exif-originalimagewidth','s:47:\"Ancho de la imagen antes de que fuera recortada\";'),('es','messages:exif-compression-1','s:13:\"Sin comprimir\";'),('es','messages:exif-compression-2','s:64:\"CCITT Group 3 1-Dimensional Modified Huffman run length encoding\";'),('es','messages:exif-compression-3','s:34:\"Codificación de fax CCITT grupo 3\";'),('es','messages:exif-compression-4','s:34:\"Codificación de fax CCITT grupo 4\";'),('es','messages:exif-copyrighted-true','s:11:\"Copyrighted\";'),('es','messages:exif-copyrighted-false','s:16:\"Dominio público\";'),('es','messages:exif-unknowndate','s:17:\"Fecha desconocida\";'),('es','messages:exif-orientation-1','s:6:\"Normal\";'),('es','messages:exif-orientation-2','s:24:\"Volteada horizontalmente\";'),('es','messages:exif-orientation-3','s:12:\"Rotada 180°\";'),('es','messages:exif-orientation-4','s:22:\"Volteada verticalmente\";'),('es','messages:exif-orientation-5','s:40:\"Rotada 90° CCW y volteada verticalmente\";'),('es','messages:exif-orientation-6','s:26:\"Rotada 90° a la izquierda\";'),('es','messages:exif-orientation-7','s:39:\"Rotada 90° CW y volteada verticalmente\";'),('es','messages:exif-orientation-8','s:24:\"Rotada 90° a la derecha\";'),('es','messages:exif-planarconfiguration-1','s:19:\"formato panorámico\";'),('es','messages:exif-planarconfiguration-2','s:13:\"formato plano\";'),('es','messages:exif-colorspace-65535','s:12:\"Sin calibrar\";'),('es','messages:exif-componentsconfiguration-0','s:9:\"no existe\";'),('es','messages:exif-exposureprogram-0','s:11:\"No definido\";'),('es','messages:exif-exposureprogram-1','s:6:\"Manual\";'),('es','messages:exif-exposureprogram-2','s:15:\"Programa normal\";'),('es','messages:exif-exposureprogram-3','s:21:\"Prioridad de apertura\";'),('es','messages:exif-exposureprogram-4','s:22:\"Prioridad de obturador\";'),('es','messages:exif-exposureprogram-5','s:59:\"Programa creativo (con prioridad a la profundidad de campo)\";'),('es','messages:exif-exposureprogram-6','s:49:\"Programa de acción (alta velocidad de obturador)\";'),('es','messages:exif-exposureprogram-7','s:60:\"Modo retrato (para primeros planos con el fondo desenfocado)\";'),('es','messages:exif-exposureprogram-8','s:61:\"Modo panorama (para fotos panorámicas con el fondo enfocado)\";'),('es','messages:exif-subjectdistance-value','s:9:\"$1 metros\";'),('es','messages:exif-meteringmode-0','s:11:\"Desconocido\";'),('es','messages:exif-meteringmode-1','s:5:\"Media\";'),('es','messages:exif-meteringmode-2','s:17:\"Promedio centrado\";'),('es','messages:exif-meteringmode-3','s:7:\"Puntual\";'),('es','messages:exif-meteringmode-4','s:10:\"Multipunto\";'),('es','messages:exif-meteringmode-5','s:7:\"Patrón\";'),('es','messages:exif-meteringmode-6','s:7:\"Parcial\";'),('es','messages:exif-meteringmode-255','s:4:\"Otro\";'),('es','messages:exif-lightsource-0','s:11:\"Desconocido\";'),('es','messages:exif-lightsource-1','s:10:\"Luz diurna\";'),('es','messages:exif-lightsource-2','s:12:\"Fluorescente\";'),('es','messages:exif-lightsource-3','s:29:\"Tungsteno (luz incandescente)\";'),('es','messages:exif-lightsource-4','s:5:\"Flash\";'),('es','messages:exif-lightsource-9','s:11:\"Buen tiempo\";'),('es','messages:exif-lightsource-10','s:14:\"Tiempo nublado\";'),('es','messages:exif-lightsource-11','s:8:\"Penumbra\";'),('es','messages:exif-lightsource-12','s:45:\"Fluorescente de luz diurna (D 5700 – 7100K)\";'),('es','messages:exif-lightsource-13','s:47:\"Fluorescente de día soleado (N 4600 – 5400K)\";'),('es','messages:exif-lightsource-14','s:44:\"Fluorescente blanco frío (W 3900 – 4500K)\";'),('es','messages:exif-lightsource-15','s:39:\"Fluroescente blanco (WW 3200 – 3700K)\";'),('es','messages:exif-lightsource-17','s:15:\"Luz estándar A\";'),('es','messages:exif-lightsource-18','s:15:\"Luz estándar B\";'),('es','messages:exif-lightsource-19','s:15:\"Luz estándar C\";'),('es','messages:exif-lightsource-24','s:24:\"Tungsteno de estudio ISO\";'),('es','messages:exif-lightsource-255','s:18:\"Otra fuente de luz\";'),('es','messages:exif-flash-fired-0','s:23:\"No se disparó el flash\";'),('es','messages:exif-flash-fired-1','s:15:\"Flash disparado\";'),('es','messages:exif-flash-return-0','s:67:\"no hay función de detección del retorno de la luz estroboscópica\";'),('es','messages:exif-flash-return-2','s:45:\"no se detectó retorno de luz estroboscópica\";'),('es','messages:exif-flash-return-3','s:40:\"detectado retorno de luz estroboscópica\";'),('es','messages:exif-flash-mode-1','s:24:\"disparo de flash forzado\";'),('es','messages:exif-flash-mode-2','s:24:\"disparo de flash anulado\";'),('es','messages:exif-flash-mode-3','s:16:\"modo automático\";'),('es','messages:exif-flash-function-1','s:14:\"Modo sin flash\";'),('es','messages:exif-flash-redeye-1','s:32:\"modo de reducción de ojos rojos\";'),('es','messages:exif-focalplaneresolutionunit-2','s:8:\"pulgadas\";'),('es','messages:exif-sensingmethod-1','s:11:\"No definido\";'),('es','messages:exif-sensingmethod-2','s:35:\"Sensor de área de color de un chip\";'),('es','messages:exif-sensingmethod-3','s:37:\"Sensor de área de color de dos chips\";'),('es','messages:exif-sensingmethod-4','s:38:\"Sensor de área de color de tres chips\";'),('es','messages:exif-sensingmethod-5','s:35:\"Sensor de área secuencial de color\";'),('es','messages:exif-sensingmethod-7','s:16:\"Sensor trilineal\";'),('es','messages:exif-sensingmethod-8','s:33:\"Sensor lineal secuencial de color\";'),('es','messages:exif-filesource-3','s:15:\"Cámara digital\";'),('es','messages:exif-scenetype-1','s:36:\"Una imagen directamente fotografiada\";'),('es','messages:exif-customrendered-0','s:14:\"Proceso normal\";'),('es','messages:exif-customrendered-1','s:21:\"Proceso personalizado\";'),('es','messages:exif-exposuremode-0','s:23:\"Exposición automática\";'),('es','messages:exif-exposuremode-1','s:18:\"Exposición manual\";'),('es','messages:exif-exposuremode-2','s:12:\"Auto bracket\";'),('es','messages:exif-whitebalance-0','s:29:\"Balance de blanco automático\";'),('es','messages:exif-whitebalance-1','s:24:\"Balance de blanco manual\";'),('es','messages:exif-scenecapturetype-0','s:9:\"Estándar\";'),('es','messages:exif-scenecapturetype-1','s:7:\"Paisaje\";'),('es','messages:exif-scenecapturetype-2','s:7:\"Retrato\";'),('es','messages:exif-scenecapturetype-3','s:15:\"Escena nocturna\";'),('es','messages:exif-gaincontrol-0','s:7:\"Ninguna\";'),('es','messages:exif-gaincontrol-1','s:24:\"Bajo aumento de ganancia\";'),('es','messages:exif-gaincontrol-2','s:24:\"Alto aumento de ganancia\";'),('es','messages:exif-gaincontrol-3','s:29:\"Baja disminución de ganancia\";'),('es','messages:exif-gaincontrol-4','s:29:\"Alta disminución de ganancia\";'),('es','messages:exif-contrast-0','s:6:\"Normal\";'),('es','messages:exif-contrast-1','s:5:\"Suave\";'),('es','messages:exif-contrast-2','s:4:\"Duro\";'),('es','messages:exif-saturation-0','s:6:\"Normal\";'),('es','messages:exif-saturation-1','s:16:\"Baja saturación\";'),('es','messages:exif-saturation-2','s:16:\"Alta saturación\";'),('es','messages:exif-sharpness-0','s:6:\"Normal\";'),('es','messages:exif-sharpness-1','s:5:\"Suave\";'),('es','messages:exif-sharpness-2','s:4:\"Dura\";'),('es','messages:exif-subjectdistancerange-0','s:11:\"Desconocida\";'),('es','messages:exif-subjectdistancerange-1','s:5:\"Macro\";'),('es','messages:exif-subjectdistancerange-2','s:13:\"Vista cercana\";'),('es','messages:exif-subjectdistancerange-3','s:12:\"Vista lejana\";'),('es','messages:exif-gpslatitude-n','s:13:\"Latitud norte\";'),('es','messages:exif-gpslatitude-s','s:11:\"Latitud sur\";'),('es','messages:exif-gpslongitude-e','s:13:\"Longitud este\";'),('es','messages:exif-gpslongitude-w','s:14:\"Longitud oeste\";'),('es','messages:exif-gpsaltitude-above-sealevel','s:52:\"$1 {{PLURAL:$1|metro|metros}} sobre el nivel del mar\";'),('es','messages:exif-gpsaltitude-below-sealevel','s:51:\"$1 {{PLURAL:$1|metro|metros}} bajo el nivel del mar\";'),('es','messages:exif-gpsstatus-a','s:18:\"Medida en progreso\";'),('es','messages:exif-gpsstatus-v','s:27:\"Interoperabilidad de medida\";'),('es','messages:exif-gpsmeasuremode-2','s:23:\"Medición bidimensional\";'),('es','messages:exif-gpsmeasuremode-3','s:24:\"Medición tridimensional\";'),('es','messages:exif-gpsspeed-k','s:20:\"Kilómetros por hora\";'),('es','messages:exif-gpsspeed-m','s:15:\"Millas por hora\";'),('es','messages:exif-gpsspeed-n','s:5:\"Nudos\";'),('es','messages:exif-gpsdestdistance-k','s:11:\"Kilómetros\";'),('es','messages:exif-gpsdestdistance-m','s:6:\"Millas\";'),('es','messages:exif-gpsdestdistance-n','s:16:\"Millas náuticas\";'),('es','messages:exif-gpsdop-excellent','s:14:\"Excelente ($1)\";'),('es','messages:exif-gpsdop-good','s:12:\"Bueno ( $1 )\";'),('es','messages:exif-gpsdop-moderate','s:13:\"Moderado ($1)\";'),('es','messages:exif-gpsdop-fair','s:12:\"Pasable ($1)\";'),('es','messages:exif-gpsdop-poor','s:12:\"Pobre ( $1 )\";'),('es','messages:exif-objectcycle-a','s:20:\"Sólo por la mañana\";'),('es','messages:exif-objectcycle-p','s:22:\"Sólo por el atardecer\";'),('es','messages:exif-objectcycle-b','s:35:\"Tanto por la mañana y por la tarde\";'),('es','messages:exif-gpsdirection-t','s:15:\"Dirección real\";'),('es','messages:exif-gpsdirection-m','s:21:\"Dirección magnética\";'),('es','messages:exif-ycbcrpositioning-1','s:8:\"Centrado\";'),('es','messages:exif-ycbcrpositioning-2','s:14:\"Co-localizados\";'),('es','messages:exif-dc-contributor','s:13:\"Colaboradores\";'),('es','messages:exif-dc-coverage','s:37:\"Ámbito espacial o temporal del medio\";'),('es','messages:exif-dc-date','s:8:\"Fecha(s)\";'),('es','messages:exif-dc-publisher','s:9:\"Editorial\";'),('es','messages:exif-dc-relation','s:19:\"Medios relacionados\";'),('es','messages:exif-dc-rights','s:8:\"Derechos\";'),('es','messages:exif-dc-source','s:16:\"Medios de origen\";'),('es','messages:exif-dc-type','s:13:\"Tipo de medio\";'),('es','messages:exif-rating-rejected','s:9:\"Rechazado\";'),('es','messages:exif-isospeedratings-overflow','s:13:\"Más de 65535\";'),('es','messages:exif-iimcategory-ace','s:31:\"Arte, cultura y entretenimiento\";'),('es','messages:exif-iimcategory-clj','s:12:\"Crimen y ley\";'),('es','messages:exif-iimcategory-dis','s:22:\"Desastres y accidentes\";'),('es','messages:exif-iimcategory-fin','s:20:\"Economía y negocios\";'),('es','messages:exif-iimcategory-edu','s:10:\"Educación\";'),('es','messages:exif-iimcategory-evn','s:14:\"Medio ambiente\";'),('es','messages:exif-iimcategory-hth','s:5:\"Salud\";'),('es','messages:exif-iimcategory-hum','s:15:\"Interés humano\";'),('es','messages:exif-iimcategory-lab','s:7:\"Trabajo\";'),('es','messages:exif-iimcategory-lif','s:21:\"Estilo de vida y ocio\";'),('es','messages:exif-iimcategory-pol','s:9:\"Política\";'),('es','messages:exif-iimcategory-rel','s:21:\"Religión y creencias\";'),('es','messages:exif-iimcategory-sci','s:21:\"Ciencia y tecnología\";'),('es','messages:exif-iimcategory-soi','s:19:\"Cuestiones sociales\";'),('es','messages:exif-iimcategory-spo','s:8:\"Deportes\";'),('es','messages:exif-iimcategory-war','s:31:\"Guerra, conflictos y disturbios\";'),('es','messages:exif-iimcategory-wea','s:5:\"Clima\";'),('es','messages:exif-urgency-normal','s:11:\"Normal ($1)\";'),('es','messages:exif-urgency-low','s:9:\"Bajo ($1)\";'),('es','messages:exif-urgency-high','s:9:\"Alto ($1)\";'),('es','messages:exif-urgency-other','s:38:\"Prioridad definida por el usuario ($1)\";'),('es','messages:edit-externally','s:50:\"Editar este archivo usando una aplicación externa\";'),('es','messages:edit-externally-help','s:128:\"(Lee las [//www.mediawiki.org/wiki/Manual:External_editors instrucciones de configuración] -en inglés- para más información)\";'),('es','messages:watchlistall2','s:5:\"todos\";'),('es','messages:namespacesall','s:5:\"todos\";'),('es','messages:monthsall','s:5:\"todos\";'),('es','messages:limitall','s:5:\"Todos\";'),('es','messages:confirmemail','s:43:\"Confirmar dirección de correo electrónico\";'),('es','messages:confirmemail_noemail','s:111:\"No tienes una dirección de correo electrónico válida en tus [[Special:Preferences|preferencias de usuario]].\";'),('es','messages:confirmemail_text','s:238:\"{{SITENAME}} requiere la validación de tu dirección de correo antes de usarlo. Pulsa el botón de abajo para enviar la confirmación.\nEl correo incluirá un enlace con un código. Introdúcelo para confirmar la validez de tu dirección.\";'),('es','messages:confirmemail_pending','s:188:\"Ya se te ha enviado un código de confirmación; si creaste una cuenta recientemente, puede que tengas que esperar unos minutos para que te llegue antes de intentar pedir un nuevo código.\";'),('es','messages:confirmemail_send','s:35:\"Envíar el código de confimación.\";'),('es','messages:confirmemail_sent','s:32:\"Confirmación de correo enviada.\";'),('es','messages:confirmemail_oncreate','s:225:\"Se ha enviado un código de confirmación a tu dirección de correo electrónico.\nEste código no es necesario para entrar, pero necesitarás darlo antes de activar cualquier función basada en correo electrónico en el wiki.\";'),('es','messages:confirmemail_sendfailed','s:143:\"No fue posible enviar el correo de confirmación. Por favor, comprueba la validez de la dirección de correo.\n\nEl servidor indicó el error: $1\";'),('es','messages:confirmemail_invalid','s:68:\"Código de confirmación incorrecto. El código debe haber expirado.\";'),('es','messages:confirmemail_needlogin','s:55:\"Necesitas $1 para confirmar tu dirección electrónica.\";'),('es','messages:confirmemail_success','s:115:\"Su dirección de correo ha sido confirmada\nAhora puedes [[Special:UserLogin|identificarte]] y colaborar en el wiki.\";'),('es','messages:confirmemail_loggedin','s:56:\"Tu dirección de correo electrónico ha sido confirmada.\";'),('es','messages:confirmemail_error','s:44:\"Algo salió mal al guardar su confirmación.\";'),('es','messages:confirmemail_subject','s:56:\"confirmación de la dirección de correo de {{SITENAME}}\";'),('es','messages:confirmemail_body','s:418:\"Alguien, probablemente usted mismo, ha registrado desde la dirección IP $1 la cuenta \"$2\" en {{SITENAME}}, utilizando esta dirección de correo.\n\nPara confirmar que esta cuenta realmente le pertenece y activar el correo en {{SITENAME}}, siga este enlace:\n\n$3\n\nSi la cuenta *no* es suya, siga este otro enlace para cancelar la confirmación de la dirección de correo:\n\n$5\n\nEl código de confirmación expirará en $4.\";'),('es','messages:confirmemail_body_changed','s:461:\"Alguien, probablemente tú,\nha modificado la dirección de correo electrónico asociado a la cuenta \"$2\" hacia esta en {{SITENAME}}, desde la dirección IP $1.\n\nPara confirmar que esta cuenta realmente te pertenece y reactivar las funciones de correo electrónico en {{SITENAME}}, abre este enlace en su navegador:\n\n$3\n\nSi la cuenta *no* te pertenece, sigue el siguiente enlace para cancelar la confirmación:\n\n$5\n\nEste código de confirmación expirará el $4.\";'),('es','messages:confirmemail_body_set','s:486:\"Alguien, probablemente tu desde la dirección IP $1,\nha cambiado la dirección de correo electrónico de la cuenta $2 a esta dirección en {{SITENAME}}.\n\nPara confirmar que esta cuenta realmente te pertenece y reactivar las capacidades del correo electrónico en {{SITENAME}}, abre este enlace en tu navegador:\n\n$3\n\nSi la cuenta *no* te pertenece sigue entonces este otro enlace para cancelar la confirmación del correo electrónico:\n\n$5\n\nEste código de confirmación caducará el $4.\";'),('es','messages:confirmemail_invalidated','s:74:\"La confirmación de la dirección de correo electrónico ha sido cancelada\";'),('es','messages:invalidateemail','s:45:\"Cancelar confirmación de correo electrónico\";'),('es','messages:scarytranscludedisabled','s:45:\"[Transclusión interwiki está deshabilitada]\";'),('es','messages:scarytranscludefailed','s:40:\"[Obtención de plantilla falló para $1]\";'),('es','messages:scarytranscludetoolong','s:27:\"[El URL es demasiado largo]\";'),('es','messages:trackbackbox','s:44:\"\'\'Trackbacks\'\' para este artículo:<br />\n$1\";'),('es','messages:trackbackremove','s:13:\"([$1 Borrar])\";'),('es','messages:trackbacklink','s:13:\"\'\'Trackback\'\'\";'),('es','messages:trackbackdeleteok','s:37:\"El trackback se borró correctamente.\";'),('es','messages:deletedwhileediting','s:80:\"\'\'\'Aviso\'\'\': ¡Esta página fue borrada después de que usted empezara a editar!\";'),('es','messages:confirmrecreate','s:214:\"El usuario [[User:$1|$1]] ([[User talk:$1|discusión]]) borró este artículo después de que tú empezaces a editarlo y dio esta razón: \'\'$2\'\' Por favor, confirma que realmente deseas crear de nuevo el artículo.\";'),('es','messages:confirmrecreate-noreason','s:177:\"El usuario [[User:$1|$1]] ([[User talk:$1|discusión]]) borró esta página después de que comenzaras a editarla. Por favor confirma que realmente quieres recrear esta página.\";'),('es','messages:recreate','s:14:\"Crear de nuevo\";'),('es','messages:confirm_purge_button','s:7:\"Aceptar\";'),('es','messages:confirm-purge-top','s:36:\"¿Limpiar la caché de esta página?\";'),('es','messages:confirm-purge-bottom','s:84:\"Purgar una página limpia la caché y fuerza a que aparezca la versión más actual.\";'),('es','messages:confirm-watch-button','s:7:\"Aceptar\";'),('es','messages:confirm-watch-top','s:49:\"¿Añadir esta página a tu lista de seguimiento?\";'),('es','messages:confirm-unwatch-button','s:7:\"Aceptar\";'),('es','messages:confirm-unwatch-top','s:49:\"¿Quitar esta página de tu lista de seguimiento?\";'),('es','messages:comma-separator','s:6:\",&#32;\";'),('es','messages:imgmultipageprev','s:20:\"← página anterior\";'),('es','messages:imgmultipagenext','s:21:\"siguiente página →\";'),('es','messages:imgmultigo','s:5:\"¡Ir!\";'),('es','messages:imgmultigoto','s:18:\"Ir a la página $1\";'),('es','messages:ascending_abbrev','s:3:\"asc\";'),('es','messages:descending_abbrev','s:4:\"desc\";'),('es','messages:table_pager_next','s:17:\"Página siguiente\";'),('es','messages:table_pager_prev','s:16:\"Página anterior\";'),('es','messages:table_pager_first','s:15:\"Primera página\";'),('es','messages:table_pager_last','s:15:\"Última página\";'),('es','messages:table_pager_limit','s:32:\"Mostrar $1 elementos por página\";'),('es','messages:table_pager_limit_label','s:18:\"Items por página:\";'),('es','messages:table_pager_limit_submit','s:2:\"Ir\";'),('es','messages:table_pager_empty','s:17:\"No hay resultados\";'),('es','messages:autosumm-blank','s:18:\"Página blanqueada\";'),('es','messages:autosumm-replace','s:30:\"Página reemplazada por «$1»\";'),('es','messages:autoredircomment','s:27:\"Página redirigida a [[$1]]\";'),('es','messages:autosumm-new','s:25:\"Página creada con «$1»\";'),('es','messages:livepreview-loading','s:11:\"Cargando…\";'),('es','messages:livepreview-ready','s:20:\"Cargando… ¡Listo!\";'),('es','messages:livepreview-failed','s:75:\"¡La previsualización al vuelo falló!\nPrueba la previsualización normal.\";'),('es','messages:livepreview-error','s:75:\"No se pudo conectar:  $1  «$2».\nIntenta usar la previsualización normal.\";'),('es','messages:lag-warn-normal','s:120:\"Los cambios realizados en {{PLURAL:$1|el último segundo|los últimos $1 segundos}} podrían no mostrarse en esta lista.\";'),('es','messages:lag-warn-high','s:177:\"Debido a una alta latencia el servidor de base de datos, los cambios realizados en {{PLURAL:$1|el último segundo|los últimos $1 segundos}} podrían no mostrarse en esta lista.\";'),('es','messages:watchlistedit-numitems','s:108:\"Tu lista de seguimiento tiene {{PLURAL:$1|una página |$1 páginas}}, excluyendo las páginas de discusión.\";'),('es','messages:watchlistedit-noitems','s:37:\"Tu lista de seguimiento está vacía.\";'),('es','messages:watchlistedit-normal-title','s:27:\"Editar lista de seguimiento\";'),('es','messages:watchlistedit-normal-legend','s:42:\"Borrar títulos de la lista de seguimiento\";'),('es','messages:watchlistedit-normal-explain','s:241:\"A continuación se listan las páginas en tu lista de seguimiento.\nPara quitar un título, marca la casilla junto a él, y pulsa «{{int:Watchlistedit-normal-submit}}».\nTambién puedes [[Special:EditWatchlist/raw|editar la lista en crudo]].\";'),('es','messages:watchlistedit-normal-submit','s:15:\"Borrar páginas\";'),('es','messages:watchlistedit-normal-done','s:97:\"{{PLURAL:$1|1 página ha sido borrada|$1 páginas han sido borradas}} de tu lista de seguimiento:\";'),('es','messages:watchlistedit-raw-title','s:36:\"Editar lista de seguimiento en crudo\";'),('es','messages:watchlistedit-raw-legend','s:44:\"Editar tu lista de seguimiento en modo texto\";'),('es','messages:watchlistedit-raw-explain','s:287:\"A continuación se listan las páginas en tu lista de seguimiento. Esta lista puede editarse añadiendo o eliminando líneas de la lista;\nun título por línea.\nCuando acabes, pulsa «{{int:Watchlistedit-raw-submit}}».\nTambién puedes [[Special:EditWatchlist|usar el editor estándar]].\";'),('es','messages:watchlistedit-raw-titles','s:9:\"Páginas:\";'),('es','messages:watchlistedit-raw-submit','s:31:\"Actualizar lista de seguimiento\";'),('es','messages:watchlistedit-raw-done','s:42:\"Tu lista de seguimiento se ha actualizado.\";'),('es','messages:watchlistedit-raw-added','s:69:\"{{PLURAL:$1|Se ha añadido una página|Se han añadido $1 páginas}}:\";'),('es','messages:watchlistedit-raw-removed','s:72:\"{{PLURAL:$1|Una página ha sido borrada|$1 páginas han sido borradas}}:\";'),('es','messages:watchlisttools-view','s:11:\"Ver cambios\";'),('es','messages:watchlisttools-edit','s:36:\"Ver y editar tu lista de seguimiento\";'),('es','messages:watchlisttools-raw','s:36:\"Editar lista de seguimiento en crudo\";'),('es','messages:unknown_extension_tag','s:27:\"Etiqueta desconocida «$1»\";'),('es','messages:duplicate-defaultsort','s:111:\"\'\'\'Atención:\'\'\' La clave de ordenamiento predeterminada «$2» anula la clave de ordenamiento anterior «$1».\";'),('es','messages:version','s:8:\"Versión\";'),('es','messages:version-extensions','s:22:\"Extensiones instaladas\";'),('es','messages:version-specialpages','s:19:\"Páginas especiales\";'),('es','messages:version-parserhooks','s:38:\"Extensiones del analizador sintáctico\";'),('es','messages:version-variables','s:9:\"Variables\";'),('es','messages:version-antispam','s:19:\"Prevención de spam\";'),('es','messages:version-skins','s:6:\"Pieles\";'),('es','messages:version-other','s:4:\"Otro\";'),('es','messages:version-mediahandlers','s:22:\"Manejadores multimedia\";'),('es','messages:version-hooks','s:11:\"Extensiones\";'),('es','messages:version-extension-functions','s:24:\"Funciones de extensiones\";'),('es','messages:version-parser-extensiontags','s:37:\"Etiquetas de extensiones sintácticas\";'),('es','messages:version-parser-function-hooks','s:37:\"Extensiones de funciones sintácticas\";'),('es','messages:version-hook-name','s:23:\"Nombre de la extensión\";'),('es','messages:version-hook-subscribedby','s:12:\"Suscrito por\";'),('es','messages:version-version','s:13:\"(Versión $1)\";'),('es','messages:version-license','s:8:\"Licencia\";'),('es','messages:version-poweredby-credits','s:93:\"Este wiki funciona gracias a \'\'\'[//www.mediawiki.org/ MediaWiki]\'\'\', copyright © 2001-$1 $2.\";'),('es','messages:version-poweredby-others','s:5:\"otros\";'),('es','messages:version-license-info','s:835:\"MediaWiki es software libre; puedes redistribuírlo y/o modificarlo bajo los términos de la Licencia General Pública GNU publicada por la Fundación del Software Libre; ya sea la versión 2 de la licencia, o (a tu elección) cualquier versión posterior.\n\nMediaWiki es distribuído con la esperanza de que será útil, pero SIN NINGUNA GARANTÍA; ni siquiera con la garantía implícita de COMERCIALIZACIÓN ó ADAPTACIÓN A UN PROPÓSITO PARTICULAR. Véase la Licencia Pública General GNU para mayores detalles.\n\nHas recibido [{{SERVER}}{{SCRIPTPATH}}/COPYING una copia de la Licencia Pública General GNU] junto a este programa; si no es así, escríbale a la Fundación del Software Libre, Inc., Calle Franklin 51, Quinto Piso, Boston, MA 02110-1301, EE.UU. ó [//www.gnu.org/licenses/old-licenses/gpl-2.0.html léela en línea].\";'),('es','messages:version-software','s:18:\"Software instalado\";'),('es','messages:version-software-product','s:8:\"Producto\";'),('es','messages:version-software-version','s:8:\"Versión\";'),('es','messages:filepath','s:15:\"Ruta de archivo\";'),('es','messages:filepath-page','s:8:\"Archivo:\";'),('es','messages:filepath-submit','s:2:\"Ir\";'),('es','messages:filepath-summary','s:176:\"Esta página devuelve la ruta completa de un archivo.\nLas imágenes se muestran en resolución máxima, otros tipos de archivo se inician directamente con su programa asociado.\";'),('es','messages:fileduplicatesearch','s:32:\"Búsqueda de archivos duplicados\";'),('es','messages:fileduplicatesearch-summary','s:57:\"Búsqueda de archivos duplicados en base a su valor hash.\";'),('es','messages:fileduplicatesearch-legend','s:16:\"Busca duplicados\";'),('es','messages:fileduplicatesearch-filename','s:19:\"Nombre del fichero:\";'),('es','messages:fileduplicatesearch-submit','s:6:\"Buscar\";'),('es','messages:fileduplicatesearch-info','s:53:\"$1 × $2 píxeles<br />Tamaño: $3<br />Tipo MIME: $4\";'),('es','messages:fileduplicatesearch-result-1','s:49:\"El archivo «$1» no tiene duplicados idénticos.\";'),('es','messages:fileduplicatesearch-result-n','s:85:\"El archivo «$1» tiene {{PLURAL:$2|1 duplicado idéntico|$2 duplicados idénticos}}.\";'),('es','messages:fileduplicatesearch-noresults','s:48:\"Ningún archivo con el nombre «$1» encontrado.\";'),('es','messages:specialpages','s:19:\"Páginas especiales\";'),('es','messages:specialpages-note','s:217:\"----\n* Páginas especiales normales\n* <span class=\"mw-specialpagerestricted\">Páginas especiales restringidas.</span>\n* <span class=\"mw-specialpagecached\">Páginas especiales en caché (podrían ser obsoletas).</span>\";'),('es','messages:specialpages-group-maintenance','s:25:\"Reportes de mantenimiento\";'),('es','messages:specialpages-group-other','s:25:\"Otras páginas especiales\";'),('es','messages:specialpages-group-login','s:29:\"Iniciar sesión / Registrarse\";'),('es','messages:specialpages-group-changes','s:29:\"Cambios recientes y registros\";'),('es','messages:specialpages-group-media','s:23:\"Páginas sobre archivos\";'),('es','messages:specialpages-group-users','s:19:\"Usuarios y permisos\";'),('es','messages:specialpages-group-highuse','s:19:\"Páginas sobre usos\";'),('es','messages:specialpages-group-pages','s:18:\"Listas de páginas\";'),('es','messages:specialpages-group-pagetools','s:24:\"Herramientas de páginas\";'),('es','messages:specialpages-group-wiki','s:29:\"Herramientas y datos del wiki\";'),('es','messages:specialpages-group-redirects','s:26:\"Búsquedas y redirecciones\";'),('es','messages:specialpages-group-spam','s:22:\"Herramientas anti-SPAM\";'),('es','messages:blankpage','s:14:\"Página vacía\";'),('es','messages:intentionallyblankpage','s:51:\"Esta pagina está en blanco de manera intencionada.\";'),('es','messages:external_image_whitelist','s:534:\" #Deja esta línea exactamente como está<pre>\n#Colocar fragmentos de expresiones regulares (sólo la parte que va entre los //) debajo\n#Estos coincidirán con los URLs de las imágenes externas (hotlinked)\n#Aquellos que coincidan serán mostrados como imágenes, de lo contrario solamente un vínculo a la imagen será mostrada\n#Las líneas que empiezan por «#» se consideran comentarios\n#Esta es insensible a las mayúsculas\n\n#Colocar todos los fragmentos regex arriba de esta línea. Deja esta línea exactamente como está</pre>\";'),('es','messages:tags','s:27:\"Cambio de etiquetas válida\";'),('es','messages:tag-filter','s:37:\"Filtro de [[Special:Tags|etiquetas]]:\";'),('es','messages:tag-filter-submit','s:6:\"Filtro\";'),('es','messages:tags-title','s:9:\"Etiquetas\";'),('es','messages:tags-intro','s:100:\"Esta página lista las etiquetas con las que el software puede marcar una edición y su significado.\";'),('es','messages:tags-tag','s:18:\"Nombre de etiqueta\";'),('es','messages:tags-display-header','s:33:\"Apariencia de la lista de cambios\";'),('es','messages:tags-description-header','s:36:\"Descripción completa de significado\";'),('es','messages:tags-hitcount-header','s:19:\"Cambios etiquetados\";'),('es','messages:tags-edit','s:6:\"editar\";'),('es','messages:tags-hitcount','s:31:\"$1 {{PLURAL:$1|cambio|cambios}}\";'),('es','messages:comparepages','s:17:\"Comparar páginas\";'),('es','messages:compare-selector','s:30:\"Comparar revisiones de página\";'),('es','messages:compare-page1','s:9:\"Página 1\";'),('es','messages:compare-page2','s:9:\"Página 2\";'),('es','messages:compare-rev1','s:11:\"Revisión 1\";'),('es','messages:compare-rev2','s:11:\"Revisión 2\";'),('es','messages:compare-submit','s:8:\"Comparar\";'),('es','messages:dberr-header','s:27:\"Este wiki tiene un problema\";'),('es','messages:dberr-problems','s:68:\"Lo sentimos.\nEste sitio está experimentando dificultades técnicas.\";'),('es','messages:dberr-again','s:41:\"Prueba a recargar dentro de unos minutos.\";'),('es','messages:dberr-info','s:61:\"(No se puede contactar con la base de datos del servidor: $1)\";'),('es','messages:dberr-usegoogle','s:58:\"Mientras tanto puedes probar buscando a través de Google.\";'),('es','messages:dberr-outofdate','s:77:\"Ten en cuenta que su índice de nuestro contenido puede estar desactualizado.\";'),('es','messages:dberr-cachederror','s:92:\"La siguiente es una página guardada de la página solicitada, y puede no estar actualizada.\";'),('es','messages:htmlform-invalid-input','s:55:\"Hay problemas con alguno de los datos que has ingresado\";'),('es','messages:htmlform-select-badoption','s:53:\"El valor que especificaste no es una opción válida.\";'),('es','messages:htmlform-int-invalid','s:43:\"El valor que especificaste no es un entero.\";'),('es','messages:htmlform-float-invalid','s:46:\"El valor que ha especificado no es un número.\";'),('es','messages:htmlform-int-toolow','s:57:\"El valor que especificaste está debajo del mínimo de $1\";'),('es','messages:htmlform-int-toohigh','s:57:\"El valor que especificaste está arriba del máximo de $1\";'),('es','messages:htmlform-required','s:25:\"Este valor es obligatorio\";'),('es','messages:htmlform-submit','s:6:\"Enviar\";'),('es','messages:htmlform-reset','s:16:\"Deshacer cambios\";'),('es','messages:htmlform-selectorother-other','s:4:\"Otro\";'),('es','messages:sqlite-has-fts','s:47:\"$1 con soporte para búsqueda de texto completo\";'),('es','messages:sqlite-no-fts','s:47:\"$1 sin soporte para búsqueda de texto completo\";'),('es','messages:sidebar','s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";'),('es','messages:pagecategorieslink','s:18:\"Special:Categories\";'),('es','messages:linkprefix','s:31:\"/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD\";'),('es','messages:sitetitle','s:12:\"{{SITENAME}}\";'),('es','messages:sitesubtitle','s:0:\"\";'),('es','messages:addsection','s:1:\"+\";'),('es','messages:talkpageheader','s:1:\"-\";'),('es','messages:pagetitle','s:17:\"$1 - {{SITENAME}}\";'),('es','messages:pagetitle-view-mainpage','s:12:\"{{SITENAME}}\";'),('es','messages:newtalkseparator','s:6:\",&#32;\";'),('es','messages:editsection-brackets','s:4:\"[$1]\";'),('es','messages:feed-atom','s:4:\"Atom\";'),('es','messages:feed-rss','s:3:\"RSS\";'),('es','messages:sitenotice','s:1:\"-\";'),('es','messages:anonnotice','s:1:\"-\";'),('es','messages:newsectionheaderdefaultlevel','s:8:\"== $1 ==\";'),('es','messages:mainpage-nstab','s:0:\"\";'),('es','messages:nocookiesforlogin','s:22:\"{{int:nocookieslogin}}\";'),('es','messages:loginstart','s:0:\"\";'),('es','messages:loginend','s:0:\"\";'),('es','messages:loginend-https','s:0:\"\";'),('es','messages:signupstart','s:18:\"{{int:loginstart}}\";'),('es','messages:signupend','s:16:\"{{int:loginend}}\";'),('es','messages:signupend-https','s:0:\"\";'),('es','messages:loginlanguagelinks','s:99:\"* Deutsch|de\n* English|en\n* Esperanto|eo\n* Français|fr\n* Español|es\n* Italiano|it\n* Nederlands|nl\";'),('es','messages:pear-mail-error','s:2:\"$1\";'),('es','messages:php-mail-error','s:2:\"$1\";'),('es','messages:newarticletextanon','s:22:\"{{int:newarticletext}}\";'),('es','messages:talkpagetext','s:31:\"<!-- MediaWiki:talkpagetext -->\";'),('es','messages:noarticletextanon','s:21:\"{{int:noarticletext}}\";'),('es','messages:editpage-tos-summary','s:1:\"-\";'),('es','messages:longpage-hint','s:1:\"-\";'),('es','messages:edittools-upload','s:1:\"-\";'),('es','messages:addsection-preload','s:0:\"\";'),('es','messages:addsection-editintro','s:0:\"\";'),('es','messages:revision-info-current','s:1:\"-\";'),('es','messages:revision-nav','s:65:\"($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)\";'),('es','messages:history_copyright','s:1:\"-\";'),('es','messages:search-summary','s:0:\"\";'),('es','messages:searchmenu-new-nocreate','s:0:\"\";'),('es','messages:searchmenu-help','s:46:\"[[{{MediaWiki:Searchhelp-url}}|{{int:help}}]]?\";'),('es','messages:search-interwiki-custom','s:0:\"\";'),('es','messages:googlesearch','s:630:\"<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n	<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n	<input type=\"hidden\" name=\"num\" value=\"50\" />\n	<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n	<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n	<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n	<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>\";'),('es','messages:opensearch-desc','s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";'),('es','messages:preferences-summary','s:0:\"\";'),('es','messages:prefs-memberingroups-type','s:2:\"$1\";'),('es','messages:prefs-registration-date-time','s:2:\"$1\";'),('es','messages:userrights-summary','s:0:\"\";'),('es','messages:userrights-irreversible-marker','s:3:\"$1*\";'),('es','messages:recentchanges-url','s:21:\"Special:RecentChanges\";'),('es','messages:unpatrolledletter','s:1:\"!\";'),('es','messages:sectionlink','s:3:\"→\";'),('es','messages:number_of_watching_users_RCview','s:4:\"[$1]\";'),('es','messages:rc-change-size','s:2:\"$1\";'),('es','messages:recentchangeslinked-backlink','s:6:\"← $1\";'),('es','messages:upload-summary','s:0:\"\";'),('es','messages:uploadfooter','s:1:\"-\";'),('es','messages:filename-prefix-blacklist','s:432:\" #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical file names assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->\";'),('es','messages:licenses','s:1:\"-\";'),('es','messages:shareddescriptionfollows','s:1:\"-\";'),('es','messages:shared-repo-name-wikimediacommons','s:17:\"Wikimedia Commons\";'),('es','messages:filepage.css','s:101:\"/* CSS placed here is included on the file description page, also included on foreign client wikis */\";'),('es','messages:filerevert-backlink','s:6:\"← $1\";'),('es','messages:filedelete-backlink','s:6:\"← $1\";'),('es','messages:unwatchedpages-summary','s:0:\"\";'),('es','messages:listredirects-summary','s:0:\"\";'),('es','messages:unusedtemplates-summary','s:0:\"\";'),('es','messages:randompage-url','s:14:\"Special:Random\";'),('es','messages:statistics-summary','s:0:\"\";'),('es','messages:statistics-footer','s:0:\"\";'),('es','messages:disambiguations-summary','s:0:\"\";'),('es','messages:doubleredirects-summary','s:0:\"\";'),('es','messages:brokenredirects-summary','s:0:\"\";'),('es','messages:fewestrevisions-summary','s:0:\"\";'),('es','messages:lonelypages-summary','s:0:\"\";'),('es','messages:uncategorizedpages-summary','s:0:\"\";'),('es','messages:uncategorizedcategories-summary','s:0:\"\";'),('es','messages:uncategorizedimages-summary','s:0:\"\";'),('es','messages:uncategorizedtemplates-summary','s:0:\"\";'),('es','messages:popularpages-summary','s:0:\"\";'),('es','messages:wantedcategories-summary','s:0:\"\";'),('es','messages:wantedpages-summary','s:0:\"\";'),('es','messages:wantedfiles-summary','s:0:\"\";'),('es','messages:wantedtemplates-summary','s:0:\"\";'),('es','messages:mostlinked-summary','s:0:\"\";'),('es','messages:mostlinkedcategories-summary','s:0:\"\";'),('es','messages:mostlinkedtemplates-summary','s:0:\"\";'),('es','messages:mostcategories-summary','s:0:\"\";'),('es','messages:mostimages-summary','s:0:\"\";'),('es','messages:mostrevisions-summary','s:0:\"\";'),('es','messages:prefixindex-summary','s:0:\"\";'),('es','messages:shortpages-summary','s:0:\"\";'),('es','messages:longpages-summary','s:0:\"\";'),('es','messages:deadendpages-summary','s:0:\"\";'),('es','messages:protectedpages-summary','s:0:\"\";'),('es','messages:protectedtitles-summary','s:0:\"\";'),('es','messages:listusers-summary','s:0:\"\";'),('es','messages:newpages-summary','s:0:\"\";'),('es','messages:ancientpages-summary','s:0:\"\";'),('es','messages:booksources-summary','s:0:\"\";'),('es','messages:booksources-isbn','s:5:\"ISBN:\";'),('es','messages:rfcurl','s:27:\"//tools.ietf.org/html/rfc$1\";'),('es','messages:pubmedurl','s:46:\"//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract\";'),('es','messages:allpages-summary','s:0:\"\";'),('es','messages:categories-summary','s:0:\"\";'),('es','messages:activeusers-summary','s:0:\"\";'),('es','messages:newuserlogentry','s:0:\"\";'),('es','messages:listgrouprights-right-display','s:61:\"<span class=\"listgrouprights-granted\">$1 <tt>($2)</tt></span>\";'),('es','messages:listgrouprights-right-revoked','s:61:\"<span class=\"listgrouprights-revoked\">$1 <tt>($2)</tt></span>\";'),('es','messages:usermessage-template','s:21:\"MediaWiki:UserMessage\";'),('es','messages:delete-backlink','s:6:\"← $1\";'),('es','messages:protect-backlink','s:6:\"← $1\";'),('es','messages:sp-contributions-explain','s:0:\"\";'),('es','messages:sp-contributions-footer','s:1:\"-\";'),('es','messages:sp-contributions-footer-anon','s:1:\"-\";'),('es','messages:whatlinkshere-summary','s:0:\"\";'),('es','messages:whatlinkshere-backlink','s:6:\"← $1\";'),('es','messages:blocklist-summary','s:0:\"\";'),('es','messages:sorbs','s:5:\"DNSBL\";'),('es','messages:accesskey-pt-userpage','s:1:\".\";'),('es','messages:accesskey-pt-anonuserpage','s:1:\".\";'),('es','messages:accesskey-pt-mytalk','s:1:\"n\";'),('es','messages:accesskey-pt-anontalk','s:1:\"n\";'),('es','messages:accesskey-pt-preferences','s:0:\"\";'),('es','messages:accesskey-pt-watchlist','s:1:\"l\";'),('es','messages:accesskey-pt-mycontris','s:1:\"y\";'),('es','messages:accesskey-pt-login','s:1:\"o\";'),('es','messages:accesskey-pt-anonlogin','s:1:\"o\";'),('es','messages:accesskey-pt-logout','s:0:\"\";'),('es','messages:accesskey-ca-talk','s:1:\"t\";'),('es','messages:accesskey-ca-edit','s:1:\"e\";'),('es','messages:accesskey-ca-addsection','s:1:\"+\";'),('es','messages:accesskey-ca-viewsource','s:1:\"e\";'),('es','messages:accesskey-ca-history','s:1:\"h\";'),('es','messages:accesskey-ca-protect','s:1:\"=\";'),('es','messages:accesskey-ca-unprotect','s:1:\"=\";'),('es','messages:accesskey-ca-delete','s:1:\"d\";'),('es','messages:accesskey-ca-undelete','s:1:\"d\";'),('es','messages:accesskey-ca-move','s:1:\"m\";'),('es','messages:accesskey-ca-watch','s:1:\"w\";'),('es','messages:accesskey-ca-unwatch','s:1:\"w\";'),('es','messages:accesskey-search','s:1:\"f\";'),('es','messages:accesskey-search-go','s:0:\"\";'),('es','messages:accesskey-search-fulltext','s:0:\"\";'),('es','messages:accesskey-p-logo','s:0:\"\";'),('es','messages:accesskey-n-mainpage','s:1:\"z\";'),('es','messages:accesskey-n-mainpage-description','s:1:\"z\";'),('es','messages:accesskey-n-portal','s:0:\"\";'),('es','messages:accesskey-n-currentevents','s:0:\"\";'),('es','messages:accesskey-n-recentchanges','s:1:\"r\";'),('es','messages:accesskey-n-randompage','s:1:\"x\";'),('es','messages:accesskey-n-help','s:0:\"\";'),('es','messages:accesskey-t-whatlinkshere','s:1:\"j\";'),('es','messages:accesskey-t-recentchangeslinked','s:1:\"k\";'),('es','messages:accesskey-feed-rss','s:0:\"\";'),('es','messages:accesskey-feed-atom','s:0:\"\";'),('es','messages:accesskey-t-contributions','s:0:\"\";'),('es','messages:accesskey-t-emailuser','s:0:\"\";'),('es','messages:accesskey-t-permalink','s:0:\"\";'),('es','messages:accesskey-t-print','s:1:\"p\";'),('es','messages:accesskey-t-upload','s:1:\"u\";'),('es','messages:accesskey-t-specialpages','s:1:\"q\";'),('es','messages:accesskey-ca-nstab-main','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-user','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-media','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-special','s:0:\"\";'),('es','messages:accesskey-ca-nstab-project','s:1:\"a\";'),('es','messages:accesskey-ca-nstab-image','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-mediawiki','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-template','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-help','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-category','s:1:\"c\";'),('es','messages:accesskey-minoredit','s:1:\"i\";'),('es','messages:accesskey-save','s:1:\"s\";'),('es','messages:accesskey-preview','s:1:\"p\";'),('es','messages:accesskey-diff','s:1:\"v\";'),('es','messages:accesskey-compareselectedversions','s:1:\"v\";'),('es','messages:accesskey-watch','s:1:\"w\";'),('es','messages:accesskey-upload','s:1:\"s\";'),('es','messages:accesskey-preferences-save','s:1:\"s\";'),('es','messages:accesskey-summary','s:1:\"b\";'),('es','messages:accesskey-userrights-set','s:1:\"s\";'),('es','messages:accesskey-blockip-block','s:1:\"s\";'),('es','messages:accesskey-export','s:1:\"s\";'),('es','messages:accesskey-import','s:1:\"s\";'),('es','messages:noscript.css','s:64:\"/* CSS placed here will affect users with JavaScript disabled */\";'),('es','messages:group-autoconfirmed.css','s:58:\"/* CSS placed here will affect autoconfirmed users only */\";'),('es','messages:group-bot.css','s:43:\"/* CSS placed here will affect bots only */\";'),('es','messages:group-sysop.css','s:45:\"/* CSS placed here will affect sysops only */\";'),('es','messages:group-bureaucrat.css','s:50:\"/* CSS placed here will affect bureaucrats only */\";'),('es','messages:group-autoconfirmed.js','s:69:\"/* Any JavaScript here will be loaded for autoconfirmed users only */\";'),('es','messages:group-bot.js','s:54:\"/* Any JavaScript here will be loaded for bots only */\";'),('es','messages:group-sysop.js','s:56:\"/* Any JavaScript here will be loaded for sysops only */\";'),('es','messages:group-bureaucrat.js','s:61:\"/* Any JavaScript here will be loaded for bureaucrats only */\";'),('es','messages:markaspatrolledlink','s:4:\"[$1]\";'),('es','messages:widthheight','s:8:\"$1 × $2\";'),('es','messages:video-dims','s:12:\"$1, $2 × $3\";'),('es','messages:seconds-abbrev','s:1:\"s\";'),('es','messages:days-abbrev','s:1:\"d\";'),('es','messages:variantname-zh-hans','s:4:\"hans\";'),('es','messages:variantname-zh-hant','s:4:\"hant\";'),('es','messages:variantname-zh-cn','s:2:\"cn\";'),('es','messages:variantname-zh-tw','s:2:\"tw\";'),('es','messages:variantname-zh-hk','s:2:\"hk\";'),('es','messages:variantname-zh-mo','s:2:\"mo\";'),('es','messages:variantname-zh-sg','s:2:\"sg\";'),('es','messages:variantname-zh-my','s:2:\"my\";'),('es','messages:variantname-zh','s:2:\"zh\";'),('es','messages:variantname-gan-hans','s:4:\"hans\";'),('es','messages:variantname-gan-hant','s:4:\"hant\";'),('es','messages:variantname-gan','s:3:\"gan\";'),('es','messages:variantname-sr-ec','s:5:\"sr-ec\";'),('es','messages:variantname-sr-el','s:5:\"sr-el\";'),('es','messages:variantname-sr','s:2:\"sr\";'),('es','messages:variantname-kk-kz','s:5:\"kk-kz\";'),('es','messages:variantname-kk-tr','s:5:\"kk-tr\";'),('es','messages:variantname-kk-cn','s:5:\"kk-cn\";'),('es','messages:variantname-kk-cyrl','s:7:\"kk-cyrl\";'),('es','messages:variantname-kk-latn','s:7:\"kk-latn\";'),('es','messages:variantname-kk-arab','s:7:\"kk-arab\";'),('es','messages:variantname-kk','s:2:\"kk\";'),('es','messages:variantname-ku-arab','s:7:\"ku-Arab\";'),('es','messages:variantname-ku-latn','s:7:\"ku-Latn\";'),('es','messages:variantname-ku','s:2:\"ku\";'),('es','messages:variantname-tg-cyrl','s:7:\"tg-Cyrl\";'),('es','messages:variantname-tg-latn','s:7:\"tg-Latn\";'),('es','messages:variantname-tg','s:2:\"tg\";'),('es','messages:variantname-ike-cans','s:8:\"ike-Cans\";'),('es','messages:variantname-ike-latn','s:8:\"ike-Latn\";'),('es','messages:variantname-iu','s:2:\"iu\";'),('es','messages:metadata-langitem','s:12:\"\'\'\'$2:\'\'\' $1\";'),('es','messages:metadata-langitem-default','s:2:\"$1\";'),('es','messages:exif-fnumber-format','s:4:\"f/$1\";'),('es','messages:exif-focallength-format','s:5:\"$1 mm\";'),('es','messages:exif-coordinate-format','s:19:\"$1° $2′ $3″ $4\";'),('es','messages:exif-make-value','s:2:\"$1\";'),('es','messages:exif-model-value','s:2:\"$1\";'),('es','messages:exif-software-value','s:2:\"$1\";'),('es','messages:exif-software-version-value','s:15:\"$1 (Version $2)\";'),('es','messages:exif-contact-value','s:52:\"$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8\";'),('es','messages:exif-subjectnewscode-value','s:7:\"$2 ($1)\";'),('es','messages:exif-compression-5','s:3:\"LZW\";'),('es','messages:exif-compression-6','s:10:\"JPEG (old)\";'),('es','messages:exif-compression-7','s:4:\"JPEG\";'),('es','messages:exif-compression-8','s:15:\"Deflate (Adobe)\";'),('es','messages:exif-compression-32773','s:24:\"PackBits (Macintosh RLE)\";'),('es','messages:exif-compression-32946','s:15:\"Deflate (PKZIP)\";'),('es','messages:exif-compression-34712','s:8:\"JPEG2000\";'),('es','messages:exif-photometricinterpretation-2','s:3:\"RGB\";'),('es','messages:exif-photometricinterpretation-6','s:5:\"YCbCr\";'),('es','messages:exif-xyresolution-i','s:6:\"$1 dpi\";'),('es','messages:exif-xyresolution-c','s:6:\"$1 dpc\";'),('es','messages:exif-colorspace-1','s:4:\"sRGB\";'),('es','messages:exif-componentsconfiguration-1','s:1:\"Y\";'),('es','messages:exif-componentsconfiguration-2','s:2:\"Cb\";'),('es','messages:exif-componentsconfiguration-3','s:2:\"Cr\";'),('es','messages:exif-componentsconfiguration-4','s:1:\"R\";'),('es','messages:exif-componentsconfiguration-5','s:1:\"G\";'),('es','messages:exif-componentsconfiguration-6','s:1:\"B\";'),('es','messages:exif-lightsource-20','s:3:\"D55\";'),('es','messages:exif-lightsource-21','s:3:\"D65\";'),('es','messages:exif-lightsource-22','s:3:\"D75\";'),('es','messages:exif-lightsource-23','s:3:\"D50\";'),('es','messages:exif-maxaperturevalue-value','s:14:\"$1 APEX (f/$2)\";'),('es','messages:trackback','s:16:\"; $4 $5: [$2 $1]\";'),('es','messages:trackbackexcerpt','s:37:\"; $4 $5: [$2 $1]: <nowiki>$3</nowiki>\";'),('es','messages:unit-pixel','s:2:\"px\";'),('es','messages:semicolon-separator','s:6:\";&#32;\";'),('es','messages:colon-separator','s:6:\":&#32;\";'),('es','messages:autocomment-prefix','s:6:\"-&#32;\";'),('es','messages:pipe-separator','s:11:\"&#32;|&#32;\";'),('es','messages:word-separator','s:5:\"&#32;\";'),('es','messages:ellipsis','s:3:\"...\";'),('es','messages:percent','s:3:\"$1%\";'),('es','messages:parentheses','s:4:\"($1)\";'),('es','messages:autoblock_whitelist','s:406:\"AOL http://webmaster.info.aol.com/proxyinfo.html\n*64.12.96.0/19\n*149.174.160.0/20\n*152.163.240.0/21\n*152.163.248.0/22\n*152.163.252.0/23\n*152.163.96.0/22\n*152.163.100.0/23\n*195.93.32.0/22\n*195.93.48.0/22\n*195.93.64.0/19\n*195.93.96.0/19\n*195.93.16.0/20\n*198.81.0.0/22\n*198.81.16.0/20\n*198.81.8.0/23\n*202.67.64.128/25\n*205.188.192.0/20\n*205.188.208.0/23\n*205.188.112.0/20\n*205.188.146.144/30\n*207.200.112.0/21\";'),('es','messages:size-bytes','s:4:\"$1 B\";'),('es','messages:size-kilobytes','s:5:\"$1 KB\";'),('es','messages:size-megabytes','s:5:\"$1 MB\";'),('es','messages:size-gigabytes','s:5:\"$1 GB\";'),('es','messages:iranian-calendar-m1','s:9:\"Farvardin\";'),('es','messages:iranian-calendar-m2','s:11:\"Ordibehesht\";'),('es','messages:iranian-calendar-m3','s:7:\"Khordad\";'),('es','messages:iranian-calendar-m4','s:3:\"Tir\";'),('es','messages:iranian-calendar-m5','s:6:\"Mordad\";'),('es','messages:iranian-calendar-m6','s:9:\"Shahrivar\";'),('es','messages:iranian-calendar-m7','s:4:\"Mehr\";'),('es','messages:iranian-calendar-m8','s:4:\"Aban\";'),('es','messages:iranian-calendar-m9','s:4:\"Azar\";'),('es','messages:iranian-calendar-m10','s:3:\"Dey\";'),('es','messages:iranian-calendar-m11','s:6:\"Bahman\";'),('es','messages:iranian-calendar-m12','s:6:\"Esfand\";'),('es','messages:hijri-calendar-m1','s:8:\"Muharram\";'),('es','messages:hijri-calendar-m2','s:5:\"Safar\";'),('es','messages:hijri-calendar-m3','s:14:\"Rabi\' al-awwal\";'),('es','messages:hijri-calendar-m4','s:14:\"Rabi\' al-thani\";'),('es','messages:hijri-calendar-m5','s:15:\"Jumada al-awwal\";'),('es','messages:hijri-calendar-m6','s:15:\"Jumada al-thani\";'),('es','messages:hijri-calendar-m7','s:5:\"Rajab\";'),('es','messages:hijri-calendar-m8','s:8:\"Sha\'aban\";'),('es','messages:hijri-calendar-m9','s:7:\"Ramadan\";'),('es','messages:hijri-calendar-m10','s:7:\"Shawwal\";'),('es','messages:hijri-calendar-m11','s:13:\"Dhu al-Qi\'dah\";'),('es','messages:hijri-calendar-m12','s:13:\"Dhu al-Hijjah\";'),('es','messages:hebrew-calendar-m1','s:7:\"Tishrei\";'),('es','messages:hebrew-calendar-m2','s:8:\"Cheshvan\";'),('es','messages:hebrew-calendar-m3','s:6:\"Kislev\";'),('es','messages:hebrew-calendar-m4','s:5:\"Tevet\";'),('es','messages:hebrew-calendar-m5','s:6:\"Shevat\";'),('es','messages:hebrew-calendar-m6','s:4:\"Adar\";'),('es','messages:hebrew-calendar-m6a','s:6:\"Adar I\";'),('es','messages:hebrew-calendar-m6b','s:7:\"Adar II\";'),('es','messages:hebrew-calendar-m7','s:5:\"Nisan\";'),('es','messages:hebrew-calendar-m8','s:4:\"Iyar\";'),('es','messages:hebrew-calendar-m9','s:5:\"Sivan\";'),('es','messages:hebrew-calendar-m10','s:5:\"Tamuz\";'),('es','messages:hebrew-calendar-m11','s:2:\"Av\";'),('es','messages:hebrew-calendar-m12','s:4:\"Elul\";'),('es','messages:hebrew-calendar-m1-gen','s:7:\"Tishrei\";'),('es','messages:hebrew-calendar-m2-gen','s:8:\"Cheshvan\";'),('es','messages:hebrew-calendar-m3-gen','s:6:\"Kislev\";'),('es','messages:hebrew-calendar-m4-gen','s:5:\"Tevet\";'),('es','messages:hebrew-calendar-m5-gen','s:6:\"Shevat\";'),('es','messages:hebrew-calendar-m6-gen','s:4:\"Adar\";'),('es','messages:hebrew-calendar-m6a-gen','s:6:\"Adar I\";'),('es','messages:hebrew-calendar-m6b-gen','s:7:\"Adar II\";'),('es','messages:hebrew-calendar-m7-gen','s:5:\"Nisan\";'),('es','messages:hebrew-calendar-m8-gen','s:4:\"Iyar\";'),('es','messages:hebrew-calendar-m9-gen','s:5:\"Sivan\";'),('es','messages:hebrew-calendar-m10-gen','s:5:\"Tamuz\";'),('es','messages:hebrew-calendar-m11-gen','s:2:\"Av\";'),('es','messages:hebrew-calendar-m12-gen','s:4:\"Elul\";'),('es','messages:signature','s:21:\"[[{{ns:user}}:$1|$2]]\";'),('es','messages:signature-anon','s:36:\"[[{{#special:Contributions}}/$1|$2]]\";'),('es','messages:timezone-utc','s:3:\"UTC\";'),('es','messages:version-api','s:3:\"API\";'),('es','messages:version-svn-revision','s:5:\"(r$2)\";'),('es','messages:specialpages-summary','s:0:\"\";'),('es','rtl','b:0;'),('es','capitalizeAllNouns','b:0;'),('es','digitTransformTable','N;'),('es','separatorTransformTable','a:2:{s:1:\",\";s:1:\".\";s:1:\".\";s:1:\",\";}'),('es','fallback8bitEncoding','s:12:\"windows-1252\";'),('es','linkPrefixExtension','b:0;'),('es','linkTrail','s:31:\"/^([a-záéíóúñ]+)(.*)$/sDu\";'),('es','namespaceAliases','a:2:{s:6:\"Imagen\";i:6;s:17:\"Imagen_Discusión\";i:7;}'),('es','dateFormats','a:12:{s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j M Y\";s:8:\"dmy both\";s:9:\"H:i j M Y\";s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}'),('es','datePreferences','b:0;'),('es','datePreferenceMigrationMap','a:4:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";}'),('es','defaultDateFormat','s:3:\"dmy\";'),('es','extraUserToggles','a:0:{}'),('es','specialPageAliases','a:97:{s:11:\"Activeusers\";a:2:{i:0;s:15:\"UsuariosActivos\";i:1;s:11:\"ActiveUsers\";}s:11:\"Allmessages\";a:2:{i:0;s:16:\"TodosLosMensajes\";i:1;s:11:\"AllMessages\";}s:8:\"Allpages\";a:3:{i:0;s:5:\"Todas\";i:1;s:18:\"Todas_las_páginas\";i:2;s:8:\"AllPages\";}s:12:\"Ancientpages\";a:3:{i:0;s:16:\"PáginasAntiguas\";i:1;s:17:\"Páginas_antiguas\";i:2;s:12:\"AncientPages\";}s:9:\"Blankpage\";a:3:{i:0;s:16:\"BlanquearPágina\";i:1;s:17:\"Blanquear_página\";i:2;s:9:\"BlankPage\";}s:5:\"Block\";a:4:{i:0;s:8:\"Bloquear\";i:1;s:5:\"Block\";i:2;s:7:\"BlockIP\";i:3;s:9:\"BlockUser\";}s:7:\"Blockme\";a:2:{i:0;s:10:\"Bloquearme\";i:1;s:7:\"BlockMe\";}s:11:\"Booksources\";a:3:{i:0;s:15:\"FuentesDeLibros\";i:1;s:17:\"Fuentes_de_libros\";i:2;s:11:\"BookSources\";}s:15:\"BrokenRedirects\";a:3:{i:0;s:18:\"RedireccionesRotas\";i:1;s:19:\"Redirecciones_rotas\";i:2;s:15:\"BrokenRedirects\";}s:10:\"Categories\";a:2:{i:0;s:11:\"Categorías\";i:1;s:10:\"Categories\";}s:14:\"ChangePassword\";a:7:{i:0;s:19:\"Cambiar_contraseña\";i:1;s:18:\"CambiarContraseña\";i:2;s:19:\"ResetearContraseña\";i:3;s:20:\"Resetear_contraseña\";i:4;s:14:\"ChangePassword\";i:5;s:9:\"ResetPass\";i:6;s:13:\"ResetPassword\";}s:12:\"ComparePages\";a:2:{i:0;s:16:\"CompararPáginas\";i:1;s:12:\"ComparePages\";}s:12:\"Confirmemail\";a:3:{i:0;s:14:\"ConfirmarEmail\";i:1;s:16:\"Confirmar_e-mail\";i:2;s:12:\"ConfirmEmail\";}s:13:\"Contributions\";a:3:{i:0;s:14:\"Contribuciones\";i:1;s:13:\"Contributions\";i:2;s:8:\"Contribs\";}s:13:\"CreateAccount\";a:3:{i:0;s:16:\"Crear_una_cuenta\";i:1;s:11:\"CrearCuenta\";i:2;s:13:\"CreateAccount\";}s:12:\"Deadendpages\";a:3:{i:0;s:17:\"PáginasSinSalida\";i:1;s:19:\"Páginas_sin_salida\";i:2;s:12:\"DeadendPages\";}s:20:\"DeletedContributions\";a:3:{i:0;s:22:\"ContribucionesBorradas\";i:1;s:23:\"Contribuciones_Borradas\";i:2;s:20:\"DeletedContributions\";}s:15:\"Disambiguations\";a:3:{i:0;s:16:\"Desambiguaciones\";i:1;s:15:\"Desambiguación\";i:2;s:15:\"Disambiguations\";}s:15:\"DoubleRedirects\";a:3:{i:0;s:19:\"RedireccionesDobles\";i:1;s:20:\"Redirecciones_dobles\";i:2;s:15:\"DoubleRedirects\";}s:9:\"Emailuser\";a:2:{i:0;s:18:\"MandarEmailUsuario\";i:1;s:9:\"EmailUser\";}s:6:\"Export\";a:2:{i:0;s:8:\"Exportar\";i:1;s:6:\"Export\";}s:15:\"Fewestrevisions\";a:3:{i:0;s:14:\"MenosEdiciones\";i:1;s:15:\"Menos_ediciones\";i:2;s:15:\"FewestRevisions\";}s:19:\"FileDuplicateSearch\";a:3:{i:0;s:24:\"BuscarArchivosDuplicados\";i:1;s:26:\"Buscar_archivos_duplicados\";i:2;s:19:\"FileDuplicateSearch\";}s:8:\"Filepath\";a:3:{i:0;s:13:\"RutaDeArchivo\";i:1;s:15:\"Ruta_de_archivo\";i:2;s:8:\"FilePath\";}s:6:\"Import\";a:2:{i:0;s:8:\"Importar\";i:1;s:6:\"Import\";}s:15:\"Invalidateemail\";a:3:{i:0;s:14:\"InvalidarEmail\";i:1;s:16:\"Invalidar_e-mail\";i:2;s:15:\"InvalidateEmail\";}s:9:\"BlockList\";a:5:{i:0;s:18:\"UsuariosBloqueados\";i:1;s:28:\"Lista_de_usuarios_bloqueados\";i:2;s:9:\"BlockList\";i:3;s:10:\"ListBlocks\";i:4;s:11:\"IPBlockList\";}s:10:\"LinkSearch\";a:3:{i:0;s:18:\"BúsquedaDeEnlaces\";i:1;s:20:\"Búsqueda_de_enlaces\";i:2;s:10:\"LinkSearch\";}s:10:\"Listadmins\";a:3:{i:0;s:22:\"ListaDeAdministradores\";i:1;s:24:\"Lista_de_administradores\";i:2;s:10:\"ListAdmins\";}s:8:\"Listbots\";a:3:{i:0;s:11:\"ListaDeBots\";i:1;s:13:\"Lista_de_bots\";i:2;s:8:\"ListBots\";}s:9:\"Listfiles\";a:5:{i:0;s:14:\"ListaImágenes\";i:1;s:18:\"Lista_de_imágenes\";i:2;s:9:\"ListFiles\";i:3;s:8:\"FileList\";i:4;s:9:\"ImageList\";}s:15:\"Listgrouprights\";a:4:{i:0;s:19:\"ListaDerechosGrupos\";i:1;s:30:\"Derechos_de_grupos_de_usuarios\";i:2;s:15:\"ListGroupRights\";i:3;s:15:\"UserGroupRights\";}s:13:\"Listredirects\";a:3:{i:0;s:21:\"TodasLasRedirecciones\";i:1;s:23:\"Todas_las_redirecciones\";i:2;s:13:\"ListRedirects\";}s:9:\"Listusers\";a:4:{i:0;s:13:\"ListaUsuarios\";i:1;s:17:\"Lista_de_usuarios\";i:2;s:9:\"ListUsers\";i:3;s:8:\"UserList\";}s:6:\"Lockdb\";a:3:{i:0;s:19:\"BloquearBasedeDatos\";i:1;s:22:\"Bloquear_base_de_datos\";i:2;s:6:\"LockDB\";}s:3:\"Log\";a:3:{i:0;s:8:\"Registro\";i:1;s:3:\"Log\";i:2;s:4:\"Logs\";}s:11:\"Lonelypages\";a:4:{i:0;s:18:\"PáginasHuérfanas\";i:1;s:19:\"Páginas_huérfanas\";i:2;s:11:\"LonelyPages\";i:3;s:13:\"OrphanedPages\";}s:9:\"Longpages\";a:3:{i:0;s:14:\"PáginasLargas\";i:1;s:15:\"Páginas_largas\";i:2;s:9:\"LongPages\";}s:12:\"MergeHistory\";a:3:{i:0;s:17:\"FusionarHistorial\";i:1;s:18:\"Fusionar_historial\";i:2;s:12:\"MergeHistory\";}s:10:\"MIMEsearch\";a:3:{i:0;s:13:\"BuscarPorMIME\";i:1;s:15:\"Buscar_por_MIME\";i:2;s:10:\"MIMESearch\";}s:14:\"Mostcategories\";a:3:{i:0;s:17:\"MásCategorizadas\";i:1;s:18:\"Más_categorizadas\";i:2;s:14:\"MostCategories\";}s:10:\"Mostimages\";a:5:{i:0;s:13:\"MásImágenes\";i:1;s:18:\"Con_más_imágenes\";i:2;s:15:\"MostLinkedFiles\";i:3;s:9:\"MostFiles\";i:4;s:10:\"MostImages\";}s:10:\"Mostlinked\";a:4:{i:0;s:13:\"MásEnlazados\";i:1;s:14:\"Más_enlazados\";i:2;s:15:\"MostLinkedPages\";i:3;s:10:\"MostLinked\";}s:20:\"Mostlinkedcategories\";a:4:{i:0;s:21:\"CategoríasMásUsadas\";i:1;s:23:\"Categorías_más_usadas\";i:2;s:20:\"MostLinkedCategories\";i:3;s:18:\"MostUsedCategories\";}s:19:\"Mostlinkedtemplates\";a:4:{i:0;s:20:\"PlantillasMásUsadas\";i:1;s:22:\"Plantillas_más_usadas\";i:2;s:19:\"MostLinkedTemplates\";i:3;s:17:\"MostUsedTemplates\";}s:13:\"Mostrevisions\";a:3:{i:0;s:13:\"MásEdiciones\";i:1;s:14:\"Más_ediciones\";i:2;s:13:\"MostRevisions\";}s:8:\"Movepage\";a:3:{i:0;s:12:\"MoverPágina\";i:1;s:13:\"Mover_página\";i:2;s:8:\"MovePage\";}s:15:\"Mycontributions\";a:3:{i:0;s:17:\"MisContribuciones\";i:1;s:18:\"Mis_contribuciones\";i:2;s:15:\"MyContributions\";}s:6:\"Mypage\";a:3:{i:0;s:9:\"MiPágina\";i:1;s:10:\"Mi_página\";i:2;s:6:\"MyPage\";}s:6:\"Mytalk\";a:3:{i:0;s:12:\"MiDiscusión\";i:1;s:13:\"Mi_discusión\";i:2;s:6:\"MyTalk\";}s:9:\"Newimages\";a:4:{i:0;s:15:\"NuevasImágenes\";i:1;s:16:\"Nuevas_imágenes\";i:2;s:8:\"NewFiles\";i:3;s:9:\"NewImages\";}s:8:\"Newpages\";a:3:{i:0;s:14:\"PáginasNuevas\";i:1;s:15:\"Páginas_nuevas\";i:2;s:8:\"NewPages\";}s:12:\"Popularpages\";a:4:{i:0;s:21:\"PáginasMásVisitadas\";i:1;s:17:\"PáginasPopulares\";i:2;s:23:\"Páginas_más_visitadas\";i:3;s:12:\"PopularPages\";}s:11:\"Preferences\";a:2:{i:0;s:12:\"Preferencias\";i:1;s:11:\"Preferences\";}s:11:\"Prefixindex\";a:3:{i:0;s:18:\"PáginasPorPrefijo\";i:1;s:20:\"Páginas_por_prefijo\";i:2;s:11:\"PrefixIndex\";}s:14:\"Protectedpages\";a:3:{i:0;s:18:\"PáginasProtegidas\";i:1;s:19:\"Páginas_protegidas\";i:2;s:14:\"ProtectedPages\";}s:15:\"Protectedtitles\";a:3:{i:0;s:18:\"TítulosProtegidos\";i:1;s:19:\"Títulos_protegidos\";i:2;s:15:\"ProtectedTitles\";}s:10:\"Randompage\";a:5:{i:0;s:9:\"Aleatoria\";i:1;s:9:\"Aleatorio\";i:2;s:17:\"Página_aleatoria\";i:3;s:6:\"Random\";i:4;s:10:\"RandomPage\";}s:14:\"Randomredirect\";a:3:{i:0;s:21:\"RedirecciónAleatoria\";i:1;s:22:\"Redirección_aleatoria\";i:2;s:14:\"RandomRedirect\";}s:13:\"Recentchanges\";a:3:{i:0;s:16:\"CambiosRecientes\";i:1;s:17:\"Cambios_recientes\";i:2;s:13:\"RecentChanges\";}s:19:\"Recentchangeslinked\";a:4:{i:0;s:18:\"CambiosEnEnlazadas\";i:1;s:20:\"Cambios_en_enlazadas\";i:2;s:19:\"RecentChangesLinked\";i:3;s:14:\"RelatedChanges\";}s:14:\"Revisiondelete\";a:3:{i:0;s:15:\"BorrarRevisión\";i:1;s:16:\"Borrar_revisión\";i:2;s:14:\"RevisionDelete\";}s:12:\"RevisionMove\";a:2:{i:0;s:13:\"MoverRevision\";i:1;s:12:\"RevisionMove\";}s:6:\"Search\";a:2:{i:0;s:6:\"Buscar\";i:1;s:6:\"Search\";}s:10:\"Shortpages\";a:3:{i:0;s:14:\"PáginasCortas\";i:1;s:15:\"Páginas_cortas\";i:2;s:10:\"ShortPages\";}s:12:\"Specialpages\";a:3:{i:0;s:18:\"PáginasEspeciales\";i:1;s:19:\"Páginas_especiales\";i:2;s:12:\"SpecialPages\";}s:10:\"Statistics\";a:2:{i:0;s:13:\"Estadísticas\";i:1;s:10:\"Statistics\";}s:4:\"Tags\";a:2:{i:0;s:9:\"Etiquetas\";i:1;s:4:\"Tags\";}s:7:\"Unblock\";a:2:{i:0;s:11:\"Desbloquear\";i:1;s:7:\"Unblock\";}s:23:\"Uncategorizedcategories\";a:3:{i:0;s:25:\"CategoríasSinCategorizar\";i:1;s:27:\"Categorías_sin_categorizar\";i:2;s:23:\"UncategorizedCategories\";}s:19:\"Uncategorizedimages\";a:4:{i:0;s:23:\"ImágenesSinCategorizar\";i:1;s:25:\"Imágenes_sin_categorizar\";i:2;s:18:\"UncategorizedFiles\";i:3;s:19:\"UncategorizedImages\";}s:18:\"Uncategorizedpages\";a:3:{i:0;s:22:\"PáginasSinCategorizar\";i:1;s:24:\"Páginas_sin_categorizar\";i:2;s:18:\"UncategorizedPages\";}s:22:\"Uncategorizedtemplates\";a:3:{i:0;s:24:\"PlantillasSinCategorizar\";i:1;s:26:\"Plantillas_sin_categorizar\";i:2;s:22:\"UncategorizedTemplates\";}s:8:\"Undelete\";a:2:{i:0;s:9:\"Restaurar\";i:1;s:8:\"Undelete\";}s:8:\"Unlockdb\";a:3:{i:0;s:22:\"DesbloquearBasedeDatos\";i:1;s:25:\"Desbloquear_base_de_datos\";i:2;s:8:\"UnlockDB\";}s:16:\"Unusedcategories\";a:3:{i:0;s:17:\"CategoríasSinUso\";i:1;s:19:\"Categorías_sin_uso\";i:2;s:16:\"UnusedCategories\";}s:12:\"Unusedimages\";a:4:{i:0;s:15:\"ImágenesSinUso\";i:1;s:17:\"Imágenes_sin_uso\";i:2;s:11:\"UnusedFiles\";i:3;s:12:\"UnusedImages\";}s:15:\"Unusedtemplates\";a:3:{i:0;s:16:\"PlantillasSinUso\";i:1;s:18:\"Plantillas_sin_uso\";i:2;s:15:\"UnusedTemplates\";}s:14:\"Unwatchedpages\";a:3:{i:0;s:18:\"PáginasSinVigilar\";i:1;s:20:\"Páginas_sin_vigilar\";i:2;s:14:\"UnwatchedPages\";}s:6:\"Upload\";a:3:{i:0;s:12:\"SubirArchivo\";i:1;s:13:\"Subir_archivo\";i:2;s:6:\"Upload\";}s:9:\"Userlogin\";a:3:{i:0;s:6:\"Entrar\";i:1;s:19:\"Entrada_del_usuario\";i:2;s:9:\"UserLogin\";}s:10:\"Userlogout\";a:3:{i:0;s:18:\"Salida_del_usuario\";i:1;s:5:\"Salir\";i:2;s:10:\"UserLogout\";}s:10:\"Userrights\";a:5:{i:0;s:16:\"PermisosUsuarios\";i:1;s:20:\"Permisos_de_usuarios\";i:2;s:10:\"UserRights\";i:3;s:9:\"MakeSysop\";i:4;s:7:\"MakeBot\";}s:7:\"Version\";a:2:{i:0;s:8:\"Versión\";i:1;s:7:\"Version\";}s:16:\"Wantedcategories\";a:3:{i:0;s:21:\"CategoríasRequeridas\";i:1;s:22:\"Categorías_requeridas\";i:2;s:16:\"WantedCategories\";}s:11:\"Wantedfiles\";a:3:{i:0;s:18:\"ArchivosRequeridos\";i:1;s:19:\"Archivos_requeridos\";i:2;s:11:\"WantedFiles\";}s:11:\"Wantedpages\";a:4:{i:0;s:18:\"PáginasRequeridas\";i:1;s:19:\"Páginas_requeridas\";i:2;s:11:\"WantedPages\";i:3;s:11:\"BrokenLinks\";}s:15:\"Wantedtemplates\";a:3:{i:0;s:20:\"PlantillasRequeridas\";i:1;s:21:\"Plantillas_requeridas\";i:2;s:15:\"WantedTemplates\";}s:9:\"Watchlist\";a:3:{i:0;s:11:\"Seguimiento\";i:1;s:20:\"Lista_de_seguimiento\";i:2;s:9:\"Watchlist\";}s:13:\"Whatlinkshere\";a:3:{i:0;s:16:\"LoQueEnlazaAquí\";i:1;s:19:\"Lo_que_enlaza_aquí\";i:2;s:13:\"WhatLinksHere\";}s:16:\"Withoutinterwiki\";a:3:{i:0;s:13:\"SinInterwikis\";i:1;s:14:\"Sin_interwikis\";i:2;s:16:\"WithoutInterwiki\";}s:8:\"Badtitle\";a:1:{i:0;s:8:\"Badtitle\";}s:13:\"EditWatchlist\";a:1:{i:0;s:13:\"EditWatchlist\";}s:9:\"Myuploads\";a:1:{i:0;s:9:\"MyUploads\";}s:13:\"PasswordReset\";a:1:{i:0;s:13:\"PasswordReset\";}s:13:\"PermanentLink\";a:2:{i:0;s:13:\"PermanentLink\";i:1;s:9:\"PermaLink\";}s:11:\"UploadStash\";a:1:{i:0;s:11:\"UploadStash\";}}'),('es','imageFiles','a:11:{s:11:\"button-bold\";s:15:\"button_bold.png\";s:13:\"button-italic\";s:17:\"button_italic.png\";s:11:\"button-link\";s:15:\"button_link.png\";s:14:\"button-extlink\";s:18:\"button_extlink.png\";s:15:\"button-headline\";s:19:\"button_headline.png\";s:12:\"button-image\";s:16:\"button_image.png\";s:12:\"button-media\";s:16:\"button_media.png\";s:11:\"button-math\";s:15:\"button_math.png\";s:13:\"button-nowiki\";s:17:\"button_nowiki.png\";s:10:\"button-sig\";s:14:\"button_sig.png\";s:9:\"button-hr\";s:13:\"button_hr.png\";}'),('es','preloadedMessages','a:95:{i:0;s:9:\"aboutpage\";i:1;s:9:\"aboutsite\";i:2;s:17:\"accesskey-ca-edit\";i:3;s:20:\"accesskey-ca-history\";i:4;s:23:\"accesskey-ca-nstab-main\";i:5;s:17:\"accesskey-ca-talk\";i:6;s:25:\"accesskey-n-currentevents\";i:7;s:16:\"accesskey-n-help\";i:8;s:32:\"accesskey-n-mainpage-description\";i:9;s:18:\"accesskey-n-portal\";i:10;s:22:\"accesskey-n-randompage\";i:11;s:25:\"accesskey-n-recentchanges\";i:12;s:23:\"accesskey-n-sitesupport\";i:13;s:16:\"accesskey-p-logo\";i:14;s:18:\"accesskey-pt-login\";i:15;s:16:\"accesskey-search\";i:16;s:25:\"accesskey-search-fulltext\";i:17;s:19:\"accesskey-search-go\";i:18;s:21:\"accesskey-t-permalink\";i:19;s:17:\"accesskey-t-print\";i:20;s:31:\"accesskey-t-recentchangeslinked\";i:21;s:24:\"accesskey-t-specialpages\";i:22;s:25:\"accesskey-t-whatlinkshere\";i:23;s:10:\"anonnotice\";i:24;s:15:\"colon-separator\";i:25;s:13:\"currentevents\";i:26;s:17:\"currentevents-url\";i:27;s:14:\"disclaimerpage\";i:28;s:11:\"disclaimers\";i:29;s:4:\"edit\";i:30;s:4:\"help\";i:31;s:8:\"helppage\";i:32;s:13:\"history_short\";i:33;s:6:\"jumpto\";i:34;s:16:\"jumptonavigation\";i:35;s:12:\"jumptosearch\";i:36;s:14:\"lastmodifiedat\";i:37;s:8:\"mainpage\";i:38;s:20:\"mainpage-description\";i:39;s:23:\"nav-login-createaccount\";i:40;s:10:\"navigation\";i:41;s:10:\"nstab-main\";i:42;s:15:\"opensearch-desc\";i:43;s:14:\"pagecategories\";i:44;s:18:\"pagecategorieslink\";i:45;s:9:\"pagetitle\";i:46;s:23:\"pagetitle-view-mainpage\";i:47;s:9:\"permalink\";i:48;s:13:\"personaltools\";i:49;s:6:\"portal\";i:50;s:10:\"portal-url\";i:51;s:16:\"printableversion\";i:52;s:7:\"privacy\";i:53;s:11:\"privacypage\";i:54;s:10:\"randompage\";i:55;s:14:\"randompage-url\";i:56;s:13:\"recentchanges\";i:57;s:17:\"recentchanges-url\";i:58;s:27:\"recentchangeslinked-toolbox\";i:59;s:13:\"retrievedfrom\";i:60;s:6:\"search\";i:61;s:13:\"searcharticle\";i:62;s:12:\"searchbutton\";i:63;s:7:\"sidebar\";i:64;s:14:\"site-atom-feed\";i:65;s:13:\"site-rss-feed\";i:66;s:10:\"sitenotice\";i:67;s:12:\"specialpages\";i:68;s:7:\"tagline\";i:69;s:4:\"talk\";i:70;s:7:\"toolbox\";i:71;s:15:\"tooltip-ca-edit\";i:72;s:18:\"tooltip-ca-history\";i:73;s:21:\"tooltip-ca-nstab-main\";i:74;s:15:\"tooltip-ca-talk\";i:75;s:23:\"tooltip-n-currentevents\";i:76;s:14:\"tooltip-n-help\";i:77;s:30:\"tooltip-n-mainpage-description\";i:78;s:16:\"tooltip-n-portal\";i:79;s:20:\"tooltip-n-randompage\";i:80;s:23:\"tooltip-n-recentchanges\";i:81;s:21:\"tooltip-n-sitesupport\";i:82;s:14:\"tooltip-p-logo\";i:83;s:20:\"tooltip-p-navigation\";i:84;s:16:\"tooltip-pt-login\";i:85;s:14:\"tooltip-search\";i:86;s:23:\"tooltip-search-fulltext\";i:87;s:17:\"tooltip-search-go\";i:88;s:19:\"tooltip-t-permalink\";i:89;s:15:\"tooltip-t-print\";i:90;s:29:\"tooltip-t-recentchangeslinked\";i:91;s:22:\"tooltip-t-specialpages\";i:92;s:23:\"tooltip-t-whatlinkshere\";i:93;s:5:\"views\";i:94;s:13:\"whatlinkshere\";}'),('es','namespaceGenderAliases','a:2:{i:2;a:2:{s:4:\"male\";s:7:\"Usuario\";s:6:\"female\";s:7:\"Usuaria\";}i:3;a:2:{s:4:\"male\";s:18:\"Usuario_Discusión\";s:6:\"female\";s:18:\"Usuaria_Discusión\";}}'),('es','fallbackSequence','a:1:{i:0;s:2:\"en\";}'),('es','deps','a:7:{i:0;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEs.php\";s:9:\"timestamp\";i:1326231359;}i:1;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEn.php\";s:9:\"timestamp\";i:1326230387;}i:2;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}s:24:\"wgExtensionMessagesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:24:\"wgExtensionMessagesFiles\";s:5:\"value\";a:1:{s:7:\"SVGEdit\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";}}s:23:\"wgExtensionAliasesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:23:\"wgExtensionAliasesFiles\";s:5:\"value\";a:0:{}}s:7:\"version\";O:18:\"ConstantDependency\":2:{s:4:\"name\";s:13:\"MW_LC_VERSION\";s:5:\"value\";i:1;}i:3;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}}'),('es','list','a:1:{s:8:\"messages\";a:2988:{i:0;s:23:\"svgedit-editbutton-edit\";i:1;s:21:\"svgedit-summary-label\";i:2;s:23:\"svgedit-summary-default\";i:3;s:25:\"svgedit-editor-save-close\";i:4;s:20:\"svgedit-editor-close\";i:5;s:12:\"svgedit-desc\";i:6;s:16:\"svgedit-edit-tab\";i:7;s:24:\"svgedit-edit-tab-tooltip\";i:8;s:22:\"svgedit-toolbar-insert\";i:9;s:13:\"tog-underline\";i:10;s:19:\"tog-highlightbroken\";i:11;s:11:\"tog-justify\";i:12;s:13:\"tog-hideminor\";i:13;s:17:\"tog-hidepatrolled\";i:14;s:25:\"tog-newpageshidepatrolled\";i:15;s:19:\"tog-extendwatchlist\";i:16;s:12:\"tog-usenewrc\";i:17;s:18:\"tog-numberheadings\";i:18;s:15:\"tog-showtoolbar\";i:19;s:18:\"tog-editondblclick\";i:20;s:15:\"tog-editsection\";i:21;s:27:\"tog-editsectiononrightclick\";i:22;s:11:\"tog-showtoc\";i:23;s:20:\"tog-rememberpassword\";i:24;s:18:\"tog-watchcreations\";i:25;s:16:\"tog-watchdefault\";i:26;s:14:\"tog-watchmoves\";i:27;s:17:\"tog-watchdeletion\";i:28;s:16:\"tog-minordefault\";i:29;s:16:\"tog-previewontop\";i:30;s:18:\"tog-previewonfirst\";i:31;s:11:\"tog-nocache\";i:32;s:24:\"tog-enotifwatchlistpages\";i:33;s:23:\"tog-enotifusertalkpages\";i:34;s:20:\"tog-enotifminoredits\";i:35;s:20:\"tog-enotifrevealaddr\";i:36;s:23:\"tog-shownumberswatching\";i:37;s:10:\"tog-oldsig\";i:38;s:12:\"tog-fancysig\";i:39;s:18:\"tog-externaleditor\";i:40;s:16:\"tog-externaldiff\";i:41;s:17:\"tog-showjumplinks\";i:42;s:18:\"tog-uselivepreview\";i:43;s:20:\"tog-forceeditsummary\";i:44;s:20:\"tog-watchlisthideown\";i:45;s:21:\"tog-watchlisthidebots\";i:46;s:22:\"tog-watchlisthideminor\";i:47;s:20:\"tog-watchlisthideliu\";i:48;s:22:\"tog-watchlisthideanons\";i:49;s:26:\"tog-watchlisthidepatrolled\";i:50;s:20:\"tog-nolangconversion\";i:51;s:16:\"tog-ccmeonemails\";i:52;s:12:\"tog-diffonly\";i:53;s:18:\"tog-showhiddencats\";i:54;s:17:\"tog-noconvertlink\";i:55;s:18:\"tog-norollbackdiff\";i:56;s:16:\"underline-always\";i:57;s:15:\"underline-never\";i:58;s:17:\"underline-default\";i:59;s:14:\"editfont-style\";i:60;s:16:\"editfont-default\";i:61;s:18:\"editfont-monospace\";i:62;s:18:\"editfont-sansserif\";i:63;s:14:\"editfont-serif\";i:64;s:6:\"sunday\";i:65;s:6:\"monday\";i:66;s:7:\"tuesday\";i:67;s:9:\"wednesday\";i:68;s:8:\"thursday\";i:69;s:6:\"friday\";i:70;s:8:\"saturday\";i:71;s:3:\"sun\";i:72;s:3:\"mon\";i:73;s:3:\"tue\";i:74;s:3:\"wed\";i:75;s:3:\"thu\";i:76;s:3:\"fri\";i:77;s:3:\"sat\";i:78;s:7:\"january\";i:79;s:8:\"february\";i:80;s:5:\"march\";i:81;s:5:\"april\";i:82;s:8:\"may_long\";i:83;s:4:\"june\";i:84;s:4:\"july\";i:85;s:6:\"august\";i:86;s:9:\"september\";i:87;s:7:\"october\";i:88;s:8:\"november\";i:89;s:8:\"december\";i:90;s:11:\"january-gen\";i:91;s:12:\"february-gen\";i:92;s:9:\"march-gen\";i:93;s:9:\"april-gen\";i:94;s:7:\"may-gen\";i:95;s:8:\"june-gen\";i:96;s:8:\"july-gen\";i:97;s:10:\"august-gen\";i:98;s:13:\"september-gen\";i:99;s:11:\"october-gen\";i:100;s:12:\"november-gen\";i:101;s:12:\"december-gen\";i:102;s:3:\"jan\";i:103;s:3:\"feb\";i:104;s:3:\"mar\";i:105;s:3:\"apr\";i:106;s:3:\"may\";i:107;s:3:\"jun\";i:108;s:3:\"jul\";i:109;s:3:\"aug\";i:110;s:3:\"sep\";i:111;s:3:\"oct\";i:112;s:3:\"nov\";i:113;s:3:\"dec\";i:114;s:14:\"pagecategories\";i:115;s:15:\"category_header\";i:116;s:13:\"subcategories\";i:117;s:21:\"category-media-header\";i:118;s:14:\"category-empty\";i:119;s:17:\"hidden-categories\";i:120;s:24:\"hidden-category-category\";i:121;s:21:\"category-subcat-count\";i:122;s:29:\"category-subcat-count-limited\";i:123;s:22:\"category-article-count\";i:124;s:30:\"category-article-count-limited\";i:125;s:19:\"category-file-count\";i:126;s:27:\"category-file-count-limited\";i:127;s:22:\"listingcontinuesabbrev\";i:128;s:14:\"index-category\";i:129;s:16:\"noindex-category\";i:130;s:20:\"broken-file-category\";i:131;s:5:\"about\";i:132;s:7:\"article\";i:133;s:9:\"newwindow\";i:134;s:6:\"cancel\";i:135;s:13:\"moredotdotdot\";i:136;s:6:\"mypage\";i:137;s:6:\"mytalk\";i:138;s:8:\"anontalk\";i:139;s:10:\"navigation\";i:140;s:3:\"and\";i:141;s:6:\"qbfind\";i:142;s:8:\"qbbrowse\";i:143;s:6:\"qbedit\";i:144;s:13:\"qbpageoptions\";i:145;s:10:\"qbpageinfo\";i:146;s:11:\"qbmyoptions\";i:147;s:14:\"qbspecialpages\";i:148;s:3:\"faq\";i:149;s:7:\"faqpage\";i:150;s:24:\"vector-action-addsection\";i:151;s:20:\"vector-action-delete\";i:152;s:18:\"vector-action-move\";i:153;s:21:\"vector-action-protect\";i:154;s:22:\"vector-action-undelete\";i:155;s:23:\"vector-action-unprotect\";i:156;s:30:\"vector-simplesearch-preference\";i:157;s:18:\"vector-view-create\";i:158;s:16:\"vector-view-edit\";i:159;s:19:\"vector-view-history\";i:160;s:16:\"vector-view-view\";i:161;s:22:\"vector-view-viewsource\";i:162;s:7:\"actions\";i:163;s:10:\"namespaces\";i:164;s:8:\"variants\";i:165;s:14:\"errorpagetitle\";i:166;s:8:\"returnto\";i:167;s:7:\"tagline\";i:168;s:4:\"help\";i:169;s:6:\"search\";i:170;s:12:\"searchbutton\";i:171;s:2:\"go\";i:172;s:13:\"searcharticle\";i:173;s:7:\"history\";i:174;s:13:\"history_short\";i:175;s:13:\"updatedmarker\";i:176;s:16:\"printableversion\";i:177;s:9:\"permalink\";i:178;s:5:\"print\";i:179;s:4:\"view\";i:180;s:4:\"edit\";i:181;s:6:\"create\";i:182;s:12:\"editthispage\";i:183;s:16:\"create-this-page\";i:184;s:6:\"delete\";i:185;s:14:\"deletethispage\";i:186;s:14:\"undelete_short\";i:187;s:17:\"viewdeleted_short\";i:188;s:7:\"protect\";i:189;s:14:\"protect_change\";i:190;s:15:\"protectthispage\";i:191;s:9:\"unprotect\";i:192;s:17:\"unprotectthispage\";i:193;s:7:\"newpage\";i:194;s:8:\"talkpage\";i:195;s:16:\"talkpagelinktext\";i:196;s:11:\"specialpage\";i:197;s:13:\"personaltools\";i:198;s:11:\"postcomment\";i:199;s:11:\"articlepage\";i:200;s:4:\"talk\";i:201;s:5:\"views\";i:202;s:7:\"toolbox\";i:203;s:8:\"userpage\";i:204;s:11:\"projectpage\";i:205;s:9:\"imagepage\";i:206;s:13:\"mediawikipage\";i:207;s:12:\"templatepage\";i:208;s:12:\"viewhelppage\";i:209;s:12:\"categorypage\";i:210;s:12:\"viewtalkpage\";i:211;s:14:\"otherlanguages\";i:212;s:14:\"redirectedfrom\";i:213;s:15:\"redirectpagesub\";i:214;s:14:\"lastmodifiedat\";i:215;s:9:\"viewcount\";i:216;s:13:\"protectedpage\";i:217;s:6:\"jumpto\";i:218;s:16:\"jumptonavigation\";i:219;s:12:\"jumptosearch\";i:220;s:15:\"view-pool-error\";i:221;s:12:\"pool-timeout\";i:222;s:14:\"pool-queuefull\";i:223;s:17:\"pool-errorunknown\";i:224;s:9:\"aboutsite\";i:225;s:9:\"aboutpage\";i:226;s:9:\"copyright\";i:227;s:13:\"copyrightpage\";i:228;s:13:\"currentevents\";i:229;s:17:\"currentevents-url\";i:230;s:11:\"disclaimers\";i:231;s:14:\"disclaimerpage\";i:232;s:8:\"edithelp\";i:233;s:12:\"edithelppage\";i:234;s:8:\"helppage\";i:235;s:8:\"mainpage\";i:236;s:20:\"mainpage-description\";i:237;s:10:\"policy-url\";i:238;s:6:\"portal\";i:239;s:10:\"portal-url\";i:240;s:7:\"privacy\";i:241;s:11:\"privacypage\";i:242;s:9:\"badaccess\";i:243;s:16:\"badaccess-group0\";i:244;s:16:\"badaccess-groups\";i:245;s:15:\"versionrequired\";i:246;s:19:\"versionrequiredtext\";i:247;s:2:\"ok\";i:248;s:13:\"retrievedfrom\";i:249;s:18:\"youhavenewmessages\";i:250;s:15:\"newmessageslink\";i:251;s:19:\"newmessagesdifflink\";i:252;s:23:\"youhavenewmessagesmulti\";i:253;s:11:\"editsection\";i:254;s:7:\"editold\";i:255;s:13:\"viewsourceold\";i:256;s:8:\"editlink\";i:257;s:14:\"viewsourcelink\";i:258;s:15:\"editsectionhint\";i:259;s:3:\"toc\";i:260;s:7:\"showtoc\";i:261;s:7:\"hidetoc\";i:262;s:20:\"collapsible-collapse\";i:263;s:18:\"collapsible-expand\";i:264;s:13:\"thisisdeleted\";i:265;s:11:\"viewdeleted\";i:266;s:11:\"restorelink\";i:267;s:9:\"feedlinks\";i:268;s:12:\"feed-invalid\";i:269;s:16:\"feed-unavailable\";i:270;s:13:\"site-rss-feed\";i:271;s:14:\"site-atom-feed\";i:272;s:13:\"page-rss-feed\";i:273;s:14:\"page-atom-feed\";i:274;s:14:\"red-link-title\";i:275;s:15:\"sort-descending\";i:276;s:14:\"sort-ascending\";i:277;s:10:\"nstab-main\";i:278;s:10:\"nstab-user\";i:279;s:11:\"nstab-media\";i:280;s:13:\"nstab-special\";i:281;s:13:\"nstab-project\";i:282;s:11:\"nstab-image\";i:283;s:15:\"nstab-mediawiki\";i:284;s:14:\"nstab-template\";i:285;s:10:\"nstab-help\";i:286;s:14:\"nstab-category\";i:287;s:12:\"nosuchaction\";i:288;s:16:\"nosuchactiontext\";i:289;s:17:\"nosuchspecialpage\";i:290;s:17:\"nospecialpagetext\";i:291;s:5:\"error\";i:292;s:13:\"databaseerror\";i:293;s:11:\"dberrortext\";i:294;s:13:\"dberrortextcl\";i:295;s:15:\"laggedslavemode\";i:296;s:8:\"readonly\";i:297;s:15:\"enterlockreason\";i:298;s:12:\"readonlytext\";i:299;s:15:\"missing-article\";i:300;s:18:\"missingarticle-rev\";i:301;s:19:\"missingarticle-diff\";i:302;s:12:\"readonly_lag\";i:303;s:13:\"internalerror\";i:304;s:18:\"internalerror_info\";i:305;s:19:\"fileappenderrorread\";i:306;s:15:\"fileappenderror\";i:307;s:13:\"filecopyerror\";i:308;s:15:\"filerenameerror\";i:309;s:15:\"filedeleteerror\";i:310;s:20:\"directorycreateerror\";i:311;s:12:\"filenotfound\";i:312;s:15:\"fileexistserror\";i:313;s:10:\"unexpected\";i:314;s:9:\"formerror\";i:315;s:15:\"badarticleerror\";i:316;s:12:\"cannotdelete\";i:317;s:8:\"badtitle\";i:318;s:12:\"badtitletext\";i:319;s:10:\"perfcached\";i:320;s:12:\"perfcachedts\";i:321;s:20:\"querypage-no-updates\";i:322;s:20:\"wrong_wfQuery_params\";i:323;s:10:\"viewsource\";i:324;s:13:\"viewsourcefor\";i:325;s:15:\"actionthrottled\";i:326;s:19:\"actionthrottledtext\";i:327;s:17:\"protectedpagetext\";i:328;s:14:\"viewsourcetext\";i:329;s:18:\"protectedinterface\";i:330;s:16:\"editinginterface\";i:331;s:9:\"sqlhidden\";i:332;s:16:\"cascadeprotected\";i:333;s:18:\"namespaceprotected\";i:334;s:18:\"customcssprotected\";i:335;s:17:\"customjsprotected\";i:336;s:19:\"ns-specialprotected\";i:337;s:14:\"titleprotected\";i:338;s:16:\"virus-badscanner\";i:339;s:16:\"virus-scanfailed\";i:340;s:20:\"virus-unknownscanner\";i:341;s:10:\"logouttext\";i:342;s:15:\"welcomecreation\";i:343;s:8:\"yourname\";i:344;s:12:\"yourpassword\";i:345;s:17:\"yourpasswordagain\";i:346;s:18:\"remembermypassword\";i:347;s:23:\"securelogin-stick-https\";i:348;s:14:\"yourdomainname\";i:349;s:15:\"externaldberror\";i:350;s:5:\"login\";i:351;s:23:\"nav-login-createaccount\";i:352;s:11:\"loginprompt\";i:353;s:9:\"userlogin\";i:354;s:17:\"userloginnocreate\";i:355;s:6:\"logout\";i:356;s:10:\"userlogout\";i:357;s:11:\"notloggedin\";i:358;s:7:\"nologin\";i:359;s:11:\"nologinlink\";i:360;s:13:\"createaccount\";i:361;s:10:\"gotaccount\";i:362;s:14:\"gotaccountlink\";i:363;s:19:\"userlogin-resetlink\";i:364;s:17:\"createaccountmail\";i:365;s:19:\"createaccountreason\";i:366;s:9:\"badretype\";i:367;s:10:\"userexists\";i:368;s:10:\"loginerror\";i:369;s:18:\"createaccounterror\";i:370;s:12:\"nocookiesnew\";i:371;s:14:\"nocookieslogin\";i:372;s:15:\"nocookiesfornew\";i:373;s:6:\"noname\";i:374;s:17:\"loginsuccesstitle\";i:375;s:12:\"loginsuccess\";i:376;s:10:\"nosuchuser\";i:377;s:15:\"nosuchusershort\";i:378;s:15:\"nouserspecified\";i:379;s:17:\"login-userblocked\";i:380;s:13:\"wrongpassword\";i:381;s:18:\"wrongpasswordempty\";i:382;s:16:\"passwordtooshort\";i:383;s:19:\"password-name-match\";i:384;s:24:\"password-login-forbidden\";i:385;s:14:\"mailmypassword\";i:386;s:21:\"passwordremindertitle\";i:387;s:20:\"passwordremindertext\";i:388;s:7:\"noemail\";i:389;s:13:\"noemailcreate\";i:390;s:12:\"passwordsent\";i:391;s:20:\"blocked-mailpassword\";i:392;s:12:\"eauthentsent\";i:393;s:22:\"throttled-mailpassword\";i:394;s:9:\"mailerror\";i:395;s:26:\"acct_creation_throttle_hit\";i:396;s:18:\"emailauthenticated\";i:397;s:21:\"emailnotauthenticated\";i:398;s:12:\"noemailprefs\";i:399;s:16:\"emailconfirmlink\";i:400;s:19:\"invalidemailaddress\";i:401;s:14:\"accountcreated\";i:402;s:18:\"accountcreatedtext\";i:403;s:19:\"createaccount-title\";i:404;s:18:\"createaccount-text\";i:405;s:17:\"usernamehasherror\";i:406;s:15:\"login-throttled\";i:407;s:19:\"login-abort-generic\";i:408;s:18:\"loginlanguagelabel\";i:409;s:21:\"suspicious-userlogout\";i:410;s:22:\"php-mail-error-unknown\";i:411;s:9:\"resetpass\";i:412;s:18:\"resetpass_announce\";i:413;s:14:\"resetpass_text\";i:414;s:16:\"resetpass_header\";i:415;s:11:\"oldpassword\";i:416;s:11:\"newpassword\";i:417;s:9:\"retypenew\";i:418;s:16:\"resetpass_submit\";i:419;s:17:\"resetpass_success\";i:420;s:19:\"resetpass_forbidden\";i:421;s:17:\"resetpass-no-info\";i:422;s:25:\"resetpass-submit-loggedin\";i:423;s:23:\"resetpass-submit-cancel\";i:424;s:23:\"resetpass-wrong-oldpass\";i:425;s:23:\"resetpass-temp-password\";i:426;s:13:\"passwordreset\";i:427;s:18:\"passwordreset-text\";i:428;s:20:\"passwordreset-legend\";i:429;s:22:\"passwordreset-disabled\";i:430;s:21:\"passwordreset-pretext\";i:431;s:22:\"passwordreset-username\";i:432;s:20:\"passwordreset-domain\";i:433;s:19:\"passwordreset-email\";i:434;s:24:\"passwordreset-emailtitle\";i:435;s:26:\"passwordreset-emailtext-ip\";i:436;s:28:\"passwordreset-emailtext-user\";i:437;s:26:\"passwordreset-emailelement\";i:438;s:23:\"passwordreset-emailsent\";i:439;s:11:\"bold_sample\";i:440;s:8:\"bold_tip\";i:441;s:13:\"italic_sample\";i:442;s:10:\"italic_tip\";i:443;s:11:\"link_sample\";i:444;s:8:\"link_tip\";i:445;s:14:\"extlink_sample\";i:446;s:11:\"extlink_tip\";i:447;s:15:\"headline_sample\";i:448;s:12:\"headline_tip\";i:449;s:13:\"nowiki_sample\";i:450;s:10:\"nowiki_tip\";i:451;s:12:\"image_sample\";i:452;s:9:\"image_tip\";i:453;s:12:\"media_sample\";i:454;s:9:\"media_tip\";i:455;s:7:\"sig_tip\";i:456;s:6:\"hr_tip\";i:457;s:7:\"summary\";i:458;s:7:\"subject\";i:459;s:9:\"minoredit\";i:460;s:9:\"watchthis\";i:461;s:11:\"savearticle\";i:462;s:7:\"preview\";i:463;s:11:\"showpreview\";i:464;s:15:\"showlivepreview\";i:465;s:8:\"showdiff\";i:466;s:15:\"anoneditwarning\";i:467;s:18:\"anonpreviewwarning\";i:468;s:14:\"missingsummary\";i:469;s:18:\"missingcommenttext\";i:470;s:20:\"missingcommentheader\";i:471;s:15:\"summary-preview\";i:472;s:15:\"subject-preview\";i:473;s:12:\"blockedtitle\";i:474;s:11:\"blockedtext\";i:475;s:15:\"autoblockedtext\";i:476;s:15:\"blockednoreason\";i:477;s:21:\"blockedoriginalsource\";i:478;s:17:\"blockededitsource\";i:479;s:18:\"whitelistedittitle\";i:480;s:17:\"whitelistedittext\";i:481;s:15:\"confirmedittext\";i:482;s:18:\"nosuchsectiontitle\";i:483;s:17:\"nosuchsectiontext\";i:484;s:13:\"loginreqtitle\";i:485;s:12:\"loginreqlink\";i:486;s:16:\"loginreqpagetext\";i:487;s:12:\"accmailtitle\";i:488;s:11:\"accmailtext\";i:489;s:10:\"newarticle\";i:490;s:14:\"newarticletext\";i:491;s:16:\"anontalkpagetext\";i:492;s:13:\"noarticletext\";i:493;s:26:\"noarticletext-nopermission\";i:494;s:25:\"userpage-userdoesnotexist\";i:495;s:30:\"userpage-userdoesnotexist-view\";i:496;s:25:\"blocked-notice-logextract\";i:497;s:14:\"clearyourcache\";i:498;s:20:\"usercssyoucanpreview\";i:499;s:19:\"userjsyoucanpreview\";i:500;s:14:\"usercsspreview\";i:501;s:13:\"userjspreview\";i:502;s:14:\"sitecsspreview\";i:503;s:13:\"sitejspreview\";i:504;s:21:\"userinvalidcssjstitle\";i:505;s:7:\"updated\";i:506;s:4:\"note\";i:507;s:11:\"previewnote\";i:508;s:15:\"previewconflict\";i:509;s:20:\"session_fail_preview\";i:510;s:25:\"session_fail_preview_html\";i:511;s:21:\"token_suffix_mismatch\";i:512;s:20:\"edit_form_incomplete\";i:513;s:7:\"editing\";i:514;s:14:\"editingsection\";i:515;s:14:\"editingcomment\";i:516;s:12:\"editconflict\";i:517;s:15:\"explainconflict\";i:518;s:8:\"yourtext\";i:519;s:13:\"storedversion\";i:520;s:17:\"nonunicodebrowser\";i:521;s:10:\"editingold\";i:522;s:8:\"yourdiff\";i:523;s:16:\"copyrightwarning\";i:524;s:17:\"copyrightwarning2\";i:525;s:13:\"longpageerror\";i:526;s:15:\"readonlywarning\";i:527;s:20:\"protectedpagewarning\";i:528;s:24:\"semiprotectedpagewarning\";i:529;s:23:\"cascadeprotectedwarning\";i:530;s:21:\"titleprotectedwarning\";i:531;s:13:\"templatesused\";i:532;s:20:\"templatesusedpreview\";i:533;s:20:\"templatesusedsection\";i:534;s:18:\"template-protected\";i:535;s:22:\"template-semiprotected\";i:536;s:16:\"hiddencategories\";i:537;s:9:\"edittools\";i:538;s:13:\"nocreatetitle\";i:539;s:12:\"nocreatetext\";i:540;s:17:\"nocreate-loggedin\";i:541;s:29:\"sectioneditnotsupported-title\";i:542;s:28:\"sectioneditnotsupported-text\";i:543;s:17:\"permissionserrors\";i:544;s:21:\"permissionserrorstext\";i:545;s:32:\"permissionserrorstext-withaction\";i:546;s:26:\"recreate-moveddeleted-warn\";i:547;s:19:\"moveddeleted-notice\";i:548;s:11:\"log-fulllog\";i:549;s:17:\"edit-hook-aborted\";i:550;s:17:\"edit-gone-missing\";i:551;s:13:\"edit-conflict\";i:552;s:14:\"edit-no-change\";i:553;s:19:\"edit-already-exists\";i:554;s:32:\"expensive-parserfunction-warning\";i:555;s:33:\"expensive-parserfunction-category\";i:556;s:38:\"post-expand-template-inclusion-warning\";i:557;s:39:\"post-expand-template-inclusion-category\";i:558;s:37:\"post-expand-template-argument-warning\";i:559;s:38:\"post-expand-template-argument-category\";i:560;s:28:\"parser-template-loop-warning\";i:561;s:39:\"parser-template-recursion-depth-warning\";i:562;s:32:\"language-converter-depth-warning\";i:563;s:12:\"undo-success\";i:564;s:12:\"undo-failure\";i:565;s:10:\"undo-norev\";i:566;s:12:\"undo-summary\";i:567;s:22:\"cantcreateaccounttitle\";i:568;s:22:\"cantcreateaccount-text\";i:569;s:12:\"viewpagelogs\";i:570;s:9:\"nohistory\";i:571;s:10:\"currentrev\";i:572;s:15:\"currentrev-asof\";i:573;s:12:\"revisionasof\";i:574;s:13:\"revision-info\";i:575;s:16:\"previousrevision\";i:576;s:12:\"nextrevision\";i:577;s:19:\"currentrevisionlink\";i:578;s:3:\"cur\";i:579;s:4:\"next\";i:580;s:4:\"last\";i:581;s:10:\"page_first\";i:582;s:9:\"page_last\";i:583;s:10:\"histlegend\";i:584;s:22:\"history-fieldset-title\";i:585;s:20:\"history-show-deleted\";i:586;s:9:\"histfirst\";i:587;s:8:\"histlast\";i:588;s:11:\"historysize\";i:589;s:12:\"historyempty\";i:590;s:18:\"history-feed-title\";i:591;s:24:\"history-feed-description\";i:592;s:27:\"history-feed-item-nocomment\";i:593;s:18:\"history-feed-empty\";i:594;s:19:\"rev-deleted-comment\";i:595;s:16:\"rev-deleted-user\";i:596;s:17:\"rev-deleted-event\";i:597;s:25:\"rev-deleted-user-contribs\";i:598;s:27:\"rev-deleted-text-permission\";i:599;s:23:\"rev-deleted-text-unhide\";i:600;s:26:\"rev-suppressed-text-unhide\";i:601;s:21:\"rev-deleted-text-view\";i:602;s:24:\"rev-suppressed-text-view\";i:603;s:19:\"rev-deleted-no-diff\";i:604;s:22:\"rev-suppressed-no-diff\";i:605;s:23:\"rev-deleted-unhide-diff\";i:606;s:26:\"rev-suppressed-unhide-diff\";i:607;s:21:\"rev-deleted-diff-view\";i:608;s:24:\"rev-suppressed-diff-view\";i:609;s:12:\"rev-delundel\";i:610;s:15:\"rev-showdeleted\";i:611;s:14:\"revisiondelete\";i:612;s:23:\"revdelete-nooldid-title\";i:613;s:22:\"revdelete-nooldid-text\";i:614;s:25:\"revdelete-nologtype-title\";i:615;s:24:\"revdelete-nologtype-text\";i:616;s:23:\"revdelete-nologid-title\";i:617;s:22:\"revdelete-nologid-text\";i:618;s:17:\"revdelete-no-file\";i:619;s:27:\"revdelete-show-file-confirm\";i:620;s:26:\"revdelete-show-file-submit\";i:621;s:18:\"revdelete-selected\";i:622;s:18:\"logdelete-selected\";i:623;s:14:\"revdelete-text\";i:624;s:17:\"revdelete-confirm\";i:625;s:23:\"revdelete-suppress-text\";i:626;s:16:\"revdelete-legend\";i:627;s:19:\"revdelete-hide-text\";i:628;s:20:\"revdelete-hide-image\";i:629;s:19:\"revdelete-hide-name\";i:630;s:22:\"revdelete-hide-comment\";i:631;s:19:\"revdelete-hide-user\";i:632;s:25:\"revdelete-hide-restricted\";i:633;s:20:\"revdelete-radio-same\";i:634;s:19:\"revdelete-radio-set\";i:635;s:21:\"revdelete-radio-unset\";i:636;s:18:\"revdelete-suppress\";i:637;s:20:\"revdelete-unsuppress\";i:638;s:13:\"revdelete-log\";i:639;s:16:\"revdelete-submit\";i:640;s:18:\"revdelete-logentry\";i:641;s:18:\"logdelete-logentry\";i:642;s:17:\"revdelete-success\";i:643;s:17:\"revdelete-failure\";i:644;s:17:\"logdelete-success\";i:645;s:17:\"logdelete-failure\";i:646;s:14:\"revdel-restore\";i:647;s:22:\"revdel-restore-deleted\";i:648;s:22:\"revdel-restore-visible\";i:649;s:8:\"pagehist\";i:650;s:11:\"deletedhist\";i:651;s:17:\"revdelete-content\";i:652;s:17:\"revdelete-summary\";i:653;s:15:\"revdelete-uname\";i:654;s:20:\"revdelete-restricted\";i:655;s:22:\"revdelete-unrestricted\";i:656;s:13:\"revdelete-hid\";i:657;s:15:\"revdelete-unhid\";i:658;s:21:\"revdelete-log-message\";i:659;s:21:\"logdelete-log-message\";i:660;s:22:\"revdelete-hide-current\";i:661;s:24:\"revdelete-show-no-access\";i:662;s:26:\"revdelete-modify-no-access\";i:663;s:24:\"revdelete-modify-missing\";i:664;s:19:\"revdelete-no-change\";i:665;s:27:\"revdelete-concurrent-change\";i:666;s:25:\"revdelete-only-restricted\";i:667;s:25:\"revdelete-reason-dropdown\";i:668;s:21:\"revdelete-otherreason\";i:669;s:25:\"revdelete-reasonotherlist\";i:670;s:25:\"revdelete-edit-reasonlist\";i:671;s:18:\"revdelete-offender\";i:672;s:14:\"suppressionlog\";i:673;s:18:\"suppressionlogtext\";i:674;s:12:\"mergehistory\";i:675;s:19:\"mergehistory-header\";i:676;s:16:\"mergehistory-box\";i:677;s:17:\"mergehistory-from\";i:678;s:17:\"mergehistory-into\";i:679;s:17:\"mergehistory-list\";i:680;s:18:\"mergehistory-merge\";i:681;s:15:\"mergehistory-go\";i:682;s:19:\"mergehistory-submit\";i:683;s:18:\"mergehistory-empty\";i:684;s:20:\"mergehistory-success\";i:685;s:17:\"mergehistory-fail\";i:686;s:22:\"mergehistory-no-source\";i:687;s:27:\"mergehistory-no-destination\";i:688;s:27:\"mergehistory-invalid-source\";i:689;s:32:\"mergehistory-invalid-destination\";i:690;s:24:\"mergehistory-autocomment\";i:691;s:20:\"mergehistory-comment\";i:692;s:29:\"mergehistory-same-destination\";i:693;s:19:\"mergehistory-reason\";i:694;s:8:\"mergelog\";i:695;s:18:\"pagemerge-logentry\";i:696;s:11:\"revertmerge\";i:697;s:16:\"mergelogpagetext\";i:698;s:13:\"history-title\";i:699;s:10:\"difference\";i:700;s:20:\"difference-multipage\";i:701;s:6:\"lineno\";i:702;s:23:\"compareselectedversions\";i:703;s:24:\"showhideselectedversions\";i:704;s:8:\"editundo\";i:705;s:10:\"diff-multi\";i:706;s:20:\"diff-multi-manyusers\";i:707;s:13:\"searchresults\";i:708;s:19:\"searchresults-title\";i:709;s:16:\"searchresulttext\";i:710;s:14:\"searchsubtitle\";i:711;s:21:\"searchsubtitleinvalid\";i:712;s:14:\"toomanymatches\";i:713;s:12:\"titlematches\";i:714;s:14:\"notitlematches\";i:715;s:11:\"textmatches\";i:716;s:13:\"notextmatches\";i:717;s:5:\"prevn\";i:718;s:5:\"nextn\";i:719;s:11:\"prevn-title\";i:720;s:11:\"nextn-title\";i:721;s:11:\"shown-title\";i:722;s:12:\"viewprevnext\";i:723;s:17:\"searchmenu-legend\";i:724;s:17:\"searchmenu-exists\";i:725;s:14:\"searchmenu-new\";i:726;s:14:\"searchhelp-url\";i:727;s:17:\"searchmenu-prefix\";i:728;s:22:\"searchprofile-articles\";i:729;s:21:\"searchprofile-project\";i:730;s:20:\"searchprofile-images\";i:731;s:24:\"searchprofile-everything\";i:732;s:22:\"searchprofile-advanced\";i:733;s:30:\"searchprofile-articles-tooltip\";i:734;s:29:\"searchprofile-project-tooltip\";i:735;s:28:\"searchprofile-images-tooltip\";i:736;s:32:\"searchprofile-everything-tooltip\";i:737;s:30:\"searchprofile-advanced-tooltip\";i:738;s:18:\"search-result-size\";i:739;s:27:\"search-result-category-size\";i:740;s:19:\"search-result-score\";i:741;s:15:\"search-redirect\";i:742;s:14:\"search-section\";i:743;s:14:\"search-suggest\";i:744;s:24:\"search-interwiki-caption\";i:745;s:24:\"search-interwiki-default\";i:746;s:21:\"search-interwiki-more\";i:747;s:24:\"search-mwsuggest-enabled\";i:748;s:25:\"search-mwsuggest-disabled\";i:749;s:21:\"search-relatedarticle\";i:750;s:17:\"mwsuggest-disable\";i:751;s:23:\"searcheverything-enable\";i:752;s:13:\"searchrelated\";i:753;s:9:\"searchall\";i:754;s:14:\"showingresults\";i:755;s:17:\"showingresultsnum\";i:756;s:20:\"showingresultsheader\";i:757;s:9:\"nonefound\";i:758;s:16:\"search-nonefound\";i:759;s:11:\"powersearch\";i:760;s:18:\"powersearch-legend\";i:761;s:14:\"powersearch-ns\";i:762;s:17:\"powersearch-redir\";i:763;s:17:\"powersearch-field\";i:764;s:23:\"powersearch-togglelabel\";i:765;s:21:\"powersearch-toggleall\";i:766;s:22:\"powersearch-togglenone\";i:767;s:15:\"search-external\";i:768;s:14:\"searchdisabled\";i:769;s:10:\"qbsettings\";i:770;s:15:\"qbsettings-none\";i:771;s:20:\"qbsettings-fixedleft\";i:772;s:21:\"qbsettings-fixedright\";i:773;s:23:\"qbsettings-floatingleft\";i:774;s:24:\"qbsettings-floatingright\";i:775;s:25:\"qbsettings-directionality\";i:776;s:11:\"preferences\";i:777;s:13:\"mypreferences\";i:778;s:11:\"prefs-edits\";i:779;s:12:\"prefsnologin\";i:780;s:16:\"prefsnologintext\";i:781;s:14:\"changepassword\";i:782;s:10:\"prefs-skin\";i:783;s:12:\"skin-preview\";i:784;s:11:\"datedefault\";i:785;s:10:\"prefs-beta\";i:786;s:14:\"prefs-datetime\";i:787;s:10:\"prefs-labs\";i:788;s:14:\"prefs-personal\";i:789;s:8:\"prefs-rc\";i:790;s:15:\"prefs-watchlist\";i:791;s:20:\"prefs-watchlist-days\";i:792;s:24:\"prefs-watchlist-days-max\";i:793;s:21:\"prefs-watchlist-edits\";i:794;s:25:\"prefs-watchlist-edits-max\";i:795;s:21:\"prefs-watchlist-token\";i:796;s:10:\"prefs-misc\";i:797;s:15:\"prefs-resetpass\";i:798;s:11:\"prefs-email\";i:799;s:15:\"prefs-rendering\";i:800;s:9:\"saveprefs\";i:801;s:10:\"resetprefs\";i:802;s:12:\"restoreprefs\";i:803;s:13:\"prefs-editing\";i:804;s:18:\"prefs-edit-boxsize\";i:805;s:4:\"rows\";i:806;s:7:\"columns\";i:807;s:17:\"searchresultshead\";i:808;s:14:\"resultsperpage\";i:809;s:14:\"stub-threshold\";i:810;s:23:\"stub-threshold-disabled\";i:811;s:17:\"recentchangesdays\";i:812;s:21:\"recentchangesdays-max\";i:813;s:18:\"recentchangescount\";i:814;s:29:\"prefs-help-recentchangescount\";i:815;s:26:\"prefs-help-watchlist-token\";i:816;s:10:\"savedprefs\";i:817;s:14:\"timezonelegend\";i:818;s:9:\"localtime\";i:819;s:24:\"timezoneuseserverdefault\";i:820;s:17:\"timezoneuseoffset\";i:821;s:14:\"timezoneoffset\";i:822;s:10:\"servertime\";i:823;s:13:\"guesstimezone\";i:824;s:21:\"timezoneregion-africa\";i:825;s:22:\"timezoneregion-america\";i:826;s:25:\"timezoneregion-antarctica\";i:827;s:21:\"timezoneregion-arctic\";i:828;s:19:\"timezoneregion-asia\";i:829;s:23:\"timezoneregion-atlantic\";i:830;s:24:\"timezoneregion-australia\";i:831;s:21:\"timezoneregion-europe\";i:832;s:21:\"timezoneregion-indian\";i:833;s:22:\"timezoneregion-pacific\";i:834;s:10:\"allowemail\";i:835;s:19:\"prefs-searchoptions\";i:836;s:16:\"prefs-namespaces\";i:837;s:9:\"defaultns\";i:838;s:7:\"default\";i:839;s:11:\"prefs-files\";i:840;s:16:\"prefs-custom-css\";i:841;s:15:\"prefs-custom-js\";i:842;s:19:\"prefs-common-css-js\";i:843;s:17:\"prefs-reset-intro\";i:844;s:24:\"prefs-emailconfirm-label\";i:845;s:17:\"prefs-textboxsize\";i:846;s:9:\"youremail\";i:847;s:8:\"username\";i:848;s:3:\"uid\";i:849;s:20:\"prefs-memberingroups\";i:850;s:18:\"prefs-registration\";i:851;s:12:\"yourrealname\";i:852;s:12:\"yourlanguage\";i:853;s:11:\"yourvariant\";i:854;s:8:\"yournick\";i:855;s:20:\"prefs-help-signature\";i:856;s:6:\"badsig\";i:857;s:12:\"badsiglength\";i:858;s:10:\"yourgender\";i:859;s:14:\"gender-unknown\";i:860;s:11:\"gender-male\";i:861;s:13:\"gender-female\";i:862;s:17:\"prefs-help-gender\";i:863;s:5:\"email\";i:864;s:19:\"prefs-help-realname\";i:865;s:16:\"prefs-help-email\";i:866;s:23:\"prefs-help-email-others\";i:867;s:25:\"prefs-help-email-required\";i:868;s:10:\"prefs-info\";i:869;s:10:\"prefs-i18n\";i:870;s:15:\"prefs-signature\";i:871;s:16:\"prefs-dateformat\";i:872;s:16:\"prefs-timeoffset\";i:873;s:21:\"prefs-advancedediting\";i:874;s:16:\"prefs-advancedrc\";i:875;s:23:\"prefs-advancedrendering\";i:876;s:27:\"prefs-advancedsearchoptions\";i:877;s:23:\"prefs-advancedwatchlist\";i:878;s:15:\"prefs-displayrc\";i:879;s:26:\"prefs-displaysearchoptions\";i:880;s:22:\"prefs-displaywatchlist\";i:881;s:11:\"prefs-diffs\";i:882;s:28:\"email-address-validity-valid\";i:883;s:30:\"email-address-validity-invalid\";i:884;s:10:\"userrights\";i:885;s:22:\"userrights-lookup-user\";i:886;s:24:\"userrights-user-editname\";i:887;s:13:\"editusergroup\";i:888;s:11:\"editinguser\";i:889;s:24:\"userrights-editusergroup\";i:890;s:14:\"saveusergroups\";i:891;s:23:\"userrights-groupsmember\";i:892;s:28:\"userrights-groupsmember-auto\";i:893;s:22:\"userrights-groups-help\";i:894;s:17:\"userrights-reason\";i:895;s:23:\"userrights-no-interwiki\";i:896;s:21:\"userrights-nodatabase\";i:897;s:18:\"userrights-nologin\";i:898;s:21:\"userrights-notallowed\";i:899;s:25:\"userrights-changeable-col\";i:900;s:27:\"userrights-unchangeable-col\";i:901;s:5:\"group\";i:902;s:10:\"group-user\";i:903;s:19:\"group-autoconfirmed\";i:904;s:9:\"group-bot\";i:905;s:11:\"group-sysop\";i:906;s:16:\"group-bureaucrat\";i:907;s:14:\"group-suppress\";i:908;s:9:\"group-all\";i:909;s:17:\"group-user-member\";i:910;s:26:\"group-autoconfirmed-member\";i:911;s:16:\"group-bot-member\";i:912;s:18:\"group-sysop-member\";i:913;s:23:\"group-bureaucrat-member\";i:914;s:21:\"group-suppress-member\";i:915;s:14:\"grouppage-user\";i:916;s:23:\"grouppage-autoconfirmed\";i:917;s:13:\"grouppage-bot\";i:918;s:15:\"grouppage-sysop\";i:919;s:20:\"grouppage-bureaucrat\";i:920;s:18:\"grouppage-suppress\";i:921;s:10:\"right-read\";i:922;s:10:\"right-edit\";i:923;s:16:\"right-createpage\";i:924;s:16:\"right-createtalk\";i:925;s:19:\"right-createaccount\";i:926;s:15:\"right-minoredit\";i:927;s:10:\"right-move\";i:928;s:19:\"right-move-subpages\";i:929;s:24:\"right-move-rootuserpages\";i:930;s:14:\"right-movefile\";i:931;s:22:\"right-suppressredirect\";i:932;s:12:\"right-upload\";i:933;s:14:\"right-reupload\";i:934;s:18:\"right-reupload-own\";i:935;s:21:\"right-reupload-shared\";i:936;s:19:\"right-upload_by_url\";i:937;s:11:\"right-purge\";i:938;s:19:\"right-autoconfirmed\";i:939;s:9:\"right-bot\";i:940;s:20:\"right-nominornewtalk\";i:941;s:19:\"right-apihighlimits\";i:942;s:14:\"right-writeapi\";i:943;s:12:\"right-delete\";i:944;s:15:\"right-bigdelete\";i:945;s:20:\"right-deleterevision\";i:946;s:20:\"right-deletedhistory\";i:947;s:17:\"right-deletedtext\";i:948;s:19:\"right-browsearchive\";i:949;s:14:\"right-undelete\";i:950;s:22:\"right-suppressrevision\";i:951;s:20:\"right-suppressionlog\";i:952;s:11:\"right-block\";i:953;s:16:\"right-blockemail\";i:954;s:14:\"right-hideuser\";i:955;s:20:\"right-ipblock-exempt\";i:956;s:21:\"right-proxyunbannable\";i:957;s:17:\"right-unblockself\";i:958;s:13:\"right-protect\";i:959;s:19:\"right-editprotected\";i:960;s:19:\"right-editinterface\";i:961;s:19:\"right-editusercssjs\";i:962;s:17:\"right-editusercss\";i:963;s:16:\"right-edituserjs\";i:964;s:14:\"right-rollback\";i:965;s:18:\"right-markbotedits\";i:966;s:17:\"right-noratelimit\";i:967;s:12:\"right-import\";i:968;s:18:\"right-importupload\";i:969;s:12:\"right-patrol\";i:970;s:16:\"right-autopatrol\";i:971;s:17:\"right-patrolmarks\";i:972;s:20:\"right-unwatchedpages\";i:973;s:15:\"right-trackback\";i:974;s:18:\"right-mergehistory\";i:975;s:16:\"right-userrights\";i:976;s:26:\"right-userrights-interwiki\";i:977;s:15:\"right-siteadmin\";i:978;s:27:\"right-override-export-depth\";i:979;s:15:\"right-sendemail\";i:980;s:9:\"rightslog\";i:981;s:13:\"rightslogtext\";i:982;s:14:\"rightslogentry\";i:983;s:26:\"rightslogentry-autopromote\";i:984;s:10:\"rightsnone\";i:985;s:11:\"action-read\";i:986;s:11:\"action-edit\";i:987;s:17:\"action-createpage\";i:988;s:17:\"action-createtalk\";i:989;s:20:\"action-createaccount\";i:990;s:16:\"action-minoredit\";i:991;s:11:\"action-move\";i:992;s:20:\"action-move-subpages\";i:993;s:25:\"action-move-rootuserpages\";i:994;s:15:\"action-movefile\";i:995;s:13:\"action-upload\";i:996;s:15:\"action-reupload\";i:997;s:22:\"action-reupload-shared\";i:998;s:20:\"action-upload_by_url\";i:999;s:15:\"action-writeapi\";i:1000;s:13:\"action-delete\";i:1001;s:21:\"action-deleterevision\";i:1002;s:21:\"action-deletedhistory\";i:1003;s:20:\"action-browsearchive\";i:1004;s:15:\"action-undelete\";i:1005;s:23:\"action-suppressrevision\";i:1006;s:21:\"action-suppressionlog\";i:1007;s:12:\"action-block\";i:1008;s:14:\"action-protect\";i:1009;s:13:\"action-import\";i:1010;s:19:\"action-importupload\";i:1011;s:13:\"action-patrol\";i:1012;s:17:\"action-autopatrol\";i:1013;s:21:\"action-unwatchedpages\";i:1014;s:16:\"action-trackback\";i:1015;s:19:\"action-mergehistory\";i:1016;s:17:\"action-userrights\";i:1017;s:27:\"action-userrights-interwiki\";i:1018;s:16:\"action-siteadmin\";i:1019;s:8:\"nchanges\";i:1020;s:13:\"recentchanges\";i:1021;s:20:\"recentchanges-legend\";i:1022;s:17:\"recentchangestext\";i:1023;s:30:\"recentchanges-feed-description\";i:1024;s:27:\"recentchanges-label-newpage\";i:1025;s:25:\"recentchanges-label-minor\";i:1026;s:23:\"recentchanges-label-bot\";i:1027;s:31:\"recentchanges-label-unpatrolled\";i:1028;s:6:\"rcnote\";i:1029;s:10:\"rcnotefrom\";i:1030;s:10:\"rclistfrom\";i:1031;s:15:\"rcshowhideminor\";i:1032;s:14:\"rcshowhidebots\";i:1033;s:13:\"rcshowhideliu\";i:1034;s:15:\"rcshowhideanons\";i:1035;s:14:\"rcshowhidepatr\";i:1036;s:14:\"rcshowhidemine\";i:1037;s:7:\"rclinks\";i:1038;s:4:\"diff\";i:1039;s:4:\"hist\";i:1040;s:4:\"hide\";i:1041;s:4:\"show\";i:1042;s:15:\"minoreditletter\";i:1043;s:13:\"newpageletter\";i:1044;s:13:\"boteditletter\";i:1045;s:33:\"number_of_watching_users_pageview\";i:1046;s:13:\"rc_categories\";i:1047;s:17:\"rc_categories_any\";i:1048;s:17:\"newsectionsummary\";i:1049;s:18:\"rc-enhanced-expand\";i:1050;s:16:\"rc-enhanced-hide\";i:1051;s:19:\"recentchangeslinked\";i:1052;s:24:\"recentchangeslinked-feed\";i:1053;s:27:\"recentchangeslinked-toolbox\";i:1054;s:25:\"recentchangeslinked-title\";i:1055;s:28:\"recentchangeslinked-noresult\";i:1056;s:27:\"recentchangeslinked-summary\";i:1057;s:24:\"recentchangeslinked-page\";i:1058;s:22:\"recentchangeslinked-to\";i:1059;s:6:\"upload\";i:1060;s:9:\"uploadbtn\";i:1061;s:12:\"reuploaddesc\";i:1062;s:15:\"upload-tryagain\";i:1063;s:13:\"uploadnologin\";i:1064;s:17:\"uploadnologintext\";i:1065;s:24:\"upload_directory_missing\";i:1066;s:26:\"upload_directory_read_only\";i:1067;s:11:\"uploaderror\";i:1068;s:23:\"upload-recreate-warning\";i:1069;s:10:\"uploadtext\";i:1070;s:16:\"upload-permitted\";i:1071;s:16:\"upload-preferred\";i:1072;s:17:\"upload-prohibited\";i:1073;s:9:\"uploadlog\";i:1074;s:13:\"uploadlogpage\";i:1075;s:17:\"uploadlogpagetext\";i:1076;s:8:\"filename\";i:1077;s:8:\"filedesc\";i:1078;s:17:\"fileuploadsummary\";i:1079;s:19:\"filereuploadsummary\";i:1080;s:10:\"filestatus\";i:1081;s:10:\"filesource\";i:1082;s:13:\"uploadedfiles\";i:1083;s:13:\"ignorewarning\";i:1084;s:14:\"ignorewarnings\";i:1085;s:10:\"minlength1\";i:1086;s:15:\"illegalfilename\";i:1087;s:11:\"badfilename\";i:1088;s:22:\"filetype-mime-mismatch\";i:1089;s:16:\"filetype-badmime\";i:1090;s:20:\"filetype-bad-ie-mime\";i:1091;s:22:\"filetype-unwanted-type\";i:1092;s:20:\"filetype-banned-type\";i:1093;s:16:\"filetype-missing\";i:1094;s:10:\"empty-file\";i:1095;s:14:\"file-too-large\";i:1096;s:17:\"filename-tooshort\";i:1097;s:15:\"filetype-banned\";i:1098;s:18:\"verification-error\";i:1099;s:11:\"hookaborted\";i:1100;s:16:\"illegal-filename\";i:1101;s:9:\"overwrite\";i:1102;s:13:\"unknown-error\";i:1103;s:16:\"tmp-create-error\";i:1104;s:15:\"tmp-write-error\";i:1105;s:10:\"large-file\";i:1106;s:15:\"largefileserver\";i:1107;s:9:\"emptyfile\";i:1108;s:25:\"windows-nonascii-filename\";i:1109;s:10:\"fileexists\";i:1110;s:14:\"filepageexists\";i:1111;s:20:\"fileexists-extension\";i:1112;s:24:\"fileexists-thumbnail-yes\";i:1113;s:17:\"file-thumbnail-no\";i:1114;s:20:\"fileexists-forbidden\";i:1115;s:27:\"fileexists-shared-forbidden\";i:1116;s:21:\"file-exists-duplicate\";i:1117;s:22:\"file-deleted-duplicate\";i:1118;s:13:\"uploadwarning\";i:1119;s:18:\"uploadwarning-text\";i:1120;s:8:\"savefile\";i:1121;s:13:\"uploadedimage\";i:1122;s:14:\"overwroteimage\";i:1123;s:14:\"uploaddisabled\";i:1124;s:18:\"copyuploaddisabled\";i:1125;s:20:\"uploadfromurl-queued\";i:1126;s:18:\"uploaddisabledtext\";i:1127;s:22:\"php-uploaddisabledtext\";i:1128;s:14:\"uploadscripted\";i:1129;s:11:\"uploadvirus\";i:1130;s:10:\"uploadjava\";i:1131;s:13:\"upload-source\";i:1132;s:14:\"sourcefilename\";i:1133;s:9:\"sourceurl\";i:1134;s:12:\"destfilename\";i:1135;s:18:\"upload-maxfilesize\";i:1136;s:18:\"upload-description\";i:1137;s:14:\"upload-options\";i:1138;s:15:\"watchthisupload\";i:1139;s:14:\"filewasdeleted\";i:1140;s:19:\"filename-bad-prefix\";i:1141;s:19:\"upload-success-subj\";i:1142;s:18:\"upload-success-msg\";i:1143;s:19:\"upload-failure-subj\";i:1144;s:18:\"upload-failure-msg\";i:1145;s:19:\"upload-warning-subj\";i:1146;s:18:\"upload-warning-msg\";i:1147;s:18:\"upload-proto-error\";i:1148;s:23:\"upload-proto-error-text\";i:1149;s:17:\"upload-file-error\";i:1150;s:22:\"upload-file-error-text\";i:1151;s:17:\"upload-misc-error\";i:1152;s:22:\"upload-misc-error-text\";i:1153;s:25:\"upload-too-many-redirects\";i:1154;s:19:\"upload-unknown-size\";i:1155;s:17:\"upload-http-error\";i:1156;s:19:\"zip-file-open-error\";i:1157;s:16:\"zip-wrong-format\";i:1158;s:7:\"zip-bad\";i:1159;s:15:\"zip-unsupported\";i:1160;s:11:\"uploadstash\";i:1161;s:19:\"uploadstash-summary\";i:1162;s:17:\"uploadstash-clear\";i:1163;s:19:\"uploadstash-nofiles\";i:1164;s:20:\"uploadstash-badtoken\";i:1165;s:20:\"uploadstash-errclear\";i:1166;s:19:\"uploadstash-refresh\";i:1167;s:21:\"img-auth-accessdenied\";i:1168;s:19:\"img-auth-nopathinfo\";i:1169;s:17:\"img-auth-notindir\";i:1170;s:17:\"img-auth-badtitle\";i:1171;s:19:\"img-auth-nologinnWL\";i:1172;s:15:\"img-auth-nofile\";i:1173;s:14:\"img-auth-isdir\";i:1174;s:18:\"img-auth-streaming\";i:1175;s:15:\"img-auth-public\";i:1176;s:15:\"img-auth-noread\";i:1177;s:25:\"img-auth-bad-query-string\";i:1178;s:16:\"http-invalid-url\";i:1179;s:19:\"http-invalid-scheme\";i:1180;s:18:\"http-request-error\";i:1181;s:15:\"http-read-error\";i:1182;s:14:\"http-timed-out\";i:1183;s:15:\"http-curl-error\";i:1184;s:21:\"http-host-unreachable\";i:1185;s:15:\"http-bad-status\";i:1186;s:18:\"upload-curl-error6\";i:1187;s:23:\"upload-curl-error6-text\";i:1188;s:19:\"upload-curl-error28\";i:1189;s:24:\"upload-curl-error28-text\";i:1190;s:7:\"license\";i:1191;s:14:\"license-header\";i:1192;s:9:\"nolicense\";i:1193;s:17:\"license-nopreview\";i:1194;s:17:\"upload_source_url\";i:1195;s:18:\"upload_source_file\";i:1196;s:17:\"listfiles-summary\";i:1197;s:20:\"listfiles_search_for\";i:1198;s:7:\"imgfile\";i:1199;s:9:\"listfiles\";i:1200;s:15:\"listfiles_thumb\";i:1201;s:14:\"listfiles_date\";i:1202;s:14:\"listfiles_name\";i:1203;s:14:\"listfiles_user\";i:1204;s:14:\"listfiles_size\";i:1205;s:21:\"listfiles_description\";i:1206;s:15:\"listfiles_count\";i:1207;s:16:\"file-anchor-link\";i:1208;s:8:\"filehist\";i:1209;s:13:\"filehist-help\";i:1210;s:18:\"filehist-deleteall\";i:1211;s:18:\"filehist-deleteone\";i:1212;s:15:\"filehist-revert\";i:1213;s:16:\"filehist-current\";i:1214;s:17:\"filehist-datetime\";i:1215;s:14:\"filehist-thumb\";i:1216;s:18:\"filehist-thumbtext\";i:1217;s:16:\"filehist-nothumb\";i:1218;s:13:\"filehist-user\";i:1219;s:19:\"filehist-dimensions\";i:1220;s:17:\"filehist-filesize\";i:1221;s:16:\"filehist-comment\";i:1222;s:16:\"filehist-missing\";i:1223;s:10:\"imagelinks\";i:1224;s:12:\"linkstoimage\";i:1225;s:17:\"linkstoimage-more\";i:1226;s:14:\"nolinkstoimage\";i:1227;s:16:\"morelinkstoimage\";i:1228;s:21:\"linkstoimage-redirect\";i:1229;s:16:\"duplicatesoffile\";i:1230;s:12:\"sharedupload\";i:1231;s:23:\"sharedupload-desc-there\";i:1232;s:22:\"sharedupload-desc-here\";i:1233;s:15:\"filepage-nofile\";i:1234;s:20:\"filepage-nofile-link\";i:1235;s:25:\"uploadnewversion-linktext\";i:1236;s:16:\"shared-repo-from\";i:1237;s:11:\"shared-repo\";i:1238;s:10:\"filerevert\";i:1239;s:17:\"filerevert-legend\";i:1240;s:16:\"filerevert-intro\";i:1241;s:18:\"filerevert-comment\";i:1242;s:25:\"filerevert-defaultcomment\";i:1243;s:17:\"filerevert-submit\";i:1244;s:18:\"filerevert-success\";i:1245;s:21:\"filerevert-badversion\";i:1246;s:10:\"filedelete\";i:1247;s:17:\"filedelete-legend\";i:1248;s:16:\"filedelete-intro\";i:1249;s:20:\"filedelete-intro-old\";i:1250;s:18:\"filedelete-comment\";i:1251;s:17:\"filedelete-submit\";i:1252;s:18:\"filedelete-success\";i:1253;s:22:\"filedelete-success-old\";i:1254;s:17:\"filedelete-nofile\";i:1255;s:21:\"filedelete-nofile-old\";i:1256;s:22:\"filedelete-otherreason\";i:1257;s:27:\"filedelete-reason-otherlist\";i:1258;s:26:\"filedelete-reason-dropdown\";i:1259;s:26:\"filedelete-edit-reasonlist\";i:1260;s:22:\"filedelete-maintenance\";i:1261;s:10:\"mimesearch\";i:1262;s:18:\"mimesearch-summary\";i:1263;s:8:\"mimetype\";i:1264;s:8:\"download\";i:1265;s:14:\"unwatchedpages\";i:1266;s:13:\"listredirects\";i:1267;s:15:\"unusedtemplates\";i:1268;s:19:\"unusedtemplatestext\";i:1269;s:18:\"unusedtemplateswlh\";i:1270;s:10:\"randompage\";i:1271;s:18:\"randompage-nopages\";i:1272;s:14:\"randomredirect\";i:1273;s:22:\"randomredirect-nopages\";i:1274;s:10:\"statistics\";i:1275;s:23:\"statistics-header-pages\";i:1276;s:23:\"statistics-header-edits\";i:1277;s:23:\"statistics-header-views\";i:1278;s:23:\"statistics-header-users\";i:1279;s:23:\"statistics-header-hooks\";i:1280;s:19:\"statistics-articles\";i:1281;s:16:\"statistics-pages\";i:1282;s:21:\"statistics-pages-desc\";i:1283;s:16:\"statistics-files\";i:1284;s:16:\"statistics-edits\";i:1285;s:24:\"statistics-edits-average\";i:1286;s:22:\"statistics-views-total\";i:1287;s:27:\"statistics-views-total-desc\";i:1288;s:24:\"statistics-views-peredit\";i:1289;s:16:\"statistics-users\";i:1290;s:23:\"statistics-users-active\";i:1291;s:28:\"statistics-users-active-desc\";i:1292;s:22:\"statistics-mostpopular\";i:1293;s:15:\"disambiguations\";i:1294;s:19:\"disambiguationspage\";i:1295;s:20:\"disambiguations-text\";i:1296;s:15:\"doubleredirects\";i:1297;s:19:\"doubleredirectstext\";i:1298;s:26:\"double-redirect-fixed-move\";i:1299;s:33:\"double-redirect-fixed-maintenance\";i:1300;s:21:\"double-redirect-fixer\";i:1301;s:15:\"brokenredirects\";i:1302;s:19:\"brokenredirectstext\";i:1303;s:20:\"brokenredirects-edit\";i:1304;s:22:\"brokenredirects-delete\";i:1305;s:16:\"withoutinterwiki\";i:1306;s:24:\"withoutinterwiki-summary\";i:1307;s:23:\"withoutinterwiki-legend\";i:1308;s:23:\"withoutinterwiki-submit\";i:1309;s:15:\"fewestrevisions\";i:1310;s:6:\"nbytes\";i:1311;s:11:\"ncategories\";i:1312;s:6:\"nlinks\";i:1313;s:8:\"nmembers\";i:1314;s:10:\"nrevisions\";i:1315;s:6:\"nviews\";i:1316;s:11:\"nimagelinks\";i:1317;s:14:\"ntransclusions\";i:1318;s:17:\"specialpage-empty\";i:1319;s:11:\"lonelypages\";i:1320;s:15:\"lonelypagestext\";i:1321;s:18:\"uncategorizedpages\";i:1322;s:23:\"uncategorizedcategories\";i:1323;s:19:\"uncategorizedimages\";i:1324;s:22:\"uncategorizedtemplates\";i:1325;s:16:\"unusedcategories\";i:1326;s:12:\"unusedimages\";i:1327;s:12:\"popularpages\";i:1328;s:16:\"wantedcategories\";i:1329;s:11:\"wantedpages\";i:1330;s:20:\"wantedpages-badtitle\";i:1331;s:11:\"wantedfiles\";i:1332;s:15:\"wantedtemplates\";i:1333;s:10:\"mostlinked\";i:1334;s:20:\"mostlinkedcategories\";i:1335;s:19:\"mostlinkedtemplates\";i:1336;s:14:\"mostcategories\";i:1337;s:10:\"mostimages\";i:1338;s:13:\"mostrevisions\";i:1339;s:11:\"prefixindex\";i:1340;s:10:\"shortpages\";i:1341;s:9:\"longpages\";i:1342;s:12:\"deadendpages\";i:1343;s:16:\"deadendpagestext\";i:1344;s:14:\"protectedpages\";i:1345;s:20:\"protectedpages-indef\";i:1346;s:22:\"protectedpages-cascade\";i:1347;s:18:\"protectedpagestext\";i:1348;s:19:\"protectedpagesempty\";i:1349;s:15:\"protectedtitles\";i:1350;s:19:\"protectedtitlestext\";i:1351;s:20:\"protectedtitlesempty\";i:1352;s:9:\"listusers\";i:1353;s:19:\"listusers-editsonly\";i:1354;s:22:\"listusers-creationsort\";i:1355;s:13:\"usereditcount\";i:1356;s:11:\"usercreated\";i:1357;s:8:\"newpages\";i:1358;s:17:\"newpages-username\";i:1359;s:12:\"ancientpages\";i:1360;s:4:\"move\";i:1361;s:12:\"movethispage\";i:1362;s:16:\"unusedimagestext\";i:1363;s:20:\"unusedcategoriestext\";i:1364;s:13:\"notargettitle\";i:1365;s:12:\"notargettext\";i:1366;s:11:\"nopagetitle\";i:1367;s:10:\"nopagetext\";i:1368;s:13:\"pager-newer-n\";i:1369;s:13:\"pager-older-n\";i:1370;s:8:\"suppress\";i:1371;s:18:\"querypage-disabled\";i:1372;s:11:\"booksources\";i:1373;s:25:\"booksources-search-legend\";i:1374;s:14:\"booksources-go\";i:1375;s:16:\"booksources-text\";i:1376;s:24:\"booksources-invalid-isbn\";i:1377;s:19:\"specialloguserlabel\";i:1378;s:20:\"speciallogtitlelabel\";i:1379;s:3:\"log\";i:1380;s:13:\"all-logs-page\";i:1381;s:11:\"alllogstext\";i:1382;s:8:\"logempty\";i:1383;s:18:\"log-title-wildcard\";i:1384;s:8:\"allpages\";i:1385;s:14:\"alphaindexline\";i:1386;s:8:\"nextpage\";i:1387;s:8:\"prevpage\";i:1388;s:12:\"allpagesfrom\";i:1389;s:10:\"allpagesto\";i:1390;s:11:\"allarticles\";i:1391;s:14:\"allinnamespace\";i:1392;s:17:\"allnotinnamespace\";i:1393;s:12:\"allpagesprev\";i:1394;s:12:\"allpagesnext\";i:1395;s:14:\"allpagessubmit\";i:1396;s:14:\"allpagesprefix\";i:1397;s:16:\"allpagesbadtitle\";i:1398;s:15:\"allpages-bad-ns\";i:1399;s:10:\"categories\";i:1400;s:18:\"categoriespagetext\";i:1401;s:14:\"categoriesfrom\";i:1402;s:29:\"special-categories-sort-count\";i:1403;s:27:\"special-categories-sort-abc\";i:1404;s:20:\"deletedcontributions\";i:1405;s:26:\"deletedcontributions-title\";i:1406;s:32:\"sp-deletedcontributions-contribs\";i:1407;s:10:\"linksearch\";i:1408;s:14:\"linksearch-pat\";i:1409;s:13:\"linksearch-ns\";i:1410;s:13:\"linksearch-ok\";i:1411;s:15:\"linksearch-text\";i:1412;s:15:\"linksearch-line\";i:1413;s:16:\"linksearch-error\";i:1414;s:13:\"listusersfrom\";i:1415;s:16:\"listusers-submit\";i:1416;s:18:\"listusers-noresult\";i:1417;s:17:\"listusers-blocked\";i:1418;s:11:\"activeusers\";i:1419;s:17:\"activeusers-intro\";i:1420;s:17:\"activeusers-count\";i:1421;s:16:\"activeusers-from\";i:1422;s:20:\"activeusers-hidebots\";i:1423;s:22:\"activeusers-hidesysops\";i:1424;s:20:\"activeusers-noresult\";i:1425;s:14:\"newuserlogpage\";i:1426;s:18:\"newuserlogpagetext\";i:1427;s:18:\"newuserlog-byemail\";i:1428;s:23:\"newuserlog-create-entry\";i:1429;s:24:\"newuserlog-create2-entry\";i:1430;s:27:\"newuserlog-autocreate-entry\";i:1431;s:15:\"listgrouprights\";i:1432;s:23:\"listgrouprights-summary\";i:1433;s:19:\"listgrouprights-key\";i:1434;s:21:\"listgrouprights-group\";i:1435;s:22:\"listgrouprights-rights\";i:1436;s:24:\"listgrouprights-helppage\";i:1437;s:23:\"listgrouprights-members\";i:1438;s:24:\"listgrouprights-addgroup\";i:1439;s:27:\"listgrouprights-removegroup\";i:1440;s:28:\"listgrouprights-addgroup-all\";i:1441;s:31:\"listgrouprights-removegroup-all\";i:1442;s:29:\"listgrouprights-addgroup-self\";i:1443;s:32:\"listgrouprights-removegroup-self\";i:1444;s:33:\"listgrouprights-addgroup-self-all\";i:1445;s:36:\"listgrouprights-removegroup-self-all\";i:1446;s:11:\"mailnologin\";i:1447;s:15:\"mailnologintext\";i:1448;s:9:\"emailuser\";i:1449;s:9:\"emailpage\";i:1450;s:13:\"emailpagetext\";i:1451;s:15:\"usermailererror\";i:1452;s:15:\"defemailsubject\";i:1453;s:16:\"usermaildisabled\";i:1454;s:20:\"usermaildisabledtext\";i:1455;s:12:\"noemailtitle\";i:1456;s:11:\"noemailtext\";i:1457;s:16:\"nowikiemailtitle\";i:1458;s:15:\"nowikiemailtext\";i:1459;s:13:\"emailnotarget\";i:1460;s:11:\"emailtarget\";i:1461;s:13:\"emailusername\";i:1462;s:19:\"emailusernamesubmit\";i:1463;s:12:\"email-legend\";i:1464;s:9:\"emailfrom\";i:1465;s:7:\"emailto\";i:1466;s:12:\"emailsubject\";i:1467;s:12:\"emailmessage\";i:1468;s:9:\"emailsend\";i:1469;s:9:\"emailccme\";i:1470;s:14:\"emailccsubject\";i:1471;s:9:\"emailsent\";i:1472;s:13:\"emailsenttext\";i:1473;s:15:\"emailuserfooter\";i:1474;s:19:\"usermessage-summary\";i:1475;s:18:\"usermessage-editor\";i:1476;s:9:\"watchlist\";i:1477;s:11:\"mywatchlist\";i:1478;s:13:\"watchlistfor2\";i:1479;s:11:\"nowatchlist\";i:1480;s:17:\"watchlistanontext\";i:1481;s:12:\"watchnologin\";i:1482;s:16:\"watchnologintext\";i:1483;s:8:\"addwatch\";i:1484;s:14:\"addedwatchtext\";i:1485;s:11:\"removewatch\";i:1486;s:16:\"removedwatchtext\";i:1487;s:5:\"watch\";i:1488;s:13:\"watchthispage\";i:1489;s:7:\"unwatch\";i:1490;s:15:\"unwatchthispage\";i:1491;s:12:\"notanarticle\";i:1492;s:13:\"notvisiblerev\";i:1493;s:13:\"watchnochange\";i:1494;s:17:\"watchlist-details\";i:1495;s:15:\"wlheader-enotif\";i:1496;s:20:\"wlheader-showupdated\";i:1497;s:18:\"watchmethod-recent\";i:1498;s:16:\"watchmethod-list\";i:1499;s:17:\"watchlistcontains\";i:1500;s:15:\"iteminvalidname\";i:1501;s:6:\"wlnote\";i:1502;s:10:\"wlshowlast\";i:1503;s:17:\"watchlist-options\";i:1504;s:8:\"watching\";i:1505;s:10:\"unwatching\";i:1506;s:14:\"watcherrortext\";i:1507;s:13:\"enotif_mailer\";i:1508;s:12:\"enotif_reset\";i:1509;s:18:\"enotif_newpagetext\";i:1510;s:28:\"enotif_impersonal_salutation\";i:1511;s:7:\"changed\";i:1512;s:7:\"created\";i:1513;s:14:\"enotif_subject\";i:1514;s:18:\"enotif_lastvisited\";i:1515;s:15:\"enotif_lastdiff\";i:1516;s:18:\"enotif_anon_editor\";i:1517;s:11:\"enotif_body\";i:1518;s:10:\"deletepage\";i:1519;s:7:\"confirm\";i:1520;s:9:\"excontent\";i:1521;s:15:\"excontentauthor\";i:1522;s:13:\"exbeforeblank\";i:1523;s:7:\"exblank\";i:1524;s:14:\"delete-confirm\";i:1525;s:13:\"delete-legend\";i:1526;s:14:\"historywarning\";i:1527;s:17:\"confirmdeletetext\";i:1528;s:14:\"actioncomplete\";i:1529;s:12:\"actionfailed\";i:1530;s:11:\"deletedtext\";i:1531;s:14:\"deletedarticle\";i:1532;s:17:\"suppressedarticle\";i:1533;s:10:\"dellogpage\";i:1534;s:14:\"dellogpagetext\";i:1535;s:11:\"deletionlog\";i:1536;s:8:\"reverted\";i:1537;s:13:\"deletecomment\";i:1538;s:17:\"deleteotherreason\";i:1539;s:21:\"deletereasonotherlist\";i:1540;s:21:\"deletereason-dropdown\";i:1541;s:22:\"delete-edit-reasonlist\";i:1542;s:13:\"delete-toobig\";i:1543;s:21:\"delete-warning-toobig\";i:1544;s:8:\"rollback\";i:1545;s:14:\"rollback_short\";i:1546;s:12:\"rollbacklink\";i:1547;s:14:\"rollbackfailed\";i:1548;s:12:\"cantrollback\";i:1549;s:13:\"alreadyrolled\";i:1550;s:11:\"editcomment\";i:1551;s:10:\"revertpage\";i:1552;s:17:\"revertpage-nouser\";i:1553;s:16:\"rollback-success\";i:1554;s:20:\"sessionfailure-title\";i:1555;s:14:\"sessionfailure\";i:1556;s:14:\"protectlogpage\";i:1557;s:14:\"protectlogtext\";i:1558;s:16:\"protectedarticle\";i:1559;s:25:\"modifiedarticleprotection\";i:1560;s:18:\"unprotectedarticle\";i:1561;s:22:\"movedarticleprotection\";i:1562;s:13:\"protect-title\";i:1563;s:14:\"prot_1movedto2\";i:1564;s:14:\"protect-legend\";i:1565;s:14:\"protectcomment\";i:1566;s:13:\"protectexpiry\";i:1567;s:22:\"protect_expiry_invalid\";i:1568;s:18:\"protect_expiry_old\";i:1569;s:27:\"protect-unchain-permissions\";i:1570;s:12:\"protect-text\";i:1571;s:22:\"protect-locked-blocked\";i:1572;s:21:\"protect-locked-dblock\";i:1573;s:21:\"protect-locked-access\";i:1574;s:17:\"protect-cascadeon\";i:1575;s:15:\"protect-default\";i:1576;s:16:\"protect-fallback\";i:1577;s:27:\"protect-level-autoconfirmed\";i:1578;s:19:\"protect-level-sysop\";i:1579;s:23:\"protect-summary-cascade\";i:1580;s:16:\"protect-expiring\";i:1581;s:25:\"protect-expiry-indefinite\";i:1582;s:15:\"protect-cascade\";i:1583;s:16:\"protect-cantedit\";i:1584;s:17:\"protect-othertime\";i:1585;s:20:\"protect-othertime-op\";i:1586;s:23:\"protect-existing-expiry\";i:1587;s:19:\"protect-otherreason\";i:1588;s:22:\"protect-otherreason-op\";i:1589;s:16:\"protect-dropdown\";i:1590;s:23:\"protect-edit-reasonlist\";i:1591;s:22:\"protect-expiry-options\";i:1592;s:16:\"restriction-type\";i:1593;s:17:\"restriction-level\";i:1594;s:12:\"minimum-size\";i:1595;s:12:\"maximum-size\";i:1596;s:8:\"pagesize\";i:1597;s:16:\"restriction-edit\";i:1598;s:16:\"restriction-move\";i:1599;s:18:\"restriction-create\";i:1600;s:18:\"restriction-upload\";i:1601;s:23:\"restriction-level-sysop\";i:1602;s:31:\"restriction-level-autoconfirmed\";i:1603;s:21:\"restriction-level-all\";i:1604;s:8:\"undelete\";i:1605;s:12:\"undeletepage\";i:1606;s:17:\"undeletepagetitle\";i:1607;s:15:\"viewdeletedpage\";i:1608;s:16:\"undeletepagetext\";i:1609;s:23:\"undelete-fieldset-title\";i:1610;s:17:\"undeleteextrahelp\";i:1611;s:17:\"undeleterevisions\";i:1612;s:15:\"undeletehistory\";i:1613;s:14:\"undeleterevdel\";i:1614;s:22:\"undeletehistorynoadmin\";i:1615;s:17:\"undelete-revision\";i:1616;s:24:\"undeleterevision-missing\";i:1617;s:15:\"undelete-nodiff\";i:1618;s:11:\"undeletebtn\";i:1619;s:12:\"undeletelink\";i:1620;s:16:\"undeleteviewlink\";i:1621;s:13:\"undeletereset\";i:1622;s:14:\"undeleteinvert\";i:1623;s:15:\"undeletecomment\";i:1624;s:16:\"undeletedarticle\";i:1625;s:18:\"undeletedrevisions\";i:1626;s:24:\"undeletedrevisions-files\";i:1627;s:14:\"undeletedfiles\";i:1628;s:14:\"cannotundelete\";i:1629;s:13:\"undeletedpage\";i:1630;s:15:\"undelete-header\";i:1631;s:19:\"undelete-search-box\";i:1632;s:22:\"undelete-search-prefix\";i:1633;s:22:\"undelete-search-submit\";i:1634;s:19:\"undelete-no-results\";i:1635;s:26:\"undelete-filename-mismatch\";i:1636;s:22:\"undelete-bad-store-key\";i:1637;s:22:\"undelete-cleanup-error\";i:1638;s:28:\"undelete-missing-filearchive\";i:1639;s:20:\"undelete-error-short\";i:1640;s:19:\"undelete-error-long\";i:1641;s:26:\"undelete-show-file-confirm\";i:1642;s:25:\"undelete-show-file-submit\";i:1643;s:9:\"namespace\";i:1644;s:6:\"invert\";i:1645;s:14:\"tooltip-invert\";i:1646;s:21:\"namespace_association\";i:1647;s:29:\"tooltip-namespace_association\";i:1648;s:14:\"blanknamespace\";i:1649;s:13:\"contributions\";i:1650;s:19:\"contributions-title\";i:1651;s:9:\"mycontris\";i:1652;s:11:\"contribsub2\";i:1653;s:10:\"nocontribs\";i:1654;s:5:\"uctop\";i:1655;s:5:\"month\";i:1656;s:4:\"year\";i:1657;s:24:\"sp-contributions-newbies\";i:1658;s:28:\"sp-contributions-newbies-sub\";i:1659;s:30:\"sp-contributions-newbies-title\";i:1660;s:25:\"sp-contributions-blocklog\";i:1661;s:24:\"sp-contributions-deleted\";i:1662;s:24:\"sp-contributions-uploads\";i:1663;s:21:\"sp-contributions-logs\";i:1664;s:21:\"sp-contributions-talk\";i:1665;s:27:\"sp-contributions-userrights\";i:1666;s:31:\"sp-contributions-blocked-notice\";i:1667;s:36:\"sp-contributions-blocked-notice-anon\";i:1668;s:23:\"sp-contributions-search\";i:1669;s:25:\"sp-contributions-username\";i:1670;s:24:\"sp-contributions-toponly\";i:1671;s:23:\"sp-contributions-submit\";i:1672;s:13:\"whatlinkshere\";i:1673;s:19:\"whatlinkshere-title\";i:1674;s:18:\"whatlinkshere-page\";i:1675;s:9:\"linkshere\";i:1676;s:11:\"nolinkshere\";i:1677;s:14:\"nolinkshere-ns\";i:1678;s:10:\"isredirect\";i:1679;s:10:\"istemplate\";i:1680;s:7:\"isimage\";i:1681;s:18:\"whatlinkshere-prev\";i:1682;s:18:\"whatlinkshere-next\";i:1683;s:19:\"whatlinkshere-links\";i:1684;s:24:\"whatlinkshere-hideredirs\";i:1685;s:23:\"whatlinkshere-hidetrans\";i:1686;s:23:\"whatlinkshere-hidelinks\";i:1687;s:24:\"whatlinkshere-hideimages\";i:1688;s:21:\"whatlinkshere-filters\";i:1689;s:11:\"autoblockid\";i:1690;s:5:\"block\";i:1691;s:7:\"unblock\";i:1692;s:7:\"blockip\";i:1693;s:13:\"blockip-title\";i:1694;s:14:\"blockip-legend\";i:1695;s:11:\"blockiptext\";i:1696;s:18:\"ipadressorusername\";i:1697;s:9:\"ipbexpiry\";i:1698;s:9:\"ipbreason\";i:1699;s:18:\"ipbreasonotherlist\";i:1700;s:18:\"ipbreason-dropdown\";i:1701;s:13:\"ipb-hardblock\";i:1702;s:16:\"ipbcreateaccount\";i:1703;s:11:\"ipbemailban\";i:1704;s:18:\"ipbenableautoblock\";i:1705;s:9:\"ipbsubmit\";i:1706;s:8:\"ipbother\";i:1707;s:10:\"ipboptions\";i:1708;s:14:\"ipbotheroption\";i:1709;s:14:\"ipbotherreason\";i:1710;s:11:\"ipbhidename\";i:1711;s:12:\"ipbwatchuser\";i:1712;s:19:\"ipb-disableusertalk\";i:1713;s:16:\"ipb-change-block\";i:1714;s:11:\"ipb-confirm\";i:1715;s:12:\"badipaddress\";i:1716;s:17:\"blockipsuccesssub\";i:1717;s:18:\"blockipsuccesstext\";i:1718;s:16:\"ipb-blockingself\";i:1719;s:19:\"ipb-confirmhideuser\";i:1720;s:17:\"ipb-edit-dropdown\";i:1721;s:16:\"ipb-unblock-addr\";i:1722;s:11:\"ipb-unblock\";i:1723;s:13:\"ipb-blocklist\";i:1724;s:22:\"ipb-blocklist-contribs\";i:1725;s:9:\"unblockip\";i:1726;s:13:\"unblockiptext\";i:1727;s:9:\"ipusubmit\";i:1728;s:9:\"unblocked\";i:1729;s:15:\"unblocked-range\";i:1730;s:12:\"unblocked-id\";i:1731;s:9:\"blocklist\";i:1732;s:11:\"ipblocklist\";i:1733;s:18:\"ipblocklist-legend\";i:1734;s:20:\"blocklist-userblocks\";i:1735;s:20:\"blocklist-tempblocks\";i:1736;s:23:\"blocklist-addressblocks\";i:1737;s:19:\"blocklist-timestamp\";i:1738;s:16:\"blocklist-target\";i:1739;s:16:\"blocklist-expiry\";i:1740;s:12:\"blocklist-by\";i:1741;s:16:\"blocklist-params\";i:1742;s:16:\"blocklist-reason\";i:1743;s:18:\"ipblocklist-submit\";i:1744;s:22:\"ipblocklist-localblock\";i:1745;s:23:\"ipblocklist-otherblocks\";i:1746;s:13:\"infiniteblock\";i:1747;s:13:\"expiringblock\";i:1748;s:13:\"anononlyblock\";i:1749;s:16:\"noautoblockblock\";i:1750;s:18:\"createaccountblock\";i:1751;s:10:\"emailblock\";i:1752;s:20:\"blocklist-nousertalk\";i:1753;s:17:\"ipblocklist-empty\";i:1754;s:22:\"ipblocklist-no-results\";i:1755;s:9:\"blocklink\";i:1756;s:11:\"unblocklink\";i:1757;s:16:\"change-blocklink\";i:1758;s:12:\"contribslink\";i:1759;s:11:\"autoblocker\";i:1760;s:12:\"blocklogpage\";i:1761;s:16:\"blocklog-showlog\";i:1762;s:24:\"blocklog-showsuppresslog\";i:1763;s:13:\"blocklogentry\";i:1764;s:16:\"reblock-logentry\";i:1765;s:12:\"blocklogtext\";i:1766;s:15:\"unblocklogentry\";i:1767;s:24:\"block-log-flags-anononly\";i:1768;s:24:\"block-log-flags-nocreate\";i:1769;s:27:\"block-log-flags-noautoblock\";i:1770;s:23:\"block-log-flags-noemail\";i:1771;s:26:\"block-log-flags-nousertalk\";i:1772;s:31:\"block-log-flags-angry-autoblock\";i:1773;s:26:\"block-log-flags-hiddenname\";i:1774;s:20:\"range_block_disabled\";i:1775;s:18:\"ipb_expiry_invalid\";i:1776;s:15:\"ipb_expiry_temp\";i:1777;s:16:\"ipb_hide_invalid\";i:1778;s:19:\"ipb_already_blocked\";i:1779;s:15:\"ipb-needreblock\";i:1780;s:22:\"ipb-otherblocks-header\";i:1781;s:16:\"unblock-hideuser\";i:1782;s:16:\"ipb_cant_unblock\";i:1783;s:20:\"ipb_blocked_as_range\";i:1784;s:16:\"ip_range_invalid\";i:1785;s:17:\"ip_range_toolarge\";i:1786;s:7:\"blockme\";i:1787;s:12:\"proxyblocker\";i:1788;s:21:\"proxyblocker-disabled\";i:1789;s:16:\"proxyblockreason\";i:1790;s:17:\"proxyblocksuccess\";i:1791;s:11:\"sorbsreason\";i:1792;s:27:\"sorbs_create_account_reason\";i:1793;s:24:\"cant-block-while-blocked\";i:1794;s:20:\"cant-see-hidden-user\";i:1795;s:10:\"ipbblocked\";i:1796;s:16:\"ipbnounblockself\";i:1797;s:6:\"lockdb\";i:1798;s:8:\"unlockdb\";i:1799;s:10:\"lockdbtext\";i:1800;s:12:\"unlockdbtext\";i:1801;s:11:\"lockconfirm\";i:1802;s:13:\"unlockconfirm\";i:1803;s:7:\"lockbtn\";i:1804;s:9:\"unlockbtn\";i:1805;s:13:\"locknoconfirm\";i:1806;s:16:\"lockdbsuccesssub\";i:1807;s:18:\"unlockdbsuccesssub\";i:1808;s:17:\"lockdbsuccesstext\";i:1809;s:19:\"unlockdbsuccesstext\";i:1810;s:19:\"lockfilenotwritable\";i:1811;s:17:\"databasenotlocked\";i:1812;s:15:\"lockedbyandtime\";i:1813;s:9:\"move-page\";i:1814;s:16:\"move-page-legend\";i:1815;s:12:\"movepagetext\";i:1816;s:28:\"movepagetext-noredirectfixer\";i:1817;s:16:\"movepagetalktext\";i:1818;s:11:\"movearticle\";i:1819;s:20:\"moveuserpage-warning\";i:1820;s:11:\"movenologin\";i:1821;s:15:\"movenologintext\";i:1822;s:14:\"movenotallowed\";i:1823;s:18:\"movenotallowedfile\";i:1824;s:19:\"cant-move-user-page\";i:1825;s:22:\"cant-move-to-user-page\";i:1826;s:8:\"newtitle\";i:1827;s:10:\"move-watch\";i:1828;s:11:\"movepagebtn\";i:1829;s:12:\"pagemovedsub\";i:1830;s:14:\"movepage-moved\";i:1831;s:23:\"movepage-moved-redirect\";i:1832;s:25:\"movepage-moved-noredirect\";i:1833;s:13:\"articleexists\";i:1834;s:23:\"cantmove-titleprotected\";i:1835;s:10:\"talkexists\";i:1836;s:7:\"movedto\";i:1837;s:8:\"movetalk\";i:1838;s:13:\"move-subpages\";i:1839;s:18:\"move-talk-subpages\";i:1840;s:20:\"movepage-page-exists\";i:1841;s:19:\"movepage-page-moved\";i:1842;s:21:\"movepage-page-unmoved\";i:1843;s:18:\"movepage-max-pages\";i:1844;s:9:\"1movedto2\";i:1845;s:15:\"1movedto2_redir\";i:1846;s:24:\"move-redirect-suppressed\";i:1847;s:11:\"movelogpage\";i:1848;s:15:\"movelogpagetext\";i:1849;s:11:\"movesubpage\";i:1850;s:15:\"movesubpagetext\";i:1851;s:13:\"movenosubpage\";i:1852;s:10:\"movereason\";i:1853;s:10:\"revertmove\";i:1854;s:15:\"delete_and_move\";i:1855;s:20:\"delete_and_move_text\";i:1856;s:23:\"delete_and_move_confirm\";i:1857;s:22:\"delete_and_move_reason\";i:1858;s:8:\"selfmove\";i:1859;s:25:\"immobile-source-namespace\";i:1860;s:25:\"immobile-target-namespace\";i:1861;s:28:\"immobile-target-namespace-iw\";i:1862;s:20:\"immobile-source-page\";i:1863;s:20:\"immobile-target-page\";i:1864;s:21:\"imagenocrossnamespace\";i:1865;s:27:\"nonfile-cannot-move-to-file\";i:1866;s:17:\"imagetypemismatch\";i:1867;s:20:\"imageinvalidfilename\";i:1868;s:20:\"fix-double-redirects\";i:1869;s:19:\"move-leave-redirect\";i:1870;s:24:\"protectedpagemovewarning\";i:1871;s:28:\"semiprotectedpagemovewarning\";i:1872;s:20:\"move-over-sharedrepo\";i:1873;s:22:\"file-exists-sharedrepo\";i:1874;s:6:\"export\";i:1875;s:10:\"exporttext\";i:1876;s:13:\"exportcuronly\";i:1877;s:15:\"exportnohistory\";i:1878;s:13:\"export-submit\";i:1879;s:17:\"export-addcattext\";i:1880;s:13:\"export-addcat\";i:1881;s:16:\"export-addnstext\";i:1882;s:12:\"export-addns\";i:1883;s:15:\"export-download\";i:1884;s:16:\"export-templates\";i:1885;s:16:\"export-pagelinks\";i:1886;s:11:\"allmessages\";i:1887;s:15:\"allmessagesname\";i:1888;s:18:\"allmessagesdefault\";i:1889;s:18:\"allmessagescurrent\";i:1890;s:15:\"allmessagestext\";i:1891;s:25:\"allmessagesnotsupportedDB\";i:1892;s:25:\"allmessages-filter-legend\";i:1893;s:18:\"allmessages-filter\";i:1894;s:29:\"allmessages-filter-unmodified\";i:1895;s:22:\"allmessages-filter-all\";i:1896;s:27:\"allmessages-filter-modified\";i:1897;s:18:\"allmessages-prefix\";i:1898;s:20:\"allmessages-language\";i:1899;s:25:\"allmessages-filter-submit\";i:1900;s:14:\"thumbnail-more\";i:1901;s:11:\"filemissing\";i:1902;s:15:\"thumbnail_error\";i:1903;s:15:\"djvu_page_error\";i:1904;s:11:\"djvu_no_xml\";i:1905;s:24:\"thumbnail_invalid_params\";i:1906;s:24:\"thumbnail_dest_directory\";i:1907;s:20:\"thumbnail_image-type\";i:1908;s:20:\"thumbnail_gd-library\";i:1909;s:23:\"thumbnail_image-missing\";i:1910;s:6:\"import\";i:1911;s:15:\"importinterwiki\";i:1912;s:21:\"import-interwiki-text\";i:1913;s:23:\"import-interwiki-source\";i:1914;s:24:\"import-interwiki-history\";i:1915;s:26:\"import-interwiki-templates\";i:1916;s:23:\"import-interwiki-submit\";i:1917;s:26:\"import-interwiki-namespace\";i:1918;s:22:\"import-upload-filename\";i:1919;s:14:\"import-comment\";i:1920;s:10:\"importtext\";i:1921;s:11:\"importstart\";i:1922;s:21:\"import-revision-count\";i:1923;s:13:\"importnopages\";i:1924;s:20:\"imported-log-entries\";i:1925;s:12:\"importfailed\";i:1926;s:19:\"importunknownsource\";i:1927;s:14:\"importcantopen\";i:1928;s:18:\"importbadinterwiki\";i:1929;s:12:\"importnotext\";i:1930;s:13:\"importsuccess\";i:1931;s:21:\"importhistoryconflict\";i:1932;s:15:\"importnosources\";i:1933;s:12:\"importnofile\";i:1934;s:21:\"importuploaderrorsize\";i:1935;s:24:\"importuploaderrorpartial\";i:1936;s:21:\"importuploaderrortemp\";i:1937;s:20:\"import-parse-failure\";i:1938;s:16:\"import-noarticle\";i:1939;s:21:\"import-nonewrevisions\";i:1940;s:16:\"xml-error-string\";i:1941;s:13:\"import-upload\";i:1942;s:21:\"import-token-mismatch\";i:1943;s:24:\"import-invalid-interwiki\";i:1944;s:13:\"importlogpage\";i:1945;s:17:\"importlogpagetext\";i:1946;s:22:\"import-logentry-upload\";i:1947;s:29:\"import-logentry-upload-detail\";i:1948;s:25:\"import-logentry-interwiki\";i:1949;s:32:\"import-logentry-interwiki-detail\";i:1950;s:19:\"tooltip-pt-userpage\";i:1951;s:23:\"tooltip-pt-anonuserpage\";i:1952;s:17:\"tooltip-pt-mytalk\";i:1953;s:19:\"tooltip-pt-anontalk\";i:1954;s:22:\"tooltip-pt-preferences\";i:1955;s:20:\"tooltip-pt-watchlist\";i:1956;s:20:\"tooltip-pt-mycontris\";i:1957;s:16:\"tooltip-pt-login\";i:1958;s:20:\"tooltip-pt-anonlogin\";i:1959;s:17:\"tooltip-pt-logout\";i:1960;s:15:\"tooltip-ca-talk\";i:1961;s:15:\"tooltip-ca-edit\";i:1962;s:21:\"tooltip-ca-addsection\";i:1963;s:21:\"tooltip-ca-viewsource\";i:1964;s:18:\"tooltip-ca-history\";i:1965;s:18:\"tooltip-ca-protect\";i:1966;s:20:\"tooltip-ca-unprotect\";i:1967;s:17:\"tooltip-ca-delete\";i:1968;s:19:\"tooltip-ca-undelete\";i:1969;s:15:\"tooltip-ca-move\";i:1970;s:16:\"tooltip-ca-watch\";i:1971;s:18:\"tooltip-ca-unwatch\";i:1972;s:14:\"tooltip-search\";i:1973;s:17:\"tooltip-search-go\";i:1974;s:23:\"tooltip-search-fulltext\";i:1975;s:14:\"tooltip-p-logo\";i:1976;s:18:\"tooltip-n-mainpage\";i:1977;s:30:\"tooltip-n-mainpage-description\";i:1978;s:16:\"tooltip-n-portal\";i:1979;s:23:\"tooltip-n-currentevents\";i:1980;s:23:\"tooltip-n-recentchanges\";i:1981;s:20:\"tooltip-n-randompage\";i:1982;s:14:\"tooltip-n-help\";i:1983;s:23:\"tooltip-t-whatlinkshere\";i:1984;s:29:\"tooltip-t-recentchangeslinked\";i:1985;s:16:\"tooltip-feed-rss\";i:1986;s:17:\"tooltip-feed-atom\";i:1987;s:23:\"tooltip-t-contributions\";i:1988;s:19:\"tooltip-t-emailuser\";i:1989;s:16:\"tooltip-t-upload\";i:1990;s:22:\"tooltip-t-specialpages\";i:1991;s:15:\"tooltip-t-print\";i:1992;s:19:\"tooltip-t-permalink\";i:1993;s:21:\"tooltip-ca-nstab-main\";i:1994;s:21:\"tooltip-ca-nstab-user\";i:1995;s:22:\"tooltip-ca-nstab-media\";i:1996;s:24:\"tooltip-ca-nstab-special\";i:1997;s:24:\"tooltip-ca-nstab-project\";i:1998;s:22:\"tooltip-ca-nstab-image\";i:1999;s:26:\"tooltip-ca-nstab-mediawiki\";i:2000;s:25:\"tooltip-ca-nstab-template\";i:2001;s:21:\"tooltip-ca-nstab-help\";i:2002;s:25:\"tooltip-ca-nstab-category\";i:2003;s:17:\"tooltip-minoredit\";i:2004;s:12:\"tooltip-save\";i:2005;s:15:\"tooltip-preview\";i:2006;s:12:\"tooltip-diff\";i:2007;s:31:\"tooltip-compareselectedversions\";i:2008;s:13:\"tooltip-watch\";i:2009;s:16:\"tooltip-recreate\";i:2010;s:14:\"tooltip-upload\";i:2011;s:16:\"tooltip-rollback\";i:2012;s:12:\"tooltip-undo\";i:2013;s:24:\"tooltip-preferences-save\";i:2014;s:15:\"tooltip-summary\";i:2015;s:10:\"common.css\";i:2016;s:12:\"standard.css\";i:2017;s:13:\"nostalgia.css\";i:2018;s:15:\"cologneblue.css\";i:2019;s:12:\"monobook.css\";i:2020;s:10:\"myskin.css\";i:2021;s:9:\"chick.css\";i:2022;s:10:\"simple.css\";i:2023;s:10:\"modern.css\";i:2024;s:10:\"vector.css\";i:2025;s:9:\"print.css\";i:2026;s:12:\"handheld.css\";i:2027;s:9:\"common.js\";i:2028;s:11:\"standard.js\";i:2029;s:12:\"nostalgia.js\";i:2030;s:14:\"cologneblue.js\";i:2031;s:11:\"monobook.js\";i:2032;s:9:\"myskin.js\";i:2033;s:8:\"chick.js\";i:2034;s:9:\"simple.js\";i:2035;s:9:\"modern.js\";i:2036;s:9:\"vector.js\";i:2037;s:13:\"notacceptable\";i:2038;s:9:\"anonymous\";i:2039;s:8:\"siteuser\";i:2040;s:8:\"anonuser\";i:2041;s:16:\"lastmodifiedatby\";i:2042;s:13:\"othercontribs\";i:2043;s:6:\"others\";i:2044;s:9:\"siteusers\";i:2045;s:9:\"anonusers\";i:2046;s:11:\"creditspage\";i:2047;s:9:\"nocredits\";i:2048;s:19:\"spamprotectiontitle\";i:2049;s:18:\"spamprotectiontext\";i:2050;s:19:\"spamprotectionmatch\";i:2051;s:16:\"spambot_username\";i:2052;s:14:\"spam_reverting\";i:2053;s:13:\"spam_blanking\";i:2054;s:14:\"pageinfo-title\";i:2055;s:21:\"pageinfo-header-edits\";i:2056;s:25:\"pageinfo-header-watchlist\";i:2057;s:21:\"pageinfo-header-views\";i:2058;s:20:\"pageinfo-subjectpage\";i:2059;s:17:\"pageinfo-talkpage\";i:2060;s:17:\"pageinfo-watchers\";i:2061;s:14:\"pageinfo-edits\";i:2062;s:16:\"pageinfo-authors\";i:2063;s:14:\"pageinfo-views\";i:2064;s:21:\"pageinfo-viewsperedit\";i:2065;s:17:\"skinname-standard\";i:2066;s:18:\"skinname-nostalgia\";i:2067;s:20:\"skinname-cologneblue\";i:2068;s:17:\"skinname-monobook\";i:2069;s:15:\"skinname-myskin\";i:2070;s:14:\"skinname-chick\";i:2071;s:15:\"skinname-simple\";i:2072;s:15:\"skinname-modern\";i:2073;s:15:\"skinname-vector\";i:2074;s:19:\"markaspatrolleddiff\";i:2075;s:19:\"markaspatrolledtext\";i:2076;s:17:\"markedaspatrolled\";i:2077;s:21:\"markedaspatrolledtext\";i:2078;s:16:\"rcpatroldisabled\";i:2079;s:20:\"rcpatroldisabledtext\";i:2080;s:22:\"markedaspatrollederror\";i:2081;s:26:\"markedaspatrollederrortext\";i:2082;s:35:\"markedaspatrollederror-noautopatrol\";i:2083;s:15:\"patrol-log-page\";i:2084;s:17:\"patrol-log-header\";i:2085;s:15:\"patrol-log-line\";i:2086;s:15:\"patrol-log-auto\";i:2087;s:15:\"patrol-log-diff\";i:2088;s:20:\"log-show-hide-patrol\";i:2089;s:15:\"deletedrevision\";i:2090;s:21:\"filedeleteerror-short\";i:2091;s:20:\"filedeleteerror-long\";i:2092;s:18:\"filedelete-missing\";i:2093;s:27:\"filedelete-old-unregistered\";i:2094;s:31:\"filedelete-current-unregistered\";i:2095;s:28:\"filedelete-archive-read-only\";i:2096;s:12:\"previousdiff\";i:2097;s:8:\"nextdiff\";i:2098;s:12:\"mediawarning\";i:2099;s:12:\"imagemaxsize\";i:2100;s:9:\"thumbsize\";i:2101;s:15:\"widthheightpage\";i:2102;s:9:\"file-info\";i:2103;s:14:\"file-info-size\";i:2104;s:20:\"file-info-size-pages\";i:2105;s:12:\"file-nohires\";i:2106;s:13:\"svg-long-desc\";i:2107;s:14:\"show-big-image\";i:2108;s:22:\"show-big-image-preview\";i:2109;s:20:\"show-big-image-other\";i:2110;s:19:\"show-big-image-size\";i:2111;s:20:\"file-info-gif-looped\";i:2112;s:20:\"file-info-gif-frames\";i:2113;s:20:\"file-info-png-looped\";i:2114;s:20:\"file-info-png-repeat\";i:2115;s:20:\"file-info-png-frames\";i:2116;s:9:\"newimages\";i:2117;s:13:\"imagelisttext\";i:2118;s:17:\"newimages-summary\";i:2119;s:16:\"newimages-legend\";i:2120;s:15:\"newimages-label\";i:2121;s:12:\"showhidebots\";i:2122;s:8:\"noimages\";i:2123;s:8:\"ilsubmit\";i:2124;s:6:\"bydate\";i:2125;s:21:\"sp-newimages-showfrom\";i:2126;s:14:\"minutes-abbrev\";i:2127;s:12:\"hours-abbrev\";i:2128;s:14:\"bad_image_list\";i:2129;s:8:\"metadata\";i:2130;s:13:\"metadata-help\";i:2131;s:15:\"metadata-expand\";i:2132;s:17:\"metadata-collapse\";i:2133;s:15:\"metadata-fields\";i:2134;s:15:\"exif-imagewidth\";i:2135;s:16:\"exif-imagelength\";i:2136;s:18:\"exif-bitspersample\";i:2137;s:16:\"exif-compression\";i:2138;s:30:\"exif-photometricinterpretation\";i:2139;s:16:\"exif-orientation\";i:2140;s:20:\"exif-samplesperpixel\";i:2141;s:24:\"exif-planarconfiguration\";i:2142;s:21:\"exif-ycbcrsubsampling\";i:2143;s:21:\"exif-ycbcrpositioning\";i:2144;s:16:\"exif-xresolution\";i:2145;s:16:\"exif-yresolution\";i:2146;s:17:\"exif-stripoffsets\";i:2147;s:17:\"exif-rowsperstrip\";i:2148;s:20:\"exif-stripbytecounts\";i:2149;s:26:\"exif-jpeginterchangeformat\";i:2150;s:32:\"exif-jpeginterchangeformatlength\";i:2151;s:15:\"exif-whitepoint\";i:2152;s:26:\"exif-primarychromaticities\";i:2153;s:22:\"exif-ycbcrcoefficients\";i:2154;s:24:\"exif-referenceblackwhite\";i:2155;s:13:\"exif-datetime\";i:2156;s:21:\"exif-imagedescription\";i:2157;s:9:\"exif-make\";i:2158;s:10:\"exif-model\";i:2159;s:13:\"exif-software\";i:2160;s:11:\"exif-artist\";i:2161;s:14:\"exif-copyright\";i:2162;s:16:\"exif-exifversion\";i:2163;s:20:\"exif-flashpixversion\";i:2164;s:15:\"exif-colorspace\";i:2165;s:28:\"exif-componentsconfiguration\";i:2166;s:27:\"exif-compressedbitsperpixel\";i:2167;s:20:\"exif-pixelydimension\";i:2168;s:20:\"exif-pixelxdimension\";i:2169;s:16:\"exif-usercomment\";i:2170;s:21:\"exif-relatedsoundfile\";i:2171;s:21:\"exif-datetimeoriginal\";i:2172;s:22:\"exif-datetimedigitized\";i:2173;s:15:\"exif-subsectime\";i:2174;s:23:\"exif-subsectimeoriginal\";i:2175;s:24:\"exif-subsectimedigitized\";i:2176;s:17:\"exif-exposuretime\";i:2177;s:24:\"exif-exposuretime-format\";i:2178;s:12:\"exif-fnumber\";i:2179;s:20:\"exif-exposureprogram\";i:2180;s:24:\"exif-spectralsensitivity\";i:2181;s:20:\"exif-isospeedratings\";i:2182;s:22:\"exif-shutterspeedvalue\";i:2183;s:18:\"exif-aperturevalue\";i:2184;s:20:\"exif-brightnessvalue\";i:2185;s:22:\"exif-exposurebiasvalue\";i:2186;s:21:\"exif-maxaperturevalue\";i:2187;s:20:\"exif-subjectdistance\";i:2188;s:17:\"exif-meteringmode\";i:2189;s:16:\"exif-lightsource\";i:2190;s:10:\"exif-flash\";i:2191;s:16:\"exif-focallength\";i:2192;s:16:\"exif-subjectarea\";i:2193;s:16:\"exif-flashenergy\";i:2194;s:26:\"exif-focalplanexresolution\";i:2195;s:26:\"exif-focalplaneyresolution\";i:2196;s:29:\"exif-focalplaneresolutionunit\";i:2197;s:20:\"exif-subjectlocation\";i:2198;s:18:\"exif-exposureindex\";i:2199;s:18:\"exif-sensingmethod\";i:2200;s:15:\"exif-filesource\";i:2201;s:14:\"exif-scenetype\";i:2202;s:19:\"exif-customrendered\";i:2203;s:17:\"exif-exposuremode\";i:2204;s:17:\"exif-whitebalance\";i:2205;s:21:\"exif-digitalzoomratio\";i:2206;s:26:\"exif-focallengthin35mmfilm\";i:2207;s:21:\"exif-scenecapturetype\";i:2208;s:16:\"exif-gaincontrol\";i:2209;s:13:\"exif-contrast\";i:2210;s:15:\"exif-saturation\";i:2211;s:14:\"exif-sharpness\";i:2212;s:29:\"exif-devicesettingdescription\";i:2213;s:25:\"exif-subjectdistancerange\";i:2214;s:18:\"exif-imageuniqueid\";i:2215;s:17:\"exif-gpsversionid\";i:2216;s:19:\"exif-gpslatituderef\";i:2217;s:16:\"exif-gpslatitude\";i:2218;s:20:\"exif-gpslongituderef\";i:2219;s:17:\"exif-gpslongitude\";i:2220;s:19:\"exif-gpsaltituderef\";i:2221;s:16:\"exif-gpsaltitude\";i:2222;s:17:\"exif-gpstimestamp\";i:2223;s:18:\"exif-gpssatellites\";i:2224;s:14:\"exif-gpsstatus\";i:2225;s:19:\"exif-gpsmeasuremode\";i:2226;s:11:\"exif-gpsdop\";i:2227;s:16:\"exif-gpsspeedref\";i:2228;s:13:\"exif-gpsspeed\";i:2229;s:16:\"exif-gpstrackref\";i:2230;s:13:\"exif-gpstrack\";i:2231;s:23:\"exif-gpsimgdirectionref\";i:2232;s:20:\"exif-gpsimgdirection\";i:2233;s:16:\"exif-gpsmapdatum\";i:2234;s:23:\"exif-gpsdestlatituderef\";i:2235;s:20:\"exif-gpsdestlatitude\";i:2236;s:24:\"exif-gpsdestlongituderef\";i:2237;s:21:\"exif-gpsdestlongitude\";i:2238;s:22:\"exif-gpsdestbearingref\";i:2239;s:19:\"exif-gpsdestbearing\";i:2240;s:23:\"exif-gpsdestdistanceref\";i:2241;s:20:\"exif-gpsdestdistance\";i:2242;s:24:\"exif-gpsprocessingmethod\";i:2243;s:23:\"exif-gpsareainformation\";i:2244;s:17:\"exif-gpsdatestamp\";i:2245;s:20:\"exif-gpsdifferential\";i:2246;s:20:\"exif-jpegfilecomment\";i:2247;s:13:\"exif-keywords\";i:2248;s:23:\"exif-worldregioncreated\";i:2249;s:19:\"exif-countrycreated\";i:2250;s:23:\"exif-countrycodecreated\";i:2251;s:27:\"exif-provinceorstatecreated\";i:2252;s:16:\"exif-citycreated\";i:2253;s:23:\"exif-sublocationcreated\";i:2254;s:20:\"exif-worldregiondest\";i:2255;s:16:\"exif-countrydest\";i:2256;s:20:\"exif-countrycodedest\";i:2257;s:24:\"exif-provinceorstatedest\";i:2258;s:13:\"exif-citydest\";i:2259;s:20:\"exif-sublocationdest\";i:2260;s:15:\"exif-objectname\";i:2261;s:24:\"exif-specialinstructions\";i:2262;s:13:\"exif-headline\";i:2263;s:11:\"exif-credit\";i:2264;s:11:\"exif-source\";i:2265;s:15:\"exif-editstatus\";i:2266;s:12:\"exif-urgency\";i:2267;s:22:\"exif-fixtureidentifier\";i:2268;s:17:\"exif-locationdest\";i:2269;s:21:\"exif-locationdestcode\";i:2270;s:16:\"exif-objectcycle\";i:2271;s:12:\"exif-contact\";i:2272;s:11:\"exif-writer\";i:2273;s:17:\"exif-languagecode\";i:2274;s:15:\"exif-iimversion\";i:2275;s:16:\"exif-iimcategory\";i:2276;s:28:\"exif-iimsupplementalcategory\";i:2277;s:20:\"exif-datetimeexpires\";i:2278;s:21:\"exif-datetimereleased\";i:2279;s:28:\"exif-originaltransmissionref\";i:2280;s:15:\"exif-identifier\";i:2281;s:9:\"exif-lens\";i:2282;s:17:\"exif-serialnumber\";i:2283;s:20:\"exif-cameraownername\";i:2284;s:10:\"exif-label\";i:2285;s:21:\"exif-datetimemetadata\";i:2286;s:13:\"exif-nickname\";i:2287;s:11:\"exif-rating\";i:2288;s:22:\"exif-rightscertificate\";i:2289;s:16:\"exif-copyrighted\";i:2290;s:19:\"exif-copyrightowner\";i:2291;s:15:\"exif-usageterms\";i:2292;s:17:\"exif-webstatement\";i:2293;s:23:\"exif-originaldocumentid\";i:2294;s:15:\"exif-licenseurl\";i:2295;s:23:\"exif-morepermissionsurl\";i:2296;s:19:\"exif-attributionurl\";i:2297;s:29:\"exif-preferredattributionname\";i:2298;s:19:\"exif-pngfilecomment\";i:2299;s:15:\"exif-disclaimer\";i:2300;s:19:\"exif-contentwarning\";i:2301;s:19:\"exif-giffilecomment\";i:2302;s:22:\"exif-intellectualgenre\";i:2303;s:20:\"exif-subjectnewscode\";i:2304;s:14:\"exif-scenecode\";i:2305;s:10:\"exif-event\";i:2306;s:24:\"exif-organisationinimage\";i:2307;s:18:\"exif-personinimage\";i:2308;s:24:\"exif-originalimageheight\";i:2309;s:23:\"exif-originalimagewidth\";i:2310;s:18:\"exif-compression-1\";i:2311;s:18:\"exif-compression-2\";i:2312;s:18:\"exif-compression-3\";i:2313;s:18:\"exif-compression-4\";i:2314;s:21:\"exif-copyrighted-true\";i:2315;s:22:\"exif-copyrighted-false\";i:2316;s:16:\"exif-unknowndate\";i:2317;s:18:\"exif-orientation-1\";i:2318;s:18:\"exif-orientation-2\";i:2319;s:18:\"exif-orientation-3\";i:2320;s:18:\"exif-orientation-4\";i:2321;s:18:\"exif-orientation-5\";i:2322;s:18:\"exif-orientation-6\";i:2323;s:18:\"exif-orientation-7\";i:2324;s:18:\"exif-orientation-8\";i:2325;s:26:\"exif-planarconfiguration-1\";i:2326;s:26:\"exif-planarconfiguration-2\";i:2327;s:21:\"exif-colorspace-65535\";i:2328;s:30:\"exif-componentsconfiguration-0\";i:2329;s:22:\"exif-exposureprogram-0\";i:2330;s:22:\"exif-exposureprogram-1\";i:2331;s:22:\"exif-exposureprogram-2\";i:2332;s:22:\"exif-exposureprogram-3\";i:2333;s:22:\"exif-exposureprogram-4\";i:2334;s:22:\"exif-exposureprogram-5\";i:2335;s:22:\"exif-exposureprogram-6\";i:2336;s:22:\"exif-exposureprogram-7\";i:2337;s:22:\"exif-exposureprogram-8\";i:2338;s:26:\"exif-subjectdistance-value\";i:2339;s:19:\"exif-meteringmode-0\";i:2340;s:19:\"exif-meteringmode-1\";i:2341;s:19:\"exif-meteringmode-2\";i:2342;s:19:\"exif-meteringmode-3\";i:2343;s:19:\"exif-meteringmode-4\";i:2344;s:19:\"exif-meteringmode-5\";i:2345;s:19:\"exif-meteringmode-6\";i:2346;s:21:\"exif-meteringmode-255\";i:2347;s:18:\"exif-lightsource-0\";i:2348;s:18:\"exif-lightsource-1\";i:2349;s:18:\"exif-lightsource-2\";i:2350;s:18:\"exif-lightsource-3\";i:2351;s:18:\"exif-lightsource-4\";i:2352;s:18:\"exif-lightsource-9\";i:2353;s:19:\"exif-lightsource-10\";i:2354;s:19:\"exif-lightsource-11\";i:2355;s:19:\"exif-lightsource-12\";i:2356;s:19:\"exif-lightsource-13\";i:2357;s:19:\"exif-lightsource-14\";i:2358;s:19:\"exif-lightsource-15\";i:2359;s:19:\"exif-lightsource-17\";i:2360;s:19:\"exif-lightsource-18\";i:2361;s:19:\"exif-lightsource-19\";i:2362;s:19:\"exif-lightsource-24\";i:2363;s:20:\"exif-lightsource-255\";i:2364;s:18:\"exif-flash-fired-0\";i:2365;s:18:\"exif-flash-fired-1\";i:2366;s:19:\"exif-flash-return-0\";i:2367;s:19:\"exif-flash-return-2\";i:2368;s:19:\"exif-flash-return-3\";i:2369;s:17:\"exif-flash-mode-1\";i:2370;s:17:\"exif-flash-mode-2\";i:2371;s:17:\"exif-flash-mode-3\";i:2372;s:21:\"exif-flash-function-1\";i:2373;s:19:\"exif-flash-redeye-1\";i:2374;s:31:\"exif-focalplaneresolutionunit-2\";i:2375;s:20:\"exif-sensingmethod-1\";i:2376;s:20:\"exif-sensingmethod-2\";i:2377;s:20:\"exif-sensingmethod-3\";i:2378;s:20:\"exif-sensingmethod-4\";i:2379;s:20:\"exif-sensingmethod-5\";i:2380;s:20:\"exif-sensingmethod-7\";i:2381;s:20:\"exif-sensingmethod-8\";i:2382;s:17:\"exif-filesource-3\";i:2383;s:16:\"exif-scenetype-1\";i:2384;s:21:\"exif-customrendered-0\";i:2385;s:21:\"exif-customrendered-1\";i:2386;s:19:\"exif-exposuremode-0\";i:2387;s:19:\"exif-exposuremode-1\";i:2388;s:19:\"exif-exposuremode-2\";i:2389;s:19:\"exif-whitebalance-0\";i:2390;s:19:\"exif-whitebalance-1\";i:2391;s:23:\"exif-scenecapturetype-0\";i:2392;s:23:\"exif-scenecapturetype-1\";i:2393;s:23:\"exif-scenecapturetype-2\";i:2394;s:23:\"exif-scenecapturetype-3\";i:2395;s:18:\"exif-gaincontrol-0\";i:2396;s:18:\"exif-gaincontrol-1\";i:2397;s:18:\"exif-gaincontrol-2\";i:2398;s:18:\"exif-gaincontrol-3\";i:2399;s:18:\"exif-gaincontrol-4\";i:2400;s:15:\"exif-contrast-0\";i:2401;s:15:\"exif-contrast-1\";i:2402;s:15:\"exif-contrast-2\";i:2403;s:17:\"exif-saturation-0\";i:2404;s:17:\"exif-saturation-1\";i:2405;s:17:\"exif-saturation-2\";i:2406;s:16:\"exif-sharpness-0\";i:2407;s:16:\"exif-sharpness-1\";i:2408;s:16:\"exif-sharpness-2\";i:2409;s:27:\"exif-subjectdistancerange-0\";i:2410;s:27:\"exif-subjectdistancerange-1\";i:2411;s:27:\"exif-subjectdistancerange-2\";i:2412;s:27:\"exif-subjectdistancerange-3\";i:2413;s:18:\"exif-gpslatitude-n\";i:2414;s:18:\"exif-gpslatitude-s\";i:2415;s:19:\"exif-gpslongitude-e\";i:2416;s:19:\"exif-gpslongitude-w\";i:2417;s:31:\"exif-gpsaltitude-above-sealevel\";i:2418;s:31:\"exif-gpsaltitude-below-sealevel\";i:2419;s:16:\"exif-gpsstatus-a\";i:2420;s:16:\"exif-gpsstatus-v\";i:2421;s:21:\"exif-gpsmeasuremode-2\";i:2422;s:21:\"exif-gpsmeasuremode-3\";i:2423;s:15:\"exif-gpsspeed-k\";i:2424;s:15:\"exif-gpsspeed-m\";i:2425;s:15:\"exif-gpsspeed-n\";i:2426;s:22:\"exif-gpsdestdistance-k\";i:2427;s:22:\"exif-gpsdestdistance-m\";i:2428;s:22:\"exif-gpsdestdistance-n\";i:2429;s:21:\"exif-gpsdop-excellent\";i:2430;s:16:\"exif-gpsdop-good\";i:2431;s:20:\"exif-gpsdop-moderate\";i:2432;s:16:\"exif-gpsdop-fair\";i:2433;s:16:\"exif-gpsdop-poor\";i:2434;s:18:\"exif-objectcycle-a\";i:2435;s:18:\"exif-objectcycle-p\";i:2436;s:18:\"exif-objectcycle-b\";i:2437;s:19:\"exif-gpsdirection-t\";i:2438;s:19:\"exif-gpsdirection-m\";i:2439;s:23:\"exif-ycbcrpositioning-1\";i:2440;s:23:\"exif-ycbcrpositioning-2\";i:2441;s:19:\"exif-dc-contributor\";i:2442;s:16:\"exif-dc-coverage\";i:2443;s:12:\"exif-dc-date\";i:2444;s:17:\"exif-dc-publisher\";i:2445;s:16:\"exif-dc-relation\";i:2446;s:14:\"exif-dc-rights\";i:2447;s:14:\"exif-dc-source\";i:2448;s:12:\"exif-dc-type\";i:2449;s:20:\"exif-rating-rejected\";i:2450;s:29:\"exif-isospeedratings-overflow\";i:2451;s:20:\"exif-iimcategory-ace\";i:2452;s:20:\"exif-iimcategory-clj\";i:2453;s:20:\"exif-iimcategory-dis\";i:2454;s:20:\"exif-iimcategory-fin\";i:2455;s:20:\"exif-iimcategory-edu\";i:2456;s:20:\"exif-iimcategory-evn\";i:2457;s:20:\"exif-iimcategory-hth\";i:2458;s:20:\"exif-iimcategory-hum\";i:2459;s:20:\"exif-iimcategory-lab\";i:2460;s:20:\"exif-iimcategory-lif\";i:2461;s:20:\"exif-iimcategory-pol\";i:2462;s:20:\"exif-iimcategory-rel\";i:2463;s:20:\"exif-iimcategory-sci\";i:2464;s:20:\"exif-iimcategory-soi\";i:2465;s:20:\"exif-iimcategory-spo\";i:2466;s:20:\"exif-iimcategory-war\";i:2467;s:20:\"exif-iimcategory-wea\";i:2468;s:19:\"exif-urgency-normal\";i:2469;s:16:\"exif-urgency-low\";i:2470;s:17:\"exif-urgency-high\";i:2471;s:18:\"exif-urgency-other\";i:2472;s:15:\"edit-externally\";i:2473;s:20:\"edit-externally-help\";i:2474;s:13:\"watchlistall2\";i:2475;s:13:\"namespacesall\";i:2476;s:9:\"monthsall\";i:2477;s:8:\"limitall\";i:2478;s:12:\"confirmemail\";i:2479;s:20:\"confirmemail_noemail\";i:2480;s:17:\"confirmemail_text\";i:2481;s:20:\"confirmemail_pending\";i:2482;s:17:\"confirmemail_send\";i:2483;s:17:\"confirmemail_sent\";i:2484;s:21:\"confirmemail_oncreate\";i:2485;s:23:\"confirmemail_sendfailed\";i:2486;s:20:\"confirmemail_invalid\";i:2487;s:22:\"confirmemail_needlogin\";i:2488;s:20:\"confirmemail_success\";i:2489;s:21:\"confirmemail_loggedin\";i:2490;s:18:\"confirmemail_error\";i:2491;s:20:\"confirmemail_subject\";i:2492;s:17:\"confirmemail_body\";i:2493;s:25:\"confirmemail_body_changed\";i:2494;s:21:\"confirmemail_body_set\";i:2495;s:24:\"confirmemail_invalidated\";i:2496;s:15:\"invalidateemail\";i:2497;s:23:\"scarytranscludedisabled\";i:2498;s:21:\"scarytranscludefailed\";i:2499;s:22:\"scarytranscludetoolong\";i:2500;s:12:\"trackbackbox\";i:2501;s:15:\"trackbackremove\";i:2502;s:13:\"trackbacklink\";i:2503;s:17:\"trackbackdeleteok\";i:2504;s:19:\"deletedwhileediting\";i:2505;s:15:\"confirmrecreate\";i:2506;s:24:\"confirmrecreate-noreason\";i:2507;s:8:\"recreate\";i:2508;s:20:\"confirm_purge_button\";i:2509;s:17:\"confirm-purge-top\";i:2510;s:20:\"confirm-purge-bottom\";i:2511;s:20:\"confirm-watch-button\";i:2512;s:17:\"confirm-watch-top\";i:2513;s:22:\"confirm-unwatch-button\";i:2514;s:19:\"confirm-unwatch-top\";i:2515;s:15:\"comma-separator\";i:2516;s:16:\"imgmultipageprev\";i:2517;s:16:\"imgmultipagenext\";i:2518;s:10:\"imgmultigo\";i:2519;s:12:\"imgmultigoto\";i:2520;s:16:\"ascending_abbrev\";i:2521;s:17:\"descending_abbrev\";i:2522;s:16:\"table_pager_next\";i:2523;s:16:\"table_pager_prev\";i:2524;s:17:\"table_pager_first\";i:2525;s:16:\"table_pager_last\";i:2526;s:17:\"table_pager_limit\";i:2527;s:23:\"table_pager_limit_label\";i:2528;s:24:\"table_pager_limit_submit\";i:2529;s:17:\"table_pager_empty\";i:2530;s:14:\"autosumm-blank\";i:2531;s:16:\"autosumm-replace\";i:2532;s:16:\"autoredircomment\";i:2533;s:12:\"autosumm-new\";i:2534;s:19:\"livepreview-loading\";i:2535;s:17:\"livepreview-ready\";i:2536;s:18:\"livepreview-failed\";i:2537;s:17:\"livepreview-error\";i:2538;s:15:\"lag-warn-normal\";i:2539;s:13:\"lag-warn-high\";i:2540;s:22:\"watchlistedit-numitems\";i:2541;s:21:\"watchlistedit-noitems\";i:2542;s:26:\"watchlistedit-normal-title\";i:2543;s:27:\"watchlistedit-normal-legend\";i:2544;s:28:\"watchlistedit-normal-explain\";i:2545;s:27:\"watchlistedit-normal-submit\";i:2546;s:25:\"watchlistedit-normal-done\";i:2547;s:23:\"watchlistedit-raw-title\";i:2548;s:24:\"watchlistedit-raw-legend\";i:2549;s:25:\"watchlistedit-raw-explain\";i:2550;s:24:\"watchlistedit-raw-titles\";i:2551;s:24:\"watchlistedit-raw-submit\";i:2552;s:22:\"watchlistedit-raw-done\";i:2553;s:23:\"watchlistedit-raw-added\";i:2554;s:25:\"watchlistedit-raw-removed\";i:2555;s:19:\"watchlisttools-view\";i:2556;s:19:\"watchlisttools-edit\";i:2557;s:18:\"watchlisttools-raw\";i:2558;s:21:\"unknown_extension_tag\";i:2559;s:21:\"duplicate-defaultsort\";i:2560;s:7:\"version\";i:2561;s:18:\"version-extensions\";i:2562;s:20:\"version-specialpages\";i:2563;s:19:\"version-parserhooks\";i:2564;s:17:\"version-variables\";i:2565;s:16:\"version-antispam\";i:2566;s:13:\"version-skins\";i:2567;s:13:\"version-other\";i:2568;s:21:\"version-mediahandlers\";i:2569;s:13:\"version-hooks\";i:2570;s:27:\"version-extension-functions\";i:2571;s:28:\"version-parser-extensiontags\";i:2572;s:29:\"version-parser-function-hooks\";i:2573;s:17:\"version-hook-name\";i:2574;s:25:\"version-hook-subscribedby\";i:2575;s:15:\"version-version\";i:2576;s:15:\"version-license\";i:2577;s:25:\"version-poweredby-credits\";i:2578;s:24:\"version-poweredby-others\";i:2579;s:20:\"version-license-info\";i:2580;s:16:\"version-software\";i:2581;s:24:\"version-software-product\";i:2582;s:24:\"version-software-version\";i:2583;s:8:\"filepath\";i:2584;s:13:\"filepath-page\";i:2585;s:15:\"filepath-submit\";i:2586;s:16:\"filepath-summary\";i:2587;s:19:\"fileduplicatesearch\";i:2588;s:27:\"fileduplicatesearch-summary\";i:2589;s:26:\"fileduplicatesearch-legend\";i:2590;s:28:\"fileduplicatesearch-filename\";i:2591;s:26:\"fileduplicatesearch-submit\";i:2592;s:24:\"fileduplicatesearch-info\";i:2593;s:28:\"fileduplicatesearch-result-1\";i:2594;s:28:\"fileduplicatesearch-result-n\";i:2595;s:29:\"fileduplicatesearch-noresults\";i:2596;s:12:\"specialpages\";i:2597;s:17:\"specialpages-note\";i:2598;s:30:\"specialpages-group-maintenance\";i:2599;s:24:\"specialpages-group-other\";i:2600;s:24:\"specialpages-group-login\";i:2601;s:26:\"specialpages-group-changes\";i:2602;s:24:\"specialpages-group-media\";i:2603;s:24:\"specialpages-group-users\";i:2604;s:26:\"specialpages-group-highuse\";i:2605;s:24:\"specialpages-group-pages\";i:2606;s:28:\"specialpages-group-pagetools\";i:2607;s:23:\"specialpages-group-wiki\";i:2608;s:28:\"specialpages-group-redirects\";i:2609;s:23:\"specialpages-group-spam\";i:2610;s:9:\"blankpage\";i:2611;s:22:\"intentionallyblankpage\";i:2612;s:24:\"external_image_whitelist\";i:2613;s:4:\"tags\";i:2614;s:10:\"tag-filter\";i:2615;s:17:\"tag-filter-submit\";i:2616;s:10:\"tags-title\";i:2617;s:10:\"tags-intro\";i:2618;s:8:\"tags-tag\";i:2619;s:19:\"tags-display-header\";i:2620;s:23:\"tags-description-header\";i:2621;s:20:\"tags-hitcount-header\";i:2622;s:9:\"tags-edit\";i:2623;s:13:\"tags-hitcount\";i:2624;s:12:\"comparepages\";i:2625;s:16:\"compare-selector\";i:2626;s:13:\"compare-page1\";i:2627;s:13:\"compare-page2\";i:2628;s:12:\"compare-rev1\";i:2629;s:12:\"compare-rev2\";i:2630;s:14:\"compare-submit\";i:2631;s:12:\"dberr-header\";i:2632;s:14:\"dberr-problems\";i:2633;s:11:\"dberr-again\";i:2634;s:10:\"dberr-info\";i:2635;s:15:\"dberr-usegoogle\";i:2636;s:15:\"dberr-outofdate\";i:2637;s:17:\"dberr-cachederror\";i:2638;s:22:\"htmlform-invalid-input\";i:2639;s:25:\"htmlform-select-badoption\";i:2640;s:20:\"htmlform-int-invalid\";i:2641;s:22:\"htmlform-float-invalid\";i:2642;s:19:\"htmlform-int-toolow\";i:2643;s:20:\"htmlform-int-toohigh\";i:2644;s:17:\"htmlform-required\";i:2645;s:15:\"htmlform-submit\";i:2646;s:14:\"htmlform-reset\";i:2647;s:28:\"htmlform-selectorother-other\";i:2648;s:14:\"sqlite-has-fts\";i:2649;s:13:\"sqlite-no-fts\";i:2650;s:7:\"sidebar\";i:2651;s:18:\"pagecategorieslink\";i:2652;s:10:\"linkprefix\";i:2653;s:9:\"sitetitle\";i:2654;s:12:\"sitesubtitle\";i:2655;s:10:\"addsection\";i:2656;s:14:\"talkpageheader\";i:2657;s:9:\"pagetitle\";i:2658;s:23:\"pagetitle-view-mainpage\";i:2659;s:16:\"newtalkseparator\";i:2660;s:20:\"editsection-brackets\";i:2661;s:9:\"feed-atom\";i:2662;s:8:\"feed-rss\";i:2663;s:10:\"sitenotice\";i:2664;s:10:\"anonnotice\";i:2665;s:28:\"newsectionheaderdefaultlevel\";i:2666;s:14:\"mainpage-nstab\";i:2667;s:17:\"nocookiesforlogin\";i:2668;s:10:\"loginstart\";i:2669;s:8:\"loginend\";i:2670;s:14:\"loginend-https\";i:2671;s:11:\"signupstart\";i:2672;s:9:\"signupend\";i:2673;s:15:\"signupend-https\";i:2674;s:18:\"loginlanguagelinks\";i:2675;s:15:\"pear-mail-error\";i:2676;s:14:\"php-mail-error\";i:2677;s:18:\"newarticletextanon\";i:2678;s:12:\"talkpagetext\";i:2679;s:17:\"noarticletextanon\";i:2680;s:20:\"editpage-tos-summary\";i:2681;s:13:\"longpage-hint\";i:2682;s:16:\"edittools-upload\";i:2683;s:18:\"addsection-preload\";i:2684;s:20:\"addsection-editintro\";i:2685;s:21:\"revision-info-current\";i:2686;s:12:\"revision-nav\";i:2687;s:17:\"history_copyright\";i:2688;s:14:\"search-summary\";i:2689;s:23:\"searchmenu-new-nocreate\";i:2690;s:15:\"searchmenu-help\";i:2691;s:23:\"search-interwiki-custom\";i:2692;s:12:\"googlesearch\";i:2693;s:15:\"opensearch-desc\";i:2694;s:19:\"preferences-summary\";i:2695;s:25:\"prefs-memberingroups-type\";i:2696;s:28:\"prefs-registration-date-time\";i:2697;s:18:\"userrights-summary\";i:2698;s:30:\"userrights-irreversible-marker\";i:2699;s:17:\"recentchanges-url\";i:2700;s:17:\"unpatrolledletter\";i:2701;s:11:\"sectionlink\";i:2702;s:31:\"number_of_watching_users_RCview\";i:2703;s:14:\"rc-change-size\";i:2704;s:28:\"recentchangeslinked-backlink\";i:2705;s:14:\"upload-summary\";i:2706;s:12:\"uploadfooter\";i:2707;s:25:\"filename-prefix-blacklist\";i:2708;s:8:\"licenses\";i:2709;s:24:\"shareddescriptionfollows\";i:2710;s:33:\"shared-repo-name-wikimediacommons\";i:2711;s:12:\"filepage.css\";i:2712;s:19:\"filerevert-backlink\";i:2713;s:19:\"filedelete-backlink\";i:2714;s:22:\"unwatchedpages-summary\";i:2715;s:21:\"listredirects-summary\";i:2716;s:23:\"unusedtemplates-summary\";i:2717;s:14:\"randompage-url\";i:2718;s:18:\"statistics-summary\";i:2719;s:17:\"statistics-footer\";i:2720;s:23:\"disambiguations-summary\";i:2721;s:23:\"doubleredirects-summary\";i:2722;s:23:\"brokenredirects-summary\";i:2723;s:23:\"fewestrevisions-summary\";i:2724;s:19:\"lonelypages-summary\";i:2725;s:26:\"uncategorizedpages-summary\";i:2726;s:31:\"uncategorizedcategories-summary\";i:2727;s:27:\"uncategorizedimages-summary\";i:2728;s:30:\"uncategorizedtemplates-summary\";i:2729;s:20:\"popularpages-summary\";i:2730;s:24:\"wantedcategories-summary\";i:2731;s:19:\"wantedpages-summary\";i:2732;s:19:\"wantedfiles-summary\";i:2733;s:23:\"wantedtemplates-summary\";i:2734;s:18:\"mostlinked-summary\";i:2735;s:28:\"mostlinkedcategories-summary\";i:2736;s:27:\"mostlinkedtemplates-summary\";i:2737;s:22:\"mostcategories-summary\";i:2738;s:18:\"mostimages-summary\";i:2739;s:21:\"mostrevisions-summary\";i:2740;s:19:\"prefixindex-summary\";i:2741;s:18:\"shortpages-summary\";i:2742;s:17:\"longpages-summary\";i:2743;s:20:\"deadendpages-summary\";i:2744;s:22:\"protectedpages-summary\";i:2745;s:23:\"protectedtitles-summary\";i:2746;s:17:\"listusers-summary\";i:2747;s:16:\"newpages-summary\";i:2748;s:20:\"ancientpages-summary\";i:2749;s:19:\"booksources-summary\";i:2750;s:16:\"booksources-isbn\";i:2751;s:6:\"rfcurl\";i:2752;s:9:\"pubmedurl\";i:2753;s:16:\"allpages-summary\";i:2754;s:18:\"categories-summary\";i:2755;s:19:\"activeusers-summary\";i:2756;s:15:\"newuserlogentry\";i:2757;s:29:\"listgrouprights-right-display\";i:2758;s:29:\"listgrouprights-right-revoked\";i:2759;s:20:\"usermessage-template\";i:2760;s:15:\"delete-backlink\";i:2761;s:16:\"protect-backlink\";i:2762;s:24:\"sp-contributions-explain\";i:2763;s:23:\"sp-contributions-footer\";i:2764;s:28:\"sp-contributions-footer-anon\";i:2765;s:21:\"whatlinkshere-summary\";i:2766;s:22:\"whatlinkshere-backlink\";i:2767;s:17:\"blocklist-summary\";i:2768;s:5:\"sorbs\";i:2769;s:21:\"accesskey-pt-userpage\";i:2770;s:25:\"accesskey-pt-anonuserpage\";i:2771;s:19:\"accesskey-pt-mytalk\";i:2772;s:21:\"accesskey-pt-anontalk\";i:2773;s:24:\"accesskey-pt-preferences\";i:2774;s:22:\"accesskey-pt-watchlist\";i:2775;s:22:\"accesskey-pt-mycontris\";i:2776;s:18:\"accesskey-pt-login\";i:2777;s:22:\"accesskey-pt-anonlogin\";i:2778;s:19:\"accesskey-pt-logout\";i:2779;s:17:\"accesskey-ca-talk\";i:2780;s:17:\"accesskey-ca-edit\";i:2781;s:23:\"accesskey-ca-addsection\";i:2782;s:23:\"accesskey-ca-viewsource\";i:2783;s:20:\"accesskey-ca-history\";i:2784;s:20:\"accesskey-ca-protect\";i:2785;s:22:\"accesskey-ca-unprotect\";i:2786;s:19:\"accesskey-ca-delete\";i:2787;s:21:\"accesskey-ca-undelete\";i:2788;s:17:\"accesskey-ca-move\";i:2789;s:18:\"accesskey-ca-watch\";i:2790;s:20:\"accesskey-ca-unwatch\";i:2791;s:16:\"accesskey-search\";i:2792;s:19:\"accesskey-search-go\";i:2793;s:25:\"accesskey-search-fulltext\";i:2794;s:16:\"accesskey-p-logo\";i:2795;s:20:\"accesskey-n-mainpage\";i:2796;s:32:\"accesskey-n-mainpage-description\";i:2797;s:18:\"accesskey-n-portal\";i:2798;s:25:\"accesskey-n-currentevents\";i:2799;s:25:\"accesskey-n-recentchanges\";i:2800;s:22:\"accesskey-n-randompage\";i:2801;s:16:\"accesskey-n-help\";i:2802;s:25:\"accesskey-t-whatlinkshere\";i:2803;s:31:\"accesskey-t-recentchangeslinked\";i:2804;s:18:\"accesskey-feed-rss\";i:2805;s:19:\"accesskey-feed-atom\";i:2806;s:25:\"accesskey-t-contributions\";i:2807;s:21:\"accesskey-t-emailuser\";i:2808;s:21:\"accesskey-t-permalink\";i:2809;s:17:\"accesskey-t-print\";i:2810;s:18:\"accesskey-t-upload\";i:2811;s:24:\"accesskey-t-specialpages\";i:2812;s:23:\"accesskey-ca-nstab-main\";i:2813;s:23:\"accesskey-ca-nstab-user\";i:2814;s:24:\"accesskey-ca-nstab-media\";i:2815;s:26:\"accesskey-ca-nstab-special\";i:2816;s:26:\"accesskey-ca-nstab-project\";i:2817;s:24:\"accesskey-ca-nstab-image\";i:2818;s:28:\"accesskey-ca-nstab-mediawiki\";i:2819;s:27:\"accesskey-ca-nstab-template\";i:2820;s:23:\"accesskey-ca-nstab-help\";i:2821;s:27:\"accesskey-ca-nstab-category\";i:2822;s:19:\"accesskey-minoredit\";i:2823;s:14:\"accesskey-save\";i:2824;s:17:\"accesskey-preview\";i:2825;s:14:\"accesskey-diff\";i:2826;s:33:\"accesskey-compareselectedversions\";i:2827;s:15:\"accesskey-watch\";i:2828;s:16:\"accesskey-upload\";i:2829;s:26:\"accesskey-preferences-save\";i:2830;s:17:\"accesskey-summary\";i:2831;s:24:\"accesskey-userrights-set\";i:2832;s:23:\"accesskey-blockip-block\";i:2833;s:16:\"accesskey-export\";i:2834;s:16:\"accesskey-import\";i:2835;s:12:\"noscript.css\";i:2836;s:23:\"group-autoconfirmed.css\";i:2837;s:13:\"group-bot.css\";i:2838;s:15:\"group-sysop.css\";i:2839;s:20:\"group-bureaucrat.css\";i:2840;s:22:\"group-autoconfirmed.js\";i:2841;s:12:\"group-bot.js\";i:2842;s:14:\"group-sysop.js\";i:2843;s:19:\"group-bureaucrat.js\";i:2844;s:19:\"markaspatrolledlink\";i:2845;s:11:\"widthheight\";i:2846;s:10:\"video-dims\";i:2847;s:14:\"seconds-abbrev\";i:2848;s:11:\"days-abbrev\";i:2849;s:19:\"variantname-zh-hans\";i:2850;s:19:\"variantname-zh-hant\";i:2851;s:17:\"variantname-zh-cn\";i:2852;s:17:\"variantname-zh-tw\";i:2853;s:17:\"variantname-zh-hk\";i:2854;s:17:\"variantname-zh-mo\";i:2855;s:17:\"variantname-zh-sg\";i:2856;s:17:\"variantname-zh-my\";i:2857;s:14:\"variantname-zh\";i:2858;s:20:\"variantname-gan-hans\";i:2859;s:20:\"variantname-gan-hant\";i:2860;s:15:\"variantname-gan\";i:2861;s:17:\"variantname-sr-ec\";i:2862;s:17:\"variantname-sr-el\";i:2863;s:14:\"variantname-sr\";i:2864;s:17:\"variantname-kk-kz\";i:2865;s:17:\"variantname-kk-tr\";i:2866;s:17:\"variantname-kk-cn\";i:2867;s:19:\"variantname-kk-cyrl\";i:2868;s:19:\"variantname-kk-latn\";i:2869;s:19:\"variantname-kk-arab\";i:2870;s:14:\"variantname-kk\";i:2871;s:19:\"variantname-ku-arab\";i:2872;s:19:\"variantname-ku-latn\";i:2873;s:14:\"variantname-ku\";i:2874;s:19:\"variantname-tg-cyrl\";i:2875;s:19:\"variantname-tg-latn\";i:2876;s:14:\"variantname-tg\";i:2877;s:20:\"variantname-ike-cans\";i:2878;s:20:\"variantname-ike-latn\";i:2879;s:14:\"variantname-iu\";i:2880;s:17:\"metadata-langitem\";i:2881;s:25:\"metadata-langitem-default\";i:2882;s:19:\"exif-fnumber-format\";i:2883;s:23:\"exif-focallength-format\";i:2884;s:22:\"exif-coordinate-format\";i:2885;s:15:\"exif-make-value\";i:2886;s:16:\"exif-model-value\";i:2887;s:19:\"exif-software-value\";i:2888;s:27:\"exif-software-version-value\";i:2889;s:18:\"exif-contact-value\";i:2890;s:26:\"exif-subjectnewscode-value\";i:2891;s:18:\"exif-compression-5\";i:2892;s:18:\"exif-compression-6\";i:2893;s:18:\"exif-compression-7\";i:2894;s:18:\"exif-compression-8\";i:2895;s:22:\"exif-compression-32773\";i:2896;s:22:\"exif-compression-32946\";i:2897;s:22:\"exif-compression-34712\";i:2898;s:32:\"exif-photometricinterpretation-2\";i:2899;s:32:\"exif-photometricinterpretation-6\";i:2900;s:19:\"exif-xyresolution-i\";i:2901;s:19:\"exif-xyresolution-c\";i:2902;s:17:\"exif-colorspace-1\";i:2903;s:30:\"exif-componentsconfiguration-1\";i:2904;s:30:\"exif-componentsconfiguration-2\";i:2905;s:30:\"exif-componentsconfiguration-3\";i:2906;s:30:\"exif-componentsconfiguration-4\";i:2907;s:30:\"exif-componentsconfiguration-5\";i:2908;s:30:\"exif-componentsconfiguration-6\";i:2909;s:19:\"exif-lightsource-20\";i:2910;s:19:\"exif-lightsource-21\";i:2911;s:19:\"exif-lightsource-22\";i:2912;s:19:\"exif-lightsource-23\";i:2913;s:27:\"exif-maxaperturevalue-value\";i:2914;s:9:\"trackback\";i:2915;s:16:\"trackbackexcerpt\";i:2916;s:10:\"unit-pixel\";i:2917;s:19:\"semicolon-separator\";i:2918;s:15:\"colon-separator\";i:2919;s:18:\"autocomment-prefix\";i:2920;s:14:\"pipe-separator\";i:2921;s:14:\"word-separator\";i:2922;s:8:\"ellipsis\";i:2923;s:7:\"percent\";i:2924;s:11:\"parentheses\";i:2925;s:19:\"autoblock_whitelist\";i:2926;s:10:\"size-bytes\";i:2927;s:14:\"size-kilobytes\";i:2928;s:14:\"size-megabytes\";i:2929;s:14:\"size-gigabytes\";i:2930;s:19:\"iranian-calendar-m1\";i:2931;s:19:\"iranian-calendar-m2\";i:2932;s:19:\"iranian-calendar-m3\";i:2933;s:19:\"iranian-calendar-m4\";i:2934;s:19:\"iranian-calendar-m5\";i:2935;s:19:\"iranian-calendar-m6\";i:2936;s:19:\"iranian-calendar-m7\";i:2937;s:19:\"iranian-calendar-m8\";i:2938;s:19:\"iranian-calendar-m9\";i:2939;s:20:\"iranian-calendar-m10\";i:2940;s:20:\"iranian-calendar-m11\";i:2941;s:20:\"iranian-calendar-m12\";i:2942;s:17:\"hijri-calendar-m1\";i:2943;s:17:\"hijri-calendar-m2\";i:2944;s:17:\"hijri-calendar-m3\";i:2945;s:17:\"hijri-calendar-m4\";i:2946;s:17:\"hijri-calendar-m5\";i:2947;s:17:\"hijri-calendar-m6\";i:2948;s:17:\"hijri-calendar-m7\";i:2949;s:17:\"hijri-calendar-m8\";i:2950;s:17:\"hijri-calendar-m9\";i:2951;s:18:\"hijri-calendar-m10\";i:2952;s:18:\"hijri-calendar-m11\";i:2953;s:18:\"hijri-calendar-m12\";i:2954;s:18:\"hebrew-calendar-m1\";i:2955;s:18:\"hebrew-calendar-m2\";i:2956;s:18:\"hebrew-calendar-m3\";i:2957;s:18:\"hebrew-calendar-m4\";i:2958;s:18:\"hebrew-calendar-m5\";i:2959;s:18:\"hebrew-calendar-m6\";i:2960;s:19:\"hebrew-calendar-m6a\";i:2961;s:19:\"hebrew-calendar-m6b\";i:2962;s:18:\"hebrew-calendar-m7\";i:2963;s:18:\"hebrew-calendar-m8\";i:2964;s:18:\"hebrew-calendar-m9\";i:2965;s:19:\"hebrew-calendar-m10\";i:2966;s:19:\"hebrew-calendar-m11\";i:2967;s:19:\"hebrew-calendar-m12\";i:2968;s:22:\"hebrew-calendar-m1-gen\";i:2969;s:22:\"hebrew-calendar-m2-gen\";i:2970;s:22:\"hebrew-calendar-m3-gen\";i:2971;s:22:\"hebrew-calendar-m4-gen\";i:2972;s:22:\"hebrew-calendar-m5-gen\";i:2973;s:22:\"hebrew-calendar-m6-gen\";i:2974;s:23:\"hebrew-calendar-m6a-gen\";i:2975;s:23:\"hebrew-calendar-m6b-gen\";i:2976;s:22:\"hebrew-calendar-m7-gen\";i:2977;s:22:\"hebrew-calendar-m8-gen\";i:2978;s:22:\"hebrew-calendar-m9-gen\";i:2979;s:23:\"hebrew-calendar-m10-gen\";i:2980;s:23:\"hebrew-calendar-m11-gen\";i:2981;s:23:\"hebrew-calendar-m12-gen\";i:2982;s:9:\"signature\";i:2983;s:14:\"signature-anon\";i:2984;s:12:\"timezone-utc\";i:2985;s:11:\"version-api\";i:2986;s:20:\"version-svn-revision\";i:2987;s:20:\"specialpages-summary\";}}'),('es','preload','a:3:{s:8:\"messages\";a:95:{s:9:\"aboutpage\";s:17:\"Project:Acerca de\";s:9:\"aboutsite\";s:22:\"Acerca de {{SITENAME}}\";s:17:\"accesskey-ca-edit\";s:1:\"e\";s:20:\"accesskey-ca-history\";s:1:\"h\";s:23:\"accesskey-ca-nstab-main\";s:1:\"c\";s:17:\"accesskey-ca-talk\";s:1:\"t\";s:25:\"accesskey-n-currentevents\";s:0:\"\";s:16:\"accesskey-n-help\";s:0:\"\";s:32:\"accesskey-n-mainpage-description\";s:1:\"z\";s:18:\"accesskey-n-portal\";s:0:\"\";s:22:\"accesskey-n-randompage\";s:1:\"x\";s:25:\"accesskey-n-recentchanges\";s:1:\"r\";s:23:\"accesskey-n-sitesupport\";N;s:16:\"accesskey-p-logo\";s:0:\"\";s:18:\"accesskey-pt-login\";s:1:\"o\";s:16:\"accesskey-search\";s:1:\"f\";s:25:\"accesskey-search-fulltext\";s:0:\"\";s:19:\"accesskey-search-go\";s:0:\"\";s:21:\"accesskey-t-permalink\";s:0:\"\";s:17:\"accesskey-t-print\";s:1:\"p\";s:31:\"accesskey-t-recentchangeslinked\";s:1:\"k\";s:24:\"accesskey-t-specialpages\";s:1:\"q\";s:25:\"accesskey-t-whatlinkshere\";s:1:\"j\";s:10:\"anonnotice\";s:1:\"-\";s:15:\"colon-separator\";s:6:\":&#32;\";s:13:\"currentevents\";s:10:\"Actualidad\";s:17:\"currentevents-url\";s:18:\"Project:Actualidad\";s:14:\"disclaimerpage\";s:46:\"Project:Limitación general de responsabilidad\";s:11:\"disclaimers\";s:11:\"Aviso legal\";s:4:\"edit\";s:6:\"Editar\";s:4:\"help\";s:5:\"Ayuda\";s:8:\"helppage\";s:15:\"Help:Contenidos\";s:13:\"history_short\";s:9:\"Historial\";s:6:\"jumpto\";s:9:\"Saltar a:\";s:16:\"jumptonavigation\";s:11:\"navegación\";s:12:\"jumptosearch\";s:6:\"buscar\";s:14:\"lastmodifiedat\";s:60:\"Esta página fue modificada por última vez el $1, a las $2.\";s:8:\"mainpage\";s:17:\"Página principal\";s:20:\"mainpage-description\";s:17:\"Página principal\";s:23:\"nav-login-createaccount\";s:30:\"Iniciar sesión / crear cuenta\";s:10:\"navigation\";s:11:\"Navegación\";s:10:\"nstab-main\";s:7:\"Página\";s:15:\"opensearch-desc\";s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";s:14:\"pagecategories\";s:36:\"{{PLURAL:$1|Categoría|Categorías}}\";s:18:\"pagecategorieslink\";s:18:\"Special:Categories\";s:9:\"pagetitle\";s:17:\"$1 - {{SITENAME}}\";s:23:\"pagetitle-view-mainpage\";s:12:\"{{SITENAME}}\";s:9:\"permalink\";s:17:\"Enlace permanente\";s:13:\"personaltools\";s:23:\"Herramientas personales\";s:6:\"portal\";s:22:\"Portal de la comunidad\";s:10:\"portal-url\";s:30:\"Project:Portal de la comunidad\";s:16:\"printableversion\";s:22:\"Versión para imprimir\";s:7:\"privacy\";s:33:\"Política de protección de datos\";s:11:\"privacypage\";s:41:\"Project:Política de protección de datos\";s:10:\"randompage\";s:17:\"Página aleatoria\";s:14:\"randompage-url\";s:14:\"Special:Random\";s:13:\"recentchanges\";s:17:\"Cambios recientes\";s:17:\"recentchanges-url\";s:21:\"Special:RecentChanges\";s:27:\"recentchangeslinked-toolbox\";s:20:\"Cambios relacionados\";s:13:\"retrievedfrom\";s:18:\"Obtenido de «$1»\";s:6:\"search\";s:6:\"Buscar\";s:13:\"searcharticle\";s:2:\"Ir\";s:12:\"searchbutton\";s:6:\"Buscar\";s:7:\"sidebar\";s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";s:14:\"site-atom-feed\";s:15:\"Feed Atom de $1\";s:13:\"site-rss-feed\";s:13:\"$1 Fuente RSS\";s:10:\"sitenotice\";s:1:\"-\";s:12:\"specialpages\";s:19:\"Páginas especiales\";s:7:\"tagline\";s:15:\"De {{SITENAME}}\";s:4:\"talk\";s:10:\"Discusión\";s:7:\"toolbox\";s:12:\"Herramientas\";s:15:\"tooltip-ca-edit\";s:83:\"Puedes editar esta página. Utiliza el botón de previsualización antes de guardar\";s:18:\"tooltip-ca-history\";s:50:\"Versiones anteriores de esta página y sus autores\";s:21:\"tooltip-ca-nstab-main\";s:16:\"Ver el artículo\";s:15:\"tooltip-ca-talk\";s:31:\"Discusión acerca del artículo\";s:23:\"tooltip-n-currentevents\";s:55:\"Información de contexto sobre acontecimientos actuales\";s:14:\"tooltip-n-help\";s:22:\"El lugar para aprender\";s:30:\"tooltip-n-mainpage-description\";s:28:\"Visitar la página principal\";s:16:\"tooltip-n-portal\";s:71:\"Acerca del proyecto, lo que puedes hacer, dónde encontrar información\";s:20:\"tooltip-n-randompage\";s:26:\"Cargar una página al azar\";s:23:\"tooltip-n-recentchanges\";s:37:\"Lista de cambios recientes en el wiki\";s:21:\"tooltip-n-sitesupport\";N;s:14:\"tooltip-p-logo\";s:28:\"Visitar la página principal\";s:20:\"tooltip-p-navigation\";N;s:16:\"tooltip-pt-login\";s:62:\"Te recomendamos iniciar sesión, sin embargo no es obligatorio\";s:14:\"tooltip-search\";s:22:\"Buscar en {{SITENAME}}\";s:23:\"tooltip-search-fulltext\";s:32:\"Busca este texto en las páginas\";s:17:\"tooltip-search-go\";s:48:\"Ir al artículo con este nombre exacto si existe\";s:19:\"tooltip-t-permalink\";s:47:\"Enlace permanente a esta versión de la página\";s:15:\"tooltip-t-print\";s:35:\"Versión imprimible de esta página\";s:29:\"tooltip-t-recentchangeslinked\";s:55:\"Cambios recientes en las páginas que enlazan con ésta\";s:22:\"tooltip-t-specialpages\";s:38:\"Lista de todas las páginas especiales\";s:23:\"tooltip-t-whatlinkshere\";s:54:\"Lista de todas las páginas del wiki que enlazan aquí\";s:5:\"views\";s:6:\"Vistas\";s:13:\"whatlinkshere\";s:19:\"Lo que enlaza aquí\";}s:11:\"dateFormats\";a:12:{s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j M Y\";s:8:\"dmy both\";s:9:\"H:i j M Y\";s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}s:14:\"namespaceNames\";a:17:{i:-2;s:5:\"Medio\";i:-1;s:8:\"Especial\";i:1;s:10:\"Discusión\";i:2;s:7:\"Usuario\";i:3;s:18:\"Usuario_discusión\";i:5;s:13:\"$1_discusión\";i:6;s:7:\"Archivo\";i:7;s:18:\"Archivo_discusión\";i:8;s:9:\"MediaWiki\";i:9;s:20:\"MediaWiki_discusión\";i:10;s:9:\"Plantilla\";i:11;s:20:\"Plantilla_discusión\";i:12;s:5:\"Ayuda\";i:13;s:16:\"Ayuda_discusión\";i:14;s:10:\"Categoría\";i:15;s:21:\"Categoría_discusión\";i:0;s:0:\"\";}}');
/*!40000 ALTER TABLE `pvt_l10n_cache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_redirect`
--

DROP TABLE IF EXISTS `peg_redirect`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_redirect` (
  `rd_from` int(10) unsigned NOT NULL default '0',
  `rd_namespace` int(11) NOT NULL default '0',
  `rd_title` varbinary(255) NOT NULL default '',
  `rd_interwiki` varbinary(32) default NULL,
  `rd_fragment` varbinary(255) default NULL,
  PRIMARY KEY  (`rd_from`),
  KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_redirect`
--

LOCK TABLES `peg_redirect` WRITE;
/*!40000 ALTER TABLE `peg_redirect` DISABLE KEYS */;
INSERT INTO `peg_redirect` VALUES (18,0,'Vista:visintdetpre','',''),(95,0,'RPRT:PresupuestosDirecto','',''),(96,0,'RPRT:Presupuestos','',''),(135,0,'TKT:FZG.000006','',''),(136,0,'TKT:FZG.000002','',''),(137,0,'TKT:FZG.000003','',''),(138,0,'TKT:FZG.000004','',''),(139,0,'TKT:FZG.000005','',''),(160,0,'TRIG:productos.Baja_Producto','',''),(161,0,'TRIG:productos.Alta_Producto','',''),(166,0,'TRIG:bocetoscab.Baja_BocetosCab','','');
/*!40000 ALTER TABLE `peg_redirect` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_watchlist`
--

DROP TABLE IF EXISTS `peg_watchlist`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_watchlist` (
  `wl_user` int(10) unsigned NOT NULL,
  `wl_namespace` int(11) NOT NULL default '0',
  `wl_title` varbinary(255) NOT NULL default '',
  `wl_notificationtimestamp` varbinary(14) default NULL,
  UNIQUE KEY `wl_user` (`wl_user`,`wl_namespace`,`wl_title`),
  KEY `namespace_title` (`wl_namespace`,`wl_title`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_watchlist`
--

LOCK TABLES `peg_watchlist` WRITE;
/*!40000 ALTER TABLE `peg_watchlist` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_watchlist` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_recentchanges`
--

DROP TABLE IF EXISTS `peg_recentchanges`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_recentchanges` (
  `rc_id` int(11) NOT NULL auto_increment,
  `rc_timestamp` varbinary(14) NOT NULL default '',
  `rc_cur_time` varbinary(14) NOT NULL default '',
  `rc_user` int(10) unsigned NOT NULL default '0',
  `rc_user_text` varbinary(255) NOT NULL,
  `rc_namespace` int(11) NOT NULL default '0',
  `rc_title` varbinary(255) NOT NULL default '',
  `rc_comment` varbinary(255) NOT NULL default '',
  `rc_minor` tinyint(3) unsigned NOT NULL default '0',
  `rc_bot` tinyint(3) unsigned NOT NULL default '0',
  `rc_new` tinyint(3) unsigned NOT NULL default '0',
  `rc_cur_id` int(10) unsigned NOT NULL default '0',
  `rc_this_oldid` int(10) unsigned NOT NULL default '0',
  `rc_last_oldid` int(10) unsigned NOT NULL default '0',
  `rc_type` tinyint(3) unsigned NOT NULL default '0',
  `rc_moved_to_ns` tinyint(3) unsigned NOT NULL default '0',
  `rc_moved_to_title` varbinary(255) NOT NULL default '',
  `rc_patrolled` tinyint(3) unsigned NOT NULL default '0',
  `rc_ip` varbinary(40) NOT NULL default '',
  `rc_old_len` int(11) default NULL,
  `rc_new_len` int(11) default NULL,
  `rc_deleted` tinyint(3) unsigned NOT NULL default '0',
  `rc_logid` int(10) unsigned NOT NULL default '0',
  `rc_log_type` varbinary(255) default NULL,
  `rc_log_action` varbinary(255) default NULL,
  `rc_params` blob,
  PRIMARY KEY  (`rc_id`),
  KEY `rc_timestamp` (`rc_timestamp`),
  KEY `rc_namespace_title` (`rc_namespace`,`rc_title`),
  KEY `rc_cur_id` (`rc_cur_id`),
  KEY `new_name_timestamp` (`rc_new`,`rc_namespace`,`rc_timestamp`),
  KEY `rc_ip` (`rc_ip`),
  KEY `rc_ns_usertext` (`rc_namespace`,`rc_user_text`),
  KEY `rc_user_text` (`rc_user_text`,`rc_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=1462 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_recentchanges`
--

LOCK TABLES `peg_recentchanges` WRITE;
/*!40000 ALTER TABLE `peg_recentchanges` DISABLE KEYS */;
INSERT INTO `peg_recentchanges` VALUES (1437,'20131205113925','20131205113925',1,'Administrador',0,'Spanex:Releases','/* Correcciones y Agregados */ ',0,0,0,14,1441,1439,0,0,'',1,'181.95.113.126',29051,29165,0,0,NULL,'',''),(1438,'20131205162014','20131205162014',1,'Administrador',0,'Spanex:Releases','/* Correcciones y Agregados */ ',0,0,0,14,1442,1441,0,0,'',1,'181.95.113.126',29165,29201,0,0,NULL,'',''),(1439,'20131217121726','20131217121726',1,'Administrador',0,'Spanex:Instalar','',0,0,0,214,1443,1324,0,0,'',1,'190.139.94.195',191,290,0,0,NULL,'',''),(1440,'20131217183719','20131217183719',1,'Administrador',0,'Spanex:Releases','/* Correcciones y Agregados */ ',0,0,0,14,1444,1442,0,0,'',1,'181.95.105.40',29201,29337,0,0,NULL,'',''),(1441,'20131217184022','20131217184022',1,'Administrador',0,'Spanex:Releases','/* Correcciones y Agregados */ ',0,0,0,14,1445,1444,0,0,'',1,'181.95.105.40',29337,29376,0,0,NULL,'',''),(1442,'20131218002907','20131218002907',1,'Administrador',0,'Spanex:Releases','/* Correcciones y Agregados */ ',0,0,0,14,1446,1445,0,0,'',1,'181.95.105.40',29376,29474,0,0,NULL,'',''),(1443,'20131218202139','20131218202139',1,'Administrador',0,'Spanex:Releases','/* Correcciones y Agregados */ ',0,0,0,14,1447,1446,0,0,'',1,'181.110.85.71',29474,29757,0,0,NULL,'',''),(1444,'20131218222939','20131218222939',1,'Administrador',0,'Spanex:Releases','/* Correcciones y Agregados */ ',0,0,0,14,1448,1447,0,0,'',1,'181.110.85.71',29757,29847,0,0,NULL,'',''),(1445,'20131230231630','20131230231630',1,'Administrador',0,'Página_principal','/* Deployment */ ',0,0,0,2,1449,1332,0,0,'',1,'181.95.113.98',541,557,0,0,NULL,'',''),(1446,'20131231003937','20131231003937',1,'Administrador',0,'Inventario','Página creada con «IntraNet WirelessIDs ID-MA SMM.GFM-b8:5e:7b:7f:56:64(1) ALS.GFM-b8:5e:7b:80:0b:ec(2) SAS.LP1-88:9f:fa:86:a3:7c(3) SAS.LP2-00:15:af:a6:1e:e4(4) SAS.NE5-d4:5d:42:0f:96:4e(5) ...»',0,0,1,234,1450,0,1,0,'',1,'181.95.113.98',0,310,0,0,NULL,'',''),(1447,'20131231004230','20131231004230',1,'Administrador',0,'Inventario','',0,0,0,234,1451,1450,0,0,'',1,'181.95.113.98',310,338,0,0,NULL,'',''),(1448,'20140101212946','20140101212946',1,'Administrador',0,'Actualizacion_DB','/* Actualizaciones Historicas */ ',0,0,0,59,1452,1300,0,0,'',1,'201.252.84.223',9766,14346,0,0,NULL,'',''),(1449,'20140101213137','20140101213137',1,'Administrador',0,'ActualizacionDBPendientes','Página reemplazada por «===20140101===\n====Modificacion en [[TABLA:wscontrol]]====\nALTER TABLE `fzggestion`.`wscontrol` ADD COLUMN `wskey4` VARCHAR(30) NULL  AFTER `wskey3` , ADD COLUMN `wske...»',0,0,0,209,1453,1422,0,0,'',1,'201.252.84.223',4579,200,0,0,NULL,'',''),(1450,'20140210131638','20140210131638',1,'Administrador',0,'TABLA:wscontrol','/* Descripción */ ',0,0,0,154,1454,995,0,0,'',1,'186.125.47.82',2507,2668,0,0,NULL,'',''),(1451,'20140210132244','20140210132244',1,'Administrador',0,'TABLA:wscontrol','/* Descripción */ ',0,0,0,154,1455,1454,0,0,'',1,'186.125.47.82',2668,2690,0,0,NULL,'',''),(1452,'20140210133739','20140210133739',1,'Administrador',0,'TABLA:wscontrol','/* SQL */ ',0,0,0,154,1456,1455,0,0,'',1,'186.125.47.82',2690,2765,0,0,NULL,'',''),(1453,'20140210134040','20140210134040',1,'Administrador',0,'TABLA:wscontrol','/* Ingreso de Registro en Tabla */ ',0,0,0,154,1457,1456,0,0,'',1,'186.125.47.82',2765,2971,0,0,NULL,'',''),(1454,'20140210134458','20140210134458',1,'Administrador',0,'TABLA:wscontrol','/* Ingreso de Registro en Tabla */ ',0,0,0,154,1458,1457,0,0,'',1,'186.125.47.82',2971,2989,0,0,NULL,'',''),(1455,'20140215224456','20140215224456',1,'Administrador',0,'Inventario','/* WirelessIDs */ ',0,0,0,234,1459,1451,0,0,'',1,'186.108.118.226',338,338,0,0,NULL,'',''),(1456,'20140220151335','20140220151335',1,'Administrador',0,'Spanex:UserWiki','/* Referencia Rápida */ ',0,0,0,51,1460,1407,0,0,'',1,'181.95.91.103',30291,32062,0,0,NULL,'',''),(1457,'20140220174527','20140220174527',1,'Administrador',0,'ActualizacionDBPendientes','/* 20140101 */ ',0,0,0,209,1461,1453,0,0,'',1,'181.95.91.103',200,504,0,0,NULL,'',''),(1458,'20140220180058','20140220180058',1,'Administrador',0,'ActualizacionDBPendientes','/* 20140220 */ ',0,0,0,209,1462,1461,0,0,'',1,'181.95.91.103',504,689,0,0,NULL,'',''),(1459,'20140220180359','20140220180359',1,'Administrador',0,'Spanex:Releases','/* Versión 1.1 */ ',0,0,0,14,1463,1448,0,0,'',1,'181.95.91.103',29847,29937,0,0,NULL,'',''),(1460,'20140220180543','20140220180543',1,'Administrador',0,'Spanex:Releases','/* Release 20140220 */ ',0,0,0,14,1464,1463,0,0,'',1,'181.95.91.103',29937,30005,0,0,NULL,'',''),(1461,'20140220181141','20140220181141',1,'Administrador',0,'TABLA:wsml','Página creada con «[[Category:TABLAS]] == Descripción == Tabla auxiliar para administrar la relación entre Empresas, Clientes Mayoristas, Usuarios y su correspondiente logo.  *id:Auto *1:Co...»',0,0,1,235,1465,0,1,0,'',1,'181.95.91.103',0,626,0,0,NULL,'','');
/*!40000 ALTER TABLE `peg_recentchanges` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_interwiki`
--

DROP TABLE IF EXISTS `pvt_interwiki`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_interwiki` (
  `iw_prefix` varbinary(32) NOT NULL,
  `iw_url` blob NOT NULL,
  `iw_api` blob NOT NULL,
  `iw_wikiid` varbinary(64) NOT NULL,
  `iw_local` tinyint(1) NOT NULL,
  `iw_trans` tinyint(4) NOT NULL default '0',
  UNIQUE KEY `iw_prefix` (`iw_prefix`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_interwiki`
--

LOCK TABLES `pvt_interwiki` WRITE;
/*!40000 ALTER TABLE `pvt_interwiki` DISABLE KEYS */;
INSERT INTO `pvt_interwiki` VALUES ('acronym','http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=$1','','',0,0),('advogato','http://www.advogato.org/$1','','',0,0),('annotationwiki','http://www.seedwiki.com/page.cfm?wikiid=368&doc=$1','','',0,0),('arxiv','http://www.arxiv.org/abs/$1','','',0,0),('c2find','http://c2.com/cgi/wiki?FindPage&value=$1','','',0,0),('cache','http://www.google.com/search?q=cache:$1','','',0,0),('commons','http://commons.wikimedia.org/wiki/$1','','',0,0),('corpknowpedia','http://corpknowpedia.org/wiki/index.php/$1','','',0,0),('dictionary','http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1','','',0,0),('disinfopedia','http://www.disinfopedia.org/wiki.phtml?title=$1','','',0,0),('docbook','http://wiki.docbook.org/topic/$1','','',0,0),('doi','http://dx.doi.org/$1','','',0,0),('drumcorpswiki','http://www.drumcorpswiki.com/index.php/$1','','',0,0),('dwjwiki','http://www.suberic.net/cgi-bin/dwj/wiki.cgi?$1','','',0,0),('elibre','http://enciclopedia.us.es/index.php/$1','','',0,0),('emacswiki','http://www.emacswiki.org/cgi-bin/wiki.pl?$1','','',0,0),('foldoc','http://foldoc.org/?$1','','',0,0),('foxwiki','http://fox.wikis.com/wc.dll?Wiki~$1','','',0,0),('freebsdman','http://www.FreeBSD.org/cgi/man.cgi?apropos=1&query=$1','','',0,0),('gej','http://www.esperanto.de/cgi-bin/aktivikio/wiki.pl?$1','','',0,0),('gentoo-wiki','http://gentoo-wiki.com/$1','','',0,0),('google','http://www.google.com/search?q=$1','','',0,0),('googlegroups','http://groups.google.com/groups?q=$1','','',0,0),('hammondwiki','http://www.dairiki.org/HammondWiki/$1','','',0,0),('hewikisource','http://he.wikisource.org/wiki/$1','','',1,0),('hrwiki','http://www.hrwiki.org/index.php/$1','','',0,0),('imdb','http://us.imdb.com/Title?$1','','',0,0),('jargonfile','http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1','','',0,0),('jspwiki','http://www.jspwiki.org/wiki/$1','','',0,0),('keiki','http://kei.ki/en/$1','','',0,0),('kmwiki','http://kmwiki.wikispaces.com/$1','','',0,0),('linuxwiki','http://linuxwiki.de/$1','','',0,0),('lojban','http://www.lojban.org/tiki/tiki-index.php?page=$1','','',0,0),('lqwiki','http://wiki.linuxquestions.org/wiki/$1','','',0,0),('lugkr','http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1','','',0,0),('mathsongswiki','http://SeedWiki.com/page.cfm?wikiid=237&doc=$1','','',0,0),('meatball','http://www.usemod.com/cgi-bin/mb.pl?$1','','',0,0),('mediawikiwiki','http://www.mediawiki.org/wiki/$1','','',0,0),('mediazilla','https://bugzilla.wikimedia.org/$1','','',1,0),('memoryalpha','http://www.memory-alpha.org/en/index.php/$1','','',0,0),('metawiki','http://sunir.org/apps/meta.pl?$1','','',0,0),('metawikipedia','http://meta.wikimedia.org/wiki/$1','','',0,0),('moinmoin','http://purl.net/wiki/moin/$1','','',0,0),('mozillawiki','http://wiki.mozilla.org/index.php/$1','','',0,0),('mw','http://www.mediawiki.org/wiki/$1','','',0,0),('oeis','http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1','','',0,0),('openfacts','http://openfacts.berlios.de/index.phtml?title=$1','','',0,0),('openwiki','http://openwiki.com/?$1','','',0,0),('pmeg','http://www.bertilow.com/pmeg/$1.php','','',0,0),('ppr','http://c2.com/cgi/wiki?$1','','',0,0),('pythoninfo','http://wiki.python.org/moin/$1','','',0,0),('rfc','http://www.rfc-editor.org/rfc/rfc$1.txt','','',0,0),('s23wiki','http://is-root.de/wiki/index.php/$1','','',0,0),('seattlewiki','http://seattle.wikia.com/wiki/$1','','',0,0),('seattlewireless','http://seattlewireless.net/?$1','','',0,0),('senseislibrary','http://senseis.xmp.net/?$1','','',0,0),('sourceforge','http://sourceforge.net/$1','','',0,0),('squeak','http://wiki.squeak.org/squeak/$1','','',0,0),('susning','http://www.susning.nu/$1','','',0,0),('svgwiki','http://wiki.svg.org/$1','','',0,0),('tavi','http://tavi.sourceforge.net/$1','','',0,0),('tejo','http://www.tejo.org/vikio/$1','','',0,0),('theopedia','http://www.theopedia.com/$1','','',0,0),('tmbw','http://www.tmbw.net/wiki/$1','','',0,0),('tmnet','http://www.technomanifestos.net/?$1','','',0,0),('tmwiki','http://www.EasyTopicMaps.com/?page=$1','','',0,0),('twiki','http://twiki.org/cgi-bin/view/$1','','',0,0),('uea','http://www.tejo.org/uea/$1','','',0,0),('unreal','http://wiki.beyondunreal.com/wiki/$1','','',0,0),('usemod','http://www.usemod.com/cgi-bin/wiki.pl?$1','','',0,0),('vinismo','http://vinismo.com/en/$1','','',0,0),('webseitzwiki','http://webseitz.fluxent.com/wiki/$1','','',0,0),('why','http://clublet.com/c/c/why?$1','','',0,0),('wiki','http://c2.com/cgi/wiki?$1','','',0,0),('wikia','http://www.wikia.com/wiki/$1','','',0,0),('wikibooks','http://en.wikibooks.org/wiki/$1','','',1,0),('wikicities','http://www.wikia.com/wiki/$1','','',0,0),('wikif1','http://www.wikif1.org/$1','','',0,0),('wikihow','http://www.wikihow.com/$1','','',0,0),('wikimedia','http://wikimediafoundation.org/wiki/$1','','',0,0),('wikinews','http://en.wikinews.org/wiki/$1','','',1,0),('wikinfo','http://www.wikinfo.org/index.php/$1','','',0,0),('wikipedia','http://en.wikipedia.org/wiki/$1','','',1,0),('wikiquote','http://en.wikiquote.org/wiki/$1','','',1,0),('wikisource','http://wikisource.org/wiki/$1','','',1,0),('wikispecies','http://species.wikimedia.org/wiki/$1','','',1,0),('wikitravel','http://wikitravel.org/en/$1','','',0,0),('wikiversity','http://en.wikiversity.org/wiki/$1','','',1,0),('wikt','http://en.wiktionary.org/wiki/$1','','',1,0),('wiktionary','http://en.wiktionary.org/wiki/$1','','',1,0),('wlug','http://www.wlug.org.nz/$1','','',0,0),('zwiki','http://zwiki.org/$1','','',0,0),('zzz wiki','http://wiki.zzz.ee/index.php/$1','','',0,0);
/*!40000 ALTER TABLE `pvt_interwiki` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_module_deps`
--

DROP TABLE IF EXISTS `fzg_module_deps`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_module_deps` (
  `md_module` varbinary(255) NOT NULL,
  `md_skin` varbinary(32) NOT NULL,
  `md_deps` mediumblob NOT NULL,
  UNIQUE KEY `md_module_skin` (`md_module`,`md_skin`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_module_deps`
--

LOCK TABLES `fzg_module_deps` WRITE;
/*!40000 ALTER TABLE `fzg_module_deps` DISABLE KEYS */;
INSERT INTO `fzg_module_deps` VALUES ('mediawiki.legacy.shared','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('skins.vector','vector','{\"0\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/page-base.png\",\"1\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/border.png\",\"2\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/page-fade.png\",\"4\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-break.png\",\"5\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-normal-fade.png\",\"6\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-current-fade.png\",\"8\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/arrow-down-icon.png\",\"11\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/search-fade.png\",\"12\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/portal-break.png\",\"14\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-break.png\",\"16\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-fade.png\",\"17\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-base.png\",\"18\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/bullet-icon.png\",\"19\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/external-link-ltr-icon.png\",\"20\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/lock-icon.png\",\"21\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/mail-icon.png\",\"22\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/news-icon.png\",\"23\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/file-icon.png\",\"24\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/talk-icon.png\",\"25\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/audio-icon.png\",\"26\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/video-icon.png\",\"27\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/document-icon.png\",\"28\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/user-icon.png\",\"29\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/watch-icons.png\",\"30\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/watch-icon-loading.gif\"}');
/*!40000 ALTER TABLE `fzg_module_deps` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_logging`
--

DROP TABLE IF EXISTS `pvt_logging`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_logging` (
  `log_id` int(10) unsigned NOT NULL auto_increment,
  `log_type` varbinary(32) NOT NULL default '',
  `log_action` varbinary(32) NOT NULL default '',
  `log_timestamp` binary(14) NOT NULL default '19700101000000',
  `log_user` int(10) unsigned NOT NULL default '0',
  `log_user_text` varbinary(255) NOT NULL default '',
  `log_namespace` int(11) NOT NULL default '0',
  `log_title` varbinary(255) NOT NULL default '',
  `log_page` int(10) unsigned default NULL,
  `log_comment` varbinary(255) NOT NULL default '',
  `log_params` blob NOT NULL,
  `log_deleted` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`log_id`),
  KEY `type_time` (`log_type`,`log_timestamp`),
  KEY `user_time` (`log_user`,`log_timestamp`),
  KEY `page_time` (`log_namespace`,`log_title`,`log_timestamp`),
  KEY `times` (`log_timestamp`),
  KEY `log_user_type_time` (`log_user`,`log_type`,`log_timestamp`),
  KEY `log_page_id_time` (`log_page`,`log_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=281 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_logging`
--

LOCK TABLES `pvt_logging` WRITE;
/*!40000 ALTER TABLE `pvt_logging` DISABLE KEYS */;
INSERT INTO `pvt_logging` VALUES (1,'newusers','create2','20120213220752',1,'Administrador',2,'Fzgusr',0,'','2',0),(2,'rights','rights','20120214101401',1,'Administrador',2,'Fzgusr',0,'','\nfzgusr',0),(3,'patrol','patrol','20120214203255',1,'Administrador',0,'Página_principal',1,'','33\n32\n1',0),(4,'patrol','patrol','20120214203914',1,'Administrador',0,'Página_principal',1,'','34\n33\n1',0),(5,'patrol','patrol','20120306202211',1,'Administrador',0,'Página_principal',1,'','35\n34\n1',0),(6,'patrol','patrol','20120306203915',1,'Administrador',0,'Página_principal',1,'','36\n35\n1',0),(7,'patrol','patrol','20120306204053',1,'Administrador',0,'Página_principal',1,'','37\n36\n1',0),(8,'patrol','patrol','20120316013925',1,'Administrador',0,'Página_principal',1,'','38\n37\n1',0),(9,'patrol','patrol','20120316014812',1,'Administrador',0,'Página_principal',1,'','39\n38\n1',0),(10,'patrol','patrol','20120316015239',1,'Administrador',0,'Página_principal',1,'','40\n39\n1',0),(11,'patrol','patrol','20120317212922',1,'Administrador',0,'Página_principal',1,'','41\n40\n1',0),(12,'patrol','patrol','20120317214323',1,'Administrador',0,'Página_principal',1,'','42\n41\n1',0),(13,'patrol','patrol','20120317220820',1,'Administrador',0,'Página_principal',1,'','43\n42\n1',0),(14,'patrol','patrol','20120317221737',1,'Administrador',0,'Página_principal',1,'','44\n43\n1',0),(15,'patrol','patrol','20120328224953',1,'Administrador',0,'Página_principal',1,'','45\n44\n1',0),(16,'upload','upload','20120329164929',1,'Administrador',6,'FZG.DOCS.Procesos.Composicion.jpg',0,'','',0),(17,'upload','upload','20120329164959',1,'Administrador',6,'FZG.DOCS.Procesos.Precios.jpg',0,'','',0),(18,'upload','upload','20120329165020',1,'Administrador',6,'FZG.DOCS.Procesos.Presupuesto.jpg',0,'','',0),(19,'upload','upload','20120329165105',1,'Administrador',6,'FZG.DOCS.Procesos.Productos.jpg',0,'','',0),(20,'patrol','patrol','20120329165224',1,'Administrador',0,'Página_principal',1,'','50\n45\n1',0),(21,'patrol','patrol','20120329165328',1,'Administrador',0,'Página_principal',1,'','51\n50\n1',0),(22,'patrol','patrol','20120329165420',1,'Administrador',0,'Página_principal',1,'','52\n51\n1',0),(23,'patrol','patrol','20120329165516',1,'Administrador',0,'Página_principal',1,'','53\n52\n1',0),(24,'patrol','patrol','20120329170524',1,'Administrador',0,'Página_principal',1,'','54\n53\n1',0),(25,'upload','upload','20120329170632',1,'Administrador',6,'FZG.DOCS.Procesos.Ayuda.jpg',0,'','',0),(26,'patrol','patrol','20120329170707',1,'Administrador',0,'Página_principal',1,'','56\n54\n1',0),(27,'patrol','patrol','20120329170929',1,'Administrador',0,'Página_principal',1,'','57\n56\n1',0),(28,'patrol','patrol','20120329172835',1,'Administrador',0,'Página_principal',1,'','58\n57\n1',0),(29,'upload','upload','20120329204512',1,'Administrador',6,'FZG.DOCS.Pantalla.Presupuesto.jpg',0,'','',0),(30,'patrol','patrol','20120329204635',1,'Administrador',0,'Página_principal',1,'','60\n58\n1',0),(31,'patrol','patrol','20120329204911',1,'Administrador',0,'Página_principal',1,'','61\n60\n1',0),(32,'patrol','patrol','20120329205129',1,'Administrador',0,'Página_principal',1,'','62\n61\n1',0),(33,'patrol','patrol','20120728165027',1,'Administrador',0,'Página_principal',1,'','63\n62\n1',0),(34,'patrol','patrol','20120728171920',1,'Administrador',0,'Página_principal',1,'','64\n63\n1',0),(35,'patrol','patrol','20121008230642',1,'Administrador',0,'Página_principal',1,'','65\n64\n1',0),(36,'delete','delete','20121008232453',1,'Administrador',6,'FZG.DOCS.Procesos.Composicion.jpg',0,'','',0),(37,'delete','delete','20121008232519',1,'Administrador',6,'FZG.DOCS.Procesos.Precios.jpg',0,'','',0),(38,'delete','delete','20121008232545',1,'Administrador',6,'FZG.DOCS.Procesos.Presupuesto.jpg',0,'','',0),(39,'delete','delete','20121008232644',1,'Administrador',6,'FZG.DOCS.Pantalla.Presupuesto.jpg',0,'','',0),(40,'delete','delete','20121008232832',1,'Administrador',6,'FZG.DOCS.Procesos.Productos.jpg',0,'','',0),(41,'delete','delete','20121008232850',1,'Administrador',6,'FZG.DOCS.Procesos.Ayuda.jpg',0,'','',0),(42,'patrol','patrol','20121008233152',1,'Administrador',0,'Página_principal',1,'','66\n65\n1',0),(43,'upload','upload','20121008234221',1,'Administrador',6,'Bicycle_diagram-en.png',0,'','',0),(44,'patrol','patrol','20121008234555',1,'Administrador',0,'Página_principal',1,'','68\n66\n1',0),(45,'upload','upload','20121008234915',1,'Administrador',6,'Bicycle_diagram-es.png',0,'','',0),(46,'patrol','patrol','20121008235009',1,'Administrador',0,'Diagrama_(EN)',10,'','70\n0\n1',0),(47,'patrol','patrol','20121008235107',1,'Administrador',0,'Página_principal',1,'','71\n68\n1',0),(48,'patrol','patrol','20121008235125',1,'Administrador',0,'Diagrama_(ES)',11,'','72\n0\n1',0),(49,'patrol','patrol','20121008235231',1,'Administrador',0,'Diagrama_(EN)',10,'','73\n70\n1',0),(50,'patrol','patrol','20121008235254',1,'Administrador',0,'Página_principal',1,'','74\n71\n1',0),(51,'patrol','patrol','20121008235457',1,'Administrador',0,'Página_principal',1,'','75\n74\n1',0),(52,'patrol','patrol','20121009000906',1,'Administrador',0,'Página_principal',1,'','76\n75\n1',0),(53,'patrol','patrol','20121009000936',1,'Administrador',0,'Página_principal',1,'','77\n76\n1',0),(54,'patrol','patrol','20121009001019',1,'Administrador',0,'Página_principal',1,'','78\n77\n1',0),(55,'patrol','patrol','20121009001434',1,'Administrador',0,'Glosario_EN-ES',12,'','79\n0\n1',0),(56,'patrol','patrol','20121009235116',1,'Administrador',0,'Página_principal',1,'','80\n78\n1',0),(57,'patrol','patrol','20121009235139',1,'Administrador',0,'Página_principal',1,'','81\n80\n1',0),(58,'patrol','patrol','20121009235641',1,'Administrador',0,'Página_principal',1,'','82\n81\n1',0),(59,'patrol','patrol','20121009235753',1,'Administrador',0,'Página_principal',1,'','83\n82\n1',0),(60,'patrol','patrol','20121012232213',1,'Administrador',0,'Página_principal',1,'','84\n83\n1',0),(61,'patrol','patrol','20121114133422',1,'Administrador',0,'Página_principal',1,'','85\n84\n1',0),(62,'patrol','patrol','20121114133515',1,'Administrador',0,'Página_principal',1,'','86\n85\n1',0),(63,'patrol','patrol','20130124190523',1,'Administrador',0,'Página_principal',1,'','87\n86\n1',0),(64,'patrol','patrol','20130124190552',1,'Administrador',0,'Página_principal',1,'','88\n87\n1',0),(65,'patrol','patrol','20130124190956',1,'Administrador',0,'Página_principal',1,'','89\n88\n1',0),(66,'patrol','patrol','20130206132213',1,'Administrador',0,'Página_principal',1,'','90\n89\n1',0),(67,'patrol','patrol','20130206132426',1,'Administrador',0,'Página_principal',1,'','91\n90\n1',0),(68,'patrol','patrol','20130206132657',1,'Administrador',0,'Página_principal',1,'','92\n91\n1',0),(69,'patrol','patrol','20130320124703',1,'Administrador',0,'Página_principal',1,'','93\n92\n1',0),(70,'patrol','patrol','20130320125936',1,'Administrador',0,'Notas',13,'','94\n0\n1',0),(71,'patrol','patrol','20130320171041',1,'Administrador',0,'Notas',13,'','95\n94\n1',0),(72,'patrol','patrol','20130320171754',1,'Administrador',0,'Página_principal',1,'','96\n93\n1',0),(73,'patrol','patrol','20130320171854',1,'Administrador',0,'Página_principal',1,'','97\n96\n1',0),(74,'patrol','patrol','20130320172029',1,'Administrador',0,'Página_principal',1,'','98\n97\n1',0),(75,'patrol','patrol','20130320172133',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','99\n0\n1',0),(76,'patrol','patrol','20130320172218',1,'Administrador',0,'Página_principal',1,'','100\n98\n1',0),(77,'patrol','patrol','20130320172301',1,'Administrador',0,'Página_principal',1,'','101\n100\n1',0),(78,'patrol','patrol','20130320172415',1,'Administrador',0,'Notas_SCL_Electro',15,'','102\n0\n1',0),(79,'delete','delete','20130320172515',1,'Administrador',0,'Notas',0,'el contenido era: «__TOC__*SCL **Bicicletas ***Terrabike ****San Diego 896 - Coquimbo ****Cascos Raja= 19.990 - $259 - $416 ****Sab 10-15 ***BikeNew ****San Diego 802-...» (y el único autor fue «[[Special:Contributions/Administrador|Administrador]]»)','',0),(80,'patrol','patrol','20130320172652',1,'Administrador',0,'Notas_SCL_Informatica',16,'','103\n0\n1',0),(81,'patrol','patrol','20130320172920',1,'Administrador',0,'Notas_SCL_Varios',17,'','104\n0\n1',0),(82,'patrol','patrol','20130320175735',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','105\n99\n1',0),(83,'patrol','patrol','20130320175943',1,'Administrador',0,'Página_principal',1,'','106\n101\n1',0),(84,'patrol','patrol','20130320180031',1,'Administrador',0,'Página_principal',1,'','107\n106\n1',0),(85,'patrol','patrol','20130320180112',1,'Administrador',0,'Spanex_Mercado',18,'','108\n0\n1',0),(86,'patrol','patrol','20130320180155',1,'Administrador',0,'Spanex_Competencia',19,'','109\n0\n1',0),(87,'patrol','patrol','20130320180352',1,'Administrador',0,'Página_principal',1,'','110\n107\n1',0),(88,'patrol','patrol','20130320180423',1,'Administrador',0,'TourConsultants_República_Checa',20,'','111\n0\n1',0),(89,'patrol','patrol','20130320180512',1,'Administrador',0,'TourConsultants_Francia',21,'','112\n0\n1',0),(90,'patrol','patrol','20130320180651',1,'Administrador',0,'TourConsultants_Francia',21,'','113\n112\n1',0),(91,'patrol','patrol','20130320180804',1,'Administrador',0,'TourConsultants_Francia',21,'','114\n113\n1',0),(92,'patrol','patrol','20130320180833',1,'Administrador',0,'TourConsultants_Francia',21,'','115\n114\n1',0),(93,'patrol','patrol','20130320181617',1,'Administrador',0,'Página_principal',1,'','116\n110\n1',0),(94,'patrol','patrol','20130320184211',1,'Administrador',0,'SAS_Pendientes',22,'','117\n0\n1',0),(95,'patrol','patrol','20130320184228',1,'Administrador',0,'SAS_Pendientes',22,'','118\n117\n1',0),(96,'patrol','patrol','20130320184246',1,'Administrador',0,'SAS_Pendientes',22,'','119\n118\n1',0),(97,'patrol','patrol','20130320184312',1,'Administrador',0,'SAS_Pendientes',22,'','120\n119\n1',0),(98,'patrol','patrol','20130320184346',1,'Administrador',0,'Página_principal',1,'','121\n116\n1',0),(99,'patrol','patrol','20130320184717',1,'Administrador',0,'SAS_MD_Data',23,'','122\n0\n1',0),(100,'patrol','patrol','20130320184747',1,'Administrador',0,'SAS_MD_Data',23,'','123\n122\n1',0),(101,'patrol','patrol','20130320184945',1,'Administrador',0,'SAS_MD_Data',23,'','124\n123\n1',0),(102,'patrol','patrol','20130320185305',1,'Administrador',0,'SAS_MD_Data',23,'','125\n124\n1',0),(103,'patrol','patrol','20130320185501',1,'Administrador',0,'SAS_MD_Data',23,'','126\n125\n1',0),(104,'patrol','patrol','20130320185934',1,'Administrador',0,'SAS_MD_Data',23,'','127\n126\n1',0),(105,'patrol','patrol','20130320190305',1,'Administrador',0,'SAS_MD_Data',23,'','128\n127\n1',0),(106,'patrol','patrol','20130320192341',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','129\n105\n1',0),(107,'patrol','patrol','20130320194624',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','130\n129\n1',0),(108,'patrol','patrol','20130320194646',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','131\n130\n1',0),(109,'patrol','patrol','20130321101007',1,'Administrador',0,'Notas_SCL_Varios',17,'','132\n104\n1',0),(110,'patrol','patrol','20130321115228',1,'Administrador',0,'Página_principal',1,'','133\n121\n1',0),(111,'patrol','patrol','20130321115307',1,'Administrador',0,'Página_principal',1,'','134\n133\n1',0),(112,'patrol','patrol','20130321115331',1,'Administrador',0,'Página_principal',1,'','135\n134\n1',0),(113,'patrol','patrol','20130321115430',1,'Administrador',0,'Página_principal',1,'','136\n135\n1',0),(114,'patrol','patrol','20130321115510',1,'Administrador',0,'Página_principal',1,'','137\n136\n1',0),(115,'patrol','patrol','20130321115549',1,'Administrador',0,'Página_principal',1,'','138\n137\n1',0),(116,'patrol','patrol','20130321115601',1,'Administrador',0,'Mantenimiento',24,'','139\n0\n1',0),(117,'delete','delete','20130321115616',1,'Administrador',0,'Mantenimiento',0,'el contenido era: «Las revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las...» (y el único autor fue «[[Special:Contributions/Administrador|Administrador]]»)','',0),(118,'patrol','patrol','20130321115651',1,'Administrador',0,'Página_principal',1,'','140\n138\n1',0),(119,'patrol','patrol','20130321115707',1,'Administrador',0,'Bicicletas_Mantenimiento',25,'','141\n0\n1',0),(120,'patrol','patrol','20130321115731',1,'Administrador',0,'Página_principal',1,'','142\n140\n1',0),(121,'patrol','patrol','20130321115853',1,'Administrador',0,'Página_principal',1,'','143\n142\n1',0),(122,'patrol','patrol','20130321115927',1,'Administrador',0,'Página_principal',1,'','144\n143\n1',0),(123,'patrol','patrol','20130321120038',1,'Administrador',0,'Bicicletas_Tiendas',26,'','145\n0\n1',0),(124,'patrol','patrol','20130321120610',1,'Administrador',0,'Bicicletas_Tiendas',26,'','146\n145\n1',0),(125,'patrol','patrol','20130321120641',1,'Administrador',0,'Bicicletas_Tiendas',26,'','147\n146\n1',0),(126,'patrol','patrol','20130321120816',1,'Administrador',0,'Bicicletas_Tiendas',26,'','148\n147\n1',0),(127,'patrol','patrol','20130321121624',1,'Administrador',0,'Bicicletas_Tiendas',26,'','149\n148\n1',0),(128,'patrol','patrol','20130321122300',1,'Administrador',0,'Bicicletas_Tiendas',26,'','150\n149\n1',0),(129,'patrol','patrol','20130321124545',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','151\n131\n1',0),(130,'patrol','patrol','20130321130909',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','152\n151\n1',0),(131,'patrol','patrol','20130321204835',1,'Administrador',0,'SAS_MD_Data',23,'','153\n128\n1',0),(132,'patrol','patrol','20130321205246',1,'Administrador',0,'SAS_MD_Data',23,'','154\n153\n1',0),(133,'patrol','patrol','20130321210105',1,'Administrador',0,'SAS_MD_Data',23,'','155\n154\n1',0),(134,'patrol','patrol','20130415171227',1,'Administrador',0,'SAS_Pendientes',22,'','156\n120\n1',0),(135,'patrol','patrol','20130730030641',1,'Administrador',0,'Página_principal',1,'','157\n144\n1',0),(136,'patrol','patrol','20130730030852',1,'Administrador',0,'SAS_ZZ_Data',27,'','158\n0\n1',0),(137,'patrol','patrol','20130804153947',1,'Administrador',0,'Notas_SCL_Varios',17,'','159\n132\n1',0),(138,'patrol','patrol','20130804154014',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','160\n152\n1',0),(139,'patrol','patrol','20130804154052',1,'Administrador',0,'Notas_SCL_Electro',15,'','161\n102\n1',0),(140,'patrol','patrol','20130804154114',1,'Administrador',0,'Notas_SCL_Informatica',16,'','162\n103\n1',0),(141,'patrol','patrol','20130805180605',1,'Administrador',0,'SAS_ZZ_Data',27,'','163\n158\n1',0),(142,'patrol','patrol','20130830123512',1,'Administrador',0,'Página_principal',1,'','164\n157\n1',0),(143,'patrol','patrol','20130830124627',1,'Administrador',0,'Mecánica',28,'','165\n0\n1',0),(144,'patrol','patrol','20130830124716',1,'Administrador',0,'Mecánica',28,'','166\n165\n1',0),(145,'patrol','patrol','20130830125722',1,'Administrador',0,'Mecánica',28,'','167\n166\n1',0),(146,'upload','upload','20130830130239',1,'Administrador',6,'Geometria.Cuadro.Bicicleta.png',0,'','',0),(147,'patrol','patrol','20130830130630',1,'Administrador',0,'Mecánica',28,'','169\n167\n1',0),(148,'upload','upload','20130830132424',1,'Administrador',6,'Bicicletas.Diagrama.Stem.png',0,'','',0),(149,'patrol','patrol','20130830132521',1,'Administrador',0,'Mecánica',28,'','171\n169\n1',0),(150,'patrol','patrol','20130830132649',1,'Administrador',0,'Mecánica',28,'','172\n171\n1',0),(151,'patrol','patrol','20130830132735',1,'Administrador',0,'Mecánica',28,'','173\n172\n1',0),(152,'patrol','patrol','20130830132827',1,'Administrador',0,'Mecánica',28,'','174\n173\n1',0),(153,'patrol','patrol','20130830132847',1,'Administrador',0,'Mecánica',28,'','175\n174\n1',0),(154,'patrol','patrol','20130830132914',1,'Administrador',0,'Mecánica',28,'','176\n175\n1',0),(155,'patrol','patrol','20130830133508',1,'Administrador',0,'Mecánica',28,'','177\n176\n1',0),(156,'patrol','patrol','20130830134412',1,'Administrador',0,'Mecánica',28,'','178\n177\n1',0),(157,'patrol','patrol','20130830134443',1,'Administrador',0,'Mecánica',28,'','179\n178\n1',0),(158,'patrol','patrol','20130830134655',1,'Administrador',0,'Mecánica',28,'','180\n179\n1',0),(159,'patrol','patrol','20130830134851',1,'Administrador',0,'Mecánica',28,'','181\n180\n1',0),(160,'patrol','patrol','20130830135125',1,'Administrador',0,'Mecánica',28,'','182\n181\n1',0),(161,'upload','upload','20130831113154',1,'Administrador',6,'Bicicletas.Fusible.jpg',0,'','',0),(162,'patrol','patrol','20130831113231',1,'Administrador',0,'Mecánica',28,'','184\n182\n1',0),(163,'patrol','patrol','20130831113319',1,'Administrador',0,'Mecánica',28,'','185\n184\n1',0),(164,'patrol','patrol','20130902192146',1,'Administrador',0,'Mecánica',28,'','186\n185\n1',0),(165,'patrol','patrol','20130906213134',1,'Administrador',0,'SAS_ZZ_Data',27,'','187\n163\n1',0),(166,'patrol','patrol','20130917012221',1,'Administrador',0,'Mecánica',28,'','188\n186\n1',0),(167,'patrol','patrol','20130917014042',1,'Administrador',0,'Mecánica',28,'','189\n188\n1',0),(168,'patrol','patrol','20130917014126',1,'Administrador',0,'Mecánica',28,'','190\n189\n1',0),(169,'patrol','patrol','20130917014447',1,'Administrador',0,'Mecánica',28,'','191\n190\n1',0),(170,'patrol','patrol','20130926095247',1,'Administrador',0,'Página_principal',1,'','192\n164\n1',0),(171,'patrol','patrol','20130926095453',1,'Administrador',0,'Mercado',32,'','193\n0\n1',0),(172,'patrol','patrol','20130926095749',1,'Administrador',0,'Mercado',32,'','194\n193\n1',0),(173,'patrol','patrol','20130926101336',1,'Administrador',0,'Mercado',32,'','195\n194\n1',0),(174,'patrol','patrol','20130926101621',1,'Administrador',0,'Mercado',32,'','196\n195\n1',0),(175,'patrol','patrol','20130926101649',1,'Administrador',0,'Mercado',32,'','197\n196\n1',0),(176,'patrol','patrol','20130926101840',1,'Administrador',0,'Mercado',32,'','198\n197\n1',0),(177,'patrol','patrol','20130926111908',1,'Administrador',0,'Mercado',32,'','199\n198\n1',0),(178,'patrol','patrol','20130926112000',1,'Administrador',0,'Mercado',32,'','200\n199\n1',0),(179,'patrol','patrol','20130926112015',1,'Administrador',0,'Mercado',32,'','201\n200\n1',0),(180,'patrol','patrol','20130926112226',1,'Administrador',0,'SAS_Pendientes',22,'','202\n156\n1',0),(181,'patrol','patrol','20130926112355',1,'Administrador',0,'Mercado',32,'','203\n201\n1',0),(182,'patrol','patrol','20130926112905',1,'Administrador',0,'Templates',33,'','204\n0\n1',0),(183,'patrol','patrol','20130926112938',1,'Administrador',0,'Templates',33,'','205\n204\n1',0),(184,'patrol','patrol','20130926113606',1,'Administrador',0,'Mercado',32,'','206\n203\n1',0),(185,'delete','delete','20130926113639',1,'Administrador',0,'Bicicletas_Tiendas',0,'el contenido era: «*HappyBuy<br>http://www.happybuyargentina.com/<br>Av Scalabrini Ortiz 361<br>011.4857.2467<br>011.4856.8913<br>[mailto:happy.buy.arg@gmail.com happy...» (y el único autor fue «[[Special:Contributions/Administrador|Administrador]]»)','',0),(186,'move','move','20130926114138',1,'Administrador',0,'Bicicletas_Mantenimiento',0,'','Sugerencias Mantenimiento\n1',0),(187,'patrol','patrol','20130926114236',1,'Administrador',0,'Página_principal',1,'','208\n192\n1',0),(188,'patrol','patrol','20130926114300',1,'Administrador',0,'Página_principal',1,'','209\n208\n1',0),(189,'patrol','patrol','20130926114348',1,'Administrador',0,'Página_principal',1,'','210\n209\n1',0),(190,'move','move','20130926114636',1,'Administrador',0,'Mecánica',0,'','Curso Mecánica\n1',0),(191,'patrol','patrol','20130926114658',1,'Administrador',0,'Página_principal',1,'','212\n210\n1',0),(192,'patrol','patrol','20130926115444',1,'Administrador',0,'Templates',33,'','213\n205\n1',0),(193,'patrol','patrol','20130926153815',1,'Administrador',0,'Mercado',32,'','214\n206\n1',0),(194,'patrol','patrol','20130926154145',1,'Administrador',0,'Mercado',32,'','215\n214\n1',0),(195,'patrol','patrol','20130926154502',1,'Administrador',0,'Mercado',32,'','216\n215\n1',0),(196,'patrol','patrol','20130926154617',1,'Administrador',0,'Mercado',32,'','217\n216\n1',0),(197,'patrol','patrol','20130926160156',1,'Administrador',0,'Mercado',32,'','218\n217\n1',0),(198,'patrol','patrol','20130926160339',1,'Administrador',0,'Mercado',32,'','219\n218\n1',0),(199,'patrol','patrol','20130926160702',1,'Administrador',0,'Mercado',32,'','220\n219\n1',0),(200,'patrol','patrol','20130926161424',1,'Administrador',0,'Mercado',32,'','221\n220\n1',0),(201,'patrol','patrol','20130930193444',1,'Administrador',0,'Mercado',32,'','222\n221\n1',0),(202,'patrol','patrol','20130930194153',1,'Administrador',0,'Mercado',32,'','223\n222\n1',0),(203,'patrol','patrol','20130930194326',1,'Administrador',0,'Mercado',32,'','224\n223\n1',0),(204,'patrol','patrol','20130930194515',1,'Administrador',0,'Mercado',32,'','225\n224\n1',0),(205,'patrol','patrol','20130930195814',1,'Administrador',0,'Mercado',32,'','226\n225\n1',0),(206,'patrol','patrol','20131001201620',1,'Administrador',0,'Diagrama_(ES)',11,'','227\n72\n1',0),(207,'patrol','patrol','20131001202014',1,'Administrador',0,'Diagrama_(ES)',11,'','228\n227\n1',0),(208,'patrol','patrol','20131001202114',1,'Administrador',0,'Diagrama_(ES)',11,'','229\n228\n1',0),(209,'upload','upload','20131001202201',1,'Administrador',6,'Bicicleta.Despiece.jpg',0,'','',0),(210,'patrol','patrol','20131001202439',1,'Administrador',0,'Diagrama_(ES)',11,'','231\n229\n1',0),(211,'patrol','patrol','20131001213830',1,'Administrador',0,'Glosario_EN-ES',12,'','232\n79\n1',0),(212,'move','move','20131001213910',1,'Administrador',0,'Glosario_EN-ES',0,'','Glosario ES-EN-FR\n1',0),(213,'patrol','patrol','20131001213941',1,'Administrador',0,'Página_principal',1,'','234\n212\n1',0),(214,'patrol','patrol','20131001214100',1,'Administrador',0,'Glosario_ES-EN-FR',12,'','235\n233\n1',0),(215,'patrol','patrol','20131001233238',1,'Administrador',0,'Mercado',32,'','236\n226\n1',0),(216,'patrol','patrol','20131001233319',1,'Administrador',0,'Mercado',32,'','237\n236\n1',0),(217,'patrol','patrol','20131001233551',1,'Administrador',0,'Mercado',32,'','238\n237\n1',0),(218,'patrol','patrol','20131001233606',1,'Administrador',0,'Mercado',32,'','239\n238\n1',0),(219,'patrol','patrol','20131002014844',1,'Administrador',0,'Templates',33,'','240\n213\n1',0),(220,'patrol','patrol','20131016181730',1,'Administrador',0,'Curso_Mecánica',28,'','241\n211\n1',0),(221,'patrol','patrol','20131016182044',1,'Administrador',0,'Curso_Mecánica',28,'','242\n241\n1',0),(222,'patrol','patrol','20131016182130',1,'Administrador',0,'Curso_Mecánica',28,'','243\n242\n1',0),(223,'patrol','patrol','20131018124625',1,'Administrador',0,'Curso_Mecánica',28,'','244\n243\n1',0),(224,'patrol','patrol','20131022111149',1,'Administrador',0,'Mercado',32,'','245\n239\n1',0),(225,'patrol','patrol','20131022111332',1,'Administrador',0,'Mercado',32,'','246\n245\n1',0),(226,'patrol','patrol','20131024095640',1,'Administrador',0,'Curso_Mecánica',28,'','247\n244\n1',0),(227,'patrol','patrol','20131025155326',1,'Administrador',0,'Curso_Mecánica',28,'','248\n247\n1',0),(228,'upload','upload','20131025155621',1,'Administrador',6,'Checked.png',0,'','',0),(229,'patrol','patrol','20131025160412',1,'Administrador',0,'Curso_Mecánica',28,'','250\n248\n1',0),(230,'patrol','patrol','20131025160456',1,'Administrador',0,'Curso_Mecánica',28,'','251\n250\n1',0),(231,'patrol','patrol','20131203133722',1,'Administrador',0,'Mercado',32,'','252\n246\n1',0),(232,'patrol','patrol','20140106184755',1,'Administrador',0,'Página_principal',1,'','253\n234\n1',0),(233,'patrol','patrol','20140106184831',1,'Administrador',0,'Página_principal',1,'','254\n253\n1',0),(234,'patrol','patrol','20140106185428',1,'Administrador',0,'SAS_AA_Data',36,'','255\n0\n1',0),(235,'patrol','patrol','20140215132757',1,'Administrador',0,'Página_principal',1,'','256\n254\n1',0),(236,'move','move','20140215133112',1,'Administrador',0,'Curso_Mecánica',37,'Reorganizacion. 20140215','Curso Mecánica - 1º\n',0),(237,'patrol','patrol','20140215135641',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','259\n0\n1',0),(238,'patrol','patrol','20140215181106',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','260\n259\n1',0),(239,'patrol','patrol','20140215201813',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','261\n260\n1',0),(240,'patrol','patrol','20140215214604',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','262\n261\n1',0),(241,'patrol','patrol','20140217212557',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','263\n262\n1',0),(242,'patrol','patrol','20140217212629',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','264\n263\n1',0),(243,'patrol','patrol','20140217212721',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','265\n264\n1',0),(244,'patrol','patrol','20140217213033',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','266\n265\n1',0),(245,'patrol','patrol','20140217213152',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','267\n266\n1',0),(246,'patrol','patrol','20140217213413',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','268\n267\n1',0),(247,'patrol','patrol','20140217213718',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','269\n268\n1',0),(248,'patrol','patrol','20140221183927',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','270\n269\n1',0),(249,'patrol','patrol','20140221185205',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','271\n270\n1',0),(250,'patrol','patrol','20140221185911',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','272\n271\n1',0),(251,'patrol','patrol','20140221191210',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','273\n272\n1',0),(252,'patrol','patrol','20140226093406',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','274\n273\n1',0),(253,'patrol','patrol','20140226111722',1,'Administrador',0,'Página_principal',1,'','275\n256\n1',0),(254,'patrol','patrol','20140226111857',1,'Administrador',0,'Página_principal',1,'','276\n275\n1',0),(255,'patrol','patrol','20140226113315',1,'Administrador',0,'911Project_Lista_Compras',39,'','277\n0\n1',0),(256,'patrol','patrol','20140226114723',1,'Administrador',0,'911Project_Lista_Compras',39,'','278\n277\n1',0),(257,'patrol','patrol','20140226115458',1,'Administrador',0,'911Project_Lista_Compras',39,'','279\n278\n1',0),(258,'patrol','patrol','20140226125952',1,'Administrador',0,'911Project_Lista_Compras',39,'','280\n279\n1',0),(259,'patrol','patrol','20140226130541',1,'Administrador',0,'911Project_Lista_Compras',39,'','281\n280\n1',0),(260,'patrol','patrol','20140226160534',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','282\n274\n1',0),(261,'patrol','patrol','20140226160913',1,'Administrador',0,'911Project_Lista_Compras',39,'','283\n281\n1',0),(262,'patrol','patrol','20140226163128',1,'Administrador',0,'911Project_Lista_Compras',39,'','284\n283\n1',0),(263,'delete','delete','20140301115751',1,'Administrador',0,'Notas_SCL_Informatica',0,'El contenido antes de blanquear era: «*Samsung NP-NC110P **CL: $1500 ($2407) **AR: $2700 en 12 *Acer I3 **CL: $2300 ($3686) **AR: $5100 *Dell 14 I3 **CL: $2500 ($4007) **AR: $5800 *Galaxy Tab II **CL: $1800 ($2800) **AR: $3300 *Router **DLINK 600 **...»','',0),(264,'delete','delete','20140301115812',1,'Administrador',0,'Notas_SCL_Varios',0,'El contenido antes de blanquear era: «*Mochilas *Bolsos **Bicicleta **Rollers *Camaras  **D3100 ***CL: $3.500 (5.617) ***AR: $7.692 **D3200 ***CL:$5.300 (8.506) ***AR:$9.590 **D5100 ***CL:$5.000 (8.025) ***AR:$9.552 *Porta Paquete Tubo *PortaEquipaj...»','',0),(265,'delete','delete','20140301115847',1,'Administrador',0,'Notas_SCL_Electro',0,'El contenido antes de blanquear era: «*Batidores  **Philips ***AR: 379 ***AR: 479/554  *Batidora Manual / de Mesa **Liliana ***AR: >300 *Trituradora  *Ventilador  **Combi (Paris) ***CL: 200»','',0),(266,'patrol','patrol','20140301120257',1,'Administrador',0,'SAS_MD_Data',23,'','285\n155\n1',0),(267,'patrol','patrol','20140301121042',1,'Administrador',0,'SAS_MD_Data',23,'','286\n285\n1',0),(268,'patrol','patrol','20140301121445',1,'Administrador',0,'Página_principal',1,'','287\n276\n1',0),(269,'patrol','patrol','20140301121627',1,'Administrador',0,'Página_principal',1,'','288\n287\n1',0),(270,'patrol','patrol','20140301160143',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','289\n282\n1',0),(271,'patrol','patrol','20140301170553',1,'Administrador',0,'Curso_Mecánica_-_2º',38,'','290\n289\n1',0),(272,'patrol','patrol','20140302004135',1,'Administrador',0,'Bicicletas.Horquillas.Mantenimiento',40,'','291\n0\n1',0),(273,'patrol','patrol','20140302004159',1,'Administrador',0,'Bicicletas.Horquillas.Mantenimiento',40,'','292\n291\n1',0),(274,'patrol','patrol','20140302004255',1,'Administrador',0,'Bicicletas.Horquillas.Mantenimiento',40,'','293\n292\n1',0),(275,'patrol','patrol','20140303143343',1,'Administrador',0,'911Project_Lista_Compras',39,'','294\n284\n1',0),(276,'patrol','patrol','20140303143456',1,'Administrador',0,'Página_principal',1,'','295\n288\n1',0),(277,'patrol','patrol','20140303143704',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','296\n160\n1',0),(278,'patrol','patrol','20140303144126',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','297\n296\n1',0),(279,'patrol','patrol','20140303144151',1,'Administrador',0,'Notas_SCL_Bicicletas',14,'','298\n297\n1',0),(280,'patrol','patrol','20140303160812',1,'Administrador',0,'911Project_Lista_Compras',39,'','299\n294\n1',0);
/*!40000 ALTER TABLE `pvt_logging` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_querycachetwo`
--

DROP TABLE IF EXISTS `peg_querycachetwo`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_querycachetwo` (
  `qcc_type` varbinary(32) NOT NULL,
  `qcc_value` int(10) unsigned NOT NULL default '0',
  `qcc_namespace` int(11) NOT NULL default '0',
  `qcc_title` varbinary(255) NOT NULL default '',
  `qcc_namespacetwo` int(11) NOT NULL default '0',
  `qcc_titletwo` varbinary(255) NOT NULL default '',
  KEY `qcc_type` (`qcc_type`,`qcc_value`),
  KEY `qcc_title` (`qcc_type`,`qcc_namespace`,`qcc_title`),
  KEY `qcc_titletwo` (`qcc_type`,`qcc_namespacetwo`,`qcc_titletwo`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_querycachetwo`
--

LOCK TABLES `peg_querycachetwo` WRITE;
/*!40000 ALTER TABLE `peg_querycachetwo` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_querycachetwo` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_updatelog`
--

DROP TABLE IF EXISTS `peg_updatelog`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_updatelog` (
  `ul_key` varbinary(255) NOT NULL,
  `ul_value` blob,
  PRIMARY KEY  (`ul_key`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_updatelog`
--

LOCK TABLES `peg_updatelog` WRITE;
/*!40000 ALTER TABLE `peg_updatelog` DISABLE KEYS */;
INSERT INTO `peg_updatelog` VALUES ('cl_fields_update',NULL),('convert transcache field',NULL),('mime_minor_length',NULL),('populate category',NULL),('populate rev_len',NULL),('populate rev_parent_id',NULL),('updatelist-1.18.0-1326307257','a:0:{}'),('updatelist-1.18.0-1326328858','a:137:{i:0;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:6:\"ipb_id\";i:3;s:18:\"patch-ipblocks.sql\";}i:1;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:10:\"ipb_expiry\";i:3;s:20:\"patch-ipb_expiry.sql\";}i:2;a:1:{i:0;s:17:\"doInterwikiUpdate\";}i:3;a:1:{i:0;s:13:\"doIndexUpdate\";}i:4;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"hitcounter\";i:2;s:20:\"patch-hitcounter.sql\";}i:5;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:7:\"rc_type\";i:3;s:17:\"patch-rc_type.sql\";}i:6;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:14:\"user_real_name\";i:3;s:23:\"patch-user-realname.sql\";}i:7;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"querycache\";i:2;s:20:\"patch-querycache.sql\";}i:8;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"objectcache\";i:2;s:21:\"patch-objectcache.sql\";}i:9;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"categorylinks\";i:2;s:23:\"patch-categorylinks.sql\";}i:10;a:1:{i:0;s:16:\"doOldLinksUpdate\";}i:11;a:1:{i:0;s:22:\"doFixAncientImagelinks\";}i:12;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:5:\"rc_ip\";i:3;s:15:\"patch-rc_ip.sql\";}i:13;a:4:{i:0;s:8:\"addIndex\";i:1;s:5:\"image\";i:2;s:7:\"PRIMARY\";i:3;s:28:\"patch-image_name_primary.sql\";}i:14;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:5:\"rc_id\";i:3;s:15:\"patch-rc_id.sql\";}i:15;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:12:\"rc_patrolled\";i:3;s:19:\"patch-rc-patrol.sql\";}i:16;a:3:{i:0;s:8:\"addTable\";i:1;s:7:\"logging\";i:2;s:17:\"patch-logging.sql\";}i:17;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:10:\"user_token\";i:3;s:20:\"patch-user_token.sql\";}i:18;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"watchlist\";i:2;s:24:\"wl_notificationtimestamp\";i:3;s:28:\"patch-email-notification.sql\";}i:19;a:1:{i:0;s:17:\"doWatchlistUpdate\";}i:20;a:4:{i:0;s:9:\"dropField\";i:1;s:4:\"user\";i:2;s:33:\"user_emailauthenticationtimestamp\";i:3;s:30:\"patch-email-authentication.sql\";}i:21;a:1:{i:0;s:21:\"doSchemaRestructuring\";}i:22;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:10:\"log_params\";i:3;s:20:\"patch-log_params.sql\";}i:23;a:4:{i:0;s:8:\"checkBin\";i:1;s:7:\"logging\";i:2;s:9:\"log_title\";i:3;s:23:\"patch-logging-title.sql\";}i:24;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:9:\"ar_rev_id\";i:3;s:24:\"patch-archive-rev_id.sql\";}i:25;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"page\";i:2;s:8:\"page_len\";i:3;s:18:\"patch-page_len.sql\";}i:26;a:4:{i:0;s:9:\"dropField\";i:1;s:8:\"revision\";i:2;s:17:\"inverse_timestamp\";i:3;s:27:\"patch-inverse_timestamp.sql\";}i:27;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:11:\"rev_text_id\";i:3;s:21:\"patch-rev_text_id.sql\";}i:28;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:11:\"rev_deleted\";i:3;s:21:\"patch-rev_deleted.sql\";}i:29;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:9:\"img_width\";i:3;s:19:\"patch-img_width.sql\";}i:30;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:12:\"img_metadata\";i:3;s:22:\"patch-img_metadata.sql\";}i:31;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:16:\"user_email_token\";i:3;s:26:\"patch-user_email_token.sql\";}i:32;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:10:\"ar_text_id\";i:3;s:25:\"patch-archive-text_id.sql\";}i:33;a:1:{i:0;s:15:\"doNamespaceSize\";}i:34;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:14:\"img_media_type\";i:3;s:24:\"patch-img_media_type.sql\";}i:35;a:1:{i:0;s:17:\"doPagelinksUpdate\";}i:36;a:4:{i:0;s:9:\"dropField\";i:1;s:5:\"image\";i:2;s:8:\"img_type\";i:3;s:23:\"patch-drop_img_type.sql\";}i:37;a:1:{i:0;s:18:\"doUserUniqueUpdate\";}i:38;a:1:{i:0;s:18:\"doUserGroupsUpdate\";}i:39;a:4:{i:0;s:8:\"addField\";i:1;s:10:\"site_stats\";i:2;s:14:\"ss_total_pages\";i:3;s:27:\"patch-ss_total_articles.sql\";}i:40;a:3:{i:0;s:8:\"addTable\";i:1;s:12:\"user_newtalk\";i:2;s:22:\"patch-usernewtalk2.sql\";}i:41;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"transcache\";i:2;s:20:\"patch-transcache.sql\";}i:42;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"interwiki\";i:2;s:8:\"iw_trans\";i:3;s:25:\"patch-interwiki-trans.sql\";}i:43;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"trackbacks\";i:2;s:20:\"patch-trackbacks.sql\";}i:44;a:1:{i:0;s:15:\"doWatchlistNull\";}i:45;a:4:{i:0;s:8:\"addIndex\";i:1;s:7:\"logging\";i:2;s:5:\"times\";i:3;s:29:\"patch-logging-times-index.sql\";}i:46;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:15:\"ipb_range_start\";i:3;s:25:\"patch-ipb_range_start.sql\";}i:47;a:1:{i:0;s:18:\"doPageRandomUpdate\";}i:48;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:17:\"user_registration\";i:3;s:27:\"patch-user_registration.sql\";}i:49;a:1:{i:0;s:21:\"doTemplatelinksUpdate\";}i:50;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"externallinks\";i:2;s:23:\"patch-externallinks.sql\";}i:51;a:3:{i:0;s:8:\"addTable\";i:1;s:3:\"job\";i:2;s:13:\"patch-job.sql\";}i:52;a:4:{i:0;s:8:\"addField\";i:1;s:10:\"site_stats\";i:2;s:9:\"ss_images\";i:3;s:19:\"patch-ss_images.sql\";}i:53;a:3:{i:0;s:8:\"addTable\";i:1;s:9:\"langlinks\";i:2;s:19:\"patch-langlinks.sql\";}i:54;a:3:{i:0;s:8:\"addTable\";i:1;s:15:\"querycache_info\";i:2;s:24:\"patch-querycacheinfo.sql\";}i:55;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"filearchive\";i:2;s:21:\"patch-filearchive.sql\";}i:56;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:13:\"ipb_anon_only\";i:3;s:23:\"patch-ipb_anon_only.sql\";}i:57;a:4:{i:0;s:8:\"addIndex\";i:1;s:13:\"recentchanges\";i:2;s:14:\"rc_ns_usertext\";i:3;s:31:\"patch-recentchanges-utindex.sql\";}i:58;a:4:{i:0;s:8:\"addIndex\";i:1;s:13:\"recentchanges\";i:2;s:12:\"rc_user_text\";i:3;s:28:\"patch-rc_user_text-index.sql\";}i:59;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:17:\"user_newpass_time\";i:3;s:27:\"patch-user_newpass_time.sql\";}i:60;a:3:{i:0;s:8:\"addTable\";i:1;s:8:\"redirect\";i:2;s:18:\"patch-redirect.sql\";}i:61;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"querycachetwo\";i:2;s:23:\"patch-querycachetwo.sql\";}i:62;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:20:\"ipb_enable_autoblock\";i:3;s:32:\"patch-ipb_optional_autoblock.sql\";}i:63;a:1:{i:0;s:26:\"doBacklinkingIndicesUpdate\";}i:64;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:10:\"rc_old_len\";i:3;s:16:\"patch-rc_len.sql\";}i:65;a:4:{i:0;s:8:\"addField\";i:1;s:4:\"user\";i:2;s:14:\"user_editcount\";i:3;s:24:\"patch-user_editcount.sql\";}i:66;a:1:{i:0;s:20:\"doRestrictionsUpdate\";}i:67;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:6:\"log_id\";i:3;s:16:\"patch-log_id.sql\";}i:68;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:13:\"rev_parent_id\";i:3;s:23:\"patch-rev_parent_id.sql\";}i:69;a:4:{i:0;s:8:\"addField\";i:1;s:17:\"page_restrictions\";i:2;s:5:\"pr_id\";i:3;s:35:\"patch-page_restrictions_sortkey.sql\";}i:70;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"revision\";i:2;s:7:\"rev_len\";i:3;s:17:\"patch-rev_len.sql\";}i:71;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"recentchanges\";i:2;s:10:\"rc_deleted\";i:3;s:20:\"patch-rc_deleted.sql\";}i:72;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:11:\"log_deleted\";i:3;s:21:\"patch-log_deleted.sql\";}i:73;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:10:\"ar_deleted\";i:3;s:20:\"patch-ar_deleted.sql\";}i:74;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:11:\"ipb_deleted\";i:3;s:21:\"patch-ipb_deleted.sql\";}i:75;a:4:{i:0;s:8:\"addField\";i:1;s:11:\"filearchive\";i:2;s:10:\"fa_deleted\";i:3;s:20:\"patch-fa_deleted.sql\";}i:76;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:6:\"ar_len\";i:3;s:16:\"patch-ar_len.sql\";}i:77;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:15:\"ipb_block_email\";i:3;s:22:\"patch-ipb_emailban.sql\";}i:78;a:1:{i:0;s:28:\"doCategorylinksIndicesUpdate\";}i:79;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"oldimage\";i:2;s:11:\"oi_metadata\";i:3;s:21:\"patch-oi_metadata.sql\";}i:80;a:4:{i:0;s:8:\"addIndex\";i:1;s:7:\"archive\";i:2;s:18:\"usertext_timestamp\";i:3;s:28:\"patch-archive-user-index.sql\";}i:81;a:4:{i:0;s:8:\"addIndex\";i:1;s:5:\"image\";i:2;s:22:\"img_usertext_timestamp\";i:3;s:26:\"patch-image-user-index.sql\";}i:82;a:4:{i:0;s:8:\"addIndex\";i:1;s:8:\"oldimage\";i:2;s:21:\"oi_usertext_timestamp\";i:3;s:29:\"patch-oldimage-user-index.sql\";}i:83;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:10:\"ar_page_id\";i:3;s:25:\"patch-archive-page_id.sql\";}i:84;a:4:{i:0;s:8:\"addField\";i:1;s:5:\"image\";i:2;s:8:\"img_sha1\";i:3;s:18:\"patch-img_sha1.sql\";}i:85;a:3:{i:0;s:8:\"addTable\";i:1;s:16:\"protected_titles\";i:2;s:26:\"patch-protected_titles.sql\";}i:86;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:11:\"ipb_by_text\";i:3;s:21:\"patch-ipb_by_text.sql\";}i:87;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"page_props\";i:2;s:20:\"patch-page_props.sql\";}i:88;a:3:{i:0;s:8:\"addTable\";i:1;s:9:\"updatelog\";i:2;s:19:\"patch-updatelog.sql\";}i:89;a:3:{i:0;s:8:\"addTable\";i:1;s:8:\"category\";i:2;s:18:\"patch-category.sql\";}i:90;a:1:{i:0;s:20:\"doCategoryPopulation\";}i:91;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"archive\";i:2;s:12:\"ar_parent_id\";i:3;s:22:\"patch-ar_parent_id.sql\";}i:92;a:4:{i:0;s:8:\"addField\";i:1;s:12:\"user_newtalk\";i:2;s:19:\"user_last_timestamp\";i:3;s:29:\"patch-user_last_timestamp.sql\";}i:93;a:1:{i:0;s:18:\"doPopulateParentId\";}i:94;a:4:{i:0;s:8:\"checkBin\";i:1;s:16:\"protected_titles\";i:2;s:8:\"pt_title\";i:3;s:27:\"patch-pt_title-encoding.sql\";}i:95;a:1:{i:0;s:28:\"doMaybeProfilingMemoryUpdate\";}i:96;a:1:{i:0;s:26:\"doFilearchiveIndicesUpdate\";}i:97;a:4:{i:0;s:8:\"addField\";i:1;s:10:\"site_stats\";i:2;s:15:\"ss_active_users\";i:3;s:25:\"patch-ss_active_users.sql\";}i:98;a:1:{i:0;s:17:\"doActiveUsersInit\";}i:99;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"ipblocks\";i:2;s:18:\"ipb_allow_usertalk\";i:3;s:28:\"patch-ipb_allow_usertalk.sql\";}i:100;a:1:{i:0;s:14:\"doUniquePlTlIl\";}i:101;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"change_tag\";i:2;s:20:\"patch-change_tag.sql\";}i:102;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"tag_summary\";i:2;s:20:\"patch-change_tag.sql\";}i:103;a:3:{i:0;s:8:\"addTable\";i:1;s:9:\"valid_tag\";i:2;s:20:\"patch-change_tag.sql\";}i:104;a:3:{i:0;s:8:\"addTable\";i:1;s:15:\"user_properties\";i:2;s:25:\"patch-user_properties.sql\";}i:105;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"log_search\";i:2;s:20:\"patch-log_search.sql\";}i:106;a:4:{i:0;s:8:\"addField\";i:1;s:7:\"logging\";i:2;s:13:\"log_user_text\";i:3;s:23:\"patch-log_user_text.sql\";}i:107;a:1:{i:0;s:23:\"doLogUsertextPopulation\";}i:108;a:1:{i:0;s:21:\"doLogSearchPopulation\";}i:109;a:3:{i:0;s:8:\"addTable\";i:1;s:10:\"l10n_cache\";i:2;s:20:\"patch-l10n_cache.sql\";}i:110;a:3:{i:0;s:8:\"addTable\";i:1;s:13:\"external_user\";i:2;s:23:\"patch-external_user.sql\";}i:111;a:4:{i:0;s:8:\"addIndex\";i:1;s:10:\"log_search\";i:2;s:12:\"ls_field_val\";i:3;s:33:\"patch-log_search-rename-index.sql\";}i:112;a:4:{i:0;s:8:\"addIndex\";i:1;s:10:\"change_tag\";i:2;s:17:\"change_tag_rc_tag\";i:3;s:28:\"patch-change_tag-indexes.sql\";}i:113;a:4:{i:0;s:8:\"addField\";i:1;s:8:\"redirect\";i:2;s:12:\"rd_interwiki\";i:3;s:22:\"patch-rd_interwiki.sql\";}i:114;a:1:{i:0;s:23:\"doUpdateTranscacheField\";}i:115;a:1:{i:0;s:14:\"renameEuWikiId\";}i:116;a:1:{i:0;s:22:\"doUpdateMimeMinorField\";}i:117;a:1:{i:0;s:16:\"doPopulateRevLen\";}i:118;a:3:{i:0;s:8:\"addTable\";i:1;s:7:\"iwlinks\";i:2;s:17:\"patch-iwlinks.sql\";}i:119;a:4:{i:0;s:8:\"addIndex\";i:1;s:7:\"iwlinks\";i:2;s:21:\"iwl_prefix_title_from\";i:3;s:27:\"patch-rename-iwl_prefix.sql\";}i:120;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"updatelog\";i:2;s:8:\"ul_value\";i:3;s:18:\"patch-ul_value.sql\";}i:121;a:4:{i:0;s:8:\"addField\";i:1;s:9:\"interwiki\";i:2;s:6:\"iw_api\";i:3;s:27:\"patch-iw_api_and_wikiid.sql\";}i:122;a:4:{i:0;s:9:\"dropIndex\";i:1;s:7:\"iwlinks\";i:2;s:10:\"iwl_prefix\";i:3;s:25:\"patch-kill-iwl_prefix.sql\";}i:123;a:4:{i:0;s:9:\"dropIndex\";i:1;s:7:\"iwlinks\";i:2;s:21:\"iwl_prefix_from_title\";i:3;s:22:\"patch-kill-iwl_pft.sql\";}i:124;a:4:{i:0;s:8:\"addField\";i:1;s:13:\"categorylinks\";i:2;s:12:\"cl_collation\";i:3;s:40:\"patch-categorylinks-better-collation.sql\";}i:125;a:1:{i:0;s:16:\"doClFieldsUpdate\";}i:126;a:1:{i:0;s:17:\"doCollationUpdate\";}i:127;a:3:{i:0;s:8:\"addTable\";i:1;s:12:\"msg_resource\";i:2;s:22:\"patch-msg_resource.sql\";}i:128;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"module_deps\";i:2;s:21:\"patch-module_deps.sql\";}i:129;a:4:{i:0;s:9:\"dropIndex\";i:1;s:7:\"archive\";i:2;s:13:\"ar_page_revid\";i:3;s:36:\"patch-archive_kill_ar_page_revid.sql\";}i:130;a:4:{i:0;s:8:\"addIndex\";i:1;s:7:\"archive\";i:2;s:8:\"ar_revid\";i:3;s:26:\"patch-archive_ar_revid.sql\";}i:131;a:1:{i:0;s:23:\"doLangLinksLengthUpdate\";}i:132;a:1:{i:0;s:29:\"doUserNewTalkTimestampNotNull\";}i:133;a:4:{i:0;s:8:\"addIndex\";i:1;s:4:\"user\";i:2;s:10:\"user_email\";i:3;s:26:\"patch-user_email_index.sql\";}i:134;a:4:{i:0;s:11:\"modifyField\";i:1;s:15:\"user_properties\";i:2;s:11:\"up_property\";i:3;s:21:\"patch-up_property.sql\";}i:135;a:3:{i:0;s:8:\"addTable\";i:1;s:11:\"uploadstash\";i:2;s:21:\"patch-uploadstash.sql\";}i:136;a:3:{i:0;s:8:\"addTable\";i:1;s:18:\"user_former_groups\";i:2;s:28:\"patch-user_former_groups.sql\";}}'),('user_properties-up_property-patch-up_property.sql',NULL);
/*!40000 ALTER TABLE `peg_updatelog` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_redirect`
--

DROP TABLE IF EXISTS `fzg_redirect`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_redirect` (
  `rd_from` int(10) unsigned NOT NULL default '0',
  `rd_namespace` int(11) NOT NULL default '0',
  `rd_title` varbinary(255) NOT NULL default '',
  `rd_interwiki` varbinary(32) default NULL,
  `rd_fragment` varbinary(255) default NULL,
  PRIMARY KEY  (`rd_from`),
  KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_redirect`
--

LOCK TABLES `fzg_redirect` WRITE;
/*!40000 ALTER TABLE `fzg_redirect` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_redirect` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_uploadstash`
--

DROP TABLE IF EXISTS `fzg_uploadstash`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_uploadstash` (
  `us_id` int(10) unsigned NOT NULL auto_increment,
  `us_user` int(10) unsigned NOT NULL,
  `us_key` varbinary(255) NOT NULL,
  `us_orig_path` varbinary(255) NOT NULL,
  `us_path` varbinary(255) NOT NULL,
  `us_source_type` varbinary(50) default NULL,
  `us_timestamp` varbinary(14) NOT NULL,
  `us_status` varbinary(50) NOT NULL,
  `us_size` int(10) unsigned NOT NULL,
  `us_sha1` varbinary(31) NOT NULL,
  `us_mime` varbinary(255) default NULL,
  `us_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `us_image_width` int(10) unsigned default NULL,
  `us_image_height` int(10) unsigned default NULL,
  `us_image_bits` smallint(5) unsigned default NULL,
  PRIMARY KEY  (`us_id`),
  UNIQUE KEY `us_key` (`us_key`),
  KEY `us_user` (`us_user`),
  KEY `us_timestamp` (`us_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_uploadstash`
--

LOCK TABLES `fzg_uploadstash` WRITE;
/*!40000 ALTER TABLE `fzg_uploadstash` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_uploadstash` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_oldimage`
--

DROP TABLE IF EXISTS `fzg_oldimage`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_oldimage` (
  `oi_name` varbinary(255) NOT NULL default '',
  `oi_archive_name` varbinary(255) NOT NULL default '',
  `oi_size` int(10) unsigned NOT NULL default '0',
  `oi_width` int(11) NOT NULL default '0',
  `oi_height` int(11) NOT NULL default '0',
  `oi_bits` int(11) NOT NULL default '0',
  `oi_description` tinyblob NOT NULL,
  `oi_user` int(10) unsigned NOT NULL default '0',
  `oi_user_text` varbinary(255) NOT NULL,
  `oi_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `oi_metadata` mediumblob NOT NULL,
  `oi_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `oi_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL default 'unknown',
  `oi_minor_mime` varbinary(100) NOT NULL default 'unknown',
  `oi_deleted` tinyint(3) unsigned NOT NULL default '0',
  `oi_sha1` varbinary(32) NOT NULL default '',
  KEY `oi_usertext_timestamp` (`oi_user_text`,`oi_timestamp`),
  KEY `oi_name_timestamp` (`oi_name`,`oi_timestamp`),
  KEY `oi_name_archive_name` (`oi_name`,`oi_archive_name`(14)),
  KEY `oi_sha1` (`oi_sha1`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_oldimage`
--

LOCK TABLES `fzg_oldimage` WRITE;
/*!40000 ALTER TABLE `fzg_oldimage` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_oldimage` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_category`
--

DROP TABLE IF EXISTS `pvt_category`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_category` (
  `cat_id` int(10) unsigned NOT NULL auto_increment,
  `cat_title` varbinary(255) NOT NULL,
  `cat_pages` int(11) NOT NULL default '0',
  `cat_subcats` int(11) NOT NULL default '0',
  `cat_files` int(11) NOT NULL default '0',
  `cat_hidden` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`cat_id`),
  UNIQUE KEY `cat_title` (`cat_title`),
  KEY `cat_pages` (`cat_pages`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_category`
--

LOCK TABLES `pvt_category` WRITE;
/*!40000 ALTER TABLE `pvt_category` DISABLE KEYS */;
INSERT INTO `pvt_category` VALUES (1,'Páginas_con_enlaces_rotos_a_archivos',0,0,0,0);
/*!40000 ALTER TABLE `pvt_category` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_recentchanges`
--

DROP TABLE IF EXISTS `pvt_recentchanges`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_recentchanges` (
  `rc_id` int(11) NOT NULL auto_increment,
  `rc_timestamp` varbinary(14) NOT NULL default '',
  `rc_cur_time` varbinary(14) NOT NULL default '',
  `rc_user` int(10) unsigned NOT NULL default '0',
  `rc_user_text` varbinary(255) NOT NULL,
  `rc_namespace` int(11) NOT NULL default '0',
  `rc_title` varbinary(255) NOT NULL default '',
  `rc_comment` varbinary(255) NOT NULL default '',
  `rc_minor` tinyint(3) unsigned NOT NULL default '0',
  `rc_bot` tinyint(3) unsigned NOT NULL default '0',
  `rc_new` tinyint(3) unsigned NOT NULL default '0',
  `rc_cur_id` int(10) unsigned NOT NULL default '0',
  `rc_this_oldid` int(10) unsigned NOT NULL default '0',
  `rc_last_oldid` int(10) unsigned NOT NULL default '0',
  `rc_type` tinyint(3) unsigned NOT NULL default '0',
  `rc_moved_to_ns` tinyint(3) unsigned NOT NULL default '0',
  `rc_moved_to_title` varbinary(255) NOT NULL default '',
  `rc_patrolled` tinyint(3) unsigned NOT NULL default '0',
  `rc_ip` varbinary(40) NOT NULL default '',
  `rc_old_len` int(11) default NULL,
  `rc_new_len` int(11) default NULL,
  `rc_deleted` tinyint(3) unsigned NOT NULL default '0',
  `rc_logid` int(10) unsigned NOT NULL default '0',
  `rc_log_type` varbinary(255) default NULL,
  `rc_log_action` varbinary(255) default NULL,
  `rc_params` blob,
  PRIMARY KEY  (`rc_id`),
  KEY `rc_timestamp` (`rc_timestamp`),
  KEY `rc_namespace_title` (`rc_namespace`,`rc_title`),
  KEY `rc_cur_id` (`rc_cur_id`),
  KEY `new_name_timestamp` (`rc_new`,`rc_namespace`,`rc_timestamp`),
  KEY `rc_ip` (`rc_ip`),
  KEY `rc_ns_usertext` (`rc_namespace`,`rc_user_text`),
  KEY `rc_user_text` (`rc_user_text`,`rc_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=313 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_recentchanges`
--

LOCK TABLES `pvt_recentchanges` WRITE;
/*!40000 ALTER TABLE `pvt_recentchanges` DISABLE KEYS */;
INSERT INTO `pvt_recentchanges` VALUES (167,'20130730030640','20130730030640',1,'Administrador',0,'Página_principal','/* Notas */ ',0,0,0,1,157,144,0,0,'',1,'190.31.234.93',1493,1519,0,0,NULL,'',''),(168,'20130730030852','20130730030852',1,'Administrador',0,'SAS_ZZ_Data','Página creada con «*EH **http://www.flickr.com/photos/ewahenry/ **http://seesomestuff.com/illustrations/»',0,0,1,27,158,0,1,0,'',1,'190.31.234.93',0,85,0,0,NULL,'',''),(170,'20130804154014','20130804154014',1,'Administrador',0,'Notas_SCL_Bicicletas','/* Lista Compras */ ',0,0,0,14,160,152,0,0,'',1,'201.252.30.208',1115,1000,0,0,NULL,'',''),(173,'20130805180605','20130805180605',1,'Administrador',0,'SAS_ZZ_Data','',0,0,0,27,163,158,0,0,'',1,'181.1.211.129',85,118,0,0,NULL,'',''),(174,'20130830123512','20130830123512',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,164,157,0,0,'',1,'201.253.213.189',1519,1534,0,0,NULL,'',''),(175,'20130830124626','20130830124626',1,'Administrador',0,'Mecánica','Página creada con «===Contactos=== Instructor: Diego Centro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor) ===Notas=== ====Sistema de Cambios Trasero==== Fusible...»',0,0,1,28,165,0,1,0,'',1,'201.253.213.189',0,450,0,0,NULL,'',''),(176,'20130830124716','20130830124716',1,'Administrador',0,'Mecánica','',0,0,0,28,166,165,0,0,'',1,'201.253.213.189',450,453,0,0,NULL,'',''),(177,'20130830125722','20130830125722',1,'Administrador',0,'Mecánica','',0,0,0,28,167,166,0,0,'',1,'201.253.213.189',453,765,0,0,NULL,'',''),(178,'20130830130239','20130830130239',1,'Administrador',6,'Geometria.Cuadro.Bicicleta.png','',0,0,0,0,0,0,3,0,'',1,'201.253.213.189',NULL,NULL,0,146,'upload','upload',''),(179,'20130830130630','20130830130630',1,'Administrador',0,'Mecánica','/* Cuadros */ ',0,0,0,28,169,167,0,0,'',1,'201.253.213.189',765,957,0,0,NULL,'',''),(180,'20130830132424','20130830132424',1,'Administrador',6,'Bicicletas.Diagrama.Stem.png','',0,0,0,0,0,0,3,0,'',1,'201.253.213.189',NULL,NULL,0,148,'upload','upload',''),(181,'20130830132521','20130830132521',1,'Administrador',0,'Mecánica','/* Stems */ ',0,0,0,28,171,169,0,0,'',1,'201.253.213.189',957,1158,0,0,NULL,'',''),(182,'20130830132649','20130830132649',1,'Administrador',0,'Mecánica','/* Stems */ ',0,0,0,28,172,171,0,0,'',1,'201.253.213.189',1158,1210,0,0,NULL,'',''),(183,'20130830132735','20130830132735',1,'Administrador',0,'Mecánica','/* Stems */ ',0,0,0,28,173,172,0,0,'',1,'201.253.213.189',1210,1217,0,0,NULL,'',''),(184,'20130830132827','20130830132827',1,'Administrador',0,'Mecánica','/* Cuadros */ ',0,0,0,28,174,173,0,0,'',1,'201.253.213.189',1217,1237,0,0,NULL,'',''),(185,'20130830132847','20130830132847',1,'Administrador',0,'Mecánica','/* Cuadros */ ',0,0,0,28,175,174,0,0,'',1,'201.253.213.189',1237,1237,0,0,NULL,'',''),(186,'20130830132914','20130830132914',1,'Administrador',0,'Mecánica','/* Stems */ ',0,0,0,28,176,175,0,0,'',1,'201.253.213.189',1237,1198,0,0,NULL,'',''),(187,'20130830133508','20130830133508',1,'Administrador',0,'Mecánica','/* Cuadros */ ',0,0,0,28,177,176,0,0,'',1,'201.253.213.189',1198,1545,0,0,NULL,'',''),(188,'20130830134411','20130830134411',1,'Administrador',0,'Mecánica','/* Herramientas Taller */ ',0,0,0,28,178,177,0,0,'',1,'201.253.213.189',1545,2283,0,0,NULL,'',''),(189,'20130830134443','20130830134443',1,'Administrador',0,'Mecánica','/* Contactos */ ',0,0,0,28,179,178,0,0,'',1,'201.253.213.189',2283,2285,0,0,NULL,'',''),(190,'20130830134655','20130830134655',1,'Administrador',0,'Mecánica','/* Contactos */ ',0,0,0,28,180,179,0,0,'',1,'201.253.213.189',2285,2388,0,0,NULL,'',''),(191,'20130830134851','20130830134851',1,'Administrador',0,'Mecánica','/* Contactos */ ',0,0,0,28,181,180,0,0,'',1,'201.253.213.189',2388,2400,0,0,NULL,'',''),(192,'20130830135125','20130830135125',1,'Administrador',0,'Mecánica','/* Contactos */ ',0,0,0,28,182,181,0,0,'',1,'201.253.213.189',2400,2454,0,0,NULL,'',''),(193,'20130831113154','20130831113154',1,'Administrador',6,'Bicicletas.Fusible.jpg','',0,0,0,0,0,0,3,0,'',1,'190.231.83.123',NULL,NULL,0,161,'upload','upload',''),(194,'20130831113231','20130831113231',1,'Administrador',0,'Mecánica','/* Sistema de Cambios Trasero */ ',0,0,0,28,184,182,0,0,'',1,'190.231.83.123',2454,2493,0,0,NULL,'',''),(195,'20130831113318','20130831113318',1,'Administrador',0,'Mecánica','/* Sistema de Cambios Trasero */ ',0,0,0,28,185,184,0,0,'',1,'190.231.83.123',2493,2491,0,0,NULL,'',''),(196,'20130902192146','20130902192146',1,'Administrador',0,'Mecánica','/* Contactos */ ',0,0,0,28,186,185,0,0,'',1,'190.30.99.47',2491,2517,0,0,NULL,'',''),(197,'20130906213134','20130906213134',1,'Administrador',0,'SAS_ZZ_Data','',0,0,0,27,187,163,0,0,'',1,'181.95.96.42',118,240,0,0,NULL,'',''),(198,'20130917012220','20130917012220',1,'Administrador',0,'Mecánica','/* Sistema de Cambios Trasero */ ',0,0,0,28,188,186,0,0,'',1,'190.229.218.81',2517,3164,0,0,NULL,'',''),(199,'20130917014042','20130917014042',1,'Administrador',0,'Mecánica','',0,0,0,28,189,188,0,0,'',1,'190.229.218.81',3164,5159,0,0,NULL,'',''),(200,'20130917014126','20130917014126',1,'Administrador',0,'Mecánica','/* Servicio */ ',0,0,0,28,190,189,0,0,'',1,'190.229.218.81',5159,5158,0,0,NULL,'',''),(201,'20130917014446','20130917014446',1,'Administrador',0,'Mecánica','/* Servicio */ ',0,0,0,28,191,190,0,0,'',1,'190.229.218.81',5158,5596,0,0,NULL,'',''),(202,'20130926095247','20130926095247',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,192,164,0,0,'',1,'186.108.116.69',1534,1547,0,0,NULL,'',''),(203,'20130926095453','20130926095453',1,'Administrador',0,'Mercado','Página creada con «===Proveedores=== ====Mayoristas==== *[[Monti]] *[[AngelDiaz]] (Campagnuolo) ====Tiendas====»',0,0,1,32,193,0,1,0,'',1,'186.108.116.69',0,92,0,0,NULL,'',''),(204,'20130926095749','20130926095749',1,'Administrador',0,'Mercado','',0,0,0,32,194,193,0,0,'',1,'186.108.116.69',92,230,0,0,NULL,'',''),(205,'20130926101336','20130926101336',1,'Administrador',0,'Mercado','/* Contactos */ ',0,0,0,32,195,194,0,0,'',1,'186.108.116.69',230,249,0,0,NULL,'',''),(206,'20130926101621','20130926101621',1,'Administrador',0,'Mercado','',0,0,0,32,196,195,0,0,'',1,'186.108.116.69',249,311,0,0,NULL,'',''),(207,'20130926101649','20130926101649',1,'Administrador',0,'Mercado','',0,0,0,32,197,196,0,0,'',1,'186.108.116.69',311,266,0,0,NULL,'',''),(208,'20130926101840','20130926101840',1,'Administrador',0,'Mercado','/* Contactos */ ',0,0,0,32,198,197,0,0,'',1,'186.108.116.69',266,252,0,0,NULL,'',''),(209,'20130926111908','20130926111908',1,'Administrador',0,'Mercado','/* Contactos */ ',0,0,0,32,199,198,0,0,'',1,'186.108.116.69',252,302,0,0,NULL,'',''),(210,'20130926111959','20130926111959',1,'Administrador',0,'Mercado','/* Contactos */ ',0,0,0,32,200,199,0,0,'',1,'186.108.116.69',302,320,0,0,NULL,'',''),(211,'20130926112015','20130926112015',1,'Administrador',0,'Mercado','/* Mayoristas */ ',0,0,0,32,201,200,0,0,'',1,'186.108.116.69',320,321,0,0,NULL,'',''),(212,'20130926112226','20130926112226',1,'Administrador',0,'SAS_Pendientes','',0,0,0,22,202,156,0,0,'',1,'186.108.116.69',158,140,0,0,NULL,'',''),(213,'20130926112355','20130926112355',1,'Administrador',0,'Mercado','/* Contactos */ ',0,0,0,32,203,201,0,0,'',1,'186.108.116.69',321,295,0,0,NULL,'',''),(214,'20130926112905','20130926112905',1,'Administrador',0,'Templates','Página creada con «Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>»',0,0,1,33,204,0,1,0,'',1,'186.108.116.69',0,76,0,0,NULL,'',''),(215,'20130926112938','20130926112938',1,'Administrador',0,'Templates','',0,0,0,33,205,204,0,0,'',1,'186.108.116.69',76,79,0,0,NULL,'',''),(216,'20130926113606','20130926113606',1,'Administrador',0,'Mercado','',0,0,0,32,206,203,0,0,'',1,'186.108.116.69',295,826,0,0,NULL,'',''),(217,'20130926113639','20130926113639',1,'Administrador',0,'Bicicletas_Tiendas','el contenido era: «*HappyBuy<br>http://www.happybuyargentina.com/<br>Av Scalabrini Ortiz 361<br>011.4857.2467<br>011.4856.8913<br>[mailto:happy.buy.arg@gmail.com happy...» (y el único autor fue «[[Special:Contributions/Administrador|Administrador]]»)',0,0,0,0,0,0,3,0,'',1,'186.108.116.69',NULL,NULL,0,185,'delete','delete',''),(218,'20130926114138','20130926114138',1,'Administrador',0,'Bicicletas_Mantenimiento','',0,0,0,0,0,0,3,0,'',1,'186.108.116.69',NULL,NULL,0,186,'move','move','Sugerencias Mantenimiento\n1'),(219,'20130926114236','20130926114236',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,208,192,0,0,'',1,'186.108.116.69',1547,1559,0,0,NULL,'',''),(220,'20130926114259','20130926114259',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,209,208,0,0,'',1,'186.108.116.69',1559,1515,0,0,NULL,'',''),(221,'20130926114348','20130926114348',1,'Administrador',0,'Página_principal','',0,0,0,1,210,209,0,0,'',1,'186.108.116.69',1515,1515,0,0,NULL,'',''),(222,'20130926114636','20130926114636',1,'Administrador',0,'Mecánica','',0,0,0,0,0,0,3,0,'',1,'186.108.116.69',NULL,NULL,0,190,'move','move','Curso Mecánica\n1'),(223,'20130926114658','20130926114658',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,212,210,0,0,'',1,'186.108.116.69',1515,1533,0,0,NULL,'',''),(224,'20130926115444','20130926115444',1,'Administrador',0,'Templates','',0,0,0,33,213,205,0,0,'',1,'186.108.116.69',79,312,0,0,NULL,'',''),(225,'20130926153815','20130926153815',1,'Administrador',0,'Mercado','',0,0,0,32,214,206,0,0,'',1,'186.108.116.69',826,829,0,0,NULL,'',''),(226,'20130926154145','20130926154145',1,'Administrador',0,'Mercado','',0,0,0,32,215,214,0,0,'',1,'186.108.116.69',829,876,0,0,NULL,'',''),(227,'20130926154502','20130926154502',1,'Administrador',0,'Mercado','',0,0,0,32,216,215,0,0,'',1,'186.108.116.69',876,890,0,0,NULL,'',''),(228,'20130926154617','20130926154617',1,'Administrador',0,'Mercado','/* Proveedores */ ',0,0,0,32,217,216,0,0,'',1,'186.108.116.69',890,877,0,0,NULL,'',''),(229,'20130926160156','20130926160156',1,'Administrador',0,'Mercado','/* Mayoristas */ ',0,0,0,32,218,217,0,0,'',1,'186.108.116.69',877,1043,0,0,NULL,'',''),(230,'20130926160339','20130926160339',1,'Administrador',0,'Mercado','',0,0,0,32,219,218,0,0,'',1,'186.108.116.69',1043,1030,0,0,NULL,'',''),(231,'20130926160702','20130926160702',1,'Administrador',0,'Mercado','/* Mayoristas */ ',0,0,0,32,220,219,0,0,'',1,'186.108.116.69',1030,928,0,0,NULL,'',''),(232,'20130926161424','20130926161424',1,'Administrador',0,'Mercado','',0,0,0,32,221,220,0,0,'',1,'186.108.116.69',928,1184,0,0,NULL,'',''),(233,'20130930193443','20130930193443',1,'Administrador',0,'Mercado','/* Mayoristas */ ',0,0,0,32,222,221,0,0,'',1,'200.117.83.69',1184,1265,0,0,NULL,'',''),(234,'20130930194153','20130930194153',1,'Administrador',0,'Mercado','/* Contactos */ ',0,0,0,32,223,222,0,0,'',1,'200.117.83.69',1265,1586,0,0,NULL,'',''),(235,'20130930194326','20130930194326',1,'Administrador',0,'Mercado','',0,0,0,32,224,223,0,0,'',1,'200.117.83.69',1586,1587,0,0,NULL,'',''),(236,'20130930194511','20130930194511',1,'Administrador',0,'Mercado','',0,0,0,32,225,224,0,0,'',1,'200.117.83.69',1587,1587,0,0,NULL,'',''),(237,'20130930195814','20130930195814',1,'Administrador',0,'Mercado','/* Pastorino */ ',0,0,0,32,226,225,0,0,'',1,'200.117.83.69',1587,1612,0,0,NULL,'',''),(238,'20131001201620','20131001201620',1,'Administrador',0,'Diagrama_(ES)','',0,0,0,11,227,72,0,0,'',1,'190.229.217.234',31,718,0,0,NULL,'',''),(239,'20131001202014','20131001202014',1,'Administrador',0,'Diagrama_(ES)','',0,0,0,11,228,227,0,0,'',1,'190.229.217.234',718,755,0,0,NULL,'',''),(240,'20131001202114','20131001202114',1,'Administrador',0,'Diagrama_(ES)','',0,0,0,11,229,228,0,0,'',1,'190.229.217.234',755,755,0,0,NULL,'',''),(241,'20131001202201','20131001202201',1,'Administrador',6,'Bicicleta.Despiece.jpg','',0,0,0,0,0,0,3,0,'',1,'190.229.217.234',NULL,NULL,0,209,'upload','upload',''),(242,'20131001202439','20131001202439',1,'Administrador',0,'Diagrama_(ES)','',0,0,0,11,231,229,0,0,'',1,'190.229.217.234',755,786,0,0,NULL,'',''),(243,'20131001213830','20131001213830',1,'Administrador',0,'Glosario_EN-ES','',0,0,0,12,232,79,0,0,'',1,'190.229.217.234',922,1597,0,0,NULL,'',''),(244,'20131001213910','20131001213910',1,'Administrador',0,'Glosario_EN-ES','',0,0,0,0,0,0,3,0,'',1,'190.229.217.234',NULL,NULL,0,212,'move','move','Glosario ES-EN-FR\n1'),(245,'20131001213941','20131001213941',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,234,212,0,0,'',1,'190.229.217.234',1533,1536,0,0,NULL,'',''),(246,'20131001214100','20131001214100',1,'Administrador',0,'Glosario_ES-EN-FR','',0,0,0,12,235,233,0,0,'',1,'190.229.217.234',1597,1597,0,0,NULL,'',''),(247,'20131001233238','20131001233238',1,'Administrador',0,'Mercado','',0,0,0,32,236,226,0,0,'',1,'190.229.217.234',1612,1945,0,0,NULL,'',''),(248,'20131001233319','20131001233319',1,'Administrador',0,'Mercado','/* Mayoristas */ ',0,0,0,32,237,236,0,0,'',1,'190.229.217.234',1945,1997,0,0,NULL,'',''),(249,'20131001233551','20131001233551',1,'Administrador',0,'Mercado','/* OsvaldoFreier */ ',0,0,0,32,238,237,0,0,'',1,'190.229.217.234',1997,2024,0,0,NULL,'',''),(250,'20131001233606','20131001233606',1,'Administrador',0,'Mercado','/* CarlosKarabitian */ ',0,0,0,32,239,238,0,0,'',1,'190.229.217.234',2024,2050,0,0,NULL,'',''),(251,'20131002014844','20131002014844',1,'Administrador',0,'Templates','',0,0,0,33,240,213,0,0,'',1,'190.229.217.234',312,373,0,0,NULL,'',''),(252,'20131016181730','20131016181730',1,'Administrador',0,'Curso_Mecánica','',0,0,0,28,241,211,0,0,'',1,'201.253.242.144',5596,8607,0,0,NULL,'',''),(253,'20131016182044','20131016182044',1,'Administrador',0,'Curso_Mecánica','/* Armado de Ruedas */ ',0,0,0,28,242,241,0,0,'',1,'201.253.242.144',8607,8883,0,0,NULL,'',''),(254,'20131016182130','20131016182130',1,'Administrador',0,'Curso_Mecánica','/* Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4 */ ',0,0,0,28,243,242,0,0,'',1,'201.253.242.144',8883,8884,0,0,NULL,'',''),(255,'20131018124625','20131018124625',1,'Administrador',0,'Curso_Mecánica','/* Armado de Ruedas */ ',0,0,0,28,244,243,0,0,'',1,'186.109.141.107',8884,9215,0,0,NULL,'',''),(256,'20131022111149','20131022111149',1,'Administrador',0,'Mercado','/* Mayoristas */ ',0,0,0,32,245,239,0,0,'',1,'181.95.100.203',2050,2132,0,0,NULL,'',''),(257,'20131022111332','20131022111332',1,'Administrador',0,'Mercado','/* CarlosKarabitian */ ',0,0,0,32,246,245,0,0,'',1,'181.95.100.203',2132,2226,0,0,NULL,'',''),(258,'20131024095640','20131024095640',1,'Administrador',0,'Curso_Mecánica','/* Caja Pedalera + Pedales */ ',0,0,0,28,247,244,0,0,'',1,'190.139.95.150',9215,9870,0,0,NULL,'',''),(259,'20131025155325','20131025155325',1,'Administrador',0,'Curso_Mecánica','/* Específicas */ ',0,0,0,28,248,247,0,0,'',1,'190.224.104.252',9870,9898,0,0,NULL,'',''),(260,'20131025155621','20131025155621',1,'Administrador',6,'Checked.png','',0,0,0,0,0,0,3,0,'',1,'190.224.104.252',NULL,NULL,0,228,'upload','upload',''),(261,'20131025160412','20131025160412',1,'Administrador',0,'Curso_Mecánica','/* Específicas */ ',0,0,0,28,250,248,0,0,'',1,'190.224.104.252',9898,10158,0,0,NULL,'',''),(262,'20131025160456','20131025160456',1,'Administrador',0,'Curso_Mecánica','/* Específicas */ ',0,0,0,28,251,250,0,0,'',1,'190.224.104.252',10158,10184,0,0,NULL,'',''),(263,'20131203133722','20131203133722',1,'Administrador',0,'Mercado','',0,0,0,32,252,246,0,0,'',1,'190.30.167.211',2226,2564,0,0,NULL,'',''),(264,'20140106184754','20140106184754',1,'Administrador',0,'Página_principal','/* Notas */ ',0,0,0,1,253,234,0,0,'',1,'181.95.92.162',1536,1562,0,0,NULL,'',''),(265,'20140106184827','20140106184827',1,'Administrador',0,'Página_principal','/* Notas */ ',0,0,0,1,254,253,0,0,'',1,'181.95.92.162',1562,1562,0,0,NULL,'',''),(266,'20140106185428','20140106185428',1,'Administrador',0,'SAS_AA_Data','Página creada con «*Hoy **Monotributo **Codigos Visa/Amex/Master *Spanex **Revisar boton endoso cheque \"libro cheques\" **MySql Replication **Ojo Detectar pantalla eliminado desde 4.03 *Chile ...»',0,0,1,36,255,0,1,0,'',1,'181.95.92.162',0,189,0,0,NULL,'',''),(267,'20140215132757','20140215132757',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,256,254,0,0,'',1,'181.95.101.101',1562,1596,0,0,NULL,'',''),(268,'20140215133112','20140215133112',1,'Administrador',0,'Curso_Mecánica','Reorganizacion. 20140215',0,0,0,37,0,0,3,0,'',1,'181.95.101.101',NULL,NULL,0,236,'move','move','Curso Mecánica - 1º\n'),(269,'20140215135641','20140215135641',1,'Administrador',0,'Curso_Mecánica_-_2º','Página creada con «*Bitácora **Día 1: Armado BMX/MTB Gama Baja ***Instalación de cubetas caja pedalera izquierda previa ***Instalación de cubetas juego dirección (superior e inferior) pr...»',0,0,1,38,259,0,1,0,'',1,'181.95.101.101',0,1933,0,0,NULL,'',''),(270,'20140215181106','20140215181106',1,'Administrador',0,'Curso_Mecánica_-_2º','',0,0,0,38,260,259,0,0,'',1,'181.95.101.101',1933,2606,0,0,NULL,'',''),(271,'20140215201813','20140215201813',1,'Administrador',0,'Curso_Mecánica_-_2º','',0,0,0,38,261,260,0,0,'',1,'186.108.118.226',2606,5268,0,0,NULL,'',''),(272,'20140215214604','20140215214604',1,'Administrador',0,'Curso_Mecánica_-_2º','',0,0,0,38,262,261,0,0,'',1,'186.108.118.226',5268,7051,0,0,NULL,'',''),(273,'20140217212557','20140217212557',1,'Administrador',0,'Curso_Mecánica_-_2º','',0,0,0,38,263,262,0,0,'',1,'201.253.214.121',7051,7065,0,0,NULL,'',''),(274,'20140217212629','20140217212629',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Bitácora */ ',0,0,0,38,264,263,0,0,'',1,'201.253.214.121',7065,7058,0,0,NULL,'',''),(275,'20140217212721','20140217212721',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */ ',0,0,0,38,265,264,0,0,'',1,'201.253.214.121',7058,7012,0,0,NULL,'',''),(276,'20140217213032','20140217213032',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */ ',0,0,0,38,266,265,0,0,'',1,'201.253.214.121',7012,6826,0,0,NULL,'',''),(277,'20140217213152','20140217213152',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */ ',0,0,0,38,267,266,0,0,'',1,'201.253.214.121',6826,6820,0,0,NULL,'',''),(278,'20140217213413','20140217213413',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */ ',0,0,0,38,268,267,0,0,'',1,'201.253.214.121',6820,6898,0,0,NULL,'',''),(279,'20140217213718','20140217213718',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 2: Armado BMX/MTB Gama Baja (Parte 2) */ ',0,0,0,38,269,268,0,0,'',1,'201.253.214.121',6898,6910,0,0,NULL,'',''),(280,'20140221183927','20140221183927',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 2: Armado BMX/MTB Gama Baja (Parte 2) */ ',0,0,0,38,270,269,0,0,'',1,'181.26.48.92',6910,8944,0,0,NULL,'',''),(281,'20140221185205','20140221185205',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 4: Service MTB Gama Alta */ ',0,0,0,38,271,270,0,0,'',1,'181.26.48.92',8944,9122,0,0,NULL,'',''),(282,'20140221185910','20140221185910',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 4: Service MTB Gama Alta */ ',0,0,0,38,272,271,0,0,'',1,'181.26.48.92',9122,9265,0,0,NULL,'',''),(283,'20140221191210','20140221191210',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 3: */ ',0,0,0,38,273,272,0,0,'',1,'181.26.48.92',9265,10218,0,0,NULL,'',''),(284,'20140226093406','20140226093406',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 4: Service MTB Gama Alta */ ',0,0,0,38,274,273,0,0,'',1,'181.95.116.38',10218,10884,0,0,NULL,'',''),(285,'20140226111722','20140226111722',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,275,256,0,0,'',1,'181.95.116.38',1596,1616,0,0,NULL,'',''),(286,'20140226111856','20140226111856',1,'Administrador',0,'Página_principal','/* Bicicletas */ ',0,0,0,1,276,275,0,0,'',1,'181.95.116.38',1616,1640,0,0,NULL,'',''),(287,'20140226113315','20140226113315',1,'Administrador',0,'911Project_Lista_Compras','Página creada con «*Llave Torque *Llaves Llantas Shimano XT *Quita tapón Shimano HollowTech II *Pinza Saca Clip de Seguridad (arandela) *Kit Sangrado AVID.»',0,0,1,39,277,0,1,0,'',1,'181.95.116.38',0,137,0,0,NULL,'',''),(288,'20140226114723','20140226114723',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,278,277,0,0,'',1,'181.95.116.38',137,175,0,0,NULL,'',''),(289,'20140226115458','20140226115458',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,279,278,0,0,'',1,'181.95.116.38',175,194,0,0,NULL,'',''),(290,'20140226125952','20140226125952',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,280,279,0,0,'',1,'181.95.116.38',194,208,0,0,NULL,'',''),(291,'20140226130541','20140226130541',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,281,280,0,0,'',1,'181.95.116.38',208,218,0,0,NULL,'',''),(292,'20140226160534','20140226160534',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 5: Service MTB Gama Alta */ ',0,0,0,38,282,274,0,0,'',1,'181.95.116.38',10884,11872,0,0,NULL,'',''),(293,'20140226160913','20140226160913',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,283,281,0,0,'',1,'181.95.116.38',218,260,0,0,NULL,'',''),(294,'20140226163128','20140226163128',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,284,283,0,0,'',1,'181.95.116.38',260,285,0,0,NULL,'',''),(295,'20140301115751','20140301115751',1,'Administrador',0,'Notas_SCL_Informatica','El contenido antes de blanquear era: «*Samsung NP-NC110P **CL: $1500 ($2407) **AR: $2700 en 12 *Acer I3 **CL: $2300 ($3686) **AR: $5100 *Dell 14 I3 **CL: $2500 ($4007) **AR: $5800 *Galaxy Tab II **CL: $1800 ($2800) **AR: $3300 *Router **DLINK 600 **...»',0,0,0,0,0,0,3,0,'',1,'181.110.80.119',NULL,NULL,0,263,'delete','delete',''),(296,'20140301115812','20140301115812',1,'Administrador',0,'Notas_SCL_Varios','El contenido antes de blanquear era: «*Mochilas *Bolsos **Bicicleta **Rollers *Camaras  **D3100 ***CL: $3.500 (5.617) ***AR: $7.692 **D3200 ***CL:$5.300 (8.506) ***AR:$9.590 **D5100 ***CL:$5.000 (8.025) ***AR:$9.552 *Porta Paquete Tubo *PortaEquipaj...»',0,0,0,0,0,0,3,0,'',1,'181.110.80.119',NULL,NULL,0,264,'delete','delete',''),(297,'20140301115847','20140301115847',1,'Administrador',0,'Notas_SCL_Electro','El contenido antes de blanquear era: «*Batidores  **Philips ***AR: 379 ***AR: 479/554  *Batidora Manual / de Mesa **Liliana ***AR: >300 *Trituradora  *Ventilador  **Combi (Paris) ***CL: 200»',0,0,0,0,0,0,3,0,'',1,'181.110.80.119',NULL,NULL,0,265,'delete','delete',''),(298,'20140301120257','20140301120257',1,'Administrador',0,'SAS_MD_Data','',0,0,0,23,285,155,0,0,'',1,'181.110.80.119',1160,1219,0,0,NULL,'',''),(299,'20140301121042','20140301121042',1,'Administrador',0,'SAS_MD_Data','',0,0,0,23,286,285,0,0,'',1,'181.110.80.119',1219,1250,0,0,NULL,'',''),(300,'20140301121445','20140301121445',1,'Administrador',0,'Página_principal','/* Notas */ ',0,0,0,1,287,276,0,0,'',1,'181.110.80.119',1640,1562,0,0,NULL,'',''),(301,'20140301121627','20140301121627',1,'Administrador',0,'Página_principal','',0,0,0,1,288,287,0,0,'',1,'181.110.80.119',1562,1916,0,0,NULL,'',''),(302,'20140301160142','20140301160142',1,'Administrador',0,'Curso_Mecánica_-_2º','/* Día 5: Service MTB Gama Alta */ ',0,0,0,38,289,282,0,0,'',1,'181.1.214.247',11872,11986,0,0,NULL,'',''),(303,'20140301170553','20140301170553',1,'Administrador',0,'Curso_Mecánica_-_2º','',0,0,0,38,290,289,0,0,'',1,'181.1.214.247',11986,15141,0,0,NULL,'',''),(304,'20140302004135','20140302004135',1,'Administrador',0,'Bicicletas.Horquillas.Mantenimiento','Página creada con «http://bikemagic.com/gear/how-to/mountain-bike-maintenance/fork-tuning-for-beginners.html http://bicyclethailand.com/setting-the-sag-on-mtb-suspension-forks/ http://www.tre...»',0,0,1,40,291,0,1,0,'',1,'181.1.214.247',0,8554,0,0,NULL,'',''),(305,'20140302004159','20140302004159',1,'Administrador',0,'Bicicletas.Horquillas.Mantenimiento','',0,0,0,40,292,291,0,0,'',1,'181.1.214.247',8554,8559,0,0,NULL,'',''),(306,'20140302004255','20140302004255',1,'Administrador',0,'Bicicletas.Horquillas.Mantenimiento','',0,0,0,40,293,292,0,0,'',1,'181.1.214.247',8559,8612,0,0,NULL,'',''),(307,'20140303143343','20140303143343',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,294,284,0,0,'',1,'186.108.95.137',285,323,0,0,NULL,'',''),(308,'20140303143456','20140303143456',1,'Administrador',0,'Página_principal','/* Notas */ ',0,0,0,1,295,288,0,0,'',1,'186.108.95.137',1916,1915,0,0,NULL,'',''),(309,'20140303143704','20140303143704',1,'Administrador',0,'Notas_SCL_Bicicletas','',0,0,0,14,296,160,0,0,'',1,'186.108.95.137',1000,1049,0,0,NULL,'',''),(310,'20140303144126','20140303144126',1,'Administrador',0,'Notas_SCL_Bicicletas','',0,0,0,14,297,296,0,0,'',1,'186.108.95.137',1049,1105,0,0,NULL,'',''),(311,'20140303144151','20140303144151',1,'Administrador',0,'Notas_SCL_Bicicletas','/* Tiendas */ ',0,0,0,14,298,297,0,0,'',1,'186.108.95.137',1105,1103,0,0,NULL,'',''),(312,'20140303160811','20140303160811',1,'Administrador',0,'911Project_Lista_Compras','',0,0,0,39,299,294,0,0,'',1,'186.108.95.137',323,346,0,0,NULL,'','');
/*!40000 ALTER TABLE `pvt_recentchanges` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_user_groups`
--

DROP TABLE IF EXISTS `peg_user_groups`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_user_groups` (
  `ug_user` int(10) unsigned NOT NULL default '0',
  `ug_group` varbinary(16) NOT NULL default '',
  PRIMARY KEY  (`ug_user`,`ug_group`),
  UNIQUE KEY `ug_user_group` (`ug_user`,`ug_group`),
  KEY `ug_group` (`ug_group`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_user_groups`
--

LOCK TABLES `peg_user_groups` WRITE;
/*!40000 ALTER TABLE `peg_user_groups` DISABLE KEYS */;
INSERT INTO `peg_user_groups` VALUES (1,'bureaucrat'),(1,'sysop');
/*!40000 ALTER TABLE `peg_user_groups` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_page_props`
--

DROP TABLE IF EXISTS `peg_page_props`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_page_props` (
  `pp_page` int(11) NOT NULL,
  `pp_propname` varbinary(60) NOT NULL,
  `pp_value` blob NOT NULL,
  UNIQUE KEY `pp_page_propname` (`pp_page`,`pp_propname`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_page_props`
--

LOCK TABLES `peg_page_props` WRITE;
/*!40000 ALTER TABLE `peg_page_props` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_page_props` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_interwiki`
--

DROP TABLE IF EXISTS `peg_interwiki`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_interwiki` (
  `iw_prefix` varbinary(32) NOT NULL,
  `iw_url` blob NOT NULL,
  `iw_api` blob NOT NULL,
  `iw_wikiid` varbinary(64) NOT NULL,
  `iw_local` tinyint(1) NOT NULL,
  `iw_trans` tinyint(4) NOT NULL default '0',
  UNIQUE KEY `iw_prefix` (`iw_prefix`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_interwiki`
--

LOCK TABLES `peg_interwiki` WRITE;
/*!40000 ALTER TABLE `peg_interwiki` DISABLE KEYS */;
INSERT INTO `peg_interwiki` VALUES ('acronym','http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=$1','','',0,0),('advogato','http://www.advogato.org/$1','','',0,0),('annotationwiki','http://www.seedwiki.com/page.cfm?wikiid=368&doc=$1','','',0,0),('arxiv','http://www.arxiv.org/abs/$1','','',0,0),('c2find','http://c2.com/cgi/wiki?FindPage&value=$1','','',0,0),('cache','http://www.google.com/search?q=cache:$1','','',0,0),('commons','http://commons.wikimedia.org/wiki/$1','','',0,0),('corpknowpedia','http://corpknowpedia.org/wiki/index.php/$1','','',0,0),('dictionary','http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=$1','','',0,0),('disinfopedia','http://www.disinfopedia.org/wiki.phtml?title=$1','','',0,0),('docbook','http://wiki.docbook.org/topic/$1','','',0,0),('doi','http://dx.doi.org/$1','','',0,0),('drumcorpswiki','http://www.drumcorpswiki.com/index.php/$1','','',0,0),('dwjwiki','http://www.suberic.net/cgi-bin/dwj/wiki.cgi?$1','','',0,0),('elibre','http://enciclopedia.us.es/index.php/$1','','',0,0),('emacswiki','http://www.emacswiki.org/cgi-bin/wiki.pl?$1','','',0,0),('foldoc','http://foldoc.org/?$1','','',0,0),('foxwiki','http://fox.wikis.com/wc.dll?Wiki~$1','','',0,0),('freebsdman','http://www.FreeBSD.org/cgi/man.cgi?apropos=1&query=$1','','',0,0),('gej','http://www.esperanto.de/cgi-bin/aktivikio/wiki.pl?$1','','',0,0),('gentoo-wiki','http://gentoo-wiki.com/$1','','',0,0),('google','http://www.google.com/search?q=$1','','',0,0),('googlegroups','http://groups.google.com/groups?q=$1','','',0,0),('hammondwiki','http://www.dairiki.org/HammondWiki/$1','','',0,0),('hewikisource','http://he.wikisource.org/wiki/$1','','',1,0),('hrwiki','http://www.hrwiki.org/index.php/$1','','',0,0),('imdb','http://us.imdb.com/Title?$1','','',0,0),('jargonfile','http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=$1','','',0,0),('jspwiki','http://www.jspwiki.org/wiki/$1','','',0,0),('keiki','http://kei.ki/en/$1','','',0,0),('kmwiki','http://kmwiki.wikispaces.com/$1','','',0,0),('linuxwiki','http://linuxwiki.de/$1','','',0,0),('lojban','http://www.lojban.org/tiki/tiki-index.php?page=$1','','',0,0),('lqwiki','http://wiki.linuxquestions.org/wiki/$1','','',0,0),('lugkr','http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?$1','','',0,0),('mathsongswiki','http://SeedWiki.com/page.cfm?wikiid=237&doc=$1','','',0,0),('meatball','http://www.usemod.com/cgi-bin/mb.pl?$1','','',0,0),('mediawikiwiki','http://www.mediawiki.org/wiki/$1','','',0,0),('mediazilla','https://bugzilla.wikimedia.org/$1','','',1,0),('memoryalpha','http://www.memory-alpha.org/en/index.php/$1','','',0,0),('metawiki','http://sunir.org/apps/meta.pl?$1','','',0,0),('metawikipedia','http://meta.wikimedia.org/wiki/$1','','',0,0),('moinmoin','http://purl.net/wiki/moin/$1','','',0,0),('mozillawiki','http://wiki.mozilla.org/index.php/$1','','',0,0),('mw','http://www.mediawiki.org/wiki/$1','','',0,0),('oeis','http://www.research.att.com/cgi-bin/access.cgi/as/njas/sequences/eisA.cgi?Anum=$1','','',0,0),('openfacts','http://openfacts.berlios.de/index.phtml?title=$1','','',0,0),('openwiki','http://openwiki.com/?$1','','',0,0),('pmeg','http://www.bertilow.com/pmeg/$1.php','','',0,0),('ppr','http://c2.com/cgi/wiki?$1','','',0,0),('pythoninfo','http://wiki.python.org/moin/$1','','',0,0),('rfc','http://www.rfc-editor.org/rfc/rfc$1.txt','','',0,0),('s23wiki','http://is-root.de/wiki/index.php/$1','','',0,0),('seattlewiki','http://seattle.wikia.com/wiki/$1','','',0,0),('seattlewireless','http://seattlewireless.net/?$1','','',0,0),('senseislibrary','http://senseis.xmp.net/?$1','','',0,0),('sourceforge','http://sourceforge.net/$1','','',0,0),('squeak','http://wiki.squeak.org/squeak/$1','','',0,0),('susning','http://www.susning.nu/$1','','',0,0),('svgwiki','http://wiki.svg.org/$1','','',0,0),('tavi','http://tavi.sourceforge.net/$1','','',0,0),('tejo','http://www.tejo.org/vikio/$1','','',0,0),('theopedia','http://www.theopedia.com/$1','','',0,0),('tmbw','http://www.tmbw.net/wiki/$1','','',0,0),('tmnet','http://www.technomanifestos.net/?$1','','',0,0),('tmwiki','http://www.EasyTopicMaps.com/?page=$1','','',0,0),('twiki','http://twiki.org/cgi-bin/view/$1','','',0,0),('uea','http://www.tejo.org/uea/$1','','',0,0),('unreal','http://wiki.beyondunreal.com/wiki/$1','','',0,0),('usemod','http://www.usemod.com/cgi-bin/wiki.pl?$1','','',0,0),('vinismo','http://vinismo.com/en/$1','','',0,0),('webseitzwiki','http://webseitz.fluxent.com/wiki/$1','','',0,0),('why','http://clublet.com/c/c/why?$1','','',0,0),('wiki','http://c2.com/cgi/wiki?$1','','',0,0),('wikia','http://www.wikia.com/wiki/$1','','',0,0),('wikibooks','http://en.wikibooks.org/wiki/$1','','',1,0),('wikicities','http://www.wikia.com/wiki/$1','','',0,0),('wikif1','http://www.wikif1.org/$1','','',0,0),('wikihow','http://www.wikihow.com/$1','','',0,0),('wikimedia','http://wikimediafoundation.org/wiki/$1','','',0,0),('wikinews','http://en.wikinews.org/wiki/$1','','',1,0),('wikinfo','http://www.wikinfo.org/index.php/$1','','',0,0),('wikipedia','http://en.wikipedia.org/wiki/$1','','',1,0),('wikiquote','http://en.wikiquote.org/wiki/$1','','',1,0),('wikisource','http://wikisource.org/wiki/$1','','',1,0),('wikispecies','http://species.wikimedia.org/wiki/$1','','',1,0),('wikitravel','http://wikitravel.org/en/$1','','',0,0),('wikiversity','http://en.wikiversity.org/wiki/$1','','',1,0),('wikt','http://en.wiktionary.org/wiki/$1','','',1,0),('wiktionary','http://en.wiktionary.org/wiki/$1','','',1,0),('wlug','http://www.wlug.org.nz/$1','','',0,0),('zwiki','http://zwiki.org/$1','','',0,0),('zzz wiki','http://wiki.zzz.ee/index.php/$1','','',0,0);
/*!40000 ALTER TABLE `peg_interwiki` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_pagelinks`
--

DROP TABLE IF EXISTS `fzg_pagelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_pagelinks` (
  `pl_from` int(10) unsigned NOT NULL default '0',
  `pl_namespace` int(11) NOT NULL default '0',
  `pl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `pl_from` (`pl_from`,`pl_namespace`,`pl_title`),
  UNIQUE KEY `pl_namespace` (`pl_namespace`,`pl_title`,`pl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_pagelinks`
--

LOCK TABLES `fzg_pagelinks` WRITE;
/*!40000 ALTER TABLE `fzg_pagelinks` DISABLE KEYS */;
INSERT INTO `fzg_pagelinks` VALUES (1,0,'Esquema_Básico_de_un_Producto'),(1,0,'Mantenimiento_de_Datos_Auxiliares'),(1,0,'Valores_Adicionales_de_Productos');
/*!40000 ALTER TABLE `fzg_pagelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_module_deps`
--

DROP TABLE IF EXISTS `peg_module_deps`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_module_deps` (
  `md_module` varbinary(255) NOT NULL,
  `md_skin` varbinary(32) NOT NULL,
  `md_deps` mediumblob NOT NULL,
  UNIQUE KEY `md_module_skin` (`md_module`,`md_skin`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_module_deps`
--

LOCK TABLES `peg_module_deps` WRITE;
/*!40000 ALTER TABLE `peg_module_deps` DISABLE KEYS */;
INSERT INTO `peg_module_deps` VALUES ('ext.svgedit.editor','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/extensions\\/SVGEdit\\/modules\\/images\\/toolbar-base.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/extensions\\/SVGEdit\\/modules\\/images\\/ajax-loader.gif\"]'),('jquery.ui.button','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-off.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-over.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-down.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-disabled.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-off-green.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-over-green.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-down-green.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-disabled-green.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-off-blue.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-over-blue.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-down-blue.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-disabled-blue.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-off-red.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-over-red.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-down-red.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/button-disabled-red.png\"]'),('jquery.ui.core','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-hard_100_f2f5f7_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-soft_100_ffffff_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-hard_80_d7ebf9_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-soft_100_e4f1fb_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_inset-hard_100_f0f0f0_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-soft_25_ffef8f_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_flat_15_cd0a0a_40x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_72a7cf_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_3d80b3_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_2694e8_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_666666_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_2e83ff_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_ffffff_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_flat_70_000000_40x100.png\"]'),('mediawiki.legacy.shared','cavendish','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('mediawiki.legacy.shared','chick','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('mediawiki.legacy.shared','cologneblue','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('mediawiki.legacy.shared','modern','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('mediawiki.legacy.shared','monobook','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('mediawiki.legacy.shared','nostalgia','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('mediawiki.legacy.shared','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('skins.monobook','monobook','{\"0\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/headbg.jpg\",\"1\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/bullet.gif\",\"2\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/external-ltr.png\",\"3\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/lock_icon.gif\",\"4\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/mail_icon.gif\",\"5\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/news_icon.png\",\"6\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/file_icon.gif\",\"7\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/discussionitem_icon.gif\",\"8\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/audio.png\",\"9\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/video.png\",\"10\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/document.png\",\"12\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/monobook\\/user.gif\"}'),('skins.vector','vector','{\"0\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/page-base.png\",\"1\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/border.png\",\"2\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/page-fade.png\",\"4\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-break.png\",\"5\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-normal-fade.png\",\"6\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-current-fade.png\",\"8\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/arrow-down-icon.png\",\"11\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/search-fade.png\",\"12\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/portal-break.png\",\"14\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-break.png\",\"16\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-fade.png\",\"17\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-base.png\",\"18\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/bullet-icon.png\",\"19\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/external-link-ltr-icon.png\",\"20\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/lock-icon.png\",\"21\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/mail-icon.png\",\"22\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/news-icon.png\",\"23\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/file-icon.png\",\"24\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/talk-icon.png\",\"25\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/audio-icon.png\",\"26\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/video-icon.png\",\"27\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/document-icon.png\",\"28\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/user-icon.png\",\"29\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/watch-icons.png\",\"30\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/watch-icon-loading.gif\"}');
/*!40000 ALTER TABLE `peg_module_deps` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_change_tag`
--

DROP TABLE IF EXISTS `fzg_change_tag`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_change_tag` (
  `ct_rc_id` int(11) default NULL,
  `ct_log_id` int(11) default NULL,
  `ct_rev_id` int(11) default NULL,
  `ct_tag` varbinary(255) NOT NULL,
  `ct_params` blob,
  UNIQUE KEY `change_tag_rc_tag` (`ct_rc_id`,`ct_tag`),
  UNIQUE KEY `change_tag_log_tag` (`ct_log_id`,`ct_tag`),
  UNIQUE KEY `change_tag_rev_tag` (`ct_rev_id`,`ct_tag`),
  KEY `change_tag_tag_id` (`ct_tag`,`ct_rc_id`,`ct_rev_id`,`ct_log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_change_tag`
--

LOCK TABLES `fzg_change_tag` WRITE;
/*!40000 ALTER TABLE `fzg_change_tag` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_change_tag` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_text`
--

DROP TABLE IF EXISTS `pvt_text`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_text` (
  `old_id` int(10) unsigned NOT NULL auto_increment,
  `old_text` mediumblob NOT NULL,
  `old_flags` tinyblob NOT NULL,
  PRIMARY KEY  (`old_id`)
) ENGINE=InnoDB AUTO_INCREMENT=296 DEFAULT CHARSET=binary MAX_ROWS=10000000 AVG_ROW_LENGTH=10240;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_text`
--

LOCK TABLES `pvt_text` WRITE;
/*!40000 ALTER TABLE `pvt_text` DISABLE KEYS */;
INSERT INTO `pvt_text` VALUES (1,'\'\'\'MediaWiki ha sido instalado con éxito.\'\'\'\n\nConsulta la [//meta.wikimedia.org/wiki/Ayuda:Contenido Guía de usuario] para obtener información sobre el uso del software wiki.\n\n== Empezando ==\n* [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de ajustes de configuración]\n* [//www.mediawiki.org/wiki/Manual:FAQ/es FAQ de MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de distribución de MediaWiki]','utf-8'),(2,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.','utf-8'),(3,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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.','utf-8'),(4,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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.','utf-8'),(5,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|Concepto|Definición|}','utf-8'),(6,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|Concepto|Definición|-\n|}','utf-8'),(7,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Concepto|Definición|\n|}','utf-8'),(8,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Concepto|Definición|-\n|}','utf-8'),(9,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Concepto|Definición\n|}','utf-8'),(10,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Orange\n|Apple\n|-\n|Bread\n|Pie\n|-\n|Butter\n|Ice cream \n|}','utf-8'),(11,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Orange|Apple\n|-\n|Bread|Pie\n|-\n|Butter|Ice cream \n|}','utf-8'),(12,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(13,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(14,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|+Concepto\n|+Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(15,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|+\n|Concepto\n|Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(16,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|!Concepto\n|!Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(17,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n!Concepto\n!Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(18,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.25pt solid #000000;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Concepto\n| style=\"border:0.25pt solid #000000;padding:0.0382in;\"| Definición\n\n|-\n| style=\"background-color:transparent;border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Formularios\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| 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|-\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Base de Datos\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| 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|-\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Tabla\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| 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|-\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(19,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(20,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(21,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n! Concepto\n! Definición\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|}','utf-8'),(22,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n! Concepto\n! Definición\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|}','utf-8'),(23,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n! Concepto\n! Definición\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|}','utf-8'),(24,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(25,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\n\n\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(26,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(27,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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== 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|}','utf-8'),(28,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\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|}','utf-8'),(29,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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|}','utf-8'),(30,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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|}','utf-8'),(31,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(32,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(33,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n\nDentro de la 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 de \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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(34,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n\nDentro de la 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 de \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 porducto\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\nLas características definidas de este formulario son las siguientes:\n* El esquema de información posee 3 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 subproducto 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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(35,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n\nDentro de la 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 de \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 porducto\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, existe una 4º Sección de Parámetros adicionales afectados 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 3 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 subproducto 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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(36,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n* Detalle de Parámetros Adicionales de Item: Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\n\nCabecera: 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\nDetalle 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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(37,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(38,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== Generalidades ==\n\n\n\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(39,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(40,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(41,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(42,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small><pre>\nProducto					Componentes									Necesario\n\nVentana Corrediza \"XXXXX\"	Marco Línea \"XXXXX\"							Si\n							Vidrio Incoloro 4mm							No\n							Vidrio Templado Opaco						No\n							Accesorios Línea \"XXXXX\"					Si\n							Instalación Ventana Corrediza \"XXXXXX\"		Si\n</pre></small>\n\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(43,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\n\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(44,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(45,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(46,'','utf-8'),(47,'','utf-8'),(48,'','utf-8'),(49,'','utf-8'),(50,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(51,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(52,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(53,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(54,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\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|200 px|center|Vista Conceptual del Proceso]]\n\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(55,'','utf-8'),(56,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(57,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(58,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(59,'','utf-8'),(60,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(61,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(62,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== 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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(63,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Contactos\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\n==== Productos ====\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\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 y 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\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== 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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(64,'Gestión Retail Industria\n\n== Spalnex Gestion ==\nSpanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción civil. Consta de módulos que permiten desde la construcción de productos y servicios hasta el control de la producción de los mismos.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de productos quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar.\nDentro del concepto de Contactos quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(65,'','utf-8'),(66,'==Bicicletas==','utf-8'),(67,'','utf-8'),(68,'==Bicicletas==\n[[Diagrama (EN)]]','utf-8'),(69,'','utf-8'),(70,'[[File:Bicycle_diagram-es.png]]','utf-8'),(71,'==Bicicletas==\n[[Diagrama (EN)]]\n[[Diagrama (ES)]]','utf-8'),(72,'[[File:Bicycle_diagram-es.png]]','utf-8'),(73,'[[File:Bicycle diagram-en.png]]','utf-8'),(74,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]','utf-8'),(75,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]','utf-8'),(76,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\nAntes de cada vez que se monte en bici:\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\nRevisiones semanales:\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\nTrimestralmente:\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\nAl menos cada dos años:\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(77,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\'\'\'\nRevisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n\'\'\'*Haz girar las ruedas para comprobar que estén bien centradas.\n\nTrimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\'\'\'\nAl menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(78,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(79,'\'\'\'bowden cable [[w:en:bowden cable|1]]\'\'\' el tipo de cable metálico que se emplea para transmitir la fuerza en los frenos y los cambios.\n\n\'\'\'brake\'\'\': el freno\n\n\'\'\'brake cable\'\'\': el cable de freno\n\n\'\'\'chain\'\'\': la cadena\n\n\'\'\'chainring\'\'\': el plato\n\n\'\'\'cog\'\'\': el piñon\n\n\'\'\'degreaser\'\'\' el desengrasante\n\n\'\'\'flat\'\'\': el pinchazo, el desinflado\n\n\'\'\'fork\'\'\' or \'\'\'bicycle fork\'\'\': la horquilla\n\n\'\'\'gear\'\'\': el cambio\n\n\'\'\'handlebar\'\'\': el manillar\n\n\'\'\'headset\'\'\': la dirección\n\n\'\'\'lever\'\'\': la palanca\n\n\'\'\'rim\'\'\' la llanta\n\n\'\'\'screwdriwer\'\'\': el destornillador\n:\'\'\'flathead\'\'\': de cabeza plana\n\n\'\'\'shifter\'\'\': la palanca de cambios\n\n\'\'\'spoke\'\'\': el radio\n\n\'\'\'tire\'\'\': el neumático, la cubierta\n\n\'\'\'tire levers\'\'\': la palanca de cámara\n\n\'\'\'V-brake\'\'\' frenos en V\n\n\'\'\'wheel\'\'\': rueda\n\n\'\'\'wrench\'\'\': llave\n:\'\'\'Cone wrenches\'\'\'\n:\'\'\'Allen wrenches (2-8mm)\'\'\' Llaves de Allen\n:\'\'\'Open and/or box wrenches (8, 10, and 15mm)\'\'\'','utf-8'),(80,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(81,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(82,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ bicycletutor.com]\n\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(83,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(84,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com/]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(85,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com/]\n*[http://www.biciclub.com/]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(86,'==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(87,'==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n<!-- \n*[<URL> <Texto Aclaratorio>]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair] -->\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(88,'==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(89,'==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(90,'==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(91,'==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(92,'==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(93,'==Notas==\n*[[Notas]]\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(94,'*SCL\n**Bicicletas\n***Terrabike\n****San Diego 896 - Coquimbo\n****Cascos Raja= 19.990 - $259 - $416\n****Sab 10-15\n***BikeNew\n****San Diego 802-848\n****Casco Sixsixone= 18.900 - $245 - $394\n***Altared\n****Cristobal Colon 5821 - Las Condes\n****Alderete 1651 - Vitacura\n***La Chancha Pig\n****Fuenzalida 205 - Loc 13 - Las Condes\n****Casco Biscia= 12.000 - $154 - $250\n****Parrillas\n***Belda\n****MallSport\n****Mall Plaza Vespuscio\n***Bicimundo\n****Vitacura 4868 - Vitacura\n***Central Bici\n****General Gambino 398\n***Lobo Bike\n****Diagonal Rancagua 980\n****Sabado 11-15\n***SportXperts\n****Las Condes 12340 Loc 5\n****San Diego 844','utf-8'),(95,'__TOC__*SCL\n**Bicicletas\n***Terrabike\n****San Diego 896 - Coquimbo\n****Cascos Raja= 19.990 - $259 - $416\n****Sab 10-15\n***BikeNew\n****San Diego 802-848\n****Casco Sixsixone= 18.900 - $245 - $394\n***Altared\n****Cristobal Colon 5821 - Las Condes\n****Alderete 1651 - Vitacura\n***La Chancha Pig\n****Fuenzalida 205 - Loc 13 - Las Condes\n****Casco Biscia= 12.000 - $154 - $250\n****Parrillas\n***Belda\n****MallSport\n****Mall Plaza Vespuscio\n***Bicimundo\n****Vitacura 4868 - Vitacura\n***Central Bici\n****General Gambino 398\n***Lobo Bike\n****Diagonal Rancagua 980\n****Sabado 11-15\n***SportXperts\n****Las Condes 12340 Loc 5\n****San Diego 844','utf-8'),(96,'==[[Notas]]==\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(97,'==[[Notas]]==\n*[[Notas_SCL|SCL]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(98,'==[[Notas]]==\n*[[Notas_SCL|SCL]]\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(99,'*Terrabike\n**San Diego 896 - Coquimbo\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980\n**Sabado 11-15','utf-8'),(100,'==Notas==\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(101,'==Notas==\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(102,'*Batidores \n**Philips\n***AR: 379\n***AR: 479/554 \n*Batidora Manual / de Mesa\n**Liliana\n***AR: >300\n*Trituradora \n*Ventilador \n**Combi (Paris)\n***CL: 200','utf-8'),(103,'*Samsung NP-NC110P\n**CL: $1500 ($2407)\n**AR: $2700 en 12\n*Acer I3\n**CL: $2300 ($3686)\n**AR: $5100\n*Dell 14 I3\n**CL: $2500 ($4007)\n**AR: $5800\n*Galaxy Tab II\n**CL: $1800 ($2800)\n**AR: $3300\n*Router\n**DLINK 600\n***CL: $100 ($160)\n***AR: $219','utf-8'),(104,'*Mochilas \n*Camaras \n**D3100\n***CL: $3.500 (5.617)\n***AR: $7.692\n**D3200\n***CL:$5.300 (8.506)\n***AR:$9.590\n**D5100\n***CL:$5.000 (8.025)\n***AR:$9.552\n*Porta Paquete Tubo\n*PortaEquipaje\n*Enchufes IRAM + Herramientas\n*Mopa a Vapor (paris.cl)\n**CL: $200\n*Anafe eléctrico / gas -> Sodi','utf-8'),(105,'*Terrabike\n**San Diego 896 y Coquimbo\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980\n**Sabado 11-15','utf-8'),(106,'==Notas==\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado]]\n**[[Spanex_Competencia]]\n**[[Spanex_Ideas]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(107,'==Notas==\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(108,'*Velux \n*Flamia\n*Grupo Dap\n*Tannit\n*Mercado de Sanitarios\n*Barrio El Trébol (barrioeltrebol@hotmail.com)\n**Contacto: Flavio Bertolini','utf-8'),(109,'*Internacional\n**facilsoft.net\n**moi.it\n**TeoWin\n**Gesfacil\n**INGNio\n**CarpinGest 2005\n*Domestica\n**WinMaker','utf-8'),(110,'==Notas==\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(111,'*Praga\n**Alojamiento\n***Hotel Mars\n****Praga 10','utf-8'),(112,'*Paris\n**Hoteles\n***Hauteville Opera\n****41 Rue d\'Hauteville\n****75010 Paris, France\n****01 47 70 41 39\n****hautevilleopera.com\n****Contacto: Hider','utf-8'),(113,'*Paris\n**Hoteles\n***Hauteville Opera\n****41 Rue d\'Hauteville<br>75010 Paris, France<br>01 47 70 41 39<br>hautevilleopera.com<br>Contacto: Hider','utf-8'),(114,'*Paris\n**Hoteles\n***Hauteville Opera<br>\'\'41 Rue d\'Hauteville<br>75010 Paris, France<br>01 47 70 41 39<br>hautevilleopera.com<br>Contacto: Hider\'\'','utf-8'),(115,'*Paris\n**Hoteles\n***Hauteville Opera<br>\'\'41 Rue d\'Hauteville<br>75010 Paris, France<br>01 47 70 41 39<br>http://hautevilleopera.com<br>Contacto: Hider\'\'','utf-8'),(116,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_Compras|Compras]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(117,'*Rapiestant \n*Patentes / ABL\n*Unidad CD\n*ANSES\n*Facturas Nuevas\n*Baterías\n**LaptopAid\n<br>0800.345.0227\n<br>Tres Sargentos 463 3º\n<br>LV 10-18','utf-8'),(118,'*Rapiestant \n*Patentes / ABL\n*Unidad CD\n*ANSES\n*Facturas Nuevas\n*Baterías\n**LaptopAid<br>\n<br>0800.345.0227\n<br>Tres Sargentos 463 3º\n<br>LV 10-18','utf-8'),(119,'*Rapiestant \n*Patentes / ABL\n*Unidad CD\n*ANSES\n*Facturas Nuevas\n*Baterías\n**LaptopAid<br>0800.345.0227\n<br>Tres Sargentos 463 3º\n<br>LV 10-18','utf-8'),(120,'*Rapiestant \n*Patentes / ABL\n*Unidad CD\n*ANSES\n*Facturas Nuevas\n*Baterías\n**LaptopAid<br>Tres Sargentos 463 3º<br>0800.345.0227<br>LV 10-18','utf-8'),(121,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(122,'*Oftalmología \n**Catalini, Gabriela<br>Bitácora\n 20130218: Revisión General\n20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela\n*Cardiología\n**Novo, Fedor\n20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n20130228: Consulta\n*Traumatología\n*Senes, E\n*Traumatología Columna\n**Lloyd, Rud\n*Reumatología\n**Gomez, Andrea\n20110901\n*Nutricionista\n**Gimenez, Mariana\n20110901','utf-8'),(123,'*Oftalmología \n**Catalini, Gabriela<br>Bitácora\n 20130218: Revisión General\n 20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela\n*Cardiología\n**Novo, Fedor\n20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n20130228: Consulta\n*Traumatología\n*Senes, E\n*Traumatología Columna\n**Lloyd, Rud\n*Reumatología\n**Gomez, Andrea\n20110901\n*Nutricionista\n**Gimenez, Mariana\n20110901','utf-8'),(124,'*Oftalmología \n**Catalini, Gabriela<br>Bitácora\n 20130218: Revisión General\n 20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela\n*Cardiología\n**Novo, Fedor\n20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n20130228: Consulta\n*Traumatología\n*Senes, E\n*Traumatología Columna\n**Lloyd, Rud\n*Reumatología\n**Gomez, Andrea\n20110901\n*Nutricionista\n**Gimenez, Mariana\n20110901\ntext above\ntext above\n<blockquote>blockquote</blockquote>\ntext below\ntext below','utf-8'),(125,'*Oftalmología \n**Catalini, Gabriela<br>Bitácora\n::20130218: Revisión General\n::20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela\n*Cardiología\n**Novo, Fedor\n20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n20130228: Consulta\n*Traumatología\n*Senes, E\n*Traumatología Columna\n**Lloyd, Rud\n*Reumatología\n**Gomez, Andrea\n20110901\n*Nutricionista\n**Gimenez, Mariana\n20110901\ntext above\ntext above\n<blockquote>blockquote</blockquote>\ntext below\ntext below','utf-8'),(126,'*Oftalmología \n**Catalini, Gabriela<br>Bitácora\n::20130218: Revisión General\n::20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n::20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n::20130228: Consulta\n*Traumatología\n*Senes, E<br>Bitácora\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n*Reumatología\n**Gomez, Andrea<br>Bitácora\n::20110901\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n::20110901','utf-8'),(127,'*Oftalmología \n**Catalini, Gabriela<br>Bitácora\n::20130218: Revisión General\n::20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n::20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n::20130228: Consulta\n*Traumatología\n**Senes, E<br>Bitácora\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n::20130306: Consulta. \n::20130307: Resonancia Magnética Nuclear\n::20130410: Consulta RMN\n*Reumatología\n**Gomez, Andrea<br>Bitácora\n::20110901\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n::20110901','utf-8'),(128,'*Oftalmología \n**Catalini, Gabriela<br>Bitácora\n::20130218: Revisión General\n::20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n::20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n::20130228: Consulta\n*Traumatología\n**Senes, E<br>Bitácora\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n::20130306: Consulta. \n::20130307: Resonancia Magnética Nuclear\n::20130410: Consulta RMN\n*Reumatología\n**Gomez, Andrea<br>Bitácora\n::20110901\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n::20110901\n<div style=\"float: left; width: 33%\">\n* Info for first column\nMore info for first column\n</div><div style=\"float: left; width: 33%\">\n* Info for second column\nMore info for second column\n</div><div style=\"float: left; width: 33%\">\n*Info for third column\nMore info for third column\n</div>','utf-8'),(129,'*Terrabike\n**San Diego 896 y Coquimbo http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(130,'*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD Mapa]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(131,'*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD (Mapa)]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(132,'*Mochilas\n*Bolsos\n**Bicicleta\n**Rollers\n*Camaras \n**D3100\n***CL: $3.500 (5.617)\n***AR: $7.692\n**D3200\n***CL:$5.300 (8.506)\n***AR:$9.590\n**D5100\n***CL:$5.000 (8.025)\n***AR:$9.552\n*Porta Paquete Tubo\n*PortaEquipaje\n*Enchufes IRAM + Herramientas\n*Mopa a Vapor (paris.cl)\n**CL: $200\n*Anafe eléctrico / gas -> Sodi','utf-8'),(133,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n===[[Diagrama (EN)]]===\n===[[Diagrama (ES)]]===\n===[[Glosario EN-ES]]===\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(134,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n=====[[Diagrama (EN)]]=====\n===[[Diagrama (ES)]]===\n===[[Glosario EN-ES]]===\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(135,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n======[[Diagrama (EN)]]======\n\n===[[Diagrama (ES)]]===\n===[[Glosario EN-ES]]===\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n===Mantenimiento===\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(136,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n=====[[Diagrama (EN)]]=====\n\n=====[[Diagrama (ES)]]=====\n=====[[Glosario EN-ES]]=====\n=====[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]=====\n=====[http://bicycletutor.com/ BicycleTutor.com]=====\n=====[http://http://www.bicycling.com/ Bicycling.com]=====\n=====[http://www.biciclub.com/ Biciclub.com]=====\n=====Mantenimiento=====\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(137,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n=====*[[Diagrama (EN)]]=====\n\n=====[[Diagrama (ES)]]=====\n=====[[Glosario EN-ES]]=====\n=====[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]=====\n=====[http://bicycletutor.com/ BicycleTutor.com]=====\n=====[http://http://www.bicycling.com/ Bicycling.com]=====\n=====[http://www.biciclub.com/ Biciclub.com]=====\n=====Mantenimiento=====\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(138,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n=====[[Diagrama (EN)]]=====\n=====[[Diagrama (ES)]]=====\n=====[[Glosario EN-ES]]=====\n=====[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]=====\n=====[http://bicycletutor.com/ BicycleTutor.com]=====\n=====[http://http://www.bicycling.com/ Bicycling.com]=====\n=====[http://www.biciclub.com/ Biciclub.com]=====\n=====[[Mantenimiento]]=====\n\n\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(139,'Las revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(140,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n=====[[Diagrama (EN)]]=====\n=====[[Diagrama (ES)]]=====\n=====[[Glosario EN-ES]]=====\n=====[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]=====\n=====[http://bicycletutor.com/ BicycleTutor.com]=====\n=====[http://http://www.bicycling.com/ Bicycling.com]=====\n=====[http://www.biciclub.com/ Biciclub.com]=====\n=====[[Bicicletas_Mantenimiento|Mantenimiento]]=====\n\n\nLas revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(141,'Las revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depender del uso que se le dé, de las condiciones climáticas bajo las que se utilice, del rendimiento, de si se conduce por un camino o por carretera, su calidad...\n\nLa revisión periódica anual debería considerarse como el punto de partida para un ciclista medio que cumple unas condiciones \"normales\".\n\n\'\'\'Antes de cada vez que se monte en bici:\'\'\'\n*Comprueba que las ruedas estén infladas y que los frenos funcionen.\n*Verifica que no haya ningún radio roto, y que no falte ninguna pieza.\n\n\'\'\'Revisiones semanales:\'\'\'\n*Comprueba si la cadena está adecuadamente lubricada\n*Comprobar los cubos y el soporte inferior para saber si hay bamboleo.\n*Haz girar las ruedas para comprobar que estén bien centradas.\n\n\'\'\'Trimestralmente:\'\'\'\n*Amplia revisión de la funcionabilidad de los frenos.\n*Comprobar el ajuste de los cambios de marchas.\n*Engrasar el tubo del asiento. Puede que técnicamente no sea una parte móvil, pero no sería deseable que pudiera quedar atascada.\n\n\'\'\'Al menos cada dos años:\'\'\'\n*Desensamblarla por completo, limpiar todas sus partes, y lubricar todas las zonas móviles.\n*Engrasar las zonas de contacto \'metal con metal\'.\n*Reemplazar las partes desgastadas cuando sea necesario.','utf-8'),(142,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n=====[[Diagrama (EN)]]=====\n=====[[Diagrama (ES)]]=====\n=====[[Glosario EN-ES]]=====\n=====[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]=====\n=====[http://bicycletutor.com/ BicycleTutor.com]=====\n=====[http://http://www.bicycling.com/ Bicycling.com]=====\n=====[http://www.biciclub.com/ Biciclub.com]=====\n=====[[Bicicletas_Mantenimiento|Mantenimiento]]=====','utf-8'),(143,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n*[[Bicicletas_Mantenimiento|Mantenimiento]]','utf-8'),(144,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n*[[Bicicletas_Mantenimiento|Mantenimiento]]\n*[[Bicicletas_Tiendas|Tiendas]]','utf-8'),(145,'*HappyBuy\n*RodadosPaternal\n*PolanskiWorld','utf-8'),(146,'*HappyBuy\n*RodadosPaternal\n*PolanskiWorld\n*TuHogarSustentable<br>http://www.tuhogarsustentable.com/<br>Cabello 3433<br>(011)6091-3838<br>info@tuhogarsustentable.com','utf-8'),(147,'*HappyBuy\n*RodadosPaternal\n*PolanskiWorld\n*TuHogarSustentable<br>http://www.tuhogarsustentable.com/<br>Cabello 3433<br>(011)6091-3838<br>mailto:info@tuhogarsustentable.com','utf-8'),(148,'*HappyBuy\n*RodadosPaternal\n*PolanskiWorld\n*TuHogarSustentable<br>http://www.tuhogarsustentable.com/<br>Cabello 3433<br>(011)6091-3838<br>[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]','utf-8'),(149,'*HappyBuy\n*RodadosPaternal\n*PolanskiWorld<br>Aguirre 1066 D (con cita previa!)<br>011.15.4991.2357<br>http://polanskiworld.tumblr.com<br>mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n\n\n*TuHogarSustentable<br>http://www.tuhogarsustentable.com/<br>Cabello 3433<br>011.6091.3838<br>[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]','utf-8'),(150,'*HappyBuy<br>http://www.happybuyargentina.com/<br>Av Scalabrini Ortiz 361<br>011.4857.2467<br>011.4856.8913<br>[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n*RodadosPaternal<br>Terrero 2200<br>011.4586.4243\n*PolanskiWorld<br>Aguirre 1066 D (con cita previa!)<br>011.15.4991.2357<br>http://polanskiworld.tumblr.com<br>[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n*TuHogarSustentable<br>http://www.tuhogarsustentable.com/<br>Cabello 3433<br>011.6091.3838<br>[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]','utf-8'),(151,'\n\n==\n*Parrilla Flotante / Parrillas (15000-19000)\n*Luces (5000 el par)\n*Luces Llanta (1400)\n*Guardabarros\n*Sillin / Vela\n==Tiendas==\n*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD (Mapa)]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(152,'==Lista Compras==\n*Parrilla Flotante / Parrillas (15000-19000)\n*Luces (5000 el par)\n*Luces Llanta (1400)\n*Guardabarros\n*Sillin / Vela\n==Tiendas==\n*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD (Mapa)]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(153,'*Oftalmología\n**Vanelli, Constanza\n::20110824: Revisión General. 0.75\n**Catalini, Gabriela<br>Bitácora\n::20130218: Revisión General\n::20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n::20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n::20130228: Consulta\n*Traumatología\n**Senes, E<br>Bitácora\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n::20130306: Consulta. \n::20130307: Resonancia Magnética Nuclear\n::20130410: Consulta RMN\n*Reumatología\n**Gomez, Andrea<br>T:15.6158.1017<br>Bitácora\n::20110901\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n::20110901\n<div style=\"float: left; width: 33%\">\n* Info for first column\nMore info for first column\n</div><div style=\"float: left; width: 33%\">\n* Info for second column\nMore info for second column\n</div><div style=\"float: left; width: 33%\">\n*Info for third column\nMore info for third column\n</div>','utf-8'),(154,'*Oftalmología\n**Vanelli, Constanza\n::20110824: Revisión General. 0.75\n**Catalini, Gabriela<br>Bitácora\n::20130218: Revisión General\n::20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n::20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n::20130228: Consulta\n*Traumatología\n**Senes, E<br>Bitácora\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n::20130306: Consulta. \n::20130307: Resonancia Magnética Nuclear\n::20130410: Consulta RMN\n*Reumatología\n**Gomez, Andrea<br>T:15.6158.1017<br>Lun0800-1400/Mar0800-2000/Mie0830-1400/Jue1700-2000<br>Bitácora\n::20110831: Tendinosis. Blokium B12\n::20111109: Tendinitis Bicipital\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n::20110901\n<div style=\"float: left; width: 33%\">\n* Info for first column\nMore info for first column\n</div><div style=\"float: left; width: 33%\">\n* Info for second column\nMore info for second column\n</div><div style=\"float: left; width: 33%\">\n*Info for third column\nMore info for third column\n</div>','utf-8'),(155,'*Oftalmología\n**Vanelli, Constanza\n::20110824: Revisión General. 0.75\n**Catalini, Gabriela<br>Bitácora\n::20130218: Revisión General\n::20130227: Fondo de Ojos\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n::20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n::20130228: Consulta\n*Traumatología\n**Senes, E<br>Bitácora\n::20120813: Resonancia Magnética Nuclear\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n::20130306: Consulta. \n::20130307: Resonancia Magnética Nuclear\n::20130410: Consulta RMN\n*Reumatología\n**Gomez, Andrea<br>T:15.6158.1017<br>Lun0800-1400/Mar0800-2000/Mie0830-1400/Jue1700-2000<br>Bitácora\n::20110831: Tendinosis. Blokium B12\n::20111007: Resonancia Magnética Nuclear\n::20111109: Tendinitis Bicipital\n::20121205: Ecografía Dedo 4º Derecha.\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n::20110901\n<div style=\"float: left; width: 33%\">\n* Info for first column\nMore info for first column\n</div><div style=\"float: left; width: 33%\">\n* Info for second column\nMore info for second column\n</div><div style=\"float: left; width: 33%\">\n*Info for third column\nMore info for third column\n</div>','utf-8'),(156,'*Rapiestant \n*Patentes / ABL\n*Unidad CD\n*ANSES\n*Facturas Nuevas\n<strike>*Baterías</strike>\n**LaptopAid<br>Tres Sargentos 463 3º<br>0800.345.0227<br>LV 10-18','utf-8'),(157,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n*[[Bicicletas_Mantenimiento|Mantenimiento]]\n*[[Bicicletas_Tiendas|Tiendas]]','utf-8'),(158,'*EH\n**http://www.flickr.com/photos/ewahenry/\n**http://seesomestuff.com/illustrations/','utf-8'),(159,'','utf-8'),(160,'==Lista Compras==\n\n==Tiendas==\n*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD (Mapa)]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(161,'','utf-8'),(162,'','utf-8'),(163,'*EH\n**http://www.flickr.com/photos/ewahenry/\n**http://seesomestuff.com/illustrations/\n**http://jaggededge.blox.pl/html','utf-8'),(164,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Mecánica]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n*[[Bicicletas_Mantenimiento|Mantenimiento]]\n*[[Bicicletas_Tiendas|Tiendas]]','utf-8'),(165,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\nFusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\nTope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\nTope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36','utf-8'),(166,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36','utf-8'),(167,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\n====Cuadros====','utf-8'),(168,'','utf-8'),(169,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB','utf-8'),(170,'','utf-8'),(171,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB','utf-8'),(172,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png]]\n[[Image:Bicicletas.Diagrama.Stem.png|border|100px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB','utf-8'),(173,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png]]\n[[Image:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB','utf-8'),(174,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png]]\n[[Image:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|200px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB','utf-8'),(175,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png]]\n[[Image:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB','utf-8'),(176,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB','utf-8'),(177,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana','utf-8'),(178,'===Contactos===\nInstructor: Diego\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(179,'===Contactos===\nInstructor: Diego\n\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(180,'===Contactos===\n*Instructor\n*:Diego Maldonado\n*:http://www.maldonadobiketech.com\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n\nCentro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(181,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Roberto Garcilazo\n*:Marcela\n*:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(182,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(183,'','utf-8'),(184,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.\n[[File:Bicicletas.Fusible.jpg|100px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(185,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(186,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(187,'*EH\n**http://www.flickr.com/photos/ewahenry/\n**http://seesomestuff.com/illustrations/\n**http://jaggededge.blox.pl/html\n**http://www.linkedin.com/in/ewahenry\n**!1055 Shawnmarr Rd, Unit 127\n**!Mississauga, Ontario L5H 3V2 CA\n**! +1.9058915309','utf-8'),(188,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Retirar Rueda Trasera\n*Verificar Cableado\n*!Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*Usar Calibrador\n*Punto superior\n*Punto inferior\n*Punto izquierdo medio\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(189,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\nPara Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar \n\n\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(190,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(191,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador','utf-8'),(192,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Mecánica]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[[Mercado]]\n*[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n*[http://bicycletutor.com/ BicycleTutor.com]\n*[http://http://www.bicycling.com/ Bicycling.com]\n*[http://www.biciclub.com/ Biciclub.com]\n*[[Bicicletas_Mantenimiento|Mantenimiento]]\n*[[Bicicletas_Tiendas|Tiendas]]','utf-8'),(193,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====','utf-8'),(194,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar','utf-8'),(195,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\n\n[[User:Username]]','utf-8'),(196,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\n\n<?php\n// prints something like: Wednesday the 15th\necho date(\'l \\t\\h\\e jS\');\n?>','utf-8'),(197,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\n\n<?php\necho date(\'l \\t\\h\\e jS\');\n?>','utf-8'),(198,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\n\n{{CURRENTTIMESTAMP}}','utf-8'),(199,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\n\nFecha última Actualización: {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}','utf-8'),(200,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\n{{LOCALTIMESTAMP}}\nFecha última Actualización: {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}','utf-8'),(201,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\n{{LOCALTIMESTAMP}}\nFecha última Actualización: {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}','utf-8'),(202,'*Rapiestant \n*Patentes / ABL\n*Unidad CD\n*ANSES\n*Facturas Nuevas\n*Baterias\n**LaptopAid\n**:Tres Sargentos 463 3º\n**:0800.345.0227\n**:LV 10-18','utf-8'),(203,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\'\'\'\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}','utf-8'),(204,'Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>','utf-8'),(205,'\'\'\'Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>','utf-8'),(206,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n====Tiendas====\n====Contactos====\n*Monti\n*:Pringles 3474\n*:Lomas del Mirador\n*:Buenos Aires\n*:Argentina\n*:T:+54.11.4482.1771\n*:http://www.montisrl.com.ar\'\'\'\n*HappyBuy\n*:http://www.happybuyargentina.com/\n*:Av Scalabrini Ortiz 361\n*:011.4857.2467<br>011.4856.8913\n*:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n*RodadosPaternal\n*:Terrero 2200\n*:011.4586.4243\n*PolanskiWorld\n*:Aguirre 1066 D (con cita previa!)\n*:011.15.4991.2357\n*:http://polanskiworld.tumblr.com\n*:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n*TuHogarSustentable\n*:http://www.tuhogarsustentable.com/\n*:Cabello 3433<br>011.6091.3838\n*:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}','utf-8'),(207,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Mecánica]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n*[[Bicicletas_Mantenimiento|Mantenimiento]]','utf-8'),(208,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]\n\n==Bicicletas==\n*[[Mecánica]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]','utf-8'),(209,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*[[Mecánica]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(210,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario EN-ES]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(211,'\'\'\'Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>\n\n=====Registro Reparaciones=====\n*Cliente:\n*Equipo:\n*Recepción:\n*Pre-Diagnóstico:\n*Diagnóstico Final\n*Reemplazos\n*MO\n*Cierre\n*Entrega\n*Observaciones\n*\'\'\'Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>','utf-8'),(212,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n====Tiendas====\n====Contactos====\n=====Monti=====\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n*HappyBuy\n*:http://www.happybuyargentina.com/\n*:Av Scalabrini Ortiz 361\n*:011.4857.2467<br>011.4856.8913\n*:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n*RodadosPaternal\n*:Terrero 2200\n*:011.4586.4243\n*PolanskiWorld\n*:Aguirre 1066 D (con cita previa!)\n*:011.15.4991.2357\n*:http://polanskiworld.tumblr.com\n*:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n*TuHogarSustentable\n*:http://www.tuhogarsustentable.com/\n*:Cabello 3433<br>011.6091.3838\n*:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}','utf-8'),(213,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n====Tiendas====\n====Contactos====\n=====Monti=====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n=====HappyBuy=====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n=====RodadosPaternal=====\n----\nTerrero 2200\n:011.4586.4243\n=====PolanskiWorld=====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n=====TuHogarSustentable=====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}','utf-8'),(214,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n====Tiendas====\n====Contactos====\n=====Monti=====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n=====HappyBuy=====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n=====RodadosPaternal=====\n----\nTerrero 2200\n:011.4586.4243\n=====PolanskiWorld=====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n=====TuHogarSustentable=====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(215,'===Proveedores===\n====Mayoristas====\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n====Tiendas====\n===Contactos===\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(216,'===Proveedores===\n====Mayoristas====\n*[[page name#section name|displayed text]]\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n\n{{FULLPAGENAME}}\n{{PAGENAME}}\n{{BASEPAGENAME}}\n{{SUBPAGENAME}}\n{{SUBJECTPAGENAME}}\n{{ARTICLEPAGENAME}}\n{{TALKPAGENAME}}\n\n====Tiendas====\n===Contactos===\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(217,'===Proveedores===\n====Mayoristas====\n*{{FULLPAGENAME}}#Monti|Monti\n*[[Monti]]\n*[[AngelDiaz]] (Campagnuolo)\n\n\n{{FULLPAGENAME}}\n{{PAGENAME}}\n{{BASEPAGENAME}}\n{{SUBPAGENAME}}\n{{SUBJECTPAGENAME}}\n{{ARTICLEPAGENAME}}\n{{TALKPAGENAME}}\n\n====Tiendas====\n===Contactos===\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(218,'===Proveedores===\n====Mayoristas====\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n\n====Tiendas====\n===Contactos===\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(219,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n===Contactos===\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(220,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n===Contactos===\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(221,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n--->\n====Proveedor====\n----\n---<\n\n===Contactos===\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(222,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n\n===Contactos===\n<!-- \n====Proveedor====\n----\n --<\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(223,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(224,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(225,'[[File:Bicycle_diagram-es.png]]\n\n[[File:Bicicleta.Despiece.jpg]]\n\n 1 Cuadro\n 2 Horquilla\n 3  Manubrio (manillar)\n 4 Stem\n 5 Expansor\n 6 Tornillo de apriete  \n 7 y 8 Juego de dirección (ver abajo)  \n 9 Cubierta\n10 Llanta\n11 Maza (buje)\n12 Rayos\n13 Cubeta derecha de la caja pedalera  \n14 Bolillas \n15 Eje  \n16 Cubeta izquierda de la caja pedalera \n17 Taza izquierda caja pedalera \n18 Contra tuerca de la caja\n19 Palanca (biela) izquierda\n20 Tornillo\n21 Arandela\n22 Protector contra el polvo\n23 Palanca (biela) derecha y plato\n24 Taza derecha caja pedalera\n25 Punteras\n26 Pedales\n27 Cadena\n28 Vela (tubo del asiento)\n29 Apriete del tubo del asiento\n30 Asiento\n31 Piñón   \n32 Correa de las punteras','utf-8'),(226,'[[File:Bicycle_diagram-es.png]]\n[[Diagrama (EN)|Diagrama (Inglés)]]\n\n[[File:Bicicleta.Despiece.jpg]]\n\n 1 Cuadro\n 2 Horquilla\n 3  Manubrio (manillar)\n 4 Stem\n 5 Expansor\n 6 Tornillo de apriete  \n 7 y 8 Juego de dirección (ver abajo)  \n 9 Cubierta\n10 Llanta\n11 Maza (buje)\n12 Rayos\n13 Cubeta derecha de la caja pedalera  \n14 Bolillas \n15 Eje  \n16 Cubeta izquierda de la caja pedalera \n17 Taza izquierda caja pedalera \n18 Contra tuerca de la caja\n19 Palanca (biela) izquierda\n20 Tornillo\n21 Arandela\n22 Protector contra el polvo\n23 Palanca (biela) derecha y plato\n24 Taza derecha caja pedalera\n25 Punteras\n26 Pedales\n27 Cadena\n28 Vela (tubo del asiento)\n29 Apriete del tubo del asiento\n30 Asiento\n31 Piñón   \n32 Correa de las punteras','utf-8'),(227,'[[File:Bicycle_diagram-es.png]]\n\n[[Diagrama (EN)|Diagrama(Inglés)]]\n\n[[File:Bicicleta.Despiece.jpg]]\n\n 1 Cuadro\n 2 Horquilla\n 3  Manubrio (manillar)\n 4 Stem\n 5 Expansor\n 6 Tornillo de apriete  \n 7 y 8 Juego de dirección (ver abajo)  \n 9 Cubierta\n10 Llanta\n11 Maza (buje)\n12 Rayos\n13 Cubeta derecha de la caja pedalera  \n14 Bolillas \n15 Eje  \n16 Cubeta izquierda de la caja pedalera \n17 Taza izquierda caja pedalera \n18 Contra tuerca de la caja\n19 Palanca (biela) izquierda\n20 Tornillo\n21 Arandela\n22 Protector contra el polvo\n23 Palanca (biela) derecha y plato\n24 Taza derecha caja pedalera\n25 Punteras\n26 Pedales\n27 Cadena\n28 Vela (tubo del asiento)\n29 Apriete del tubo del asiento\n30 Asiento\n31 Piñón   \n32 Correa de las punteras','utf-8'),(228,'','utf-8'),(229,'[[File:Bicycle_diagram-es.png]]\n\n[[Diagrama (EN)|Diagrama(Inglés)]]\n\n[[File:Bicicleta.Despiece.jpg]]\n\n  1 Cuadro\n  2 Horquilla\n  3  Manubrio (manillar)\n  4 Stem\n  5 Expansor\n  6 Tornillo de apriete  \n  7 y 8 Juego de dirección (ver abajo)  \n  9 Cubierta\n 10 Llanta\n 11 Maza (buje)\n 12 Rayos\n 13 Cubeta derecha de la caja pedalera  \n 14 Bolillas \n 15 Eje  \n 16 Cubeta izquierda de la caja pedalera \n 17 Taza izquierda caja pedalera \n 18 Contra tuerca de la caja\n 19 Palanca (biela) izquierda\n 20 Tornillo\n 21 Arandela\n 22 Protector contra el polvo\n 23 Palanca (biela) derecha y plato\n 24 Taza derecha caja pedalera\n 25 Punteras\n 26 Pedales\n 27 Cadena\n 28 Vela (tubo del asiento)\n 29 Apriete del tubo del asiento\n 30 Asiento\n 31 Piñón   \n 32 Correa de las punteras','utf-8'),(230,'{| {{table}}\n| align=\"center\" style=\"background:#f0f0f0;\"|\'\'\'Español\'\'\'\n| align=\"center\" style=\"background:#f0f0f0;\"|\'\'\'Ingles\'\'\'\n| align=\"center\" style=\"background:#f0f0f0;\"|\'\'\'Francés\'\'\'\n|-\n| Trasero ||Rear ||Arrière\n|-\n| Delantero ||Front ||Avant\n|-\n| Rosca ||Thread ||Pas de vis \n|-\n| Cuadro ||Frame ||Cadre\n|-\n| Tubo superior ||Top tube ||Tube horizontale\n|-\n| Telescopio ||Head tube ||Tube de direction\n|-\n| Tubo de asiento ||Seat tube ||Tube de selle \n|-\n| Tubo inferior ||Down tube ||Tube diagonal\n|-\n| Vaina inferior ||Chain stay ||Base \n|-\n| Vaina superior ||Seat stay ||Hauban\n|-\n| Caja pedalera ||Bottom bracket ||Boîtier de pédalier \n|-\n| Vela - Tubo de asiento ||Seat post ||Tige de selle\n|-\n| Asiento ||Saddle ||Selle\n|-\n| Horquilla ||Fork ||Fourche\n|-\n| Stem ||Stem ||Potence\n|-\n| Manubrio ||Handlebar ||Cintre\n|-\n| Juego de dirección ||Headset ||Jeu de direction \n|-\n| Eje ||Axle ||Axe\n|-\n| Rueda ||Wheel ||Roue\n|-\n| Piñón libre ||Freewheel ||Roue libre\n|-\n| Llanta ||Rim ||Jante \n|-\n| Maza ||Hub ||Moyeu\n|-\n| Rayo ||Spoke ||Rayon \n|-\n| Cámara ||Inner tube ||Chambre à air\n|-\n| Cubierta ||Tyre ||Pneu \n|-\n| Freno ||Brake ||Frein \n|-\n| Palanca de freno ||Brake lever ||Levier de frein\n|-\n| Palanca ||Crank / Lever||Manivelle \n|-\n| Pedal ||Pedal ||Pédale\n|-\n| Puntera ||Toe clip ||Cale pied\n|-\n| Correa puntera ||Toe strap ||Sangles cale pied\n|-\n| Cadena ||Chain ||Chaîne\n|-\n| Plato - corona ||Chainring ||Couronne \n|-\n| Piñón ||Cog - Sprocket ||Pignon\n|-\n| Rueda ||Wheel||\n|-\n| Palanca Cambios||Shifter||\n|-\n| \n|}','utf-8'),(231,'==Notas==\n*SAS\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(232,'{| {{table}}\n| align=\"center\" style=\"background:#f0f0f0;\"|\'\'\'Español\'\'\'\n| align=\"center\" style=\"background:#f0f0f0;\"|\'\'\'Ingles\'\'\'\n| align=\"center\" style=\"background:#f0f0f0;\"|\'\'\'Francés\'\'\'\n|-\n| Asiento ||Saddle ||Selle\n|-\n| Cadena ||Chain ||Chaîne\n|-\n| Caja pedalera ||Bottom bracket ||Boîtier de pédalier \n|-\n| Cámara ||Inner tube ||Chambre à air\n|-\n| Correa puntera ||Toe strap ||Sangles cale pied\n|-\n| Cuadro ||Frame ||Cadre\n|-\n| Cubierta ||Tyre ||Pneu \n|-\n| Delantero ||Front ||Avant\n|-\n| Eje ||Axle ||Axe\n|-\n| Freno ||Brake ||Frein \n|-\n| Horquilla ||Fork ||Fourche\n|-\n| Juego de dirección ||Headset ||Jeu de direction \n|-\n| Llanta ||Rim ||Jante \n|-\n| Manubrio ||Handlebar ||Cintre\n|-\n| Maza ||Hub ||Moyeu\n|-\n| Palanca ||Crank / Lever||Manivelle \n|-\n| Palanca Cambios||Shifter||\n|-\n| Palanca de freno ||Brake lever ||Levier de frein\n|-\n| Pedal ||Pedal ||Pédale\n|-\n| Piñón ||Cog - Sprocket ||Pignon\n|-\n| Piñón libre ||Freewheel ||Roue libre\n|-\n| Plato - corona ||Chainring ||Couronne \n|-\n| Puntera ||Toe clip ||Cale pied\n|-\n| Rayo ||Spoke ||Rayon \n|-\n| Rosca ||Thread ||Pas de vis \n|-\n| Rueda ||Wheel ||Roue\n|-\n| Rueda ||Wheel||\n|-\n| Stem ||Stem ||Potence\n|-\n| Telescopio ||Head tube ||Tube de direction\n|-\n| Trasero ||Rear ||Arrière\n|-\n| Tubo de asiento ||Seat tube ||Tube de selle \n|-\n| Tubo inferior ||Down tube ||Tube diagonal\n|-\n| Tubo superior ||Top tube ||Tube horizontale\n|-\n| Vaina inferior ||Chain stay ||Base \n|-\n| Vaina superior ||Seat stay ||Hauban\n|-\n| Vela - Tubo de asiento ||Seat post ||Tige de selle\n|-\n| \n|}','utf-8'),(233,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n====Distribuidores====\n*[[{{FULLPAGENAME}}#CarlosKarabitian|Carlos Karabitian]]\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n====OsvaldoFreier====\n----\n:Osvaldo A.Freier S.R.L\n:Libertad 755\n:Tapiales\n:La Matanza\n:Buenos Aires \n:T:11.4442.1751\n:F:11.4442.1756\n:Marcas: [[RST]]\n====CarlosKarabitian====\n----\n:Carlos Karabitian\n:T:0351.4936060\n:F:0351.4931003\n:Distribuidor: [[RST]]\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(234,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n*[[{{FULLPAGENAME}}#OsvaldoFreier|Osvaldo Freier]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n====Distribuidores====\n*[[{{FULLPAGENAME}}#CarlosKarabitian|Carlos Karabitian]]\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n====OsvaldoFreier====\n----\n:Osvaldo A.Freier S.R.L\n:Libertad 755\n:Tapiales\n:La Matanza\n:Buenos Aires \n:T:11.4442.1751\n:F:11.4442.1756\n:Marcas: [[RST]]\n====CarlosKarabitian====\n----\n:Carlos Karabitian\n:T:0351.4936060\n:F:0351.4931003\n:Distribuidor: [[RST]]\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(235,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n*[[{{FULLPAGENAME}}#OsvaldoFreier|Osvaldo Freier]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n====Distribuidores====\n*[[{{FULLPAGENAME}}#CarlosKarabitian|Carlos Karabitian]]\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n====OsvaldoFreier====\n----\n:Osvaldo A.Freier S.R.L\n:Libertad 755\n:Tapiales\n:La Matanza\n:Buenos Aires \n:T:11.4442.1751\n:F:11.4442.1756\n:Marcas: [[http://www.rst.com.tw/en/ RST]]\n\n====CarlosKarabitian====\n----\n:Carlos Karabitian\n:T:0351.4936060\n:F:0351.4931003\n:Distribuidor: [[RST]]\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(236,'===Proveedores===\n====Mayoristas====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n*[[{{FULLPAGENAME}}#OsvaldoFreier|Osvaldo Freier]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n====Distribuidores====\n*[[{{FULLPAGENAME}}#CarlosKarabitian|Carlos Karabitian]]\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n====OsvaldoFreier====\n----\n:Osvaldo A.Freier S.R.L\n:Libertad 755\n:Tapiales\n:La Matanza\n:Buenos Aires \n:T:11.4442.1751\n:F:11.4442.1756\n:Marcas: [[http://www.rst.com.tw/en/ RST]]\n\n====CarlosKarabitian====\n----\n:Carlos Karabitian\n:T:0351.4936060\n:F:0351.4931003\n:Distribuidor: [[http://www.rst.com.tw/en/ RST]]\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(237,'\'\'\'Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>\n\n=====Registro Reparaciones=====\n*Cliente:\n*Equipo:\n*Recepción:\n*Pre-Diagnóstico:\n*Diagnóstico Final\n*Reemplazos\n*MO\n*Cierre\n*Entrega\n*Observaciones\n*\'\'\'Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>\n\n=====Registro Planilla=====\nhttp://excel2wiki.net/index.php','utf-8'),(238,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.5\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.','utf-8'),(239,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\nTiempo promedio de fábrica: 10\'\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.5\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 265mm-Cruzado de 3=====\nIdem anterior con las salvedades de:\n#En cambio de 4 lugares, hacer 3.\n#Tener en cuenta que cada vez que se reduce el entrecruzamiento, el largo de los rayos se reduce en 5mmm.','utf-8'),(240,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\nTiempo promedio de fábrica: 10\'\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.4\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.\n\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 265mm-Cruzado de 3=====\nIdem anterior con las salvedades de:\n#En cambio de 4 lugares, hacer 3.\n#Tener en cuenta que cada vez que se reduce el entrecruzamiento, el largo de los rayos se reduce en 5mmm.','utf-8'),(241,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n====Caja Pedalera + Pedales====\n=====Extracción pedales=====\nAtención: Todos los pedales (Llave 15 o Allen) se extraen:\n*Lado Derecho (donde se encuentra el plato): Posicionado a la derecha frente a la caja pedalera, girar en contra reloj.\n*Lado Izquierdo: Posicionado a la izquierda frente a la caja Pedalera, girar como reloj.\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\nTiempo promedio de fábrica: 10\'\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.4\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.\n\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 265mm-Cruzado de 3=====\nIdem anterior con las salvedades de:\n#En cambio de 4 lugares, hacer 3.\n#Tener en cuenta que cada vez que se reduce el entrecruzamiento, el largo de los rayos se reduce en 5mmm.','utf-8'),(242,'===Proveedores===\n\n== Texto de encabezado ==\n====Mayoristas / Fábricantes====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n*[[{{FULLPAGENAME}}#OsvaldoFreier|Osvaldo Freier]]\n*[[{{FULLPAGENAME}}#DalSanto|DalSanto]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n====Distribuidores====\n*[[{{FULLPAGENAME}}#CarlosKarabitian|Carlos Karabitian]]\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n====OsvaldoFreier====\n----\n:Osvaldo A.Freier S.R.L\n:Libertad 755\n:Tapiales\n:La Matanza\n:Buenos Aires \n:T:11.4442.1751\n:F:11.4442.1756\n:Marcas: [[http://www.rst.com.tw/en/ RST]]\n\n====CarlosKarabitian====\n----\n:Carlos Karabitian\n:T:0351.4936060\n:F:0351.4931003\n:Distribuidor: [[http://www.rst.com.tw/en/ RST]]\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(243,'===Proveedores===\n\n== Texto de encabezado ==\n====Mayoristas / Fábricantes====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n*[[{{FULLPAGENAME}}#OsvaldoFreier|Osvaldo Freier]]\n*[[{{FULLPAGENAME}}#DalSanto|DalSanto]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n====Distribuidores====\n*[[{{FULLPAGENAME}}#CarlosKarabitian|Carlos Karabitian]]\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n====OsvaldoFreier====\n----\n:Osvaldo A.Freier S.R.L\n:Libertad 755\n:Tapiales\n:La Matanza\n:Buenos Aires \n:T:11.4442.1751\n:F:11.4442.1756\n:Marcas: [[http://www.rst.com.tw/en/ RST]]\n\n====CarlosKarabitian====\n----\n:Carlos Karabitian\n:T:0351.4936060\n:F:0351.4931003\n:Distribuidor: [[http://www.rst.com.tw/en/ RST]]\n====DalSanto====\n----\n:DalSanto\n:T:0332.7455400\n:Otto Krause 4541\n:Pacheco. Pcia.Buenos Aires\n\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(244,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n====Cadenas====\n=====Cadenas para MTB=====\nLargo habitual: 116 eslabones \n=====Procedimiento de Armado / Recambio=====\nPosicionar en Piñon Chico / Plato Chico y tensionar un poco (La pata de cambios se repliega al no tener la cadena y tensionando la cadena sabremos como quedaría en el caso de tensión máxima). El tensado correcto respondería a la distancia entre el segmento de la cadena entre el última polea-plato y la polea superior debería estar en el rango 1-2cm\nContar los eslabones a cortar.\nPosicionar en Piñon Grande / Plato Grande y verificar que la pata trasera se acerque a casi la posición vertical con respecto a la maza trasera.\n====Caja Pedalera + Pedales====\n=====Extracción pedales=====\nAtención: Todos los pedales (Llave 15 o Allen) se extraen:\n*Lado Derecho (donde se encuentra el plato): Posicionado a la derecha frente a la caja pedalera, girar en contra reloj.\n*Lado Izquierdo: Posicionado a la izquierda frente a la caja Pedalera, girar como reloj.\n\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\nTiempo promedio de fábrica: 10\'\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.4\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.\n\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 265mm-Cruzado de 3=====\nIdem anterior con las salvedades de:\n#En cambio de 4 lugares, hacer 3.\n#Tener en cuenta que cada vez que se reduce el entrecruzamiento, el largo de los rayos se reduce en 5mmm.','utf-8'),(245,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas)  [[File:checked.png|20px]]\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección\n**36/40\n**30/32\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15\n*Calibre comparardor para fusibles\n*Llaves Allen\n*Corta Cadena\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n\n====Cadenas====\n=====Cadenas para MTB=====\nLargo habitual: 116 eslabones \n=====Procedimiento de Armado / Recambio=====\nPosicionar en Piñon Chico / Plato Chico y tensionar un poco (La pata de cambios se repliega al no tener la cadena y tensionando la cadena sabremos como quedaría en el caso de tensión máxima). El tensado correcto respondería a la distancia entre el segmento de la cadena entre el última polea-plato y la polea superior debería estar en el rango 1-2cm\nContar los eslabones a cortar.\nPosicionar en Piñon Grande / Plato Grande y verificar que la pata trasera se acerque a casi la posición vertical con respecto a la maza trasera.\n====Caja Pedalera + Pedales====\n=====Extracción pedales=====\nAtención: Todos los pedales (Llave 15 o Allen) se extraen:\n*Lado Derecho (donde se encuentra el plato): Posicionado a la derecha frente a la caja pedalera, girar en contra reloj.\n*Lado Izquierdo: Posicionado a la izquierda frente a la caja Pedalera, girar como reloj.\n\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\nTiempo promedio de fábrica: 10\'\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.4\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.\n\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 265mm-Cruzado de 3=====\nIdem anterior con las salvedades de:\n#En cambio de 4 lugares, hacer 3.\n#Tener en cuenta que cada vez que se reduce el entrecruzamiento, el largo de los rayos se reduce en 5mmm.','utf-8'),(246,'','utf-8'),(247,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas) [[File:checked.png|20px]]\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"  [[File:checked.png|20px]]\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete [[File:checked.png|20px]]\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección [[File:checked.png|20px]]\n**36/40 [[File:checked.png|20px]]\n**30/32 [[File:checked.png|20px]]\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15 [[File:checked.png|20px]]\n*Calibre comparardor para fusibles [[File:checked.png|20px]]\n*Llaves Allen [[File:checked.png|20px]]\n*Corta Cadena [[File:checked.png|20px]]\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas [[File:checked.png|20px]]\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n\n====Cadenas====\n=====Cadenas para MTB=====\nLargo habitual: 116 eslabones \n=====Procedimiento de Armado / Recambio=====\nPosicionar en Piñon Chico / Plato Chico y tensionar un poco (La pata de cambios se repliega al no tener la cadena y tensionando la cadena sabremos como quedaría en el caso de tensión máxima). El tensado correcto respondería a la distancia entre el segmento de la cadena entre el última polea-plato y la polea superior debería estar en el rango 1-2cm\nContar los eslabones a cortar.\nPosicionar en Piñon Grande / Plato Grande y verificar que la pata trasera se acerque a casi la posición vertical con respecto a la maza trasera.\n====Caja Pedalera + Pedales====\n=====Extracción pedales=====\nAtención: Todos los pedales (Llave 15 o Allen) se extraen:\n*Lado Derecho (donde se encuentra el plato): Posicionado a la derecha frente a la caja pedalera, girar en contra reloj.\n*Lado Izquierdo: Posicionado a la izquierda frente a la caja Pedalera, girar como reloj.\n\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\nTiempo promedio de fábrica: 10\'\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.4\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.\n\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 265mm-Cruzado de 3=====\nIdem anterior con las salvedades de:\n#En cambio de 4 lugares, hacer 3.\n#Tener en cuenta que cada vez que se reduce el entrecruzamiento, el largo de los rayos se reduce en 5mmm.','utf-8'),(248,'===Contactos===\n*Instructor\n*:\'\'\'Diego Maldonado\'\'\'\n*:http://www.maldonadobiketech.com\n*:http://exactblog.com.ar\n*:M:011.5377.1711\n*:mailto:animalbikedeciudad@gmail.com\n*Centro de Formación Profesional Nº7\n*:Ramsay 2250 - CABA\n*:T:011.4783.8725\n**Contactos\n**:Roberto Garcilazo\n**:Marcela\n**:Mariano (Preceptor)\n\n===Notas===\n====Sistema de Cambios Trasero====\n*Fusible: Anclaje del sistema de cambios trasero paralelo al eje del piñon.[[File:Bicicletas.Fusible.jpg|75px]]\n*Tope Inferior: Limita al equipo que no zafe fuera del sistema en forma externa\n*Tope Superior: Limita al equipo que no se corra entre el equipo y la rueda trasera.\n*Piñones\n**Medidas\n**:11/32\n**:11/34\n**:11/36\n*Descarrilador\n=====Servicio=====\n*Verificar relación Plato/Piñon.\n*:Para Piñones de 13 dientes (generalmente de piñon a rosca), el plato debe ser de 48 dientes (plato grande) para que no quede \"corto\"\nAnalizar el costo-beneficio de hacer algín cambio (cambiar el piñon de 11 [casete] involucraría cambiar la masa y rearmar la rueda. Cambiar el plato, significaría reajustar el descarrilador delantero, y además cambiar la cadena por con 1 o 2 eslabones más.\n*Verificar Largo de Cadena.\n*:Ubicar la cadena en el plato chico y la corona chica. La distancia tiene entre la cadena y la rueda superior del cambio trasero tiene que ser de de 1cm. Si la cadena está demasiado alejada de la rueda superior, está corta y el resorte del cambio trasero trabaja con demasiada tensión. Si, a la inversa, la cadena toca la rueda superior de la pata de cambio, está demasiado larga y el resorte no trabaja con la tensión suficiente.\n*:En lo que hace a la cadena hay otros dos factores, el estiramiento y la suciedad. El estiramiento se da por el uso. Cuando la cadena cumple los 3000 km pierde la distancia original entre perno y perno y eso no sólo empieza a perjudicar a las coronas del piñón sino también al paso de los cambios. Se puede verificar el estado tratando de hacer torsión en la cadena. Si la torsión supera los 30º, es necesario plantear el cambio.\n*Retirar Rueda Trasera\n*Verificar Cableado\n*:Chequear si la funda de cambio es realmente de cambio (4mm), ya que en muchos casos suele ser de freno (5mm), y la funda de freno no es del diámetro interno correcto ni tampoco tiene la rigidez que debe tener una funda de cambio. Por otra parte debemos prestar atención al largo de la funda, ya que si es corta puede hacer que no entre de forma franca al regulador, estrangulándose.\n*Ajustar Tensión Cable\n*Ajustar Descarrilador Trasero\n*Ajustar Topes Superior e Inferior\n*Ajustar Fusible de Pata de Cambio\n*:El fusible debe estar paralelo a la cadena y al piñon. Para verificar que no exista desvío (es una pieza corta y no siempre es verificable a simple vista si está descalibrada), usar el calibrador de fusible.\n*:Se retira la pata de cambio y se inserta el calibrador en el mismo lugar que el perno de montaje de la pata de cambio.\n**Punto superior\n**:Marcar el extremo superior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno.\n**Punto inferior\n**:Marcar el extremo inferior de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida, verificar que la rueda se encuentre correctamente centrada. En el caso que esté correctamente colocada y que el calibre detecte que el fusible este doblado, forzar con el mismo calibre hasta que queden parejos (alineación vertical)\n**Punto izquierdo medio\n**:Marcar el extremo izquierdo de la llanta, tocando el calibre sobre el costado de la llanta como si fuese un patín de freno. En el caso que no coincida forzar con el mismo calibre hasta que queden parejos los tres puntos (alineación horizontal)\n*Ajustar\n\n====Sistemas de Frenos====\n*Herradura\n*Cantilever (Balancín)\n*V-Brake: Usado para frenadas más bruscas ya que ataca a la circunferencia de las ruedas\n*Disco: Usado para frenadas más suaves ya que ataca al eje de las ruedas y la aplicación de fuerza es diferente.\n====Stems====\nHoy los sistemas de Stems son intercambiables y modulares.\nAntes se instalaba el famoso Stem de 1\" que comunmente utilizaba un expansor para agarrarse del caño.\n[[File:Bicicletas.Diagrama.Stem.png|center|border|200px]]\n\n====Cuadros====\nExisten diferentes ángulos de ataque como se ve en la foto\n[[File:Geometria.Cuadro.Bicicleta.png|center|border|400px]]\nsabiendo que existen algunos estándar como:\n*69º: Tipo Inglesa (Más relajado)\n*72º: MTB\n====Herramientas Taller====\n=====Genéricas=====\n*Juego de llaves\n**8mm - 17mm\n*Limas\n**Plana\n**Redonda\n*Martillos\n**Bolita\n**Plano Chico\n**Maza Goma\n*Pinzas\n**Pico de Loro\n**Punta\n*Llave de Fuerza\n*Llave Francesa 10\"\n*Cutter\n*Sierra de Arco Bimetalizado de 32 dientes\n*Metro por Pulgadas y Centímetros\n*Destornilladores\n**Phillips\n**Punta Plana\n*Calibre Metal\n*Tijera\n=====Específicas=====\n*Llave Pedales (de 15mm pero más finas) [[File:checked.png|20px]]\n*Extractor Plato y Palanca Eje Punta Cuadrada\n*Llave Cricket con anclaje 0.5\"  [[File:checked.png|20px]]\n*Extractor Caja Pedalera\n*Tubo 14 para anclaje de 0.5\"\n*Extractor para piñon a casete [[File:checked.png|20px]]\n*Llave sujeta piñon a casete\n*Extractor para piñon a rosca [[File:checked.png|20px]]\n*Llave sujeta piñon a rosca\n*Llaves para conjunto de dirección [[File:checked.png|20px]]\n**36/40 [[File:checked.png|20px]]\n**30/32 [[File:checked.png|20px]]\n*Clavador de cubeta\n*Llave para conos 16/14 y 13/15 [[File:checked.png|20px]]\n*Calibre comparardor para fusibles [[File:checked.png|20px]]\n*Llaves Allen [[File:checked.png|20px]]\n*Corta Cadena [[File:checked.png|20px]]\n*Calibre para desgaste de cadena\n*Macho para pedales (al revés de una terraja) 1/2\" (playera) y 9/16\"\n*Macho métrico\n**5mm\n**10mm (para fusibles)\n*Llaves SacaCubiertas [[File:checked.png|20px]]\n*Saca óvulo\n*Parche/solución (La Tirso-Gomez)\n*Centrador\n\n====Cadenas====\n=====Cadenas para MTB=====\nLargo habitual: 116 eslabones \n=====Procedimiento de Armado / Recambio=====\nPosicionar en Piñon Chico / Plato Chico y tensionar un poco (La pata de cambios se repliega al no tener la cadena y tensionando la cadena sabremos como quedaría en el caso de tensión máxima). El tensado correcto respondería a la distancia entre el segmento de la cadena entre el última polea-plato y la polea superior debería estar en el rango 1-2cm\nContar los eslabones a cortar.\nPosicionar en Piñon Grande / Plato Grande y verificar que la pata trasera se acerque a casi la posición vertical con respecto a la maza trasera.\n====Caja Pedalera + Pedales====\n=====Extracción pedales=====\nAtención: Todos los pedales (Llave 15 o Allen) se extraen:\n*Lado Derecho (donde se encuentra el plato): Posicionado a la derecha frente a la caja pedalera, girar en contra reloj.\n*Lado Izquierdo: Posicionado a la izquierda frente a la caja Pedalera, girar como reloj.\n\n====Armado de Ruedas====\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4=====\nTiempo promedio de fábrica: 10\'\n#Fase 1\n##Colocar la maza en forma vertical\n##Insertar rayos de 1 en 1 introduciendo de arriba hacia abajo sobre la saliente superior los rayos.\n##Tomar 1 rayo, insertarlo en el primer orificio a la izquierda del agujero de la válvula del aro y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj e insertarlo el 4º agujero libre del aro en el sentido contrario al reloj y asegurarlo con un niple.\n##Repetir la acción anterior hasta completar la vuelta.\n##Tomar la maza con la mano izquierda desde la saliente inferior y girar en el sentido contrario a las agujas del reloj manteniendo sujetada con la parte superior del brazo el canto del aro.\n##Verificar que el rayo siguiente al agujero de la valvula del aro se encuentra en forma perpendicular a la válvula (dejando liberado ese espacio para poder ajustar la presión del neumático.\n#Fase 2\n##Insertar rayos en los espacios restantes de la saliente superior de la maza introduciendo en forma inversa (de abajo hacia arriba) a la fase 1.\n##Tomar 1 al azar, cruzar los tres primeros rayos hacia la izquierda por encima de los mismos y por atrás del cuarto (probablemente haya que doblarlo).\n##Insertar el rayo en el 2º agujero libre en el sentido contrario al reloj y asegurarlo con un niple.\n##Tomar el rayo siguiente del sentido contrario al reloj y repetir el punto anterior.\n##Repetir la acción anterior hasta completar la vuelta.\n##Al visualizar el entramado a distancia se puede observar una \"estrella de 9 puntas\"\n#Fase 3\n##Dar vuelta la rueda\n##Dibujar una línea imaginaria entre el agujero de la válvula y el centro de la maza. De estar correctamente armada hasta el momento, esa línea imaginaria debiera cruzar la maza entre 2 agujeros de la saliente libre.\n##A partir del cruce de la línea imaginaria en el saliente libre, contar 4 agujeros libres y en el 5º colocar un rayo de arriba hacia abajo.\n##Insertar la punta del rayo en el primer agujero libre del aro a la izquierda del agujero de la válvula y asegurarlo con un niple. (Probablemente haya que doblar un poco el rayo para que se inserte por encima del cruce de los 2 rayos ya insertados en la fase 1-2).\n##A partir del rayo insertado en la saliente libre, insertar uno por medio hasta completar la saliente libre de la maza.\n##Insertar el siguiente rayo en contra del reloj al igual que Fase 1.4\n##Repetir hasta completar todos los rayos insertados\n#Fase 4\n##Insertar los restantes rayos en los agujeros libres de la saliente de abajo hacia arriba (desde el interior de la maza hacia afuera).\n##Al igual que en la fase 2, tomar cada uno de los rayos en sentido contrario al reloj (izquierda), superponer a los 3 primeros y pasar por debajo del cuarto rayo (probablemente haya que doblar el rayo), asegurando con un niple sobre el primer agujero libre luego del 4º rayo\n##Repetir hasta finalizar el armado.\n##Ajustar todos los niples a la misma altura.\n\n=====Rodado 26\"-c/Aro 36 agujeros-c/Rayos 265mm-Cruzado de 3=====\nIdem anterior con las salvedades de:\n#En cambio de 4 lugares, hacer 3.\n#Tener en cuenta que cada vez que se reduce el entrecruzamiento, el largo de los rayos se reduce en 5mmm.','utf-8'),(249,'===Proveedores===\n====Mayoristas / Fábricantes====\n<!-- \n*[[{{FULLPAGENAME}}#Proveedor|Proveedor]]\n -->\n*[[{{FULLPAGENAME}}#Monti|Monti]]\n*[[{{FULLPAGENAME}}#AngelDiaz|AngelDiaz]] (Campagnuolo)\n*[[{{FULLPAGENAME}}#Filardi|Filardi]]\n*[[{{FULLPAGENAME}}#Pastorino|Pastorino]]\n*[[{{FULLPAGENAME}}#OsvaldoFreier|Osvaldo Freier]]\n*[[{{FULLPAGENAME}}#DalSanto|DalSanto]]\n*[[{{FULLPAGENAME}}#OlmoBikes|Olmo Bikes]]\n\n====Tiendas====\n*[[{{FULLPAGENAME}}#HappyBuy|HappyBuy]]\n*[[{{FULLPAGENAME}}#RodadosPaternal|RodadosPaternal]]\n*[[{{FULLPAGENAME}}#PolanskiWorld|PolanskiWorld]]\n*[[{{FULLPAGENAME}}#TuHogarSustentable|TuHogarSustentable]]\n====Distribuidores====\n*[[{{FULLPAGENAME}}#CarlosKarabitian|Carlos Karabitian]]\n===Contactos===\n<!-- \n====Proveedor====\n----\n -->\n====Monti====\n----\n:Pringles 3474\n:Lomas del Mirador\n:Buenos Aires\n:Argentina\n:T:+54.11.4482.1771\n:http://www.montisrl.com.ar\'\'\'\n====HappyBuy====\n----\n:http://www.happybuyargentina.com/\n:Av Scalabrini Ortiz 361\n:011.4857.2467<br>011.4856.8913\n:[mailto:happy.buy.arg@gmail.com happy.buy.arg@gmail.com]\n====RodadosPaternal====\n----\nTerrero 2200\n:011.4586.4243\n====PolanskiWorld====\n----\n:Aguirre 1066 D (con cita previa!)\n:011.15.4991.2357\n:http://polanskiworld.tumblr.com\n:[mailto:polanskiworld@gmail.com polanskiworld@gmail.com]\n====TuHogarSustentable====\n----\n:http://www.tuhogarsustentable.com/\n:Cabello 3433<br>011.6091.3838\n:[mailto:info@tuhogarsustentable.com info@tuhogarsustentable.com]\n\n====Filardi====\n----\n:Av.Mosconi 3194\n:011.4571.9265\n:http://http://www.bicicletasfilardi.com.ar/\n:LV8-12/15-19 S9-13\n====Pastorino====\n----\n:Italia 6343 (Calle 41)\n:Villa Ballester (Villa Adelina al fondo)\n:Buenos Aires Argentina\n:[mailto:pastoolsbykes@yahoo.com.ar pastoolsbykes@yahoo.com.ar]\n:011.4729.9142\n====OsvaldoFreier====\n----\n:Osvaldo A.Freier S.R.L\n:Libertad 755\n:Tapiales\n:La Matanza\n:Buenos Aires \n:T:11.4442.1751\n:F:11.4442.1756\n:Marcas: [[http://www.rst.com.tw/en/ RST]]\n\n====CarlosKarabitian====\n----\n:Carlos Karabitian\n:T:0351.4936060\n:F:0351.4931003\n:Distribuidor: [[http://www.rst.com.tw/en/ RST]]\n====DalSanto====\n----\n:DalSanto\n:T:0332.7455400\n:Otto Krause 4541\n:Pacheco. Pcia.Buenos Aires\n====OlmoBikes====\n----\n:Gral.Antonio de Sucre 555\n:Morón\n:Buenos Aires\n:Argentina\n:T:+54.11.4628.0600\n:http://www.olmobikes.com/\n:* Angel Berman - Director General\n:* Sergio Berman - Director General\n:* Martin Tandecarz - Director\n:* Carlos Gonzalez - Gerente Producción\n:* Pedro Fredenhagen - Gerente de Ventas Interior\n\nActualización:\'\'\' {{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}.{{LOCALTIME}}','utf-8'),(250,'==Notas==\n*SAS\n**[[SAS_MD_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(251,'==Notas==\n*SAS\n**[[SAS_AA_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(252,'*Hoy\n**Monotributo\n**Codigos Visa/Amex/Master\n*Spanex\n**Revisar boton endoso cheque \"libro cheques\"\n**MySql Replication\n**Ojo Detectar pantalla eliminado desde 4.03\n*Chile\n**Paneles Solares','utf-8'),(253,'==Notas==\n*SAS\n**[[SAS_AA_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica - 1º]]\n**[[Curso Mecánica - 2º]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(254,'#REDIRECCIÓN [[Curso Mecánica - 1º]]','utf-8'),(255,'*Bitácora\n**Día 1: Armado BMX/MTB Gama Baja\n***Instalación de cubetas caja pedalera izquierda previa\n***Instalación de cubetas juego dirección (superior e inferior) previa.\n****Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n****Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n***Instalación de horquilla\n****Piezas básicas\n*****Jaulas de rodamientos de juego de dirección (2)\n*****Cubeta de juego de dirección inferior (1)\n*****Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n*****Arandela de punto interno (1)\n*****Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n*****Grasa amarilla\n*****Horquilla\n****Herramientas\n*****Tubo metálico de diametro superior al tamaño de la horquilla\n*****Martillo\n*****Llave de Juego de dirección.\n*****Llave Pico de Loro\n****Instalación de cubeta horquilla\n*****Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n*****Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n*****Verificar que el caño no tenga salientes que lastime el revestimiento.\n*****Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n*****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n*****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n*****Introducir la arandela de punto con el punto orientado hacia atrás.\n******La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n******Golpear la arandela con martillo (o martillo +','utf-8'),(256,'*Bitácora\n**Día 1: Armado BMX/MTB Gama Baja\n***Instalación de cubetas caja pedalera izquierda previa\n***Instalación de cubetas juego dirección (superior e inferior) previa.\n****Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n****Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n***Instalación de horquilla\n****Piezas básicas\n*****Jaulas de rodamientos de juego de dirección (2)\n*****Cubeta de juego de dirección inferior (1)\n*****Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n*****Arandela de punto interno (1)\n*****Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n*****Grasa amarilla\n*****Horquilla\n****Herramientas\n*****Tubo metálico de diametro superior al tamaño de la horquilla\n*****Martillo\n*****Llave de Juego de dirección.\n*****Llave Pico de Loro\n****Instalación de cubeta horquilla\n*****Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n*****Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n*****Verificar que el caño no tenga salientes que lastime el revestimiento.\n*****Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n*****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n*****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n*****Introducir la arandela de punto con el punto orientado hacia atrás.\n******La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n******Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n******Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n******El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n***Instalación de Sten\n***Instalación de caja pedalera (abierta)\n****MTB (con caja de playera=Pieza única caja + palancas + plato)\n*****Piezas Básicas\n*****Herramientas\n****BMX\n*****Piezas Básicas\n******Eje (un lado más corto que el otro)\n*****Herramientas','utf-8'),(257,'*Bitácora\n**Día 1: Armado BMX/MTB Gama Baja\n***Instalación de cubetas caja pedalera izquierda previa\n***Instalación de cubetas juego dirección (superior e inferior) previa.\n****Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n****Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n***Instalación de horquilla\n****Piezas básicas\n*****Jaulas de rodamientos de juego de dirección (grapodina) (2)\n*****Cubeta de juego de dirección inferior (1)\n*****Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n*****Arandela de punto interno (1)\n*****Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n*****Grasa amarilla\n*****Horquilla\n****Herramientas\n*****Tubo metálico de diametro superior al tamaño de la horquilla\n*****Martillo\n*****Llave de Juego de dirección.\n*****Llave Pico de Loro\n****Instalación de cubeta horquilla\n*****Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n*****Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n*****Verificar que el caño no tenga salientes que lastime el revestimiento.\n*****Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n*****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n*****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n*****Introducir la arandela de punto con el punto orientado hacia atrás.\n******La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n******Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n******Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n******El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n***Instalación de Sten\n***Instalación de caja pedalera (abierta)\n****MTB (con caja de playera=Pieza única caja + palancas + plato)\n*****Piezas Básicas\n*****Piezas Básicas\n******Eje Palanca Plato\n******Cubetas (2)\n******Contratuerca\n******Arandela con punto interno\n******Jaula (grapodina) (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela con el punto recorriendo la muesca ad-hoc\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n****BMX\n*****Piezas Básicas\n******Eje (un lado más corto que el otro)\n******Cubetas (2)\n******Contratuerca\n******Arandela\n******Jaula (grapodina) (2)\n******Plato / Palancas (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar el plato palanca\n******Ajustar con el tornillo para la punta de eje. Clavar con llave\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.','utf-8'),(258,'*Bitácora\n**Día 1: Armado BMX/MTB Gama Baja (Parte 1)\n***Instalación de cubetas caja pedalera izquierda previa\n***Instalación de cubetas juego dirección (superior e inferior) previa.\n****Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n****Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n***Instalación de horquilla\n****Piezas básicas\n*****Jaulas de rodamientos de juego de dirección (grapodina) (2)\n*****Cubeta de juego de dirección inferior (1)\n*****Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n*****Arandela de punto interno (1)\n*****Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n*****Grasa amarilla\n*****Horquilla\n****Herramientas\n*****Tubo metálico de diametro superior al tamaño de la horquilla\n*****Martillo\n*****Llave de Juego de dirección.\n*****Llave Pico de Loro\n****Instalación de cubeta horquilla\n*****Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n*****Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n*****Verificar que el caño no tenga salientes que lastime el revestimiento.\n*****Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n*****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n*****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n*****Introducir la arandela de punto con el punto orientado hacia atrás.\n******La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n******Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n******Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n******El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n***Instalación de Sten\n***Instalación de caja pedalera (abierta)\n****MTB (con caja de playera=Pieza única caja + palancas + plato)\n*****Piezas Básicas\n*****Piezas Básicas\n******Eje Palanca Plato\n******Cubetas (2)\n******Contratuerca\n******Arandela con punto interno\n******Jaula (grapodina) (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela con el punto recorriendo la muesca ad-hoc\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n****BMX\n*****Piezas Básicas\n******Eje (un lado más corto que el otro)\n******Cubetas (2)\n******Contratuerca\n******Arandela\n******Jaula (grapodina) (2)\n******Plato / Palancas (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar el plato palanca\n******Ajustar con el tornillo para la punta de eje. Clavar con llave\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**Día 2: Armado BMX/MTB Gama Baja (Parte 2)\n***Instalación Frenos VBrake (Parte 1)\n****Piezas Básicas\n*****Manecillas Frenos VBrake\n*****Tornillos / Arandelas\n****Herramientas\n*****Llave Allen / Atornillador Eléctrico.\n****Instalación\n*****Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n*****Colocar Manecilla con chapa en el vástago izquierdo de las vainas introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago derecho de la horquilla. Idem\n*****Fijar con los tornillos ad-hoc.\n***Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n****Piezas Básicas\n*****Descarrilador Superior\n*****Pata de Cambio\n*****Bulones 9mm\n****Herramientas\n*****Llave Tubo 9mm\n*****Macho rectificador 10mm\n****Instalación\n*****Colocar el descarrilador posicionado sin dañar el revestimiento.\n*****Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n*****De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n*****Ajustar el bulon con la llave correspondiente\n*****Presentar la pata de cambio.\n*****Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n*****En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(259,'==Bitácora==\n*Bitácora\n**Día 1: Armado BMX/MTB Gama Baja (Parte 1)\n***Instalación de cubetas caja pedalera izquierda previa\n***Instalación de cubetas juego dirección (superior e inferior) previa.\n****Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n****Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n***Instalación de horquilla\n****Piezas básicas\n*****Jaulas de rodamientos de juego de dirección (grapodina) (2)\n*****Cubeta de juego de dirección inferior (1)\n*****Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n*****Arandela de punto interno (1)\n*****Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n*****Grasa amarilla\n*****Horquilla\n****Herramientas\n*****Tubo metálico de diametro superior al tamaño de la horquilla\n*****Martillo\n*****Llave de Juego de dirección.\n*****Llave Pico de Loro\n****Instalación de cubeta horquilla\n*****Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n*****Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n*****Verificar que el caño no tenga salientes que lastime el revestimiento.\n*****Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n*****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n*****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n*****Introducir la arandela de punto con el punto orientado hacia atrás.\n******La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n******Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n******Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n******El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n***Instalación de Sten\n***Instalación de caja pedalera (abierta)\n****MTB (con caja de playera=Pieza única caja + palancas + plato)\n*****Piezas Básicas\n*****Piezas Básicas\n******Eje Palanca Plato\n******Cubetas (2)\n******Contratuerca\n******Arandela con punto interno\n******Jaula (grapodina) (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela con el punto recorriendo la muesca ad-hoc\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n****BMX\n*****Piezas Básicas\n******Eje (un lado más corto que el otro)\n******Cubetas (2)\n******Contratuerca\n******Arandela\n******Jaula (grapodina) (2)\n******Plato / Palancas (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar el plato palanca\n******Ajustar con el tornillo para la punta de eje. Clavar con llave\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**Día 2: Armado BMX/MTB Gama Baja (Parte 2)\n***Instalación Frenos VBrake (Parte 1)\n****Piezas Básicas\n*****Manecillas Frenos VBrake\n*****Tornillos / Arandelas\n****Herramientas\n*****Llave Allen / Atornillador Eléctrico.\n****Instalación\n*****Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n*****Colocar Manecilla con chapa en el vástago izquierdo de las vainas introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago derecho de la horquilla. Idem\n*****Fijar con los tornillos ad-hoc.\n***Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n****Piezas Básicas\n*****Descarrilador Superior\n*****Pata de Cambio\n*****Bulones 9mm\n****Herramientas\n*****Llave Tubo 9mm\n*****Macho rectificador 10mm\n****Instalación\n*****Colocar el descarrilador posicionado sin dañar el revestimiento.\n*****Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n*****De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n*****Ajustar el bulon con la llave correspondiente\n*****Presentar la pata de cambio.\n*****Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n*****En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(260,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n***Instalación de cubetas caja pedalera izquierda previa\n***Instalación de cubetas juego dirección (superior e inferior) previa.\n****Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n****Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n***Instalación de horquilla\n****Piezas básicas\n*****Jaulas de rodamientos de juego de dirección (grapodina) (2)\n*****Cubeta de juego de dirección inferior (1)\n*****Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n*****Arandela de punto interno (1)\n*****Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n*****Grasa amarilla\n*****Horquilla\n****Herramientas\n*****Tubo metálico de diametro superior al tamaño de la horquilla\n*****Martillo\n*****Llave de Juego de dirección.\n*****Llave Pico de Loro\n****Instalación de cubeta horquilla\n*****Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n*****Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n*****Verificar que el caño no tenga salientes que lastime el revestimiento.\n*****Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n*****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n*****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n*****Introducir la arandela de punto con el punto orientado hacia atrás.\n******La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n******Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n******Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n******El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n***Instalación de Sten\n***Instalación de caja pedalera (abierta)\n****MTB (con caja de playera=Pieza única caja + palancas + plato)\n*****Piezas Básicas\n*****Piezas Básicas\n******Eje Palanca Plato\n******Cubetas (2)\n******Contratuerca\n******Arandela con punto interno\n******Jaula (grapodina) (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela con el punto recorriendo la muesca ad-hoc\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n****BMX\n*****Piezas Básicas\n******Eje (un lado más corto que el otro)\n******Cubetas (2)\n******Contratuerca\n******Arandela\n******Jaula (grapodina) (2)\n******Plato / Palancas (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar el plato palanca\n******Ajustar con el tornillo para la punta de eje. Clavar con llave\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**Día 2: Armado BMX/MTB Gama Baja (Parte 2)\n***Instalación Frenos VBrake (Parte 1)\n****Piezas Básicas\n*****Manecillas Frenos VBrake\n*****Tornillos / Arandelas\n****Herramientas\n*****Llave Allen / Atornillador Eléctrico.\n****Instalación\n*****Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n*****Colocar Manecilla con chapa en el vástago izquierdo de las vainas introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago derecho de la horquilla. Idem\n*****Fijar con los tornillos ad-hoc.\n***Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n****Piezas Básicas\n*****Descarrilador Superior\n*****Pata de Cambio\n*****Bulones 9mm\n****Herramientas\n*****Llave Tubo 9mm\n*****Macho rectificador 10mm\n****Instalación\n*****Colocar el descarrilador posicionado sin dañar el revestimiento.\n*****Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n*****De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n*****Ajustar el bulon con la llave correspondiente\n*****Presentar la pata de cambio.\n*****Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n*****En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(261,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n*****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n*****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n*****Introducir la arandela de punto con el punto orientado hacia atrás.\n******La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n******Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n******Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n******El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n***Instalación de Sten\n***Instalación de caja pedalera (abierta)\n****MTB (con caja de playera=Pieza única caja + palancas + plato)\n*****Piezas Básicas\n*****Piezas Básicas\n******Eje Palanca Plato\n******Cubetas (2)\n******Contratuerca\n******Arandela con punto interno\n******Jaula (grapodina) (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela con el punto recorriendo la muesca ad-hoc\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n****BMX\n*****Piezas Básicas\n******Eje (un lado más corto que el otro)\n******Cubetas (2)\n******Contratuerca\n******Arandela\n******Jaula (grapodina) (2)\n******Plato / Palancas (2)\n******Pedales\n*****Herramientas\n******Llave francesa\n******Llave Caja Pedalera o Punzón + Martillo\n******Llave pedales o llave 15mm\n*****Instalación\n******Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n******Engrasar levemente los topes del eje\n******Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n******Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n******Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n******Colocar la arandela\n******Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n******Destrabar desajustando la cubeta.\n******Colocar el plato palanca\n******Ajustar con el tornillo para la punta de eje. Clavar con llave\n******Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n******Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**Día 2: Armado BMX/MTB Gama Baja (Parte 2)\n***Instalación Frenos VBrake (Parte 1)\n****Piezas Básicas\n*****Manecillas Frenos VBrake\n*****Tornillos / Arandelas\n****Herramientas\n*****Llave Allen / Atornillador Eléctrico.\n****Instalación\n*****Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n*****Colocar Manecilla con chapa en el vástago izquierdo de las vainas introduciendo el resorte en la posición media\n*****Colocar Manecilla sin chapa en el vástago derecho de la horquilla. Idem\n*****Fijar con los tornillos ad-hoc.\n***Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n****Piezas Básicas\n*****Descarrilador Superior\n*****Pata de Cambio\n*****Bulones 9mm\n****Herramientas\n*****Llave Tubo 9mm\n*****Macho rectificador 10mm\n****Instalación\n*****Colocar el descarrilador posicionado sin dañar el revestimiento.\n*****Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n*****De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n*****Ajustar el bulon con la llave correspondiente\n*****Presentar la pata de cambio.\n*****Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n*****En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(262,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n****Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n****Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n****Introducir la arandela de punto con el punto orientado hacia atrás.\n****La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n****Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n****Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n****El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de las vainas introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la horquilla. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(263,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de las vainas introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la horquilla. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(264,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de las vainas introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la horquilla. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(265,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.','utf-8'),(266,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: ===\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° o 90° generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo.\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos.\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete','utf-8'),(267,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: ===\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena (látigo) para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° hacia arriba generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo con la llave extractora (a la derecha).\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos. Previamente sacar el tapón plástico con el extrator de tapon para HollowTech II\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete procediendo a su limpieza. Se extrajo el','utf-8'),(268,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: ===\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena (látigo) para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° hacia arriba generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo con la llave extractora (a la derecha).\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos. Previamente sacar el tapón plástico con el extrator de tapon para HollowTech II\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Se extrajo el buje del piñon a casete dado que la cerámica estaba dañada (movimiento hacia los lados). No se cambió pero si se limpió.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete procediendo a su limpieza. Se extrajo el','utf-8'),(269,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: Service de Amortiguación Horquilla===\n*Horquilla XXX\n**Se procedió a retirar los topes superiores.\n***Para la extracción cuidadosa se utiliza una llave tubo desbastada en la boca, ya que el ángulo entre el borde exterior y el borde interior de la llave a veces tiene una pendiente que erosiona los \"tornillos\" superiores. Hay que debastar ese tubo para que calce justo.\n***El tubo derecho, en el caso que tenga un regulador de compresión (hace el recorrido más liviano o más duro), debajo de la rosca de regulacion de compresión que se suelta con un tornillo allen de diametro mínimo, suele tener una llave allen con rosca inversa. Esta rosca empuja hacia arriba el interior del sistema\n***El tubo izquierdo, tiene un tornillo que permite extraer el interior del tubo. Generalmente ese interior se encuentra clavado, por lo que a poco de extraer el tornillo se debe golpear con un martillo de goma para poder desclavar el interior,\n*Horquilla YYY\n\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena (látigo) para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° hacia arriba generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo con la llave extractora (a la derecha).\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos. Previamente sacar el tapón plástico con el extrator de tapon para HollowTech II\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Se extrajo el buje del piñon a casete dado que la cerámica estaba dañada (movimiento hacia los lados). No se cambió pero si se limpió.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete procediendo a su limpieza. Se extrajo el','utf-8'),(270,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: Service de Amortiguación Horquilla===\n*Horquilla XXX\n**Se procedió a retirar los topes superiores.\n***Para la extracción cuidadosa se utiliza una llave tubo desbastada en la boca, ya que el ángulo entre el borde exterior y el borde interior de la llave a veces tiene una pendiente que erosiona los \"tornillos\" superiores. Hay que debastar ese tubo para que calce justo.\n***El tubo derecho, en el caso que tenga un regulador de compresión (hace el recorrido más liviano o más duro), debajo de la rosca de regulacion de compresión que se suelta con un tornillo allen de diametro mínimo, suele tener una llave allen con rosca inversa. Esta rosca empuja hacia arriba el interior del sistema\n***El tubo izquierdo, tiene un tornillo que permite extraer el interior del tubo. Generalmente ese interior se encuentra clavado, por lo que a poco de extraer el tornillo se debe golpear con un martillo de goma para poder desclavar el interior,\n*Horquilla YYY\n\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena (látigo) para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° hacia arriba generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo con la llave extractora (a la derecha).\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos. Previamente sacar el tapón plástico con el extrator de tapon para HollowTech II\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Se extrajo el buje del piñon a casete dado que la cerámica estaba dañada (movimiento hacia los lados). No se cambió pero si se limpió.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete procediendo a su limpieza. Se extrajo el\n===Día 5: Service MTB Gama Alta===\n*Scott\n**Mantenimiento Suspensión Delantera\n**Centrado Rueda Trasera\n***Desgomado\n****Sin Cámara\n*****Fibra de pegado -> La existente\n*****Centrado\n******Las llantas tipo Shimano XT tienen doble ajuste sin niples (las herramientas suelen venir con las ruedas).\n**Lubricación Caja Pedalera\n***HollowTechII\n****Sacar Tapon HollowTechII\n****Retirar los tornillos (2) allen de la base de la palanca izquierda\n****Retirar la palanca izquierda\n****Retirar el conjunto de palanca-plato-biela.\n*****Si se resiste, desclavar con mazo de goma.\n****Limpieza del interior de la caja pedalera\n****Limpieza del conjunto palanca-plato-biela.','utf-8'),(271,'==Notas==\n*SAS\n**[[SAS_AA_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica - 1º]]\n**[[Curso Mecánica - 2º]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*[[Listas Compras]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(272,'==Notas==\n*SAS\n**[[SAS_AA_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*SCL\n**[[Notas_SCL_Bicicletas|Bicicletas]]\n**[[Notas_SCL_Electro|Electro]]\n**[[Notas_SCL_Informatica|Informatica]]\n**[[Notas_SCL_Varios|Varios]]\n*Spanex\n**[[Spanex_Mercado|Mercado]]\n**[[Spanex_Competencia|Competencia]]\n**[[Spanex_Ideas|Ideas]]\n*TourConsultants\n**[[TourConsultants_República_Checa|República Checa]]\n**[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica - 1º]]\n**[[Curso Mecánica - 2º]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*[[911Project_Lista_Compras|Lista Compras]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(273,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.','utf-8'),(274,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque','utf-8'),(275,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque\n*Pedales Plegables','utf-8'),(276,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque\n*Pedales Plegables\n*Morza Grande','utf-8'),(277,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque\n*Pedales Plegables\n*Morza Grande\n*Terrajas','utf-8'),(278,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: Service de Amortiguación Horquilla===\n*Horquilla XXX\n**Se procedió a retirar los topes superiores.\n***Para la extracción cuidadosa se utiliza una llave tubo desbastada en la boca, ya que el ángulo entre el borde exterior y el borde interior de la llave a veces tiene una pendiente que erosiona los \"tornillos\" superiores. Hay que debastar ese tubo para que calce justo.\n***El tubo derecho, en el caso que tenga un regulador de compresión (hace el recorrido más liviano o más duro), debajo de la rosca de regulacion de compresión que se suelta con un tornillo allen de diametro mínimo, suele tener una llave allen con rosca inversa. Esta rosca empuja hacia arriba el interior del sistema\n***El tubo izquierdo, tiene un tornillo que permite extraer el interior del tubo. Generalmente ese interior se encuentra clavado, por lo que a poco de extraer el tornillo se debe golpear con un martillo de goma para poder desclavar el interior,\n*Horquilla YYY\n\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena (látigo) para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° hacia arriba generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo con la llave extractora (a la derecha).\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos. Previamente sacar el tapón plástico con el extrator de tapon para HollowTech II\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Se extrajo el buje del piñon a casete dado que la cerámica estaba dañada (movimiento hacia los lados). No se cambió pero si se limpió.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete procediendo a su limpieza. Se extrajo el\n===Día 5: Service MTB Gama Alta===\n*Scott\n**Mantenimiento Suspensión Delantera\n**Centrado Rueda Trasera\n***Desgomado\n****Sin Cámara\n*****Fibra de pegado -> La existente\n*****Centrado\n******Las llantas tipo Shimano XT tienen doble ajuste sin niples (las herramientas suelen venir con las ruedas).\nRetirar parcialmente el tornillo de compresión (derecho).\nRetirar parcialmente el tornillo del tubo (izquierdo).\nDesclavar ambas los tubos internos\nRetirar ambos tornillos.\nVolcar hacia el recipiente de aceite usado teniendo cuidado. Purgar comprimiendo y expandiendo las botellas\nVerificar los retenes de sellado botellas-barras\nRetirar \n***Gotear con el aceite pesado\n***Completar con aceite 10W hasta el tope inferior de buje.\n***Roscar con un torque mínimo (el tapón roscada es de plástico)\n***Cargar con aire en la parte superior (precarga positiva) con 50psi.\n***Cargar con aire en la parte inferior (precarga negativa con 50psi.\n***Completar con aire en la parte superior hasta 100psi\n***Testear el rebote y el cierre\n**Lubricación Caja Pedalera\n***HollowTechII\n****Sacar Tapon HollowTechII\n****Retirar los tornillos (2) allen de la base de la palanca izquierda\n****Retirar la palanca izquierda.\n****Retirar la arandela plástica.\n****Retirar el conjunto de palanca-plato-biela.\n*****Si se resiste, desclavar con mazo de goma.\n****Limpieza del interior de la caja pedalera.\n****Engrasar con grasa semipesada (verde-amarilla)\n****Limpieza del conjunto palanca-plato-biela.\n****Colocar el conjunto de palanca-plato-biela.\n****Colocar la arandela plástica.\n****Engrasar el extremo dentado de la biela.\n****Colocar los tornillos con un torque de','utf-8'),(279,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque\n*Pedales Plegables\n*Morza Grande\n*Terrajas\n*Llave armado para Horquilla SunTour XCR.','utf-8'),(280,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque\n*Pedales Plegables\n*Morza Grande\n*Terrajas\n*Llave armado para Horquilla SunTour XCR.\n*Inflador de Precisión.','utf-8'),(281,'*Oftalmología\n**Vanelli, Constanza\n**:20110824: Revisión General. 0.75\n**Catalini, Gabriela<br>Bitácora\n**:20130218: Revisión General\n**:20130227: Fondo de Ojos\n**:20140206: Revisión General\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n**:20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n**:20130228: Consulta\n*Traumatología\n**Senes, E<br>Bitácora\n**:20120813: Resonancia Magnética Nuclear\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n**:20130306: Consulta. \n**:20130307: Resonancia Magnética Nuclear\n**:20130410: Consulta RMN\n**:20140219: \n*Reumatología\n**Gomez, Andrea<br>T:15.6158.1017<br>Lun0800-1400/Mar0800-2000/Mie0830-1400/Jue1700-2000<br>Bitácora\n**:20110831: Tendinosis. Blokium B12\n**:20111007: Resonancia Magnética Nuclear\n**:20111109: Tendinitis Bicipital\n**:20121205: Ecografía Dedo 4º Derecha.\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n**:20110901\n<div style=\"float: left; width: 33%\">\n* Info for first column\nMore info for first column\n</div><div style=\"float: left; width: 33%\">\n* Info for second column\nMore info for second column\n</div><div style=\"float: left; width: 33%\">\n*Info for third column\nMore info for third column\n</div>','utf-8'),(282,'*Oftalmología\n**Vanelli, Constanza\n**:20110824: Revisión General. 0.75\n**Catalini, Gabriela<br>Bitácora\n**:20130218: Revisión General\n**:20130227: Fondo de Ojos\n**:20140206: Revisión General\n*Ortodoncia\n**Vieiro, Marcela<br>Bitácora\n*Cardiología\n**Novo, Fedor<br>Bitácora\n**:20130208: EcoStress con Ejercicios. Diagnóstico Maipú\n**:20130228: Consulta\n**:20140130: Consulta. Fixeril\n*Traumatología\n**Senes, E<br>Bitácora\n**:20120813: Resonancia Magnética Nuclear\n*Traumatología Columna\n**Lloyd, Rud<br>Bitácora\n**:20130306: Consulta. \n**:20130307: Resonancia Magnética Nuclear\n**:20130410: Consulta RMN\n**:20140219: \n*Reumatología\n**Gomez, Andrea<br>T:15.6158.1017<br>Lun0800-1400/Mar0800-2000/Mie0830-1400/Jue1700-2000<br>Bitácora\n**:20110831: Tendinosis. Blokium B12\n**:20111007: Resonancia Magnética Nuclear\n**:20111109: Tendinitis Bicipital\n**:20121205: Ecografía Dedo 4º Derecha.\n*Nutricionista\n**Gimenez, Mariana<br>Bitácora\n**:20110901\n<div style=\"float: left; width: 33%\">\n* Info for first column\nMore info for first column\n</div><div style=\"float: left; width: 33%\">\n* Info for second column\nMore info for second column\n</div><div style=\"float: left; width: 33%\">\n*Info for third column\nMore info for third column\n</div>','utf-8'),(283,'==Notas==\n*SAS\n**[[SAS_AA_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*Proyectos\n**Spanex\n***[[Spanex_Mercado|Mercado]]\n***[[Spanex_Competencia|Competencia]]\n***[[Spanex_Ideas|Ideas]]\n**911Bike\n***[[Notas_SCL_Bicicletas|Bicicletas]]\n**TourConsultants\n***[[TourConsultants_República_Checa|República Checa]]\n***[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica - 1º]]\n**[[Curso Mecánica - 2º]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*[[911Project_Lista_Compras|Lista Compras]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(284,'==Notas==\n*SAS\n**[[SAS_AA_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*Proyectos\n**Spanex\n***[[Spanex_Mercado|Mercado]]\n***[[Spanex_Competencia|Competencia]]\n***[[Spanex_Ideas|Ideas]]\n**911Bike\n***[[Notas_SCL_Bicicletas|Bicicletas]]\n***Mecánica\n****[[Curso Mecánica - 1º]]\n****[[Curso Mecánica - 2º]]\n****[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n****[http://bicycletutor.com/ BicycleTutor.com]\n****[[Sugerencias Mantenimiento]]\n****[[Diagrama (EN)]]\n****[[Diagrama (ES)]]\n****[[Glosario ES-EN-FR]]\n****[[911Project_Lista_Compras|Lista Compras]]\n**TourConsultants\n***[[TourConsultants_República_Checa|República Checa]]\n***[[TourConsultants_Francia|Francia]]\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica - 1º]]\n**[[Curso Mecánica - 2º]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*[[911Project_Lista_Compras|Lista Compras]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(285,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: Service de Amortiguación Horquilla===\n*Horquilla XXX\n**Se procedió a retirar los topes superiores.\n***Para la extracción cuidadosa se utiliza una llave tubo desbastada en la boca, ya que el ángulo entre el borde exterior y el borde interior de la llave a veces tiene una pendiente que erosiona los \"tornillos\" superiores. Hay que debastar ese tubo para que calce justo.\n***El tubo derecho, en el caso que tenga un regulador de compresión (hace el recorrido más liviano o más duro), debajo de la rosca de regulacion de compresión que se suelta con un tornillo allen de diametro mínimo, suele tener una llave allen con rosca inversa. Esta rosca empuja hacia arriba el interior del sistema\n***El tubo izquierdo, tiene un tornillo que permite extraer el interior del tubo. Generalmente ese interior se encuentra clavado, por lo que a poco de extraer el tornillo se debe golpear con un martillo de goma para poder desclavar el interior,\n*Horquilla YYY\n\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena (látigo) para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° hacia arriba generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo con la llave extractora (a la derecha).\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos. Previamente sacar el tapón plástico con el extrator de tapon para HollowTech II\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Se extrajo el buje del piñon a casete dado que la cerámica estaba dañada (movimiento hacia los lados). No se cambió pero si se limpió.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete procediendo a su limpieza. Se extrajo el\n===Día 5: Service MTB Gama Alta===\n*Scott\n**Mantenimiento Suspensión Delantera\n**Centrado Rueda Trasera\n***Desgomado\n****Sin Cámara\n*****Fibra de pegado -> La existente\n*****Centrado\n******Las llantas tipo Shimano XT tienen doble ajuste sin niples (las herramientas suelen venir con las ruedas).\nRetirar parcialmente el tornillo de compresión (derecho).\nRetirar parcialmente el tornillo del tubo (izquierdo).\nDesclavar ambas los tubos internos\nRetirar ambos tornillos.\nVolcar hacia el recipiente de aceite usado teniendo cuidado. Purgar comprimiendo y expandiendo las botellas\nVerificar los retenes de sellado botellas-barras\nRetirar \n***Gotear con el aceite pesado\n***Completar con aceite 10W hasta el tope inferior de buje.\n***Roscar con un torque mínimo (el tapón roscada es de plástico)\n***Cargar con aire en la parte superior (precarga positiva) con 50psi.\n***Cargar con aire en la parte inferior (precarga negativa con 50psi.\n***Completar con aire en la parte superior hasta 100psi\n***Testear el rebote y el cierre\n**Lubricación Caja Pedalera\n***HollowTechII\n****Sacar Tapon HollowTechII\n****Retirar los tornillos (2) allen de la base de la palanca izquierda\n****Retirar la palanca izquierda.\n****Retirar la arandela plástica.\n****Retirar el conjunto de palanca-plato-biela.\n*****Si se resiste, desclavar con mazo de goma.\n****Limpieza del interior de la caja pedalera.\n****Engrasar con grasa semipesada (verde-amarilla)\n****Limpieza del conjunto palanca-plato-biela.\n****Colocar el conjunto de palanca-plato-biela.\n****Colocar la arandela plástica.\n****Engrasar el extremo dentado de la biela.\n****Colocar los tornillos con un torque de\n===Día 6: Service MTB Gama Alta===\n*Snake\n**Cambio Piñon y Cadena\n*Mantenimiento Horquilla (SAS)\n**Herramientas','utf-8'),(286,'==Bitácora==\n===Día 1: Armado BMX/MTB Gama Baja (Parte 1)===\n*Instalación de cubetas caja pedalera izquierda previa\n*Instalación de cubetas juego dirección (superior e inferior) previa.\n**Presentada verticalmente, instaladas 2 cubetas: superior con parte cóncava hacia arriba e inferior con parte cóncava hacia abajo.\n**Engrasar (grasa amarilla) la parte cóncava de las cubetas ya instaladas en el cuadro.\n*Instalación de horquilla\n**Piezas básicas\n***Jaulas de rodamientos de juego de dirección (grapodina) (2)\n***Cubeta de juego de dirección inferior (1)\n***Cierre de cubeta superior con bordes rugados con pistas internas para enroscar en horquilla (1)\n***Arandela de punto interno (1)\n***Cierre de juego de dirección superior (con bordes facetados 30mm para ajuste de cierre (1)\n***Grasa amarilla\n***Horquilla\n**Herramientas\n***Tubo metálico de diametro superior al tamaño de la horquilla\n***Martillo\n***Llave de Juego de dirección.\n***Llave Pico de Loro\n**Instalación de cubeta horquilla\n***Presentada verticalmente, introducir la cubeta de cierre con la parte cóncava hacia arriba.\n***Introducir caño para rematar la cubeta hasta que se encuentre rematada y horizontalmente alineada.\n***Verificar que el caño no tenga salientes que lastime el revestimiento.\n***Colocar las jaulas de rodamientos de dirección sobre la canaleta de las cubetas del juego de dirección con los rodamientos visibles de cara a las cubetas engrasadas del caño de juego de dirección del cuadro.\n***Introducir la horquilla de abajo hacia arriba \"cerrando\" la cubeta inferior\n***Atornillar la horquilla con el cierre de cubeta superior, ajustando levemente con la mano\n***Introducir la arandela de punto con el punto orientado hacia atrás.\n***La arandela tiene el tamaño del tubo de la horquilla por lo que el punto de la arandela sirve de fijación.\n***Golpear la arandela con martillo (o martillo + tubo golpeando la curvatura de la arandela), hasta que la misma llegue a topar con la parte superior del cierre de cubeta superior con borde rugados.\n***Introducir el cierre de juego de dirección superior de borde faceteado ajustando con la llave de Juego de dirección.\n***El ajuste tiene que ser lo suficiente para que gire libremente pero sin que ese torque haga girar \"muy libremente\" la horquilla.\n*Instalación de Sten\n*Instalación de caja pedalera (abierta)\n**MTB (con caja de playera=Pieza única caja + palancas + plato)\n***Piezas Básicas\n****Eje Palanca Plato\n****Cubetas (2)\n****Contratuerca\n****Arandela con punto interno\n****Jaula (grapodina) (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela con el punto recorriendo la muesca ad-hoc\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n**BMX\n***Piezas Básicas\n****Eje (un lado más corto que el otro)\n****Cubetas (2)\n****Contratuerca\n****Arandela\n****Jaula (grapodina) (2)\n****Plato / Palancas (2)\n****Pedales\n***Herramientas\n****Llave francesa\n****Llave Caja Pedalera o Punzón + Martillo\n****Llave pedales o llave 15mm\n***Observaciones\n****Verificar que el centrado de cadena se encuentre en 4,72\n***Instalación\n****Engrasar la cubeta correspondiente al plato palanca e insertar una grapodina con las bolillas orientadas hacia el sector cóncavo de la cubeta.\n****Engrasar levemente los topes del eje\n****Introducir una grapodina engrasada en la punta del eje más corto con las bolillas orientadas hacia la punta del eje\n****Introducir suavemente el eje por la parte liberada de la caja y que tope la grapodina con la cubeta ya colocada previamente\n****Colocar la cubeta restante roscando para asegurar la posicion sin clavarla.\n****Colocar la arandela\n****Roscar la contratuerca ajustando lo más posible (verificando que el deslizamiento de las palancas estén algo trabadas.\n****Destrabar desajustando la cubeta.\n****Colocar el plato palanca\n****Ajustar con el tornillo para la punta de eje. Clavar con llave\n****Colocar los pedales señalizados: Pedal derecho es rosca normal y Pedal Izquierdo es rosca invertida (enrosca contra reloj) y presentarlos haciendo un par de vueltas.\n****Ajustar pedales manteniendo la llave fija y ejecutando el movimiento de pedaleo hacia adelante.\n\n===Día 2: Armado BMX/MTB Gama Baja (Parte 2)===\n*Instalación Frenos VBrake (Parte 1)\n**Piezas Básicas\n***Manecillas Frenos VBrake\n***Tornillos / Arandelas\n**Herramientas\n***Llave Allen / Atornillador Eléctrico.\n**Instalación\n***Colocar Manecilla con chapa en el vástago derecho de la horquilla introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago izquierdo de la horquilla. Idem\n***Colocar Manecilla con chapa en el vástago izquierdo de la vaina superior introduciendo el resorte en la posición media\n***Colocar Manecilla sin chapa en el vástago derecho de la vaina superior. Idem\n***Fijar con los tornillos ad-hoc.\n*Instalación de Descarrilador (Superior) / Pata de Cambio (Parte 1)\n**Piezas Básicas\n***Descarrilador Superior\n***Pata de Cambio\n***Bulones 9mm\n**Herramientas\n***Llave Tubo 9mm\n***Macho rectificador 10mm\n**Instalación\n***Colocar el descarrilador posicionado sin dañar el revestimiento.\n***Posicionar el descarrilador con la pieza central alineada en forma paralela al plato.\n***De ser posible, regular la altura del descarrilador entre 1-3mm del plato grande. En caso contrario, posicionar para que se desplace con libertad.\n***Ajustar el bulon con la llave correspondiente\n***Presentar la pata de cambio.\n***Ajustar la pata de cambio con la muesca de guía que servirá de tope.\n***En el caso que se dificulte la tarea, verificar que el interior roscado de receptaculo de la pata de cambio se encuentre limpio y si revestimiento. Si se encuentra con pintura, hacer una pasada de un macho 10mm. En el caso que exista revestimiento en la uña limitante de tope fijador (para que no exista un movimiento basculante de la pieza), repasar la zona con lima redondeada.\n===Día 3: Service de Amortiguación Horquilla===\n*Horquilla XXX\n**Se procedió a retirar los topes superiores.\n***Para la extracción cuidadosa se utiliza una llave tubo desbastada en la boca, ya que el ángulo entre el borde exterior y el borde interior de la llave a veces tiene una pendiente que erosiona los \"tornillos\" superiores. Hay que debastar ese tubo para que calce justo.\n***El tubo derecho, en el caso que tenga un regulador de compresión (hace el recorrido más liviano o más duro), debajo de la rosca de regulacion de compresión que se suelta con un tornillo allen de diametro mínimo, suele tener una llave allen con rosca inversa. Esta rosca empuja hacia arriba el interior del sistema\n***El tubo izquierdo, tiene un tornillo que permite extraer el interior del tubo. Generalmente ese interior se encuentra clavado, por lo que a poco de extraer el tornillo se debe golpear con un martillo de goma para poder desclavar el interior,\n*Horquilla YYY\n\n===Día 4: Service MTB Gama Alta===\n*Scott\n**Limpieza de partes\n***Encerado (Blem)\n***Problemas de Cuadro\n****Diagnóstico: Si bien las vainas superiores se encontraban en forma equidiestante a la rueda, no asi las vainas inferiores.\n****Análisis: El diagnóstico sobre la comba de la rueda fue descartado. Se detectó que la razón era que al estar flojo el fusible de la pata de cambios el eje de la maza trasera lastimó el cuadro haciendo que en el ajuste se corriese hacia adelante.\n****Solución: Se desbastó receptáculo del eje trasero para emparejar el \"defecto\" y se corrigió la comba 1,5mm para balancear el efecto del cierre del eje trasero.\n***Se desarmó el piñon trasero para su limpieza.\n****Al ser un piñon a casete, se utilizaron las herramientas del extracción de piñon a casete y la llave cadena (látigo) para sostener el giro del propio piñon.\n****Se coloca la llave cadena quedando a 45° hacia arriba generando torsión agarrando el rayo que se encuentre en línea. Aplicar el desenrosque del piñon usando la llave de extracción, apoyando la rueda en el piso y ejerciendo fuerza hacia abajo con la llave extractora (a la derecha).\n***Armado\n****Para la incorporación de la rueda trasera, plegar la pata de cambio hasta que el piñon quede en el medio de la cadena. Luego retraer hasta el receptáculo del eje y ajustar. El cierre debería quedar hacia atrás a menos que exista un habitáculo ad-hoc.\n****Para la incorporacion de la rueda delantera, apoyar la rueda sobre las rodillas para ajustar el cierre rápido hasta el pliegue.\n*Giant\n**Se extrajo la caja pedalera\n***Se retiró el pedal izquierdo por los tornillos. Previamente sacar el tapón plástico con el extrator de tapon para HollowTech II\n***Al ser un pedal integrado, se retiró el conjunto del eje y plato palanca.\n***Se desarmó los platos y se reemplazó el plato intermedio dado que hacía que el salto hacia el plato grande costase e impidiese que salte al piñon más grande.\n***Se extrajo el buje del piñon a casete dado que la cerámica estaba dañada (movimiento hacia los lados). No se cambió pero si se limpió.\n***Hubo que modificar el largo de los receptaculos de los tornillos dado que el plato intermedio tenía un grosor diferente al existente.\n***Se desarmó el piñon a casete procediendo a su limpieza. Se extrajo el\n===Día 5: Service MTB Gama Alta===\n*Scott\n**Mantenimiento Suspensión Delantera\n**Centrado Rueda Trasera\n***Desgomado\n****Sin Cámara\n*****Fibra de pegado -> La existente\n*****Centrado\n******Las llantas tipo Shimano XT tienen doble ajuste sin niples (las herramientas suelen venir con las ruedas).\nRetirar parcialmente el tornillo de compresión (derecho).\nRetirar parcialmente el tornillo del tubo (izquierdo).\nDesclavar ambas los tubos internos\nRetirar ambos tornillos.\nVolcar hacia el recipiente de aceite usado teniendo cuidado. Purgar comprimiendo y expandiendo las botellas\nVerificar los retenes de sellado botellas-barras\nRetirar \n***Gotear con el aceite pesado\n***Completar con aceite 10W hasta el tope inferior de buje.\n***Roscar con un torque mínimo (el tapón roscada es de plástico)\n***Cargar con aire en la parte superior (precarga positiva) con 50psi.\n***Cargar con aire en la parte inferior (precarga negativa con 50psi.\n***Completar con aire en la parte superior hasta 100psi\n***Testear el rebote y el cierre\n**Lubricación Caja Pedalera\n***HollowTechII\n****Sacar Tapon HollowTechII\n****Retirar los tornillos (2) allen de la base de la palanca izquierda\n****Retirar la palanca izquierda.\n****Retirar la arandela plástica.\n****Retirar el conjunto de palanca-plato-biela.\n*****Si se resiste, desclavar con mazo de goma.\n****Limpieza del interior de la caja pedalera.\n****Engrasar con grasa semipesada (verde-amarilla)\n****Limpieza del conjunto palanca-plato-biela.\n****Colocar el conjunto de palanca-plato-biela.\n****Colocar la arandela plástica.\n****Engrasar el extremo dentado de la biela.\n****Colocar los tornillos con un torque de\n===Día 6: Service MTB Gama Alta===\n*Snake\n**Cambio Piñon y Cadena\n*Mantenimiento Horquilla (SAS)\n**Piezas Básicas\n**Herramientas\n***Llave Automática. Llave Tubo 9mm\n***Llave Allen\n**Mantenimiento\n***Colocar la pieza completa en la morza prensando el tubo principal.\n***Si es una pieza con recuperador neumático (no con resorte), tomar el valor de presión para colocar la misma presión al reinstalar.\n***Retirar el aire existente en la xxxxx neumática.\n***Retirar parcialmente los tornillos inferiores (rosca normal)\n***Retirar completamente los tapones superiores. Retirarlos con la pieza parada ya que puede perder aceite. Retirar el tapón derecho que forma parte de la pieza de Bloqueo con sumo cuidado ya que puede tener aceite arrastrado en el fondo\n***Verificar los O-Rings / Cambiar\n***Retirar el aceite de las barras en el recipiente para que decante la suciedad.\n****Purgar los restos de aceite accionando las botellas hacia arriba y hacia abajo hasta que no quede aceite.\n***Retirar parcialmente los tornillos inferiores (rosca normal).\n***Desclavar ambos vástagos.\n***Retirar ambos vástagos. Mantener cuidado con el retiro del vástago derecho ya que aún puede contener aceite.\n****Es probable que si estan ajustados los vástagos no salgan fácilmente. Empujarlos presionando desde los agujeros de los tornillos hacia arriba.\n***Verificar que ambos vástago no se encuentren deteriorados (bujes, etc.)\n***Limpiar\n****Barras\n****Botellas en su interior.\n****Los retenes superiores.\n****Interior del cristo/puente (Detergente)\n***Engrasar el interior de los retenes superiores\n***Ensamblar nuevamente las piezas\n***Ajustar las piezas internas con los tornillos inferiores, clavándolos\n***Colocar Aceite Rojo Sellador en el interior del tubo izquierdo (neumático). \n***Completar con Aceite 10W el tubo derecho hasta que haga tope con la parte inferior (calculada) del dispositivo de bloqueo.\n***Colocar el dispositivo de bloqueo y atornillar el tapón.\n***Colocar el tapón del tubo de recuperación y insuflarle de 40-50 psi.\n***Probar contra el piso con bloqueo o sin bloqueo. La prueba del bloqueo debe ser más liviana que la de sin bloqueo.\n***Probar el recupero completo. Si no recupera, insuflar en forma completa de acuerdo a las indicaciones o al valor original previo al desarme.\n***Completar el armado y detalles de terminación.\n\n\n\n\n**Se procedió a retirar los topes superiores.\n***Para la extracción cuidadosa se utiliza una llave tubo desbastada en la boca, ya que el ángulo entre el borde exterior y el borde interior de la llave a veces tiene una pendiente que erosiona los \"tornillos\" superiores. Hay que debastar ese tubo para que calce justo.\n***El tubo derecho, en el caso que tenga un regulador de compresión (hace el recorrido más liviano o más duro), debajo de la rosca de regulacion de compresión que se suelta con un tornillo allen de diametro mínimo, suele tener una llave allen con rosca inversa. Esta rosca empuja hacia arriba el interior del sistema\n***El tubo izquierdo, tiene un tornillo que permite extraer el interior del tubo. Generalmente ese interior se encuentra clavado, por lo que a poco de extraer el tornillo se debe golpear con un martillo de goma para poder desclavar el interior,\n*Horquilla YYY','utf-8'),(287,'http://bikemagic.com/gear/how-to/mountain-bike-maintenance/fork-tuning-for-beginners.html\nhttp://bicyclethailand.com/setting-the-sag-on-mtb-suspension-forks/\nhttp://www.trekbikes.com/us/en/resources/suspension_setup#calculator\nhttp://www.trekbikes.com/us/en/support/manuals\nhttp://www.trekbikes.com/us/en/bikes/2012/archive/\n\nSag: -Hundirse por el peso- Is the amount that the fork compresses when sitting on the bike in a neutral riding position. Depending on riding style, sag is typically set anywhere from 20-33% of the fork\'s travel. Your F100 has 100mm or about 4 inches of travel. If you want to get 25% sag, you should use up about one inch of your fork\'s travel just sitting on the bike.\n\n\n\nObjetivo: La idea de la suspensión es doble. En primer lugar, es la intención de absorber los impactos de la tierra antes de llegar al jinete, que mejora la comodidad . En segundo lugar, mantiene las ruedas en contacto con el suelo para más de las veces , la mejora de agarre y control\nHerramientas:\nEstamos trabajando sólo con los ajustes disponibles fuera del tenedor aquí, así que no vamos a necesitar muchas herramientas. Algunas bandas de sujeción y una cinta métrica son esenciales , y usted necesitará una bomba de amortiguador si tienes horquillas con suspensión neumática .\nsag Configuración\nfork_setup_ziptie ( 8K)\n\n1 . Forks funcionan mejor cuando se les permite asentarse un poco en su viaje bajo el peso del ciclista , dándoles alguna extensión de reserva para que la rueda puede caer en los agujeros y plumón pequeñas gotas sin que el resto de la moto caiga demasiado . Para conseguir el hundimiento correcto, empezar con una simple brida de plástico alrededor de una pierna .\nfork_setup_measure ( 8K)\n\n2 . Brida de plástico en su lugar , empuje hacia abajo hasta que está descansando en el sello tenedor en la parte superior de la corredera . Luego subir a la moto y adoptar la \" posición de ataque \" - un poco fuera de la silla de montar , equilibrado entre las manos y los pies de peso, centrado sobre la moto. Tendrá que sea realmente un buen equilibrio, un ayudante o algo a inclinarse suavemente para lograrlo. Asegúrese de que la brida de plástico es justo abajo de la junta de tenedor y suavemente bajar.\n\nAhora mida la distancia entre la brida de plástico y el sello tenedor . El valor óptimo está en algún lugar entre un cuarto y un tercio del recorrido total tenedor - en un recorrido de 100 mm que querrá alrededor de 25 -35mm de sag . Ejecutar más holgura si te gusta un paseo suave , felpa, menos si te gustan las cosas más firme. Si es salvajemente fuera , tendrá que hacer algunos ajustes de primavera ...\nfork_setup_preload ( 8K)\n\n3 . Si usted tiene un tenedor bobina - surgido , su primera parada debe ser el ajuste de precarga . Esto por lo general vive en la parte superior de al menos una pata tenedor - algunos tenedores sólo tendrán uno, algunos (generalmente modelos de presupuesto ) tendrá dos. Si no tienes suficiente holgura, gire el ajustador en sentido antihorario ( s ) . Si usted tiene demasiada holgura , gire en sentido horario . Vuelva a medir hasta que sea correcto. Si usted es considerablemente más ligero o más pesado que el promedio que podría no ser capaz de ajustar el hundimiento acaba con los ajustadores de precarga . Si usted es la luz es posible que tenga holgura suficiente con cero precarga ; si eres pesada puede tener demasiado con la máxima precarga. En cualquier caso, usted tendrá que cambiar el muelle real de un encendedor ( si está claro) o más pesado (si eres más pesado) uno . Por lo general, este es sólo un caso de deshacer la tapa en la parte superior de la pierna, tirando del muelle viejo y cayendo uno nuevo pulg\nfork_setup_posspring ( 8K)\n\n4 . Los propietarios de las horquillas con suspensión neumática no tienen que preocuparse de precarga o los cambios de la primavera . Acaba de obtener su bomba de choque (a menudo se suministra con las horquillas ) y añadir o quitar el aire hasta que el hundimiento es correcta. Al igual que los diales de precarga , habrá una válvula de aire debajo de una gorra en una o ambas piernas. Si hay aire en las dos piernas , tratar de tener la misma presión de aire en ambos. No apriete demasiado las bombas de choque - hacerlas hasta los registros de calibre y un toque más . Pruebe la presión recomendada por el fabricante de primera y ajustar hasta que el hundimiento es correcto - hemos golpeado un aparatito presión tenedor con recomendaciones para algunos tenedores actuales.\nfork_setup_negspring ( 9K )\n\n5 . Algunos tenedores de aire tienen un resorte de aire negativa , así como el muelle principal (positivo ) . Esto está diseñado para contrarrestar la primavera positiva para superar la \" fricción estática \" inicial a menudo se encuentran en horquillas de aire y ayudan a que se muevan más fácilmente sobre los baches pequeños. En esta etapa , establecer el muelle negativo a la misma presión que el resorte positivo . Más adelante se puede utilizar el muelle negativo para afinar la sensación del tenedor ; adición de aire hará que sea más flexible sobre los baches pequeños , liberando un poco de aire hará que sea más rígido sobre los baches pequeños pero tendrás bob menos.\namortiguación\n\nSprings ordenados , es hora de dar vuelta a su atención a la amortiguación . Un tenedor con sólo brota en ella tiende a mantener rebotando mucho después de un bache ha pasado. Amortiguación mantiene las cosas bajo control, por lo general por medio de aceite que es forzada a través de pequeños agujeros en los pistones . Algunos tenedores de presupuesto no tienen amortiguación hidráulica , confiando en cambio en la fricción o el poco de amortiguación inherente a muelles de elastómero . Pero si ha de amortiguación y hay un ajustador de la mano por él, esto es lo que hacer con él :\nfork_setup_rebound ( 9K )\n\n1 . La amortiguación de rebote mantiene el tenedor de rebote de vuelta demasiado rápido después de un golpe. RockShox, Manitou y Pace ponen sus ajustadores de rebote en la parte inferior del tenedor de la pierna derecha, Marzocchi y Fox les ponen en la parte superior . Para entrar en el estadio de béisbol , de pie a horcajadas sobre la moto , pon tus manos sobre las barras y rápidamente empuje hacia abajo y después hacia arriba . Las horquillas de rebotes deben casi mantenerse al día con sus manos. Si los golpean , agregue más amortiguación . Si van a la deriva lentamente hacia arriba, reducir la amortiguación .\n\nUsted también puede tener un ajustador de la amortiguación de compresión . Deje esto en menos de momento .\nvaya paseo\n\nDespués de esa pequeña porción, el tenedor debe estar en el estadio de béisbol de rendimiento. Pero la única manera de conseguir que en el clavo es salir y pasear . Deje la brida de plástico en su lugar e ir a montar una ruta familiar como lo haría normalmente . Usted debe conseguir la carrera completa en los más grandes éxitos que te encuentres. Si nunca inferior a los tenedores a cabo usted puede conseguir lejos con muelles más blandos / menos aire . Si usted está tocando fondo todo el tiempo que necesita un resorte más rígido o más aire.\n\nMás difícil es de amortiguación. Se puede tomar un tiempo antes de que esté en sintonía con lo que el tenedor está haciendo. Una prueba sencilla es encontrar una secuencia de golpes muy seguidos de tamaño mediano - raíces de los árboles , las rocas, un tramo superficial de pasos o incluso una vieja escalera en el suelo. Cabalga hacia ellos a una velocidad razonable y concentrarse en lo que hace el tenedor de . Si todo se siente animoso y vagos, añadir un poco de rebote. Si se siente como si conseguir gradualmente más corto, reduce la amortiguación del tenedor ; demasiada amortiguación evita que el tenedor de totalmente re- extendiéndose después de cada golpe , por lo que \" los paquetes de abajo\" gradualmente.\n\nEs probable que encuentres sigues haciendo pequeños ajustes para un buen número de paseos. A medida que se familiarice con el ambiente de la suspensión, empieza a jugar con el muelle negativo y la amortiguación de compresión para conseguir la sensación de que deseas . Por lo general, corremos ninguna o muy poca amortiguación de compresión , pero si desea reducir tenedor bob y el hundimiento al frenar a expensas de plushness pequeña protuberancia , el viento un poco más adelante. En realidad no hay reglas duras y rápidas - si se siente bien a usted, probablemente lo es.','utf-8'),(288,'*http://bikemagic.com/gear/how-to/mountain-bike-maintenance/fork-tuning-for-beginners.html\n*http://bicyclethailand.com/setting-the-sag-on-mtb-suspension-forks/\n*http://www.trekbikes.com/us/en/resources/suspension_setup#calculator\n*http://www.trekbikes.com/us/en/support/manuals\n*http://www.trekbikes.com/us/en/bikes/2012/archive/\n\nSag: -Hundirse por el peso- Is the amount that the fork compresses when sitting on the bike in a neutral riding position. Depending on riding style, sag is typically set anywhere from 20-33% of the fork\'s travel. Your F100 has 100mm or about 4 inches of travel. If you want to get 25% sag, you should use up about one inch of your fork\'s travel just sitting on the bike.\n\n\n\nObjetivo: La idea de la suspensión es doble. En primer lugar, es la intención de absorber los impactos de la tierra antes de llegar al jinete, que mejora la comodidad . En segundo lugar, mantiene las ruedas en contacto con el suelo para más de las veces , la mejora de agarre y control\nHerramientas:\nEstamos trabajando sólo con los ajustes disponibles fuera del tenedor aquí, así que no vamos a necesitar muchas herramientas. Algunas bandas de sujeción y una cinta métrica son esenciales , y usted necesitará una bomba de amortiguador si tienes horquillas con suspensión neumática .\nsag Configuración\nfork_setup_ziptie ( 8K)\n\n1 . Forks funcionan mejor cuando se les permite asentarse un poco en su viaje bajo el peso del ciclista , dándoles alguna extensión de reserva para que la rueda puede caer en los agujeros y plumón pequeñas gotas sin que el resto de la moto caiga demasiado . Para conseguir el hundimiento correcto, empezar con una simple brida de plástico alrededor de una pierna .\nfork_setup_measure ( 8K)\n\n2 . Brida de plástico en su lugar , empuje hacia abajo hasta que está descansando en el sello tenedor en la parte superior de la corredera . Luego subir a la moto y adoptar la \" posición de ataque \" - un poco fuera de la silla de montar , equilibrado entre las manos y los pies de peso, centrado sobre la moto. Tendrá que sea realmente un buen equilibrio, un ayudante o algo a inclinarse suavemente para lograrlo. Asegúrese de que la brida de plástico es justo abajo de la junta de tenedor y suavemente bajar.\n\nAhora mida la distancia entre la brida de plástico y el sello tenedor . El valor óptimo está en algún lugar entre un cuarto y un tercio del recorrido total tenedor - en un recorrido de 100 mm que querrá alrededor de 25 -35mm de sag . Ejecutar más holgura si te gusta un paseo suave , felpa, menos si te gustan las cosas más firme. Si es salvajemente fuera , tendrá que hacer algunos ajustes de primavera ...\nfork_setup_preload ( 8K)\n\n3 . Si usted tiene un tenedor bobina - surgido , su primera parada debe ser el ajuste de precarga . Esto por lo general vive en la parte superior de al menos una pata tenedor - algunos tenedores sólo tendrán uno, algunos (generalmente modelos de presupuesto ) tendrá dos. Si no tienes suficiente holgura, gire el ajustador en sentido antihorario ( s ) . Si usted tiene demasiada holgura , gire en sentido horario . Vuelva a medir hasta que sea correcto. Si usted es considerablemente más ligero o más pesado que el promedio que podría no ser capaz de ajustar el hundimiento acaba con los ajustadores de precarga . Si usted es la luz es posible que tenga holgura suficiente con cero precarga ; si eres pesada puede tener demasiado con la máxima precarga. En cualquier caso, usted tendrá que cambiar el muelle real de un encendedor ( si está claro) o más pesado (si eres más pesado) uno . Por lo general, este es sólo un caso de deshacer la tapa en la parte superior de la pierna, tirando del muelle viejo y cayendo uno nuevo pulg\nfork_setup_posspring ( 8K)\n\n4 . Los propietarios de las horquillas con suspensión neumática no tienen que preocuparse de precarga o los cambios de la primavera . Acaba de obtener su bomba de choque (a menudo se suministra con las horquillas ) y añadir o quitar el aire hasta que el hundimiento es correcta. Al igual que los diales de precarga , habrá una válvula de aire debajo de una gorra en una o ambas piernas. Si hay aire en las dos piernas , tratar de tener la misma presión de aire en ambos. No apriete demasiado las bombas de choque - hacerlas hasta los registros de calibre y un toque más . Pruebe la presión recomendada por el fabricante de primera y ajustar hasta que el hundimiento es correcto - hemos golpeado un aparatito presión tenedor con recomendaciones para algunos tenedores actuales.\nfork_setup_negspring ( 9K )\n\n5 . Algunos tenedores de aire tienen un resorte de aire negativa , así como el muelle principal (positivo ) . Esto está diseñado para contrarrestar la primavera positiva para superar la \" fricción estática \" inicial a menudo se encuentran en horquillas de aire y ayudan a que se muevan más fácilmente sobre los baches pequeños. En esta etapa , establecer el muelle negativo a la misma presión que el resorte positivo . Más adelante se puede utilizar el muelle negativo para afinar la sensación del tenedor ; adición de aire hará que sea más flexible sobre los baches pequeños , liberando un poco de aire hará que sea más rígido sobre los baches pequeños pero tendrás bob menos.\namortiguación\n\nSprings ordenados , es hora de dar vuelta a su atención a la amortiguación . Un tenedor con sólo brota en ella tiende a mantener rebotando mucho después de un bache ha pasado. Amortiguación mantiene las cosas bajo control, por lo general por medio de aceite que es forzada a través de pequeños agujeros en los pistones . Algunos tenedores de presupuesto no tienen amortiguación hidráulica , confiando en cambio en la fricción o el poco de amortiguación inherente a muelles de elastómero . Pero si ha de amortiguación y hay un ajustador de la mano por él, esto es lo que hacer con él :\nfork_setup_rebound ( 9K )\n\n1 . La amortiguación de rebote mantiene el tenedor de rebote de vuelta demasiado rápido después de un golpe. RockShox, Manitou y Pace ponen sus ajustadores de rebote en la parte inferior del tenedor de la pierna derecha, Marzocchi y Fox les ponen en la parte superior . Para entrar en el estadio de béisbol , de pie a horcajadas sobre la moto , pon tus manos sobre las barras y rápidamente empuje hacia abajo y después hacia arriba . Las horquillas de rebotes deben casi mantenerse al día con sus manos. Si los golpean , agregue más amortiguación . Si van a la deriva lentamente hacia arriba, reducir la amortiguación .\n\nUsted también puede tener un ajustador de la amortiguación de compresión . Deje esto en menos de momento .\nvaya paseo\n\nDespués de esa pequeña porción, el tenedor debe estar en el estadio de béisbol de rendimiento. Pero la única manera de conseguir que en el clavo es salir y pasear . Deje la brida de plástico en su lugar e ir a montar una ruta familiar como lo haría normalmente . Usted debe conseguir la carrera completa en los más grandes éxitos que te encuentres. Si nunca inferior a los tenedores a cabo usted puede conseguir lejos con muelles más blandos / menos aire . Si usted está tocando fondo todo el tiempo que necesita un resorte más rígido o más aire.\n\nMás difícil es de amortiguación. Se puede tomar un tiempo antes de que esté en sintonía con lo que el tenedor está haciendo. Una prueba sencilla es encontrar una secuencia de golpes muy seguidos de tamaño mediano - raíces de los árboles , las rocas, un tramo superficial de pasos o incluso una vieja escalera en el suelo. Cabalga hacia ellos a una velocidad razonable y concentrarse en lo que hace el tenedor de . Si todo se siente animoso y vagos, añadir un poco de rebote. Si se siente como si conseguir gradualmente más corto, reduce la amortiguación del tenedor ; demasiada amortiguación evita que el tenedor de totalmente re- extendiéndose después de cada golpe , por lo que \" los paquetes de abajo\" gradualmente.\n\nEs probable que encuentres sigues haciendo pequeños ajustes para un buen número de paseos. A medida que se familiarice con el ambiente de la suspensión, empieza a jugar con el muelle negativo y la amortiguación de compresión para conseguir la sensación de que deseas . Por lo general, corremos ninguna o muy poca amortiguación de compresión , pero si desea reducir tenedor bob y el hundimiento al frenar a expensas de plushness pequeña protuberancia , el viento un poco más adelante. En realidad no hay reglas duras y rápidas - si se siente bien a usted, probablemente lo es.','utf-8'),(289,'*http://bikemagic.com/gear/how-to/mountain-bike-maintenance/fork-tuning-for-beginners.html\n*http://bicyclethailand.com/setting-the-sag-on-mtb-suspension-forks/\n*http://www.trekbikes.com/us/en/resources/suspension_setup#calculator\n*http://www.trekbikes.com/us/en/support/manuals\n*http://www.trekbikes.com/us/en/bikes/2012/archive/\n*http://en.wikipedia.org/wiki/Bicycle_suspension#Sag\n\nSag: -Hundirse por el peso- Is the amount that the fork compresses when sitting on the bike in a neutral riding position. Depending on riding style, sag is typically set anywhere from 20-33% of the fork\'s travel. Your F100 has 100mm or about 4 inches of travel. If you want to get 25% sag, you should use up about one inch of your fork\'s travel just sitting on the bike.\n\n\n\nObjetivo: La idea de la suspensión es doble. En primer lugar, es la intención de absorber los impactos de la tierra antes de llegar al jinete, que mejora la comodidad . En segundo lugar, mantiene las ruedas en contacto con el suelo para más de las veces , la mejora de agarre y control\nHerramientas:\nEstamos trabajando sólo con los ajustes disponibles fuera del tenedor aquí, así que no vamos a necesitar muchas herramientas. Algunas bandas de sujeción y una cinta métrica son esenciales , y usted necesitará una bomba de amortiguador si tienes horquillas con suspensión neumática .\nsag Configuración\nfork_setup_ziptie ( 8K)\n\n1 . Forks funcionan mejor cuando se les permite asentarse un poco en su viaje bajo el peso del ciclista , dándoles alguna extensión de reserva para que la rueda puede caer en los agujeros y plumón pequeñas gotas sin que el resto de la moto caiga demasiado . Para conseguir el hundimiento correcto, empezar con una simple brida de plástico alrededor de una pierna .\nfork_setup_measure ( 8K)\n\n2 . Brida de plástico en su lugar , empuje hacia abajo hasta que está descansando en el sello tenedor en la parte superior de la corredera . Luego subir a la moto y adoptar la \" posición de ataque \" - un poco fuera de la silla de montar , equilibrado entre las manos y los pies de peso, centrado sobre la moto. Tendrá que sea realmente un buen equilibrio, un ayudante o algo a inclinarse suavemente para lograrlo. Asegúrese de que la brida de plástico es justo abajo de la junta de tenedor y suavemente bajar.\n\nAhora mida la distancia entre la brida de plástico y el sello tenedor . El valor óptimo está en algún lugar entre un cuarto y un tercio del recorrido total tenedor - en un recorrido de 100 mm que querrá alrededor de 25 -35mm de sag . Ejecutar más holgura si te gusta un paseo suave , felpa, menos si te gustan las cosas más firme. Si es salvajemente fuera , tendrá que hacer algunos ajustes de primavera ...\nfork_setup_preload ( 8K)\n\n3 . Si usted tiene un tenedor bobina - surgido , su primera parada debe ser el ajuste de precarga . Esto por lo general vive en la parte superior de al menos una pata tenedor - algunos tenedores sólo tendrán uno, algunos (generalmente modelos de presupuesto ) tendrá dos. Si no tienes suficiente holgura, gire el ajustador en sentido antihorario ( s ) . Si usted tiene demasiada holgura , gire en sentido horario . Vuelva a medir hasta que sea correcto. Si usted es considerablemente más ligero o más pesado que el promedio que podría no ser capaz de ajustar el hundimiento acaba con los ajustadores de precarga . Si usted es la luz es posible que tenga holgura suficiente con cero precarga ; si eres pesada puede tener demasiado con la máxima precarga. En cualquier caso, usted tendrá que cambiar el muelle real de un encendedor ( si está claro) o más pesado (si eres más pesado) uno . Por lo general, este es sólo un caso de deshacer la tapa en la parte superior de la pierna, tirando del muelle viejo y cayendo uno nuevo pulg\nfork_setup_posspring ( 8K)\n\n4 . Los propietarios de las horquillas con suspensión neumática no tienen que preocuparse de precarga o los cambios de la primavera . Acaba de obtener su bomba de choque (a menudo se suministra con las horquillas ) y añadir o quitar el aire hasta que el hundimiento es correcta. Al igual que los diales de precarga , habrá una válvula de aire debajo de una gorra en una o ambas piernas. Si hay aire en las dos piernas , tratar de tener la misma presión de aire en ambos. No apriete demasiado las bombas de choque - hacerlas hasta los registros de calibre y un toque más . Pruebe la presión recomendada por el fabricante de primera y ajustar hasta que el hundimiento es correcto - hemos golpeado un aparatito presión tenedor con recomendaciones para algunos tenedores actuales.\nfork_setup_negspring ( 9K )\n\n5 . Algunos tenedores de aire tienen un resorte de aire negativa , así como el muelle principal (positivo ) . Esto está diseñado para contrarrestar la primavera positiva para superar la \" fricción estática \" inicial a menudo se encuentran en horquillas de aire y ayudan a que se muevan más fácilmente sobre los baches pequeños. En esta etapa , establecer el muelle negativo a la misma presión que el resorte positivo . Más adelante se puede utilizar el muelle negativo para afinar la sensación del tenedor ; adición de aire hará que sea más flexible sobre los baches pequeños , liberando un poco de aire hará que sea más rígido sobre los baches pequeños pero tendrás bob menos.\namortiguación\n\nSprings ordenados , es hora de dar vuelta a su atención a la amortiguación . Un tenedor con sólo brota en ella tiende a mantener rebotando mucho después de un bache ha pasado. Amortiguación mantiene las cosas bajo control, por lo general por medio de aceite que es forzada a través de pequeños agujeros en los pistones . Algunos tenedores de presupuesto no tienen amortiguación hidráulica , confiando en cambio en la fricción o el poco de amortiguación inherente a muelles de elastómero . Pero si ha de amortiguación y hay un ajustador de la mano por él, esto es lo que hacer con él :\nfork_setup_rebound ( 9K )\n\n1 . La amortiguación de rebote mantiene el tenedor de rebote de vuelta demasiado rápido después de un golpe. RockShox, Manitou y Pace ponen sus ajustadores de rebote en la parte inferior del tenedor de la pierna derecha, Marzocchi y Fox les ponen en la parte superior . Para entrar en el estadio de béisbol , de pie a horcajadas sobre la moto , pon tus manos sobre las barras y rápidamente empuje hacia abajo y después hacia arriba . Las horquillas de rebotes deben casi mantenerse al día con sus manos. Si los golpean , agregue más amortiguación . Si van a la deriva lentamente hacia arriba, reducir la amortiguación .\n\nUsted también puede tener un ajustador de la amortiguación de compresión . Deje esto en menos de momento .\nvaya paseo\n\nDespués de esa pequeña porción, el tenedor debe estar en el estadio de béisbol de rendimiento. Pero la única manera de conseguir que en el clavo es salir y pasear . Deje la brida de plástico en su lugar e ir a montar una ruta familiar como lo haría normalmente . Usted debe conseguir la carrera completa en los más grandes éxitos que te encuentres. Si nunca inferior a los tenedores a cabo usted puede conseguir lejos con muelles más blandos / menos aire . Si usted está tocando fondo todo el tiempo que necesita un resorte más rígido o más aire.\n\nMás difícil es de amortiguación. Se puede tomar un tiempo antes de que esté en sintonía con lo que el tenedor está haciendo. Una prueba sencilla es encontrar una secuencia de golpes muy seguidos de tamaño mediano - raíces de los árboles , las rocas, un tramo superficial de pasos o incluso una vieja escalera en el suelo. Cabalga hacia ellos a una velocidad razonable y concentrarse en lo que hace el tenedor de . Si todo se siente animoso y vagos, añadir un poco de rebote. Si se siente como si conseguir gradualmente más corto, reduce la amortiguación del tenedor ; demasiada amortiguación evita que el tenedor de totalmente re- extendiéndose después de cada golpe , por lo que \" los paquetes de abajo\" gradualmente.\n\nEs probable que encuentres sigues haciendo pequeños ajustes para un buen número de paseos. A medida que se familiarice con el ambiente de la suspensión, empieza a jugar con el muelle negativo y la amortiguación de compresión para conseguir la sensación de que deseas . Por lo general, corremos ninguna o muy poca amortiguación de compresión , pero si desea reducir tenedor bob y el hundimiento al frenar a expensas de plushness pequeña protuberancia , el viento un poco más adelante. En realidad no hay reglas duras y rápidas - si se siente bien a usted, probablemente lo es.','utf-8'),(290,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque\n*Pedales Plegables\n*Morza Grande\n*Terrajas\n*Llave armado para Horquilla SunTour XCR.\n*Inflador de Precisión.\n*Guía Corta Caño\n*Fusibles +Comunes','utf-8'),(291,'==Notas==\n*SAS\n**[[SAS_AA_Data|AA Data]]\n**[[SAS_Pendientes|Pendientes]]\n**[[SAS_MD_Data|MD Data]]\n**[[SAS_ZZ_Data|ZZ Data]]\n*Proyectos\n**Spanex\n***[[Spanex_Mercado|Mercado]]\n***[[Spanex_Competencia|Competencia]]\n***[[Spanex_Ideas|Ideas]]\n**911Bike\n***[[Notas_SCL_Bicicletas|SCL Data]]\n***Mecánica\n****[[Curso Mecánica - 1º]]\n****[[Curso Mecánica - 2º]]\n****[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n****[http://bicycletutor.com/ BicycleTutor.com]\n****[[Sugerencias Mantenimiento]]\n****[[Diagrama (EN)]]\n****[[Diagrama (ES)]]\n****[[Glosario ES-EN-FR]]\n****[[911Project_Lista_Compras|Lista Compras]]\n**TourConsultants\n***[[TourConsultants_República_Checa|República Checa]]\n***[[TourConsultants_Francia|Francia]]\n\n==Bicicletas==\n*Mecánica\n**[[Curso Mecánica - 1º]]\n**[[Curso Mecánica - 2º]]\n**[http://www.madegood.org/bikes/library/ The Extensive Guide to Bicycle Repair]\n**[http://bicycletutor.com/ BicycleTutor.com]\n**[[Sugerencias Mantenimiento]]\n*[[Diagrama (EN)]]\n*[[Diagrama (ES)]]\n*[[Glosario ES-EN-FR]]\n*[[Mercado]]\n*[[911Project_Lista_Compras|Lista Compras]]\n*Sitios\n**[http://http://www.bicycling.com/ Bicycling.com]\n**[http://www.biciclub.com/ Biciclub.com]\n\n==Ejercicios==\n*[http://www.youtube.com/watch?v=D2SIorRT050 Ejercicios para aliviar el ciático]\n*[http://www.youtube.com/watch?v=eZO-bKdmFFM Sciatica Pain Relief]\n*[http://www.youtube.com/watch?v=wUOb0qA_w3I 1 Minute Sciatica Exercises]\n*[http://www.youtube.com/watch?v=HGJ8YZN5hWg  Ejercicio para la prevención y tratamiento de la ciática]\n\n<!-- \n*[<URL> <Texto Aclaratorio>]\n -->\n==Finance==\n*Paraisos: Panama, Letonia, Ecuador, Australia, Tailandia, Rusia, Kazajstán y otros paises.\n*Transferencias electrónicas: Western Union, Moneygram, Xoom, Contact\n*Divisas Electrónicas: Bitcoin, Liberty Reserve, Pecunix, Paxum, Perfect Money, PayPal, c-gold, Hoopay, GDP\n\n*[MTGox|https://mtgox.com/]','utf-8'),(292,'==Tiendas==\n*Importadora Caupulican\n**http:\\\\icbikes.cl\n**Leon Zimend\n*La Cleta\n*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD (Mapa)]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(293,'==Tiendas==\n*Importadora Caupulican\n**W:http:\\\\icbikes.cl\n**C:Leon Zimend\n**:Gisela Zimend\n**D:San Diego 867\n**T:56-2-6961937\n*La Cleta\n*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD (Mapa)]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(294,'==Tiendas==\n*Importadora Caupulican\n**W:http:\\\\icbikes.cl\n**C:Leon Zimend; Gisela Zimend\n**D:San Diego 867\n**T:56-2-6961937\n*La Cleta\n*Terrabike\n**San Diego 896 y Coquimbo [http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD (Mapa)]\n**Pereira / Vespucio Sur / Irrazabal hasta Salvador / José Cañas - Manuel Matta / San Diego derecha\n**Cascos Raja= 19.990 - $259 - $416\n**Sab 10-15\n*BikeNew\n**San Diego 802-848\n**Casco Sixsixone= 18.900 - $245 - $394\n*Altared\n**Cristobal Colon 5821 - Las Condes\n**Alderete 1651 - Vitacura\n*La Chancha Pig\n**Fuenzalida 205 - Loc 13 - En frente de Alto Las Condes\n**Casco Biscia= 12.000 - $154 - $250\n**Parrillas\n*Belda\n**MallSport\n**Mall Plaza Vespuscio\n*Bicimundo\n**Vitacura 4868 - Vitacura\n*Central Bici\n**General Gambino 398\n*Lobo Bike\n**Diagonal Rancagua 980 (Vespucio Sur / Francisco Bilbao / pasando Jose Miguel Claro\n**Sabado 11-15','utf-8'),(295,'*Llave Torque\n*Llaves Llantas Shimano XT\n*Quita tapón Shimano HollowTech II\n*Pinza Saca Clip de Seguridad (arandela)\n*Kit Sangrado AVID.\n*Destornillador eléctrico con torque\n*Pedales Plegables\n*Morza Grande\n*Terrajas\n*Llave armado para Horquilla SunTour XCR.\n*Inflador de Precisión.\n*Guía Corta Caño\n*Fusibles +Comunes\n*Rodillo Entrenamiento','utf-8');
/*!40000 ALTER TABLE `pvt_text` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_querycache`
--

DROP TABLE IF EXISTS `pvt_querycache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_querycache` (
  `qc_type` varbinary(32) NOT NULL,
  `qc_value` int(10) unsigned NOT NULL default '0',
  `qc_namespace` int(11) NOT NULL default '0',
  `qc_title` varbinary(255) NOT NULL default '',
  KEY `qc_type` (`qc_type`,`qc_value`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_querycache`
--

LOCK TABLES `pvt_querycache` WRITE;
/*!40000 ALTER TABLE `pvt_querycache` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_querycache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_user_former_groups`
--

DROP TABLE IF EXISTS `peg_user_former_groups`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_user_former_groups` (
  `ufg_user` int(10) unsigned NOT NULL default '0',
  `ufg_group` varbinary(16) NOT NULL default '',
  UNIQUE KEY `ufg_user_group` (`ufg_user`,`ufg_group`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_user_former_groups`
--

LOCK TABLES `peg_user_former_groups` WRITE;
/*!40000 ALTER TABLE `peg_user_former_groups` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_user_former_groups` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_external_user`
--

DROP TABLE IF EXISTS `pvt_external_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_external_user` (
  `eu_local_id` int(10) unsigned NOT NULL,
  `eu_external_id` varbinary(255) NOT NULL,
  PRIMARY KEY  (`eu_local_id`),
  UNIQUE KEY `eu_external_id` (`eu_external_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_external_user`
--

LOCK TABLES `pvt_external_user` WRITE;
/*!40000 ALTER TABLE `pvt_external_user` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_external_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_revision`
--

DROP TABLE IF EXISTS `peg_revision`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_revision` (
  `rev_id` int(10) unsigned NOT NULL auto_increment,
  `rev_page` int(10) unsigned NOT NULL,
  `rev_text_id` int(10) unsigned NOT NULL,
  `rev_comment` tinyblob NOT NULL,
  `rev_user` int(10) unsigned NOT NULL default '0',
  `rev_user_text` varbinary(255) NOT NULL default '',
  `rev_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `rev_minor_edit` tinyint(3) unsigned NOT NULL default '0',
  `rev_deleted` tinyint(3) unsigned NOT NULL default '0',
  `rev_len` int(10) unsigned default NULL,
  `rev_parent_id` int(10) unsigned default NULL,
  PRIMARY KEY  (`rev_id`),
  UNIQUE KEY `rev_page_id` (`rev_page`,`rev_id`),
  KEY `rev_timestamp` (`rev_timestamp`),
  KEY `page_timestamp` (`rev_page`,`rev_timestamp`),
  KEY `user_timestamp` (`rev_user`,`rev_timestamp`),
  KEY `usertext_timestamp` (`rev_user_text`,`rev_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=1466 DEFAULT CHARSET=binary MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_revision`
--

LOCK TABLES `peg_revision` WRITE;
/*!40000 ALTER TABLE `peg_revision` DISABLE KEYS */;
INSERT INTO `peg_revision` VALUES (1,1,1,'',0,'MediaWiki default','20120111184056',0,0,423,0),(2,2,2,'Página creada con «Documentación General»',0,'190.139.211.51','20120112133026',0,0,22,0),(3,2,3,'',0,'190.139.211.51','20120112133641',0,0,356,2),(4,2,4,'',0,'190.139.211.51','20120112133823',0,0,393,3),(5,2,5,'',0,'190.139.211.51','20120112151853',0,0,17275,4),(6,2,6,'',0,'190.139.211.51','20120112152025',0,0,17272,5),(7,2,7,'',0,'190.139.211.51','20120112152823',0,0,17270,6),(8,2,8,'',0,'190.139.211.51','20120112152932',0,0,16720,7),(9,2,9,'',0,'190.139.211.51','20120112153129',0,0,16721,8),(10,2,10,'',0,'190.139.211.51','20120112154909',0,0,29850,9),(11,2,11,'',0,'186.124.29.117','20120112201712',0,0,29892,10),(13,2,13,'',0,'186.124.29.117','20120112202021',0,0,29900,11),(16,2,16,'',0,'186.124.29.117','20120112215309',0,0,29902,13),(17,2,17,'',0,'186.124.29.117','20120112223151',0,0,29954,16),(18,2,18,'',0,'186.124.29.117','20120112223830',0,0,29905,17),(19,2,19,'',0,'186.124.29.117','20120112223905',0,0,29904,18),(20,2,20,'',0,'186.124.29.117','20120112224223',0,0,29872,19),(21,2,21,'',0,'186.124.29.117','20120112224254',0,0,29870,20),(22,2,22,'',0,'186.124.29.117','20120112224408',0,0,29871,21),(23,2,23,'/* Gestión de Magnitudes */',0,'186.124.29.117','20120112232201',0,0,30262,22),(24,2,24,'/* Gestión de Magnitudes */',0,'186.124.29.117','20120112233108',0,0,30505,23),(25,2,25,'/* Definiciones */',0,'186.124.29.117','20120112233253',0,0,30508,24),(26,2,26,'/* Atributos de Productos/Elementos */',0,'186.124.29.117','20120112233325',0,0,30516,25),(27,2,27,'/* Definiciones */',0,'186.124.29.117','20120112233350',0,0,30515,26),(32,2,32,'/* Definiciones */',0,'186.124.29.117','20120113134349',0,0,30718,27),(37,2,37,'/* Vistas */',0,'186.109.17.104','20120120110309',0,0,30770,32),(38,2,38,'/* Gestión Retail Aberturas */',0,'186.109.17.104','20120121024835',0,0,30811,37),(39,2,39,'/* Gestión Retail Aberturas */',0,'186.109.17.104','20120121025323',0,0,30812,38),(47,5,47,'Página creada con «== Relaciones == [[VISTA:visproadic]]»',0,'186.124.202.210','20120127133933',0,0,37,0),(48,6,48,'Página creada con «== Relaciones == VISTA:visprodadic TABLA:vidquoten2»',0,'186.124.202.210','20120127134104',0,0,51,0),(49,6,49,'/* Relaciones */',0,'186.124.202.210','20120127134120',0,0,53,48),(50,6,50,'/* Relaciones */',0,'186.124.202.210','20120127134138',0,0,61,49),(52,2,52,'/* Gestión Retail Aberturas */',0,'186.124.202.210','20120127173924',0,0,30856,39),(71,2,71,'/* Atributos de Productos/Elementos */',1,'Administrador','20120213215848',0,0,30857,52),(74,2,74,'/* Reportes */',1,'Administrador','20120227223236',0,0,30869,71),(75,2,75,'/* ACL */',1,'Administrador','20120227223737',0,0,31234,74),(76,2,76,'/* ACL */',1,'Administrador','20120227223901',0,0,31234,75),(77,2,77,'/* ACL */',1,'Administrador','20120228003238',0,0,31335,76),(78,2,78,'/* ACL */',1,'Administrador','20120229000715',0,0,31373,77),(79,2,79,'/* ACL */',1,'Administrador','20120308021036',0,0,31572,78),(80,2,80,'/* ACL */',1,'Administrador','20120308021321',0,0,31730,79),(81,2,81,'/* ACL */',1,'Administrador','20120308085536',0,0,31751,80),(82,2,82,'/* ACL */',1,'Administrador','20120308085604',0,0,31750,81),(83,2,83,'/* ACL */',1,'Administrador','20120309150245',0,0,31763,82),(84,2,84,'/* ACL */',1,'Administrador','20120309150458',0,0,31763,83),(85,2,85,'/* ACL */',1,'Administrador','20120309151039',0,0,31784,84),(86,2,86,'/* ACL */',1,'Administrador','20120309152432',0,0,31780,85),(87,2,87,'/* ACL */',1,'Administrador','20120309190237',0,0,32128,86),(88,2,88,'/* ACL */',1,'Administrador','20120309190530',0,0,32374,87),(89,2,89,'/* ACL */',1,'Administrador','20120309190618',0,0,32379,88),(90,2,90,'/* ACL */',1,'Administrador','20120309190741',0,0,32104,89),(91,2,91,'/* ACL */',1,'Administrador','20120309190806',0,0,32099,90),(92,2,92,'/* ACL */',1,'Administrador','20120309202217',0,0,32144,91),(93,2,93,'/* ACL */',1,'Administrador','20120309202334',0,0,32144,92),(94,2,94,'/* ACL */',1,'Administrador','20120309202433',0,0,32150,93),(95,2,95,'/* Triggers */',1,'Administrador','20120309203445',0,0,32167,94),(96,2,96,'/* Reportes */',1,'Administrador','20120309203704',0,0,32202,95),(97,2,97,'/* ACL */',1,'Administrador','20120309203812',0,0,32125,96),(98,2,98,'/* Procedimientos */',1,'Administrador','20120309210904',0,0,32235,97),(99,2,99,'/* Procedimientos */',1,'Administrador','20120309211239',0,0,30516,98),(100,2,100,'/* Procedimientos */',1,'Administrador','20120309211544',0,0,30556,99),(101,2,101,'/* Reportes */',1,'Administrador','20120309212213',0,0,31259,100),(102,2,102,'/* Reportes */',1,'Administrador','20120309212440',0,0,29008,101),(103,2,103,'/* Reportes */',1,'Administrador','20120309212617',0,0,29019,102),(104,2,104,'/* Reportes */',1,'Administrador','20120309212730',0,0,29009,103),(105,2,105,'/* Vistas */',1,'Administrador','20120310002854',0,0,29177,104),(106,2,106,'/* Vistas */',1,'Administrador','20120310003940',0,0,20532,105),(107,2,107,'/* Vistas */',1,'Administrador','20120310004143',0,0,20540,106),(108,2,108,'/* Triggers */',1,'Administrador','20120310004808',0,0,15106,107),(109,2,109,'/* Triggers */',1,'Administrador','20120310011439',0,0,15158,108),(110,2,110,'/* Triggers */',1,'Administrador','20120310011935',0,0,15191,109),(111,2,111,'/* Triggers */',1,'Administrador','20120310033111',0,0,13518,110),(112,2,112,'/* Triggers */',1,'Administrador','20120310033253',0,0,13500,111),(113,2,113,'/* Triggers */',1,'Administrador','20120310033508',0,0,13510,112),(114,2,114,'/* Triggers */',1,'Administrador','20120310033645',0,0,13516,113),(115,2,115,'/* Triggers */',1,'Administrador','20120310034012',0,0,13527,114),(116,2,116,'/* Triggers */',1,'Administrador','20120310035211',0,0,14150,115),(117,2,117,'/* ACL */',1,'Administrador','20120314150318',0,0,14155,116),(118,2,118,'/* ACL */',1,'Administrador','20120314150610',0,0,14156,117),(119,2,119,'/* ACL */',1,'Administrador','20120314151143',0,0,14156,118),(120,2,120,'/* Vistas */',1,'Administrador','20120315145234',0,0,15439,119),(121,2,121,'/* Vistas */',1,'Administrador','20120315145317',0,0,15439,120),(122,2,122,'/* Vistas */',1,'Administrador','20120315145519',0,0,15473,121),(123,2,123,'/* Vistas */',1,'Administrador','20120315145559',0,0,15477,122),(124,8,124,'Página creada con «==== FZG.Vista.vislineabs.sql ==== <small><pre> SELECT     vidquoten2.VidQuoteID AS VidQuoteID,     vidquoten1.VidQuoteObra AS VidQuoteObra,     vidquoten1.VidQuoteCliente ...»',1,'Administrador','20120315145739',0,0,1315,0),(125,2,125,'/* FZG.Vista.vislineabs.sql */',1,'Administrador','20120315145817',0,0,14160,123),(126,8,126,'/* FZG.Vista.vislineabs.sql */',1,'Administrador','20120315150106',0,0,1256,124),(127,2,127,'/* Procedimientos */',1,'Administrador','20120319133451',0,0,14361,125),(128,9,128,'Página creada con «====== al 20120319 ====== <small><pre> CREATE PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2)) BEGIN 	SET @wcn = \" `precios`.`ProductoID`...»',1,'Administrador','20120319134618',0,0,2284,0),(129,9,129,'/* al 20120319 */',1,'Administrador','20120319134837',0,0,2285,128),(130,9,130,'/* al 20120319 */',1,'Administrador','20120319194332',0,0,2299,129),(131,2,131,'/* Reportes */',1,'Administrador','20120320002544',0,0,14444,127),(132,2,132,'/* Reportes */',1,'Administrador','20120320002610',0,0,14448,131),(133,10,133,'Página creada con «<small><pre> CREATE VIEW `visrepprec` AS SELECT      preciosvigentes.ProductoID AS ProductoID,     productos.Descripcion AS ProductoDSC,     productos.Magnitud AS Magnitud,...»',1,'Administrador','20120320002742',0,0,601,0),(134,2,134,'/* Vistas */',1,'Administrador','20120321130642',0,0,14623,132),(135,2,135,'/* Vistas */',1,'Administrador','20120321130742',0,0,14615,134),(136,2,136,'/* Vistas */',1,'Administrador','20120321131646',0,0,14683,135),(137,2,137,'/* Vistas */',1,'Administrador','20120321132321',0,0,14682,136),(138,2,138,'/* Vistas */',1,'Administrador','20120321132410',0,0,14710,137),(139,2,139,'/* Vistas */',1,'Administrador','20120321132541',0,0,14616,138),(140,11,140,'Página creada con «<small><pre> CREATE VIEW `precioscmpl` AS SELECT  	`precios`.`ProductoID` AS ProductoID,  	`productos`.`Descripcion` AS ProductoDSC,  	`productos`.`CategoriaID` AS Categori...»',1,'Administrador','20120321132705',0,0,710,0),(141,2,141,'/* Vistas */',1,'Administrador','20120322001110',0,0,14723,139),(142,2,142,'/* Vistas */',1,'Administrador','20120322001131',0,0,14727,141),(143,12,143,'Página creada con «<small><pre> SELECT     composicion.ProductoID AS ProductoID,     productos.Descripcion AS ProductoDSC,     productos.CategoriaID AS CategoriaID,     productos.ProveedorID ...»',1,'Administrador','20120322001228',0,0,442,0),(144,12,144,'',1,'Administrador','20120322001404',0,0,471,143),(145,2,145,'/* Vistas */',1,'Administrador','20120322001600',0,0,14753,142),(146,2,146,'/* Vistas */',1,'Administrador','20120322001710',0,0,14769,145),(147,2,147,'/* Atributos de Productos/Elementos */',1,'Administrador','20120323151620',0,0,14801,146),(148,2,148,'/* MacroProgramming */',1,'Administrador','20120323151713',0,0,14795,147),(149,2,149,'/* MacroProgramming */',1,'Administrador','20120323152040',0,0,15485,148),(150,2,150,'/* MacroProgramming */',1,'Administrador','20120323152854',0,0,15166,149),(151,2,151,'/* MacroProgramming */',1,'Administrador','20120323153521',0,0,15386,150),(152,2,152,'/* ACL */',1,'Administrador','20120325205809',0,0,16009,151),(153,2,153,'/* Gestión Retail Aberturas */',1,'Administrador','20120327162240',0,0,16026,152),(154,13,154,'Página creada con « {| style=\"border-spacing:0;\" |<center>\'\'\'Event Name\'\'\'</center> |<center>\'\'\'Event Type\'\'\'</center> |<center>\'\'\'Descripción Ejecución\'\'\'</center>  |- |Prior To Reset |Eve...»',1,'Administrador','20120327162255',0,0,1432,0),(155,13,155,'',1,'Administrador','20120327162401',0,0,1424,154),(156,2,156,'/* Gestión Retail Aberturas */',1,'Administrador','20120328133635',0,0,15996,153),(157,14,157,'Página creada con «Release 20120328  * [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok * [[FORM:Presupuesto]]. Chequeo de incorporación de...»',1,'Administrador','20120328134047',0,0,521,0),(160,17,160,'Página creada con «=== Estructuras de Datos === ==== Tablas ==== *catinsumos *cmoneda *composicion *composicionqry *contactos *cpar *debugstmt *elementos *insumos *listasprecios *logprecios *...»',1,'Administrador','20120328143320',0,0,3118,0),(161,6,50,'[[Vista:visindetpre]] trasladada a [[Vista:visintdetpre]]',1,'Administrador','20120328143459',1,0,61,50),(162,18,161,'[[Vista:visindetpre]] trasladada a [[Vista:visintdetpre]]',1,'Administrador','20120328143459',0,0,36,0),(163,14,162,'',1,'Administrador','20120328144249',0,0,1138,157),(164,19,163,'Página creada con «== Relaciones Eventos == [[File:/home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.FORMS.Presupuesto.Relaciones.Macros.jpg]]»',1,'Administrador','20120328150432',0,0,148,0),(165,19,164,'',1,'Administrador','20120328150516',0,0,155,164),(166,19,165,'/* Relaciones Eventos */',1,'Administrador','20120328150547',0,0,150,165),(167,19,166,'/* Relaciones Eventos */',1,'Administrador','20120328150923',0,0,77,166),(168,20,167,'',1,'Administrador','20120328151845',0,0,0,0),(169,14,168,'',1,'Administrador','20120328193340',0,0,1116,163),(170,14,169,'',1,'Administrador','20120328193637',0,0,1259,169),(171,14,170,'',1,'Administrador','20120328193954',0,0,1282,170),(172,14,171,'/* Versión 1 */',1,'Administrador','20120328194017',0,0,1286,171),(173,14,172,'/* Versión 1 */',1,'Administrador','20120328194031',0,0,1284,172),(174,13,173,'',1,'Administrador','20120329163730',0,0,1445,155),(175,13,174,'/* Reset MW pass */',1,'Administrador','20120329163945',0,0,1581,174),(176,13,175,'/* Reset MW pass */',1,'Administrador','20120329164031',0,0,1578,175),(177,14,176,'/* Versión 1 */',1,'Administrador','20120330022116',0,0,1426,173),(178,14,177,'/* Versión 1 */',1,'Administrador','20120403095030',0,0,1790,177),(179,14,178,'/* Versión 1 */',1,'Administrador','20120403095835',0,0,1914,178),(180,14,179,'/* Versión 1 */',1,'Administrador','20120403102327',0,0,2069,179),(181,14,180,'/* Versión 1 */',1,'Administrador','20120404220021',0,0,2256,180),(182,14,181,'/* Versión 1 */',1,'Administrador','20120404233129',0,0,2325,181),(183,14,182,'/* Versión 1 */',1,'Administrador','20120407093059',0,0,2604,182),(184,14,183,'/* Versión 1 */',1,'Administrador','20120410132500',0,0,2775,183),(185,14,184,'/* Versión 1 */',1,'Administrador','20120413024940',0,0,2960,184),(186,17,185,'/* Tablas */',1,'Administrador','20120417181905',0,0,3304,160),(187,5,186,'/* Relaciones */',1,'Administrador','20120417182419',0,0,493,47),(188,5,187,'/* Reglas */',1,'Administrador','20120417182840',0,0,699,187),(189,5,188,'/* Reglas */',1,'Administrador','20120417182951',0,0,914,188),(190,5,189,'/* Atributos */',1,'Administrador','20120417183023',0,0,927,189),(191,21,190,'Página creada con «== Composicion == #TABLA:Composicion ##TABLA:Productos ##TABLA:Precios»',1,'Administrador','20120417183155',0,0,70,0),(192,21,191,'/* Composicion */',1,'Administrador','20120417183223',0,0,82,191),(193,21,192,'/* Composicion */',1,'Administrador','20120417183244',0,0,82,192),(194,21,193,'/* Composicion */',1,'Administrador','20120417183647',0,0,479,193),(195,21,194,'/* SQL */',1,'Administrador','20120417183808',0,0,2007,194),(196,21,195,'/* SQL */',1,'Administrador','20120417184326',0,0,2215,195),(197,21,196,'/* Uso */',1,'Administrador','20120417184437',0,0,2238,196),(198,21,197,'/* Uso */',1,'Administrador','20120417184450',0,0,2242,197),(199,21,198,'/* Bitácora */',1,'Administrador','20120417184526',0,0,2250,198),(200,22,199,'Página creada con «<pre> DELIMITER $$  CREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2) BEGIN ...»',1,'Administrador','20120417184649',0,0,2137,0),(201,22,200,'',1,'Administrador','20120417184717',0,0,2152,200),(202,22,201,'',1,'Administrador','20120417184742',0,0,2152,201),(203,17,202,'/* Vistas */',1,'Administrador','20120418003513',0,0,3224,186),(204,5,203,'/* Reglas */',1,'Administrador','20120420014300',0,0,1161,190),(205,17,204,'/* Procedimientos */',1,'Administrador','20120420014500',0,0,3280,203),(206,23,205,'Página creada con «== Composicion == == Estructura == <pre> </pre> == SQL == <pre><small> delimiter | CREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN ...»',1,'Administrador','20120420020449',0,0,2491,0),(207,23,206,'/* SQL */',1,'Administrador','20120420020518',0,0,2492,206),(208,23,207,'/* Bitácora */',1,'Administrador','20120420020615',0,0,2561,207),(209,23,208,'/* SQL */',1,'Administrador','20120420020650',0,0,2562,208),(210,23,209,'/* URL */',1,'Administrador','20120420020737',0,0,2600,209),(211,23,210,'/* Uso */',1,'Administrador','20120420020901',0,0,2635,210),(212,14,211,'/* Versión 1 */',1,'Administrador','20120420095432',0,0,3204,185),(213,14,212,'/* Versión 1 */',1,'Administrador','20120420095709',0,0,3217,212),(214,14,213,'/* Versión 1 */',1,'Administrador','20120420104509',0,0,3271,213),(215,14,214,'/* Versión 1 */',1,'Administrador','20120420104803',0,0,3229,214),(216,14,215,'/* Versión 1 */',1,'Administrador','20120420104826',0,0,3211,215),(217,24,216,'',1,'Administrador','20120420104955',0,0,0,0),(218,14,217,'/* Versión 1 */',1,'Administrador','20120420105232',0,0,3216,216),(219,14,218,'/* Versión 1 */',1,'Administrador','20120420105758',0,0,3504,218),(220,14,219,'/* Versión 1 */',1,'Administrador','20120420105843',0,0,3504,219),(221,14,220,'/* Versión 1 */',1,'Administrador','20120423224729',0,0,3698,220),(222,14,221,'/* Versión 1 */',1,'Administrador','20120424000510',0,0,3637,221),(223,14,222,'/* Versión 1 */',1,'Administrador','20120424000555',0,0,3603,222),(224,2,223,'/* Gestión Retail Aberturas */',1,'Administrador','20120502172207',0,0,16017,156),(225,25,224,'Página creada con «Premarcos y Contramarcos Ventana Corrediza Tradicional Blanca Ventana Corrediza Gamma 90° Blanca Ventana Corrediza Gamma 45° Blanca Ventana Corrediza Mónaco Top Ventana ...»',1,'Administrador','20120502175555',0,0,832,0),(226,25,225,'',1,'Administrador','20120502175653',0,0,845,225),(227,25,226,'',1,'Administrador','20120502181538',0,0,1039,226),(228,25,227,'',1,'Administrador','20120502184505',0,0,2463,227),(229,25,228,'',1,'Administrador','20120504171110',0,0,3031,228),(230,25,229,'/* vistaprecios001 */',1,'Administrador','20120504171541',0,0,3066,229),(231,25,230,'/* vistaprecios001 */',1,'Administrador','20120504173020',0,0,3119,230),(232,17,231,'/* Vistas */',1,'Administrador','20120507190237',0,0,3339,205),(233,26,232,'Página creada con «<pre> CREATE VIEW `visprdparam` AS  SELECT 	`productos`.`ProductoID` AS `ProductoID`, 	`productos`.`Descripcion` AS `Descripcion`, 	`productos`.`ProductoID` IN (SELECT DIST...»',1,'Administrador','20120507190315',0,0,299,0),(234,17,233,'/* Vistas */',1,'Administrador','20120507190427',0,0,3374,232),(235,17,234,'/* Vistas */',1,'Administrador','20120507190557',0,0,3378,234),(236,14,235,'/* Versión 1 */',1,'Administrador','20120507191457',0,0,4592,223),(237,17,236,'/* Vistas */',1,'Administrador','20120509012113',0,0,3532,235),(238,27,237,'Página creada con « <pre> CREATE VIEW `visrprescmp` AS  SELECT  	`visreppres`.`VidQuoteID` AS `VidQuoteID`, 	`visreppres`.`VidQuoteObra` AS `VidQuoteObra`, 	`visreppres`.`VidQuoteCliente` AS ...»',1,'Administrador','20120509012221',0,0,1026,0),(239,27,238,'',1,'Administrador','20120509021840',0,0,1188,238),(240,27,239,'/* Uso */',1,'Administrador','20120509021858',0,0,1193,239),(241,27,240,'/* Composicion */',1,'Administrador','20120509021933',0,0,1192,240),(242,27,241,'/* Composicion */',1,'Administrador','20120509021958',0,0,1194,241),(243,27,242,'/* URL */',1,'Administrador','20120509022400',0,0,1223,242),(244,27,243,'/* SQL */',1,'Administrador','20120509022512',0,0,960,243),(245,27,244,'/* SQL */',1,'Administrador','20120509023735',0,0,212,244),(246,27,245,'/* SQL */',1,'Administrador','20120509023826',0,0,960,245),(247,25,246,'',1,'Administrador','20120510190844',0,0,4163,231),(248,25,247,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120510232142',0,0,4222,247),(249,25,248,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120510232209',0,0,4287,248),(250,25,249,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120511193732',0,0,4537,249),(251,25,250,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120511193824',0,0,4545,250),(252,25,251,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120511193917',0,0,4625,251),(253,25,252,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120511214514',0,0,4684,252),(254,25,253,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120511214737',0,0,4761,253),(255,25,254,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120511221315',0,0,5473,254),(256,25,255,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120514221755',0,0,5518,255),(257,25,256,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120514224148',0,0,5519,256),(258,14,257,'/* Versión 1 */',1,'Administrador','20120515200836',0,0,5017,236),(259,14,258,'/* Versión 1 */',1,'Administrador','20120515200911',0,0,5017,258),(260,14,259,'/* Versión 1 */',1,'Administrador','20120515201039',0,0,5018,259),(261,25,260,'/* vistaprecios099 */',1,'Administrador','20120515202018',0,0,6172,257),(262,25,261,'/* Vistas */',1,'Administrador','20120515202205',0,0,6226,261),(263,25,262,'/* vistaprecios007 */',1,'Administrador','20120515224751',0,0,6873,262),(264,25,263,'/* Vistas */',1,'Administrador','20120515225254',0,0,6905,263),(265,25,264,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120515225857',0,0,7087,264),(266,25,265,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120515225934',0,0,7081,265),(267,25,266,'/* Procesos */',1,'Administrador','20120515232243',0,0,9024,266),(268,25,267,'/* Procesos */',1,'Administrador','20120515232556',0,0,9297,267),(269,25,268,'/* Procesos */',1,'Administrador','20120515233135',0,0,12889,268),(270,25,269,'/* Proceso 004 */',1,'Administrador','20120515233316',0,0,12944,269),(271,25,270,'/* Port Unix */',1,'Administrador','20120515233502',0,0,13772,270),(272,25,271,'/* Proceso 005 (SQL) */',1,'Administrador','20120515233702',0,0,13923,271),(273,25,272,'/* Proceso 005 (SQL) */',1,'Administrador','20120515233730',0,0,13958,272),(274,25,273,'/* Proceso 005 */',1,'Administrador','20120515233935',0,0,14420,273),(275,25,274,'/* Proceso 005 (SQL) */',1,'Administrador','20120515234703',0,0,14991,274),(276,25,275,'/* Otros Procesos */',1,'Administrador','20120515234848',0,0,15555,275),(277,25,276,'/* Tablas */',1,'Administrador','20120515235257',0,0,15771,276),(278,25,277,'/* Tablas */',1,'Administrador','20120515235323',0,0,15778,277),(279,28,278,'Página creada con «  <pre> CREATE VIEW `visreppres` AS  SELECT     `vislineabs`.`VidQuoteID` AS `VidQuoteID`,     `vislineabs`.`VidQuoteObra` AS `VidQuoteObra`,     `vislineabs`.`VidQuoteClie...»',1,'Administrador','20120517174735',0,0,923,0),(280,28,279,'',1,'Administrador','20120517180305',0,0,1015,279),(281,28,280,'',1,'Administrador','20120517181432',0,0,1051,280),(282,29,281,'Página creada con «== Composicion == TABLA:composicion TABLA:productos TABLA:precios == Estructura == <pre> </pre> == SQL == <pre> CREATE VIEW `visprodadic` AS  SELECT     `composicion`.`Prod...»',1,'Administrador','20120517185618',0,0,1076,0),(283,29,282,'/* Composicion */',1,'Administrador','20120517185636',0,0,1080,282),(284,17,283,'/* Vistas */',1,'Administrador','20120517190719',0,0,2907,237),(285,28,284,'/* Composicion */',1,'Administrador','20120517230759',0,0,1060,281),(286,30,285,'Página creada con «== Composicion == *[[TABLA:vidquoten1]] *[[TABLA:vidquoten2]] *[[TABLA:productos]] *[[VISTA:vissubxitem]] == Estructura == <pre> </pre> == SQL == <pre> CREATE VIEW `fzggest...»',1,'Administrador','20120517233211',0,0,2101,0),(287,31,286,'Página creada con «== Composicion == *[[TABLA:vidquoten3]] *[[TABLA:productos]] == Estructura == <pre> </pre> == SQL == <pre> CREATE VIEW `fzggestion`.`visdetaobs` AS  SELECT     `fzggestion`...»',1,'Administrador','20120517233752',0,0,817,0),(288,30,287,'',1,'Administrador','20120517235123',0,0,2121,286),(289,31,288,'/* Composicion */',1,'Administrador','20120518100136',0,0,961,287),(290,30,289,'',1,'Administrador','20120518100345',0,0,2295,288),(291,29,290,'',1,'Administrador','20120518100539',0,0,1206,283),(292,29,291,'',1,'Administrador','20120518101104',0,0,1209,291),(293,28,292,'',1,'Administrador','20120518101305',0,0,1314,285),(294,30,293,'/* SQL */',1,'Administrador','20120518104733',0,0,2296,290),(295,27,294,'',1,'Administrador','20120518105249',0,0,1117,246),(296,32,295,'Página creada con «== Descripción == Subtotaliza los productos de los presupuestos == Composición == *[[TABLA:vidquoten3]] == Estructura == <pre> </pre> == SQL == <pre> CREATE VIEW `vissubx...»',1,'Administrador','20120518120905',0,0,482,0),(297,17,296,'/* Vistas */',1,'Administrador','20120518123750',0,0,2956,284),(298,17,297,'/* Vistas */',1,'Administrador','20120518123950',0,0,2959,297),(299,17,298,'/* Vistas */',1,'Administrador','20120518124037',0,0,2957,298),(300,33,299,'Página creada con «== Descripción == == Composición == == Estructura == <pre> </pre> == SQL == <small><pre> CREATE VIEW `visintdetpre` AS SELECT `vidquoten2`.`VidQuoteID` AS `VidQuoteID`,  ...»',1,'Administrador','20120518141850',0,0,2824,0),(301,17,300,'',1,'Administrador','20120518142455',0,0,2998,299),(302,17,301,'/* Reportes */',1,'Administrador','20120518142511',0,0,3003,301),(303,17,302,'/* Reportes */',1,'Administrador','20120518142523',0,0,3004,302),(304,34,303,'Página creada con «== Descripción == == Composición == == SQL == <pre> SELECT      `visreppres`.`VidQuoteID`,     `visreppres`.`VidQuoteObra`,     `visreppres`.`VidQuoteCliente`,     `visre...»',1,'Administrador','20120518142628',0,0,840,0),(305,34,304,'/* Composición */',1,'Administrador','20120518142647',0,0,853,304),(306,17,305,'/* Reportes */',1,'Administrador','20120518142827',0,0,3037,303),(307,35,306,'Página creada con «== Descripción == == Composición == *[[VISTA:visrprescmp]] == Estructura == <pre> </pre> == SQL == <pre> </pre> == Bitácora == == URL ==»',1,'Administrador','20120518143028',0,0,139,0),(308,27,307,'/* Uso */',1,'Administrador','20120518143114',0,0,1118,295),(309,17,308,'/* Vistas */',1,'Administrador','20120518143350',0,0,6346,306),(310,17,309,'/* Vistas */',1,'Administrador','20120518143417',0,0,6331,309),(311,2,310,'/* Vistas */',1,'Administrador','20120518143446',0,0,12707,224),(312,33,311,'/* Uso */',1,'Administrador','20120520200656',0,0,2889,300),(313,33,312,'/* SQL */',1,'Administrador','20120520205151',0,0,2893,312),(314,33,313,'/* SQL */',1,'Administrador','20120520205251',0,0,2907,313),(315,26,314,'',1,'Administrador','20120521013118',0,0,413,233),(316,26,315,'',1,'Administrador','20120521013754',0,0,568,315),(317,14,316,'/* Versión 1 */',1,'Administrador','20120521014258',0,0,5559,260),(318,36,317,'Página creada con «== Descripción == Función de cálculo de precio en base a los parametros indicados sin acceder a base de datos de precios, ya con el valor del precio del producto indicad...»',1,'Administrador','20120521014846',0,0,1618,0),(319,36,318,'/* SQL */',1,'Administrador','20120521014920',0,0,1634,318),(320,22,319,'',1,'Administrador','20120521015224',0,0,2397,202),(321,22,320,'/* Bitácora */',1,'Administrador','20120521015348',0,0,2578,320),(322,22,321,'/* SQL */',1,'Administrador','20120521015543',0,0,3198,321),(323,26,322,'/* Uso */',1,'Administrador','20120521021204',0,0,597,316),(324,14,323,'/* Versión 1 */',1,'Administrador','20120521142350',0,0,5726,317),(325,17,324,'/* Procedimientos */',1,'Administrador','20120522203645',0,0,6360,310),(326,37,325,'Página creada con «== Descripción == == Composición == No Tiene. Solo Función == Estructura == <pre> </pre> == SQL == <pre> DELIMITER $$  CREATE FUNCTION `CalculoMedidaReal`(pMedida INT(5)...»',1,'Administrador','20120522203845',0,0,394,0),(327,14,326,'/* Versión 1 */',1,'Administrador','20120522204846',0,0,6867,324),(328,14,327,'/* Versión 1 */',1,'Administrador','20120522204923',0,0,6966,327),(329,2,328,'/* Atributos de Productos/Elementos */',1,'Administrador','20120522205258',0,0,12719,311),(330,25,329,'/* Procesos */',1,'Administrador','20120529171545',0,0,16758,278),(331,25,330,'/* Procesos */',1,'Administrador','20120529172506',0,0,17404,330),(332,25,331,'/* Procesos */',1,'Administrador','20120529173056',0,0,17564,331),(333,25,332,'/* Procesos */',1,'Administrador','20120529173224',0,0,17584,332),(334,25,333,'/* Procesos */',1,'Administrador','20120529183748',0,0,17606,333),(335,25,334,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120604134127',0,0,18068,334),(336,25,335,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120604134331',0,0,17023,335),(337,25,336,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120604135315',0,0,17957,336),(338,25,337,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120604135748',0,0,17957,337),(339,25,338,'/* Correcciones Realizadas V3.0 (2012) */',1,'Administrador','20120604140437',0,0,18187,338),(340,14,339,'/* Versión 1 */',1,'Administrador','20120607182234',0,0,7393,328),(341,14,340,'/* Versión 1 */',1,'Administrador','20120607182351',0,0,7393,340),(342,38,341,'Página creada con «== Descripción == Vista de la [[TABLA:composicion]] con el agregado de la descripción del elemento que lo relaciona con la [[TABLA:productos]] == Composición == == Estru...»',1,'Administrador','20120608100841',0,0,768,0),(343,38,342,'',1,'Administrador','20120608102859',0,0,1272,342),(344,17,343,'/* Procedimientos */',1,'Administrador','20120608181348',0,0,6392,325),(345,39,344,'Página creada con «== Descripción == Duplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma aut...»',1,'Administrador','20120608181731',0,0,436,0),(346,39,345,'/* Bitácora */',1,'Administrador','20120608181943',0,0,607,345),(347,39,346,'/* Bitácora */',1,'Administrador','20120608182041',0,0,1263,346),(348,39,347,'',1,'Administrador','20120608185044',0,0,2913,347),(349,39,348,'/* Composición */',1,'Administrador','20120608185139',0,0,2960,348),(350,40,349,'Página creada con «== Descripción == Productos Activos == Composición == == Estructura == <pre> </pre> == TRIGGERS == * Alta: [[TRIG:productos.AltaProducto]] * Baja: [[TRIG:productos.BajaPr...»',1,'Administrador','20120608190340',0,0,216,0),(351,40,350,'/* Estructura */',1,'Administrador','20120608190419',0,0,463,350),(352,41,351,'Página creada con «== Descripción == Trigger para INSERT en [[TABLA:productos]] == Composición == == Estructura == <pre> </pre> == SQL == <pre> DELIMITER $$  USE `fzggestion`$$  CREATE DEFI...»',1,'Administrador','20120608190536',0,0,960,0),(353,41,352,'/* Bitácora */',1,'Administrador','20120608190929',0,0,1730,352),(354,41,353,'/* SQL */',1,'Administrador','20120608191209',0,0,1532,353),(355,41,354,'/* Composición */',1,'Administrador','20120608191302',0,0,1599,354),(356,41,355,'/* Uso */',1,'Administrador','20120608191358',0,0,1647,355),(357,41,356,'',1,'Administrador','20120608191737',0,0,1653,356),(358,17,357,'/* Tablas */',1,'Administrador','20120608191936',0,0,6460,344),(359,40,358,'/* TRIGGERS */',1,'Administrador','20120608192005',0,0,464,351),(360,40,359,'',1,'Administrador','20120608192043',0,0,445,359),(361,42,360,'Página creada con «== Descripción == Trigger Delete en [[TABLA:producto]] == Composición == *[[TABLA:precios]] *[[TABLA:composicion]] == SQL == <pre> CREATE TRIGGER `fzggestion`.`Baja_Produ...»',1,'Administrador','20120608192808',0,0,955,0),(362,2,361,'/* ACL */',1,'Administrador','20120612202059',0,0,12140,329),(363,2,362,'/* ACL */',1,'Administrador','20120612205756',0,0,12571,362),(364,23,363,'',1,'Administrador','20120613002538',0,0,2670,211),(365,23,364,'/* Composicion */',1,'Administrador','20120613002817',0,0,2676,364),(366,23,365,'',1,'Administrador','20120613003759',0,0,3388,365),(367,23,366,'/* Descripcion */',1,'Administrador','20120613010452',0,0,3562,366),(368,23,367,'/* Composicion */',1,'Administrador','20120613012359',0,0,3570,367),(369,23,368,'',1,'Administrador','20120613012438',0,0,3539,368),(370,17,369,'/* Procedimientos */',1,'Administrador','20120627174416',0,0,6491,358),(371,43,370,'Página creada con «== Descripción == Agrega componentes de otro producto a un producto existente == Composición == * [[TABLA:composicion]] == Estructura == <pre> </pre> == SQL == <pre> DELI...»',1,'Administrador','20120627174704',0,0,1149,0),(372,43,371,'/* Uso */',1,'Administrador','20120627174844',0,0,1180,371),(373,43,372,'/* Uso */',1,'Administrador','20120627174908',0,0,1208,372),(374,43,373,'/* Bitácora */',1,'Administrador','20120627174952',0,0,1274,373),(375,14,374,'/* Versión 1 */',1,'Administrador','20120628235509',0,0,8093,341),(376,17,375,'/* Estructuras de Datos */',1,'Administrador','20120628235918',0,0,6563,370),(377,17,376,'/* Estructuras de Datos */',1,'Administrador','20120629000101',0,0,6579,376),(378,44,377,'Página creada con «== Descripción == == Composición == == Estructura == <pre> </pre> == SQL == <pre> </pre> == Bitácora == == Uso == == URL ==»',1,'Administrador','20120629002609',0,0,126,0),(379,2,378,'/* MacroProgramming */',1,'Administrador','20120629002749',0,0,11954,363),(380,14,379,'/* Versión 1 */',1,'Administrador','20120629003231',0,0,12405,375),(381,14,380,'',1,'Administrador','20120629005859',0,0,12419,380),(382,44,381,'/* Descripción */',1,'Administrador','20120629010031',0,0,249,378),(383,44,382,'',1,'Administrador','20120629011809',0,0,1304,382),(384,14,383,'/* Versión 1 */',1,'Administrador','20120629222510',0,0,12542,381),(385,14,384,'/* Versión 1 */',1,'Administrador','20120629222643',0,0,12639,384),(386,17,385,'/* Vistas */',1,'Administrador','20120711224030',0,0,6558,377),(387,17,386,'/* Vistas */',1,'Administrador','20120713171151',0,0,6581,386),(388,45,387,'Página creada con «== Descripción == Vista Transacciones de CRM == Composición == == Estructura == <pre> </pre> == SQL == <pre> CREATE VIEW `fzggestion`.`vistranscrm` AS ( SELECT DISTINCT  ...»',1,'Administrador','20120713172632',0,0,1002,0),(389,45,388,'/* Composición */',1,'Administrador','20120713172802',0,0,1050,388),(390,45,389,'/* Composición */',1,'Administrador','20120713172834',0,0,1068,389),(391,17,390,'/* Vistas */',1,'Administrador','20120718124124',0,0,6603,387),(392,46,391,'Página creada con «== Descripción == Vista de la [[TABLA:checkbook]] de los registros in documento destino asociado == Composición == *[[TABLA:checkbook]]  == Estructura == <pre> </pre> == ...»',1,'Administrador','20120718124548',0,0,874,0),(393,14,392,'/* Versión 1 */',1,'Administrador','20120720114612',0,0,12917,385),(394,13,393,'',1,'Administrador','20120723155558',0,0,1717,176),(395,17,394,'/* Tablas */',1,'Administrador','20120724140939',0,0,6646,391),(396,17,395,'/* Tablas */',1,'Administrador','20120724141132',0,0,6786,395),(397,17,396,'/* Tablas */',1,'Administrador','20120724141247',0,0,6912,396),(398,17,397,'/* Estructuras de Datos */',1,'Administrador','20120724141414',0,0,6922,397),(399,17,398,'',1,'Administrador','20120724141448',0,0,6785,398),(400,17,399,'/* Tablas */',1,'Administrador','20120724141653',0,0,6847,399),(401,47,400,'Página creada con «<pre> == Descripción == == Composición == == Estructura == <pre> </pre> == SQL == <pre> </pre> == Bitácora == == Uso == == URL == </pre>»',1,'Administrador','20120724141719',0,0,139,0),(402,47,401,'',1,'Administrador','20120724141733',0,0,133,401),(403,17,402,'/* Template Layout General */',1,'Administrador','20120724141817',0,0,6707,400),(404,48,403,'Página creada con «== Descripción == Transacciones de Pagos == Composición == Tabla Plana + Triggers == Estructura == <pre> </pre> == SQL == <pre> delimiter $$  CREATE TABLE `accpayab` (   ...»',1,'Administrador','20120724142028',0,0,881,0),(405,49,404,'Página creada con «== Descripción == Transacciones de Cobranzas == Composición == Tabla Plana + Triggers == Estructura == <pre> </pre> == SQL == <pre> delimiter $$  CREATE TABLE `accreceiv`...»',1,'Administrador','20120724142438',0,0,829,0),(406,14,405,'/* Versión 1 */',1,'Administrador','20120724142814',0,0,12950,393),(407,17,406,'/* Tablas */',1,'Administrador','20120725153740',0,0,6730,403),(408,50,407,'Página creada con «== Descripción == Tipos de Documento == Composición == == Estructura == <pre> </pre> == SQL == <pre> delimiter $$  CREATE TABLE `tdocumento` (   `TDocumentoID` char(2) NO...»',1,'Administrador','20120725153923',0,0,427,0),(409,50,408,'/* Composición */',1,'Administrador','20120725153942',0,0,440,408),(410,50,409,'/* SQL */',1,'Administrador','20120801093323',0,0,437,409),(411,14,410,'/* Versión 1 */',1,'Administrador','20120801093542',0,0,13129,406),(412,2,411,'',1,'Administrador','20120801175012',0,0,11988,379),(413,2,412,'/* Documentación de Usuario */',1,'Administrador','20120801175107',0,0,12003,412),(414,2,413,'/* Documentación de Usuario */',1,'Administrador','20120801175120',0,0,12007,413),(415,51,414,'Página creada con «Gestión Retail Industria  == Spalnex Gestion == Spanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción ...»',1,'Administrador','20120801175324',0,0,18511,0),(416,51,415,'',1,'Administrador','20120801175422',0,0,18540,415),(417,51,416,'/* Gestión de Valores */',1,'Administrador','20120801180234',0,0,19425,416),(418,51,417,'/* Presupuestos */',1,'Administrador','20120801180632',0,0,19429,417),(419,51,418,'/* Gestión de Valores */',1,'Administrador','20120801185132',0,0,21546,418),(420,17,419,'/* Formularios */',1,'Administrador','20120802154828',0,0,6766,407),(421,52,420,'Página creada con «== Descripción == Ingresa registraciones que representan pagos de proveedores y gastos  == Composición == *[[TABLA:accpayab]] *[[TABLA:checkbook]] == Estructura == *[[For...»',1,'Administrador','20120802160603',0,0,534,0),(422,52,421,'/* Código Relacionado */',1,'Administrador','20120802160746',0,0,636,421),(423,52,422,'/* Código Relacionado */',1,'Administrador','20120802161124',0,0,871,422),(424,52,423,'/* Código Relacionado */',1,'Administrador','20120802161357',0,0,993,423),(425,53,424,'Página creada con «== Descripción == Controla el despliegue de subformularios y la habilitación de operaciones en cada uno == Composición == == Estructura == <pre> </pre> == Bitácora == =...»',1,'Administrador','20120802162004',0,0,216,0),(426,52,425,'/* Estructura */',1,'Administrador','20120802162052',0,0,982,424),(427,52,426,'/* Estructura */',1,'Administrador','20120802163452',0,0,969,426),(428,47,427,'',1,'Administrador','20120802163623',0,0,264,402),(429,54,428,'Página creada con «== Descripción == Gestion de registraciones que representan cobranzas sobre trabajos realizados == Composición == *[[TABLA:accreceiv]] *[[TABLA:checkbook]] == Estructura ...»',1,'Administrador','20120802164109',0,0,497,0),(430,54,429,'/* Estructura */',1,'Administrador','20120802164425',0,0,500,429),(431,54,430,'/* Código Relacionado */',1,'Administrador','20120802164856',0,0,986,430),(432,54,431,'/* Código Relacionado */',1,'Administrador','20120802165348',0,0,1311,431),(433,54,432,'/* Uso */',1,'Administrador','20120802165830',0,0,1360,432),(434,54,433,'/* Uso */',1,'Administrador','20120802165944',0,0,1348,433),(435,54,434,'/* Uso */',1,'Administrador','20120802170105',0,0,1360,434),(436,54,435,'/* Uso */',1,'Administrador','20120802170207',0,0,1382,435),(437,52,436,'/* URL */',1,'Administrador','20120802170234',0,0,1033,427),(438,17,437,'/* Vistas */',1,'Administrador','20120815203208',0,0,6788,420),(439,47,438,'',1,'Administrador','20120815203301',0,0,257,428),(440,55,439,'Página creada con «== Descripción == Vista de Cheques disponibles para Endosar == Composición == [[TABLA:checkbook]] == Estructura == <pre> </pre> == SQL == <pre> CREATE VIEW `vischtdisp` A...»',1,'Administrador','20120815203400',0,0,565,0),(441,17,440,'/* Vistas */',1,'Administrador','20120824201641',0,0,6810,438),(442,56,441,'Página creada con «== Descripción == Vista de Lineas Totalizadoras por presupuesto y por producto == Composición == *[[TABLA:vidquoten3]] *[[TABLA:productos]] == Estructura == <pre> </pre> ...»',1,'Administrador','20120824202017',0,0,875,0),(443,57,442,'Página creada con «== Descripción == == Composición == == Estructura == <pre> </pre> == SQL == <pre> </pre> == Bitácora == == Uso == == URL ==»',1,'Administrador','20120824202156',0,0,126,0),(444,17,443,'/* Tablas */',1,'Administrador','20120824202220',0,0,6836,441),(445,58,444,'Página creada con «== Descripción == Buffer temporario para permitir taggear opciones dentro de la confiormación presupuestaria == Composición == == Estructura == <pre> </pre> == SQL == <p...»',1,'Administrador','20120824202425',0,0,816,0),(446,14,445,'/* Versión 1 */',1,'Administrador','20120824205302',0,0,13216,411),(447,14,446,'',1,'Administrador','20120831095232',0,0,13349,446),(448,14,447,'',1,'Administrador','20120831095257',0,0,13348,447),(449,14,448,'',1,'Administrador','20120831100156',0,0,13337,448),(450,14,449,'/* Versión 1.1 */',1,'Administrador','20120831104355',0,0,13357,449),(451,14,450,'',1,'Administrador','20120831104442',0,0,13239,450),(452,59,451,'Página creada con «===20120702=== ====Agregado de atributo de Medicion en Obra==== ALTER TABLE `fzggestion`.`vidquoten1` ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0  AFTER `VidQuoteA...»',1,'Administrador','20120831105812',0,0,2166,0),(453,59,452,'/* Agregado de atributo de Medicion en Obra */',1,'Administrador','20120831105938',0,0,2179,452),(454,59,453,'/* Reemplazar todos los ElementoPM en Componentes por los nuevos valores */',1,'Administrador','20120831173135',0,0,2373,453),(455,59,454,'/* Agregar Nombre de Usuario a las transacciones */',1,'Administrador','20120831173224',0,0,2374,454),(456,59,455,'/* Rediseña Tabla tdocumento */',1,'Administrador','20120831173308',0,0,2379,455),(457,59,456,'/* Rediseña TABLA:tdocumento */',1,'Administrador','20120831173321',0,0,2358,456),(458,59,457,'',1,'Administrador','20120831173559',0,0,2389,457),(459,14,458,'/* Versión 1.1 */',1,'Administrador','20120831173850',0,0,13325,451),(460,59,459,'/* Agregar Nombre de Usuario a las transacciones */',1,'Administrador','20120831174617',0,0,2647,458),(461,59,460,'/* Agregar Nombre de Usuario a las transacciones */',1,'Administrador','20120831175155',0,0,3177,460),(462,59,461,'/* Modificación de Triggers */',1,'Administrador','20120831175221',0,0,3194,461),(463,59,462,'/* Agregar Nombre de Usuario a las transacciones */',1,'Administrador','20120831175400',0,0,3193,462),(464,14,463,'/* Versión 1.1 */',1,'Administrador','20120831181231',0,0,13460,459),(465,60,464,'Página creada con «== Descripción == Tabla de Precios == Composición == == Estructura == <pre> </pre> == SQL == <pre> </pre> == Bitácora == == Uso == == Triggers ==»',1,'Administrador','20120831183534',0,0,148,0),(466,60,465,'/* Triggers */',1,'Administrador','20120831183755',0,0,213,465),(467,61,466,'Página creada con «== Descripción == Trigger Alta == Composición == * [[TABLA:precios]] == Estructura == <pre> </pre> == SQL == <pre> CREATE DEFINER=`sas_admin`@`%` TRIGGER `fzggestion`.`Al...»',1,'Administrador','20120831183905',0,0,380,0),(468,61,467,'',1,'Administrador','20120831183944',0,0,341,467),(469,62,468,'Página creada con «== Descripción == Trigger Update == Composición == * [[TABLA:precios]] == SQL == <pre> CREATE DEFINER=`sas_admin`@`%` TRIGGER `fzggestion`.`Actualiza_Precio` BEFORE UPDAT...»',1,'Administrador','20120831184128',0,0,347,0),(470,60,469,'/* SQL */',1,'Administrador','20120831184221',0,0,668,466),(471,60,470,'',1,'Administrador','20120831184242',0,0,619,470),(472,14,471,'/* Versión 1.1 */',1,'Administrador','20120831185904',0,0,13560,464),(473,14,472,'/* Versión 1.1 */',1,'Administrador','20120831191321',0,0,13713,472),(474,14,473,'/* Versión 1 */',1,'Administrador','20120831191452',0,0,13713,473),(475,59,474,'/* Modificación de Triggers TABLA:precios */',1,'Administrador','20120831215117',0,0,3491,463),(476,59,475,'/* Modificacion de Estructura TABLA:contactos */',1,'Administrador','20120831215435',0,0,3804,475),(477,59,476,'/* Modificacion de Estructura TABLA:contactos */',1,'Administrador','20120901000400',0,0,3931,476),(478,14,477,'/* Versión 1.1 */',1,'Administrador','20120901000905',0,0,13982,474),(479,63,478,'Página creada con «== Descripción == Vista de Tabla de Contactos solo con el Tag de Clientes == Composición == *[[TABLA:contactos]] == SQL == <pre> CREATE VIEW `clientes` AS SELECT `contact...»',1,'Administrador','20120901013341',0,0,1216,0),(480,14,479,'/* Versión 1.1 */',1,'Administrador','20120901013528',0,0,14102,478),(481,59,480,'/*  */',1,'Administrador','20120901013648',0,0,3974,477),(482,64,481,'Página creada con «20120902. Cambio para que tome las modificaciones sobre Precios y que siga la rueda  <pre> CREATE VIEW `preciosvigentes` AS SELECT `precios`.`Lista` AS `Lista`,        `pre...»',1,'Administrador','20120903025836',0,0,593,0),(483,65,482,'Página creada con «20120902. Cambio para que tome las modificaciones sobre Precios y que siga la rueda  <pre> CREATE VIEW `preciosvigact` AS SELECT `preciosvigentes`.`Lista` AS `Lista`,      ...»',1,'Administrador','20120903105612',0,0,916,0),(484,17,483,'/* Tablas */',1,'Administrador','20120904203051',0,0,6859,444),(485,66,484,'Página creada con «== Descripción == Tipo de Elementos de Composición == Composición == == SQL == <pre> CREATE  TABLE `fzggestion`.`telemecomp` (   `TElementoID` INT(1) NOT NULL ,   `TElem...»',1,'Administrador','20120904203313',0,0,323,0),(486,59,485,'/* Cambio de Condición para VISTA:clientes */',1,'Administrador','20120904205257',0,0,4017,481),(487,14,486,'/* Versión 1.1 */',1,'Administrador','20120904205652',0,0,14356,480),(488,14,487,'/* Versión 1.1 */',1,'Administrador','20120904205721',0,0,14367,487),(489,14,488,'/* Versión 1.1 */',1,'Administrador','20120904205948',0,0,14484,488),(490,14,489,'/* Versión 1.1 */',1,'Administrador','20120904232413',0,0,14638,489),(491,39,490,'',1,'Administrador','20120904233909',0,0,4872,349),(492,39,491,'/* Bitácora */',1,'Administrador','20120904234049',0,0,4904,491),(493,39,492,'/* SQL */',1,'Administrador','20120904234126',0,0,4905,492),(494,14,493,'/* Versión 1.1 */',1,'Administrador','20120904234405',0,0,14730,490),(495,47,494,'',1,'Administrador','20120904235058',0,0,274,439),(496,47,495,'',1,'Administrador','20120904235125',0,0,278,495),(497,47,496,'',1,'Administrador','20120904235409',0,0,308,496),(498,47,497,'',1,'Administrador','20120904235622',0,0,407,497),(499,47,498,'',1,'Administrador','20120904235642',0,0,408,498),(500,47,499,'',1,'Administrador','20120904235718',0,0,414,499),(501,67,500,'Página creada con «== Descripción == BTN de copia del registro señalado en el [[FORM:CopiaComposicion]] sobre otro producto, existente o no. == Composición == == Codigo == <small><pre> fun...»',1,'Administrador','20120905000114',0,0,2921,0),(502,67,501,'/* Descripción */',1,'Administrador','20120905000249',0,0,2968,501),(503,59,502,'/* Alta de Tabla TABLA:telemecomp */',1,'Administrador','20120905000436',0,0,4076,486),(504,59,503,'/* Actualizar Routine PROC:DuplicaProductoCompo en DB */',1,'Administrador','20120905000451',0,0,4080,503),(505,14,504,'/* Versión 1.1 */',1,'Administrador','20120905012440',0,0,15066,494),(506,5,505,'/* Atributos */',1,'Administrador','20120905012732',0,0,1322,204),(507,5,506,'/* Atributos */',1,'Administrador','20120905012814',0,0,1349,506),(508,5,507,'/* Reglas */',1,'Administrador','20120905012900',0,0,1353,507),(509,5,508,'/* Reglas */',1,'Administrador','20120905022132',0,0,1465,508),(510,59,509,'/* Actualizar Routine PROC:DuplicaProductoCompo en DB */',1,'Administrador','20120905133040',0,0,4680,504),(511,14,510,'/* Versión 1.1 */',1,'Administrador','20120905133153',0,0,15301,505),(512,14,511,'/* Versión 1.1 */',1,'Administrador','20120905133212',0,0,15285,511),(513,59,512,'/* Agregar atributo ComposicID a TABLA:vidquoten3 */',1,'Administrador','20120905134549',0,0,4771,510),(514,59,513,'/* Agregar atributo ComposicID a TABLA:vidquoten3 */',1,'Administrador','20120905135149',0,0,5131,513),(515,59,514,'/* Agregar atributo ComposicID a TABLA:vidquoten3tmp */',1,'Administrador','20120905135223',0,0,5131,514),(516,59,515,'/* Agregar atributo ComposicID a TABLA:vidquoten3tmp */',1,'Administrador','20120905135304',0,0,5101,515),(517,59,516,'/* Agregar atributo ComposicID a TABLA:vidquoten3tmp */',1,'Administrador','20120905135450',0,0,5489,516),(518,17,517,'/* Procedimientos */',1,'Administrador','20120906003358',0,0,6893,484),(519,68,518,'Página creada con «== Descripción == El procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto. Agrega a la TABLA:v...»',1,'Administrador','20120906004722',0,0,1235,0),(520,68,519,'/* Descripción */',1,'Administrador','20120906021241',0,0,1662,519),(521,68,520,'/* Composición */',1,'Administrador','20120906021429',0,0,1778,520),(522,68,521,'/* Uso */',1,'Administrador','20120906021701',0,0,1836,521),(523,68,522,'/* Codigo */',1,'Administrador','20120906021850',0,0,4092,522),(524,68,523,'/* Bitácora */',1,'Administrador','20120906022151',0,0,6842,523),(525,14,524,'/* Versión 1.1 */',1,'Administrador','20120906121133',0,0,15466,512),(526,68,525,'/* Código */',1,'Administrador','20120906121240',0,0,6856,524),(527,68,526,'/* Código */',1,'Administrador','20120906140436',0,0,8840,526),(528,63,527,'/* SQL */',1,'Administrador','20120906141622',0,0,1272,479),(529,14,528,'/* Versión 1.1 */',1,'Administrador','20120906141655',0,0,15505,525),(530,68,529,'/* Código */',1,'Administrador','20120906152427',0,0,10823,527),(531,14,530,'/* Versión 1.1 */',1,'Administrador','20120907132312',0,0,15638,529),(532,14,531,'/* Versión 1.1 */',1,'Administrador','20120907132415',0,0,15652,531),(533,69,532,'Página creada con «== Descripción == == Composición == == Codigo == <small><pre> DELIMITER $$  CREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN...»',1,'Administrador','20120907132528',0,0,1337,0),(534,69,533,'/* Codigo */',1,'Administrador','20120907132613',0,0,1339,533),(535,69,534,'/* Bitácora */',1,'Administrador','20120907132836',0,0,1566,534),(536,69,535,'/* Bitácora */',1,'Administrador','20120907132859',0,0,1578,535),(537,69,536,'/* Uso */',1,'Administrador','20120907132953',0,0,1640,536),(538,69,537,'/* Descripción */',1,'Administrador','20120907133105',0,0,1800,537),(539,69,538,'/* Composición */',1,'Administrador','20120907133151',0,0,1841,538),(540,70,539,'Página creada con «== Descripción == Detecta que Control presiona y dependiendo de ello, ejecuta el calculo a través del [[PROC:ActualizaPreciosTabular]] == Composición == == Codigo == <pr...»',1,'Administrador','20120907133840',0,0,1866,0),(541,70,540,'/* Codigo */',1,'Administrador','20120907133934',0,0,1883,540),(542,47,541,'/* Macros */',1,'Administrador','20120907134036',0,0,415,500),(543,68,542,'/* Código */',1,'Administrador','20120907174742',0,0,10897,530),(544,14,543,'/* Versión 1.1 */',1,'Administrador','20120907180021',0,0,15775,532),(545,71,544,'Página creada con «== Descripción == == Composición == == Código == <small><pre> DELIMITER $$  CREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN ...»',1,'Administrador','20120907180205',0,0,797,0),(546,59,545,'/* Agregar atributo ComposicID a TABLA:vidquoten3tmp */',1,'Administrador','20120908153412',0,0,5863,517),(547,59,546,'/* Agregar atributo ElementoPM a TABLA:vidquoten3 */',1,'Administrador','20120908153944',0,0,6018,546),(548,59,547,'/* Reemplazar el código de PROC:GrabaItemPresupuestoTmp y PROC:AltaItemPresupuestoTmp */',1,'Administrador','20120908161343',0,0,6964,547),(549,59,548,'/* Crea PROC:ResetEdicionItemTmp */',1,'Administrador','20120908161420',0,0,6060,548),(550,72,549,'Página creada con «== Descripción == Elimina las registraciones temporales al tiempo de pulsar el reset de la operación de edición de componentes en presupuesto. == Composición == [[TABLA...»',1,'Administrador','20120908161720',0,0,1202,0),(551,14,550,'/* Versión 1.1 */',1,'Administrador','20120908161928',0,0,15889,544),(552,72,551,'',1,'Administrador','20120908195405',0,0,1194,550),(553,14,552,'/* Versión 1 */',1,'Administrador','20120911135602',0,0,15891,551),(554,73,553,'Página creada con «== Descripción == Vista de Tabla de Contactos solo con el Tag de AComerciales. == Composición == *[[TABLA:contactos]] == Estructura == <pre> </pre> == SQL == <pre> CREATE...»',1,'Administrador','20120911140151',0,0,1330,0),(555,59,554,'/* Crea PROC:ResetEdicionItemTmp */',1,'Administrador','20120911140430',0,0,6160,549),(556,14,555,'/* Versión 1.1 */',1,'Administrador','20120911142926',0,0,16223,553),(557,14,556,'/* Versión 1.1 */',1,'Administrador','20120911152031',0,0,16705,556),(558,14,557,'/* Versión 1.1 */',1,'Administrador','20120911152107',0,0,16705,557),(559,14,558,'/* Versión 1 */',1,'Administrador','20120911152452',0,0,16780,558),(560,74,559,'Página creada con «== Descripción == Despliega cartel indicador de Presupuesto Expirado en [[FORM:Presupuesto]]. Se asocia a [[MACRO:ControlFormPresupuesto]] == Composición == TABLA:contact...»',1,'Administrador','20120911153049',0,0,1528,0),(561,74,560,'/* Composición */',1,'Administrador','20120911153113',0,0,1539,560),(562,74,561,'/* Uso */',1,'Administrador','20120911153131',0,0,1541,561),(563,47,562,'/* Macros */',1,'Administrador','20120912114733',0,0,432,542),(564,75,563,'Página creada con «== Descripción == Ejecuta controles de: *Licencia *ListBoxes de Productos *Asigna Defaults == Composición == == Código == <small><pre> \'*********************************...»',1,'Administrador','20120912115117',0,0,2698,0),(565,75,564,'/* Uso */',1,'Administrador','20120912115209',0,0,2736,564),(566,75,565,'/* Descripción */',1,'Administrador','20120912115343',0,0,2764,565),(567,75,566,'/* Descripción */',1,'Administrador','20120912115400',0,0,2765,566),(568,75,567,'/* Descripción */',1,'Administrador','20120912115419',0,0,2765,567),(569,75,568,'/* Composición */',1,'Administrador','20120912115905',0,0,2800,568),(570,76,569,'Página creada con «== Descripción == Chequea que haya pasado correctamente el acceso a la base de datos y que no esté en modalidad de desarrollo ([[VARG:oCheckEstadoLicencia]]) == Composici...»',1,'Administrador','20120912120122',0,0,986,0),(571,76,570,'/* Uso */',1,'Administrador','20120912120210',0,0,1024,570),(572,76,571,'/* Uso */',1,'Administrador','20120912120248',0,0,1065,571),(573,75,572,'/* Bitácora */',1,'Administrador','20120912120913',0,0,2869,569),(574,75,573,'/* Código */',1,'Administrador','20120912120930',0,0,2133,573),(575,75,574,'/* Código */',1,'Administrador','20120912121013',0,0,2124,574),(576,77,575,'Página creada con «== Descripción == Control de Registro de [[TABLA:vidquoten1]] y su cascada. Despliegue de datos de acuerdo a condiciones propias de los atributos del registro. == Composic...»',1,'Administrador','20120912213804',0,0,2699,0),(577,78,576,'Página creada con «== Descripción == Función para aplicar ante acción de eliminar registro en [[TABLA:vidquoten1]] y [[TABLA:vidquoten2]] dentro de [[FORM:Presupuesto]] <small><pre> Functi...»',1,'Administrador','20120912214129',0,0,1772,0),(578,78,577,'',1,'Administrador','20120912214428',0,0,1869,577),(579,78,578,'/* Bitácora */',1,'Administrador','20120912214510',0,0,1896,578),(580,14,579,'/* Versión 1.1 */',1,'Administrador','20120913100955',0,0,16927,559),(581,17,580,'/* Subrutinas */',1,'Administrador','20120913102132',0,0,6924,518),(582,47,581,'/* Macros */',1,'Administrador','20120913102318',0,0,449,563),(583,14,582,'/* Versión 1.1 */',1,'Administrador','20120914214352',0,0,17028,580),(584,79,583,'Página creada con «== Descripción == == Biblioteca == == Composición == == Código == <small><pre> </pre></small> == Bitácora == *20120914 **Cambio por rediseño [[FORM:Presupuesto]] <smal...»',1,'Administrador','20120914222009',0,0,9173,0),(585,79,584,'/* Uso */',1,'Administrador','20120914222042',0,0,9195,584),(586,79,585,'/* Descripción */',1,'Administrador','20120914222256',0,0,9413,585),(587,79,586,'/* Biblioteca */',1,'Administrador','20120914222539',0,0,9437,586),(588,14,587,'/* Versión 1.1 */',1,'Administrador','20120917150853',0,0,17440,583),(589,14,588,'/* Versión 1.1 */',1,'Administrador','20120917151108',0,0,17733,588),(590,59,589,'/* Cambiar VISTA:acomerciales */',1,'Administrador','20120917151527',0,0,6370,555),(591,73,590,'/* SQL */',1,'Administrador','20120917151809',0,0,1378,554),(592,73,591,'/* Bitácora */',1,'Administrador','20120917151916',0,0,1467,591),(593,14,592,'',1,'Administrador','20120917152022',0,0,17711,589),(594,73,593,'/* SQL */',1,'Administrador','20120917173653',0,0,1522,592),(595,63,594,'/* SQL */',1,'Administrador','20120917203039',0,0,1315,528),(596,63,595,'/* Bitácora */',1,'Administrador','20120917203124',0,0,1393,595),(597,63,596,'/* Uso */',1,'Administrador','20120917203142',0,0,1411,596),(598,63,597,'/* Uso */',1,'Administrador','20120917203156',0,0,1416,597),(599,23,598,'/* Bitácora */',1,'Administrador','20120917225153',0,0,3590,369),(600,23,599,'',1,'Administrador','20120917225413',0,0,8591,599),(601,23,600,'/* Descripcion */',1,'Administrador','20120917225830',0,0,9560,600),(602,23,601,'/* Descripcion */',1,'Administrador','20120917225855',0,0,9575,601),(603,23,602,'/* Composicion */',1,'Administrador','20120917230028',0,0,9662,602),(604,17,603,'/* Estructuras de Datos */',1,'Administrador','20120918190421',0,0,6972,581),(605,17,604,'/* Estructuras Tipo */',1,'Administrador','20120918190442',0,0,6972,604),(606,80,605,'Página creada con «#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio *[[SQLCODE0001]]»',1,'Administrador','20120918190744',0,0,98,0),(607,80,606,'',1,'Administrador','20120918190821',0,0,99,606),(608,81,607,'Página creada con «<pre> SELECT      T1.VidQuoteID,     T1.VidQuoteItem,     T1.VidQuoteProdID,     T1.VidQuoteElementoID,     T1.VidQuoteComposicID,     T1.VidQuotePrecio,     T1.VidQuotePre...»',1,'Administrador','20120918190920',0,0,717,0),(609,80,608,'',1,'Administrador','20120918191029',0,0,136,607),(610,80,609,'',1,'Administrador','20120918202227',0,0,215,609),(611,82,610,'Página creada con «<pre> SET @Lista = 2; SET @Ancho =1000; SET @Alto = 1000; SET @Cantidad = 1; SET @Coeficiente = 1; UPDATE     composicion AS T2,     vidquoten3 AS T1,     precios AS T3,   ...»',1,'Administrador','20120918202256',0,0,1786,0),(612,80,611,'',1,'Administrador','20120918202739',0,0,253,610),(613,82,612,'',1,'Administrador','20120918202805',0,0,1915,611),(614,80,613,'',1,'Administrador','20120918223638',0,0,2368,612),(615,83,614,'Página creada con «<pre> SET @Presupuesto = 50; SET @PresupuestoItem = 3; SET @Lista = 1; SET @Ancho =1000; SET @Alto = 1000; SET @Cantidad = 1; SET @Coeficiente = 1; SELECT      V1.VidQuoteI...»',1,'Administrador','20120918223723',0,0,1961,0),(616,80,615,'',1,'Administrador','20120918223734',0,0,417,614),(617,80,616,'',1,'Administrador','20120919105822',0,0,535,616),(618,47,617,'/* Macros */',1,'Administrador','20120919105948',0,0,506,582),(619,84,618,'Página creada con «<small><pre> BEGIN -- ---------------------------------------------------- -- Update from tables with ProductoID=ElementoID -- ---------------------------------------------...»',1,'Administrador','20120919110108',0,0,4540,0),(620,14,619,'/* Versión 1.1 */',1,'Administrador','20120920204235',0,0,17815,593),(621,85,620,'Página creada con «== Descripción == == Biblioteca == == Composición == == Código == < small>< pre> < /pre>< /small> == Bitácora == *20120920 **Cambio debido al nuevo [[PROC:ActualizaPrec...»',1,'Administrador','20120920204529',0,0,1989,0),(622,85,621,'/* Descripción */',1,'Administrador','20120920204624',0,0,2095,621),(623,85,622,'/* Composición */',1,'Administrador','20120920204708',0,0,2156,622),(624,86,623,'Página creada con «== Descripción == Actualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente == Compos...»',1,'Administrador','20120921131659',0,0,10519,0),(625,85,624,'/* Código */',1,'Administrador','20120921131848',0,0,3905,623),(626,59,625,'',1,'Administrador','20120921132056',0,0,6431,590),(627,14,626,'/* Versión 1.1 */',1,'Administrador','20120925021909',0,0,18189,620),(628,79,627,'/* Código */',1,'Administrador','20120925022351',0,0,14379,587),(629,86,628,'/* Bitácora */',1,'Administrador','20120925170234',0,0,11315,624),(630,86,629,'/* Bitácora */',1,'Administrador','20120925170301',0,0,11309,629),(631,86,630,'/* Código */',1,'Administrador','20120925170524',0,0,11261,630),(632,86,631,'/* Descripción */',1,'Administrador','20120925170902',0,0,11484,631),(633,86,632,'/* Uso */',1,'Administrador','20120925170939',0,0,11521,632),(634,14,633,'/* Versión 1.1 */',1,'Administrador','20120925171119',0,0,18296,627),(635,87,634,'Página creada con «== Descripción == Trigger del evento BEFORE UPDATE de [[TABLA:vidquoten2]] == Composición == *[[TABLA:vidquoten1]] *[[TABLA:vidquoten3]] *[[VISTA:acomerciales]] *[[VISTA:...»',1,'Administrador','20120925171639',0,0,4199,0),(636,87,635,'/* Composición */',1,'Administrador','20120925171742',0,0,4230,635),(637,14,636,'/* Versión 1.1 */',1,'Administrador','20120925172306',0,0,18239,634),(638,14,637,'/* Versión 1.1 */',1,'Administrador','20120925172355',0,0,18238,637),(639,87,638,'/* Composición */',1,'Administrador','20120925173630',0,0,4265,636),(640,88,639,'Página creada con «== Descripción == Actualiza los precios unitario y subtotal en la TABLA:vidquoten3 de un Producto determinado para todos sus componentes. == Composición == *[[TABLA:compo...»',1,'Administrador','20120925175653',0,0,6877,0),(641,88,640,'/* Descripción */',1,'Administrador','20120925175717',0,0,6882,640),(642,14,641,'/* Versión 1.1 */',1,'Administrador','20120925175953',0,0,18326,638),(643,89,642,'Página creada con «== Descripción == == Biblioteca == == Composición == == Código == <small><pre> </pre></small> == Bitácora == *20120409 **Alta para [[FORM:Presupuesto.v1.0]] <small><pre...»',1,'Administrador','20120925180331',0,0,2621,0),(644,89,643,'',1,'Administrador','20120925180642',0,0,5862,643),(645,89,644,'/* Composición */',1,'Administrador','20120925180714',0,0,5866,644),(646,59,645,'',1,'Administrador','20120925181057',0,0,6592,626),(647,59,646,'/* Agregado de atributo de Medicion en Obra */',1,'Administrador','20120926191709',0,0,6632,646),(648,90,647,'',1,'Administrador','20120926192201',0,0,0,0),(649,59,648,'/* Agregado de atributo de Medicion en Obra */',1,'Administrador','20120926193146',0,0,6633,647),(650,59,649,'/* Agregado de atributo de Medicion en Obra */',1,'Administrador','20120926193220',1,0,6659,649),(651,59,650,'/* Actualización de dato de Vigencia de Documentos */',1,'Administrador','20120926193454',0,0,6727,650),(652,47,651,'/* SqlCode */',1,'Administrador','20120926194125',0,0,633,618),(653,47,652,'/* Iconos Layout */',1,'Administrador','20120926194309',0,0,633,652),(654,47,653,'/* Iconos Layout */',1,'Administrador','20120926194649',0,0,640,653),(655,47,654,'/* Iconos Layout */',1,'Administrador','20120926195049',0,0,642,654),(656,59,655,'/* Actualización de datos para el control de Cobranzas */',1,'Administrador','20120926195206',0,0,6769,651),(657,59,656,'/* Actualización de datos para el control de Cobranzas */',1,'Administrador','20120926195230',0,0,6795,656),(658,59,657,'/* Crear VISTA:vistranscrm */',1,'Administrador','20120926195600',0,0,6863,657),(659,59,658,'/* Crear TABLA:clientescrmqry */',1,'Administrador','20120926204315',0,0,6922,658),(660,47,659,'/* Iconos Layout */',1,'Administrador','20120926204409',0,0,644,655),(661,59,660,'/* Crear TABLA:clientescrmqry [File:checked.png|20px] */',1,'Administrador','20120926204451',0,0,6927,659),(662,91,661,'Página creada con «== Descripción == Tabla temporaria para almacenar los datos del cliente  == Estructura == <pre> </pre> == SQL == <pre> delimiter $$  CREATE TABLE `clientescrmqry` (   `idc...»',1,'Administrador','20120926205614',0,0,477,0),(663,59,662,'/* Crear VISTA:chqactivos */',1,'Administrador','20120926210144',0,0,6995,661),(664,59,663,'/* Crear TABLA:accpayab */',1,'Administrador','20120926210550',0,0,7063,663),(665,59,664,'/* Modifica TABLA:fPago */',1,'Administrador','20120926210838',0,0,7131,664),(666,59,665,'/* Crea VISTA:vischtdisp */',1,'Administrador','20120926213525',0,0,7199,665),(667,59,666,'/* Crea VISTA:vistotprod */',1,'Administrador','20120926213709',0,0,7268,666),(668,59,667,'/* Crea VISTA:vistotprod 20px */',1,'Administrador','20120926213736',0,0,7269,667),(669,58,668,'/* SQL */',1,'Administrador','20120926220152',0,0,923,445),(670,59,669,'/* Crea TABLA:vidquoten3tmp */',1,'Administrador','20120926220257',0,0,7336,668),(671,59,670,'/* Reemplazar todos los ElementoPM en Componentes por los nuevos valores */',1,'Administrador','20120926220846',0,0,7378,670),(672,59,671,'/* Reemplazar todos los ElementoPM en Componentes por los nuevos valores */',1,'Administrador','20120926220937',0,0,7404,671),(673,59,672,'/* Reemplazar todos los ElementoPM en Componentes por los nuevos valores 20px */',1,'Administrador','20120926221337',0,0,7404,672),(674,59,673,'/* Agregar Nombre de Usuario TABLA:precios */',1,'Administrador','20120926221635',0,0,7471,673),(675,59,674,'/* Modificación de Triggers TABLA:precios */',1,'Administrador','20120926222455',0,0,7539,674),(676,59,675,'/* Modificacion de Estructura TABLA:contactos */',1,'Administrador','20120926222854',0,0,7671,675),(677,47,676,'/* Iconos Layout */',1,'Administrador','20120926224009',0,0,638,660),(678,59,677,'/* Cambio de Condición para VISTA:clientes */',1,'Administrador','20120926224048',0,0,7892,676),(679,59,678,'/* Cambio de Condición para VISTA:clientes */',1,'Administrador','20120926224247',0,0,7959,678),(680,59,679,'/* Alta de Tabla TABLA:telemecomp */',1,'Administrador','20120926230237',0,0,8106,679),(681,59,680,'/* Actualizar Routine PROC:DuplicaProductoCompo en DB */',1,'Administrador','20120926230818',0,0,8174,680),(682,59,681,'/* Agregar atributo ComposicID a TABLA:vidquoten3 */',1,'Administrador','20120926231444',0,0,8242,681),(683,59,682,'/* Agregar atributo ComposicID a TABLA:vidquoten3tmp */',1,'Administrador','20120926231721',0,0,8310,682),(684,17,683,'/* Subrutinas */',1,'Administrador','20120928203824',0,0,5161,605),(685,17,684,'/* Procedimientos */',1,'Administrador','20120928205404',0,0,5381,684),(686,80,685,'',1,'Administrador','20120930021234',0,0,761,617),(687,92,686,'Página creada con «<small><pre> SELECT      vidquoten2.VidQuoteID AS ID,     vidquoten2.VidQuoteItem AS Item,     vidquoten2.VidQuoteProdCantidad AS Cant,     vidquoten2.VidQuoteProdID AS Pro...»',1,'Administrador','20120930021431',0,0,3590,0),(688,34,687,'',1,'Administrador','20121002110217',0,0,7507,305),(689,34,688,'',1,'Administrador','20121002110338',0,0,7507,688),(690,34,689,'/* Descripción */',1,'Administrador','20121002110406',0,0,7510,689),(691,93,690,'Página creada con «== Descripción == Tabla temporaria para almacenar un número de presupuesto asociado y transferir la info entre procesos no continuos == Composición == TABLA:reppresqry =...»',1,'Administrador','20121002112037',0,0,440,0),(692,13,691,'',1,'Administrador','20121002153737',0,0,2021,394),(693,13,692,'/* KeyTeam */',1,'Administrador','20121002165816',0,0,1894,692),(694,71,693,'',1,'Administrador','20121003021512',0,0,2722,545),(695,71,694,'/* Composición */',1,'Administrador','20121003021536',0,0,2723,694),(696,94,695,'Página creada con «== Descripción == Rutina de control de la botonera de Componentes dentro de [[FORM:Presupuesto]] == Biblioteca == *[[LIBR:SpanexB]] == Composición == == Código == <small...»',1,'Administrador','20121003022011',0,0,5200,0),(697,17,696,'/* Reportes */',1,'Administrador','20121004153535',0,0,5405,685),(698,35,306,'[[REPORTE:PresupuestosDirecto]] trasladada a [[RPRT:PresupuestosDirecto]]',1,'Administrador','20121004153636',1,0,139,307),(699,95,697,'[[REPORTE:PresupuestosDirecto]] trasladada a [[RPRT:PresupuestosDirecto]]',1,'Administrador','20121004153636',0,0,42,0),(700,34,689,'[[REPORTE:Presupuestos]] trasladada a [[RPRT:Presupuestos]]',1,'Administrador','20121004153753',1,0,7510,690),(701,96,698,'[[REPORTE:Presupuestos]] trasladada a [[RPRT:Presupuestos]]',1,'Administrador','20121004153753',0,0,35,0),(702,17,699,'/* Reportes */',1,'Administrador','20121004153821',0,0,5399,697),(703,14,700,'/* Versión 1.1 */',1,'Administrador','20121004153954',0,0,18614,642),(704,14,701,'/* Versión 1.1 */',1,'Administrador','20121004154011',0,0,18618,703),(705,59,702,'/* Renovación del PROC:CopiaPresupuesto */',1,'Administrador','20121004154139',0,0,8374,683),(706,71,703,'/* Bitácora */',1,'Administrador','20121004154327',0,0,2956,695),(707,14,704,'/* Versión 1.1 */',1,'Administrador','20121004154527',0,0,18640,704),(708,14,705,'',1,'Administrador','20121004154635',0,0,18642,707),(709,14,706,'/* Versión 1 */',1,'Administrador','20121004154924',0,0,18684,708),(710,14,707,'/* Correcciones y Agregados */',1,'Administrador','20121004155101',0,0,18794,709),(711,14,708,'',1,'Administrador','20121004190822',0,0,18826,710),(712,59,709,'/* Agregar atributo ElementoPM a TABLA:vidquoten3tmp */',1,'Administrador','20121004191739',0,0,8444,705),(713,59,710,'/* Agregar atributo ElementoPM a TABLA:vidquoten3 */',1,'Administrador','20121004192044',0,0,8497,712),(714,59,711,'/* Agregar atributo ElementoPM a TABLA:vidquoten320px */',1,'Administrador','20121004192121',0,0,8511,713),(715,59,712,'/* Cambios estructura del PROC:GrabaItemPresupuestoTmp */',1,'Administrador','20121004192539',0,0,8577,714),(716,59,713,'/* Reemplazar el código de PROC:GrabaItemPresupuestoTmp y PROC:AltaItemPresupuestoTmp */',1,'Administrador','20121004192649',0,0,8643,715),(717,59,714,'/* Reemplazar el código de PROC:GrabaItemPresupuestoTmp20px y PROC:AltaItemPresupuestoTmp */',1,'Administrador','20121004194824',0,0,8774,716),(718,59,715,'/* Crea PROC:ResetEdicionItemTmp */',1,'Administrador','20121004195547',0,0,8841,717),(719,59,716,'/* Cambiar VISTA:acomerciales */',1,'Administrador','20121004195809',0,0,8908,718),(720,59,717,'/* Agregar en TABLA:contactos */',1,'Administrador','20121004200020',0,0,8975,719),(721,87,718,'/* Código */',1,'Administrador','20121004200959',0,0,3041,639),(722,59,719,'/* Alta del TRIG:Actualiza_Item_Presupuesto */',1,'Administrador','20121004201843',0,0,9042,720),(723,59,720,'',1,'Administrador','20121004202740',0,0,9240,722),(724,59,721,'/* Cambios estructura del PROC:GrabaItemPresupuestoTmp20px */',1,'Administrador','20121004215759',0,0,9567,723),(725,23,722,'/* SQL */',1,'Administrador','20121004223529',0,0,9016,603),(726,59,723,'',1,'Administrador','20121004223711',0,0,9677,724),(727,14,724,'/* Release 20120912 */',1,'Administrador','20121009212410',0,0,18916,711),(728,59,725,'/* 20120831 */',1,'Administrador','20121009212556',0,0,9694,726),(729,59,726,'/* 201201005 */',1,'Administrador','20121009212653',0,0,9752,728),(730,68,727,'/* Bitácora */',1,'Administrador','20121009213147',0,0,11205,543),(731,68,728,'/* Código */',1,'Administrador','20121009213228',0,0,11226,730),(732,14,729,'/* Correcciones y Agregados */',1,'Administrador','20121009214110',0,0,19388,727),(733,14,730,'/* Correcciones y Agregados */',1,'Administrador','20121010034249',0,0,19564,732),(734,68,731,'/* Código */',1,'Administrador','20121010034408',0,0,12954,731),(735,68,732,'/* Bitácora */',1,'Administrador','20121010034626',0,0,19386,734),(736,68,733,'/* Descripción */',1,'Administrador','20121010125739',0,0,19390,735),(737,97,734,'Página creada con «== Descripción == Vista de Proveedores de la [[TABLA:contactos]] == Composición == *[[TABLA:contactos]] == Estructura == <pre> </pre> == SQL == <pre> CREATE VIEW `proveed...»',1,'Administrador','20121017210308',0,0,1279,0),(738,36,735,'/* Bitácora */',1,'Administrador','20121017211455',0,0,1712,319),(739,36,736,'',1,'Administrador','20121017212434',0,0,3365,738),(740,14,737,'/* Correcciones y Agregados */',1,'Administrador','20121017212801',0,0,19722,733),(741,14,738,'/* Problemas Conocidos */',1,'Administrador','20121017213036',0,0,19865,740),(742,2,739,'/* ACL */',1,'Administrador','20121017213516',0,0,12225,414),(743,14,740,'',1,'Administrador','20121017215925',0,0,20371,741),(744,14,741,'',1,'Administrador','20121017225210',0,0,20443,743),(745,14,742,'/* Correcciones y Agregados */',1,'Administrador','20121017225903',0,0,20444,744),(746,2,743,'/* Gestión Retail Aberturas */',1,'Administrador','20121018125256',0,0,12205,742),(747,14,744,'/* Correcciones y Agregados */',1,'Administrador','20121018130150',0,0,20568,745),(748,98,745,'Página creada con «== Descripción == Sugiere un código de Contacto de acuerdo al tipo de contacto referido (al momento: Cliente, Proveedor, Agente Comercial, Otros) == Biblioteca == *[[Span...»',1,'Administrador','20121018130605',0,0,2042,0),(749,17,746,'/* Subrutinas */',1,'Administrador','20121018130713',0,0,5431,702),(750,14,747,'/* Correcciones y Agregados */',1,'Administrador','20121018131607',0,0,20760,747),(751,14,748,'/* Correcciones y Agregados */',1,'Administrador','20121018131725',0,0,20760,750),(752,14,749,'/* Correcciones y Agregados */',1,'Administrador','20121018135850',0,0,20886,751),(753,99,750,'Página creada con «== Descripción == Evento que ejecuta cuando carga el [[FORM:Presupuesto.Cabecera]] == Biblioteca == *[[FazzGlassMcr]] == Composición == == Código == <small><pre> Sub Eve...»',1,'Administrador','20121018150246',0,0,927,0),(754,99,751,'/* Uso */',1,'Administrador','20121018150348',0,0,948,753),(755,14,752,'/* Versión 1.1 */',1,'Administrador','20121023051831',0,0,21104,752),(756,100,753,'Página creada con «== Descripción == Visualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas == Composición == *[[TABLA:vidquoten1]] *...»',1,'Administrador','20121023052431',0,0,1395,0),(757,101,754,'Página creada con «== Descripción == Imprime el informe individual por cliente seleccionado de los antecedentes de transacciones. La ejecución proviene del [[FORM:ConsultaCRM]] y [[FORM:Pos...»',1,'Administrador','20121023060121',0,0,1896,0),(758,101,755,'/* Composición */',1,'Administrador','20121023060146',0,0,1901,757),(759,14,756,'/* Correcciones y Agregados */',1,'Administrador','20121023174342',0,0,21211,755),(760,102,757,'Página creada con «== Descripción == Despliega información de la posición del cliente ante la gestión. Toma los datos provenientes de [[TABLA:vidquoten1]] para tomar los datos básicos de...»',1,'Administrador','20121023175044',0,0,1900,0),(761,102,758,'',1,'Administrador','20121023175414',0,0,2164,760),(762,102,759,'/* Detalle */',1,'Administrador','20121023175508',0,0,2200,761),(763,14,760,'/* Correcciones y Agregados */',1,'Administrador','20121024171316',0,0,21253,759),(764,103,761,'Página creada con «== Descripción == Definicion de Tabla de acceso Magnitudes con las formulas para la versión 2 == Composición == == Estructura == <pre> CREATE TABLE `magnitudes` (   `Mag...»',1,'Administrador','20121024171512',0,0,447,0),(765,103,762,'/* Bitácora */',1,'Administrador','20121024172154',0,0,828,764),(766,103,763,'/* Bitácora */',1,'Administrador','20121024172245',0,0,836,765),(767,17,764,'/* Tablas */',1,'Administrador','20121024172329',0,0,5454,749),(768,2,765,'/* Developing */',1,'Administrador','20121024174528',0,0,12222,746),(769,104,766,'Página creada con «*[[TABLA:projects]] *[[TABLA:secciones]]»',1,'Administrador','20121024174741',0,0,40,0),(770,105,767,'Página creada con «== Descripción == == Composición == == Estructura == <pre> delimiter $$  CREATE TABLE `project` (   `ProjectID` int(11) NOT NULL AUTO_INCREMENT,   `ProjectDSC` varchar(20...»',1,'Administrador','20121024175253',0,0,401,0),(771,106,768,'Página creada con «== Descripción == == Composición == == Estructura == <pre> delimiter $$  CREATE TABLE `secciones` (   `SeccionID` int(11) NOT NULL,   `SeccionW` int(11) DEFAULT NULL,   `...»',1,'Administrador','20121024180220',0,0,340,0),(772,104,769,'',1,'Administrador','20121025112637',0,0,58,769),(773,107,770,'Página creada con «== Descripción == == Composición == == Estructura == <pre> delimiter $$  CREATE TABLE `frames` (   `FramePRJ` int(11) NOT NULL,   `FrameSEC` int(11) NOT NULL,   `FrameID`...»',1,'Administrador','20121026012710',0,0,531,0),(774,107,771,'/* Descripción */',1,'Administrador','20121026012812',0,0,625,773),(775,14,772,'/* Versión 1.1 */',1,'Administrador','20121026133830',0,0,21432,763),(776,59,773,'',1,'Administrador','20121026134032',0,0,9748,729),(777,59,774,'/* 201201005 */',1,'Administrador','20121026134053',0,0,9748,776),(778,59,775,'/* 201201005 */',1,'Administrador','20121026134247',0,0,9996,777),(779,108,776,'Página creada con «== Descripción == Esquema de Cabecera de Registración de Presupuesto == Composición == == Estructura == <pre> delimiter $$  CREATE TABLE `vidquoten1` (   `VidQuoteID` in...»',1,'Administrador','20121026134704',0,0,1304,0),(780,14,777,'/* Release 20121029 */',1,'Administrador','20121029153340',0,0,22497,775),(781,99,778,'/* Biblioteca */',1,'Administrador','20121029154709',0,0,954,754),(782,109,779,'Página creada con «== Descripción == Ejecutor del Evento Before Record Action del [[FORM:Presupuesto.Productos]]. Principalmente setea la variable de entorno para que pueda ser tomada por ot...»',1,'Administrador','20121029154755',0,0,647,0),(783,109,780,'/* Biblioteca */',1,'Administrador','20121029154831',0,0,648,782),(784,17,781,'/* Subrutinas */',1,'Administrador','20121029165133',0,0,5451,767),(785,110,782,'Página creada con «*[[MACRO:AccesaMRIStarDesktop]] *[[MACRO:AccesaMRIThisComponent]] *[[MACRO:AccesaMRIThisDatabaseDocument]] *[[MACRO:AfterUpdateElementoDProducto]] *[[MACRO:ApruebaPresupues...»',1,'Administrador','20121029165159',0,0,2909,0),(786,111,783,'Página creada con «*[[MACRO:ActivaFiltroValoresGeneral]] *[[MACRO:ActivaRelacionForm]] *[[MACRO:ActualizaDB]] *[[MACRO:ActualizaRegistroCheckBox]] *[[MACRO:AltaProductoPresupuesto]] *[[MACRO:...»',1,'Administrador','20121029165655',0,0,1217,0),(787,110,784,'',1,'Administrador','20121029165740',0,0,2909,785),(788,2,785,'/* Reportes */',1,'Administrador','20121030095605',0,0,10911,768),(789,2,786,'/* Procedimientos */',1,'Administrador','20121030095630',0,0,10164,788),(790,14,787,'/* Correcciones y Agregados */',1,'Administrador','20121030100501',0,0,22656,780),(791,14,788,'/* Correcciones y Agregados */',1,'Administrador','20121030100549',0,0,22656,790),(792,14,789,'/* Correcciones y Agregados */',1,'Administrador','20121030100949',0,0,22895,791),(793,2,790,'/* Developing */',1,'Administrador','20121030101240',0,0,10180,789),(794,112,791,'Página creada con «*Modificar FORM:Productos para incluir vista Grid. \'\'\'20121017\'\'\'»',1,'Administrador','20121030101538',0,0,65,0),(795,112,792,'',1,'Administrador','20121030101623',0,0,67,794),(796,112,793,'',1,'Administrador','20121030102032',0,0,470,795),(797,113,794,'Página creada con «== Descripción == Muestra/Esconde los componentes de un subformulario. Los parámetros son:  *pMainForm: Formulario Padre. *pNSubForm: Formulario PPD. *pEstado: configura ...»',1,'Administrador','20121030132301',0,0,1130,0),(798,14,795,'/* Versión 1.1 */',1,'Administrador','20121030132611',0,0,23193,792),(799,114,796,'Página creada con «== Descripción == Ejecuta las operaciones al marcar el VidQuoteEstado dentro de un presupuesto. == Biblioteca == == Composición == == Código == <small><pre> Sub Aprobaci...»',1,'Administrador','20121030133053',0,0,2742,0),(800,114,797,'/* Bitácora */',1,'Administrador','20121030133110',0,0,2742,799),(801,114,798,'/* Biblioteca */',1,'Administrador','20121030133135',0,0,2758,800),(802,114,799,'/* Uso */',1,'Administrador','20121030133321',0,0,2868,801),(803,114,800,'/* Uso */',1,'Administrador','20121030133342',0,0,2874,802),(804,114,801,'/* Uso */',1,'Administrador','20121030133438',0,0,2880,803),(805,14,802,'/* Problemas Conocidos */',1,'Administrador','20121030133636',0,0,23302,798),(806,112,803,'',1,'Administrador','20121030134139',0,0,633,796),(807,115,804,'Página creada con «*[[MACRO:CuadroPrueba]] *[[MACRO:CuadroPrueba1]] *[[MACRO:CuadroPrueba2]] *[[MACRO:EventoAfterUpdatingProductoID]] *[[MACRO:EventoBeforeUpdating]] *[[MACRO:EventoChanged]] ...»',1,'Administrador','20121030134624',0,0,384,0),(808,2,805,'/* ACL */',1,'Administrador','20121101134834',0,0,10468,793),(809,2,806,'/* ACL */',1,'Administrador','20121101135522',0,0,10486,808),(810,51,807,'/* Spalnex Gestion */',1,'Administrador','20121108144726',0,0,22678,419),(811,51,808,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20121108144853',0,0,22691,810),(812,51,809,'/* Presupuestos */',1,'Administrador','20121108145347',0,0,22850,811),(813,13,810,'/* KeyTeam */',1,'Administrador','20121109141016',0,0,1921,693),(814,13,811,'/* KeyTeam */',1,'Administrador','20121109141159',0,0,1920,813),(815,13,812,'/* KeyTeam */',1,'Administrador','20121112220108',0,0,1947,814),(816,34,813,'',1,'Administrador','20121123153547',0,0,7535,700),(817,34,814,'',1,'Administrador','20121123153854',0,0,13321,816),(818,34,815,'',1,'Administrador','20121123154320',0,0,18928,817),(819,17,816,'/* Tablas */',1,'Administrador','20121123162518',0,0,5543,784),(820,116,817,'Página creada con «== Descripción == Cabecera de Módulos de Producto == Composición == == Estructura == < pre> < /pre> == SQL == < pre> delimiter $$  CREATE TABLE `moduloscab` (   `ModuloI...»',1,'Administrador','20121123162705',0,0,519,0),(821,116,818,'',1,'Administrador','20121123162756',0,0,515,820),(822,117,819,'Página creada con «  == Descripción == Detalle de Modulos == Composición == == Estructura == <pre> </pre> == SQL == <pre> delimiter $$  CREATE TABLE `modulosdet` (   `ModuloID` char(8) NOT ...»',1,'Administrador','20121123162958',0,0,754,0),(823,117,820,'',1,'Administrador','20121123163020',0,0,752,822),(824,17,821,'/* Vistas */',1,'Administrador','20121128102932',0,0,5566,819),(825,118,822,'Página creada con «== Descripción == Lista los valores calculados de los subconjuntos de dimensiones definidos dentro de un módulo para corroborar el correcto dimensionamiento de un módulo...»',1,'Administrador','20121128103302',0,0,1163,0),(826,118,823,'/* Composición */',1,'Administrador','20121128103319',0,0,1166,825),(827,118,824,'/* Descripción */',1,'Administrador','20121128103643',0,0,1436,826),(828,51,825,'/* Referencia Rápida */',1,'Administrador','20121129214738',0,0,22956,812),(829,51,826,'/* Modulos */',1,'Administrador','20121129215130',0,0,23246,828),(830,51,827,'',1,'Administrador','20121129220156',0,0,23293,829),(831,51,828,'/* Bocetos */',1,'Administrador','20121129221205',0,0,24483,830),(832,59,829,'',1,'Administrador','20121130153112',0,0,10436,778),(833,59,830,'/* Actualización de TABLA:Productos */',1,'Administrador','20121130224003',0,0,10489,832),(834,59,831,'/* Actualización de TABLA:Productos */',1,'Administrador','20121130224219',0,0,10549,833),(835,59,832,'/* Actualización de TABLA:Productos */',1,'Administrador','20121130234049',0,0,10621,834),(836,14,833,'/* Versión 1.1 */',1,'Administrador','20121130234531',0,0,23708,805),(837,14,834,'/* Versión 1.1 */',1,'Administrador','20121130234556',0,0,23707,836),(838,14,835,'/* Release 20121201 */',1,'Administrador','20121130234809',0,0,23573,837),(839,119,836,'',1,'Administrador','20121130235018',0,0,0,0),(840,14,837,'/* Release 20120901 */',1,'Administrador','20121130235312',0,0,23584,838),(841,14,838,'/* Release 20120901 */',1,'Administrador','20121130235446',0,0,23573,840),(842,120,839,'Página creada con «== Descripción == == Composición == == Imagen ==  [[File:SpanexGestion.FORM.Modulos.png]] == Estructura == == Código Relacionado == == Bitácora == == Uso ==»',1,'Administrador','20121130235449',0,0,160,0),(843,120,840,'/* Imagen */',1,'Administrador','20121130235520',0,0,167,842),(844,120,841,'/* Imagen */',1,'Administrador','20121201002615',0,0,167,843),(845,120,842,'',1,'Administrador','20121201003241',0,0,538,844),(846,59,843,'/* Actualización de TABLA:Productos */',1,'Administrador','20121203170307',0,0,10693,835),(847,59,844,'/* Actualización de TABLA:Productos */',1,'Administrador','20121203170512',0,0,10740,846),(848,59,845,'/* Actualización de RPRT:Presupuesto */',1,'Administrador','20121203170651',0,0,10741,847),(849,121,846,'Página creada con «== Descripción == Chequea los campos de dimensiones dentro del [[FORM:Presupuesto]] == Biblioteca == == Composición == == Código == < small>< pre> < /pre>< /small> == Bi...»',1,'Administrador','20121204022818',0,0,192,0),(850,121,847,'',1,'Administrador','20121204023030',0,0,3334,849),(851,121,848,'/* Código */',1,'Administrador','20121204023102',0,0,3331,850),(852,121,849,'/* Código */',1,'Administrador','20121204023726',0,0,6490,851),(853,121,850,'/* Bitácora */',1,'Administrador','20121204023918',0,0,6553,852),(854,121,851,'/* Bitácora */',1,'Administrador','20121204024212',0,0,6607,853),(855,17,852,'/* Tablas */',1,'Administrador','20121206115740',0,0,5589,824),(856,122,853,'Página creada con «== Descripción == Detalle de SubConjuntos de \"lineas de control\" tendidas para el chequeo de las dimensiones de vano para módulos == Composición == == SQL == <pre> delim...»',1,'Administrador','20121206120146',0,0,541,0),(857,122,854,'/* Descripción */',1,'Administrador','20121206120251',0,0,612,856),(858,117,855,'',1,'Administrador','20121206120831',0,0,1979,823),(859,59,856,'',1,'Administrador','20121206121514',0,0,10864,848),(860,14,857,'/* Versión 1.1 */',1,'Administrador','20121206122105',0,0,24036,841),(861,2,858,'/* Documentación de Usuario */',1,'Administrador','20121206122414',0,0,10533,809),(863,49,860,'',1,'Administrador','20121206124103',0,0,850,405),(864,49,861,'',1,'Administrador','20121206124208',0,0,849,863),(865,5,862,'',1,'Administrador','20121206124550',0,0,1485,509),(866,14,863,'/* Problemas Conocidos */',1,'Administrador','20121206130232',0,0,24143,860),(867,14,864,'/* Esquema de Actualizaciones */',1,'Administrador','20121206130302',0,0,24164,866),(868,14,865,'/* Esquema de Actualizaciones */',1,'Administrador','20121206130322',0,0,24144,867),(869,2,866,'/* Developing */',1,'Administrador','20121206131553',0,0,10557,861),(870,2,867,'/* Developing */',1,'Administrador','20121206131619',0,0,10557,869),(871,124,868,'Página creada con «= Indice de Tablas =»',1,'Administrador','20121206131736',0,0,20,0),(872,2,869,'/* Developing */',1,'Administrador','20121206132033',0,0,10564,870),(873,124,870,'/* Indice de Tablas */',1,'Administrador','20121206132132',0,0,36,871),(874,122,871,'',1,'Administrador','20121206132320',0,0,631,857),(875,103,872,'',1,'Administrador','20121206132427',0,0,856,766),(876,2,873,'/* Gestión Retail Aberturas */',1,'Administrador','20121206132739',0,0,10573,872),(877,47,874,'',1,'Administrador','20121206133216',0,0,773,677),(882,125,879,'Página creada con «====Data TKT==== \'\'\'Autor:\'\'\' Sofia  \'\'\'Fecha:\'\'\' 20121205  \'\'\'Soporte:\'\'\' SAS =====Incidente===== Se corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abr...»',1,'Administrador','20121206133804',0,0,390,0),(883,125,880,'/* Data TKT */',1,'Administrador','20121206133824',0,0,392,882),(884,47,881,'/* Tickets Soporte */',1,'Administrador','20121206133939',0,0,802,877),(885,125,882,'',1,'Administrador','20121206133958',0,0,393,883),(886,125,883,'',1,'Administrador','20121206134038',0,0,410,885),(888,125,885,'',1,'Administrador','20121206134225',0,0,435,886),(889,47,886,'/* Tickets Soporte */',1,'Administrador','20121206134252',0,0,827,884),(890,125,887,'/* Data TKT */',1,'Administrador','20121206134327',0,0,436,888),(891,47,888,'/* Tickets Soporte */',1,'Administrador','20121206134357',0,0,824,889),(892,47,889,'/* Tickets Soporte */',1,'Administrador','20121206134425',0,0,841,891),(893,47,890,'/* Tablas, Vistas */',1,'Administrador','20121206134507',0,0,882,892),(894,2,891,'/* Soporte-Bitacora */',1,'Administrador','20121206134609',0,0,10583,876),(895,126,892,'Página creada con «Lista de Tickets de Soporte»',1,'Administrador','20121206134741',0,0,27,0),(896,2,893,'/* Gestión Retail Aberturas (Spanex) */',1,'Administrador','20121206135239',0,0,10607,894),(897,127,894,'Página creada con «[[:Category:TABLAS|Tablas]] [[:Category:VISTAS|Vistas]] [[:Category:MACROS|Macros]] [[:Category:RPRT|Informes]]»',1,'Administrador','20121206135410',0,0,111,0),(898,127,895,'',1,'Administrador','20121206135450',0,0,144,897),(899,118,896,'',1,'Administrador','20121206135846',0,0,1614,827),(900,118,897,'/* Descripción */',1,'Administrador','20121206140005',0,0,1620,899),(901,128,898,'Página creada con «Listado de Vistas»',1,'Administrador','20121206140045',0,0,17,0),(902,125,899,'/* Resolución */',1,'Administrador','20121206205826',0,0,745,890),(903,125,900,'/* Resolución */',1,'Administrador','20121206205854',0,0,761,902),(904,125,901,'/* Resolución */',1,'Administrador','20121206205919',0,0,776,903),(905,47,902,'/* Tickets Soporte */',1,'Administrador','20121206210035',0,0,899,893),(906,129,903,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\'  *\'\'\'Fecha:\'\'\'  *\'\'\'Soporte:\'\'\'  =====Incidente===== =====WorkAround===== =====Resolución===== =====Estado===== =====Obse...»',1,'Administrador','20121206210417',0,0,186,0),(907,129,904,'/* Data TKT */',1,'Administrador','20121206210837',0,0,594,906),(908,130,905,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' Lucas *\'\'\'Fecha:\'\'\' 20121206.1800 *\'\'\'Soporte:\'\'\' SAS =====Incidente=====. *Generar el siguiente procedimiento: **Sobre to...»',1,'Administrador','20121206211703',0,0,701,0),(909,130,906,'/* Data TKT */',1,'Administrador','20121206211733',0,0,700,908),(910,125,907,'',1,'Administrador','20121206211911',0,0,778,904),(911,131,908,'Página creada con «Tickets de soporte cerrados.»',1,'Administrador','20121206211938',0,0,28,0),(912,132,909,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' Lucas *\'\'\'Fecha:\'\'\' 20121206.1600 *\'\'\'Soporte:\'\'\' SAS =====Incidente===== Cuando carga un producto con la facilidad del fi...»',1,'Administrador','20121206213412',0,0,432,0),(913,133,910,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' Lucas *\'\'\'Fecha:\'\'\' 20121206.1630 *\'\'\'Soporte:\'\'\' SAS =====Incidente===== *El \"ascensor\" de ComponenteSimpleGrid desaparec...»',1,'Administrador','20121206213601',0,0,282,0),(914,2,911,'/* Soporte-Bitacora */',1,'Administrador','20121206213702',0,0,10671,896),(915,2,912,'/* Soporte-Bitacora */',1,'Administrador','20121206213746',0,0,10673,914),(916,134,913,'Página creada con «[[Category:TKTOut]] ====Data TKT==== *\'\'\'Usuario:\'\'\' Sofia *\'\'\'Fecha:\'\'\' 201212070930 *\'\'\'Soporte:\'\'\' SAS =====Incidente===== Mensaje de error solicitando información de f...»',1,'Administrador','20121207150831',0,0,364,0),(917,134,914,'/* Incidente */',1,'Administrador','20121207153209',0,0,432,916),(918,134,915,'/* Incidente */',1,'Administrador','20121207153413',0,0,436,917),(919,134,916,'/* Incidente */',1,'Administrador','20121207153930',0,0,438,918),(920,134,917,'/* Incidente */',1,'Administrador','20121207154357',0,0,446,919),(921,134,918,'/* Incidente */',1,'Administrador','20121207154456',0,0,438,920),(922,129,919,'',1,'Administrador','20121208031633',0,0,1123,907),(923,23,920,'/* Bitácora */',1,'Administrador','20121208031953',0,0,9192,725),(924,23,921,'',1,'Administrador','20121208032727',0,0,13938,923),(925,129,922,'/* Estado */',1,'Administrador','20121208034149',0,0,1139,922),(926,68,923,'',1,'Administrador','20121208035137',0,0,27614,736),(927,14,924,'',1,'Administrador','20121208035418',0,0,24179,868),(928,14,925,'/* Release 20121201 */',1,'Administrador','20121208035533',0,0,24495,927),(929,14,926,'/* Problemas Conocidos */',1,'Administrador','20121208035824',0,0,24495,928),(930,134,918,'[[TKT.FZG.000006]] trasladada a [[TKT:FZG.000006]]',1,'Administrador','20121208040039',1,0,438,921),(931,135,927,'[[TKT.FZG.000006]] trasladada a [[TKT:FZG.000006]]',1,'Administrador','20121208040040',0,0,32,0),(932,129,922,'[[TKT.FZG.000002]] trasladada a [[TKT:FZG.000002]]',1,'Administrador','20121208040055',1,0,1139,925),(933,136,928,'[[TKT.FZG.000002]] trasladada a [[TKT:FZG.000002]]',1,'Administrador','20121208040055',0,0,32,0),(934,130,906,'[[TKT.FZG.000003]] trasladada a [[TKT:FZG.000003]]',1,'Administrador','20121208040200',1,0,700,909),(935,137,929,'[[TKT.FZG.000003]] trasladada a [[TKT:FZG.000003]]',1,'Administrador','20121208040200',0,0,32,0),(936,132,909,'[[TKT.FZG.000004]] trasladada a [[TKT:FZG.000004]]',1,'Administrador','20121208040220',1,0,432,912),(937,138,930,'[[TKT.FZG.000004]] trasladada a [[TKT:FZG.000004]]',1,'Administrador','20121208040220',0,0,32,0),(938,133,910,'[[TKT.FZG.000005]] trasladada a [[TKT:FZG.000005]]',1,'Administrador','20121208040234',1,0,282,913),(939,139,931,'[[TKT.FZG.000005]] trasladada a [[TKT:FZG.000005]]',1,'Administrador','20121208040234',0,0,32,0),(940,126,932,'',1,'Administrador','20121208040311',0,0,38,895),(941,36,933,'',1,'Administrador','20121208040724',0,0,3383,739),(942,140,934,'Página creada con «Lista de Procedimientos SQL»',1,'Administrador','20121208040809',0,0,27,0),(943,127,935,'',1,'Administrador','20121208041409',0,0,179,898),(944,141,936,'Página creada con «Lista de Macros»',1,'Administrador','20121208041539',0,0,15,0),(945,142,937,'Página creada con «Lista de Informes»',1,'Administrador','20121208041557',0,0,17,0),(946,23,938,'',1,'Administrador','20121208042104',0,0,13956,924),(947,68,939,'',1,'Administrador','20121208042117',0,0,27632,926),(948,59,940,'/* Alta de esquema Módulos */',1,'Administrador','20121211134443',0,0,10955,859),(949,47,941,'/* Formularios */',1,'Administrador','20121211163719',0,0,918,905),(950,47,942,'/* Macros */',1,'Administrador','20121211163822',0,0,938,949),(951,143,943,'Página creada con «[[Category:TABLAS]] == Descripción == Container de cabecera de bocetos == Composición == == SQL == <pre> delimiter $$  CREATE TABLE `bocetoscab` (   `BocetoID` char(8) NO...»',1,'Administrador','20121211172208',0,0,812,0),(952,17,944,'/* Tablas */',1,'Administrador','20121211172310',0,0,5543,855),(953,17,945,'/* Tablas */',1,'Administrador','20121211172348',0,0,5474,952),(954,48,946,'',1,'Administrador','20121211172415',0,0,901,404),(955,144,947,'Página creada con «[[Category:TABLAS]] == Descripción == Container de Detalle de Productos de un Boceto == Composición == == SQL == <pre> delimiter $$  CREATE TABLE `bocetosdet` (   `Boceto...»',1,'Administrador','20121211173232',0,0,757,0),(956,17,948,'/* Tablas */',1,'Administrador','20121211173341',0,0,5431,953),(957,145,949,'Página creada con «[[Category:TABLAS]] == Descripción == Container de subconjunto de lineas de control de Bocetos == Composición == == SQL == <pre> delimiter $$  CREATE TABLE `bocetossbs` (...»',1,'Administrador','20121211174522',0,0,505,0),(958,116,950,'',1,'Administrador','20121211174649',0,0,535,821),(959,117,951,'',1,'Administrador','20121211174707',0,0,1999,858),(960,60,952,'',1,'Administrador','20121211174827',0,0,639,471),(961,40,953,'',1,'Administrador','20121211174854',0,0,465,360),(962,93,954,'',1,'Administrador','20121211174917',0,0,460,691),(963,50,955,'',1,'Administrador','20121211174937',0,0,457,410),(964,66,956,'',1,'Administrador','20121211174958',0,0,343,485),(965,17,957,'/* Tablas */',1,'Administrador','20121211175041',0,0,5273,956),(966,108,958,'',1,'Administrador','20121211175125',0,0,1324,779),(967,57,959,'',1,'Administrador','20121211175143',0,0,146,443),(968,58,960,'',1,'Administrador','20121211175216',0,0,912,669),(969,17,961,'/* Tablas */',1,'Administrador','20121211175244',0,0,5201,965),(970,146,962,'Página creada con «[[Category:TABLAS]] == Descripción == == Composición == == SQL == <pre> CREATE TABLE `listavsdim` (   `ListaID` int(11) NOT NULL AUTO_INCREMENT,   `ListaDimensionGRP` int...»',1,'Administrador','20121212142513',0,0,341,0),(971,103,963,'/* Estructura */',1,'Administrador','20121212142549',0,0,857,875),(972,147,964,'Página creada con «[[Category:TABLAS]] == Descripción == == Composición == == SQL == <pre> delimiter $$  CREATE TABLE `listaatrib` (   `ListaAtribGRP` int(11) NOT NULL,   `ListaAtribProdID`...»',1,'Administrador','20121212145013',0,0,428,0),(973,2,965,'/* Definiciones */',1,'Administrador','20121212160658',0,0,10673,915),(974,148,966,'Página creada con «[[Category:TABLAS]] == Descripción == Container del registro de consulta de [[TABLA:composicion]] == Composición == == SQL == <pre> delimiter $$  CREATE TABLE `composicio...»',1,'Administrador','20121212160939',0,0,667,0),(975,149,967,'Página creada con «== Descripción == Tabla de ayuda de procedimientos y funciones de la base de datos de Spanex. Actua como snapshot a través del [[PROC:DebugCheckPoint]] == Composición ==...»',1,'Administrador','20121212161329',0,0,551,0),(976,150,968,'Página creada con «[[Category:PROC]] == Descripción == Procedimiento de registración en Runtime de MySQL RDBMS == Composición == == Código == <small><pre> delimiter $$  CREATE DEFINER=`sa...»',1,'Administrador','20121212161616',0,0,387,0),(977,149,969,'/* SQL */',1,'Administrador','20121212161650',0,0,532,975),(978,151,970,'Página creada con «[[Category:TABLAS]] == Descripción == Container del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la sigui...»',1,'Administrador','20121212174747',0,0,3753,0),(979,17,971,'/* Tablas */',1,'Administrador','20121212174803',0,0,5129,969),(980,152,972,'',1,'Administrador','20121212182222',0,0,0,0),(981,151,973,'/* Descripción */',1,'Administrador','20121212182409',0,0,3794,978),(982,151,974,'/* Descripción */',1,'Administrador','20121212182512',0,0,3799,981),(983,151,975,'',1,'Administrador','20121212182718',0,0,3950,982),(984,151,976,'/* Descripción */',1,'Administrador','20121212182742',0,0,3952,983),(985,151,977,'',1,'Administrador','20121212183133',0,0,3989,984),(986,151,978,'/* Composición */',1,'Administrador','20121212183159',0,0,3994,985),(987,73,979,'',1,'Administrador','20121212183529',0,0,1542,594),(988,63,980,'',1,'Administrador','20121212183620',0,0,1436,598),(989,46,981,'',1,'Administrador','20121212183835',0,0,894,392),(990,153,982,'Página creada con «[[Category:TABLAS]] == Descripción == Container de libro de cheques  == Composición == == SQL == <pre> delimiter $$  CREATE TABLE `checkbook` (   `CheckBookID` int(11) NO...»',1,'Administrador','20121212184004',0,0,855,0),(991,59,983,'/* Alta de esquema Módulos */',1,'Administrador','20121212184304',0,0,11023,948),(992,59,984,'/* Baja TABLA:logprecios */',1,'Administrador','20121212184334',0,0,11036,991),(993,59,985,'/* 20121201 */',1,'Administrador','20121212184814',0,0,11276,992),(994,17,986,'/* Tablas */',1,'Administrador','20121212184933',0,0,5106,979),(995,154,987,'Página creada con «[[Category:TABLAS]] == Descripción == Container de datos de licenciamiento.  == Composición == == SQL == <pre> delimiter $$  CREATE TABLE `wscontrol` (   `wsid` int(11) N...»',1,'Administrador','20121212201755',0,0,2507,0),(996,2,988,'/* ACL */',1,'Administrador','20121212201847',0,0,8670,973),(997,2,989,'',1,'Administrador','20121212201940',0,0,8639,996),(998,155,990,'Página creada con «[[Category:TABLAS]] == Descripción == Container de información de personas físicas y jurídicas == Composición == Existe una \"composición\" interna que esta dada a la f...»',1,'Administrador','20121212203511',0,0,1582,0),(999,155,991,'/* Composición */',1,'Administrador','20121212203622',0,0,1647,998),(1000,17,992,'/* Vistas */',1,'Administrador','20121212204109',0,0,4987,994),(1001,59,993,'/* 20121201 */',1,'Administrador','20121212204311',0,0,11198,993),(1002,59,994,'/* Actualización de TABLA:Productos */',1,'Administrador','20121212204343',0,0,11199,1001),(1003,17,995,'/* Tablas */',1,'Administrador','20121212204426',0,0,4707,1000),(1004,29,996,'',1,'Administrador','20121212204519',0,0,1229,292),(1005,28,997,'',1,'Administrador','20121212204554',0,0,1334,293),(1006,27,998,'',1,'Administrador','20121212204607',0,0,1138,308),(1007,32,999,'',1,'Administrador','20121212204620',0,0,502,296),(1008,55,1000,'',1,'Administrador','20121212204653',0,0,585,440),(1009,56,1001,'',1,'Administrador','20121212204718',0,0,895,442),(1010,17,1002,'/* Vistas */',1,'Administrador','20121212204738',0,0,4505,1003),(1011,45,1003,'',1,'Administrador','20121212204811',0,0,1088,390),(1012,33,1004,'',1,'Administrador','20121212204842',0,0,2927,314),(1013,30,1005,'',1,'Administrador','20121212204847',0,0,2316,294),(1014,26,1006,'',1,'Administrador','20121212204853',0,0,617,323),(1015,31,1007,'',1,'Administrador','20121212204859',0,0,981,289),(1016,38,1008,'',1,'Administrador','20121212204904',0,0,1292,343),(1017,17,1009,'/* Vistas */',1,'Administrador','20121212204943',0,0,4227,1010),(1018,47,1010,'/* Macros */',1,'Administrador','20121212205053',0,0,983,950),(1019,88,1011,'',1,'Administrador','20121212205147',0,0,6900,641),(1020,86,1012,'',1,'Administrador','20121212205155',0,0,11539,633),(1021,69,1013,'',1,'Administrador','20121212205157',0,0,1859,539),(1022,43,1014,'',1,'Administrador','20121212205202',0,0,1292,374),(1023,22,1015,'',1,'Administrador','20121212205245',0,0,3216,322),(1024,37,1016,'',1,'Administrador','20121212205250',0,0,412,326),(1025,89,1017,'',1,'Administrador','20121212205300',0,0,5884,645),(1026,39,1018,'',1,'Administrador','20121212205304',0,0,4923,493),(1027,71,1019,'',1,'Administrador','20121212205310',0,0,2974,706),(1028,72,1020,'',1,'Administrador','20121212205322',0,0,1212,552),(1029,17,1021,'/* Procedimientos */',1,'Administrador','20121212205407',0,0,3801,1017),(1030,127,1022,'/* Estructuras de Trabajo */',1,'Administrador','20121212205711',0,0,211,943),(1031,110,1023,'',1,'Administrador','20121212205809',0,0,2927,787),(1032,111,1024,'',1,'Administrador','20121212205841',0,0,1235,786),(1033,115,1025,'',1,'Administrador','20121212205903',0,0,402,807),(1034,156,1026,'Página creada con «Lista de Bibliotecas asociadas»',1,'Administrador','20121212205938',0,0,30,0),(1035,17,1027,'/* Bibliotecas */',1,'Administrador','20121212210711',0,0,3721,1029),(1036,34,1028,'',1,'Administrador','20121212210921',0,0,18946,818),(1037,35,1029,'',1,'Administrador','20121212210932',0,0,157,698),(1038,101,1030,'',1,'Administrador','20121212210955',0,0,1919,758),(1039,101,1031,'/* Composición */',1,'Administrador','20121212211105',0,0,1919,1038),(1040,47,1032,'',1,'Administrador','20121212234640',0,0,1052,1018),(1041,127,1033,'/* Estructuras de Trabajo */',1,'Administrador','20121212235456',0,0,243,1030),(1042,17,1034,'/* Estructuras de Datos */',1,'Administrador','20121212235632',0,0,3633,1035),(1043,17,1035,'/* Referencias */',1,'Administrador','20121212235706',0,0,3634,1042),(1044,17,1036,'/* Reportes */',1,'Administrador','20121212235739',0,0,3537,1043),(1045,44,1037,'',1,'Administrador','20121213000120',0,0,1322,383),(1046,52,1038,'',1,'Administrador','20121213000126',0,0,1051,437),(1047,19,1039,'',1,'Administrador','20121213000320',0,0,218,167),(1048,54,1040,'',1,'Administrador','20121213000342',0,0,1400,436),(1049,17,1041,'/* Objetos */',1,'Administrador','20121213000425',0,0,3413,1044),(1050,127,1042,'/* Estructuras de Trabajo */',1,'Administrador','20121213000550',0,0,276,1041),(1052,127,1044,'/* Estructuras de Trabajo */',1,'Administrador','20121213000642',0,0,275,1050),(1053,158,1045,'Página creada con «Lista de Formularios Asociados»',1,'Administrador','20121213000723',0,0,30,0),(1054,112,1046,'',1,'Administrador','20121213105924',0,0,1039,806),(1055,2,1047,'/* Gestión Retail Aberturas (Spanex) */',1,'Administrador','20121213110008',0,0,8618,997),(1056,2,1048,'/* Developing */',1,'Administrador','20121213110057',0,0,8643,1055),(1057,2,1049,'/* Triggers */',1,'Administrador','20121213110349',0,0,4168,1056),(1058,61,1050,'/* Descripción */',1,'Administrador','20121213110531',0,0,330,468),(1059,61,1051,'',1,'Administrador','20121213110646',0,0,346,1058),(1060,127,1052,'/* Estructuras de Trabajo */',1,'Administrador','20121213110758',0,0,305,1052),(1061,159,1053,'Página creada con «Lista de Triggers Activos»',1,'Administrador','20121213110847',0,0,25,0),(1062,62,1054,'',1,'Administrador','20121213110937',0,0,352,469),(1063,47,1055,'/* Tablas, Vistas */',1,'Administrador','20121213111025',0,0,1168,1040),(1064,47,1056,'',1,'Administrador','20121213111133',0,0,1180,1063),(1065,61,1057,'',1,'Administrador','20121213111206',0,0,345,1059),(1066,41,1058,'/* Descripción */',1,'Administrador','20121213111630',0,0,1614,357),(1067,42,1059,'/* Descripción */',1,'Administrador','20121213111756',0,0,922,361),(1068,42,1060,'',1,'Administrador','20121213111844',0,0,939,1067),(1069,41,1061,'',1,'Administrador','20121213111918',0,0,1631,1066),(1070,42,1060,'[[TRIG:productos.BajaProducto]] trasladada a [[TRIG:productos.Baja Producto]]',1,'Administrador','20121213111941',1,0,939,1068),(1071,160,1062,'[[TRIG:productos.BajaProducto]] trasladada a [[TRIG:productos.Baja Producto]]',1,'Administrador','20121213111941',0,0,46,0),(1072,40,1063,'',1,'Administrador','20121213112009',0,0,465,961),(1073,60,1064,'/* Triggers */',1,'Administrador','20121213112042',0,0,651,960),(1074,41,1065,'',1,'Administrador','20121213112113',0,0,1597,1069),(1075,41,1065,'[[TRIG:productos.AltaProducto]] trasladada a [[TRIG:productos.Alta Producto]]',1,'Administrador','20121213112134',1,0,1597,1074),(1076,161,1066,'[[TRIG:productos.AltaProducto]] trasladada a [[TRIG:productos.Alta Producto]]',1,'Administrador','20121213112134',0,0,46,0),(1077,40,1067,'/* Triggers */',1,'Administrador','20121213112222',0,0,466,1072),(1078,40,1068,'/* Estructura */',1,'Administrador','20121213112303',0,0,1047,1077),(1079,108,1069,'',1,'Administrador','20121213112637',0,0,1071,966),(1080,162,1070,'Página creada con «[[Category:TRIG]] == Lanzador == Delete == Composición == *[[TABLA:vidquoten1]] *[[TABLA:vidquoten2]] *[[TABLA:vidquoten3]] == SQL == <pre> CREATE DEFINER=`sas_admin`@`%` ...»',1,'Administrador','20121213112827',0,0,464,0),(1081,151,1071,'/* Triggers */',1,'Administrador','20121213113138',0,0,3749,986),(1082,151,1072,'/* Triggers */',1,'Administrador','20121213113155',0,0,3770,1081),(1083,163,1073,'Página creada con «[[Category:TRIG]] == Lanzador == Delete == Composición == [[TABLA:vidquoten2]] [[TABLA:vidquoten3]] == SQL == <pre> CREATE DEFINER=`sas_admin`@`%` TRIGGER `fzggestion`.`Ba...»',1,'Administrador','20121213113304',0,0,418,0),(1084,163,1074,'/* Composición */',1,'Administrador','20121213113325',0,0,421,1083),(1085,151,1075,'/* Triggers */',1,'Administrador','20121213113346',0,0,3763,1082),(1086,2,1076,'/* Triggers */',1,'Administrador','20121213113438',0,0,1888,1057),(1087,51,1077,'/* Productos */',1,'Administrador','20121213113908',0,0,24546,831),(1088,164,1078,'Página creada con «El concepto de Magnitud está relacionado con la forma de cálculo de un producto al tiempo de una cotización. Generalmente se encuentra asociado a otros atributos/concept...»',1,'Administrador','20121213115803',0,0,2234,0),(1089,164,1079,'',1,'Administrador','20121213115844',0,0,2241,1088),(1090,2,1080,'/* Gestión de Magnitudes */',1,'Administrador','20121213115934',0,0,687,1086),(1091,2,1081,'/* Reportes */',1,'Administrador','20121213120002',0,0,652,1090),(1092,2,1082,'/* Gestión Retail Aberturas (Spanex) */',1,'Administrador','20121213120027',0,0,609,1091),(1093,118,1083,'/* SQL */',1,'Administrador','20121213172755',0,0,1695,900),(1094,118,1084,'/* Descripción */',1,'Administrador','20121213172831',0,0,1531,1093),(1095,118,1085,'/* Bitácora */',1,'Administrador','20121213173205',0,0,1695,1094),(1096,118,1086,'/* Composición */',1,'Administrador','20121213173236',0,0,1717,1095),(1097,118,1087,'/* Descripción */',1,'Administrador','20121213173438',0,0,1673,1096),(1098,143,1088,'/* Descripción */',1,'Administrador','20121218085453',0,0,936,951),(1099,143,1089,'/* Descripción */',1,'Administrador','20121218085515',0,0,937,1098),(1100,143,1090,'/* SQL */',1,'Administrador','20121218093400',0,0,1237,1099),(1101,165,1091,'Página creada con «[[Category:TRIG]] == Lanzador == *Alta == Composición == *[[TABLA:bocetoscab]] *[[TABLA:bocetosdet]] *[[TABLA:bocetossbs]] == SQL == <pre> delimiter $$  CREATE DEFINER=`sa...»',1,'Administrador','20121218093717',0,0,565,0),(1102,143,1092,'/* Triggers */',1,'Administrador','20121218093759',0,0,993,1100),(1103,143,1093,'/* SQL */',1,'Administrador','20121218093906',0,0,729,1102),(1104,144,1094,'/* SQL */',1,'Administrador','20121218094610',0,0,817,955),(1105,165,1095,'/* SQL */',1,'Administrador','20121218094711',0,0,483,1101),(1106,165,1096,'/* SQL */',1,'Administrador','20121218094732',0,0,487,1105),(1107,165,1096,'[[TRIG:bocetoscab.Baja Boceto]] trasladada a [[TRIG:bocetoscab.Baja BocetosCab]]',1,'Administrador','20121218094834',1,0,487,1106),(1108,166,1097,'[[TRIG:bocetoscab.Baja Boceto]] trasladada a [[TRIG:bocetoscab.Baja BocetosCab]]',1,'Administrador','20121218094834',0,0,49,0),(1109,143,1098,'/* Triggers */',1,'Administrador','20121218094854',0,0,733,1103),(1110,167,1099,'Página creada con «[[Category:TRIG]] == Lanzador == == Composición == == SQL == <pre> </pre> == Bitácora == == Uso ==»',1,'Administrador','20121218094956',0,0,100,0),(1111,167,1100,'/* SQL */',1,'Administrador','20121218095034',0,0,355,1110),(1112,167,1101,'/* Lanzador */',1,'Administrador','20121218095049',0,0,362,1111),(1113,167,1102,'/* Composición */',1,'Administrador','20121218095132',0,0,407,1112),(1114,168,1103,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' Lucas *\'\'\'Fecha:\'\'\' 20121218.1730 *\'\'\'Soporte:\'\'\' SAS =====Incidente===== Copia de Registraciones de DVH para dividirlas e...»',1,'Administrador','20121218204027',0,0,423,0),(1115,13,1104,'',1,'Administrador','20130101000529',0,0,15309,815),(1116,13,1105,'/* = Embed multiple components into a single Window */',1,'Administrador','20130101001952',0,0,15311,1115),(1117,13,1106,'/* Embed multiple components into a single Window */',1,'Administrador','20130101002148',0,0,15343,1116),(1118,13,1107,'/* TopWindow having MenuBar */',1,'Administrador','20130101002805',0,0,20188,1117),(1119,13,1108,'/* TopWindow having MenuBar */',1,'Administrador','20130101002846',0,0,20190,1118),(1120,13,1109,'/* TopWindow having MenuBar */',1,'Administrador','20130101231432',0,0,20205,1119),(1121,13,1110,'/* Embed multiple components into a single Window */',1,'Administrador','20130101231844',0,0,20220,1120),(1122,13,1111,'/* TopWindow having MenuBar */',1,'Administrador','20130101231945',0,0,20235,1121),(1123,168,1112,'/* Estado */',1,'Administrador','20130102141205',0,0,425,1114),(1124,168,1113,'/* Resolución */',1,'Administrador','20130102141331',0,0,3394,1123),(1125,168,1114,'',1,'Administrador','20130102141412',0,0,3397,1124),(1126,168,1115,'/* Resolución */',1,'Administrador','20130102194342',0,0,3407,1125),(1127,13,1116,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130103114123',0,0,20261,1122),(1128,13,1117,'/* Embed multiple components into a single Window */',1,'Administrador','20130103114159',0,0,20286,1127),(1129,169,1118,'Página creada con «Lista de CodeSnipets en OOBasic»',1,'Administrador','20130103114543',0,0,31,0),(1130,17,1119,'/* Referencias */',1,'Administrador','20130103114825',0,0,3496,1049),(1131,17,1120,'/* Referencias */',1,'Administrador','20130103115456',0,0,3510,1130),(1132,170,1121,'Página creada con «[[Category:OOBasicCode]] *\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986 *\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]]  <small><pre...»',1,'Administrador','20130103115538',0,0,4900,0),(1133,13,1122,'/* TopWindow having MenuBar */',1,'Administrador','20130103115641',0,0,15349,1128),(1134,171,1123,'Página creada con «[[Category:OOBasicCode]] \'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883 <small><pre> REM  *****  BASIC  *****  global component1 global component2  Sub Ma...»',1,'Administrador','20130103115852',0,0,13341,0),(1135,13,1124,'/* Embed multiple components into a single Window */',1,'Administrador','20130103115907',0,0,1949,1133),(1136,13,1125,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130103120137',0,0,2037,1135),(1137,13,1126,'',1,'Administrador','20130103120504',0,0,1974,1136),(1138,13,1127,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130103120553',0,0,1995,1137),(1139,13,1128,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130103120710',0,0,1996,1138),(1140,172,1129,'Página creada con «[[Category:OOBasicCode]] \'\'\'Site:\'\'\' http://en.wikibooks.org/wiki/OpenOffice.org/Macro <pre> sub Main rem ------------------------------------------------------------------...»',1,'Administrador','20130103121344',0,0,836,0),(1141,173,1130,'Página creada con «[[Category:OOBasicCode]] <pre> Sub Doczoom    Dim Doc As Object    Dim Settings As Object        Doc=ThisComponent    Settings=Doc.CurrentController.viewSettings        Wit...»',1,'Administrador','20130103121801',0,0,249,0),(1142,173,1131,'',1,'Administrador','20130103121845',0,0,325,1141),(1143,174,1132,'',1,'Administrador','20130103124151',0,0,0,0),(1144,175,1133,'Página creada con «=Window= When the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of th...»',1,'Administrador','20130103124414',0,0,1554,0),(1145,175,1134,'',1,'Administrador','20130103124716',0,0,1471,1144),(1146,175,1135,'/* =Show and hide */',1,'Administrador','20130103124740',0,0,1472,1145),(1147,176,1136,'',1,'Administrador','20130103134728',0,0,0,0),(1148,175,1137,'/* Window */',1,'Administrador','20130103134813',0,0,1501,1146),(1149,175,1138,'/* Window */',1,'Administrador','20130103134956',0,0,1507,1148),(1150,175,1139,'/* Window */',1,'Administrador','20130103135400',0,0,1513,1149),(1151,175,1140,'/* Window */',1,'Administrador','20130103135605',0,0,1513,1150),(1152,175,1141,'/* Window */',1,'Administrador','20130103135636',0,0,1515,1151),(1153,17,1142,'/* Referencias */',1,'Administrador','20130103165732',0,0,3622,1131),(1154,177,1143,'Página creada con «[[Category:OOBasicCode]] \'\'\'Site\'\'\':http://www.oooforum.org/forum/viewtopic.phtml?t=5057&highlight=frame+controller+model \'\'\'Autor\'\'\':DannyB  There are three objects that y...»',1,'Administrador','20130104230846',0,0,6232,0),(1155,177,1144,'',1,'Administrador','20130104230951',0,0,6228,1154),(1156,177,1145,'',1,'Administrador','20130104231027',0,0,6230,1155),(1157,178,1146,'Página creada con «[[Category:OOBasicCode]] site:  autor: DannyB 	 It is interesting to look at all the stuff in the API under....  com.sun.star.awt.*   It is possible to create new windows, ...»',1,'Administrador','20130104232309',0,0,15464,0),(1158,178,1147,'',1,'Administrador','20130104232351',0,0,15530,1157),(1159,168,1148,'/* Resolución */',1,'Administrador','20130110183736',0,0,6366,1126),(1160,14,1149,'/* Versión 1.1 */',1,'Administrador','20130205000812',0,0,24517,929),(1161,179,1150,'Página creada con «[[Category:VISTAS]] == Descripción == Vista de Cantidad de Componentes de un Producto == Composición == *[[TABLA:composicion]] *[[TABLA:productos]] == SQL == <pre> CREATE...»',1,'Administrador','20130205001141',0,0,845,0),(1162,14,1151,'/* Correcciones y Agregados */',1,'Administrador','20130205020015',0,0,24605,1160),(1163,13,1152,'',1,'Administrador','20130218171418',0,0,2009,1139),(1164,13,1153,'/* Notes */',1,'Administrador','20130218174902',0,0,2292,1163),(1165,13,1154,'/* Notes */',1,'Administrador','20130219222857',0,0,2511,1164),(1166,13,1155,'/* Acceso a \"OpenOffice\" Server para PyUNO */',1,'Administrador','20130219223018',0,0,2514,1165),(1167,13,1156,'/* Acceso a \"OpenOffice\" Server para PyUNO */',1,'Administrador','20130219223118',0,0,2524,1166),(1168,13,1157,'/* Acceso a \"OpenOffice\" Server para PyUNO */',1,'Administrador','20130219223353',0,0,2719,1167),(1169,13,1158,'/* Check listening Port OpenOffice Server */',1,'Administrador','20130219223442',0,0,2732,1168),(1170,13,1159,'/* KnowledgeBase */',1,'Administrador','20130222144138',0,0,2811,1169),(1171,13,1160,'/* PyUNO */',1,'Administrador','20130222144248',0,0,2811,1170),(1172,13,1161,'/* PyUNO */',1,'Administrador','20130222144621',0,0,2811,1171),(1173,13,1162,'/* PyUNO */',1,'Administrador','20130222145432',0,0,3050,1172),(1174,13,1163,'/* PyUNO */',1,'Administrador','20130222152126',0,0,3113,1173),(1175,13,1164,'/* PyUNO */',1,'Administrador','20130222152619',0,0,3212,1174),(1176,13,1165,'/* PyUNO */',1,'Administrador','20130222153409',0,0,3314,1175),(1177,13,1166,'/* Descripción Nuevo Productos */',1,'Administrador','20130225225721',0,0,3249,1176),(1178,14,1167,'/* Correcciones y Agregados */',1,'Administrador','20130227234148',0,0,24720,1162),(1179,180,1168,'Página creada con «[[Category:VISTAS]] == Descripción == Reservorio de productos sumando los generados a partir de los bocetos y que han conformado módulos. En el caso de la [[TABLA:modulos...»',1,'Administrador','20130228013619',0,0,1379,0),(1180,51,1169,'/* Productos */',1,'Administrador','20130228124854',0,0,25453,1087),(1181,51,1170,'/* Productos */',1,'Administrador','20130228125547',0,0,26047,1180),(1182,51,1171,'/* Spalnex Gestion */',1,'Administrador','20130228132623',0,0,25635,1181),(1183,181,1172,'',1,'Administrador','20130228135436',0,0,0,0),(1184,182,1173,'',1,'Administrador','20130228140133',0,0,0,0),(1185,183,1174,'',1,'Administrador','20130228140851',0,0,0,0),(1186,184,1175,'',1,'Administrador','20130228140904',0,0,0,0),(1187,185,1176,'',1,'Administrador','20130228141012',0,0,0,0),(1188,186,1177,'',1,'Administrador','20130228141103',0,0,0,0),(1189,51,1178,'/* Gestión de Productos */',1,'Administrador','20130228153505',0,0,26590,1182),(1190,187,1179,'',1,'Administrador','20130228170205',0,0,0,0),(1191,51,1180,'/* Bocetos */',1,'Administrador','20130228170533',0,0,26603,1189),(1192,51,1181,'/* Bocetos */',1,'Administrador','20130228172959',0,0,26603,1191),(1193,188,1182,'',1,'Administrador','20130228173115',0,0,0,0),(1194,51,1183,'/* Bocetos */',1,'Administrador','20130228173245',0,0,26602,1192),(1195,51,1184,'/* Bocetos */',1,'Administrador','20130228203033',0,0,26613,1194),(1196,51,1185,'/* Spanex Gestion */',1,'Administrador','20130228203925',0,0,27070,1195),(1197,51,1186,'/* Composición */',1,'Administrador','20130301015858',0,0,26844,1196),(1198,189,1187,'',1,'Administrador','20130301020054',0,0,0,0),(1199,14,1188,'/* Correcciones y Agregados */',1,'Administrador','20130304161604',0,0,24938,1178),(1200,59,1189,'/* 20121201 */',1,'Administrador','20130304161851',0,0,11349,1002),(1201,40,1190,'/* SQL */',1,'Administrador','20130305130406',0,0,1870,1078),(1202,14,1191,'/* Release 20121201 */',1,'Administrador','20130305130701',0,0,25218,1199),(1203,59,1192,'/* 20121201 */',1,'Administrador','20130307014657',0,0,11544,1200),(1204,190,1193,'Página creada con «[[Category:FORM]] == Descripción == Gestión de Datos de Productos. === Características === *Ingreso de registros **Cuando se confirma un código de producto, el mismo se...»',1,'Administrador','20130307171602',0,0,807,0),(1205,190,1194,'/* Composición */',1,'Administrador','20130307171721',0,0,808,1204),(1206,190,1195,'/* Características */',1,'Administrador','20130307224637',0,0,920,1205),(1207,190,1196,'/* Características */',1,'Administrador','20130307224737',0,0,920,1206),(1208,190,1197,'/* Composición */',1,'Administrador','20130307224810',0,0,943,1207),(1209,191,1198,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' SAS *\'\'\'Fecha:\'\'\' 20130311 *\'\'\'Soporte:\'\'\'  =====Incidente===== Cuando ingresa un código de producto ingual a uno ya exis...»',1,'Administrador','20130312013817',0,0,389,0),(1210,192,1199,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' SAS *\'\'\'Fecha:\'\'\' 20130308 *\'\'\'Soporte:\'\'\'  =====Incidente===== No deja posibilidad de retorno cuando equivoca el salto en...»',1,'Administrador','20130312014337',0,0,311,0),(1211,126,1200,'',1,'Administrador','20130314131915',0,0,146,940),(1212,127,1201,'',1,'Administrador','20130314134136',0,0,349,1060),(1213,193,1202,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' SAS *\'\'\'Fecha:\'\'\' 20130306 *\'\'\'Soporte:\'\'\' SAS =====Incidente===== Generar log de eliminación de productos =====WorkAroun...»',1,'Administrador','20130314134731',0,0,251,0),(1214,13,1203,'/* KeyTeam */',1,'Administrador','20130321094407',0,0,3266,1177),(1215,59,1204,'/* Actualización de TABLA:productos */',1,'Administrador','20130322181541',0,0,11697,1203),(1216,14,1205,'/* Correcciones y Agregados */',1,'Administrador','20130322181743',0,0,25448,1202),(1217,14,1206,'/* Correcciones y Agregados */',1,'Administrador','20130322181811',0,0,25449,1216),(1218,59,1207,'/* Actualización de TABLA:componentes */',1,'Administrador','20130322181851',0,0,11697,1215),(1219,5,1208,'/* Atributos */',1,'Administrador','20130322182036',0,0,1812,865),(1220,5,1209,'/* Reglas */',1,'Administrador','20130322182055',0,0,1816,1219),(1221,5,1210,'/* Relaciones */',1,'Administrador','20130322182227',0,0,1819,1220),(1222,5,1211,'/* Bitácora */',1,'Administrador','20130322182336',0,0,1965,1221),(1223,14,1212,'/* Correcciones y Agregados */',1,'Administrador','20130322224638',0,0,25548,1217),(1224,14,1213,'/* Correcciones y Agregados */',1,'Administrador','20130322224724',0,0,25553,1223),(1225,14,1214,'/* Correcciones y Agregados */',1,'Administrador','20130322224748',0,0,25555,1224),(1226,14,1215,'/* Correcciones y Agregados */',1,'Administrador','20130322224821',0,0,25556,1225),(1227,14,1216,'/* Correcciones y Agregados */',1,'Administrador','20130322233727',0,0,25647,1226),(1228,14,1217,'/* Correcciones y Agregados */',1,'Administrador','20130322233820',0,0,25646,1227),(1229,193,1202,'[[TKT:FZG.00010]] trasladada a [[TKT:FZG.000010]]: Error previo',1,'Administrador','20130410204147',1,0,251,1213),(1230,14,1218,'/* Problemas Conocidos */',1,'Administrador','20130410204227',0,0,25778,1228),(1231,194,1219,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' SAS *\'\'\'Fecha:\'\'\' 20130410 *\'\'\'Soporte:\'\'\' SAS =====Incidente===== Los algoritmos de comprobación de licencia parecen no ...»',1,'Administrador','20130410204403',0,0,300,0),(1232,13,1220,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130410235624',0,0,3307,1214),(1233,13,1221,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130410235744',0,0,3458,1232),(1234,195,1222,'Página creada con «[[Category:SQLCode]] *\'\'\'site\'\'\': cloudoffice.com.ar *\'\'\'autor\'\'\': SAS <pre> SELECT      \'Productos\' as DatosDe,     \'2013.03.21\' as Fecha,     COUNT(*) AS Registraciones F...»',1,'Administrador','20130410235926',0,0,1475,0),(1235,13,1223,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130410235941',0,0,3307,1233),(1236,196,1224,'Página creada con «Código SQL»',1,'Administrador','20130411003735',0,0,11,0),(1237,14,1225,'/* Correcciones y Agregados */',1,'Administrador','20130417200613',0,0,25998,1230),(1238,51,1226,'/* Bocetos / Módulos */',1,'Administrador','20130418125845',0,0,29387,1197),(1239,118,1227,'/* Bitácora */',1,'Administrador','20130419201344',0,0,1777,1097),(1240,118,1228,'/* SQL */',1,'Administrador','20130419203846',0,0,1974,1239),(1241,14,1229,'/* Correcciones y Agregados */',1,'Administrador','20130419203929',0,0,26164,1237),(1242,59,1230,'/* Actualización de TABLA:productos */',1,'Administrador','20130423130514',0,0,11763,1218),(1243,14,1231,'/* Correcciones y Agregados */',1,'Administrador','20130423132334',0,0,26241,1241),(1244,127,1232,'/* Estructuras de Trabajo */',1,'Administrador','20130508004722',0,0,347,1212),(1245,197,1233,'Página creada con «[[Category:MACRO]] == Descripción == == Biblioteca == [[LIBR:Spanex.B]] == Composición == == Código == < small>< pre> Sub ResetFiltroProductoFORMPresupuesto()  oFormProd...»',1,'Administrador','20130508005411',0,0,1137,0),(1246,197,1234,'/* Código */',1,'Administrador','20130508005443',0,0,1134,1245),(1247,127,1235,'/* Estructuras de Trabajo */',1,'Administrador','20130508005613',0,0,348,1244),(1248,198,1236,'Página creada con «Listado de Macros»',1,'Administrador','20130508005636',0,0,17,0),(1249,114,1237,'',1,'Administrador','20130508022135',0,0,2899,804),(1250,85,1238,'',1,'Administrador','20130508022218',0,0,3924,625),(1251,94,1239,'',1,'Administrador','20130508022242',0,0,5219,696),(1252,121,1240,'',1,'Administrador','20130508022302',0,0,6626,854),(1253,78,1241,'',1,'Administrador','20130508022318',0,0,1915,579),(1254,77,1242,'',1,'Administrador','20130508022457',0,0,2718,576),(1255,113,1243,'',1,'Administrador','20130508022652',0,0,1149,797),(1256,98,1244,'',1,'Administrador','20130508022717',0,0,2061,748),(1257,53,1245,'',1,'Administrador','20130508022741',0,0,235,425),(1258,13,1246,'/* Acceso a \"OpenOffice\" Server para PyUNO */',1,'Administrador','20130508215302',0,0,3579,1235),(1259,56,1247,'/* Uso */',1,'Administrador','20130515113542',0,0,896,1009),(1260,56,1248,'/* Uso */',1,'Administrador','20130515113617',0,0,895,1259),(1261,2,1249,'/* Soporte-Bitacora */',1,'Administrador','20130530212917',0,0,642,1092),(1262,199,1250,'Página creada con «;En el acceso directo a la aplicación despliega inmediatamente un error sin desplegar el cuadro de dialogo de acceso a la DB :Puede deberse a una nueva instalación del so...»',1,'Administrador','20130530213313',0,0,265,0),(1263,199,1251,'',1,'Administrador','20130530213359',0,0,327,1262),(1264,2,1252,'/* Soporte-Bitacora */',1,'Administrador','20130530213416',0,0,643,1261),(1265,200,1253,'Página creada con «[[Category:TKT]] ====Data TKT==== *\'\'\'Usuario:\'\'\' LKT *\'\'\'Fecha:\'\'\' 20130625 *\'\'\'Soporte:\'\'\' SAS =====Incidente===== * Paños Fijos: Activar códigos adicionales para paño...»',1,'Administrador','20130625185546',0,0,600,0),(1266,13,1254,'/* KeyTeam */',1,'Administrador','20130804154324',0,0,3606,1258),(1267,13,1255,'/* KeyTeam */',1,'Administrador','20130804154442',0,0,3639,1266),(1268,13,1256,'/* Ideas */',1,'Administrador','20130804160513',0,0,3667,1267),(1269,13,1257,'/* Ideas */',1,'Administrador','20130804160627',0,0,3705,1268),(1270,13,1258,'/* KeyTeam */',1,'Administrador','20130805190501',0,0,3741,1269),(1271,59,1259,'/* Actualización de TABLA:composicion */',1,'Administrador','20130814151800',0,0,11850,1242),(1272,14,1260,'/* Correcciones y Agregados */',1,'Administrador','20130814151931',0,0,26302,1243),(1273,14,1261,'/* Correcciones y Agregados */',1,'Administrador','20130815183227',0,0,26355,1272),(1274,201,1262,'Página creada con «[[Category:TABLAS]] == Descripción == Información de sucesos sobre presupuestos / clientes == Composición == Tabla Plana == SQL == <pre> CREATE  TABLE `fzggestion`.`bita...»',1,'Administrador','20130815183617',0,0,577,0),(1275,201,1263,'',1,'Administrador','20130815183935',0,0,710,1274),(1276,201,1264,'/* Bitácora */',1,'Administrador','20130818025240',0,0,772,1275),(1277,202,1265,'Página creada con «[[Category:TRIG]] == Descripción == Agrega información para \"sellar\" la información con fecha. == Lanzador == Alta == Composición == [[TABLA:bitacoracrm]] == SQL == <pr...»',1,'Administrador','20130818025735',0,0,432,0),(1278,2,1266,'/* Developing */',1,'Administrador','20130824144311',0,0,657,1264),(1279,2,1267,'/* Developing */',1,'Administrador','20130824144359',0,0,657,1278),(1280,203,1268,'Página creada con «[[Abertec]] [[Centuriones]] [[FazzGlass]]»',1,'Administrador','20130824144434',0,0,41,0),(1281,203,1269,'',1,'Administrador','20130824144556',0,0,92,1280),(1282,204,1270,'Página creada con «== Sitio == == Contactos == == Aplicaciones == *Spanex == Soporte == *[[Software|SoftwareFazzGlass]] *Hardware *Telefonía»',1,'Administrador','20130824145044',0,0,122,0),(1283,204,1271,'/* Soporte */',1,'Administrador','20130824152403',0,0,122,1282),(1284,205,1272,'Página creada con «====CorreoElectrónico==== lavidriera@hotmail.com PSW:clau23521156 fazzglass@hotmail.com PSW:clau23521156»',1,'Administrador','20130824152551',0,0,105,0),(1285,205,1273,'',1,'Administrador','20130824152614',0,0,111,1284),(1286,205,1274,'/* CorreoElectrónico */',1,'Administrador','20130824152642',0,0,111,1285),(1287,204,1275,'/* Contactos */',1,'Administrador','20130824152932',0,0,206,1283),(1288,204,1276,'/* Sitio */',1,'Administrador','20130824153123',0,0,300,1287),(1289,204,1277,'/* Sitio */',1,'Administrador','20130825143908',0,0,300,1288),(1290,204,1278,'',1,'Administrador','20130825143948',0,0,302,1289),(1291,205,1279,'/* CorreoElectrónico */',1,'Administrador','20130825144254',0,0,166,1286),(1292,205,1280,'/* TV */',1,'Administrador','20130825144317',0,0,174,1291),(1293,206,1281,'Página creada con «*[[Contacto]] *[[Apuntes]] **[[Apuntes Planeamiento Estratégico|Planeamiento Estratégico]]»',1,'Administrador','20130825144656',0,0,92,0),(1294,207,1282,'Página creada con «====Programa de Reuniones==== *Plenaria **Reciben el Programa de Reuniones **Plan Estratégico ***Frente a las estrategias, cuales son los planes de acción **Organigrama»',1,'Administrador','20130825150615',0,0,170,0),(1295,208,1283,'Página creada con «====Contacto==== *Ana María Vieiro *:Vallejos 3128 3ºB (Cuenca y Helguera) *:M:011.5061.5897»',1,'Administrador','20130825150810',0,0,94,0),(1296,59,1284,'',1,'Administrador','20130909232135',0,0,11891,1271),(1297,59,1285,'',1,'Administrador','20130909232324',0,0,11907,1296),(1298,209,1286,'Página creada con «===20121201=== ====Alta de esquema Módulos==== *Alta de [[TABLA:moduloscab]] *Alta de [[TABLA:modulosdet]] *Alta de [[TABLA:modulossbs]] *Alta de [[TABLA:bocetoscab]] *Alt...»',1,'Administrador','20130909232420',0,0,2174,0),(1299,59,1287,'',1,'Administrador','20130909232448',0,0,9731,1297),(1300,59,1288,'',1,'Administrador','20130909232538',0,0,9766,1299),(1301,13,1289,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130910014531',0,0,3763,1270),(1302,13,1290,'/* OOBasic / LOBasic / StarOffice Basic */',1,'Administrador','20130910014618',0,0,3741,1301),(1303,210,1291,'Página creada con «[[Category:SQLCode]] *\'\'\'site\'\'\': cloudoffice.com.ar *\'\'\'autor\'\'\': SAS <pre> mysqldiff --server1=sas_admin:cocolino@sas-desktop.local --server2=sas_admin:cocolino@sas-dskco...»',1,'Administrador','20130910014809',0,0,325,0),(1304,210,1292,'',1,'Administrador','20130910014836',0,0,317,1303),(1305,209,1293,'',1,'Administrador','20130912191419',0,0,2885,1298),(1306,211,1294,'Página creada con «[[Category:PROC]] == Descripción == Copia Módulo Boceto == Biblioteca ==  == Composición == == Código == < small>< pre> DELIMITER $$  CREATE DEFINER=`sas_admin`@`%` PRO...»',1,'Administrador','20130913015442',0,0,2384,0),(1307,211,1295,'/* Código */',1,'Administrador','20130913015509',0,0,2381,1306),(1308,212,1296,'Página creada con «[[Category:PROC]] == Descripción == Copia de Módulo en proceso de generación de Módulos == Biblioteca ==  == Composición == [[TABLA:moduloscab]] [[TABLA:modulosdet]] =...»',1,'Administrador','20130917152049',0,0,2391,0),(1309,209,1297,'/* 20130912 */',1,'Administrador','20130917153429',0,0,3028,1305),(1310,13,1298,'/* KeyTeam */',1,'Administrador','20130921180359',0,0,3775,1302),(1311,209,1299,'/* 20130912 */',1,'Administrador','20130924195424',0,0,3040,1309),(1312,209,1300,'/* 20130912 */',1,'Administrador','20130924195527',0,0,3055,1311),(1313,201,1301,'/* Triggers */',1,'Administrador','20130924201951',0,0,773,1276),(1314,213,1302,'Página creada con «[[Category:TABLAS]] == Descripción == == Composición == == Estructura == <pre> </pre> == SQL == <pre> delimiter $$  CREATE TABLE `navtipolog` (   `AtributoID` int(11) NOT...»',1,'Administrador','20130924202117',0,0,445,0),(1315,209,1303,'/* 20130912 */',1,'Administrador','20130924202446',0,0,3085,1312),(1316,209,1304,'/* 20130912 */',1,'Administrador','20130924203115',0,0,3237,1315),(1317,209,1305,'/* 20130912 */',1,'Administrador','20130924203342',0,0,3237,1316),(1318,2,1306,'/* Deployment */',1,'Administrador','20130926162133',0,0,678,1279),(1319,14,1261,'[[GRA: Releases]] trasladada a [[Spanex:Releases]]',1,'Administrador','20130926162221',1,0,26355,1273),(1320,104,769,'[[SpanexDraw]] trasladada a [[Spanex:Draw]]',1,'Administrador','20130926162524',1,0,58,772),(1321,2,1307,'/* Deployment */',1,'Administrador','20130926164122',0,0,713,1318),(1322,2,1308,'/* Gestión Retail Aberturas (Spanex) */',1,'Administrador','20130926164145',0,0,694,1321),(1323,2,1309,'/* Deployment */',1,'Administrador','20130926165229',0,0,716,1322),(1324,214,1310,'Página creada con «*Copiar el documento .odb *Cambiar el usuario de la base de datos *Cambiar la constante [[oCheckEstadoLicencia]] a True *Grabar documento .odb *Cambiar a nivel de Sistema O...»',1,'Administrador','20130926165412',0,0,191,0),(1325,2,1311,'/* Gestión Retail Aberturas (Spanex) */',1,'Administrador','20130926165434',0,0,499,1323),(1326,2,1312,'/* Deployment */',1,'Administrador','20130926165736',0,0,560,1325),(1327,51,1226,'[[WikiUserSpanex]] trasladada a [[Spanex:UserWiki]]',1,'Administrador','20130926165831',1,0,29387,1238),(1328,2,1313,'/* Deployment */',1,'Administrador','20130926165856',0,0,554,1326),(1329,2,1314,'/* Gestión Retail Aberturas (Spanex) */',1,'Administrador','20130926165928',0,0,501,1328),(1330,25,338,'[[GRA: PreciosABT]] trasladada a [[Spanex:PreciosABT]]',1,'Administrador','20130926170259',1,0,18187,339),(1331,17,1142,'[[GRA: Relaciones]] trasladada a [[Spanex:Relaciones]]',1,'Administrador','20130926170854',1,0,3622,1153),(1332,2,1315,'',1,'Administrador','20130926171230',0,0,541,1329),(1333,40,1316,'/* Bitácora */',1,'Administrador','20130926203014',0,0,1916,1201),(1334,40,1317,'',1,'Administrador','20130926204744',0,0,1974,1333),(1335,40,1318,'/* SQL */',1,'Administrador','20130926210312',0,0,2091,1334),(1336,40,1319,'/* Estructura */',1,'Administrador','20130926210423',0,0,2217,1335),(1337,40,1320,'',1,'Administrador','20130927031940',0,0,2340,1336),(1338,14,1321,'/* Release 20121201 */',1,'Administrador','20131008011235',0,0,26445,1319),(1339,14,1322,'/* Correcciones y Agregados */',1,'Administrador','20131008011608',0,0,26596,1338),(1340,215,1323,'Página creada con «[[Category:FORM]] == Descripción == Consulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se...»',1,'Administrador','20131008012232',0,0,681,0),(1341,215,1324,'',1,'Administrador','20131008012446',0,0,683,1340),(1342,215,1325,'',1,'Administrador','20131008014705',0,0,681,1341),(1343,215,1326,'/* Bitácora */',1,'Administrador','20131008014737',0,0,681,1342),(1344,215,1327,'/* Bitácora */',1,'Administrador','20131008014758',0,0,680,1343),(1345,215,1328,'/* Bitácora */',1,'Administrador','20131008015843',0,0,688,1344),(1346,215,1329,'/* Bitácora */',1,'Administrador','20131008020610',0,0,684,1345),(1347,215,1330,'/* Bitácora */',1,'Administrador','20131008021044',0,0,763,1346),(1348,215,1331,'/* Código Relacionado */',1,'Administrador','20131008021813',0,0,860,1347),(1349,215,1332,'/* Composición */',1,'Administrador','20131008022001',0,0,882,1348),(1350,215,1333,'/* Composición */',1,'Administrador','20131008124217',0,0,1129,1349),(1351,215,1334,'/* Composición */',1,'Administrador','20131008141502',0,0,1327,1350),(1352,215,1335,'',1,'Administrador','20131008144113',0,0,3369,1351),(1353,215,1336,'/* Bitácora */',1,'Administrador','20131008144206',0,0,3380,1352),(1354,215,1337,'',1,'Administrador','20131008182206',0,0,3424,1353),(1355,14,1338,'/* Correcciones y Agregados */',1,'Administrador','20131008213613',0,0,26645,1339),(1356,215,1339,'/* Bitácora */',1,'Administrador','20131008213629',0,0,3408,1354),(1357,14,1340,'/* Correcciones y Agregados */',1,'Administrador','20131008213749',0,0,26597,1355),(1358,14,1341,'/* Correcciones y Agregados */',1,'Administrador','20131008214040',0,0,26696,1357),(1359,100,1342,'/* Composición */',1,'Administrador','20131008215145',0,0,3373,756),(1360,100,1343,'',1,'Administrador','20131008215429',0,0,4711,1359),(1361,100,1344,'',1,'Administrador','20131008223744',0,0,4053,1360),(1362,100,1345,'',1,'Administrador','20131008223930',0,0,4025,1361),(1363,100,1346,'/* Bitácora.20131008 */',1,'Administrador','20131008230005',0,0,4449,1362),(1364,100,1347,'',1,'Administrador','20131008230333',0,0,4449,1363),(1365,100,1348,'/* Bitácora */',1,'Administrador','20131008230539',0,0,4451,1364),(1366,100,1349,'',1,'Administrador','20131008230806',0,0,4508,1365),(1367,215,1350,'',1,'Administrador','20131008231131',0,0,3484,1356),(1368,100,1351,'',1,'Administrador','20131008231321',0,0,4526,1366),(1369,14,1352,'/* Correcciones y Agregados */',1,'Administrador','20131008231724',0,0,27054,1358),(1370,14,1353,'/* Correcciones y Agregados */',1,'Administrador','20131008231849',0,0,27054,1369),(1371,216,1354,'Página creada con «[[Category:FORM]] == Descripción == Detalle de Eventos y sucesos registrables para ampliar la información histórica de los clientes == Composición == *FORM:BitacoraCRM....»',1,'Administrador','20131008232909',0,0,782,0),(1372,216,1355,'/* Bitácora */',1,'Administrador','20131009020418',0,0,1139,1371),(1373,216,1356,'/* Composición */',1,'Administrador','20131009020437',0,0,1154,1372),(1374,14,1357,'/* Correcciones y Agregados */',1,'Administrador','20131009020725',0,0,27225,1370),(1375,217,1358,'Página creada con «[[Category:MACRO]] == Descripción == Define el filtro para el Formulario correspondiente de acuerdo al atributo genérico txtFiltro y le aplica la serie de atributos en fo...»',1,'Administrador','20131009021140',0,0,1286,0),(1376,217,1359,'/* Biblioteca */',1,'Administrador','20131009021205',0,0,1296,1375),(1377,218,1360,'Página creada con «[[Category:MACRO]] == Descripción == Define el filtro para el Formulario correspondiente de acuerdo al atributo genérico txtFiltro y le aplica la serie de atributos en fo...»',1,'Administrador','20131009021548',0,0,1482,0),(1378,216,1361,'/* BitácoraCRM.20131008 */',1,'Administrador','20131009021714',0,0,1155,1373),(1379,14,1362,'/* Correcciones y Agregados */',1,'Administrador','20131009021823',0,0,27221,1374),(1380,14,1363,'/* Correcciones y Agregados */',1,'Administrador','20131017210100',0,0,27635,1379),(1381,216,1364,'/* Bitácora */',1,'Administrador','20131017212306',0,0,1847,1378),(1382,216,1365,'',1,'Administrador','20131017212922',0,0,1891,1381),(1383,219,1366,'Página creada con «[[Category:MACRO]] == Descripción == Activa filtro sobre ActiveCommand en formularios == Biblioteca == *[[LIBR:FazzGlassMcr]] == Composición == *[[TABLA:bitacoracrm]] *[[...»',1,'Administrador','20131017214847',0,0,1819,0),(1384,220,1367,'Página creada con «[[Category:MACRO]] == Descripción == Desactiva la posibilidad de insertar registros == Biblioteca == [[LIBR:SpanexB]] == Composición == == Código == <small><pre> Sub Eve...»',1,'Administrador','20131017221408',0,0,457,0),(1385,221,1368,'Página creada con «[[Category:MACRO]] == Descripción == Reactiva la posibilidad de insertar registros  == Biblioteca == [[LIBR:SpanexB]] == Composición == == Código == <small><pre> Sub Eve...»',1,'Administrador','20131017223542',0,0,418,0),(1386,14,1369,'/* Correcciones y Agregados */',1,'Administrador','20131018204647',0,0,27859,1380),(1387,215,1370,'/* Bitácora */',1,'Administrador','20131018210514',0,0,4872,1367),(1388,215,1371,'',1,'Administrador','20131018210831',0,0,5045,1387),(1389,14,1372,'/* Correcciones y Agregados */',1,'Administrador','20131018215216',0,0,27944,1386),(1390,14,1373,'/* Correcciones y Agregados */',1,'Administrador','20131018215416',0,0,28002,1389),(1391,14,1374,'/* Correcciones y Agregados */',1,'Administrador','20131018222804',0,0,28217,1390),(1392,14,1375,'/* Correcciones y Agregados */',1,'Administrador','20131018222845',0,0,28217,1391),(1393,222,1376,'Página creada con «[[Category:VISTAS]] == Descripción == Esta vista ha sido desafectada incialmente ya que se trabaja bajo un esquema de lista única y modificable. == Composición == *[[TAB...»',1,'Administrador','20131018223611',0,0,469,0),(1394,222,1377,'/* Estructura */',1,'Administrador','20131018223627',0,0,471,1393),(1395,222,1378,'/* Descripción */',1,'Administrador','20131018223653',0,0,478,1394),(1396,14,1379,'/* Correcciones y Agregados */',1,'Administrador','20131018223834',0,0,28257,1392),(1397,14,1380,'/* Correcciones y Agregados */',1,'Administrador','20131018224429',0,0,28536,1396),(1398,14,1381,'/* Correcciones y Agregados */',1,'Administrador','20131021192101',0,0,28549,1397),(1399,223,1382,'Página creada con «[[Category:FORM]] == Descripción == Menú de lanzamiento de la aplicación == Composición == == Estructura == == Código Relacionado == *[[MACRO:MenuBoton]] *[[MACRO:Menu...»',1,'Administrador','20131021193625',0,0,305,0),(1400,223,1383,'/* Bitácora */',1,'Administrador','20131021193819',0,0,544,1399),(1401,224,1384,'Página creada con «[[Category:MACRO]] == Descripción == Ejecuta el proceso core del menú principal.  Consta de 4 vectores: #Menu #:Screener del menú. Tiene que ser igual al objeto Listbox ...»',1,'Administrador','20131021195433',0,0,5971,0),(1402,224,1385,'/* Biblioteca */',1,'Administrador','20131021195529',0,0,5990,1401),(1403,224,1386,'/* Bitácora */',1,'Administrador','20131021195757',0,0,6149,1402),(1404,225,1387,'Página creada con «[[Category:TABLAS]] == Descripción == Tabla temporal de reposo de texto para query == Composición == == SQL == <pre> CREATE  TABLE `fzggestion`.`filtroqry` (   `FiltroQRY...»',1,'Administrador','20131022151206',0,0,359,0),(1405,14,1388,'/* Correcciones y Agregados */',1,'Administrador','20131022151328',0,0,28604,1398),(1406,14,1389,'/* Correcciones y Agregados */',1,'Administrador','20131029194836',0,0,28766,1405),(1407,51,1390,'/* Presupuestos */',1,'Administrador','20131102162854',0,0,30291,1327),(1408,209,1391,'/* 20130912 */',1,'Administrador','20131102163345',0,0,3554,1317),(1409,209,1392,'/* 20131102 */',1,'Administrador','20131102163518',0,0,3739,1408),(1410,209,1393,'/* Actualización de TABLA:vidquoten1 */',1,'Administrador','20131105194645',0,0,3767,1409),(1411,209,1394,'/* 20121029 */',1,'Administrador','20131105194815',0,0,3766,1410),(1412,209,1395,'/* Baja de Tablas y Vistas sin uso */',1,'Administrador','20131105194934',0,0,3793,1411),(1413,209,1396,'/* Actualización de TABLA:productos */',1,'Administrador','20131105195508',0,0,3819,1412),(1414,209,1397,'/* Actualización de TABLA:productos */',1,'Administrador','20131105195703',0,0,3847,1413),(1415,209,1398,'/* Actualización de RPRT:Presupuestos */',1,'Administrador','20131105195733',0,0,3874,1414),(1416,209,1399,'/* Actualización de TABLA:composicion */',1,'Administrador','20131105200025',0,0,3900,1415),(1417,209,1400,'/* Elimina de VISTA:preciosvigentes */',1,'Administrador','20131105200122',0,0,3927,1416),(1418,209,1401,'/* 20130912 */',1,'Administrador','20131105202053',0,0,4084,1417),(1419,209,1402,'/* 20130912 */',1,'Administrador','20131105203613',0,0,4136,1418),(1420,209,1403,'/* 20130912 */',1,'Administrador','20131105205011',0,0,4396,1419),(1421,209,1404,'/* Cambio de valor en TRIG:productos.Alta Producto */',1,'Administrador','20131105205033',0,0,4422,1420),(1422,209,1405,'/* Alta de esquema Módulos */',1,'Administrador','20131105205229',0,0,4579,1421),(1423,14,1406,'/* Correcciones y Agregados */',1,'Administrador','20131111125930',0,0,28924,1406),(1424,226,1407,'Página creada con «[[Category:MACRO]] == Descripción == Cambia el estado del campo Código de Producto para imposibilitar la modificación al tiempo de la gestión en el [[FORM:Productos]] =...»',1,'Administrador','20131111130749',0,0,315,0),(1425,226,1408,'/* Código */',1,'Administrador','20131111130913',0,0,749,1424),(1426,226,1409,'/* Código */',1,'Administrador','20131111131128',0,0,731,1425),(1427,227,1410,'Página creada con «[[Category:MACRO]] == Descripción == Valida la acción de ingresar un producto dentro de la aplicación. == Biblioteca == *[[LIBR:FazzGlassMcr]] == Composición == *[[TABL...»',1,'Administrador','20131111133328',0,0,1960,0),(1428,227,1411,'/* Composición */',1,'Administrador','20131111133348',0,0,1959,1427),(1429,228,1412,'Página creada con «[[Category:MACRO]] == Descripción == Función de confirmación de eliminación de registro de [[TABLA:productos]]. Tiene asociado por medio de [[TRIG:productos.Baja_Produc...»',1,'Administrador','20131111151819',0,0,1337,0),(1430,228,1413,'/* Uso */',1,'Administrador','20131111152436',0,0,1357,1429),(1431,190,1414,'/* Bitácora */',1,'Administrador','20131111153114',0,0,1180,1208),(1432,190,1415,'/* Composición */',1,'Administrador','20131111153141',0,0,1180,1431),(1433,229,1416,'Página creada con «[[Category:FORM]] == Descripción == Formulario resumen del [[FORM:Contactos]] para alta exclusiva de registraciones de clientes a partir del [[FORM:Presupuesto]] == Compos...»',1,'Administrador','20131111161505',0,0,332,0),(1434,229,1417,'',1,'Administrador','20131111161519',0,0,353,1433),(1435,230,1418,'Página creada con «[[Category:MACRO]] == Descripción == Rescata la acción ejecutada en el [[FORM:Aux:000002]] == Biblioteca == *[[LIBR:SpanexB]] == Composición == == Código == <small><pre...»',1,'Administrador','20131111170404',0,0,372,0),(1436,231,1419,'Página creada con «[[Category:MACRO]] == Descripción == Intercepta la acción sobre el registro gestionado en [[FORM:Aux:000002]] y refresca los ListBoxes asociados a [[TABLA:contactos]] den...»',1,'Administrador','20131111170741',0,0,904,0),(1437,232,1420,'Página creada con «[[Category:FORM]] == Descripción == Gestión de Productos / Elementos de una composición con el despliegue de toda la relación por Producto.  == Composición == *[[VISTA...»',1,'Administrador','20131112002652',0,0,433,0),(1438,233,1421,'Página creada con «[[Category:MACRO]] == Descripción == Elimina contenido del campo de filtro en los FORM que utilizan filtros estándar == Biblioteca == *[[LIBR:FazzGlassMcr]] == Composici...»',1,'Administrador','20131112003003',0,0,680,0),(1439,14,1422,'/* Correcciones y Agregados */',1,'Administrador','20131112003023',0,0,29051,1423),(1440,232,1423,'/* Bitácora */',1,'Administrador','20131112003153',0,0,591,1437),(1441,14,1424,'/* Correcciones y Agregados */',1,'Administrador','20131205113925',0,0,29165,1439),(1442,14,1425,'/* Correcciones y Agregados */',1,'Administrador','20131205162014',0,0,29201,1441),(1443,214,1426,'',1,'Administrador','20131217121726',0,0,290,1324),(1444,14,1427,'/* Correcciones y Agregados */',1,'Administrador','20131217183719',0,0,29337,1442),(1445,14,1428,'/* Correcciones y Agregados */',1,'Administrador','20131217184022',0,0,29376,1444),(1446,14,1429,'/* Correcciones y Agregados */',1,'Administrador','20131218002907',0,0,29474,1445),(1447,14,1430,'/* Correcciones y Agregados */',1,'Administrador','20131218202139',0,0,29757,1446),(1448,14,1431,'/* Correcciones y Agregados */',1,'Administrador','20131218222939',0,0,29847,1447),(1449,2,1432,'/* Deployment */',1,'Administrador','20131230231630',0,0,557,1332),(1450,234,1433,'Página creada con «IntraNet WirelessIDs ID-MA SMM.GFM-b8:5e:7b:7f:56:64(1) ALS.GFM-b8:5e:7b:80:0b:ec(2) SAS.LP1-88:9f:fa:86:a3:7c(3) SAS.LP2-00:15:af:a6:1e:e4(4) SAS.NE5-d4:5d:42:0f:96:4e(5) ...»',1,'Administrador','20131231003937',0,0,310,0),(1451,234,1434,'',1,'Administrador','20131231004230',0,0,338,1450),(1452,59,1435,'/* Actualizaciones Historicas */',1,'Administrador','20140101212946',0,0,14346,1300),(1453,209,1436,'Página reemplazada por «===20140101===\n====Modificacion en [[TABLA:wscontrol]]====\nALTER TABLE `fzggestion`.`wscontrol` ADD COLUMN `wskey4` VARCHAR(30) NULL  AFTER `wskey3` , ADD COLUMN `wske...»',1,'Administrador','20140101213137',0,0,200,1422),(1454,154,1437,'/* Descripción */',1,'Administrador','20140210131638',0,0,2668,995),(1455,154,1438,'/* Descripción */',1,'Administrador','20140210132244',0,0,2690,1454),(1456,154,1439,'/* SQL */',1,'Administrador','20140210133739',0,0,2765,1455),(1457,154,1440,'/* Ingreso de Registro en Tabla */',1,'Administrador','20140210134040',0,0,2971,1456),(1458,154,1441,'/* Ingreso de Registro en Tabla */',1,'Administrador','20140210134458',0,0,2989,1457),(1459,234,1442,'/* WirelessIDs */',1,'Administrador','20140215224456',0,0,338,1451),(1460,51,1443,'/* Referencia Rápida */',1,'Administrador','20140220151335',0,0,32062,1407),(1461,209,1444,'/* 20140101 */',1,'Administrador','20140220174527',0,0,504,1453),(1462,209,1445,'/* 20140220 */',1,'Administrador','20140220180058',0,0,689,1461),(1463,14,1446,'/* Versión 1.1 */',1,'Administrador','20140220180359',0,0,29937,1448),(1464,14,1447,'/* Release 20140220 */',1,'Administrador','20140220180543',0,0,30005,1463),(1465,235,1448,'Página creada con «[[Category:TABLAS]] == Descripción == Tabla auxiliar para administrar la relación entre Empresas, Clientes Mayoristas, Usuarios y su correspondiente logo.  *id:Auto *1:Co...»',1,'Administrador','20140220181141',0,0,626,0);
/*!40000 ALTER TABLE `peg_revision` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_querycachetwo`
--

DROP TABLE IF EXISTS `pvt_querycachetwo`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_querycachetwo` (
  `qcc_type` varbinary(32) NOT NULL,
  `qcc_value` int(10) unsigned NOT NULL default '0',
  `qcc_namespace` int(11) NOT NULL default '0',
  `qcc_title` varbinary(255) NOT NULL default '',
  `qcc_namespacetwo` int(11) NOT NULL default '0',
  `qcc_titletwo` varbinary(255) NOT NULL default '',
  KEY `qcc_type` (`qcc_type`,`qcc_value`),
  KEY `qcc_title` (`qcc_type`,`qcc_namespace`,`qcc_title`),
  KEY `qcc_titletwo` (`qcc_type`,`qcc_namespacetwo`,`qcc_titletwo`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_querycachetwo`
--

LOCK TABLES `pvt_querycachetwo` WRITE;
/*!40000 ALTER TABLE `pvt_querycachetwo` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_querycachetwo` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_user`
--

DROP TABLE IF EXISTS `fzg_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_user` (
  `user_id` int(10) unsigned NOT NULL auto_increment,
  `user_name` varbinary(255) NOT NULL default '',
  `user_real_name` varbinary(255) NOT NULL default '',
  `user_password` tinyblob NOT NULL,
  `user_newpassword` tinyblob NOT NULL,
  `user_newpass_time` binary(14) default NULL,
  `user_email` tinyblob NOT NULL,
  `user_options` blob NOT NULL,
  `user_touched` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `user_token` binary(32) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `user_email_authenticated` binary(14) default NULL,
  `user_email_token` binary(32) default NULL,
  `user_email_token_expires` binary(14) default NULL,
  `user_registration` binary(14) default NULL,
  `user_editcount` int(11) default NULL,
  PRIMARY KEY  (`user_id`),
  UNIQUE KEY `user_name` (`user_name`),
  KEY `user_email_token` (`user_email_token`),
  KEY `user_email` (`user_email`(50))
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_user`
--

LOCK TABLES `fzg_user` WRITE;
/*!40000 ALTER TABLE `fzg_user` DISABLE KEYS */;
INSERT INTO `fzg_user` VALUES (1,'Administrador','',':B:29efb671:5822599a62c2ea13df1f9b4ca5920861','',NULL,'sergio_sosa@hotmail.com','','20120827210204','9c810864ec74e1f7571681fa7dc25801',NULL,'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',NULL,'20120112132733',32),(2,'Fzgusr','Usuario FazzGlass',':B:e04d2a61:4874697a80fa4a54fae0d4a0de6c3f9e','',NULL,'fazzglass@hotmail.com','','20120330175502','9a9096781034341cc429e0a4d8866615',NULL,'485b261316972d5d8c54da99a2f80575','20120220220751','20120213220751',0);
/*!40000 ALTER TABLE `fzg_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_l10n_cache`
--

DROP TABLE IF EXISTS `peg_l10n_cache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_l10n_cache` (
  `lc_lang` varbinary(32) NOT NULL,
  `lc_key` varbinary(255) NOT NULL,
  `lc_value` mediumblob NOT NULL,
  KEY `lc_lang_key` (`lc_lang`,`lc_key`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_l10n_cache`
--

LOCK TABLES `peg_l10n_cache` WRITE;
/*!40000 ALTER TABLE `peg_l10n_cache` DISABLE KEYS */;
INSERT INTO `peg_l10n_cache` VALUES ('en','fallback','b:0;'),('en','namespaceNames','a:17:{i:-2;s:5:\"Media\";i:-1;s:7:\"Special\";i:0;s:0:\"\";i:1;s:4:\"Talk\";i:2;s:4:\"User\";i:3;s:9:\"User_talk\";i:5;s:7:\"$1_talk\";i:6;s:4:\"File\";i:7;s:9:\"File_talk\";i:8;s:9:\"MediaWiki\";i:9;s:14:\"MediaWiki_talk\";i:10;s:8:\"Template\";i:11;s:13:\"Template_talk\";i:12;s:4:\"Help\";i:13;s:9:\"Help_talk\";i:14;s:8:\"Category\";i:15;s:13:\"Category_talk\";}'),('en','bookstoreList','a:4:{s:6:\"AddALL\";s:56:\"http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN\";s:9:\"PriceSCAN\";s:53:\"http://www.pricescan.com/books/bookDetail.asp?isbn=$1\";s:14:\"Barnes & Noble\";s:67:\"http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1\";s:10:\"Amazon.com\";s:41:\"http://www.amazon.com/exec/obidos/ISBN=$1\";}'),('en','magicWords','a:150:{s:8:\"redirect\";a:2:{i:0;i:0;i:1;s:9:\"#REDIRECT\";}s:5:\"notoc\";a:2:{i:0;i:0;i:1;s:9:\"__NOTOC__\";}s:9:\"nogallery\";a:2:{i:0;i:0;i:1;s:13:\"__NOGALLERY__\";}s:8:\"forcetoc\";a:2:{i:0;i:0;i:1;s:12:\"__FORCETOC__\";}s:3:\"toc\";a:2:{i:0;i:0;i:1;s:7:\"__TOC__\";}s:13:\"noeditsection\";a:2:{i:0;i:0;i:1;s:17:\"__NOEDITSECTION__\";}s:8:\"noheader\";a:2:{i:0;i:0;i:1;s:12:\"__NOHEADER__\";}s:12:\"currentmonth\";a:3:{i:0;i:1;i:1;s:12:\"CURRENTMONTH\";i:2;s:13:\"CURRENTMONTH2\";}s:13:\"currentmonth1\";a:2:{i:0;i:1;i:1;s:13:\"CURRENTMONTH1\";}s:16:\"currentmonthname\";a:2:{i:0;i:1;i:1;s:16:\"CURRENTMONTHNAME\";}s:19:\"currentmonthnamegen\";a:2:{i:0;i:1;i:1;s:19:\"CURRENTMONTHNAMEGEN\";}s:18:\"currentmonthabbrev\";a:2:{i:0;i:1;i:1;s:18:\"CURRENTMONTHABBREV\";}s:10:\"currentday\";a:2:{i:0;i:1;i:1;s:10:\"CURRENTDAY\";}s:11:\"currentday2\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTDAY2\";}s:14:\"currentdayname\";a:2:{i:0;i:1;i:1;s:14:\"CURRENTDAYNAME\";}s:11:\"currentyear\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTYEAR\";}s:11:\"currenttime\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTTIME\";}s:11:\"currenthour\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTHOUR\";}s:10:\"localmonth\";a:3:{i:0;i:1;i:1;s:10:\"LOCALMONTH\";i:2;s:11:\"LOCALMONTH2\";}s:11:\"localmonth1\";a:2:{i:0;i:1;i:1;s:11:\"LOCALMONTH1\";}s:14:\"localmonthname\";a:2:{i:0;i:1;i:1;s:14:\"LOCALMONTHNAME\";}s:17:\"localmonthnamegen\";a:2:{i:0;i:1;i:1;s:17:\"LOCALMONTHNAMEGEN\";}s:16:\"localmonthabbrev\";a:2:{i:0;i:1;i:1;s:16:\"LOCALMONTHABBREV\";}s:8:\"localday\";a:2:{i:0;i:1;i:1;s:8:\"LOCALDAY\";}s:9:\"localday2\";a:2:{i:0;i:1;i:1;s:9:\"LOCALDAY2\";}s:12:\"localdayname\";a:2:{i:0;i:1;i:1;s:12:\"LOCALDAYNAME\";}s:9:\"localyear\";a:2:{i:0;i:1;i:1;s:9:\"LOCALYEAR\";}s:9:\"localtime\";a:2:{i:0;i:1;i:1;s:9:\"LOCALTIME\";}s:9:\"localhour\";a:2:{i:0;i:1;i:1;s:9:\"LOCALHOUR\";}s:13:\"numberofpages\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFPAGES\";}s:16:\"numberofarticles\";a:2:{i:0;i:1;i:1;s:16:\"NUMBEROFARTICLES\";}s:13:\"numberoffiles\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFFILES\";}s:13:\"numberofusers\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFUSERS\";}s:19:\"numberofactiveusers\";a:2:{i:0;i:1;i:1;s:19:\"NUMBEROFACTIVEUSERS\";}s:13:\"numberofedits\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFEDITS\";}s:13:\"numberofviews\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFVIEWS\";}s:8:\"pagename\";a:2:{i:0;i:1;i:1;s:8:\"PAGENAME\";}s:9:\"pagenamee\";a:2:{i:0;i:1;i:1;s:9:\"PAGENAMEE\";}s:9:\"namespace\";a:2:{i:0;i:1;i:1;s:9:\"NAMESPACE\";}s:10:\"namespacee\";a:2:{i:0;i:1;i:1;s:10:\"NAMESPACEE\";}s:9:\"talkspace\";a:2:{i:0;i:1;i:1;s:9:\"TALKSPACE\";}s:10:\"talkspacee\";a:2:{i:0;i:1;i:1;s:10:\"TALKSPACEE\";}s:12:\"subjectspace\";a:3:{i:0;i:1;i:1;s:12:\"SUBJECTSPACE\";i:2;s:12:\"ARTICLESPACE\";}s:13:\"subjectspacee\";a:3:{i:0;i:1;i:1;s:13:\"SUBJECTSPACEE\";i:2;s:13:\"ARTICLESPACEE\";}s:12:\"fullpagename\";a:2:{i:0;i:1;i:1;s:12:\"FULLPAGENAME\";}s:13:\"fullpagenamee\";a:2:{i:0;i:1;i:1;s:13:\"FULLPAGENAMEE\";}s:11:\"subpagename\";a:2:{i:0;i:1;i:1;s:11:\"SUBPAGENAME\";}s:12:\"subpagenamee\";a:2:{i:0;i:1;i:1;s:12:\"SUBPAGENAMEE\";}s:12:\"basepagename\";a:2:{i:0;i:1;i:1;s:12:\"BASEPAGENAME\";}s:13:\"basepagenamee\";a:2:{i:0;i:1;i:1;s:13:\"BASEPAGENAMEE\";}s:12:\"talkpagename\";a:2:{i:0;i:1;i:1;s:12:\"TALKPAGENAME\";}s:13:\"talkpagenamee\";a:2:{i:0;i:1;i:1;s:13:\"TALKPAGENAMEE\";}s:15:\"subjectpagename\";a:3:{i:0;i:1;i:1;s:15:\"SUBJECTPAGENAME\";i:2;s:15:\"ARTICLEPAGENAME\";}s:16:\"subjectpagenamee\";a:3:{i:0;i:1;i:1;s:16:\"SUBJECTPAGENAMEE\";i:2;s:16:\"ARTICLEPAGENAMEE\";}s:3:\"msg\";a:2:{i:0;i:0;i:1;s:4:\"MSG:\";}s:5:\"subst\";a:2:{i:0;i:0;i:1;s:6:\"SUBST:\";}s:9:\"safesubst\";a:2:{i:0;i:0;i:1;s:10:\"SAFESUBST:\";}s:5:\"msgnw\";a:2:{i:0;i:0;i:1;s:6:\"MSGNW:\";}s:13:\"img_thumbnail\";a:3:{i:0;i:1;i:1;s:9:\"thumbnail\";i:2;s:5:\"thumb\";}s:15:\"img_manualthumb\";a:3:{i:0;i:1;i:1;s:12:\"thumbnail=$1\";i:2;s:8:\"thumb=$1\";}s:9:\"img_right\";a:2:{i:0;i:1;i:1;s:5:\"right\";}s:8:\"img_left\";a:2:{i:0;i:1;i:1;s:4:\"left\";}s:8:\"img_none\";a:2:{i:0;i:1;i:1;s:4:\"none\";}s:9:\"img_width\";a:2:{i:0;i:1;i:1;s:4:\"$1px\";}s:10:\"img_center\";a:3:{i:0;i:1;i:1;s:6:\"center\";i:2;s:6:\"centre\";}s:10:\"img_framed\";a:4:{i:0;i:1;i:1;s:6:\"framed\";i:2;s:8:\"enframed\";i:3;s:5:\"frame\";}s:13:\"img_frameless\";a:2:{i:0;i:1;i:1;s:9:\"frameless\";}s:8:\"img_page\";a:3:{i:0;i:1;i:1;s:7:\"page=$1\";i:2;s:7:\"page $1\";}s:11:\"img_upright\";a:4:{i:0;i:1;i:1;s:7:\"upright\";i:2;s:10:\"upright=$1\";i:3;s:10:\"upright $1\";}s:10:\"img_border\";a:2:{i:0;i:1;i:1;s:6:\"border\";}s:12:\"img_baseline\";a:2:{i:0;i:1;i:1;s:8:\"baseline\";}s:7:\"img_sub\";a:2:{i:0;i:1;i:1;s:3:\"sub\";}s:9:\"img_super\";a:3:{i:0;i:1;i:1;s:5:\"super\";i:2;s:3:\"sup\";}s:7:\"img_top\";a:2:{i:0;i:1;i:1;s:3:\"top\";}s:12:\"img_text_top\";a:2:{i:0;i:1;i:1;s:8:\"text-top\";}s:10:\"img_middle\";a:2:{i:0;i:1;i:1;s:6:\"middle\";}s:10:\"img_bottom\";a:2:{i:0;i:1;i:1;s:6:\"bottom\";}s:15:\"img_text_bottom\";a:2:{i:0;i:1;i:1;s:11:\"text-bottom\";}s:8:\"img_link\";a:2:{i:0;i:1;i:1;s:7:\"link=$1\";}s:7:\"img_alt\";a:2:{i:0;i:1;i:1;s:6:\"alt=$1\";}s:3:\"int\";a:2:{i:0;i:0;i:1;s:4:\"INT:\";}s:8:\"sitename\";a:2:{i:0;i:1;i:1;s:8:\"SITENAME\";}s:2:\"ns\";a:2:{i:0;i:0;i:1;s:3:\"NS:\";}s:3:\"nse\";a:2:{i:0;i:0;i:1;s:4:\"NSE:\";}s:8:\"localurl\";a:2:{i:0;i:0;i:1;s:9:\"LOCALURL:\";}s:9:\"localurle\";a:2:{i:0;i:0;i:1;s:10:\"LOCALURLE:\";}s:11:\"articlepath\";a:2:{i:0;i:0;i:1;s:11:\"ARTICLEPATH\";}s:6:\"server\";a:2:{i:0;i:0;i:1;s:6:\"SERVER\";}s:10:\"servername\";a:2:{i:0;i:0;i:1;s:10:\"SERVERNAME\";}s:10:\"scriptpath\";a:2:{i:0;i:0;i:1;s:10:\"SCRIPTPATH\";}s:9:\"stylepath\";a:2:{i:0;i:0;i:1;s:9:\"STYLEPATH\";}s:7:\"grammar\";a:2:{i:0;i:0;i:1;s:8:\"GRAMMAR:\";}s:6:\"gender\";a:2:{i:0;i:0;i:1;s:7:\"GENDER:\";}s:14:\"notitleconvert\";a:3:{i:0;i:0;i:1;s:18:\"__NOTITLECONVERT__\";i:2;s:8:\"__NOTC__\";}s:16:\"nocontentconvert\";a:3:{i:0;i:0;i:1;s:20:\"__NOCONTENTCONVERT__\";i:2;s:8:\"__NOCC__\";}s:11:\"currentweek\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTWEEK\";}s:10:\"currentdow\";a:2:{i:0;i:1;i:1;s:10:\"CURRENTDOW\";}s:9:\"localweek\";a:2:{i:0;i:1;i:1;s:9:\"LOCALWEEK\";}s:8:\"localdow\";a:2:{i:0;i:1;i:1;s:8:\"LOCALDOW\";}s:10:\"revisionid\";a:2:{i:0;i:1;i:1;s:10:\"REVISIONID\";}s:11:\"revisionday\";a:2:{i:0;i:1;i:1;s:11:\"REVISIONDAY\";}s:12:\"revisionday2\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONDAY2\";}s:13:\"revisionmonth\";a:2:{i:0;i:1;i:1;s:13:\"REVISIONMONTH\";}s:14:\"revisionmonth1\";a:2:{i:0;i:1;i:1;s:14:\"REVISIONMONTH1\";}s:12:\"revisionyear\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONYEAR\";}s:17:\"revisiontimestamp\";a:2:{i:0;i:1;i:1;s:17:\"REVISIONTIMESTAMP\";}s:12:\"revisionuser\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONUSER\";}s:6:\"plural\";a:2:{i:0;i:0;i:1;s:7:\"PLURAL:\";}s:7:\"fullurl\";a:2:{i:0;i:0;i:1;s:8:\"FULLURL:\";}s:8:\"fullurle\";a:2:{i:0;i:0;i:1;s:9:\"FULLURLE:\";}s:12:\"canonicalurl\";a:2:{i:0;i:0;i:1;s:13:\"CANONICALURL:\";}s:13:\"canonicalurle\";a:2:{i:0;i:0;i:1;s:14:\"CANONICALURLE:\";}s:7:\"lcfirst\";a:2:{i:0;i:0;i:1;s:8:\"LCFIRST:\";}s:7:\"ucfirst\";a:2:{i:0;i:0;i:1;s:8:\"UCFIRST:\";}s:2:\"lc\";a:2:{i:0;i:0;i:1;s:3:\"LC:\";}s:2:\"uc\";a:2:{i:0;i:0;i:1;s:3:\"UC:\";}s:3:\"raw\";a:2:{i:0;i:0;i:1;s:4:\"RAW:\";}s:12:\"displaytitle\";a:2:{i:0;i:1;i:1;s:12:\"DISPLAYTITLE\";}s:9:\"rawsuffix\";a:2:{i:0;i:1;i:1;s:1:\"R\";}s:14:\"newsectionlink\";a:2:{i:0;i:1;i:1;s:18:\"__NEWSECTIONLINK__\";}s:16:\"nonewsectionlink\";a:2:{i:0;i:1;i:1;s:20:\"__NONEWSECTIONLINK__\";}s:14:\"currentversion\";a:2:{i:0;i:1;i:1;s:14:\"CURRENTVERSION\";}s:9:\"urlencode\";a:2:{i:0;i:0;i:1;s:10:\"URLENCODE:\";}s:12:\"anchorencode\";a:2:{i:0;i:0;i:1;s:12:\"ANCHORENCODE\";}s:16:\"currenttimestamp\";a:2:{i:0;i:1;i:1;s:16:\"CURRENTTIMESTAMP\";}s:14:\"localtimestamp\";a:2:{i:0;i:1;i:1;s:14:\"LOCALTIMESTAMP\";}s:13:\"directionmark\";a:3:{i:0;i:1;i:1;s:13:\"DIRECTIONMARK\";i:2;s:7:\"DIRMARK\";}s:8:\"language\";a:2:{i:0;i:0;i:1;s:10:\"#LANGUAGE:\";}s:15:\"contentlanguage\";a:3:{i:0;i:1;i:1;s:15:\"CONTENTLANGUAGE\";i:2;s:11:\"CONTENTLANG\";}s:16:\"pagesinnamespace\";a:3:{i:0;i:1;i:1;s:17:\"PAGESINNAMESPACE:\";i:2;s:10:\"PAGESINNS:\";}s:14:\"numberofadmins\";a:2:{i:0;i:1;i:1;s:14:\"NUMBEROFADMINS\";}s:9:\"formatnum\";a:2:{i:0;i:0;i:1;s:9:\"FORMATNUM\";}s:7:\"padleft\";a:2:{i:0;i:0;i:1;s:7:\"PADLEFT\";}s:8:\"padright\";a:2:{i:0;i:0;i:1;s:8:\"PADRIGHT\";}s:7:\"special\";a:2:{i:0;i:0;i:1;s:7:\"special\";}s:11:\"defaultsort\";a:4:{i:0;i:1;i:1;s:12:\"DEFAULTSORT:\";i:2;s:15:\"DEFAULTSORTKEY:\";i:3;s:20:\"DEFAULTCATEGORYSORT:\";}s:8:\"filepath\";a:2:{i:0;i:0;i:1;s:9:\"FILEPATH:\";}s:3:\"tag\";a:2:{i:0;i:0;i:1;s:3:\"tag\";}s:9:\"hiddencat\";a:2:{i:0;i:1;i:1;s:13:\"__HIDDENCAT__\";}s:15:\"pagesincategory\";a:3:{i:0;i:1;i:1;s:15:\"PAGESINCATEGORY\";i:2;s:10:\"PAGESINCAT\";}s:8:\"pagesize\";a:2:{i:0;i:1;i:1;s:8:\"PAGESIZE\";}s:5:\"index\";a:2:{i:0;i:1;i:1;s:9:\"__INDEX__\";}s:7:\"noindex\";a:2:{i:0;i:1;i:1;s:11:\"__NOINDEX__\";}s:13:\"numberingroup\";a:3:{i:0;i:1;i:1;s:13:\"NUMBERINGROUP\";i:2;s:10:\"NUMINGROUP\";}s:14:\"staticredirect\";a:2:{i:0;i:1;i:1;s:18:\"__STATICREDIRECT__\";}s:15:\"protectionlevel\";a:2:{i:0;i:1;i:1;s:15:\"PROTECTIONLEVEL\";}s:10:\"formatdate\";a:3:{i:0;i:0;i:1;s:10:\"formatdate\";i:2;s:10:\"dateformat\";}s:8:\"url_path\";a:2:{i:0;i:0;i:1;s:4:\"PATH\";}s:8:\"url_wiki\";a:2:{i:0;i:0;i:1;s:4:\"WIKI\";}s:9:\"url_query\";a:2:{i:0;i:0;i:1;s:5:\"QUERY\";}}'),('en','messages:svgedit-editbutton-edit','s:12:\"Edit drawing\";'),('en','messages:svgedit-summary-label','s:12:\"Edit summary\";'),('en','messages:svgedit-summary-default','s:26:\"/* Modified in svg-edit */\";'),('en','messages:svgedit-editor-save-close','s:14:\"Save and close\";'),('en','messages:svgedit-editor-close','s:6:\"Cancel\";'),('en','messages:svgedit-desc','s:85:\"In-browser editing of SVG drawings with [http://code.google.com/p/svg-edit/ SVG-Edit]\";'),('en','messages:svgedit-edit-tab','s:12:\"Edit drawing\";'),('en','messages:svgedit-edit-tab-tooltip','s:45:\"You can edit this SVG drawing in your browser\";'),('en','messages:svgedit-toolbar-insert','s:11:\"SVG drawing\";'),('en','messages:sidebar','s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";'),('en','messages:tog-underline','s:17:\"Link underlining:\";'),('en','messages:tog-highlightbroken','s:114:\"Format broken links <a href=\"\" class=\"new\">like this</a> (alternative: Like this<a href=\"\" class=\"internal\">?</a>)\";'),('en','messages:tog-justify','s:18:\"Justify paragraphs\";'),('en','messages:tog-hideminor','s:34:\"Hide minor edits in recent changes\";'),('en','messages:tog-hidepatrolled','s:38:\"Hide patrolled edits in recent changes\";'),('en','messages:tog-newpageshidepatrolled','s:39:\"Hide patrolled pages from new page list\";'),('en','messages:tog-extendwatchlist','s:62:\"Expand watchlist to show all changes, not just the most recent\";'),('en','messages:tog-usenewrc','s:49:\"Use enhanced recent changes (requires JavaScript)\";'),('en','messages:tog-numberheadings','s:20:\"Auto-number headings\";'),('en','messages:tog-showtoolbar','s:39:\"Show edit toolbar (requires JavaScript)\";'),('en','messages:tog-editondblclick','s:48:\"Edit pages on double click (requires JavaScript)\";'),('en','messages:tog-editsection','s:39:\"Enable section editing via [edit] links\";'),('en','messages:tog-editsectiononrightclick','s:80:\"Enable section editing by right clicking on section titles (requires JavaScript)\";'),('en','messages:tog-showtoc','s:60:\"Show table of contents (for pages with more than 3 headings)\";'),('en','messages:tog-rememberpassword','s:78:\"Remember my login on this browser (for a maximum of $1 {{PLURAL:$1|day|days}})\";'),('en','messages:tog-watchcreations','s:34:\"Add pages I create to my watchlist\";'),('en','messages:tog-watchdefault','s:32:\"Add pages I edit to my watchlist\";'),('en','messages:tog-watchmoves','s:32:\"Add pages I move to my watchlist\";'),('en','messages:tog-watchdeletion','s:34:\"Add pages I delete to my watchlist\";'),('en','messages:tog-minordefault','s:31:\"Mark all edits minor by default\";'),('en','messages:tog-previewontop','s:28:\"Show preview before edit box\";'),('en','messages:tog-previewonfirst','s:26:\"Show preview on first edit\";'),('en','messages:tog-nocache','s:28:\"Disable browser page caching\";'),('en','messages:tog-enotifwatchlistpages','s:48:\"E-mail me when a page on my watchlist is changed\";'),('en','messages:tog-enotifusertalkpages','s:43:\"E-mail me when my user talk page is changed\";'),('en','messages:tog-enotifminoredits','s:39:\"E-mail me also for minor edits of pages\";'),('en','messages:tog-enotifrevealaddr','s:48:\"Reveal my e-mail address in notification e-mails\";'),('en','messages:tog-shownumberswatching','s:33:\"Show the number of watching users\";'),('en','messages:tog-oldsig','s:19:\"Existing signature:\";'),('en','messages:tog-fancysig','s:55:\"Treat signature as wikitext (without an automatic link)\";'),('en','messages:tog-externaleditor','s:160:\"Use external editor by default (for experts only, needs special settings on your computer. [//www.mediawiki.org/wiki/Manual:External_editors More information.])\";'),('en','messages:tog-externaldiff','s:158:\"Use external diff by default (for experts only, needs special settings on your computer. [//www.mediawiki.org/wiki/Manual:External_editors More information.])\";'),('en','messages:tog-showjumplinks','s:36:\"Enable \"jump to\" accessibility links\";'),('en','messages:tog-uselivepreview','s:53:\"Use live preview (requires JavaScript) (experimental)\";'),('en','messages:tog-forceeditsummary','s:44:\"Prompt me when entering a blank edit summary\";'),('en','messages:tog-watchlisthideown','s:32:\"Hide my edits from the watchlist\";'),('en','messages:tog-watchlisthidebots','s:33:\"Hide bot edits from the watchlist\";'),('en','messages:tog-watchlisthideminor','s:35:\"Hide minor edits from the watchlist\";'),('en','messages:tog-watchlisthideliu','s:48:\"Hide edits by logged in users from the watchlist\";'),('en','messages:tog-watchlisthideanons','s:48:\"Hide edits by anonymous users from the watchlist\";'),('en','messages:tog-watchlisthidepatrolled','s:39:\"Hide patrolled edits from the watchlist\";'),('en','messages:tog-nolangconversion','s:27:\"Disable variants conversion\";'),('en','messages:tog-ccmeonemails','s:47:\"Send me copies of e-mails I send to other users\";'),('en','messages:tog-diffonly','s:36:\"Do not show page content below diffs\";'),('en','messages:tog-showhiddencats','s:22:\"Show hidden categories\";'),('en','messages:tog-noconvertlink','s:29:\"Disable link title conversion\";'),('en','messages:tog-norollbackdiff','s:37:\"Omit diff after performing a rollback\";'),('en','messages:underline-always','s:6:\"Always\";'),('en','messages:underline-never','s:5:\"Never\";'),('en','messages:underline-default','s:15:\"Browser default\";'),('en','messages:editfont-style','s:21:\"Edit area font style:\";'),('en','messages:editfont-default','s:15:\"Browser default\";'),('en','messages:editfont-monospace','s:15:\"Monospaced font\";'),('en','messages:editfont-sansserif','s:15:\"Sans-serif font\";'),('en','messages:editfont-serif','s:10:\"Serif font\";'),('en','messages:sunday','s:6:\"Sunday\";'),('en','messages:monday','s:6:\"Monday\";'),('en','messages:tuesday','s:7:\"Tuesday\";'),('en','messages:wednesday','s:9:\"Wednesday\";'),('en','messages:thursday','s:8:\"Thursday\";'),('en','messages:friday','s:6:\"Friday\";'),('en','messages:saturday','s:8:\"Saturday\";'),('en','messages:sun','s:3:\"Sun\";'),('en','messages:mon','s:3:\"Mon\";'),('en','messages:tue','s:3:\"Tue\";'),('en','messages:wed','s:3:\"Wed\";'),('en','messages:thu','s:3:\"Thu\";'),('en','messages:fri','s:3:\"Fri\";'),('en','messages:sat','s:3:\"Sat\";'),('en','messages:january','s:7:\"January\";'),('en','messages:february','s:8:\"February\";'),('en','messages:march','s:5:\"March\";'),('en','messages:april','s:5:\"April\";'),('en','messages:may_long','s:3:\"May\";'),('en','messages:june','s:4:\"June\";'),('en','messages:july','s:4:\"July\";'),('en','messages:august','s:6:\"August\";'),('en','messages:september','s:9:\"September\";'),('en','messages:october','s:7:\"October\";'),('en','messages:november','s:8:\"November\";'),('en','messages:december','s:8:\"December\";'),('en','messages:january-gen','s:7:\"January\";'),('en','messages:february-gen','s:8:\"February\";'),('en','messages:march-gen','s:5:\"March\";'),('en','messages:april-gen','s:5:\"April\";'),('en','messages:may-gen','s:3:\"May\";'),('en','messages:june-gen','s:4:\"June\";'),('en','messages:july-gen','s:4:\"July\";'),('en','messages:august-gen','s:6:\"August\";'),('en','messages:september-gen','s:9:\"September\";'),('en','messages:october-gen','s:7:\"October\";'),('en','messages:november-gen','s:8:\"November\";'),('en','messages:december-gen','s:8:\"December\";'),('en','messages:jan','s:3:\"Jan\";'),('en','messages:feb','s:3:\"Feb\";'),('en','messages:mar','s:3:\"Mar\";'),('en','messages:apr','s:3:\"Apr\";'),('en','messages:may','s:3:\"May\";'),('en','messages:jun','s:3:\"Jun\";'),('en','messages:jul','s:3:\"Jul\";'),('en','messages:aug','s:3:\"Aug\";'),('en','messages:sep','s:3:\"Sep\";'),('en','messages:oct','s:3:\"Oct\";'),('en','messages:nov','s:3:\"Nov\";'),('en','messages:dec','s:3:\"Dec\";'),('en','messages:pagecategories','s:33:\"{{PLURAL:$1|Category|Categories}}\";'),('en','messages:pagecategorieslink','s:18:\"Special:Categories\";'),('en','messages:category_header','s:22:\"Pages in category \"$1\"\";'),('en','messages:subcategories','s:13:\"Subcategories\";'),('en','messages:category-media-header','s:22:\"Media in category \"$1\"\";'),('en','messages:category-empty','s:55:\"\'\'This category currently contains no pages or media.\'\'\";'),('en','messages:hidden-categories','s:47:\"{{PLURAL:$1|Hidden category|Hidden categories}}\";'),('en','messages:hidden-category-category','s:17:\"Hidden categories\";'),('en','messages:category-subcat-count','s:156:\"{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}\";'),('en','messages:category-subcat-count-limited','s:75:\"This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}.\";'),('en','messages:category-article-count','s:145:\"{{PLURAL:$2|This category contains only the following page.|The following {{PLURAL:$1|page is|$1 pages are}} in this category, out of $2 total.}}\";'),('en','messages:category-article-count-limited','s:73:\"The following {{PLURAL:$1|page is|$1 pages are}} in the current category.\";'),('en','messages:category-file-count','s:145:\"{{PLURAL:$2|This category contains only the following file.|The following {{PLURAL:$1|file is|$1 files are}} in this category, out of $2 total.}}\";'),('en','messages:category-file-count-limited','s:73:\"The following {{PLURAL:$1|file is|$1 files are}} in the current category.\";'),('en','messages:listingcontinuesabbrev','s:5:\"cont.\";'),('en','messages:index-category','s:13:\"Indexed pages\";'),('en','messages:noindex-category','s:15:\"Noindexed pages\";'),('en','messages:broken-file-category','s:28:\"Pages with broken file links\";'),('en','messages:linkprefix','s:31:\"/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD\";'),('en','messages:about','s:5:\"About\";'),('en','messages:article','s:12:\"Content page\";'),('en','messages:newwindow','s:21:\"(opens in new window)\";'),('en','messages:cancel','s:6:\"Cancel\";'),('en','messages:moredotdotdot','s:7:\"More...\";'),('en','messages:mypage','s:7:\"My page\";'),('en','messages:mytalk','s:7:\"My talk\";'),('en','messages:anontalk','s:24:\"Talk for this IP address\";'),('en','messages:navigation','s:10:\"Navigation\";'),('en','messages:and','s:8:\"&#32;and\";'),('en','messages:qbfind','s:4:\"Find\";'),('en','messages:qbbrowse','s:6:\"Browse\";'),('en','messages:qbedit','s:4:\"Edit\";'),('en','messages:qbpageoptions','s:9:\"This page\";'),('en','messages:qbpageinfo','s:7:\"Context\";'),('en','messages:qbmyoptions','s:8:\"My pages\";'),('en','messages:qbspecialpages','s:13:\"Special pages\";'),('en','messages:faq','s:3:\"FAQ\";'),('en','messages:faqpage','s:11:\"Project:FAQ\";'),('en','messages:sitetitle','s:12:\"{{SITENAME}}\";'),('en','messages:sitesubtitle','s:0:\"\";'),('en','messages:vector-action-addsection','s:9:\"Add topic\";'),('en','messages:vector-action-delete','s:6:\"Delete\";'),('en','messages:vector-action-move','s:4:\"Move\";'),('en','messages:vector-action-protect','s:7:\"Protect\";'),('en','messages:vector-action-undelete','s:8:\"Undelete\";'),('en','messages:vector-action-unprotect','s:17:\"Change protection\";'),('en','messages:vector-simplesearch-preference','s:53:\"Enable enhanced search suggestions (Vector skin only)\";'),('en','messages:vector-view-create','s:6:\"Create\";'),('en','messages:vector-view-edit','s:4:\"Edit\";'),('en','messages:vector-view-history','s:12:\"View history\";'),('en','messages:vector-view-view','s:4:\"Read\";'),('en','messages:vector-view-viewsource','s:11:\"View source\";'),('en','messages:actions','s:7:\"Actions\";'),('en','messages:namespaces','s:10:\"Namespaces\";'),('en','messages:variants','s:8:\"Variants\";'),('en','messages:errorpagetitle','s:5:\"Error\";'),('en','messages:returnto','s:13:\"Return to $1.\";'),('en','messages:tagline','s:17:\"From {{SITENAME}}\";'),('en','messages:help','s:4:\"Help\";'),('en','messages:search','s:6:\"Search\";'),('en','messages:searchbutton','s:6:\"Search\";'),('en','messages:go','s:2:\"Go\";'),('en','messages:searcharticle','s:2:\"Go\";'),('en','messages:history','s:12:\"Page history\";'),('en','messages:history_short','s:7:\"History\";'),('en','messages:updatedmarker','s:27:\"updated since my last visit\";'),('en','messages:printableversion','s:17:\"Printable version\";'),('en','messages:permalink','s:14:\"Permanent link\";'),('en','messages:print','s:5:\"Print\";'),('en','messages:view','s:4:\"View\";'),('en','messages:edit','s:4:\"Edit\";'),('en','messages:create','s:6:\"Create\";'),('en','messages:editthispage','s:14:\"Edit this page\";'),('en','messages:create-this-page','s:16:\"Create this page\";'),('en','messages:delete','s:6:\"Delete\";'),('en','messages:deletethispage','s:16:\"Delete this page\";'),('en','messages:undelete_short','s:40:\"Undelete {{PLURAL:$1|one edit|$1 edits}}\";'),('en','messages:viewdeleted_short','s:52:\"View {{PLURAL:$1|one deleted edit|$1 deleted edits}}\";'),('en','messages:protect','s:7:\"Protect\";'),('en','messages:protect_change','s:6:\"change\";'),('en','messages:protectthispage','s:17:\"Protect this page\";'),('en','messages:unprotect','s:17:\"Change protection\";'),('en','messages:unprotectthispage','s:30:\"Change protection of this page\";'),('en','messages:newpage','s:8:\"New page\";'),('en','messages:talkpage','s:17:\"Discuss this page\";'),('en','messages:talkpagelinktext','s:4:\"Talk\";'),('en','messages:specialpage','s:12:\"Special page\";'),('en','messages:personaltools','s:14:\"Personal tools\";'),('en','messages:postcomment','s:11:\"New section\";'),('en','messages:addsection','s:1:\"+\";'),('en','messages:articlepage','s:17:\"View content page\";'),('en','messages:talk','s:10:\"Discussion\";'),('en','messages:views','s:5:\"Views\";'),('en','messages:toolbox','s:7:\"Toolbox\";'),('en','messages:userpage','s:14:\"View user page\";'),('en','messages:projectpage','s:17:\"View project page\";'),('en','messages:imagepage','s:14:\"View file page\";'),('en','messages:mediawikipage','s:17:\"View message page\";'),('en','messages:templatepage','s:18:\"View template page\";'),('en','messages:viewhelppage','s:14:\"View help page\";'),('en','messages:categorypage','s:18:\"View category page\";'),('en','messages:viewtalkpage','s:15:\"View discussion\";'),('en','messages:otherlanguages','s:18:\"In other languages\";'),('en','messages:redirectedfrom','s:20:\"(Redirected from $1)\";'),('en','messages:redirectpagesub','s:13:\"Redirect page\";'),('en','messages:talkpageheader','s:1:\"-\";'),('en','messages:lastmodifiedat','s:41:\"This page was last modified on $1, at $2.\";'),('en','messages:viewcount','s:56:\"This page has been accessed {{PLURAL:$1|once|$1 times}}.\";'),('en','messages:protectedpage','s:14:\"Protected page\";'),('en','messages:jumpto','s:8:\"Jump to:\";'),('en','messages:jumptonavigation','s:10:\"navigation\";'),('en','messages:jumptosearch','s:6:\"search\";'),('en','messages:view-pool-error','s:159:\"Sorry, the servers are overloaded at the moment.\nToo many users are trying to view this page.\nPlease wait a while before you try to access this page again.\n\n$1\";'),('en','messages:pool-timeout','s:28:\"Timeout waiting for the lock\";'),('en','messages:pool-queuefull','s:18:\"Pool queue is full\";'),('en','messages:pool-errorunknown','s:13:\"Unknown error\";'),('en','messages:aboutsite','s:18:\"About {{SITENAME}}\";'),('en','messages:aboutpage','s:13:\"Project:About\";'),('en','messages:copyright','s:30:\"Content is available under $1.\";'),('en','messages:copyrightpage','s:25:\"{{ns:project}}:Copyrights\";'),('en','messages:currentevents','s:14:\"Current events\";'),('en','messages:currentevents-url','s:22:\"Project:Current events\";'),('en','messages:disclaimers','s:11:\"Disclaimers\";'),('en','messages:disclaimerpage','s:26:\"Project:General disclaimer\";'),('en','messages:edithelp','s:12:\"Editing help\";'),('en','messages:edithelppage','s:12:\"Help:Editing\";'),('en','messages:helppage','s:13:\"Help:Contents\";'),('en','messages:mainpage','s:9:\"Main Page\";'),('en','messages:mainpage-description','s:9:\"Main page\";'),('en','messages:policy-url','s:14:\"Project:Policy\";'),('en','messages:portal','s:16:\"Community portal\";'),('en','messages:portal-url','s:24:\"Project:Community portal\";'),('en','messages:privacy','s:14:\"Privacy policy\";'),('en','messages:privacypage','s:22:\"Project:Privacy policy\";'),('en','messages:badaccess','s:16:\"Permission error\";'),('en','messages:badaccess-group0','s:61:\"You are not allowed to execute the action you have requested.\";'),('en','messages:badaccess-groups','s:99:\"The action you have requested is limited to users in {{PLURAL:$2|the group|one of the groups}}: $1.\";'),('en','messages:versionrequired','s:32:\"Version $1 of MediaWiki required\";'),('en','messages:versionrequiredtext','s:91:\"Version $1 of MediaWiki is required to use this page.\nSee [[Special:Version|version page]].\";'),('en','messages:ok','s:2:\"OK\";'),('en','messages:pagetitle','s:17:\"$1 - {{SITENAME}}\";'),('en','messages:pagetitle-view-mainpage','s:12:\"{{SITENAME}}\";'),('en','messages:retrievedfrom','s:19:\"Retrieved from \"$1\"\";'),('en','messages:youhavenewmessages','s:17:\"You have $1 ($2).\";'),('en','messages:newmessageslink','s:12:\"new messages\";'),('en','messages:newmessagesdifflink','s:11:\"last change\";'),('en','messages:youhavenewmessagesmulti','s:27:\"You have new messages on $1\";'),('en','messages:newtalkseparator','s:6:\",&#32;\";'),('en','messages:editsection','s:4:\"edit\";'),('en','messages:editsection-brackets','s:4:\"[$1]\";'),('en','messages:editold','s:4:\"edit\";'),('en','messages:viewsourceold','s:11:\"view source\";'),('en','messages:editlink','s:4:\"edit\";'),('en','messages:viewsourcelink','s:11:\"view source\";'),('en','messages:editsectionhint','s:16:\"Edit section: $1\";'),('en','messages:toc','s:8:\"Contents\";'),('en','messages:showtoc','s:4:\"show\";'),('en','messages:hidetoc','s:4:\"hide\";'),('en','messages:collapsible-collapse','s:8:\"Collapse\";'),('en','messages:collapsible-expand','s:6:\"Expand\";'),('en','messages:thisisdeleted','s:19:\"View or restore $1?\";'),('en','messages:viewdeleted','s:8:\"View $1?\";'),('en','messages:restorelink','s:47:\"{{PLURAL:$1|one deleted edit|$1 deleted edits}}\";'),('en','messages:feedlinks','s:5:\"Feed:\";'),('en','messages:feed-invalid','s:31:\"Invalid subscription feed type.\";'),('en','messages:feed-unavailable','s:35:\"Syndication feeds are not available\";'),('en','messages:site-rss-feed','s:11:\"$1 RSS feed\";'),('en','messages:site-atom-feed','s:12:\"$1 Atom feed\";'),('en','messages:page-rss-feed','s:13:\"\"$1\" RSS feed\";'),('en','messages:page-atom-feed','s:14:\"\"$1\" Atom feed\";'),('en','messages:feed-atom','s:4:\"Atom\";'),('en','messages:feed-rss','s:3:\"RSS\";'),('en','messages:sitenotice','s:1:\"-\";'),('en','messages:anonnotice','s:1:\"-\";'),('en','messages:newsectionheaderdefaultlevel','s:8:\"== $1 ==\";'),('en','messages:red-link-title','s:24:\"$1 (page does not exist)\";'),('en','messages:sort-descending','s:15:\"Sort descending\";'),('en','messages:sort-ascending','s:14:\"Sort ascending\";'),('en','messages:nstab-main','s:4:\"Page\";'),('en','messages:nstab-user','s:9:\"User page\";'),('en','messages:nstab-media','s:10:\"Media page\";'),('en','messages:nstab-special','s:12:\"Special page\";'),('en','messages:nstab-project','s:12:\"Project page\";'),('en','messages:nstab-image','s:4:\"File\";'),('en','messages:nstab-mediawiki','s:7:\"Message\";'),('en','messages:nstab-template','s:8:\"Template\";'),('en','messages:nstab-help','s:9:\"Help page\";'),('en','messages:nstab-category','s:8:\"Category\";'),('en','messages:mainpage-nstab','s:0:\"\";'),('en','messages:nosuchaction','s:14:\"No such action\";'),('en','messages:nosuchactiontext','s:176:\"The action specified by the URL is invalid.\nYou might have mistyped the URL, or followed an incorrect link.\nThis might also indicate a bug in the software used by {{SITENAME}}.\";'),('en','messages:nosuchspecialpage','s:20:\"No such special page\";'),('en','messages:nospecialpagetext','s:154:\"<strong>You have requested an invalid special page.</strong>\n\nA list of valid special pages can be found at [[Special:SpecialPages|{{int:specialpages}}]].\";'),('en','messages:error','s:5:\"Error\";'),('en','messages:databaseerror','s:14:\"Database error\";'),('en','messages:dberrortext','s:239:\"A database query syntax error has occurred.\nThis may indicate a bug in the software.\nThe last attempted database query was:\n<blockquote><tt>$1</tt></blockquote>\nfrom within function \"<tt>$2</tt>\".\nDatabase returned error \"<tt>$3: $4</tt>\".\";'),('en','messages:dberrortextcl','s:147:\"A database query syntax error has occurred.\nThe last attempted database query was:\n\"$1\"\nfrom within function \"$2\".\nDatabase returned error \"$3: $4\"\";'),('en','messages:laggedslavemode','s:51:\"\'\'\'Warning:\'\'\' Page may not contain recent updates.\";'),('en','messages:readonly','s:15:\"Database locked\";'),('en','messages:enterlockreason','s:84:\"Enter a reason for the lock, including an estimate of when the lock will be released\";'),('en','messages:readonlytext','s:216:\"The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.\n\nThe administrator who locked it offered this explanation: $1\";'),('en','messages:missing-article','s:349:\"The database did not find the text of a page that it should have found, named \"$1\" $2.\n\nThis is usually caused by following an outdated diff or history link to a page that has been deleted.\n\nIf this is not the case, you may have found a bug in the software.\nPlease report this to an [[Special:ListUsers/sysop|administrator]], making note of the URL.\";'),('en','messages:missingarticle-rev','s:15:\"(revision#: $1)\";'),('en','messages:missingarticle-diff','s:14:\"(Diff: $1, $2)\";'),('en','messages:readonly_lag','s:98:\"The database has been automatically locked while the slave database servers catch up to the master\";'),('en','messages:internalerror','s:14:\"Internal error\";'),('en','messages:internalerror_info','s:18:\"Internal error: $1\";'),('en','messages:fileappenderrorread','s:34:\"Could not read \"$1\" during append.\";'),('en','messages:fileappenderror','s:30:\"Could not append \"$1\" to \"$2\".\";'),('en','messages:filecopyerror','s:33:\"Could not copy file \"$1\" to \"$2\".\";'),('en','messages:filerenameerror','s:35:\"Could not rename file \"$1\" to \"$2\".\";'),('en','messages:filedeleteerror','s:27:\"Could not delete file \"$1\".\";'),('en','messages:directorycreateerror','s:32:\"Could not create directory \"$1\".\";'),('en','messages:filenotfound','s:25:\"Could not find file \"$1\".\";'),('en','messages:fileexistserror','s:42:\"Unable to write to file \"$1\": File exists.\";'),('en','messages:unexpected','s:28:\"Unexpected value: \"$1\"=\"$2\".\";'),('en','messages:formerror','s:29:\"Error: Could not submit form.\";'),('en','messages:badarticleerror','s:45:\"This action cannot be performed on this page.\";'),('en','messages:cannotdelete','s:93:\"The page or file \"$1\" could not be deleted.\nIt may have already been deleted by someone else.\";'),('en','messages:badtitle','s:9:\"Bad title\";'),('en','messages:badtitletext','s:175:\"The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title.\nIt may contain one or more characters which cannot be used in titles.\";'),('en','messages:perfcached','s:55:\"The following data is cached and may not be up to date.\";'),('en','messages:perfcachedts','s:54:\"The following data is cached, and was last updated $1.\";'),('en','messages:querypage-no-updates','s:88:\"Updates for this page are currently disabled.\nData here will not presently be refreshed.\";'),('en','messages:wrong_wfQuery_params','s:68:\"Incorrect parameters to wfQuery()<br />\nFunction: $1<br />\nQuery: $2\";'),('en','messages:viewsource','s:11:\"View source\";'),('en','messages:viewsourcefor','s:6:\"for $1\";'),('en','messages:actionthrottled','s:16:\"Action throttled\";'),('en','messages:actionthrottledtext','s:178:\"As an anti-spam measure, you are limited from performing this action too many times in a short space of time, and you have exceeded this limit.\nPlease try again in a few minutes.\";'),('en','messages:protectedpagetext','s:48:\"This page has been protected to prevent editing.\";'),('en','messages:viewsourcetext','s:46:\"You can view and copy the source of this page:\";'),('en','messages:protectedinterface','s:86:\"This page provides interface text for the software, and is protected to prevent abuse.\";'),('en','messages:editinginterface','s:325:\"\'\'\'Warning:\'\'\' You are editing a page which is used to provide interface text for the software.\nChanges to this page will affect the appearance of the user interface for other users.\nFor translations, please consider using [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], the MediaWiki localisation project.\";'),('en','messages:sqlhidden','s:18:\"(SQL query hidden)\";'),('en','messages:cascadeprotected','s:180:\"This page has been protected from editing, because it is included in the following {{PLURAL:$1|page, which is|pages, which are}} protected with the \"cascading\" option turned on:\n$2\";'),('en','messages:namespaceprotected','s:67:\"You do not have permission to edit pages in the \'\'\'$1\'\'\' namespace.\";'),('en','messages:customcssprotected','s:103:\"You do not have permission to edit this CSS page, because it contains another user\'s personal settings.\";'),('en','messages:customjsprotected','s:110:\"You do not have permission to edit this JavaScript page, because it contains another user\'s personal settings.\";'),('en','messages:ns-specialprotected','s:31:\"Special pages cannot be edited.\";'),('en','messages:titleprotected','s:92:\"This title has been protected from creation by [[User:$1|$1]].\nThe reason given is \"\'\'$2\'\'\".\";'),('en','messages:virus-badscanner','s:48:\"Bad configuration: Unknown virus scanner: \'\'$1\'\'\";'),('en','messages:virus-scanfailed','s:21:\"scan failed (code $1)\";'),('en','messages:virus-unknownscanner','s:18:\"unknown antivirus:\";'),('en','messages:logouttext','s:280:\"\'\'\'You are now logged out.\'\'\'\n\nYou can continue to use {{SITENAME}} anonymously, or you can [[Special:UserLogin|log in again]] as the same or as a different user.\nNote that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache.\";'),('en','messages:welcomecreation','s:128:\"== Welcome, $1! ==\nYour account has been created.\nDo not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].\";'),('en','messages:yourname','s:9:\"Username:\";'),('en','messages:yourpassword','s:9:\"Password:\";'),('en','messages:yourpasswordagain','s:16:\"Retype password:\";'),('en','messages:remembermypassword','s:78:\"Remember my login on this browser (for a maximum of $1 {{PLURAL:$1|day|days}})\";'),('en','messages:securelogin-stick-https','s:35:\"Stay connected to HTTPS after login\";'),('en','messages:yourdomainname','s:12:\"Your domain:\";'),('en','messages:externaldberror','s:105:\"There was either an authentication database error or you are not allowed to update your external account.\";'),('en','messages:login','s:6:\"Log in\";'),('en','messages:nav-login-createaccount','s:23:\"Log in / create account\";'),('en','messages:loginprompt','s:56:\"You must have cookies enabled to log in to {{SITENAME}}.\";'),('en','messages:userlogin','s:23:\"Log in / create account\";'),('en','messages:userloginnocreate','s:6:\"Log in\";'),('en','messages:logout','s:7:\"Log out\";'),('en','messages:userlogout','s:7:\"Log out\";'),('en','messages:notloggedin','s:13:\"Not logged in\";'),('en','messages:nologin','s:26:\"Don\'t have an account? $1.\";'),('en','messages:nologinlink','s:17:\"Create an account\";'),('en','messages:createaccount','s:14:\"Create account\";'),('en','messages:gotaccount','s:28:\"Already have an account? $1.\";'),('en','messages:gotaccountlink','s:6:\"Log in\";'),('en','messages:userlogin-resetlink','s:29:\"Forgotten your login details?\";'),('en','messages:createaccountmail','s:9:\"By e-mail\";'),('en','messages:createaccountreason','s:7:\"Reason:\";'),('en','messages:badretype','s:39:\"The passwords you entered do not match.\";'),('en','messages:userexists','s:64:\"Username entered already in use.\nPlease choose a different name.\";'),('en','messages:loginerror','s:11:\"Login error\";'),('en','messages:createaccounterror','s:28:\"Could not create account: $1\";'),('en','messages:nocookiesnew','s:195:\"The user account was created, but you are not logged in.\n{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them, then log in with your new username and password.\";'),('en','messages:nocookieslogin','s:103:\"{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them and try again.\";'),('en','messages:nocookiesfornew','s:134:\"The user account was not created, as we could not confirm its source.\nEnsure you have cookies enabled, reload this page and try again.\";'),('en','messages:nocookiesforlogin','s:22:\"{{int:nocookieslogin}}\";'),('en','messages:noname','s:40:\"You have not specified a valid username.\";'),('en','messages:loginsuccesstitle','s:16:\"Login successful\";'),('en','messages:loginsuccess','s:52:\"\'\'\'You are now logged in to {{SITENAME}} as \"$1\".\'\'\'\";'),('en','messages:nosuchuser','s:139:\"There is no user by the name \"$1\".\nUsernames are case sensitive.\nCheck your spelling, or [[Special:UserLogin/signup|create a new account]].\";'),('en','messages:nosuchusershort','s:55:\"There is no user by the name \"$1\".\nCheck your spelling.\";'),('en','messages:nouserspecified','s:31:\"You have to specify a username.\";'),('en','messages:login-userblocked','s:40:\"This user is blocked. Login not allowed.\";'),('en','messages:wrongpassword','s:45:\"Incorrect password entered.\nPlease try again.\";'),('en','messages:wrongpasswordempty','s:45:\"Password entered was blank.\nPlease try again.\";'),('en','messages:passwordtooshort','s:67:\"Passwords must be at least {{PLURAL:$1|1 character|$1 characters}}.\";'),('en','messages:password-name-match','s:51:\"Your password must be different from your username.\";'),('en','messages:password-login-forbidden','s:57:\"The use of this username and password has been forbidden.\";'),('en','messages:mailmypassword','s:19:\"E-mail new password\";'),('en','messages:passwordremindertitle','s:39:\"New temporary password for {{SITENAME}}\";'),('en','messages:passwordremindertext','s:493:\"Someone (probably you, from IP address $1) requested a new\npassword for {{SITENAME}} ($4). A temporary password for user\n\"$2\" has been created and was set to \"$3\". If this was your\nintent, you will need to log in and choose a new password now.\nYour temporary password will expire in {{PLURAL:$5|one day|$5 days}}.\n\nIf someone else made this request, or if you have remembered your password,\nand you no longer wish to change it, you may ignore this message and\ncontinue using your old password.\";'),('en','messages:noemail','s:50:\"There is no e-mail address recorded for user \"$1\".\";'),('en','messages:noemailcreate','s:42:\"You need to provide a valid e-mail address\";'),('en','messages:passwordsent','s:113:\"A new password has been sent to the e-mail address registered for \"$1\".\nPlease log in again after you receive it.\";'),('en','messages:blocked-mailpassword','s:118:\"Your IP address is blocked from editing, and so is not allowed to use the password recovery function to prevent abuse.\";'),('en','messages:eauthentsent','s:219:\"A confirmation e-mail has been sent to the nominated e-mail address.\nBefore any other e-mail is sent to the account, you will have to follow the instructions in the e-mail, to confirm that the account is actually yours.\";'),('en','messages:throttled-mailpassword','s:178:\"A password reminder has already been sent, within the last {{PLURAL:$1|hour|$1 hours}}.\nTo prevent abuse, only one password reminder will be sent per {{PLURAL:$1|hour|$1 hours}}.\";'),('en','messages:loginstart','s:0:\"\";'),('en','messages:loginend','s:0:\"\";'),('en','messages:loginend-https','s:0:\"\";'),('en','messages:signupstart','s:18:\"{{int:loginstart}}\";'),('en','messages:signupend','s:16:\"{{int:loginend}}\";'),('en','messages:signupend-https','s:0:\"\";'),('en','messages:mailerror','s:22:\"Error sending mail: $1\";'),('en','messages:acct_creation_throttle_hit','s:250:\"Visitors to this wiki using your IP address have created {{PLURAL:$1|1 account|$1 accounts}} in the last day, which is the maximum allowed in this time period.\nAs a result, visitors using this IP address cannot create any more accounts at the moment.\";'),('en','messages:emailauthenticated','s:50:\"Your e-mail address was authenticated on $2 at $3.\";'),('en','messages:emailnotauthenticated','s:103:\"Your e-mail address is not yet authenticated.\nNo e-mail will be sent for any of the following features.\";'),('en','messages:noemailprefs','s:73:\"Specify an e-mail address in your preferences for these features to work.\";'),('en','messages:emailconfirmlink','s:27:\"Confirm your e-mail address\";'),('en','messages:invalidemailaddress','s:137:\"The e-mail address cannot be accepted as it appears to have an invalid format.\nPlease enter a well-formatted address or empty that field.\";'),('en','messages:accountcreated','s:15:\"Account created\";'),('en','messages:accountcreatedtext','s:41:\"The user account for $1 has been created.\";'),('en','messages:createaccount-title','s:33:\"Account creation for {{SITENAME}}\";'),('en','messages:createaccount-text','s:219:\"Someone created an account for your e-mail address on {{SITENAME}} ($4) named \"$2\", with password \"$3\".\nYou should log in and change your password now.\n\nYou may ignore this message, if this account was created in error.\";'),('en','messages:usernamehasherror','s:39:\"Username cannot contain hash characters\";'),('en','messages:login-throttled','s:78:\"You have made too many recent login attempts.\nPlease wait before trying again.\";'),('en','messages:login-abort-generic','s:37:\"Your login was unsuccessful - Aborted\";'),('en','messages:loginlanguagelabel','s:12:\"Language: $1\";'),('en','messages:loginlanguagelinks','s:99:\"* Deutsch|de\n* English|en\n* Esperanto|eo\n* Français|fr\n* Español|es\n* Italiano|it\n* Nederlands|nl\";'),('en','messages:suspicious-userlogout','s:106:\"Your request to log out was denied because it looks like it was sent by a broken browser or caching proxy.\";'),('en','messages:pear-mail-error','s:2:\"$1\";'),('en','messages:php-mail-error','s:2:\"$1\";'),('en','messages:php-mail-error-unknown','s:39:\"Unknown error in PHP\'s mail() function.\";'),('en','messages:resetpass','s:15:\"Change password\";'),('en','messages:resetpass_announce','s:101:\"You logged in with a temporary e-mailed code.\nTo finish logging in, you must set a new password here:\";'),('en','messages:resetpass_text','s:22:\"<!-- Add text here -->\";'),('en','messages:resetpass_header','s:23:\"Change account password\";'),('en','messages:oldpassword','s:13:\"Old password:\";'),('en','messages:newpassword','s:13:\"New password:\";'),('en','messages:retypenew','s:20:\"Retype new password:\";'),('en','messages:resetpass_submit','s:23:\"Set password and log in\";'),('en','messages:resetpass_success','s:66:\"Your password has been changed successfully!\nNow logging you in...\";'),('en','messages:resetpass_forbidden','s:27:\"Passwords cannot be changed\";'),('en','messages:resetpass-no-info','s:51:\"You must be logged in to access this page directly.\";'),('en','messages:resetpass-submit-loggedin','s:15:\"Change password\";'),('en','messages:resetpass-submit-cancel','s:6:\"Cancel\";'),('en','messages:resetpass-wrong-oldpass','s:133:\"Invalid temporary or current password.\nYou may have already successfully changed your password or requested a new temporary password.\";'),('en','messages:resetpass-temp-password','s:19:\"Temporary password:\";'),('en','messages:passwordreset','s:14:\"Reset password\";'),('en','messages:passwordreset-text','s:73:\"Complete this form to receive an e-mail reminder of your account details.\";'),('en','messages:passwordreset-legend','s:14:\"Reset password\";'),('en','messages:passwordreset-disabled','s:48:\"Password resets have been disabled on this wiki.\";'),('en','messages:passwordreset-pretext','s:52:\"{{PLURAL:$1||Enter one of the pieces of data below}}\";'),('en','messages:passwordreset-username','s:9:\"Username:\";'),('en','messages:passwordreset-domain','s:7:\"Domain:\";'),('en','messages:passwordreset-email','s:15:\"E-mail address:\";'),('en','messages:passwordreset-emailtitle','s:31:\"Account details on {{SITENAME}}\";'),('en','messages:passwordreset-emailtext-ip','s:556:\"Someone (probably you, from IP address $1) requested a reminder of your\naccount details for {{SITENAME}} ($4). The following user {{PLURAL:$3|account is|accounts are}}\nassociated with this e-mail address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword.\";'),('en','messages:passwordreset-emailtext-user','s:537:\"User $1 on {{SITENAME}} requested a reminder of your account details for {{SITENAME}}\n($4). The following user {{PLURAL:$3|account is|accounts are}} associated with this e-mail address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword.\";'),('en','messages:passwordreset-emailelement','s:35:\"Username: $1\nTemporary password: $2\";'),('en','messages:passwordreset-emailsent','s:32:\"A reminder e-mail has been sent.\";'),('en','messages:bold_sample','s:9:\"Bold text\";'),('en','messages:bold_tip','s:9:\"Bold text\";'),('en','messages:italic_sample','s:11:\"Italic text\";'),('en','messages:italic_tip','s:11:\"Italic text\";'),('en','messages:link_sample','s:10:\"Link title\";'),('en','messages:link_tip','s:13:\"Internal link\";'),('en','messages:extlink_sample','s:33:\"http://www.example.com link title\";'),('en','messages:extlink_tip','s:39:\"External link (remember http:// prefix)\";'),('en','messages:headline_sample','s:13:\"Headline text\";'),('en','messages:headline_tip','s:16:\"Level 2 headline\";'),('en','messages:nowiki_sample','s:30:\"Insert non-formatted text here\";'),('en','messages:nowiki_tip','s:22:\"Ignore wiki formatting\";'),('en','messages:image_sample','s:11:\"Example.jpg\";'),('en','messages:image_tip','s:13:\"Embedded file\";'),('en','messages:media_sample','s:11:\"Example.ogg\";'),('en','messages:media_tip','s:9:\"File link\";'),('en','messages:sig_tip','s:29:\"Your signature with timestamp\";'),('en','messages:hr_tip','s:31:\"Horizontal line (use sparingly)\";'),('en','messages:summary','s:8:\"Summary:\";'),('en','messages:subject','s:17:\"Subject/headline:\";'),('en','messages:minoredit','s:20:\"This is a minor edit\";'),('en','messages:watchthis','s:15:\"Watch this page\";'),('en','messages:savearticle','s:9:\"Save page\";'),('en','messages:preview','s:7:\"Preview\";'),('en','messages:showpreview','s:12:\"Show preview\";'),('en','messages:showlivepreview','s:12:\"Live preview\";'),('en','messages:showdiff','s:12:\"Show changes\";'),('en','messages:anoneditwarning','s:99:\"\'\'\'Warning:\'\'\' You are not logged in.\nYour IP address will be recorded in this page\'s edit history.\";'),('en','messages:anonpreviewwarning','s:90:\"\'\'You are not logged in. Saving will record your IP address in this page\'s edit history.\'\'\";'),('en','messages:missingsummary','s:133:\"\'\'\'Reminder:\'\'\' You have not provided an edit summary.\nIf you click \"{{int:savearticle}}\" again, your edit will be saved without one.\";'),('en','messages:missingcommenttext','s:29:\"Please enter a comment below.\";'),('en','messages:missingcommentheader','s:153:\"\'\'\'Reminder:\'\'\' You have not provided a subject/headline for this comment.\nIf you click \"{{int:savearticle}}\" again, your edit will be saved without one.\";'),('en','messages:summary-preview','s:16:\"Summary preview:\";'),('en','messages:subject-preview','s:25:\"Subject/headline preview:\";'),('en','messages:blockedtitle','s:15:\"User is blocked\";'),('en','messages:blockedtext','s:574:\"\'\'\'Your username or IP address has been blocked.\'\'\'\n\nThe block was made by $1.\nThe reason given is \'\'$2\'\'.\n\n* Start of block: $8\n* Expiry of block: $6\n* Intended blockee: $7\n\nYou can contact $1 or another [[{{MediaWiki:Grouppage-sysop}}|administrator]] to discuss the block.\nYou cannot use the \'e-mail this user\' feature unless a valid e-mail address is specified in your [[Special:Preferences|account preferences]] and you have not been blocked from using it.\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make.\";'),('en','messages:autoblockedtext','s:636:\"Your IP address has been automatically blocked because it was used by another user, who was blocked by $1.\nThe reason given is this:\n\n:\'\'$2\'\'\n\n* Start of block: $8\n* Expiry of block: $6\n* Intended blockee: $7\n\nYou may contact $1 or one of the other [[{{MediaWiki:Grouppage-sysop}}|administrators]] to discuss the block.\n\nNote that you may not use the \"e-mail this user\" feature unless you have a valid e-mail address registered in your [[Special:Preferences|user preferences]] and you have not been blocked from using it.\n\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make.\";'),('en','messages:blockednoreason','s:15:\"no reason given\";'),('en','messages:blockedoriginalsource','s:38:\"The source of \'\'\'$1\'\'\' is shown below:\";'),('en','messages:blockededitsource','s:56:\"The text of \'\'\'your edits\'\'\' to \'\'\'$1\'\'\' is shown below:\";'),('en','messages:whitelistedittitle','s:22:\"Login required to edit\";'),('en','messages:whitelistedittext','s:29:\"You have to $1 to edit pages.\";'),('en','messages:confirmedittext','s:157:\"You must confirm your e-mail address before editing pages.\nPlease set and validate your e-mail address through your [[Special:Preferences|user preferences]].\";'),('en','messages:nosuchsectiontitle','s:19:\"Cannot find section\";'),('en','messages:nosuchsectiontext','s:115:\"You tried to edit a section that does not exist.\nIt may have been moved or deleted while you were viewing the page.\";'),('en','messages:loginreqtitle','s:14:\"Login required\";'),('en','messages:loginreqlink','s:6:\"log in\";'),('en','messages:loginreqpagetext','s:32:\"You must $1 to view other pages.\";'),('en','messages:accmailtitle','s:14:\"Password sent.\";'),('en','messages:accmailtext','s:200:\"A randomly generated password for [[User talk:$1|$1]] has been sent to $2.\n\nThe password for this new account can be changed on the \'\'[[Special:ChangePassword|change password]]\'\' page upon logging in.\";'),('en','messages:newarticle','s:5:\"(New)\";'),('en','messages:newarticletext','s:239:\"You have followed a link to a page that does not exist yet.\nTo create the page, start typing in the box below (see the [[{{MediaWiki:Helppage}}|help page]] for more info).\nIf you are here by mistake, click your browser\'s \'\'\'back\'\'\' button.\";'),('en','messages:newarticletextanon','s:22:\"{{int:newarticletext}}\";'),('en','messages:talkpagetext','s:31:\"<!-- MediaWiki:talkpagetext -->\";'),('en','messages:anontalkpagetext','s:469:\"----\'\'This is the discussion page for an anonymous user who has not created an account yet, or who does not use it.\nWe therefore have to use the numerical IP address to identify him/her.\nSuch an IP address can be shared by several users.\nIf you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:UserLogin/signup|create an account]] or [[Special:UserLogin|log in]] to avoid future confusion with other anonymous users.\'\'\";'),('en','messages:noarticletext','s:296:\"There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nor [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span>.\";'),('en','messages:noarticletext-nopermission','s:237:\"There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\nor <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>.\";'),('en','messages:noarticletextanon','s:21:\"{{int:noarticletext}}\";'),('en','messages:userpage-userdoesnotexist','s:87:\"User account \"$1\" is not registered.\nPlease check if you want to create/edit this page.\";'),('en','messages:userpage-userdoesnotexist-view','s:36:\"User account \"$1\" is not registered.\";'),('en','messages:blocked-notice-logextract','s:91:\"This user is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:clearyourcache','s:503:\"\'\'\'Note:\'\'\' After saving, you may have to bypass your browser\'s cache to see the changes.\n* \'\'\'Firefox / Safari:\'\'\' Hold \'\'Shift\'\' while clicking \'\'Reload\'\', or press either \'\'Ctrl-F5\'\' or \'\'Ctrl-R\'\' (\'\'Command-R\'\' on a Mac)\n* \'\'\'Google Chrome:\'\'\' Press \'\'Ctrl-Shift-R\'\' (\'\'Command-Shift-R\'\' on a Mac)\n* \'\'\'Internet Explorer:\'\'\' Hold \'\'Ctrl\'\' while clicking \'\'Refresh\'\', or press \'\'Ctrl-F5\'\'\n* \'\'\'Konqueror:\'\'\' Click \'\'Reload\'\' or press \'\'F5\'\'\n* \'\'\'Opera:\'\'\' Clear the cache in \'\'Tools → Preferences\'\'\";'),('en','messages:usercssyoucanpreview','s:83:\"\'\'\'Tip:\'\'\' Use the \"{{int:showpreview}}\" button to test your new CSS before saving.\";'),('en','messages:userjsyoucanpreview','s:90:\"\'\'\'Tip:\'\'\' Use the \"{{int:showpreview}}\" button to test your new JavaScript before saving.\";'),('en','messages:usercsspreview','s:91:\"\'\'\'Remember that you are only previewing your user CSS.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:userjspreview','s:106:\"\'\'\'Remember that you are only testing/previewing your user JavaScript.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:sitecsspreview','s:86:\"\'\'\'Remember that you are only previewing this CSS.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:sitejspreview','s:98:\"\'\'\'Remember that you are only previewing this JavaScript code.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:userinvalidcssjstitle','s:160:\"\'\'\'Warning:\'\'\' There is no skin \"$1\".\nCustom .css and .js pages use a lowercase title, e.g. {{ns:user}}:Foo/vector.css as opposed to {{ns:user}}:Foo/Vector.css.\";'),('en','messages:updated','s:9:\"(Updated)\";'),('en','messages:note','s:11:\"\'\'\'Note:\'\'\'\";'),('en','messages:previewnote','s:81:\"\'\'\'Remember that this is only a preview.\'\'\'\nYour changes have not yet been saved!\";'),('en','messages:previewconflict','s:102:\"This preview reflects the text in the upper text editing area as it will appear if you choose to save.\";'),('en','messages:session_fail_preview','s:179:\"\'\'\'Sorry! We could not process your edit due to a loss of session data.\'\'\'\nPlease try again.\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in.\";'),('en','messages:session_fail_preview_html','s:338:\"\'\'\'Sorry! We could not process your edit due to a loss of session data.\'\'\'\n\n\'\'Because {{SITENAME}} has raw HTML enabled, the preview is hidden as a precaution against JavaScript attacks.\'\'\n\n\'\'\'If this is a legitimate edit attempt, please try again.\'\'\'\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in.\";'),('en','messages:token_suffix_mismatch','s:259:\"\'\'\'Your edit has been rejected because your client mangled the punctuation characters in the edit token.\'\'\'\nThe edit has been rejected to prevent corruption of the page text.\nThis sometimes happens when you are using a buggy web-based anonymous proxy service.\";'),('en','messages:edit_form_incomplete','s:114:\"\'\'\'Some parts of the edit form did not reach the server; double-check that your edits are intact and try again.\'\'\'\";'),('en','messages:editing','s:10:\"Editing $1\";'),('en','messages:editingsection','s:20:\"Editing $1 (section)\";'),('en','messages:editingcomment','s:24:\"Editing $1 (new section)\";'),('en','messages:editconflict','s:17:\"Edit conflict: $1\";'),('en','messages:explainconflict','s:333:\"Someone else has changed this page since you started editing it.\nThe upper text area contains the page text as it currently exists.\nYour changes are shown in the lower text area.\nYou will have to merge your changes into the existing text.\n\'\'\'Only\'\'\' the text in the upper text area will be saved when you press \"{{int:savearticle}}\".\";'),('en','messages:yourtext','s:9:\"Your text\";'),('en','messages:storedversion','s:15:\"Stored revision\";'),('en','messages:nonunicodebrowser','s:184:\"\'\'\'Warning: Your browser is not unicode compliant.\'\'\'\nA workaround is in place to allow you to safely edit pages: Non-ASCII characters will appear in the edit box as hexadecimal codes.\";'),('en','messages:editingold','s:135:\"\'\'\'Warning: You are editing an out-of-date revision of this page.\'\'\'\nIf you save it, any changes made since this revision will be lost.\";'),('en','messages:yourdiff','s:11:\"Differences\";'),('en','messages:copyrightwarning','s:406:\"Please note that all contributions to {{SITENAME}} are considered to be released under the $2 (see $1 for details).\nIf you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.\n\'\'\'Do not submit copyrighted work without permission!\'\'\'\";'),('en','messages:copyrightwarning2','s:394:\"Please note that all contributions to {{SITENAME}} may be edited, altered, or removed by other contributors.\nIf you do not want your writing to be edited mercilessly, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see $1 for details).\n\'\'\'Do not submit copyrighted work without permission!\'\'\'\";'),('en','messages:editpage-tos-summary','s:1:\"-\";'),('en','messages:longpage-hint','s:1:\"-\";'),('en','messages:longpageerror','s:132:\"\'\'\'Error: The text you have submitted is $1 kilobytes long, which is longer than the maximum of $2 kilobytes.\'\'\'\nIt cannot be saved.\";'),('en','messages:readonlywarning','s:253:\"\'\'\'Warning: The database has been locked for maintenance, so you will not be able to save your edits right now.\'\'\'\nYou may wish to cut-n-paste the text into a text file and save it for later.\n\nThe administrator who locked it offered this explanation: $1\";'),('en','messages:protectedpagewarning','s:159:\"\'\'\'Warning: This page has been protected so that only users with administrator privileges can edit it.\'\'\'\nThe latest log entry is provided below for reference:\";'),('en','messages:semiprotectedpagewarning','s:137:\"\'\'\'Note:\'\'\' This page has been protected so that only registered users can edit it.\nThe latest log entry is provided below for reference:\";'),('en','messages:cascadeprotectedwarning','s:189:\"\'\'\'Warning:\'\'\' This page has been protected so that only users with administrator privileges can edit it, because it is included in the following cascade-protected {{PLURAL:$1|page|pages}}:\";'),('en','messages:titleprotectedwarning','s:174:\"\'\'\'Warning: This page has been protected so that [[Special:ListGroupRights|specific rights]] are needed to create it.\'\'\'\nThe latest log entry is provided below for reference:\";'),('en','messages:templatesused','s:51:\"{{PLURAL:$1|Template|Templates}} used on this page:\";'),('en','messages:templatesusedpreview','s:54:\"{{PLURAL:$1|Template|Templates}} used in this preview:\";'),('en','messages:templatesusedsection','s:54:\"{{PLURAL:$1|Template|Templates}} used in this section:\";'),('en','messages:template-protected','s:11:\"(protected)\";'),('en','messages:template-semiprotected','s:16:\"(semi-protected)\";'),('en','messages:hiddencategories','s:78:\"This page is a member of {{PLURAL:$1|1 hidden category|$1 hidden categories}}:\";'),('en','messages:edittools','s:61:\"<!-- Text here will be shown below edit and upload forms. -->\";'),('en','messages:edittools-upload','s:1:\"-\";'),('en','messages:nocreatetitle','s:21:\"Page creation limited\";'),('en','messages:nocreatetext','s:157:\"{{SITENAME}} has restricted the ability to create new pages.\nYou can go back and edit an existing page, or [[Special:UserLogin|log in or create an account]].\";'),('en','messages:nocreate-loggedin','s:47:\"You do not have permission to create new pages.\";'),('en','messages:sectioneditnotsupported-title','s:29:\"Section editing not supported\";'),('en','messages:sectioneditnotsupported-text','s:46:\"Section editing is not supported in this page.\";'),('en','messages:permissionserrors','s:18:\"Permissions errors\";'),('en','messages:permissionserrorstext','s:86:\"You do not have permission to do that, for the following {{PLURAL:$1|reason|reasons}}:\";'),('en','messages:permissionserrorstext-withaction','s:81:\"You do not have permission to $2, for the following {{PLURAL:$1|reason|reasons}}:\";'),('en','messages:recreate-moveddeleted-warn','s:222:\"\'\'\'Warning: You are recreating a page that was previously deleted.\'\'\'\n\nYou should consider whether it is appropriate to continue editing this page.\nThe deletion and move log for this page are provided here for convenience:\";'),('en','messages:moveddeleted-notice','s:100:\"This page has been deleted.\nThe deletion and move log for the page are provided below for reference.\";'),('en','messages:log-fulllog','s:13:\"View full log\";'),('en','messages:edit-hook-aborted','s:45:\"Edit aborted by hook.\nIt gave no explanation.\";'),('en','messages:edit-gone-missing','s:59:\"Could not update the page.\nIt appears to have been deleted.\";'),('en','messages:edit-conflict','s:14:\"Edit conflict.\";'),('en','messages:edit-no-change','s:62:\"Your edit was ignored, because no change was made to the text.\";'),('en','messages:edit-already-exists','s:47:\"Could not create a new page.\nIt already exists.\";'),('en','messages:addsection-preload','s:0:\"\";'),('en','messages:addsection-editintro','s:0:\"\";'),('en','messages:expensive-parserfunction-warning','s:183:\"\'\'\'Warning:\'\'\' This page contains too many expensive parser function calls.\n\nIt should have less than $2 {{PLURAL:$2|call|calls}}, there {{PLURAL:$1|is now $1 call|are now $1 calls}}.\";'),('en','messages:expensive-parserfunction-category','s:51:\"Pages with too many expensive parser function calls\";'),('en','messages:post-expand-template-inclusion-warning','s:87:\"\'\'\'Warning:\'\'\' Template include size is too large.\nSome templates will not be included.\";'),('en','messages:post-expand-template-inclusion-category','s:45:\"Pages where template include size is exceeded\";'),('en','messages:post-expand-template-argument-warning','s:137:\"\'\'\'Warning:\'\'\' This page contains at least one template argument which has a too large expansion size.\nThese arguments have been omitted.\";'),('en','messages:post-expand-template-argument-category','s:43:\"Pages containing omitted template arguments\";'),('en','messages:parser-template-loop-warning','s:30:\"Template loop detected: [[$1]]\";'),('en','messages:parser-template-recursion-depth-warning','s:44:\"Template recursion depth limit exceeded ($1)\";'),('en','messages:language-converter-depth-warning','s:44:\"Language converter depth limit exceeded ($1)\";'),('en','messages:undo-success','s:161:\"The edit can be undone.\nPlease check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.\";'),('en','messages:undo-failure','s:67:\"The edit could not be undone due to conflicting intermediate edits.\";'),('en','messages:undo-norev','s:70:\"The edit could not be undone because it does not exist or was deleted.\";'),('en','messages:undo-summary','s:75:\"Undo revision $1 by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]])\";'),('en','messages:cantcreateaccounttitle','s:21:\"Cannot create account\";'),('en','messages:cantcreateaccount-text','s:118:\"Account creation from this IP address (\'\'\'$1\'\'\') has been blocked by [[User:$3|$3]].\n\nThe reason given by $3 is \'\'$2\'\'\";'),('en','messages:viewpagelogs','s:23:\"View logs for this page\";'),('en','messages:nohistory','s:39:\"There is no edit history for this page.\";'),('en','messages:currentrev','s:15:\"Latest revision\";'),('en','messages:currentrev-asof','s:24:\"Latest revision as of $1\";'),('en','messages:revisionasof','s:17:\"Revision as of $1\";'),('en','messages:revision-info','s:23:\"Revision as of $1 by $2\";'),('en','messages:revision-info-current','s:1:\"-\";'),('en','messages:revision-nav','s:65:\"($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)\";'),('en','messages:previousrevision','s:18:\"← Older revision\";'),('en','messages:nextrevision','s:18:\"Newer revision →\";'),('en','messages:currentrevisionlink','s:15:\"Latest revision\";'),('en','messages:cur','s:3:\"cur\";'),('en','messages:next','s:4:\"next\";'),('en','messages:last','s:4:\"prev\";'),('en','messages:page_first','s:5:\"first\";'),('en','messages:page_last','s:4:\"last\";'),('en','messages:histlegend','s:279:\"Diff selection: Mark the radio boxes of the revisions to compare and hit enter or the button at the bottom.<br />\nLegend: \'\'\'({{int:cur}})\'\'\' = difference with latest revision, \'\'\'({{int:last}})\'\'\' = difference with preceding revision, \'\'\'{{int:minoreditletter}}\'\'\' = minor edit.\";'),('en','messages:history-fieldset-title','s:14:\"Browse history\";'),('en','messages:history-show-deleted','s:12:\"Deleted only\";'),('en','messages:history_copyright','s:1:\"-\";'),('en','messages:histfirst','s:8:\"Earliest\";'),('en','messages:histlast','s:6:\"Latest\";'),('en','messages:historysize','s:31:\"({{PLURAL:$1|1 byte|$1 bytes}})\";'),('en','messages:historyempty','s:7:\"(empty)\";'),('en','messages:history-feed-title','s:16:\"Revision history\";'),('en','messages:history-feed-description','s:42:\"Revision history for this page on the wiki\";'),('en','messages:history-feed-item-nocomment','s:8:\"$1 at $2\";'),('en','messages:history-feed-empty','s:155:\"The requested page does not exist.\nIt may have been deleted from the wiki, or renamed.\nTry [[Special:Search|searching on the wiki]] for relevant new pages.\";'),('en','messages:rev-deleted-comment','s:22:\"(edit summary removed)\";'),('en','messages:rev-deleted-user','s:18:\"(username removed)\";'),('en','messages:rev-deleted-event','s:20:\"(log action removed)\";'),('en','messages:rev-deleted-user-contribs','s:65:\"[username or IP address removed - edit hidden from contributions]\";'),('en','messages:rev-deleted-text-permission','s:145:\"This page revision has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-deleted-text-unhide','s:207:\"This page revision has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this revision] if you wish to proceed.\";'),('en','messages:rev-suppressed-text-unhide','s:215:\"This page revision has been \'\'\'suppressed\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this revision] if you wish to proceed.\";'),('en','messages:rev-deleted-text-view','s:162:\"This page revision has been \'\'\'deleted\'\'\'.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-text-view','s:170:\"This page revision has been \'\'\'suppressed\'\'\'.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\";'),('en','messages:rev-deleted-no-diff','s:181:\"You cannot view this diff because one of the revisions has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-no-diff','s:78:\"You cannot view this diff because one of the revisions has been \'\'\'deleted\'\'\'.\";'),('en','messages:rev-deleted-unhide-diff','s:218:\"One of the revisions of this diff has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this diff] if you wish to proceed.\";'),('en','messages:rev-suppressed-unhide-diff','s:226:\"One of the revisions of this diff has been \'\'\'suppressed\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this diff] if you wish to proceed.\";'),('en','messages:rev-deleted-diff-view','s:184:\"One of the revisions of this diff has been \'\'\'deleted\'\'\'.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-diff-view','s:192:\"One of the revisions of this diff has been \'\'\'suppressed\'\'\'.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\";'),('en','messages:rev-delundel','s:9:\"show/hide\";'),('en','messages:rev-showdeleted','s:4:\"show\";'),('en','messages:revisiondelete','s:25:\"Delete/undelete revisions\";'),('en','messages:revdelete-nooldid-title','s:23:\"Invalid target revision\";'),('en','messages:revdelete-nooldid-text','s:167:\"You have either not specified a target revision(s) to perform this\nfunction, the specified revision does not exist, or you are attempting to hide the current revision.\";'),('en','messages:revdelete-nologtype-title','s:17:\"No log type given\";'),('en','messages:revdelete-nologtype-text','s:60:\"You have not specified a log type to perform this action on.\";'),('en','messages:revdelete-nologid-title','s:17:\"Invalid log entry\";'),('en','messages:revdelete-nologid-text','s:112:\"You have either not specified a target log event to perform this function or the specified entry does not exist.\";'),('en','messages:revdelete-no-file','s:34:\"The file specified does not exist.\";'),('en','messages:revdelete-show-file-confirm','s:97:\"Are you sure you want to view a deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?\";'),('en','messages:revdelete-show-file-submit','s:3:\"Yes\";'),('en','messages:revdelete-selected','s:68:\"\'\'\'{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:\'\'\'\";'),('en','messages:logdelete-selected','s:59:\"\'\'\'{{PLURAL:$1|Selected log event|Selected log events}}:\'\'\'\";'),('en','messages:revdelete-text','s:325:\"\'\'\'Deleted revisions and events will still appear in the page history and logs, but parts of their content will be inaccessible to the public.\'\'\'\nOther administrators on {{SITENAME}} will still be able to access the hidden content and can undelete it again through this same interface, unless additional restrictions are set.\";'),('en','messages:revdelete-confirm','s:168:\"Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].\";'),('en','messages:revdelete-suppress-text','s:209:\"Suppression should \'\'\'only\'\'\' be used for the following cases:\n* Potentially libelous information\n* Inappropriate personal information\n*: \'\'home addresses and telephone numbers, social security numbers, etc.\'\'\";'),('en','messages:revdelete-legend','s:27:\"Set visibility restrictions\";'),('en','messages:revdelete-hide-text','s:18:\"Hide revision text\";'),('en','messages:revdelete-hide-image','s:17:\"Hide file content\";'),('en','messages:revdelete-hide-name','s:22:\"Hide action and target\";'),('en','messages:revdelete-hide-comment','s:17:\"Hide edit summary\";'),('en','messages:revdelete-hide-user','s:33:\"Hide editor\'s username/IP address\";'),('en','messages:revdelete-hide-restricted','s:51:\"Suppress data from administrators as well as others\";'),('en','messages:revdelete-radio-same','s:15:\"(do not change)\";'),('en','messages:revdelete-radio-set','s:3:\"Yes\";'),('en','messages:revdelete-radio-unset','s:2:\"No\";'),('en','messages:revdelete-suppress','s:51:\"Suppress data from administrators as well as others\";'),('en','messages:revdelete-unsuppress','s:41:\"Remove restrictions on restored revisions\";'),('en','messages:revdelete-log','s:7:\"Reason:\";'),('en','messages:revdelete-submit','s:50:\"Apply to selected {{PLURAL:$1|revision|revisions}}\";'),('en','messages:revdelete-logentry','s:39:\"changed revision visibility of \"[[$1]]\"\";'),('en','messages:logdelete-logentry','s:36:\"changed event visibility of \"[[$1]]\"\";'),('en','messages:revdelete-success','s:47:\"\'\'\'Revision visibility successfully updated.\'\'\'\";'),('en','messages:revdelete-failure','s:50:\"\'\'\'Revision visibility could not be updated:\'\'\'\n$1\";'),('en','messages:logdelete-success','s:38:\"\'\'\'Log visibility successfully set.\'\'\'\";'),('en','messages:logdelete-failure','s:41:\"\'\'\'Log visibility could not be set:\'\'\'\n$1\";'),('en','messages:revdel-restore','s:17:\"change visibility\";'),('en','messages:revdel-restore-deleted','s:17:\"deleted revisions\";'),('en','messages:revdel-restore-visible','s:17:\"visible revisions\";'),('en','messages:pagehist','s:12:\"Page history\";'),('en','messages:deletedhist','s:15:\"Deleted history\";'),('en','messages:revdelete-content','s:7:\"content\";'),('en','messages:revdelete-summary','s:12:\"edit summary\";'),('en','messages:revdelete-uname','s:8:\"username\";'),('en','messages:revdelete-restricted','s:38:\"applied restrictions to administrators\";'),('en','messages:revdelete-unrestricted','s:39:\"removed restrictions for administrators\";'),('en','messages:revdelete-hid','s:6:\"hid $1\";'),('en','messages:revdelete-unhid','s:8:\"unhid $1\";'),('en','messages:revdelete-log-message','s:42:\"$1 for $2 {{PLURAL:$2|revision|revisions}}\";'),('en','messages:logdelete-log-message','s:36:\"$1 for $2 {{PLURAL:$2|event|events}}\";'),('en','messages:revdelete-hide-current','s:86:\"Error hiding the item dated $2, $1: This is the current revision.\nIt cannot be hidden.\";'),('en','messages:revdelete-show-no-access','s:106:\"Error showing the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it.\";'),('en','messages:revdelete-modify-no-access','s:108:\"Error modifying the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it.\";'),('en','messages:revdelete-modify-missing','s:60:\"Error modifying item ID $1: It is missing from the database!\";'),('en','messages:revdelete-no-change','s:83:\"\'\'\'Warning:\'\'\' The item dated $2, $1 already had the requested visibility settings.\";'),('en','messages:revdelete-concurrent-change','s:151:\"Error modifying the item dated $2, $1: Its status appears to have been changed by someone else while you attempted to modify it.\nPlease check the logs.\";'),('en','messages:revdelete-only-restricted','s:149:\"Error hiding the item dated $2, $1: You cannot suppress items from view by administrators without also selecting one of the other visibility options.\";'),('en','messages:revdelete-reason-dropdown','s:119:\"*Common delete reasons\n** Copyright violation\n** Inappropriate personal information\n** Potentially libelous information\";'),('en','messages:revdelete-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:revdelete-reasonotherlist','s:12:\"Other reason\";'),('en','messages:revdelete-edit-reasonlist','s:19:\"Edit delete reasons\";'),('en','messages:revdelete-offender','s:16:\"Revision author:\";'),('en','messages:suppressionlog','s:15:\"Suppression log\";'),('en','messages:suppressionlogtext','s:184:\"Below is a list of deletions and blocks involving content hidden from administrators.\nSee the [[Special:BlockList|IP block list]] for the list of currently operational bans and blocks.\";'),('en','messages:mergehistory','s:20:\"Merge page histories\";'),('en','messages:mergehistory-header','s:156:\"This page lets you merge revisions of the history of one source page into a newer page.\nMake sure that this change will maintain historical page continuity.\";'),('en','messages:mergehistory-box','s:29:\"Merge revisions of two pages:\";'),('en','messages:mergehistory-from','s:12:\"Source page:\";'),('en','messages:mergehistory-into','s:17:\"Destination page:\";'),('en','messages:mergehistory-list','s:22:\"Mergeable edit history\";'),('en','messages:mergehistory-merge','s:224:\"The following revisions of [[:$1]] can be merged into [[:$2]].\nUse the radio button column to merge in only the revisions created at and before the specified time.\nNote that using the navigation links will reset this column.\";'),('en','messages:mergehistory-go','s:20:\"Show mergeable edits\";'),('en','messages:mergehistory-submit','s:15:\"Merge revisions\";'),('en','messages:mergehistory-empty','s:27:\"No revisions can be merged.\";'),('en','messages:mergehistory-success','s:80:\"$3 {{PLURAL:$3|revision|revisions}} of [[:$1]] successfully merged into [[:$2]].\";'),('en','messages:mergehistory-fail','s:77:\"Unable to perform history merge, please recheck the page and time parameters.\";'),('en','messages:mergehistory-no-source','s:30:\"Source page $1 does not exist.\";'),('en','messages:mergehistory-no-destination','s:35:\"Destination page $1 does not exist.\";'),('en','messages:mergehistory-invalid-source','s:34:\"Source page must be a valid title.\";'),('en','messages:mergehistory-invalid-destination','s:39:\"Destination page must be a valid title.\";'),('en','messages:mergehistory-autocomment','s:27:\"Merged [[:$1]] into [[:$2]]\";'),('en','messages:mergehistory-comment','s:31:\"Merged [[:$1]] into [[:$2]]: $3\";'),('en','messages:mergehistory-same-destination','s:47:\"Source and destination pages cannot be the same\";'),('en','messages:mergehistory-reason','s:7:\"Reason:\";'),('en','messages:mergelog','s:9:\"Merge log\";'),('en','messages:pagemerge-logentry','s:46:\"merged [[$1]] into [[$2]] (revisions up to $3)\";'),('en','messages:revertmerge','s:7:\"Unmerge\";'),('en','messages:mergelogpagetext','s:75:\"Below is a list of the most recent merges of one page history into another.\";'),('en','messages:history-title','s:24:\"Revision history of \"$1\"\";'),('en','messages:difference','s:30:\"(Difference between revisions)\";'),('en','messages:difference-multipage','s:26:\"(Difference between pages)\";'),('en','messages:lineno','s:8:\"Line $1:\";'),('en','messages:compareselectedversions','s:26:\"Compare selected revisions\";'),('en','messages:showhideselectedversions','s:28:\"Show/hide selected revisions\";'),('en','messages:editundo','s:4:\"undo\";'),('en','messages:diff-multi','s:112:\"({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by {{PLURAL:$2|one user|$2 users}} not shown)\";'),('en','messages:diff-multi-manyusers','s:118:\"({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by more than $2 {{PLURAL:$2|user|users}} not shown)\";'),('en','messages:search-summary','s:0:\"\";'),('en','messages:searchresults','s:14:\"Search results\";'),('en','messages:searchresults-title','s:23:\"Search results for \"$1\"\";'),('en','messages:searchresulttext','s:95:\"For more information about searching {{SITENAME}}, see [[{{MediaWiki:Helppage}}|{{int:help}}]].\";'),('en','messages:searchsubtitle','s:166:\"You searched for \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|all pages starting with \"$1\"]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|all pages that link to \"$1\"]])\";'),('en','messages:searchsubtitleinvalid','s:25:\"You searched for \'\'\'$1\'\'\'\";'),('en','messages:toomanymatches','s:60:\"Too many matches were returned, please try a different query\";'),('en','messages:titlematches','s:18:\"Page title matches\";'),('en','messages:notitlematches','s:21:\"No page title matches\";'),('en','messages:textmatches','s:17:\"Page text matches\";'),('en','messages:notextmatches','s:20:\"No page text matches\";'),('en','messages:prevn','s:25:\"previous {{PLURAL:$1|$1}}\";'),('en','messages:nextn','s:21:\"next {{PLURAL:$1|$1}}\";'),('en','messages:prevn-title','s:40:\"Previous $1 {{PLURAL:$1|result|results}}\";'),('en','messages:nextn-title','s:36:\"Next $1 {{PLURAL:$1|result|results}}\";'),('en','messages:shown-title','s:45:\"Show $1 {{PLURAL:$1|result|results}} per page\";'),('en','messages:viewprevnext','s:40:\"View ($1 {{int:pipe-separator}} $2) ($3)\";'),('en','messages:searchmenu-legend','s:14:\"Search options\";'),('en','messages:searchmenu-exists','s:51:\"\'\'\'There is a page named \"[[:$1]]\" on this wiki.\'\'\'\";'),('en','messages:searchmenu-new','s:45:\"\'\'\'Create the page \"[[:$1]]\" on this wiki!\'\'\'\";'),('en','messages:searchmenu-new-nocreate','s:0:\"\";'),('en','messages:searchhelp-url','s:13:\"Help:Contents\";'),('en','messages:searchmenu-prefix','s:56:\"[[Special:PrefixIndex/$1|Browse pages with this prefix]]\";'),('en','messages:searchmenu-help','s:46:\"[[{{MediaWiki:Searchhelp-url}}|{{int:help}}]]?\";'),('en','messages:searchprofile-articles','s:13:\"Content pages\";'),('en','messages:searchprofile-project','s:22:\"Help and Project pages\";'),('en','messages:searchprofile-images','s:10:\"Multimedia\";'),('en','messages:searchprofile-everything','s:10:\"Everything\";'),('en','messages:searchprofile-advanced','s:8:\"Advanced\";'),('en','messages:searchprofile-articles-tooltip','s:12:\"Search in $1\";'),('en','messages:searchprofile-project-tooltip','s:12:\"Search in $1\";'),('en','messages:searchprofile-images-tooltip','s:16:\"Search for files\";'),('en','messages:searchprofile-everything-tooltip','s:44:\"Search all of content (including talk pages)\";'),('en','messages:searchprofile-advanced-tooltip','s:27:\"Search in custom namespaces\";'),('en','messages:search-result-size','s:34:\"$1 ({{PLURAL:$2|1 word|$2 words}})\";'),('en','messages:search-result-category-size','s:111:\"{{PLURAL:$1|1 member|$1 members}} ({{PLURAL:$2|1 subcategory|$2 subcategories}}, {{PLURAL:$3|1 file|$3 files}})\";'),('en','messages:search-result-score','s:14:\"Relevance: $1%\";'),('en','messages:search-redirect','s:13:\"(redirect $1)\";'),('en','messages:search-section','s:12:\"(section $1)\";'),('en','messages:search-suggest','s:16:\"Did you mean: $1\";'),('en','messages:search-interwiki-caption','s:15:\"Sister projects\";'),('en','messages:search-interwiki-default','s:11:\"$1 results:\";'),('en','messages:search-interwiki-custom','s:0:\"\";'),('en','messages:search-interwiki-more','s:6:\"(more)\";'),('en','messages:search-mwsuggest-enabled','s:16:\"with suggestions\";'),('en','messages:search-mwsuggest-disabled','s:14:\"no suggestions\";'),('en','messages:search-relatedarticle','s:7:\"Related\";'),('en','messages:mwsuggest-disable','s:24:\"Disable AJAX suggestions\";'),('en','messages:searcheverything-enable','s:24:\"Search in all namespaces\";'),('en','messages:searchrelated','s:7:\"related\";'),('en','messages:searchall','s:3:\"all\";'),('en','messages:showingresults','s:90:\"Showing below up to {{PLURAL:$1|\'\'\'1\'\'\' result|\'\'\'$1\'\'\' results}} starting with #\'\'\'$2\'\'\'.\";'),('en','messages:showingresultsnum','s:84:\"Showing below {{PLURAL:$3|\'\'\'1\'\'\' result|\'\'\'$3\'\'\' results}} starting with #\'\'\'$2\'\'\'.\";'),('en','messages:showingresultsheader','s:88:\"{{PLURAL:$5|Result \'\'\'$1\'\'\' of \'\'\'$3\'\'\'|Results \'\'\'$1 - $2\'\'\' of \'\'\'$3\'\'\'}} for \'\'\'$4\'\'\'\";'),('en','messages:nonefound','s:198:\"\'\'\'Note\'\'\': Only some namespaces are searched by default.\nTry prefixing your query with \'\'all:\'\' to search all content (including talk pages, templates, etc), or use the desired namespace as prefix.\";'),('en','messages:search-nonefound','s:41:\"There were no results matching the query.\";'),('en','messages:powersearch','s:15:\"Advanced search\";'),('en','messages:powersearch-legend','s:15:\"Advanced search\";'),('en','messages:powersearch-ns','s:21:\"Search in namespaces:\";'),('en','messages:powersearch-redir','s:14:\"List redirects\";'),('en','messages:powersearch-field','s:10:\"Search for\";'),('en','messages:powersearch-togglelabel','s:6:\"Check:\";'),('en','messages:powersearch-toggleall','s:3:\"All\";'),('en','messages:powersearch-togglenone','s:4:\"None\";'),('en','messages:search-external','s:15:\"External search\";'),('en','messages:searchdisabled','s:143:\"{{SITENAME}} search is disabled.\nYou can search via Google in the meantime.\nNote that their indexes of {{SITENAME}} content may be out of date.\";'),('en','messages:googlesearch','s:630:\"<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n	<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n	<input type=\"hidden\" name=\"num\" value=\"50\" />\n	<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n	<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n	<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n	<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>\";'),('en','messages:opensearch-desc','s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";'),('en','messages:qbsettings','s:8:\"Quickbar\";'),('en','messages:qbsettings-none','s:4:\"None\";'),('en','messages:qbsettings-fixedleft','s:10:\"Fixed left\";'),('en','messages:qbsettings-fixedright','s:11:\"Fixed right\";'),('en','messages:qbsettings-floatingleft','s:13:\"Floating left\";'),('en','messages:qbsettings-floatingright','s:14:\"Floating right\";'),('en','messages:qbsettings-directionality','s:62:\"Fixed, depending on the script directionality of your language\";'),('en','messages:preferences','s:11:\"Preferences\";'),('en','messages:preferences-summary','s:0:\"\";'),('en','messages:mypreferences','s:14:\"My preferences\";'),('en','messages:prefs-edits','s:16:\"Number of edits:\";'),('en','messages:prefsnologin','s:13:\"Not logged in\";'),('en','messages:prefsnologintext','s:127:\"You must be <span class=\"plainlinks\">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} logged in]</span> to set user preferences.\";'),('en','messages:changepassword','s:15:\"Change password\";'),('en','messages:prefs-skin','s:4:\"Skin\";'),('en','messages:skin-preview','s:7:\"Preview\";'),('en','messages:datedefault','s:13:\"No preference\";'),('en','messages:prefs-beta','s:13:\"Beta features\";'),('en','messages:prefs-datetime','s:13:\"Date and time\";'),('en','messages:prefs-labs','s:13:\"Labs features\";'),('en','messages:prefs-personal','s:12:\"User profile\";'),('en','messages:prefs-rc','s:14:\"Recent changes\";'),('en','messages:prefs-watchlist','s:9:\"Watchlist\";'),('en','messages:prefs-watchlist-days','s:26:\"Days to show in watchlist:\";'),('en','messages:prefs-watchlist-days-max','s:14:\"Maximum 7 days\";'),('en','messages:prefs-watchlist-edits','s:56:\"Maximum number of changes to show in expanded watchlist:\";'),('en','messages:prefs-watchlist-edits-max','s:20:\"Maximum number: 1000\";'),('en','messages:prefs-watchlist-token','s:16:\"Watchlist token:\";'),('en','messages:prefs-misc','s:4:\"Misc\";'),('en','messages:prefs-resetpass','s:15:\"Change password\";'),('en','messages:prefs-email','s:14:\"E-mail options\";'),('en','messages:prefs-rendering','s:10:\"Appearance\";'),('en','messages:saveprefs','s:4:\"Save\";'),('en','messages:resetprefs','s:21:\"Clear unsaved changes\";'),('en','messages:restoreprefs','s:28:\"Restore all default settings\";'),('en','messages:prefs-editing','s:7:\"Editing\";'),('en','messages:prefs-edit-boxsize','s:24:\"Size of the edit window.\";'),('en','messages:rows','s:5:\"Rows:\";'),('en','messages:columns','s:8:\"Columns:\";'),('en','messages:searchresultshead','s:6:\"Search\";'),('en','messages:resultsperpage','s:14:\"Hits per page:\";'),('en','messages:stub-threshold','s:72:\"Threshold for <a href=\"#\" class=\"stub\">stub link</a> formatting (bytes):\";'),('en','messages:stub-threshold-disabled','s:8:\"Disabled\";'),('en','messages:recentchangesdays','s:31:\"Days to show in recent changes:\";'),('en','messages:recentchangesdays-max','s:33:\"Maximum $1 {{PLURAL:$1|day|days}}\";'),('en','messages:recentchangescount','s:35:\"Number of edits to show by default:\";'),('en','messages:prefs-help-recentchangescount','s:55:\"This includes recent changes, page histories, and logs.\";'),('en','messages:prefs-help-watchlist-token','s:237:\"Filling in this field with a secret key will generate an RSS feed for your watchlist.\nAnyone who knows the key in this field will be able to read your watchlist, so choose a secure value.\nHere\'s a randomly-generated value you can use: $1\";'),('en','messages:savedprefs','s:33:\"Your preferences have been saved.\";'),('en','messages:timezonelegend','s:10:\"Time zone:\";'),('en','messages:localtime','s:11:\"Local time:\";'),('en','messages:timezoneuseserverdefault','s:21:\"Use wiki default ($1)\";'),('en','messages:timezoneuseoffset','s:22:\"Other (specify offset)\";'),('en','messages:timezoneoffset','s:9:\"Offset¹:\";'),('en','messages:servertime','s:12:\"Server time:\";'),('en','messages:guesstimezone','s:20:\"Fill in from browser\";'),('en','messages:timezoneregion-africa','s:6:\"Africa\";'),('en','messages:timezoneregion-america','s:7:\"America\";'),('en','messages:timezoneregion-antarctica','s:10:\"Antarctica\";'),('en','messages:timezoneregion-arctic','s:6:\"Arctic\";'),('en','messages:timezoneregion-asia','s:4:\"Asia\";'),('en','messages:timezoneregion-atlantic','s:14:\"Atlantic Ocean\";'),('en','messages:timezoneregion-australia','s:9:\"Australia\";'),('en','messages:timezoneregion-europe','s:6:\"Europe\";'),('en','messages:timezoneregion-indian','s:12:\"Indian Ocean\";'),('en','messages:timezoneregion-pacific','s:13:\"Pacific Ocean\";'),('en','messages:allowemail','s:30:\"Enable e-mail from other users\";'),('en','messages:prefs-searchoptions','s:14:\"Search options\";'),('en','messages:prefs-namespaces','s:10:\"Namespaces\";'),('en','messages:defaultns','s:37:\"Otherwise search in these namespaces:\";'),('en','messages:default','s:7:\"default\";'),('en','messages:prefs-files','s:5:\"Files\";'),('en','messages:prefs-custom-css','s:10:\"Custom CSS\";'),('en','messages:prefs-custom-js','s:17:\"Custom JavaScript\";'),('en','messages:prefs-common-css-js','s:36:\"Shared CSS/JavaScript for all skins:\";'),('en','messages:prefs-reset-intro','s:92:\"You can use this page to reset your preferences to the site defaults.\nThis cannot be undone.\";'),('en','messages:prefs-emailconfirm-label','s:20:\"E-mail confirmation:\";'),('en','messages:prefs-textboxsize','s:22:\"Size of editing window\";'),('en','messages:youremail','s:7:\"E-mail:\";'),('en','messages:username','s:9:\"Username:\";'),('en','messages:uid','s:8:\"User ID:\";'),('en','messages:prefs-memberingroups','s:37:\"Member of {{PLURAL:$1|group|groups}}:\";'),('en','messages:prefs-memberingroups-type','s:2:\"$1\";'),('en','messages:prefs-registration','s:18:\"Registration time:\";'),('en','messages:prefs-registration-date-time','s:2:\"$1\";'),('en','messages:yourrealname','s:10:\"Real name:\";'),('en','messages:yourlanguage','s:9:\"Language:\";'),('en','messages:yourvariant','s:25:\"Content language variant:\";'),('en','messages:yournick','s:14:\"New signature:\";'),('en','messages:prefs-help-signature','s:129:\"Comments on talk pages should be signed with \"<nowiki>~~~~</nowiki>\" which will be converted into your signature and a timestamp.\";'),('en','messages:badsig','s:39:\"Invalid raw signature.\nCheck HTML tags.\";'),('en','messages:badsiglength','s:96:\"Your signature is too long.\nIt must not be more than $1 {{PLURAL:$1|character|characters}} long.\";'),('en','messages:yourgender','s:7:\"Gender:\";'),('en','messages:gender-unknown','s:11:\"Undisclosed\";'),('en','messages:gender-male','s:4:\"Male\";'),('en','messages:gender-female','s:6:\"Female\";'),('en','messages:prefs-help-gender','s:94:\"Optional: Used for gender-correct addressing by the software.\nThis information will be public.\";'),('en','messages:email','s:6:\"E-mail\";'),('en','messages:prefs-help-realname','s:111:\"Real name is optional.\nIf you choose to provide it, this will be used for giving you attribution for your work.\";'),('en','messages:prefs-help-email','s:95:\"E-mail address is optional, but is needed for password resets, should you forget your password.\";'),('en','messages:prefs-help-email-others','s:163:\"You can also choose to let others contact you by e-mail through a link on your user or talk page.\nYour e-mail address is not revealed when other users contact you.\";'),('en','messages:prefs-help-email-required','s:27:\"E-mail address is required.\";'),('en','messages:prefs-info','s:17:\"Basic information\";'),('en','messages:prefs-i18n','s:20:\"Internationalisation\";'),('en','messages:prefs-signature','s:9:\"Signature\";'),('en','messages:prefs-dateformat','s:11:\"Date format\";'),('en','messages:prefs-timeoffset','s:11:\"Time offset\";'),('en','messages:prefs-advancedediting','s:16:\"Advanced options\";'),('en','messages:prefs-advancedrc','s:16:\"Advanced options\";'),('en','messages:prefs-advancedrendering','s:16:\"Advanced options\";'),('en','messages:prefs-advancedsearchoptions','s:16:\"Advanced options\";'),('en','messages:prefs-advancedwatchlist','s:16:\"Advanced options\";'),('en','messages:prefs-displayrc','s:15:\"Display options\";'),('en','messages:prefs-displaysearchoptions','s:15:\"Display options\";'),('en','messages:prefs-displaywatchlist','s:15:\"Display options\";'),('en','messages:prefs-diffs','s:5:\"Diffs\";'),('en','messages:email-address-validity-valid','s:28:\"E-mail address appears valid\";'),('en','messages:email-address-validity-invalid','s:28:\"Enter a valid e-mail address\";'),('en','messages:userrights','s:22:\"User rights management\";'),('en','messages:userrights-summary','s:0:\"\";'),('en','messages:userrights-lookup-user','s:18:\"Manage user groups\";'),('en','messages:userrights-user-editname','s:17:\"Enter a username:\";'),('en','messages:editusergroup','s:16:\"Edit user groups\";'),('en','messages:editinguser','s:164:\"Changing user rights of user \'\'\'[[User:$1|$1]]\'\'\' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])\";'),('en','messages:userrights-editusergroup','s:16:\"Edit user groups\";'),('en','messages:saveusergroups','s:16:\"Save user groups\";'),('en','messages:userrights-groupsmember','s:10:\"Member of:\";'),('en','messages:userrights-groupsmember-auto','s:19:\"Implicit member of:\";'),('en','messages:userrights-groups-help','s:234:\"You may alter the groups this user is in:\n* A checked box means the user is in that group.\n* An unchecked box means the user is not in that group.\n* A * indicates that you cannot remove the group once you have added it, or vice versa.\";'),('en','messages:userrights-reason','s:7:\"Reason:\";'),('en','messages:userrights-no-interwiki','s:62:\"You do not have permission to edit user rights on other wikis.\";'),('en','messages:userrights-nodatabase','s:43:\"Database $1 does not exist or is not local.\";'),('en','messages:userrights-nologin','s:90:\"You must [[Special:UserLogin|log in]] with an administrator account to assign user rights.\";'),('en','messages:userrights-notallowed','s:67:\"Your account does not have permission to add or remove user rights.\";'),('en','messages:userrights-changeable-col','s:21:\"Groups you can change\";'),('en','messages:userrights-unchangeable-col','s:24:\"Groups you cannot change\";'),('en','messages:userrights-irreversible-marker','s:3:\"$1*\";'),('en','messages:group','s:6:\"Group:\";'),('en','messages:group-user','s:5:\"Users\";'),('en','messages:group-autoconfirmed','s:19:\"Autoconfirmed users\";'),('en','messages:group-bot','s:4:\"Bots\";'),('en','messages:group-sysop','s:14:\"Administrators\";'),('en','messages:group-bureaucrat','s:11:\"Bureaucrats\";'),('en','messages:group-suppress','s:10:\"Oversights\";'),('en','messages:group-all','s:5:\"(all)\";'),('en','messages:group-user-member','s:4:\"user\";'),('en','messages:group-autoconfirmed-member','s:18:\"autoconfirmed user\";'),('en','messages:group-bot-member','s:3:\"bot\";'),('en','messages:group-sysop-member','s:13:\"administrator\";'),('en','messages:group-bureaucrat-member','s:10:\"bureaucrat\";'),('en','messages:group-suppress-member','s:9:\"oversight\";'),('en','messages:grouppage-user','s:20:\"{{ns:project}}:Users\";'),('en','messages:grouppage-autoconfirmed','s:34:\"{{ns:project}}:Autoconfirmed users\";'),('en','messages:grouppage-bot','s:19:\"{{ns:project}}:Bots\";'),('en','messages:grouppage-sysop','s:29:\"{{ns:project}}:Administrators\";'),('en','messages:grouppage-bureaucrat','s:26:\"{{ns:project}}:Bureaucrats\";'),('en','messages:grouppage-suppress','s:24:\"{{ns:project}}:Oversight\";'),('en','messages:right-read','s:10:\"Read pages\";'),('en','messages:right-edit','s:10:\"Edit pages\";'),('en','messages:right-createpage','s:45:\"Create pages (which are not discussion pages)\";'),('en','messages:right-createtalk','s:23:\"Create discussion pages\";'),('en','messages:right-createaccount','s:24:\"Create new user accounts\";'),('en','messages:right-minoredit','s:19:\"Mark edits as minor\";'),('en','messages:right-move','s:10:\"Move pages\";'),('en','messages:right-move-subpages','s:30:\"Move pages with their subpages\";'),('en','messages:right-move-rootuserpages','s:20:\"Move root user pages\";'),('en','messages:right-movefile','s:10:\"Move files\";'),('en','messages:right-suppressredirect','s:56:\"Not create redirects from source pages when moving pages\";'),('en','messages:right-upload','s:12:\"Upload files\";'),('en','messages:right-reupload','s:24:\"Overwrite existing files\";'),('en','messages:right-reupload-own','s:44:\"Overwrite existing files uploaded by oneself\";'),('en','messages:right-reupload-shared','s:53:\"Override files on the shared media repository locally\";'),('en','messages:right-upload_by_url','s:23:\"Upload files from a URL\";'),('en','messages:right-purge','s:52:\"Purge the site cache for a page without confirmation\";'),('en','messages:right-autoconfirmed','s:25:\"Edit semi-protected pages\";'),('en','messages:right-bot','s:34:\"Be treated as an automated process\";'),('en','messages:right-nominornewtalk','s:72:\"Not have minor edits to discussion pages trigger the new messages prompt\";'),('en','messages:right-apihighlimits','s:32:\"Use higher limits in API queries\";'),('en','messages:right-writeapi','s:20:\"Use of the write API\";'),('en','messages:right-delete','s:12:\"Delete pages\";'),('en','messages:right-bigdelete','s:33:\"Delete pages with large histories\";'),('en','messages:right-deleterevision','s:47:\"Delete and undelete specific revisions of pages\";'),('en','messages:right-deletedhistory','s:59:\"View deleted history entries, without their associated text\";'),('en','messages:right-deletedtext','s:55:\"View deleted text and changes between deleted revisions\";'),('en','messages:right-browsearchive','s:20:\"Search deleted pages\";'),('en','messages:right-undelete','s:15:\"Undelete a page\";'),('en','messages:right-suppressrevision','s:55:\"Review and restore revisions hidden from administrators\";'),('en','messages:right-suppressionlog','s:17:\"View private logs\";'),('en','messages:right-block','s:30:\"Block other users from editing\";'),('en','messages:right-blockemail','s:32:\"Block a user from sending e-mail\";'),('en','messages:right-hideuser','s:43:\"Block a username, hiding it from the public\";'),('en','messages:right-ipblock-exempt','s:46:\"Bypass IP blocks, auto-blocks and range blocks\";'),('en','messages:right-proxyunbannable','s:34:\"Bypass automatic blocks of proxies\";'),('en','messages:right-unblockself','s:18:\"Unblock themselves\";'),('en','messages:right-protect','s:49:\"Change protection levels and edit protected pages\";'),('en','messages:right-editprotected','s:51:\"Edit protected pages (without cascading protection)\";'),('en','messages:right-editinterface','s:23:\"Edit the user interface\";'),('en','messages:right-editusercssjs','s:42:\"Edit other users\' CSS and JavaScript files\";'),('en','messages:right-editusercss','s:27:\"Edit other users\' CSS files\";'),('en','messages:right-edituserjs','s:34:\"Edit other users\' JavaScript files\";'),('en','messages:right-rollback','s:72:\"Quickly rollback the edits of the last user who edited a particular page\";'),('en','messages:right-markbotedits','s:35:\"Mark rolled-back edits as bot edits\";'),('en','messages:right-noratelimit','s:30:\"Not be affected by rate limits\";'),('en','messages:right-import','s:29:\"Import pages from other wikis\";'),('en','messages:right-importupload','s:31:\"Import pages from a file upload\";'),('en','messages:right-patrol','s:31:\"Mark others\' edits as patrolled\";'),('en','messages:right-autopatrol','s:54:\"Have one\'s own edits automatically marked as patrolled\";'),('en','messages:right-patrolmarks','s:32:\"View recent changes patrol marks\";'),('en','messages:right-unwatchedpages','s:30:\"View a list of unwatched pages\";'),('en','messages:right-trackback','s:18:\"Submit a trackback\";'),('en','messages:right-mergehistory','s:26:\"Merge the history of pages\";'),('en','messages:right-userrights','s:20:\"Edit all user rights\";'),('en','messages:right-userrights-interwiki','s:40:\"Edit user rights of users on other wikis\";'),('en','messages:right-siteadmin','s:28:\"Lock and unlock the database\";'),('en','messages:right-override-export-depth','s:54:\"Export pages including linked pages up to a depth of 5\";'),('en','messages:right-sendemail','s:26:\"Send e-mail to other users\";'),('en','messages:rightslog','s:15:\"User rights log\";'),('en','messages:rightslogtext','s:40:\"This is a log of changes to user rights.\";'),('en','messages:rightslogentry','s:45:\"changed group membership for $1 from $2 to $3\";'),('en','messages:rightslogentry-autopromote','s:40:\"was automatically promoted from $2 to $3\";'),('en','messages:rightsnone','s:6:\"(none)\";'),('en','messages:action-read','s:14:\"read this page\";'),('en','messages:action-edit','s:14:\"edit this page\";'),('en','messages:action-createpage','s:12:\"create pages\";'),('en','messages:action-createtalk','s:23:\"create discussion pages\";'),('en','messages:action-createaccount','s:24:\"create this user account\";'),('en','messages:action-minoredit','s:23:\"mark this edit as minor\";'),('en','messages:action-move','s:14:\"move this page\";'),('en','messages:action-move-subpages','s:32:\"move this page, and its subpages\";'),('en','messages:action-move-rootuserpages','s:20:\"move root user pages\";'),('en','messages:action-movefile','s:14:\"move this file\";'),('en','messages:action-upload','s:16:\"upload this file\";'),('en','messages:action-reupload','s:28:\"overwrite this existing file\";'),('en','messages:action-reupload-shared','s:41:\"override this file on a shared repository\";'),('en','messages:action-upload_by_url','s:27:\"upload this file from a URL\";'),('en','messages:action-writeapi','s:17:\"use the write API\";'),('en','messages:action-delete','s:16:\"delete this page\";'),('en','messages:action-deleterevision','s:20:\"delete this revision\";'),('en','messages:action-deletedhistory','s:32:\"view this page\'s deleted history\";'),('en','messages:action-browsearchive','s:20:\"search deleted pages\";'),('en','messages:action-undelete','s:18:\"undelete this page\";'),('en','messages:action-suppressrevision','s:39:\"review and restore this hidden revision\";'),('en','messages:action-suppressionlog','s:21:\"view this private log\";'),('en','messages:action-block','s:28:\"block this user from editing\";'),('en','messages:action-protect','s:38:\"change protection levels for this page\";'),('en','messages:action-import','s:34:\"import this page from another wiki\";'),('en','messages:action-importupload','s:35:\"import this page from a file upload\";'),('en','messages:action-patrol','s:30:\"mark others\' edit as patrolled\";'),('en','messages:action-autopatrol','s:34:\"have your edit marked as patrolled\";'),('en','messages:action-unwatchedpages','s:32:\"view the list of unwatched pages\";'),('en','messages:action-trackback','s:18:\"submit a trackback\";'),('en','messages:action-mergehistory','s:30:\"merge the history of this page\";'),('en','messages:action-userrights','s:20:\"edit all user rights\";'),('en','messages:action-userrights-interwiki','s:40:\"edit user rights of users on other wikis\";'),('en','messages:action-siteadmin','s:27:\"lock or unlock the database\";'),('en','messages:nchanges','s:31:\"$1 {{PLURAL:$1|change|changes}}\";'),('en','messages:recentchanges','s:14:\"Recent changes\";'),('en','messages:recentchanges-url','s:21:\"Special:RecentChanges\";'),('en','messages:recentchanges-legend','s:22:\"Recent changes options\";'),('en','messages:recentchangestext','s:55:\"Track the most recent changes to the wiki on this page.\";'),('en','messages:recentchanges-feed-description','s:55:\"Track the most recent changes to the wiki in this feed.\";'),('en','messages:recentchanges-label-newpage','s:28:\"This edit created a new page\";'),('en','messages:recentchanges-label-minor','s:20:\"This is a minor edit\";'),('en','messages:recentchanges-label-bot','s:32:\"This edit was performed by a bot\";'),('en','messages:recentchanges-label-unpatrolled','s:36:\"This edit has not yet been patrolled\";'),('en','messages:rcnote','s:126:\"Below {{PLURAL:$1|is \'\'\'1\'\'\' change|are the last \'\'\'$1\'\'\' changes}} in the last {{PLURAL:$2|day|\'\'\'$2\'\'\' days}}, as of $5, $4.\";'),('en','messages:rcnotefrom','s:60:\"Below are the changes since \'\'\'$2\'\'\' (up to \'\'\'$1\'\'\' shown).\";'),('en','messages:rclistfrom','s:33:\"Show new changes starting from $1\";'),('en','messages:rcshowhideminor','s:14:\"$1 minor edits\";'),('en','messages:rcshowhidebots','s:7:\"$1 bots\";'),('en','messages:rcshowhideliu','s:18:\"$1 logged-in users\";'),('en','messages:rcshowhideanons','s:18:\"$1 anonymous users\";'),('en','messages:rcshowhidepatr','s:18:\"$1 patrolled edits\";'),('en','messages:rcshowhidemine','s:11:\"$1 my edits\";'),('en','messages:rclinks','s:44:\"Show last $1 changes in last $2 days<br />$3\";'),('en','messages:diff','s:4:\"diff\";'),('en','messages:hist','s:4:\"hist\";'),('en','messages:hide','s:4:\"Hide\";'),('en','messages:show','s:4:\"Show\";'),('en','messages:minoreditletter','s:1:\"m\";'),('en','messages:newpageletter','s:1:\"N\";'),('en','messages:boteditletter','s:1:\"b\";'),('en','messages:unpatrolledletter','s:1:\"!\";'),('en','messages:sectionlink','s:3:\"→\";'),('en','messages:number_of_watching_users_RCview','s:4:\"[$1]\";'),('en','messages:number_of_watching_users_pageview','s:38:\"[$1 watching {{PLURAL:$1|user|users}}]\";'),('en','messages:rc_categories','s:39:\"Limit to categories (separate with \"|\")\";'),('en','messages:rc_categories_any','s:3:\"Any\";'),('en','messages:rc-change-size','s:2:\"$1\";'),('en','messages:newsectionsummary','s:20:\"/* $1 */ new section\";'),('en','messages:rc-enhanced-expand','s:34:\"Show details (requires JavaScript)\";'),('en','messages:rc-enhanced-hide','s:12:\"Hide details\";'),('en','messages:recentchangeslinked','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-feed','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-toolbox','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-title','s:23:\"Changes related to \"$1\"\";'),('en','messages:recentchangeslinked-backlink','s:6:\"← $1\";'),('en','messages:recentchangeslinked-noresult','s:51:\"No changes on linked pages during the given period.\";'),('en','messages:recentchangeslinked-summary','s:180:\"This is a list of changes made recently to pages linked from a specified page (or to members of a specified category).\nPages on [[Special:Watchlist|your watchlist]] are \'\'\'bold\'\'\'.\";'),('en','messages:recentchangeslinked-page','s:10:\"Page name:\";'),('en','messages:recentchangeslinked-to','s:54:\"Show changes to pages linked to the given page instead\";'),('en','messages:upload','s:11:\"Upload file\";'),('en','messages:uploadbtn','s:11:\"Upload file\";'),('en','messages:reuploaddesc','s:43:\"Cancel upload and return to the upload form\";'),('en','messages:upload-tryagain','s:32:\"Submit modified file description\";'),('en','messages:uploadnologin','s:13:\"Not logged in\";'),('en','messages:uploadnologintext','s:60:\"You must be [[Special:UserLogin|logged in]] to upload files.\";'),('en','messages:upload_directory_missing','s:79:\"The upload directory ($1) is missing and could not be created by the webserver.\";'),('en','messages:upload_directory_read_only','s:59:\"The upload directory ($1) is not writable by the webserver.\";'),('en','messages:uploaderror','s:12:\"Upload error\";'),('en','messages:upload-summary','s:0:\"\";'),('en','messages:upload-recreate-warning','s:137:\"\'\'\'Warning: A file by that name has been deleted or moved.\'\'\'\n\nThe deletion and move log for this page are provided here for convenience:\";'),('en','messages:uploadtext','s:775:\"Use the form below to upload files.\nTo view or search previously uploaded files go to the [[Special:FileList|list of uploaded files]], (re)uploads are also logged in the [[Special:Log/upload|upload log]], deletions in the [[Special:Log/delete|deletion log]].\n\nTo include a file in a page, use a link in one of the following forms:\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></tt>\'\'\' to use the full version of the file\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt text]]</nowiki></tt>\'\'\' to use a 200 pixel wide rendition in a box in the left margin with \'alt text\' as description\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></tt>\'\'\' for directly linking to the file without displaying the file\";'),('en','messages:upload-permitted','s:25:\"Permitted file types: $1.\";'),('en','messages:upload-preferred','s:25:\"Preferred file types: $1.\";'),('en','messages:upload-prohibited','s:26:\"Prohibited file types: $1.\";'),('en','messages:uploadfooter','s:1:\"-\";'),('en','messages:uploadlog','s:10:\"upload log\";'),('en','messages:uploadlogpage','s:10:\"Upload log\";'),('en','messages:uploadlogpagetext','s:126:\"Below is a list of the most recent file uploads.\nSee the [[Special:NewFiles|gallery of new files]] for a more visual overview.\";'),('en','messages:filename','s:8:\"Filename\";'),('en','messages:filedesc','s:7:\"Summary\";'),('en','messages:fileuploadsummary','s:8:\"Summary:\";'),('en','messages:filereuploadsummary','s:13:\"File changes:\";'),('en','messages:filestatus','s:17:\"Copyright status:\";'),('en','messages:filesource','s:7:\"Source:\";'),('en','messages:uploadedfiles','s:14:\"Uploaded files\";'),('en','messages:ignorewarning','s:35:\"Ignore warning and save file anyway\";'),('en','messages:ignorewarnings','s:19:\"Ignore any warnings\";'),('en','messages:minlength1','s:39:\"File names must be at least one letter.\";'),('en','messages:illegalfilename','s:125:\"The filename \"$1\" contains characters that are not allowed in page titles.\nPlease rename the file and try uploading it again.\";'),('en','messages:badfilename','s:35:\"File name has been changed to \"$1\".\";'),('en','messages:filetype-mime-mismatch','s:76:\"File extension \".$1\" does not match the detected MIME type of the file ($2).\";'),('en','messages:filetype-badmime','s:59:\"Files of the MIME type \"$1\" are not allowed to be uploaded.\";'),('en','messages:filetype-bad-ie-mime','s:133:\"Cannot upload this file because Internet Explorer would detect it as \"$1\", which is a disallowed and potentially dangerous file type.\";'),('en','messages:filetype-unwanted-type','s:93:\"\'\'\'\".$1\"\'\'\' is an unwanted file type.\nPreferred {{PLURAL:$3|file type is|file types are}} $2.\";'),('en','messages:filetype-banned-type','s:140:\"\'\'\'\".$1\"\'\'\' {{PLURAL:$4|is not a permitted file type|are not permitted file types}}.\nPermitted {{PLURAL:$3|file type is|file types are}} $2.\";'),('en','messages:filetype-missing','s:40:\"The file has no extension (like \".jpg\").\";'),('en','messages:empty-file','s:33:\"The file you submitted was empty.\";'),('en','messages:file-too-large','s:37:\"The file you submitted was too large.\";'),('en','messages:filename-tooshort','s:26:\"The filename is too short.\";'),('en','messages:filetype-banned','s:28:\"This type of file is banned.\";'),('en','messages:verification-error','s:41:\"This file did not pass file verification.\";'),('en','messages:hookaborted','s:68:\"The modification you tried to make was aborted by an extension hook.\";'),('en','messages:illegal-filename','s:28:\"The filename is not allowed.\";'),('en','messages:overwrite','s:44:\"Overwriting an existing file is not allowed.\";'),('en','messages:unknown-error','s:25:\"An unknown error occured.\";'),('en','messages:tmp-create-error','s:32:\"Could not create temporary file.\";'),('en','messages:tmp-write-error','s:29:\"Error writing temporary file.\";'),('en','messages:large-file','s:68:\"It is recommended that files are no larger than $1;\nthis file is $2.\";'),('en','messages:largefileserver','s:59:\"This file is bigger than the server is configured to allow.\";'),('en','messages:emptyfile','s:144:\"The file you uploaded seems to be empty.\nThis might be due to a typo in the file name.\nPlease check whether you really want to upload this file.\";'),('en','messages:windows-nonascii-filename','s:61:\"This wiki does not support filenames with special characters.\";'),('en','messages:fileexists','s:132:\"A file with this name exists already, please check \'\'\'<tt>[[:$1]]</tt>\'\'\' if you are not sure if you want to change it.\n[[$1|thumb]]\";'),('en','messages:filepageexists','s:277:\"The description page for this file has already been created at \'\'\'<tt>[[:$1]]</tt>\'\'\', but no file with this name currently exists.\nThe summary you enter will not appear on the description page.\nTo make your summary appear there, you will need to manually edit it.\n[[$1|thumb]]\";'),('en','messages:fileexists-extension','s:184:\"A file with a similar name exists: [[$2|thumb]]\n* Name of the uploading file: \'\'\'<tt>[[:$1]]</tt>\'\'\'\n* Name of the existing file: \'\'\'<tt>[[:$2]]</tt>\'\'\'\nPlease choose a different name.\";'),('en','messages:fileexists-thumbnail-yes','s:226:\"The file seems to be an image of reduced size \'\'(thumbnail)\'\'.\n[[$1|thumb]]\nPlease check the file \'\'\'<tt>[[:$1]]</tt>\'\'\'.\nIf the checked file is the same image of original size it is not necessary to upload an extra thumbnail.\";'),('en','messages:file-thumbnail-no','s:198:\"The filename begins with \'\'\'<tt>$1</tt>\'\'\'.\nIt seems to be an image of reduced size \'\'(thumbnail)\'\'.\nIf you have this image in full resolution upload this one, otherwise change the file name please.\";'),('en','messages:fileexists-forbidden','s:166:\"A file with this name already exists, and cannot be overwritten.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]\";'),('en','messages:fileexists-shared-forbidden','s:169:\"A file with this name exists already in the shared file repository.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]\";'),('en','messages:file-exists-duplicate','s:67:\"This file is a duplicate of the following {{PLURAL:$1|file|files}}:\";'),('en','messages:file-deleted-duplicate','s:149:\"A file identical to this file ([[:$1]]) has previously been deleted.\nYou should check that file\'s deletion history before proceeding to re-upload it.\";'),('en','messages:uploadwarning','s:14:\"Upload warning\";'),('en','messages:uploadwarning-text','s:55:\"Please modify the file description below and try again.\";'),('en','messages:savefile','s:9:\"Save file\";'),('en','messages:uploadedimage','s:17:\"uploaded \"[[$1]]\"\";'),('en','messages:overwroteimage','s:34:\"uploaded a new version of \"[[$1]]\"\";'),('en','messages:uploaddisabled','s:17:\"Uploads disabled.\";'),('en','messages:copyuploaddisabled','s:23:\"Upload by URL disabled.\";'),('en','messages:uploadfromurl-queued','s:28:\"Your upload has been queued.\";'),('en','messages:uploaddisabledtext','s:26:\"File uploads are disabled.\";'),('en','messages:php-uploaddisabledtext','s:72:\"File uploads are disabled in PHP.\nPlease check the file_uploads setting.\";'),('en','messages:uploadscripted','s:92:\"This file contains HTML or script code that may be erroneously interpreted by a web browser.\";'),('en','messages:uploadvirus','s:38:\"The file contains a virus!\nDetails: $1\";'),('en','messages:uploadjava','s:155:\"The file is a ZIP file which contains a Java .class file.\nUploading Java files is not allowed, because they can cause security restrictions to be bypassed.\";'),('en','messages:upload-source','s:11:\"Source file\";'),('en','messages:sourcefilename','s:16:\"Source filename:\";'),('en','messages:sourceurl','s:11:\"Source URL:\";'),('en','messages:destfilename','s:21:\"Destination filename:\";'),('en','messages:upload-maxfilesize','s:21:\"Maximum file size: $1\";'),('en','messages:upload-description','s:16:\"File description\";'),('en','messages:upload-options','s:14:\"Upload options\";'),('en','messages:watchthisupload','s:15:\"Watch this file\";'),('en','messages:filewasdeleted','s:136:\"A file of this name has been previously uploaded and subsequently deleted.\nYou should check the $1 before proceeding to upload it again.\";'),('en','messages:filename-bad-prefix','s:200:\"The name of the file you are uploading begins with \'\'\'\"$1\"\'\'\', which is a non-descriptive name typically assigned automatically by digital cameras.\nPlease choose a more descriptive name for your file.\";'),('en','messages:filename-prefix-blacklist','s:432:\" #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical file names assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->\";'),('en','messages:upload-success-subj','s:17:\"Successful upload\";'),('en','messages:upload-success-msg','s:79:\"Your upload from [$2] was successful. It is available here: [[:{{ns:file}}:$1]]\";'),('en','messages:upload-failure-subj','s:14:\"Upload problem\";'),('en','messages:upload-failure-msg','s:51:\"There was a problem with your upload from [$2]:\n\n$1\";'),('en','messages:upload-warning-subj','s:14:\"Upload warning\";'),('en','messages:upload-warning-msg','s:134:\"There was a problem with your upload from [$2]. You may return to the [[Special:Upload/stash/$1|upload form]] to correct this problem.\";'),('en','messages:upload-proto-error','s:18:\"Incorrect protocol\";'),('en','messages:upload-proto-error-text','s:87:\"Remote upload requires URLs beginning with <code>http://</code> or <code>ftp://</code>.\";'),('en','messages:upload-file-error','s:14:\"Internal error\";'),('en','messages:upload-file-error-text','s:145:\"An internal error occurred when attempting to create a temporary file on the server.\nPlease contact an [[Special:ListUsers/sysop|administrator]].\";'),('en','messages:upload-misc-error','s:20:\"Unknown upload error\";'),('en','messages:upload-misc-error-text','s:189:\"An unknown error occurred during the upload.\nPlease verify that the URL is valid and accessible and try again.\nIf the problem persists, contact an [[Special:ListUsers/sysop|administrator]].\";'),('en','messages:upload-too-many-redirects','s:36:\"The URL contained too many redirects\";'),('en','messages:upload-unknown-size','s:12:\"Unknown size\";'),('en','messages:upload-http-error','s:25:\"An HTTP error occured: $1\";'),('en','messages:zip-file-open-error','s:62:\"An error was encountered when opening the file for ZIP checks.\";'),('en','messages:zip-wrong-format','s:38:\"The specified file was not a ZIP file.\";'),('en','messages:zip-bad','s:99:\"The file is a corrupt or otherwise unreadable ZIP file.\nIt cannot be properly checked for security.\";'),('en','messages:zip-unsupported','s:118:\"The file is a ZIP file which uses ZIP features not supported by MediaWiki.\nIt cannot be properly checked for security.\";'),('en','messages:uploadstash','s:12:\"Upload stash\";'),('en','messages:uploadstash-summary','s:195:\"This page provides access to files which are uploaded (or in the process of uploading) but are not yet published to the wiki. These files are not visible to anyone but the user who uploaded them.\";'),('en','messages:uploadstash-clear','s:19:\"Clear stashed files\";'),('en','messages:uploadstash-nofiles','s:26:\"You have no stashed files.\";'),('en','messages:uploadstash-badtoken','s:104:\"Performing of that action was unsuccessful, perhaps because your editing credentials expired. Try again.\";'),('en','messages:uploadstash-errclear','s:36:\"Clearing the files was unsuccessful.\";'),('en','messages:uploadstash-refresh','s:25:\"Refresh the list of files\";'),('en','messages:img-auth-accessdenied','s:13:\"Access denied\";'),('en','messages:img-auth-nopathinfo','s:198:\"Missing PATH_INFO.\nYour server is not set up to pass this information.\nIt may be CGI-based and cannot support img_auth.\n[//www.mediawiki.org/wiki/Manual:Image_Authorization See image authorization.]\";'),('en','messages:img-auth-notindir','s:57:\"Requested path is not in the configured upload directory.\";'),('en','messages:img-auth-badtitle','s:44:\"Unable to construct a valid title from \"$1\".\";'),('en','messages:img-auth-nologinnWL','s:55:\"You are not logged in and \"$1\" is not in the whitelist.\";'),('en','messages:img-auth-nofile','s:25:\"File \"$1\" does not exist.\";'),('en','messages:img-auth-isdir','s:71:\"You are trying to access a directory \"$1\".\nOnly file access is allowed.\";'),('en','messages:img-auth-streaming','s:15:\"Streaming \"$1\".\";'),('en','messages:img-auth-public','s:158:\"The function of img_auth.php is to output files from a private wiki.\nThis wiki is configured as a public wiki.\nFor optimal security, img_auth.php is disabled.\";'),('en','messages:img-auth-noread','s:39:\"User does not have access to read \"$1\".\";'),('en','messages:img-auth-bad-query-string','s:36:\"The URL has an invalid query string.\";'),('en','messages:http-invalid-url','s:15:\"Invalid URL: $1\";'),('en','messages:http-invalid-scheme','s:44:\"URLs with the \"$1\" scheme are not supported.\";'),('en','messages:http-request-error','s:41:\"HTTP request failed due to unknown error.\";'),('en','messages:http-read-error','s:16:\"HTTP read error.\";'),('en','messages:http-timed-out','s:23:\"HTTP request timed out.\";'),('en','messages:http-curl-error','s:22:\"Error fetching URL: $1\";'),('en','messages:http-host-unreachable','s:20:\"Could not reach URL.\";'),('en','messages:http-bad-status','s:50:\"There was a problem during the HTTP request: $1 $2\";'),('en','messages:upload-curl-error6','s:19:\"Could not reach URL\";'),('en','messages:upload-curl-error6-text','s:102:\"The URL provided could not be reached.\nPlease double-check that the URL is correct and the site is up.\";'),('en','messages:upload-curl-error28','s:14:\"Upload timeout\";'),('en','messages:upload-curl-error28-text','s:138:\"The site took too long to respond.\nPlease check the site is up, wait a short while and try again.\nYou may want to try at a less busy time.\";'),('en','messages:license','s:10:\"Licensing:\";'),('en','messages:license-header','s:9:\"Licensing\";'),('en','messages:nolicense','s:13:\"None selected\";'),('en','messages:licenses','s:1:\"-\";'),('en','messages:license-nopreview','s:23:\"(Preview not available)\";'),('en','messages:upload_source_url','s:35:\" (a valid, publicly accessible URL)\";'),('en','messages:upload_source_file','s:26:\" (a file on your computer)\";'),('en','messages:listfiles-summary','s:149:\"This special page shows all uploaded files.\nWhen filtered by user, only files where that user uploaded the most recent version of the file are shown.\";'),('en','messages:listfiles_search_for','s:22:\"Search for media name:\";'),('en','messages:imgfile','s:4:\"file\";'),('en','messages:listfiles','s:9:\"File list\";'),('en','messages:listfiles_thumb','s:9:\"Thumbnail\";'),('en','messages:listfiles_date','s:4:\"Date\";'),('en','messages:listfiles_name','s:4:\"Name\";'),('en','messages:listfiles_user','s:4:\"User\";'),('en','messages:listfiles_size','s:4:\"Size\";'),('en','messages:listfiles_description','s:11:\"Description\";'),('en','messages:listfiles_count','s:8:\"Versions\";'),('en','messages:file-anchor-link','s:4:\"File\";'),('en','messages:filehist','s:12:\"File history\";'),('en','messages:filehist-help','s:66:\"Click on a date/time to view the file as it appeared at that time.\";'),('en','messages:filehist-deleteall','s:10:\"delete all\";'),('en','messages:filehist-deleteone','s:6:\"delete\";'),('en','messages:filehist-revert','s:6:\"revert\";'),('en','messages:filehist-current','s:7:\"current\";'),('en','messages:filehist-datetime','s:9:\"Date/Time\";'),('en','messages:filehist-thumb','s:9:\"Thumbnail\";'),('en','messages:filehist-thumbtext','s:30:\"Thumbnail for version as of $1\";'),('en','messages:filehist-nothumb','s:12:\"No thumbnail\";'),('en','messages:filehist-user','s:4:\"User\";'),('en','messages:filehist-dimensions','s:10:\"Dimensions\";'),('en','messages:filehist-filesize','s:9:\"File size\";'),('en','messages:filehist-comment','s:7:\"Comment\";'),('en','messages:filehist-missing','s:12:\"File missing\";'),('en','messages:imagelinks','s:10:\"File usage\";'),('en','messages:linkstoimage','s:66:\"The following {{PLURAL:$1|page links|$1 pages link}} to this file:\";'),('en','messages:linkstoimage-more','s:215:\"More than $1 {{PLURAL:$1|page links|pages link}} to this file.\nThe following list shows the {{PLURAL:$1|first page link|first $1 page links}} to this file only.\nA [[Special:WhatLinksHere/$2|full list]] is available.\";'),('en','messages:nolinkstoimage','s:42:\"There are no pages that link to this file.\";'),('en','messages:morelinkstoimage','s:58:\"View [[Special:WhatLinksHere/$1|more links]] to this file.\";'),('en','messages:linkstoimage-redirect','s:21:\"$1 (file redirect) $2\";'),('en','messages:duplicatesoffile','s:135:\"The following {{PLURAL:$1|file is a duplicate|$1 files are duplicates}} of this file ([[Special:FileDuplicateSearch/$2|more details]]):\";'),('en','messages:sharedupload','s:55:\"This file is from $1 and may be used by other projects.\";'),('en','messages:sharedupload-desc-there','s:122:\"This file is from $1 and may be used by other projects.\nPlease see the [$2 file description page] for further information.\";'),('en','messages:sharedupload-desc-here','s:127:\"This file is from $1 and may be used by other projects.\nThe description on its [$2 file description page] there is shown below.\";'),('en','messages:shareddescriptionfollows','s:1:\"-\";'),('en','messages:filepage-nofile','s:28:\"No file by this name exists.\";'),('en','messages:filepage-nofile-link','s:56:\"No file by this name exists, but you can [$1 upload it].\";'),('en','messages:uploadnewversion-linktext','s:33:\"Upload a new version of this file\";'),('en','messages:shared-repo-from','s:7:\"from $1\";'),('en','messages:shared-repo','s:19:\"a shared repository\";'),('en','messages:shared-repo-name-wikimediacommons','s:17:\"Wikimedia Commons\";'),('en','messages:filepage.css','s:101:\"/* CSS placed here is included on the file description page, also included on foreign client wikis */\";'),('en','messages:filerevert','s:9:\"Revert $1\";'),('en','messages:filerevert-backlink','s:6:\"← $1\";'),('en','messages:filerevert-legend','s:11:\"Revert file\";'),('en','messages:filerevert-intro','s:88:\"You are about to revert the file \'\'\'[[Media:$1|$1]]\'\'\' to the [$4 version as of $3, $2].\";'),('en','messages:filerevert-comment','s:7:\"Reason:\";'),('en','messages:filerevert-defaultcomment','s:32:\"Reverted to version as of $2, $1\";'),('en','messages:filerevert-submit','s:6:\"Revert\";'),('en','messages:filerevert-success','s:73:\"\'\'\'[[Media:$1|$1]]\'\'\' has been reverted to the [$4 version as of $3, $2].\";'),('en','messages:filerevert-badversion','s:76:\"There is no previous local version of this file with the provided timestamp.\";'),('en','messages:filedelete','s:9:\"Delete $1\";'),('en','messages:filedelete-backlink','s:6:\"← $1\";'),('en','messages:filedelete-legend','s:11:\"Delete file\";'),('en','messages:filedelete-intro','s:85:\"You are about to delete the file \'\'\'[[Media:$1|$1]]\'\'\' along with all of its history.\";'),('en','messages:filedelete-intro-old','s:72:\"You are deleting the version of \'\'\'[[Media:$1|$1]]\'\'\' as of [$4 $3, $2].\";'),('en','messages:filedelete-comment','s:7:\"Reason:\";'),('en','messages:filedelete-submit','s:6:\"Delete\";'),('en','messages:filedelete-success','s:26:\"\'\'\'$1\'\'\' has been deleted.\";'),('en','messages:filedelete-success-old','s:67:\"The version of \'\'\'[[Media:$1|$1]]\'\'\' as of $3, $2 has been deleted.\";'),('en','messages:filedelete-nofile','s:24:\"\'\'\'$1\'\'\' does not exist.\";'),('en','messages:filedelete-nofile-old','s:71:\"There is no archived version of \'\'\'$1\'\'\' with the specified attributes.\";'),('en','messages:filedelete-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:filedelete-reason-otherlist','s:12:\"Other reason\";'),('en','messages:filedelete-reason-dropdown','s:64:\"*Common delete reasons\n** Copyright violation\n** Duplicated file\";'),('en','messages:filedelete-edit-reasonlist','s:19:\"Edit delete reasons\";'),('en','messages:filedelete-maintenance','s:74:\"Deletion and restoration of files temporarily disabled during maintenance.\";'),('en','messages:mimesearch','s:11:\"MIME search\";'),('en','messages:mimesearch-summary','s:115:\"This page enables the filtering of files for their MIME type.\nInput: contenttype/subtype, e.g. <tt>image/jpeg</tt>.\";'),('en','messages:mimetype','s:10:\"MIME type:\";'),('en','messages:download','s:8:\"download\";'),('en','messages:unwatchedpages','s:15:\"Unwatched pages\";'),('en','messages:unwatchedpages-summary','s:0:\"\";'),('en','messages:listredirects','s:17:\"List of redirects\";'),('en','messages:listredirects-summary','s:0:\"\";'),('en','messages:unusedtemplates','s:16:\"Unused templates\";'),('en','messages:unusedtemplates-summary','s:0:\"\";'),('en','messages:unusedtemplatestext','s:171:\"This page lists all pages in the {{ns:template}} namespace which are not included in another page.\nRemember to check for other links to the templates before deleting them.\";'),('en','messages:unusedtemplateswlh','s:11:\"other links\";'),('en','messages:randompage','s:11:\"Random page\";'),('en','messages:randompage-nopages','s:75:\"There are no pages in the following {{PLURAL:$2|namespace|namespaces}}: $1.\";'),('en','messages:randompage-url','s:14:\"Special:Random\";'),('en','messages:randomredirect','s:15:\"Random redirect\";'),('en','messages:randomredirect-nopages','s:45:\"There are no redirects in the namespace \"$1\".\";'),('en','messages:statistics','s:10:\"Statistics\";'),('en','messages:statistics-summary','s:0:\"\";'),('en','messages:statistics-header-pages','s:15:\"Page statistics\";'),('en','messages:statistics-header-edits','s:15:\"Edit statistics\";'),('en','messages:statistics-header-views','s:15:\"View statistics\";'),('en','messages:statistics-header-users','s:15:\"User statistics\";'),('en','messages:statistics-header-hooks','s:16:\"Other statistics\";'),('en','messages:statistics-articles','s:13:\"Content pages\";'),('en','messages:statistics-pages','s:5:\"Pages\";'),('en','messages:statistics-pages-desc','s:60:\"All pages in the wiki, including talk pages, redirects, etc.\";'),('en','messages:statistics-files','s:14:\"Uploaded files\";'),('en','messages:statistics-edits','s:40:\"Page edits since {{SITENAME}} was set up\";'),('en','messages:statistics-edits-average','s:22:\"Average edits per page\";'),('en','messages:statistics-views-total','s:11:\"Views total\";'),('en','messages:statistics-views-total-desc','s:62:\"Views to non-existing pages and special pages are not included\";'),('en','messages:statistics-views-peredit','s:14:\"Views per edit\";'),('en','messages:statistics-users','s:38:\"Registered [[Special:ListUsers|users]]\";'),('en','messages:statistics-users-active','s:12:\"Active users\";'),('en','messages:statistics-users-active-desc','s:72:\"Users who have performed an action in the last {{PLURAL:$1|day|$1 days}}\";'),('en','messages:statistics-mostpopular','s:17:\"Most viewed pages\";'),('en','messages:statistics-footer','s:0:\"\";'),('en','messages:disambiguations','s:37:\"Pages linking to disambiguation pages\";'),('en','messages:disambiguations-summary','s:0:\"\";'),('en','messages:disambiguationspage','s:17:\"Template:disambig\";'),('en','messages:disambiguations-text','s:231:\"The following pages link to a \'\'\'disambiguation page\'\'\'.\nThey should link to the appropriate topic instead.<br />\nA page is treated as disambiguation page if it uses a template which is linked from [[MediaWiki:Disambiguationspage]]\";'),('en','messages:doubleredirects','s:16:\"Double redirects\";'),('en','messages:doubleredirects-summary','s:0:\"\";'),('en','messages:doubleredirectstext','s:297:\"This page lists pages which redirect to other redirect pages.\nEach row contains links to the first and second redirect, as well as the target of the second redirect, which is usually the \"real\" target page, which the first redirect should point to.\n<del>Crossed out</del> entries have been solved.\";'),('en','messages:double-redirect-fixed-move','s:50:\"[[$1]] has been moved.\nIt now redirects to [[$2]].\";'),('en','messages:double-redirect-fixed-maintenance','s:45:\"Fixing double redirect from [[$1]] to [[$2]].\";'),('en','messages:double-redirect-fixer','s:14:\"Redirect fixer\";'),('en','messages:brokenredirects','s:16:\"Broken redirects\";'),('en','messages:brokenredirects-summary','s:0:\"\";'),('en','messages:brokenredirectstext','s:51:\"The following redirects link to non-existent pages:\";'),('en','messages:brokenredirects-edit','s:4:\"edit\";'),('en','messages:brokenredirects-delete','s:6:\"delete\";'),('en','messages:withoutinterwiki','s:28:\"Pages without language links\";'),('en','messages:withoutinterwiki-summary','s:59:\"The following pages do not link to other language versions.\";'),('en','messages:withoutinterwiki-legend','s:6:\"Prefix\";'),('en','messages:withoutinterwiki-submit','s:4:\"Show\";'),('en','messages:fewestrevisions','s:31:\"Pages with the fewest revisions\";'),('en','messages:fewestrevisions-summary','s:0:\"\";'),('en','messages:nbytes','s:27:\"$1 {{PLURAL:$1|byte|bytes}}\";'),('en','messages:ncategories','s:36:\"$1 {{PLURAL:$1|category|categories}}\";'),('en','messages:nlinks','s:27:\"$1 {{PLURAL:$1|link|links}}\";'),('en','messages:nmembers','s:31:\"$1 {{PLURAL:$1|member|members}}\";'),('en','messages:nrevisions','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:nviews','s:27:\"$1 {{PLURAL:$1|view|views}}\";'),('en','messages:nimagelinks','s:35:\"Used on $1 {{PLURAL:$1|page|pages}}\";'),('en','messages:ntransclusions','s:35:\"used on $1 {{PLURAL:$1|page|pages}}\";'),('en','messages:specialpage-empty','s:37:\"There are no results for this report.\";'),('en','messages:lonelypages','s:14:\"Orphaned pages\";'),('en','messages:lonelypages-summary','s:0:\"\";'),('en','messages:lonelypagestext','s:88:\"The following pages are not linked from or transcluded into other pages in {{SITENAME}}.\";'),('en','messages:uncategorizedpages','s:19:\"Uncategorized pages\";'),('en','messages:uncategorizedpages-summary','s:0:\"\";'),('en','messages:uncategorizedcategories','s:24:\"Uncategorized categories\";'),('en','messages:uncategorizedcategories-summary','s:0:\"\";'),('en','messages:uncategorizedimages','s:19:\"Uncategorized files\";'),('en','messages:uncategorizedimages-summary','s:0:\"\";'),('en','messages:uncategorizedtemplates','s:23:\"Uncategorized templates\";'),('en','messages:uncategorizedtemplates-summary','s:0:\"\";'),('en','messages:unusedcategories','s:17:\"Unused categories\";'),('en','messages:unusedimages','s:12:\"Unused files\";'),('en','messages:popularpages','s:13:\"Popular pages\";'),('en','messages:popularpages-summary','s:0:\"\";'),('en','messages:wantedcategories','s:17:\"Wanted categories\";'),('en','messages:wantedcategories-summary','s:0:\"\";'),('en','messages:wantedpages','s:12:\"Wanted pages\";'),('en','messages:wantedpages-summary','s:0:\"\";'),('en','messages:wantedpages-badtitle','s:31:\"Invalid title in result set: $1\";'),('en','messages:wantedfiles','s:12:\"Wanted files\";'),('en','messages:wantedfiles-summary','s:0:\"\";'),('en','messages:wantedtemplates','s:16:\"Wanted templates\";'),('en','messages:wantedtemplates-summary','s:0:\"\";'),('en','messages:mostlinked','s:20:\"Most linked-to pages\";'),('en','messages:mostlinked-summary','s:0:\"\";'),('en','messages:mostlinkedcategories','s:25:\"Most linked-to categories\";'),('en','messages:mostlinkedcategories-summary','s:0:\"\";'),('en','messages:mostlinkedtemplates','s:24:\"Most linked-to templates\";'),('en','messages:mostlinkedtemplates-summary','s:0:\"\";'),('en','messages:mostcategories','s:30:\"Pages with the most categories\";'),('en','messages:mostcategories-summary','s:0:\"\";'),('en','messages:mostimages','s:20:\"Most linked-to files\";'),('en','messages:mostimages-summary','s:0:\"\";'),('en','messages:mostrevisions','s:29:\"Pages with the most revisions\";'),('en','messages:mostrevisions-summary','s:0:\"\";'),('en','messages:prefixindex','s:21:\"All pages with prefix\";'),('en','messages:prefixindex-summary','s:0:\"\";'),('en','messages:shortpages','s:11:\"Short pages\";'),('en','messages:shortpages-summary','s:0:\"\";'),('en','messages:longpages','s:10:\"Long pages\";'),('en','messages:longpages-summary','s:0:\"\";'),('en','messages:deadendpages','s:14:\"Dead-end pages\";'),('en','messages:deadendpages-summary','s:0:\"\";'),('en','messages:deadendpagestext','s:63:\"The following pages do not link to other pages in {{SITENAME}}.\";'),('en','messages:protectedpages','s:15:\"Protected pages\";'),('en','messages:protectedpages-indef','s:27:\"Indefinite protections only\";'),('en','messages:protectedpages-summary','s:0:\"\";'),('en','messages:protectedpages-cascade','s:26:\"Cascading protections only\";'),('en','messages:protectedpagestext','s:56:\"The following pages are protected from moving or editing\";'),('en','messages:protectedpagesempty','s:55:\"No pages are currently protected with these parameters.\";'),('en','messages:protectedtitles','s:16:\"Protected titles\";'),('en','messages:protectedtitles-summary','s:0:\"\";'),('en','messages:protectedtitlestext','s:48:\"The following titles are protected from creation\";'),('en','messages:protectedtitlesempty','s:56:\"No titles are currently protected with these parameters.\";'),('en','messages:listusers','s:9:\"User list\";'),('en','messages:listusers-summary','s:0:\"\";'),('en','messages:listusers-editsonly','s:26:\"Show only users with edits\";'),('en','messages:listusers-creationsort','s:21:\"Sort by creation date\";'),('en','messages:usereditcount','s:27:\"$1 {{PLURAL:$1|edit|edits}}\";'),('en','messages:usercreated','s:19:\"Created on $1 at $2\";'),('en','messages:newpages','s:9:\"New pages\";'),('en','messages:newpages-summary','s:0:\"\";'),('en','messages:newpages-username','s:9:\"Username:\";'),('en','messages:ancientpages','s:12:\"Oldest pages\";'),('en','messages:ancientpages-summary','s:0:\"\";'),('en','messages:move','s:4:\"Move\";'),('en','messages:movethispage','s:14:\"Move this page\";'),('en','messages:unusedimagestext','s:191:\"The following files exist but are not embedded in any page.\nPlease note that other web sites may link to a file with a direct URL, and so may still be listed here despite being in active use.\";'),('en','messages:unusedcategoriestext','s:89:\"The following category pages exist, although no other page or category makes use of them.\";'),('en','messages:notargettitle','s:9:\"No target\";'),('en','messages:notargettext','s:73:\"You have not specified a target page or user to perform this function on.\";'),('en','messages:nopagetitle','s:19:\"No such target page\";'),('en','messages:nopagetext','s:50:\"The target page you have specified does not exist.\";'),('en','messages:pager-newer-n','s:30:\"{{PLURAL:$1|newer 1|newer $1}}\";'),('en','messages:pager-older-n','s:30:\"{{PLURAL:$1|older 1|older $1}}\";'),('en','messages:suppress','s:9:\"Oversight\";'),('en','messages:querypage-disabled','s:54:\"This special page is disabled for performance reasons.\";'),('en','messages:booksources','s:12:\"Book sources\";'),('en','messages:booksources-summary','s:0:\"\";'),('en','messages:booksources-search-legend','s:23:\"Search for book sources\";'),('en','messages:booksources-isbn','s:5:\"ISBN:\";'),('en','messages:booksources-go','s:2:\"Go\";'),('en','messages:booksources-text','s:140:\"Below is a list of links to other sites that sell new and used books, and may also have further information about books you are looking for:\";'),('en','messages:booksources-invalid-isbn','s:94:\"The given ISBN does not appear to be valid; check for errors copying from the original source.\";'),('en','messages:rfcurl','s:27:\"//tools.ietf.org/html/rfc$1\";'),('en','messages:pubmedurl','s:46:\"//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract\";'),('en','messages:specialloguserlabel','s:5:\"User:\";'),('en','messages:speciallogtitlelabel','s:6:\"Title:\";'),('en','messages:log','s:4:\"Logs\";'),('en','messages:all-logs-page','s:15:\"All public logs\";'),('en','messages:alllogstext','s:184:\"Combined display of all available logs of {{SITENAME}}.\nYou can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).\";'),('en','messages:logempty','s:25:\"No matching items in log.\";'),('en','messages:log-title-wildcard','s:37:\"Search titles starting with this text\";'),('en','messages:allpages','s:9:\"All pages\";'),('en','messages:allpages-summary','s:0:\"\";'),('en','messages:alphaindexline','s:8:\"$1 to $2\";'),('en','messages:nextpage','s:14:\"Next page ($1)\";'),('en','messages:prevpage','s:18:\"Previous page ($1)\";'),('en','messages:allpagesfrom','s:26:\"Display pages starting at:\";'),('en','messages:allpagesto','s:24:\"Display pages ending at:\";'),('en','messages:allarticles','s:9:\"All pages\";'),('en','messages:allinnamespace','s:24:\"All pages ($1 namespace)\";'),('en','messages:allnotinnamespace','s:31:\"All pages (not in $1 namespace)\";'),('en','messages:allpagesprev','s:8:\"Previous\";'),('en','messages:allpagesnext','s:4:\"Next\";'),('en','messages:allpagessubmit','s:2:\"Go\";'),('en','messages:allpagesprefix','s:26:\"Display pages with prefix:\";'),('en','messages:allpagesbadtitle','s:149:\"The given page title was invalid or had an inter-language or inter-wiki prefix.\nIt may contain one or more characters which cannot be used in titles.\";'),('en','messages:allpages-bad-ns','s:42:\"{{SITENAME}} does not have namespace \"$1\".\";'),('en','messages:categories','s:10:\"Categories\";'),('en','messages:categories-summary','s:0:\"\";'),('en','messages:categoriespagetext','s:204:\"The following {{PLURAL:$1|category contains|categories contain}} pages or media.\n[[Special:UnusedCategories|Unused categories]] are not shown here.\nAlso see [[Special:WantedCategories|wanted categories]].\";'),('en','messages:categoriesfrom','s:31:\"Display categories starting at:\";'),('en','messages:special-categories-sort-count','s:13:\"sort by count\";'),('en','messages:special-categories-sort-abc','s:19:\"sort alphabetically\";'),('en','messages:deletedcontributions','s:26:\"Deleted user contributions\";'),('en','messages:deletedcontributions-title','s:26:\"Deleted user contributions\";'),('en','messages:sp-deletedcontributions-contribs','s:13:\"contributions\";'),('en','messages:linksearch','s:21:\"External links search\";'),('en','messages:linksearch-pat','s:15:\"Search pattern:\";'),('en','messages:linksearch-ns','s:10:\"Namespace:\";'),('en','messages:linksearch-ok','s:6:\"Search\";'),('en','messages:linksearch-text','s:87:\"Wildcards such as \"*.wikipedia.org\" may be used.<br />\nSupported protocols: <tt>$1</tt>\";'),('en','messages:linksearch-line','s:20:\"$1 is linked from $2\";'),('en','messages:linksearch-error','s:55:\"Wildcards may appear only at the start of the hostname.\";'),('en','messages:listusersfrom','s:26:\"Display users starting at:\";'),('en','messages:listusers-submit','s:4:\"Show\";'),('en','messages:listusers-noresult','s:14:\"No user found.\";'),('en','messages:listusers-blocked','s:9:\"(blocked)\";'),('en','messages:activeusers','s:17:\"Active users list\";'),('en','messages:activeusers-summary','s:0:\"\";'),('en','messages:activeusers-intro','s:96:\"This is a list of users who had some kind of activity within the last $1 {{PLURAL:$1|day|days}}.\";'),('en','messages:activeusers-count','s:65:\"$1 {{PLURAL:$1|edit|edits}} in the last {{PLURAL:$3|day|$3 days}}\";'),('en','messages:activeusers-from','s:26:\"Display users starting at:\";'),('en','messages:activeusers-hidebots','s:9:\"Hide bots\";'),('en','messages:activeusers-hidesysops','s:19:\"Hide administrators\";'),('en','messages:activeusers-noresult','s:15:\"No users found.\";'),('en','messages:newuserlogpage','s:17:\"User creation log\";'),('en','messages:newuserlogpagetext','s:32:\"This is a log of user creations.\";'),('en','messages:newuserlogentry','s:0:\"\";'),('en','messages:newuserlog-byemail','s:23:\"password sent by e-mail\";'),('en','messages:newuserlog-create-entry','s:16:\"New user account\";'),('en','messages:newuserlog-create2-entry','s:22:\"created new account $1\";'),('en','messages:newuserlog-autocreate-entry','s:29:\"Account created automatically\";'),('en','messages:listgrouprights','s:17:\"User group rights\";'),('en','messages:listgrouprights-summary','s:201:\"The following is a list of user groups defined on this wiki, with their associated access rights.\nThere may be [[{{MediaWiki:Listgrouprights-helppage}}|additional information]] about individual rights.\";'),('en','messages:listgrouprights-key','s:121:\"* <span class=\"listgrouprights-granted\">Granted right</span>\n* <span class=\"listgrouprights-revoked\">Revoked right</span>\";'),('en','messages:listgrouprights-group','s:5:\"Group\";'),('en','messages:listgrouprights-rights','s:6:\"Rights\";'),('en','messages:listgrouprights-helppage','s:17:\"Help:Group rights\";'),('en','messages:listgrouprights-members','s:17:\"(list of members)\";'),('en','messages:listgrouprights-right-display','s:61:\"<span class=\"listgrouprights-granted\">$1 <tt>($2)</tt></span>\";'),('en','messages:listgrouprights-right-revoked','s:61:\"<span class=\"listgrouprights-revoked\">$1 <tt>($2)</tt></span>\";'),('en','messages:listgrouprights-addgroup','s:34:\"Add {{PLURAL:$2|group|groups}}: $1\";'),('en','messages:listgrouprights-removegroup','s:37:\"Remove {{PLURAL:$2|group|groups}}: $1\";'),('en','messages:listgrouprights-addgroup-all','s:14:\"Add all groups\";'),('en','messages:listgrouprights-removegroup-all','s:17:\"Remove all groups\";'),('en','messages:listgrouprights-addgroup-self','s:49:\"Add {{PLURAL:$2|group|groups}} to own account: $1\";'),('en','messages:listgrouprights-removegroup-self','s:54:\"Remove {{PLURAL:$2|group|groups}} from own account: $1\";'),('en','messages:listgrouprights-addgroup-self-all','s:29:\"Add all groups to own account\";'),('en','messages:listgrouprights-removegroup-self-all','s:34:\"Remove all groups from own account\";'),('en','messages:mailnologin','s:15:\"No send address\";'),('en','messages:mailnologintext','s:150:\"You must be [[Special:UserLogin|logged in]] and have a valid e-mail address in your [[Special:Preferences|preferences]] to send e-mail to other users.\";'),('en','messages:emailuser','s:16:\"E-mail this user\";'),('en','messages:emailpage','s:11:\"E-mail user\";'),('en','messages:emailpagetext','s:251:\"You can use the form below to send an e-mail message to this user.\nThe e-mail address you entered in [[Special:Preferences|your user preferences]] will appear as the \"From\" address of the e-mail, so the recipient will be able to reply directly to you.\";'),('en','messages:usermailererror','s:27:\"Mail object returned error:\";'),('en','messages:defemailsubject','s:19:\"{{SITENAME}} e-mail\";'),('en','messages:usermaildisabled','s:20:\"User e-mail disabled\";'),('en','messages:usermaildisabledtext','s:50:\"You cannot send e-mail to other users on this wiki\";'),('en','messages:noemailtitle','s:17:\"No e-mail address\";'),('en','messages:noemailtext','s:51:\"This user has not specified a valid e-mail address.\";'),('en','messages:nowikiemailtitle','s:17:\"No e-mail allowed\";'),('en','messages:nowikiemailtext','s:60:\"This user has chosen not to receive e-mail from other users.\";'),('en','messages:emailnotarget','s:47:\"Non-existent or invalid username for recipient.\";'),('en','messages:emailtarget','s:27:\"Enter username of recipient\";'),('en','messages:emailusername','s:9:\"Username:\";'),('en','messages:emailusernamesubmit','s:6:\"Submit\";'),('en','messages:email-legend','s:43:\"Send an e-mail to another {{SITENAME}} user\";'),('en','messages:emailfrom','s:5:\"From:\";'),('en','messages:emailto','s:3:\"To:\";'),('en','messages:emailsubject','s:8:\"Subject:\";'),('en','messages:emailmessage','s:8:\"Message:\";'),('en','messages:emailsend','s:4:\"Send\";'),('en','messages:emailccme','s:31:\"E-mail me a copy of my message.\";'),('en','messages:emailccsubject','s:30:\"Copy of your message to $1: $2\";'),('en','messages:emailsent','s:11:\"E-mail sent\";'),('en','messages:emailsenttext','s:34:\"Your e-mail message has been sent.\";'),('en','messages:emailuserfooter','s:79:\"This e-mail was sent by $1 to $2 by the \"E-mail user\" function at {{SITENAME}}.\";'),('en','messages:usermessage-summary','s:23:\"Leaving system message.\";'),('en','messages:usermessage-editor','s:16:\"System messenger\";'),('en','messages:usermessage-template','s:21:\"MediaWiki:UserMessage\";'),('en','messages:watchlist','s:12:\"My watchlist\";'),('en','messages:mywatchlist','s:12:\"My watchlist\";'),('en','messages:watchlistfor2','s:9:\"For $1 $2\";'),('en','messages:nowatchlist','s:36:\"You have no items on your watchlist.\";'),('en','messages:watchlistanontext','s:50:\"Please $1 to view or edit items on your watchlist.\";'),('en','messages:watchnologin','s:13:\"Not logged in\";'),('en','messages:watchnologintext','s:69:\"You must be [[Special:UserLogin|logged in]] to modify your watchlist.\";'),('en','messages:addwatch','s:16:\"Add to watchlist\";'),('en','messages:addedwatchtext','s:278:\"The page \"[[:$1]]\" has been added to your [[Special:Watchlist|watchlist]].\nFuture changes to this page and its associated talk page will be listed there, and the page will appear \'\'\'bolded\'\'\' in the [[Special:RecentChanges|list of recent changes]] to make it easier to pick out.\";'),('en','messages:removewatch','s:21:\"Remove from watchlist\";'),('en','messages:removedwatchtext','s:78:\"The page \"[[:$1]]\" has been removed from [[Special:Watchlist|your watchlist]].\";'),('en','messages:watch','s:5:\"Watch\";'),('en','messages:watchthispage','s:15:\"Watch this page\";'),('en','messages:unwatch','s:7:\"Unwatch\";'),('en','messages:unwatchthispage','s:13:\"Stop watching\";'),('en','messages:notanarticle','s:18:\"Not a content page\";'),('en','messages:notvisiblerev','s:54:\"The last revision by a different user has been deleted\";'),('en','messages:watchnochange','s:68:\"None of your watched items were edited in the time period displayed.\";'),('en','messages:watchlist-details','s:74:\"{{PLURAL:$1|$1 page|$1 pages}} on your watchlist, not counting talk pages.\";'),('en','messages:wlheader-enotif','s:33:\"* E-mail notification is enabled.\";'),('en','messages:wlheader-showupdated','s:83:\"* Pages which have been changed since you last visited them are shown in \'\'\'bold\'\'\'\";'),('en','messages:watchmethod-recent','s:39:\"checking recent edits for watched pages\";'),('en','messages:watchmethod-list','s:39:\"checking watched pages for recent edits\";'),('en','messages:watchlistcontains','s:52:\"Your watchlist contains $1 {{PLURAL:$1|page|pages}}.\";'),('en','messages:iteminvalidname','s:39:\"Problem with item \'$1\', invalid name...\";'),('en','messages:wlnote','s:115:\"Below {{PLURAL:$1|is the last change|are the last \'\'\'$1\'\'\' changes}} in the last {{PLURAL:$2|hour|\'\'\'$2\'\'\' hours}}.\";'),('en','messages:wlshowlast','s:29:\"Show last $1 hours $2 days $3\";'),('en','messages:watchlist-options','s:17:\"Watchlist options\";'),('en','messages:watching','s:11:\"Watching...\";'),('en','messages:unwatching','s:13:\"Unwatching...\";'),('en','messages:watcherrortext','s:66:\"An error occurred while changing your watchlist settings for \"$1\".\";'),('en','messages:enotif_mailer','s:32:\"{{SITENAME}} notification mailer\";'),('en','messages:enotif_reset','s:22:\"Mark all pages visited\";'),('en','messages:enotif_newpagetext','s:19:\"This is a new page.\";'),('en','messages:enotif_impersonal_salutation','s:17:\"{{SITENAME}} user\";'),('en','messages:changed','s:7:\"changed\";'),('en','messages:created','s:7:\"created\";'),('en','messages:enotif_subject','s:70:\"{{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED by $PAGEEDITOR\";'),('en','messages:enotif_lastvisited','s:45:\"See $1 for all changes since your last visit.\";'),('en','messages:enotif_lastdiff','s:27:\"See $1 to view this change.\";'),('en','messages:enotif_anon_editor','s:17:\"anonymous user $1\";'),('en','messages:enotif_body','s:839:\"Dear $WATCHINGUSERNAME,\n\n\nThe {{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED on $PAGEEDITDATE by $PAGEEDITOR, see $PAGETITLE_URL for the current revision.\n\n$NEWPAGE\n\nEditor\'s summary: $PAGESUMMARY $PAGEMINOREDIT\n\nContact the editor:\nmail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nThere will be no other notifications in case of further changes unless you visit this page.\nYou could also reset the notification flags for all your watched pages on your watchlist.\n\n			 Your friendly {{SITENAME}} notification system\n\n--\nTo change your e-mail notification settings, visit\n{{canonicalurl:{{#special:Preferences}}}}\n\nTo change your watchlist settings, visit\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nTo delete the page from your watchlist, visit\n$UNWATCHURL\n\nFeedback and further assistance:\n{{canonicalurl:{{MediaWiki:Helppage}}}}\";'),('en','messages:deletepage','s:11:\"Delete page\";'),('en','messages:confirm','s:7:\"Confirm\";'),('en','messages:excontent','s:17:\"content was: \"$1\"\";'),('en','messages:excontentauthor','s:82:\"content was: \"$1\" (and the only contributor was \"[[Special:Contributions/$2|$2]]\")\";'),('en','messages:exbeforeblank','s:33:\"content before blanking was: \"$1\"\";'),('en','messages:exblank','s:14:\"page was empty\";'),('en','messages:delete-confirm','s:11:\"Delete \"$1\"\";'),('en','messages:delete-backlink','s:6:\"← $1\";'),('en','messages:delete-legend','s:6:\"Delete\";'),('en','messages:historywarning','s:117:\"\'\'\'Warning:\'\'\' The page you are about to delete has a history with approximately $1 {{PLURAL:$1|revision|revisions}}:\";'),('en','messages:confirmdeletetext','s:230:\"You are about to delete a page along with all of its history.\nPlease confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].\";'),('en','messages:actioncomplete','s:15:\"Action complete\";'),('en','messages:actionfailed','s:13:\"Action failed\";'),('en','messages:deletedtext','s:63:\"\"$1\" has been deleted.\nSee $2 for a record of recent deletions.\";'),('en','messages:deletedarticle','s:16:\"deleted \"[[$1]]\"\";'),('en','messages:suppressedarticle','s:19:\"suppressed \"[[$1]]\"\";'),('en','messages:dellogpage','s:12:\"Deletion log\";'),('en','messages:dellogpagetext','s:45:\"Below is a list of the most recent deletions.\";'),('en','messages:deletionlog','s:12:\"deletion log\";'),('en','messages:reverted','s:28:\"Reverted to earlier revision\";'),('en','messages:deletecomment','s:7:\"Reason:\";'),('en','messages:deleteotherreason','s:24:\"Other/additional reason:\";'),('en','messages:deletereasonotherlist','s:12:\"Other reason\";'),('en','messages:deletereason-dropdown','s:76:\"*Common delete reasons\n** Author request\n** Copyright violation\n** Vandalism\";'),('en','messages:delete-edit-reasonlist','s:21:\"Edit deletion reasons\";'),('en','messages:delete-toobig','s:170:\"This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeletion of such pages has been restricted to prevent accidental disruption of {{SITENAME}}.\";'),('en','messages:delete-warning-toobig','s:160:\"This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeleting it may disrupt database operations of {{SITENAME}};\nproceed with caution.\";'),('en','messages:rollback','s:15:\"Roll back edits\";'),('en','messages:rollback_short','s:8:\"Rollback\";'),('en','messages:rollbacklink','s:8:\"rollback\";'),('en','messages:rollbackfailed','s:15:\"Rollback failed\";'),('en','messages:cantrollback','s:65:\"Cannot revert edit;\nlast contributor is only author of this page.\";'),('en','messages:alreadyrolled','s:352:\"Cannot rollback last edit of [[:$1]] by [[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nsomeone else has edited or rolled back the page already.\n\nThe last edit to the page was by [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).\";'),('en','messages:editcomment','s:31:\"The edit summary was: \"\'\'$1\'\'\".\";'),('en','messages:revertpage','s:108:\"Reverted edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) to last revision by [[User:$1|$1]]\";'),('en','messages:revertpage-nouser','s:71:\"Reverted edits by (username removed) to last revision by [[User:$1|$1]]\";'),('en','messages:rollback-success','s:58:\"Reverted edits by $1;\nchanged back to last revision by $2.\";'),('en','messages:sessionfailure-title','s:15:\"Session failure\";'),('en','messages:sessionfailure','s:192:\"There seems to be a problem with your login session;\nthis action has been canceled as a precaution against session hijacking.\nGo back to the previous page, reload that page and then try again.\";'),('en','messages:protectlogpage','s:14:\"Protection log\";'),('en','messages:protectlogtext','s:159:\"Below is a list of changes to page protections.\nSee the [[Special:ProtectedPages|protected pages list]] for the list of currently operational page protections.\";'),('en','messages:protectedarticle','s:18:\"protected \"[[$1]]\"\";'),('en','messages:modifiedarticleprotection','s:37:\"changed protection level for \"[[$1]]\"\";'),('en','messages:unprotectedarticle','s:32:\"removed protection from \"[[$1]]\"\";'),('en','messages:movedarticleprotection','s:51:\"moved protection settings from \"[[$2]]\" to \"[[$1]]\"\";'),('en','messages:protect-title','s:32:\"Change protection level for \"$1\"\";'),('en','messages:prot_1movedto2','s:22:\"[[$1]] moved to [[$2]]\";'),('en','messages:protect-backlink','s:6:\"← $1\";'),('en','messages:protect-legend','s:18:\"Confirm protection\";'),('en','messages:protectcomment','s:7:\"Reason:\";'),('en','messages:protectexpiry','s:8:\"Expires:\";'),('en','messages:protect_expiry_invalid','s:23:\"Expiry time is invalid.\";'),('en','messages:protect_expiry_old','s:27:\"Expiry time is in the past.\";'),('en','messages:protect-unchain-permissions','s:30:\"Unlock further protect options\";'),('en','messages:protect-text','s:72:\"You may view and change the protection level here for the page \'\'\'$1\'\'\'.\";'),('en','messages:protect-locked-blocked','s:103:\"You cannot change protection levels while blocked.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-locked-dblock','s:120:\"Protection levels cannot be changed due to an active database lock.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-locked-access','s:124:\"Your account does not have permission to change page protection levels.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-cascadeon','s:246:\"This page is currently protected because it is included in the following {{PLURAL:$1|page, which has|pages, which have}} cascading protection turned on.\nYou can change this page\'s protection level, but it will not affect the cascading protection.\";'),('en','messages:protect-default','s:15:\"Allow all users\";'),('en','messages:protect-fallback','s:23:\"Require \"$1\" permission\";'),('en','messages:protect-level-autoconfirmed','s:32:\"Block new and unregistered users\";'),('en','messages:protect-level-sysop','s:19:\"Administrators only\";'),('en','messages:protect-summary-cascade','s:9:\"cascading\";'),('en','messages:protect-expiring','s:16:\"expires $1 (UTC)\";'),('en','messages:protect-expiry-indefinite','s:10:\"indefinite\";'),('en','messages:protect-cascade','s:58:\"Protect pages included in this page (cascading protection)\";'),('en','messages:protect-cantedit','s:100:\"You cannot change the protection levels of this page, because you do not have permission to edit it.\";'),('en','messages:protect-othertime','s:11:\"Other time:\";'),('en','messages:protect-othertime-op','s:10:\"other time\";'),('en','messages:protect-existing-expiry','s:28:\"Existing expiry time: $3, $2\";'),('en','messages:protect-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:protect-otherreason-op','s:12:\"Other reason\";'),('en','messages:protect-dropdown','s:127:\"*Common protection reasons\n** Excessive vandalism\n** Excessive spamming\n** Counter-productive edit warring\n** High traffic page\";'),('en','messages:protect-edit-reasonlist','s:23:\"Edit protection reasons\";'),('en','messages:protect-expiry-options','s:139:\"1 hour:1 hour,1 day:1 day,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,infinite:infinite\";'),('en','messages:restriction-type','s:11:\"Permission:\";'),('en','messages:restriction-level','s:18:\"Restriction level:\";'),('en','messages:minimum-size','s:8:\"Min size\";'),('en','messages:maximum-size','s:9:\"Max size:\";'),('en','messages:pagesize','s:7:\"(bytes)\";'),('en','messages:restriction-edit','s:4:\"Edit\";'),('en','messages:restriction-move','s:4:\"Move\";'),('en','messages:restriction-create','s:6:\"Create\";'),('en','messages:restriction-upload','s:6:\"Upload\";'),('en','messages:restriction-level-sysop','s:15:\"fully protected\";'),('en','messages:restriction-level-autoconfirmed','s:14:\"semi protected\";'),('en','messages:restriction-level-all','s:9:\"any level\";'),('en','messages:undelete','s:18:\"View deleted pages\";'),('en','messages:undeletepage','s:30:\"View and restore deleted pages\";'),('en','messages:undeletepagetitle','s:64:\"\'\'\'The following consists of deleted revisions of [[:$1|$1]]\'\'\'.\";'),('en','messages:viewdeletedpage','s:18:\"View deleted pages\";'),('en','messages:undeletepagetext','s:178:\"The following {{PLURAL:$1|page has been deleted but is|$1 pages have been deleted but are}} still in the archive and can be restored.\nThe archive may be periodically cleaned out.\";'),('en','messages:undelete-fieldset-title','s:17:\"Restore revisions\";'),('en','messages:undeleteextrahelp','s:250:\"To restore the page\'s entire history, leave all checkboxes deselected and click \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\nTo perform a selective restoration, check the boxes corresponding to the revisions to be restored, and click \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\";'),('en','messages:undeleterevisions','s:44:\"$1 {{PLURAL:$1|revision|revisions}} archived\";'),('en','messages:undeletehistory','s:198:\"If you restore the page, all revisions will be restored to the history.\nIf a new page with the same name has been created since the deletion, the restored revisions will appear in the prior history.\";'),('en','messages:undeleterevdel','s:179:\"Undeletion will not be performed if it will result in the top page or file revision being partially deleted.\nIn such cases, you must uncheck or unhide the newest deleted revision.\";'),('en','messages:undeletehistorynoadmin','s:236:\"This page has been deleted.\nThe reason for deletion is shown in the summary below, along with details of the users who had edited this page before deletion.\nThe actual text of these deleted revisions is only available to administrators.\";'),('en','messages:undelete-revision','s:47:\"Deleted revision of $1 (as of $4, at $5) by $3:\";'),('en','messages:undeleterevision-missing','s:121:\"Invalid or missing revision.\nYou may have a bad link, or the revision may have been restored or removed from the archive.\";'),('en','messages:undelete-nodiff','s:27:\"No previous revision found.\";'),('en','messages:undeletebtn','s:7:\"Restore\";'),('en','messages:undeletelink','s:12:\"view/restore\";'),('en','messages:undeleteviewlink','s:4:\"view\";'),('en','messages:undeletereset','s:5:\"Reset\";'),('en','messages:undeleteinvert','s:16:\"Invert selection\";'),('en','messages:undeletecomment','s:7:\"Reason:\";'),('en','messages:undeletedarticle','s:17:\"restored \"[[$1]]\"\";'),('en','messages:undeletedrevisions','s:46:\"{{PLURAL:$1|1 revision|$1 revisions}} restored\";'),('en','messages:undeletedrevisions-files','s:80:\"{{PLURAL:$1|1 revision|$1 revisions}} and {{PLURAL:$2|1 file|$2 files}} restored\";'),('en','messages:undeletedfiles','s:38:\"{{PLURAL:$1|1 file|$1 files}} restored\";'),('en','messages:cannotundelete','s:64:\"Undelete failed;\nsomeone else may have undeleted the page first.\";'),('en','messages:undeletedpage','s:126:\"\'\'\'$1 has been restored\'\'\'\n\nConsult the [[Special:Log/delete|deletion log]] for a record of recent deletions and restorations.\";'),('en','messages:undelete-header','s:71:\"See [[Special:Log/delete|the deletion log]] for recently deleted pages.\";'),('en','messages:undelete-search-box','s:20:\"Search deleted pages\";'),('en','messages:undelete-search-prefix','s:25:\"Show pages starting with:\";'),('en','messages:undelete-search-submit','s:6:\"Search\";'),('en','messages:undelete-no-results','s:48:\"No matching pages found in the deletion archive.\";'),('en','messages:undelete-filename-mismatch','s:67:\"Cannot undelete file revision with timestamp $1: Filename mismatch.\";'),('en','messages:undelete-bad-store-key','s:82:\"Cannot undelete file revision with timestamp $1: File was missing before deletion.\";'),('en','messages:undelete-cleanup-error','s:40:\"Error deleting unused archive file \"$1\".\";'),('en','messages:undelete-missing-filearchive','s:107:\"Unable to restore file archive ID $1 because it is not in the database.\nIt may have already been undeleted.\";'),('en','messages:undelete-error-short','s:25:\"Error undeleting file: $1\";'),('en','messages:undelete-error-long','s:54:\"Errors were encountered while undeleting the file:\n\n$1\";'),('en','messages:undelete-show-file-confirm','s:99:\"Are you sure you want to view the deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?\";'),('en','messages:undelete-show-file-submit','s:3:\"Yes\";'),('en','messages:namespace','s:10:\"Namespace:\";'),('en','messages:invert','s:16:\"Invert selection\";'),('en','messages:tooltip-invert','s:111:\"Check this box to hide changes to pages within the selected namespace (and the associated namespace if checked)\";'),('en','messages:namespace_association','s:20:\"Associated namespace\";'),('en','messages:tooltip-namespace_association','s:99:\"Check this box to also include the talk or subject namespace associated with the selected namespace\";'),('en','messages:blanknamespace','s:6:\"(Main)\";'),('en','messages:contributions','s:18:\"User contributions\";'),('en','messages:contributions-title','s:25:\"User contributions for $1\";'),('en','messages:mycontris','s:16:\"My contributions\";'),('en','messages:contribsub2','s:11:\"For $1 ($2)\";'),('en','messages:nocontribs','s:46:\"No changes were found matching these criteria.\";'),('en','messages:uctop','s:5:\"(top)\";'),('en','messages:month','s:25:\"From month (and earlier):\";'),('en','messages:year','s:24:\"From year (and earlier):\";'),('en','messages:sp-contributions-newbies','s:39:\"Show contributions of new accounts only\";'),('en','messages:sp-contributions-newbies-sub','s:16:\"For new accounts\";'),('en','messages:sp-contributions-newbies-title','s:35:\"User contributions for new accounts\";'),('en','messages:sp-contributions-blocklog','s:9:\"block log\";'),('en','messages:sp-contributions-deleted','s:26:\"deleted user contributions\";'),('en','messages:sp-contributions-uploads','s:7:\"uploads\";'),('en','messages:sp-contributions-logs','s:4:\"logs\";'),('en','messages:sp-contributions-talk','s:4:\"talk\";'),('en','messages:sp-contributions-userrights','s:22:\"user rights management\";'),('en','messages:sp-contributions-blocked-notice','s:91:\"This user is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:sp-contributions-blocked-notice-anon','s:97:\"This IP address is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:sp-contributions-search','s:24:\"Search for contributions\";'),('en','messages:sp-contributions-username','s:23:\"IP address or username:\";'),('en','messages:sp-contributions-toponly','s:41:\"Only show edits that are latest revisions\";'),('en','messages:sp-contributions-submit','s:6:\"Search\";'),('en','messages:sp-contributions-explain','s:0:\"\";'),('en','messages:sp-contributions-footer','s:1:\"-\";'),('en','messages:sp-contributions-footer-anon','s:1:\"-\";'),('en','messages:whatlinkshere','s:15:\"What links here\";'),('en','messages:whatlinkshere-title','s:23:\"Pages that link to \"$1\"\";'),('en','messages:whatlinkshere-summary','s:0:\"\";'),('en','messages:whatlinkshere-page','s:5:\"Page:\";'),('en','messages:whatlinkshere-backlink','s:6:\"← $1\";'),('en','messages:linkshere','s:42:\"The following pages link to \'\'\'[[:$1]]\'\'\':\";'),('en','messages:nolinkshere','s:31:\"No pages link to \'\'\'[[:$1]]\'\'\'.\";'),('en','messages:nolinkshere-ns','s:55:\"No pages link to \'\'\'[[:$1]]\'\'\' in the chosen namespace.\";'),('en','messages:isredirect','s:13:\"redirect page\";'),('en','messages:istemplate','s:12:\"transclusion\";'),('en','messages:isimage','s:9:\"file link\";'),('en','messages:whatlinkshere-prev','s:34:\"{{PLURAL:$1|previous|previous $1}}\";'),('en','messages:whatlinkshere-next','s:26:\"{{PLURAL:$1|next|next $1}}\";'),('en','messages:whatlinkshere-links','s:9:\"← links\";'),('en','messages:whatlinkshere-hideredirs','s:12:\"$1 redirects\";'),('en','messages:whatlinkshere-hidetrans','s:16:\"$1 transclusions\";'),('en','messages:whatlinkshere-hidelinks','s:8:\"$1 links\";'),('en','messages:whatlinkshere-hideimages','s:14:\"$1 image links\";'),('en','messages:whatlinkshere-filters','s:7:\"Filters\";'),('en','messages:autoblockid','s:13:\"Autoblock #$1\";'),('en','messages:block','s:10:\"Block user\";'),('en','messages:unblock','s:12:\"Unblock user\";'),('en','messages:blockip','s:10:\"Block user\";'),('en','messages:blockip-title','s:10:\"Block user\";'),('en','messages:blockip-legend','s:10:\"Block user\";'),('en','messages:blockiptext','s:280:\"Use the form below to block write access from a specific IP address or username.\nThis should be done only to prevent vandalism, and in accordance with [[{{MediaWiki:Policy-url}}|policy]].\nFill in a specific reason below (for example, citing particular pages that were vandalized).\";'),('en','messages:ipadressorusername','s:23:\"IP address or username:\";'),('en','messages:ipbexpiry','s:7:\"Expiry:\";'),('en','messages:ipbreason','s:7:\"Reason:\";'),('en','messages:ipbreasonotherlist','s:12:\"Other reason\";'),('en','messages:ipbreason-dropdown','s:253:\"*Common block reasons\n** Inserting false information\n** Removing content from pages\n** Spamming links to external sites\n** Inserting nonsense/gibberish into pages\n** Intimidating behaviour/harassment\n** Abusing multiple accounts\n** Unacceptable username\";'),('en','messages:ipb-hardblock','s:57:\"Prevent logged-in users from editing from this IP address\";'),('en','messages:ipbcreateaccount','s:24:\"Prevent account creation\";'),('en','messages:ipbemailban','s:32:\"Prevent user from sending e-mail\";'),('en','messages:ipbenableautoblock','s:112:\"Automatically block the last IP address used by this user, and any subsequent IP addresses they try to edit from\";'),('en','messages:ipbsubmit','s:15:\"Block this user\";'),('en','messages:ipbother','s:11:\"Other time:\";'),('en','messages:ipboptions','s:157:\"2 hours:2 hours,1 day:1 day,3 days:3 days,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,indefinite:infinite\";'),('en','messages:ipbotheroption','s:5:\"other\";'),('en','messages:ipbotherreason','s:24:\"Other/additional reason:\";'),('en','messages:ipbhidename','s:34:\"Hide username from edits and lists\";'),('en','messages:ipbwatchuser','s:37:\"Watch this user\'s user and talk pages\";'),('en','messages:ipb-disableusertalk','s:64:\"Prevent this user from editing their own talk page while blocked\";'),('en','messages:ipb-change-block','s:37:\"Re-block the user with these settings\";'),('en','messages:ipb-confirm','s:13:\"Confirm block\";'),('en','messages:badipaddress','s:18:\"Invalid IP address\";'),('en','messages:blockipsuccesssub','s:15:\"Block succeeded\";'),('en','messages:blockipsuccesstext','s:113:\"[[Special:Contributions/$1|$1]] has been blocked.<br />\nSee [[Special:BlockList|IP block list]] to review blocks.\";'),('en','messages:ipb-blockingself','s:67:\"You are about to block yourself!  Are you sure you want to do that?\";'),('en','messages:ipb-confirmhideuser','s:156:\"You are about to block a user with \"hide user\" enabled.  This will suppress the user\'s name in all lists and log entries.  Are you sure you want to do that?\";'),('en','messages:ipb-edit-dropdown','s:18:\"Edit block reasons\";'),('en','messages:ipb-unblock-addr','s:10:\"Unblock $1\";'),('en','messages:ipb-unblock','s:32:\"Unblock a username or IP address\";'),('en','messages:ipb-blocklist','s:20:\"View existing blocks\";'),('en','messages:ipb-blocklist-contribs','s:20:\"Contributions for $1\";'),('en','messages:unblockip','s:12:\"Unblock user\";'),('en','messages:unblockiptext','s:90:\"Use the form below to restore write access to a previously blocked IP address or username.\";'),('en','messages:ipusubmit','s:17:\"Remove this block\";'),('en','messages:unblocked','s:33:\"[[User:$1|$1]] has been unblocked\";'),('en','messages:unblocked-range','s:21:\"$1 has been unblocked\";'),('en','messages:unblocked-id','s:25:\"Block $1 has been removed\";'),('en','messages:blocklist','s:13:\"Blocked users\";'),('en','messages:ipblocklist','s:13:\"Blocked users\";'),('en','messages:ipblocklist-legend','s:19:\"Find a blocked user\";'),('en','messages:blocklist-userblocks','s:19:\"Hide account blocks\";'),('en','messages:blocklist-tempblocks','s:21:\"Hide temporary blocks\";'),('en','messages:blocklist-addressblocks','s:21:\"Hide single IP blocks\";'),('en','messages:blocklist-timestamp','s:9:\"Timestamp\";'),('en','messages:blocklist-target','s:6:\"Target\";'),('en','messages:blocklist-expiry','s:7:\"Expires\";'),('en','messages:blocklist-by','s:14:\"Blocking admin\";'),('en','messages:blocklist-params','s:16:\"Block parameters\";'),('en','messages:blocklist-reason','s:6:\"Reason\";'),('en','messages:blocklist-summary','s:0:\"\";'),('en','messages:ipblocklist-submit','s:6:\"Search\";'),('en','messages:ipblocklist-localblock','s:11:\"Local block\";'),('en','messages:ipblocklist-otherblocks','s:32:\"Other {{PLURAL:$1|block|blocks}}\";'),('en','messages:infiniteblock','s:8:\"infinite\";'),('en','messages:expiringblock','s:19:\"expires on $1 at $2\";'),('en','messages:anononlyblock','s:10:\"anon. only\";'),('en','messages:noautoblockblock','s:18:\"autoblock disabled\";'),('en','messages:createaccountblock','s:24:\"account creation blocked\";'),('en','messages:emailblock','s:14:\"e-mail blocked\";'),('en','messages:blocklist-nousertalk','s:25:\"cannot edit own talk page\";'),('en','messages:ipblocklist-empty','s:23:\"The blocklist is empty.\";'),('en','messages:ipblocklist-no-results','s:52:\"The requested IP address or username is not blocked.\";'),('en','messages:blocklink','s:5:\"block\";'),('en','messages:unblocklink','s:7:\"unblock\";'),('en','messages:change-blocklink','s:12:\"change block\";'),('en','messages:contribslink','s:8:\"contribs\";'),('en','messages:autoblocker','s:120:\"Autoblocked because your IP address has been recently used by \"[[User:$1|$1]]\".\nThe reason given for $1\'s block is: \"$2\"\";'),('en','messages:blocklogpage','s:9:\"Block log\";'),('en','messages:blocklog-showlog','s:85:\"This user has been blocked previously.\nThe block log is provided below for reference:\";'),('en','messages:blocklog-showsuppresslog','s:99:\"This user has been blocked and hidden previously.\nThe suppress log is provided below for reference:\";'),('en','messages:blocklogentry','s:43:\"blocked [[$1]] with an expiry time of $2 $3\";'),('en','messages:reblock-logentry','s:62:\"changed block settings for [[$1]] with an expiry time of $2 $3\";'),('en','messages:blocklogtext','s:204:\"This is a log of user blocking and unblocking actions.\nAutomatically blocked IP addresses are not listed.\nSee the [[Special:BlockList|IP block list]] for the list of currently operational bans and blocks.\";'),('en','messages:unblocklogentry','s:12:\"unblocked $1\";'),('en','messages:block-log-flags-anononly','s:20:\"anonymous users only\";'),('en','messages:block-log-flags-nocreate','s:25:\"account creation disabled\";'),('en','messages:block-log-flags-noautoblock','s:18:\"autoblock disabled\";'),('en','messages:block-log-flags-noemail','s:14:\"e-mail blocked\";'),('en','messages:block-log-flags-nousertalk','s:25:\"cannot edit own talk page\";'),('en','messages:block-log-flags-angry-autoblock','s:26:\"enhanced autoblock enabled\";'),('en','messages:block-log-flags-hiddenname','s:15:\"username hidden\";'),('en','messages:range_block_disabled','s:61:\"The administrator ability to create range blocks is disabled.\";'),('en','messages:ipb_expiry_invalid','s:20:\"Expiry time invalid.\";'),('en','messages:ipb_expiry_temp','s:41:\"Hidden username blocks must be permanent.\";'),('en','messages:ipb_hide_invalid','s:60:\"Unable to suppress this account; it may have too many edits.\";'),('en','messages:ipb_already_blocked','s:23:\"\"$1\" is already blocked\";'),('en','messages:ipb-needreblock','s:58:\"$1 is already blocked. Do you want to change the settings?\";'),('en','messages:ipb-otherblocks-header','s:32:\"Other {{PLURAL:$1|block|blocks}}\";'),('en','messages:unblock-hideuser','s:64:\"You cannot unblock this user, as their username has been hidden.\";'),('en','messages:ipb_cant_unblock','s:65:\"Error: Block ID $1 not found. It may have been unblocked already.\";'),('en','messages:ipb_blocked_as_range','s:146:\"Error: The IP address $1 is not blocked directly and cannot be unblocked.\nIt is, however, blocked as part of the range $2, which can be unblocked.\";'),('en','messages:ip_range_invalid','s:17:\"Invalid IP range.\";'),('en','messages:ip_range_toolarge','s:45:\"Range blocks larger than /$1 are not allowed.\";'),('en','messages:blockme','s:8:\"Block me\";'),('en','messages:proxyblocker','s:13:\"Proxy blocker\";'),('en','messages:proxyblocker-disabled','s:26:\"This function is disabled.\";'),('en','messages:proxyblockreason','s:199:\"Your IP address has been blocked because it is an open proxy.\nPlease contact your Internet service provider or technical support of your organization and inform them of this serious security problem.\";'),('en','messages:proxyblocksuccess','s:5:\"Done.\";'),('en','messages:sorbs','s:5:\"DNSBL\";'),('en','messages:sorbsreason','s:77:\"Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.\";'),('en','messages:sorbs_create_account_reason','s:106:\"Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.\nYou cannot create an account\";'),('en','messages:cant-block-while-blocked','s:51:\"You cannot block other users while you are blocked.\";'),('en','messages:cant-see-hidden-user','s:152:\"The user you are trying to block has already been blocked and hidden.\nSince you do not have the hideuser right, you cannot see or edit the user\'s block.\";'),('en','messages:ipbblocked','s:73:\"You cannot block or unblock other users, because you are yourself blocked\";'),('en','messages:ipbnounblockself','s:39:\"You are not allowed to unblock yourself\";'),('en','messages:lockdb','s:13:\"Lock database\";'),('en','messages:unlockdb','s:15:\"Unlock database\";'),('en','messages:lockdbtext','s:294:\"Locking the database will suspend the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do, and that you will unlock the database when your maintenance is done.\";'),('en','messages:unlockdbtext','s:227:\"Unlocking the database will restore the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do.\";'),('en','messages:lockconfirm','s:40:\"Yes, I really want to lock the database.\";'),('en','messages:unlockconfirm','s:42:\"Yes, I really want to unlock the database.\";'),('en','messages:lockbtn','s:13:\"Lock database\";'),('en','messages:unlockbtn','s:15:\"Unlock database\";'),('en','messages:locknoconfirm','s:39:\"You did not check the confirmation box.\";'),('en','messages:lockdbsuccesssub','s:23:\"Database lock succeeded\";'),('en','messages:unlockdbsuccesssub','s:21:\"Database lock removed\";'),('en','messages:lockdbsuccesstext','s:120:\"The database has been locked.<br />\nRemember to [[Special:UnlockDB|remove the lock]] after your maintenance is complete.\";'),('en','messages:unlockdbsuccesstext','s:31:\"The database has been unlocked.\";'),('en','messages:lockfilenotwritable','s:116:\"The database lock file is not writable.\nTo lock or unlock the database, this needs to be writable by the web server.\";'),('en','messages:databasenotlocked','s:27:\"The database is not locked.\";'),('en','messages:lockedbyandtime','s:33:\"(by {{GENDER:$1|$1}} on $2 at $3)\";'),('en','messages:move-page','s:7:\"Move $1\";'),('en','messages:move-page-legend','s:9:\"Move page\";'),('en','messages:movepagetext','s:883:\"Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nYou can update redirects that point to the original title automatically.\nIf you choose not to, be sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will \'\'\'not\'\'\' be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n\'\'\'Warning!\'\'\'\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding.\";'),('en','messages:movepagetext-noredirectfixer','s:788:\"Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nBe sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will \'\'\'not\'\'\' be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n\'\'\'Warning!\'\'\'\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding.\";'),('en','messages:movepagetalktext','s:247:\"The associated talk page will be automatically moved along with it \'\'\'unless:\'\'\'\n*A non-empty talk page already exists under the new name, or\n*You uncheck the box below.\n\nIn those cases, you will have to move or merge the page manually if desired.\";'),('en','messages:movearticle','s:10:\"Move page:\";'),('en','messages:moveuserpage-warning','s:132:\"\'\'\'Warning:\'\'\' You are about to move a user page. Please note that only the page will be moved and the user will \'\'not\'\' be renamed.\";'),('en','messages:movenologin','s:13:\"Not logged in\";'),('en','messages:movenologintext','s:81:\"You must be a registered user and [[Special:UserLogin|logged in]] to move a page.\";'),('en','messages:movenotallowed','s:41:\"You do not have permission to move pages.\";'),('en','messages:movenotallowedfile','s:41:\"You do not have permission to move files.\";'),('en','messages:cant-move-user-page','s:68:\"You do not have permission to move user pages (apart from subpages).\";'),('en','messages:cant-move-to-user-page','s:84:\"You do not have permission to move a page to a user page (except to a user subpage).\";'),('en','messages:newtitle','s:13:\"To new title:\";'),('en','messages:move-watch','s:33:\"Watch source page and target page\";'),('en','messages:movepagebtn','s:9:\"Move page\";'),('en','messages:pagemovedsub','s:14:\"Move succeeded\";'),('en','messages:movepage-moved','s:33:\"\'\'\'\"$1\" has been moved to \"$2\"\'\'\'\";'),('en','messages:movepage-moved-redirect','s:28:\"A redirect has been created.\";'),('en','messages:movepage-moved-noredirect','s:47:\"The creation of a redirect has been suppressed.\";'),('en','messages:articleexists','s:105:\"A page of that name already exists, or the name you have chosen is not valid.\nPlease choose another name.\";'),('en','messages:cantmove-titleprotected','s:95:\"You cannot move a page to this location, because the new title has been protected from creation\";'),('en','messages:talkexists','s:155:\"\'\'\'The page itself was moved successfully, but the talk page could not be moved because one already exists at the new title.\nPlease merge them manually.\'\'\'\";'),('en','messages:movedto','s:8:\"moved to\";'),('en','messages:movetalk','s:25:\"Move associated talk page\";'),('en','messages:move-subpages','s:24:\"Move subpages (up to $1)\";'),('en','messages:move-talk-subpages','s:37:\"Move subpages of talk page (up to $1)\";'),('en','messages:movepage-page-exists','s:67:\"The page $1 already exists and cannot be automatically overwritten.\";'),('en','messages:movepage-page-moved','s:33:\"The page $1 has been moved to $2.\";'),('en','messages:movepage-page-unmoved','s:37:\"The page $1 could not be moved to $2.\";'),('en','messages:movepage-max-pages','s:98:\"The maximum of $1 {{PLURAL:$1|page|pages}} has been moved and no more will be moved automatically.\";'),('en','messages:1movedto2','s:22:\"moved [[$1]] to [[$2]]\";'),('en','messages:1movedto2_redir','s:36:\"moved [[$1]] to [[$2]] over redirect\";'),('en','messages:move-redirect-suppressed','s:19:\"redirect suppressed\";'),('en','messages:movelogpage','s:8:\"Move log\";'),('en','messages:movelogpagetext','s:34:\"Below is a list of all page moves.\";'),('en','messages:movesubpage','s:30:\"{{PLURAL:$1|Subpage|Subpages}}\";'),('en','messages:movesubpagetext','s:60:\"This page has $1 {{PLURAL:$1|subpage|subpages}} shown below.\";'),('en','messages:movenosubpage','s:26:\"This page has no subpages.\";'),('en','messages:movereason','s:7:\"Reason:\";'),('en','messages:revertmove','s:6:\"revert\";'),('en','messages:delete_and_move','s:15:\"Delete and move\";'),('en','messages:delete_and_move_text','s:121:\"== Deletion required ==\nThe destination page \"[[:$1]]\" already exists.\nDo you want to delete it to make way for the move?\";'),('en','messages:delete_and_move_confirm','s:20:\"Yes, delete the page\";'),('en','messages:delete_and_move_reason','s:28:\"Deleted to make way for move\";'),('en','messages:selfmove','s:75:\"Source and destination titles are the same;\ncannot move a page over itself.\";'),('en','messages:immobile-source-namespace','s:35:\"Cannot move pages in namespace \"$1\"\";'),('en','messages:immobile-target-namespace','s:37:\"Cannot move pages into namespace \"$1\"\";'),('en','messages:immobile-target-namespace-iw','s:51:\"Interwiki link is not a valid target for page move.\";'),('en','messages:immobile-source-page','s:25:\"This page is not movable.\";'),('en','messages:immobile-target-page','s:38:\"Cannot move to that destination title.\";'),('en','messages:imagenocrossnamespace','s:38:\"Cannot move file to non-file namespace\";'),('en','messages:nonfile-cannot-move-to-file','s:38:\"Cannot move non-file to file namespace\";'),('en','messages:imagetypemismatch','s:46:\"The new file extension does not match its type\";'),('en','messages:imageinvalidfilename','s:31:\"The target file name is invalid\";'),('en','messages:fix-double-redirects','s:53:\"Update any redirects that point to the original title\";'),('en','messages:move-leave-redirect','s:23:\"Leave a redirect behind\";'),('en','messages:protectedpagemovewarning','s:159:\"\'\'\'Warning:\'\'\' This page has been protected so that only users with administrator privileges can move it.\nThe latest log entry is provided below for reference:\";'),('en','messages:semiprotectedpagemovewarning','s:137:\"\'\'\'Note:\'\'\' This page has been protected so that only registered users can move it.\nThe latest log entry is provided below for reference:\";'),('en','messages:move-over-sharedrepo','s:115:\"== File exists ==\n[[:$1]] exists on a shared repository. Moving a file to this title will override the shared file.\";'),('en','messages:file-exists-sharedrepo','s:90:\"The file name chosen is already in use on a shared repository.\nPlease choose another name.\";'),('en','messages:export','s:12:\"Export pages\";'),('en','messages:exporttext','s:588:\"You can export the text and editing history of a particular page or set of pages wrapped in some XML.\nThis can be imported into another wiki using MediaWiki via the [[Special:Import|import page]].\n\nTo export pages, enter the titles in the text box below, one title per line, and select whether you want the current revision as well as all old revisions, with the page history lines, or the current revision with the info about the last edit.\n\nIn the latter case you can also use a link, for example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] for the page \"[[{{MediaWiki:Mainpage}}]]\".\";'),('en','messages:exportcuronly','s:55:\"Include only the current revision, not the full history\";'),('en','messages:exportnohistory','s:116:\"----\n\'\'\'Note:\'\'\' Exporting the full history of pages through this form has been disabled due to performance reasons.\";'),('en','messages:export-submit','s:6:\"Export\";'),('en','messages:export-addcattext','s:24:\"Add pages from category:\";'),('en','messages:export-addcat','s:3:\"Add\";'),('en','messages:export-addnstext','s:25:\"Add pages from namespace:\";'),('en','messages:export-addns','s:3:\"Add\";'),('en','messages:export-download','s:12:\"Save as file\";'),('en','messages:export-templates','s:17:\"Include templates\";'),('en','messages:export-pagelinks','s:35:\"Include linked pages to a depth of:\";'),('en','messages:allmessages','s:15:\"System messages\";'),('en','messages:allmessagesname','s:4:\"Name\";'),('en','messages:allmessagesdefault','s:20:\"Default message text\";'),('en','messages:allmessagescurrent','s:20:\"Current message text\";'),('en','messages:allmessagestext','s:256:\"This is a list of system messages available in the MediaWiki namespace.\nPlease visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and [//translatewiki.net translatewiki.net] if you wish to contribute to the generic MediaWiki localisation.\";'),('en','messages:allmessagesnotsupportedDB','s:80:\"This page cannot be used because \'\'\'$wgUseDatabaseMessages\'\'\' has been disabled.\";'),('en','messages:allmessages-filter-legend','s:6:\"Filter\";'),('en','messages:allmessages-filter','s:30:\"Filter by customisation state:\";'),('en','messages:allmessages-filter-unmodified','s:10:\"Unmodified\";'),('en','messages:allmessages-filter-all','s:3:\"All\";'),('en','messages:allmessages-filter-modified','s:8:\"Modified\";'),('en','messages:allmessages-prefix','s:17:\"Filter by prefix:\";'),('en','messages:allmessages-language','s:9:\"Language:\";'),('en','messages:allmessages-filter-submit','s:2:\"Go\";'),('en','messages:thumbnail-more','s:7:\"Enlarge\";'),('en','messages:filemissing','s:12:\"File missing\";'),('en','messages:thumbnail_error','s:28:\"Error creating thumbnail: $1\";'),('en','messages:djvu_page_error','s:22:\"DjVu page out of range\";'),('en','messages:djvu_no_xml','s:33:\"Unable to fetch XML for DjVu file\";'),('en','messages:thumbnail_invalid_params','s:28:\"Invalid thumbnail parameters\";'),('en','messages:thumbnail_dest_directory','s:38:\"Unable to create destination directory\";'),('en','messages:thumbnail_image-type','s:24:\"Image type not supported\";'),('en','messages:thumbnail_gd-library','s:56:\"Incomplete GD library configuration: Missing function $1\";'),('en','messages:thumbnail_image-missing','s:28:\"File seems to be missing: $1\";'),('en','messages:import','s:12:\"Import pages\";'),('en','messages:importinterwiki','s:16:\"Transwiki import\";'),('en','messages:import-interwiki-text','s:174:\"Select a wiki and page title to import.\nRevision dates and editors\' names will be preserved.\nAll transwiki import actions are logged at the [[Special:Log/import|import log]].\";'),('en','messages:import-interwiki-source','s:17:\"Source wiki/page:\";'),('en','messages:import-interwiki-history','s:40:\"Copy all history revisions for this page\";'),('en','messages:import-interwiki-templates','s:21:\"Include all templates\";'),('en','messages:import-interwiki-submit','s:6:\"Import\";'),('en','messages:import-interwiki-namespace','s:22:\"Destination namespace:\";'),('en','messages:import-upload-filename','s:9:\"Filename:\";'),('en','messages:import-comment','s:8:\"Comment:\";'),('en','messages:importtext','s:133:\"Please export the file from the source wiki using the [[Special:Export|export utility]].\nSave it to your computer and upload it here.\";'),('en','messages:importstart','s:18:\"Importing pages...\";'),('en','messages:import-revision-count','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:importnopages','s:19:\"No pages to import.\";'),('en','messages:imported-log-entries','s:48:\"Imported $1 {{PLURAL:$1|log entry|log entries}}.\";'),('en','messages:importfailed','s:34:\"Import failed: <nowiki>$1</nowiki>\";'),('en','messages:importunknownsource','s:26:\"Unknown import source type\";'),('en','messages:importcantopen','s:26:\"Could not open import file\";'),('en','messages:importbadinterwiki','s:18:\"Bad interwiki link\";'),('en','messages:importnotext','s:16:\"Empty or no text\";'),('en','messages:importsuccess','s:16:\"Import finished!\";'),('en','messages:importhistoryconflict','s:72:\"Conflicting history revision exists (may have imported this page before)\";'),('en','messages:importnosources','s:86:\"No transwiki import sources have been defined and direct history uploads are disabled.\";'),('en','messages:importnofile','s:28:\"No import file was uploaded.\";'),('en','messages:importuploaderrorsize','s:78:\"Upload of import file failed.\nThe file is bigger than the allowed upload size.\";'),('en','messages:importuploaderrorpartial','s:67:\"Upload of import file failed.\nThe file was only partially uploaded.\";'),('en','messages:importuploaderrortemp','s:60:\"Upload of import file failed.\nA temporary folder is missing.\";'),('en','messages:import-parse-failure','s:24:\"XML import parse failure\";'),('en','messages:import-noarticle','s:18:\"No page to import!\";'),('en','messages:import-nonewrevisions','s:39:\"All revisions were previously imported.\";'),('en','messages:xml-error-string','s:35:\"$1 at line $2, col $3 (byte $4): $5\";'),('en','messages:import-upload','s:15:\"Upload XML data\";'),('en','messages:import-token-mismatch','s:39:\"Loss of session data.\nPlease try again.\";'),('en','messages:import-invalid-interwiki','s:38:\"Cannot import from the specified wiki.\";'),('en','messages:importlogpage','s:10:\"Import log\";'),('en','messages:importlogpagetext','s:67:\"Administrative imports of pages with edit history from other wikis.\";'),('en','messages:import-logentry-upload','s:30:\"imported [[$1]] by file upload\";'),('en','messages:import-logentry-upload-detail','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:import-logentry-interwiki','s:14:\"transwikied $1\";'),('en','messages:import-logentry-interwiki-detail','s:43:\"$1 {{PLURAL:$1|revision|revisions}} from $2\";'),('en','messages:accesskey-pt-userpage','s:1:\".\";'),('en','messages:accesskey-pt-anonuserpage','s:1:\".\";'),('en','messages:accesskey-pt-mytalk','s:1:\"n\";'),('en','messages:accesskey-pt-anontalk','s:1:\"n\";'),('en','messages:accesskey-pt-preferences','s:0:\"\";'),('en','messages:accesskey-pt-watchlist','s:1:\"l\";'),('en','messages:accesskey-pt-mycontris','s:1:\"y\";'),('en','messages:accesskey-pt-login','s:1:\"o\";'),('en','messages:accesskey-pt-anonlogin','s:1:\"o\";'),('en','messages:accesskey-pt-logout','s:0:\"\";'),('en','messages:accesskey-ca-talk','s:1:\"t\";'),('en','messages:accesskey-ca-edit','s:1:\"e\";'),('en','messages:accesskey-ca-addsection','s:1:\"+\";'),('en','messages:accesskey-ca-viewsource','s:1:\"e\";'),('en','messages:accesskey-ca-history','s:1:\"h\";'),('en','messages:accesskey-ca-protect','s:1:\"=\";'),('en','messages:accesskey-ca-unprotect','s:1:\"=\";'),('en','messages:accesskey-ca-delete','s:1:\"d\";'),('en','messages:accesskey-ca-undelete','s:1:\"d\";'),('en','messages:accesskey-ca-move','s:1:\"m\";'),('en','messages:accesskey-ca-watch','s:1:\"w\";'),('en','messages:accesskey-ca-unwatch','s:1:\"w\";'),('en','messages:accesskey-search','s:1:\"f\";'),('en','messages:accesskey-search-go','s:0:\"\";'),('en','messages:accesskey-search-fulltext','s:0:\"\";'),('en','messages:accesskey-p-logo','s:0:\"\";'),('en','messages:accesskey-n-mainpage','s:1:\"z\";'),('en','messages:accesskey-n-mainpage-description','s:1:\"z\";'),('en','messages:accesskey-n-portal','s:0:\"\";'),('en','messages:accesskey-n-currentevents','s:0:\"\";'),('en','messages:accesskey-n-recentchanges','s:1:\"r\";'),('en','messages:accesskey-n-randompage','s:1:\"x\";'),('en','messages:accesskey-n-help','s:0:\"\";'),('en','messages:accesskey-t-whatlinkshere','s:1:\"j\";'),('en','messages:accesskey-t-recentchangeslinked','s:1:\"k\";'),('en','messages:accesskey-feed-rss','s:0:\"\";'),('en','messages:accesskey-feed-atom','s:0:\"\";'),('en','messages:accesskey-t-contributions','s:0:\"\";'),('en','messages:accesskey-t-emailuser','s:0:\"\";'),('en','messages:accesskey-t-permalink','s:0:\"\";'),('en','messages:accesskey-t-print','s:1:\"p\";'),('en','messages:accesskey-t-upload','s:1:\"u\";'),('en','messages:accesskey-t-specialpages','s:1:\"q\";'),('en','messages:accesskey-ca-nstab-main','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-user','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-media','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-special','s:0:\"\";'),('en','messages:accesskey-ca-nstab-project','s:1:\"a\";'),('en','messages:accesskey-ca-nstab-image','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-mediawiki','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-template','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-help','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-category','s:1:\"c\";'),('en','messages:accesskey-minoredit','s:1:\"i\";'),('en','messages:accesskey-save','s:1:\"s\";'),('en','messages:accesskey-preview','s:1:\"p\";'),('en','messages:accesskey-diff','s:1:\"v\";'),('en','messages:accesskey-compareselectedversions','s:1:\"v\";'),('en','messages:accesskey-watch','s:1:\"w\";'),('en','messages:accesskey-upload','s:1:\"s\";'),('en','messages:accesskey-preferences-save','s:1:\"s\";'),('en','messages:accesskey-summary','s:1:\"b\";'),('en','messages:accesskey-userrights-set','s:1:\"s\";'),('en','messages:accesskey-blockip-block','s:1:\"s\";'),('en','messages:accesskey-export','s:1:\"s\";'),('en','messages:accesskey-import','s:1:\"s\";'),('en','messages:tooltip-pt-userpage','s:14:\"Your user page\";'),('en','messages:tooltip-pt-anonuserpage','s:51:\"The user page for the IP address you are editing as\";'),('en','messages:tooltip-pt-mytalk','s:14:\"Your talk page\";'),('en','messages:tooltip-pt-anontalk','s:43:\"Discussion about edits from this IP address\";'),('en','messages:tooltip-pt-preferences','s:16:\"Your preferences\";'),('en','messages:tooltip-pt-watchlist','s:46:\"A list of pages you are monitoring for changes\";'),('en','messages:tooltip-pt-mycontris','s:28:\"A list of your contributions\";'),('en','messages:tooltip-pt-login','s:58:\"You are encouraged to log in; however, it is not mandatory\";'),('en','messages:tooltip-pt-anonlogin','s:58:\"You are encouraged to log in; however, it is not mandatory\";'),('en','messages:tooltip-pt-logout','s:7:\"Log out\";'),('en','messages:tooltip-ca-talk','s:33:\"Discussion about the content page\";'),('en','messages:tooltip-ca-edit','s:67:\"You can edit this page. Please use the preview button before saving\";'),('en','messages:tooltip-ca-addsection','s:19:\"Start a new section\";'),('en','messages:tooltip-ca-viewsource','s:47:\"This page is protected.\nYou can view its source\";'),('en','messages:tooltip-ca-history','s:27:\"Past revisions of this page\";'),('en','messages:tooltip-ca-protect','s:17:\"Protect this page\";'),('en','messages:tooltip-ca-unprotect','s:30:\"Change protection of this page\";'),('en','messages:tooltip-ca-delete','s:16:\"Delete this page\";'),('en','messages:tooltip-ca-undelete','s:57:\"Restore the edits done to this page before it was deleted\";'),('en','messages:tooltip-ca-move','s:14:\"Move this page\";'),('en','messages:tooltip-ca-watch','s:31:\"Add this page to your watchlist\";'),('en','messages:tooltip-ca-unwatch','s:36:\"Remove this page from your watchlist\";'),('en','messages:tooltip-search','s:19:\"Search {{SITENAME}}\";'),('en','messages:tooltip-search-go','s:43:\"Go to a page with this exact name if exists\";'),('en','messages:tooltip-search-fulltext','s:30:\"Search the pages for this text\";'),('en','messages:tooltip-p-logo','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-mainpage','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-mainpage-description','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-portal','s:56:\"About the project, what you can do, where to find things\";'),('en','messages:tooltip-n-currentevents','s:45:\"Find background information on current events\";'),('en','messages:tooltip-n-recentchanges','s:36:\"A list of recent changes in the wiki\";'),('en','messages:tooltip-n-randompage','s:18:\"Load a random page\";'),('en','messages:tooltip-n-help','s:21:\"The place to find out\";'),('en','messages:tooltip-t-whatlinkshere','s:39:\"A list of all wiki pages that link here\";'),('en','messages:tooltip-t-recentchangeslinked','s:45:\"Recent changes in pages linked from this page\";'),('en','messages:tooltip-feed-rss','s:22:\"RSS feed for this page\";'),('en','messages:tooltip-feed-atom','s:23:\"Atom feed for this page\";'),('en','messages:tooltip-t-contributions','s:36:\"A list of contributions of this user\";'),('en','messages:tooltip-t-emailuser','s:27:\"Send an e-mail to this user\";'),('en','messages:tooltip-t-upload','s:12:\"Upload files\";'),('en','messages:tooltip-t-specialpages','s:27:\"A list of all special pages\";'),('en','messages:tooltip-t-print','s:30:\"Printable version of this page\";'),('en','messages:tooltip-t-permalink','s:43:\"Permanent link to this revision of the page\";'),('en','messages:tooltip-ca-nstab-main','s:21:\"View the content page\";'),('en','messages:tooltip-ca-nstab-user','s:18:\"View the user page\";'),('en','messages:tooltip-ca-nstab-media','s:19:\"View the media page\";'),('en','messages:tooltip-ca-nstab-special','s:55:\"This is a special page, you cannot edit the page itself\";'),('en','messages:tooltip-ca-nstab-project','s:21:\"View the project page\";'),('en','messages:tooltip-ca-nstab-image','s:18:\"View the file page\";'),('en','messages:tooltip-ca-nstab-mediawiki','s:23:\"View the system message\";'),('en','messages:tooltip-ca-nstab-template','s:17:\"View the template\";'),('en','messages:tooltip-ca-nstab-help','s:18:\"View the help page\";'),('en','messages:tooltip-ca-nstab-category','s:22:\"View the category page\";'),('en','messages:tooltip-minoredit','s:25:\"Mark this as a minor edit\";'),('en','messages:tooltip-save','s:17:\"Save your changes\";'),('en','messages:tooltip-preview','s:52:\"Preview your changes, please use this before saving!\";'),('en','messages:tooltip-diff','s:39:\"Show which changes you made to the text\";'),('en','messages:tooltip-compareselectedversions','s:67:\"See the differences between the two selected revisions of this page\";'),('en','messages:tooltip-watch','s:31:\"Add this page to your watchlist\";'),('en','messages:tooltip-recreate','s:49:\"Recreate the page even though it has been deleted\";'),('en','messages:tooltip-upload','s:12:\"Start upload\";'),('en','messages:tooltip-rollback','s:76:\"\"Rollback\" reverts edit(s) to this page of the last contributor in one click\";'),('en','messages:tooltip-undo','s:107:\"\"Undo\" reverts this edit and opens the edit form in preview mode. It allows adding a reason in the summary.\";'),('en','messages:tooltip-preferences-save','s:16:\"Save preferences\";'),('en','messages:tooltip-summary','s:21:\"Enter a short summary\";'),('en','messages:common.css','s:50:\"/* CSS placed here will be applied to all skins */\";'),('en','messages:standard.css','s:60:\"/* CSS placed here will affect users of the Standard skin */\";'),('en','messages:nostalgia.css','s:61:\"/* CSS placed here will affect users of the Nostalgia skin */\";'),('en','messages:cologneblue.css','s:64:\"/* CSS placed here will affect users of the Cologne Blue skin */\";'),('en','messages:monobook.css','s:60:\"/* CSS placed here will affect users of the Monobook skin */\";'),('en','messages:myskin.css','s:58:\"/* CSS placed here will affect users of the MySkin skin */\";'),('en','messages:chick.css','s:57:\"/* CSS placed here will affect users of the Chick skin */\";'),('en','messages:simple.css','s:58:\"/* CSS placed here will affect users of the Simple skin */\";'),('en','messages:modern.css','s:58:\"/* CSS placed here will affect users of the Modern skin */\";'),('en','messages:vector.css','s:58:\"/* CSS placed here will affect users of the Vector skin */\";'),('en','messages:print.css','s:50:\"/* CSS placed here will affect the print output */\";'),('en','messages:handheld.css','s:99:\"/* CSS placed here will affect handheld devices based on the skin configured in $wgHandheldStyle */\";'),('en','messages:noscript.css','s:64:\"/* CSS placed here will affect users with JavaScript disabled */\";'),('en','messages:group-autoconfirmed.css','s:58:\"/* CSS placed here will affect autoconfirmed users only */\";'),('en','messages:group-bot.css','s:43:\"/* CSS placed here will affect bots only */\";'),('en','messages:group-sysop.css','s:45:\"/* CSS placed here will affect sysops only */\";'),('en','messages:group-bureaucrat.css','s:50:\"/* CSS placed here will affect bureaucrats only */\";'),('en','messages:common.js','s:74:\"/* Any JavaScript here will be loaded for all users on every page load. */\";'),('en','messages:standard.js','s:74:\"/* Any JavaScript here will be loaded for users using the Standard skin */\";'),('en','messages:nostalgia.js','s:75:\"/* Any JavaScript here will be loaded for users using the Nostalgia skin */\";'),('en','messages:cologneblue.js','s:78:\"/* Any JavaScript here will be loaded for users using the Cologne Blue skin */\";'),('en','messages:monobook.js','s:74:\"/* Any JavaScript here will be loaded for users using the MonoBook skin */\";'),('en','messages:myskin.js','s:72:\"/* Any JavaScript here will be loaded for users using the MySkin skin */\";'),('en','messages:chick.js','s:71:\"/* Any JavaScript here will be loaded for users using the Chick skin */\";'),('en','messages:simple.js','s:72:\"/* Any JavaScript here will be loaded for users using the Simple skin */\";'),('en','messages:modern.js','s:72:\"/* Any JavaScript here will be loaded for users using the Modern skin */\";'),('en','messages:vector.js','s:72:\"/* Any JavaScript here will be loaded for users using the Vector skin */\";'),('en','messages:group-autoconfirmed.js','s:69:\"/* Any JavaScript here will be loaded for autoconfirmed users only */\";'),('en','messages:group-bot.js','s:54:\"/* Any JavaScript here will be loaded for bots only */\";'),('en','messages:group-sysop.js','s:56:\"/* Any JavaScript here will be loaded for sysops only */\";'),('en','messages:group-bureaucrat.js','s:61:\"/* Any JavaScript here will be loaded for bureaucrats only */\";'),('en','messages:notacceptable','s:69:\"The wiki server cannot provide data in a format your client can read.\";'),('en','messages:anonymous','s:50:\"Anonymous {{PLURAL:$1|user|users}} of {{SITENAME}}\";'),('en','messages:siteuser','s:20:\"{{SITENAME}} user $1\";'),('en','messages:anonuser','s:30:\"{{SITENAME}} anonymous user $1\";'),('en','messages:lastmodifiedatby','s:41:\"This page was last modified $2, $1 by $3.\";'),('en','messages:othercontribs','s:20:\"Based on work by $1.\";'),('en','messages:others','s:6:\"others\";'),('en','messages:siteusers','s:40:\"{{SITENAME}} {{PLURAL:$2|user|users}} $1\";'),('en','messages:anonusers','s:50:\"{{SITENAME}} anonymous {{PLURAL:$2|user|users}} $1\";'),('en','messages:creditspage','s:12:\"Page credits\";'),('en','messages:nocredits','s:49:\"There is no credits info available for this page.\";'),('en','messages:spamprotectiontitle','s:22:\"Spam protection filter\";'),('en','messages:spamprotectiontext','s:125:\"The text you wanted to save was blocked by the spam filter.\nThis is probably caused by a link to a blacklisted external site.\";'),('en','messages:spamprotectionmatch','s:56:\"The following text is what triggered our spam filter: $1\";'),('en','messages:spambot_username','s:22:\"MediaWiki spam cleanup\";'),('en','messages:spam_reverting','s:53:\"Reverting to last revision not containing links to $1\";'),('en','messages:spam_blanking','s:45:\"All revisions contained links to $1, blanking\";'),('en','messages:pageinfo-title','s:20:\"Information for \"$1\"\";'),('en','messages:pageinfo-header-edits','s:5:\"Edits\";'),('en','messages:pageinfo-header-watchlist','s:9:\"Watchlist\";'),('en','messages:pageinfo-header-views','s:5:\"Views\";'),('en','messages:pageinfo-subjectpage','s:4:\"Page\";'),('en','messages:pageinfo-talkpage','s:9:\"Talk page\";'),('en','messages:pageinfo-watchers','s:18:\"Number of watchers\";'),('en','messages:pageinfo-edits','s:15:\"Number of edits\";'),('en','messages:pageinfo-authors','s:26:\"Number of distinct authors\";'),('en','messages:pageinfo-views','s:15:\"Number of views\";'),('en','messages:pageinfo-viewsperedit','s:14:\"Views per edit\";'),('en','messages:skinname-standard','s:7:\"Classic\";'),('en','messages:skinname-nostalgia','s:9:\"Nostalgia\";'),('en','messages:skinname-cologneblue','s:12:\"Cologne Blue\";'),('en','messages:skinname-monobook','s:8:\"MonoBook\";'),('en','messages:skinname-myskin','s:6:\"MySkin\";'),('en','messages:skinname-chick','s:5:\"Chick\";'),('en','messages:skinname-simple','s:6:\"Simple\";'),('en','messages:skinname-modern','s:6:\"Modern\";'),('en','messages:skinname-vector','s:6:\"Vector\";'),('en','messages:markaspatrolleddiff','s:17:\"Mark as patrolled\";'),('en','messages:markaspatrolledlink','s:4:\"[$1]\";'),('en','messages:markaspatrolledtext','s:27:\"Mark this page as patrolled\";'),('en','messages:markedaspatrolled','s:19:\"Marked as patrolled\";'),('en','messages:markedaspatrolledtext','s:62:\"The selected revision of [[:$1]] has been marked as patrolled.\";'),('en','messages:rcpatroldisabled','s:30:\"Recent changes patrol disabled\";'),('en','messages:rcpatroldisabledtext','s:56:\"The recent changes patrol feature is currently disabled.\";'),('en','messages:markedaspatrollederror','s:24:\"Cannot mark as patrolled\";'),('en','messages:markedaspatrollederrortext','s:52:\"You need to specify a revision to mark as patrolled.\";'),('en','messages:markedaspatrollederror-noautopatrol','s:58:\"You are not allowed to mark your own changes as patrolled.\";'),('en','messages:patrol-log-page','s:10:\"Patrol log\";'),('en','messages:patrol-log-header','s:37:\"This is a log of patrolled revisions.\";'),('en','messages:patrol-log-line','s:28:\"marked $1 of $2 patrolled $3\";'),('en','messages:patrol-log-auto','s:11:\"(automatic)\";'),('en','messages:patrol-log-diff','s:11:\"revision $1\";'),('en','messages:log-show-hide-patrol','s:13:\"$1 patrol log\";'),('en','messages:deletedrevision','s:23:\"Deleted old revision $1\";'),('en','messages:filedeleteerror-short','s:23:\"Error deleting file: $1\";'),('en','messages:filedeleteerror-long','s:52:\"Errors were encountered while deleting the file:\n\n$1\";'),('en','messages:filedelete-missing','s:59:\"The file \"$1\" cannot be deleted, because it does not exist.\";'),('en','messages:filedelete-old-unregistered','s:56:\"The specified file revision \"$1\" is not in the database.\";'),('en','messages:filedelete-current-unregistered','s:47:\"The specified file \"$1\" is not in the database.\";'),('en','messages:filedelete-archive-read-only','s:60:\"The archive directory \"$1\" is not writable by the webserver.\";'),('en','messages:previousdiff','s:14:\"← Older edit\";'),('en','messages:nextdiff','s:14:\"Newer edit →\";'),('en','messages:mediawarning','s:106:\"\'\'\'Warning\'\'\': This file type may contain malicious code.\nBy executing it, your system may be compromised.\";'),('en','messages:imagemaxsize','s:55:\"Image size limit:<br />\'\'(for file description pages)\'\'\";'),('en','messages:thumbsize','s:15:\"Thumbnail size:\";'),('en','messages:widthheight','s:8:\"$1 × $2\";'),('en','messages:widthheightpage','s:37:\"$1 × $2, $3 {{PLURAL:$3|page|pages}}\";'),('en','messages:file-info','s:28:\"file size: $1, MIME type: $2\";'),('en','messages:file-info-size','s:45:\"$1 × $2 pixels, file size: $3, MIME type: $4\";'),('en','messages:file-info-size-pages','s:74:\"$1 × $2 pixels, file size: $3, MIME type: $4, $5 {{PLURAL:$5|page|pages}}\";'),('en','messages:file-nohires','s:46:\"<small>No higher resolution available.</small>\";'),('en','messages:svg-long-desc','s:50:\"SVG file, nominally $1 × $2 pixels, file size: $3\";'),('en','messages:show-big-image','s:15:\"Full resolution\";'),('en','messages:show-big-image-preview','s:40:\"<small>Size of this preview: $1.</small>\";'),('en','messages:show-big-image-other','s:37:\"<small>Other resolutions: $1.</small>\";'),('en','messages:show-big-image-size','s:15:\"$1 × $2 pixels\";'),('en','messages:file-info-gif-looped','s:6:\"looped\";'),('en','messages:file-info-gif-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('en','messages:file-info-png-looped','s:6:\"looped\";'),('en','messages:file-info-png-repeat','s:34:\"played $1 {{PLURAL:$1|time|times}}\";'),('en','messages:file-info-png-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('en','messages:newimages','s:20:\"Gallery of new files\";'),('en','messages:imagelisttext','s:63:\"Below is a list of \'\'\'$1\'\'\' {{PLURAL:$1|file|files}} sorted $2.\";'),('en','messages:newimages-summary','s:48:\"This special page shows the last uploaded files.\";'),('en','messages:newimages-legend','s:6:\"Filter\";'),('en','messages:newimages-label','s:27:\"Filename (or a part of it):\";'),('en','messages:showhidebots','s:9:\"($1 bots)\";'),('en','messages:noimages','s:15:\"Nothing to see.\";'),('en','messages:ilsubmit','s:6:\"Search\";'),('en','messages:bydate','s:7:\"by date\";'),('en','messages:sp-newimages-showfrom','s:35:\"Show new files starting from $2, $1\";'),('en','messages:video-dims','s:12:\"$1, $2 × $3\";'),('en','messages:seconds-abbrev','s:1:\"s\";'),('en','messages:minutes-abbrev','s:1:\"m\";'),('en','messages:hours-abbrev','s:1:\"h\";'),('en','messages:days-abbrev','s:1:\"d\";'),('en','messages:bad_image_list','s:252:\"The format is as follows:\n\nOnly list items (lines starting with *) are considered.\nThe first link on a line must be a link to a bad file.\nAny subsequent links on the same line are considered to be exceptions, i.e. pages where the file may occur inline.\";'),('en','messages:variantname-zh-hans','s:4:\"hans\";'),('en','messages:variantname-zh-hant','s:4:\"hant\";'),('en','messages:variantname-zh-cn','s:2:\"cn\";'),('en','messages:variantname-zh-tw','s:2:\"tw\";'),('en','messages:variantname-zh-hk','s:2:\"hk\";'),('en','messages:variantname-zh-mo','s:2:\"mo\";'),('en','messages:variantname-zh-sg','s:2:\"sg\";'),('en','messages:variantname-zh-my','s:2:\"my\";'),('en','messages:variantname-zh','s:2:\"zh\";'),('en','messages:variantname-gan-hans','s:4:\"hans\";'),('en','messages:variantname-gan-hant','s:4:\"hant\";'),('en','messages:variantname-gan','s:3:\"gan\";'),('en','messages:variantname-sr-ec','s:5:\"sr-ec\";'),('en','messages:variantname-sr-el','s:5:\"sr-el\";'),('en','messages:variantname-sr','s:2:\"sr\";'),('en','messages:variantname-kk-kz','s:5:\"kk-kz\";'),('en','messages:variantname-kk-tr','s:5:\"kk-tr\";'),('en','messages:variantname-kk-cn','s:5:\"kk-cn\";'),('en','messages:variantname-kk-cyrl','s:7:\"kk-cyrl\";'),('en','messages:variantname-kk-latn','s:7:\"kk-latn\";'),('en','messages:variantname-kk-arab','s:7:\"kk-arab\";'),('en','messages:variantname-kk','s:2:\"kk\";'),('en','messages:variantname-ku-arab','s:7:\"ku-Arab\";'),('en','messages:variantname-ku-latn','s:7:\"ku-Latn\";'),('en','messages:variantname-ku','s:2:\"ku\";'),('en','messages:variantname-tg-cyrl','s:7:\"tg-Cyrl\";'),('en','messages:variantname-tg-latn','s:7:\"tg-Latn\";'),('en','messages:variantname-tg','s:2:\"tg\";'),('en','messages:variantname-ike-cans','s:8:\"ike-Cans\";'),('en','messages:variantname-ike-latn','s:8:\"ike-Latn\";'),('en','messages:variantname-iu','s:2:\"iu\";'),('en','messages:metadata','s:8:\"Metadata\";'),('en','messages:metadata-help','s:232:\"This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.\nIf the file has been modified from its original state, some details may not fully reflect the modified file.\";'),('en','messages:metadata-expand','s:21:\"Show extended details\";'),('en','messages:metadata-collapse','s:21:\"Hide extended details\";'),('en','messages:metadata-fields','s:329:\"Image metadata fields listed in this message will be included on image page display when the metadata table is collapsed.\nOthers will be hidden by default.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude\";'),('en','messages:metadata-langitem','s:12:\"\'\'\'$2:\'\'\' $1\";'),('en','messages:metadata-langitem-default','s:2:\"$1\";'),('en','messages:exif-imagewidth','s:5:\"Width\";'),('en','messages:exif-imagelength','s:6:\"Height\";'),('en','messages:exif-bitspersample','s:18:\"Bits per component\";'),('en','messages:exif-compression','s:18:\"Compression scheme\";'),('en','messages:exif-photometricinterpretation','s:17:\"Pixel composition\";'),('en','messages:exif-orientation','s:11:\"Orientation\";'),('en','messages:exif-samplesperpixel','s:20:\"Number of components\";'),('en','messages:exif-planarconfiguration','s:16:\"Data arrangement\";'),('en','messages:exif-ycbcrsubsampling','s:27:\"Subsampling ratio of Y to C\";'),('en','messages:exif-ycbcrpositioning','s:19:\"Y and C positioning\";'),('en','messages:exif-xresolution','s:21:\"Horizontal resolution\";'),('en','messages:exif-yresolution','s:19:\"Vertical resolution\";'),('en','messages:exif-stripoffsets','s:19:\"Image data location\";'),('en','messages:exif-rowsperstrip','s:24:\"Number of rows per strip\";'),('en','messages:exif-stripbytecounts','s:26:\"Bytes per compressed strip\";'),('en','messages:exif-jpeginterchangeformat','s:18:\"Offset to JPEG SOI\";'),('en','messages:exif-jpeginterchangeformatlength','s:18:\"Bytes of JPEG data\";'),('en','messages:exif-whitepoint','s:24:\"White point chromaticity\";'),('en','messages:exif-primarychromaticities','s:29:\"Chromaticities of primarities\";'),('en','messages:exif-ycbcrcoefficients','s:46:\"Color space transformation matrix coefficients\";'),('en','messages:exif-referenceblackwhite','s:40:\"Pair of black and white reference values\";'),('en','messages:exif-datetime','s:25:\"File change date and time\";'),('en','messages:exif-imagedescription','s:11:\"Image title\";'),('en','messages:exif-make','s:19:\"Camera manufacturer\";'),('en','messages:exif-model','s:12:\"Camera model\";'),('en','messages:exif-software','s:13:\"Software used\";'),('en','messages:exif-artist','s:6:\"Author\";'),('en','messages:exif-copyright','s:16:\"Copyright holder\";'),('en','messages:exif-exifversion','s:12:\"Exif version\";'),('en','messages:exif-flashpixversion','s:26:\"Supported Flashpix version\";'),('en','messages:exif-colorspace','s:11:\"Color space\";'),('en','messages:exif-componentsconfiguration','s:25:\"Meaning of each component\";'),('en','messages:exif-compressedbitsperpixel','s:22:\"Image compression mode\";'),('en','messages:exif-pixelydimension','s:11:\"Image width\";'),('en','messages:exif-pixelxdimension','s:12:\"Image height\";'),('en','messages:exif-usercomment','s:13:\"User comments\";'),('en','messages:exif-relatedsoundfile','s:18:\"Related audio file\";'),('en','messages:exif-datetimeoriginal','s:32:\"Date and time of data generation\";'),('en','messages:exif-datetimedigitized','s:27:\"Date and time of digitizing\";'),('en','messages:exif-subsectime','s:19:\"DateTime subseconds\";'),('en','messages:exif-subsectimeoriginal','s:27:\"DateTimeOriginal subseconds\";'),('en','messages:exif-subsectimedigitized','s:28:\"DateTimeDigitized subseconds\";'),('en','messages:exif-exposuretime','s:13:\"Exposure time\";'),('en','messages:exif-exposuretime-format','s:11:\"$1 sec ($2)\";'),('en','messages:exif-fnumber','s:8:\"F Number\";'),('en','messages:exif-fnumber-format','s:4:\"f/$1\";'),('en','messages:exif-exposureprogram','s:16:\"Exposure Program\";'),('en','messages:exif-spectralsensitivity','s:20:\"Spectral sensitivity\";'),('en','messages:exif-isospeedratings','s:16:\"ISO speed rating\";'),('en','messages:exif-shutterspeedvalue','s:18:\"APEX shutter speed\";'),('en','messages:exif-aperturevalue','s:13:\"APEX aperture\";'),('en','messages:exif-brightnessvalue','s:15:\"APEX brightness\";'),('en','messages:exif-exposurebiasvalue','s:18:\"APEX exposure bias\";'),('en','messages:exif-maxaperturevalue','s:21:\"Maximum land aperture\";'),('en','messages:exif-subjectdistance','s:16:\"Subject distance\";'),('en','messages:exif-meteringmode','s:13:\"Metering mode\";'),('en','messages:exif-lightsource','s:12:\"Light source\";'),('en','messages:exif-flash','s:5:\"Flash\";'),('en','messages:exif-focallength','s:17:\"Lens focal length\";'),('en','messages:exif-focallength-format','s:5:\"$1 mm\";'),('en','messages:exif-subjectarea','s:12:\"Subject area\";'),('en','messages:exif-flashenergy','s:12:\"Flash energy\";'),('en','messages:exif-focalplanexresolution','s:24:\"Focal plane X resolution\";'),('en','messages:exif-focalplaneyresolution','s:24:\"Focal plane Y resolution\";'),('en','messages:exif-focalplaneresolutionunit','s:27:\"Focal plane resolution unit\";'),('en','messages:exif-subjectlocation','s:16:\"Subject location\";'),('en','messages:exif-exposureindex','s:14:\"Exposure index\";'),('en','messages:exif-sensingmethod','s:14:\"Sensing method\";'),('en','messages:exif-filesource','s:11:\"File source\";'),('en','messages:exif-scenetype','s:10:\"Scene type\";'),('en','messages:exif-customrendered','s:23:\"Custom image processing\";'),('en','messages:exif-exposuremode','s:13:\"Exposure mode\";'),('en','messages:exif-whitebalance','s:13:\"White balance\";'),('en','messages:exif-digitalzoomratio','s:18:\"Digital zoom ratio\";'),('en','messages:exif-focallengthin35mmfilm','s:26:\"Focal length in 35 mm film\";'),('en','messages:exif-scenecapturetype','s:18:\"Scene capture type\";'),('en','messages:exif-gaincontrol','s:13:\"Scene control\";'),('en','messages:exif-contrast','s:8:\"Contrast\";'),('en','messages:exif-saturation','s:10:\"Saturation\";'),('en','messages:exif-sharpness','s:9:\"Sharpness\";'),('en','messages:exif-devicesettingdescription','s:27:\"Device settings description\";'),('en','messages:exif-subjectdistancerange','s:22:\"Subject distance range\";'),('en','messages:exif-imageuniqueid','s:15:\"Unique image ID\";'),('en','messages:exif-gpsversionid','s:15:\"GPS tag version\";'),('en','messages:exif-gpslatituderef','s:23:\"North or south latitude\";'),('en','messages:exif-gpslatitude','s:8:\"Latitude\";'),('en','messages:exif-gpslongituderef','s:22:\"East or west longitude\";'),('en','messages:exif-gpslongitude','s:9:\"Longitude\";'),('en','messages:exif-gpsaltituderef','s:18:\"Altitude reference\";'),('en','messages:exif-gpsaltitude','s:8:\"Altitude\";'),('en','messages:exif-gpstimestamp','s:23:\"GPS time (atomic clock)\";'),('en','messages:exif-gpssatellites','s:31:\"Satellites used for measurement\";'),('en','messages:exif-gpsstatus','s:15:\"Receiver status\";'),('en','messages:exif-gpsmeasuremode','s:16:\"Measurement mode\";'),('en','messages:exif-gpsdop','s:21:\"Measurement precision\";'),('en','messages:exif-gpsspeedref','s:10:\"Speed unit\";'),('en','messages:exif-gpsspeed','s:21:\"Speed of GPS receiver\";'),('en','messages:exif-gpstrackref','s:35:\"Reference for direction of movement\";'),('en','messages:exif-gpstrack','s:21:\"Direction of movement\";'),('en','messages:exif-gpsimgdirectionref','s:32:\"Reference for direction of image\";'),('en','messages:exif-gpsimgdirection','s:18:\"Direction of image\";'),('en','messages:exif-gpsmapdatum','s:25:\"Geodetic survey data used\";'),('en','messages:exif-gpsdestlatituderef','s:37:\"Reference for latitude of destination\";'),('en','messages:exif-gpsdestlatitude','s:20:\"Latitude destination\";'),('en','messages:exif-gpsdestlongituderef','s:38:\"Reference for longitude of destination\";'),('en','messages:exif-gpsdestlongitude','s:24:\"Longitude of destination\";'),('en','messages:exif-gpsdestbearingref','s:36:\"Reference for bearing of destination\";'),('en','messages:exif-gpsdestbearing','s:22:\"Bearing of destination\";'),('en','messages:exif-gpsdestdistanceref','s:37:\"Reference for distance to destination\";'),('en','messages:exif-gpsdestdistance','s:23:\"Distance to destination\";'),('en','messages:exif-gpsprocessingmethod','s:29:\"Name of GPS processing method\";'),('en','messages:exif-gpsareainformation','s:16:\"Name of GPS area\";'),('en','messages:exif-gpsdatestamp','s:8:\"GPS date\";'),('en','messages:exif-gpsdifferential','s:27:\"GPS differential correction\";'),('en','messages:exif-coordinate-format','s:19:\"$1° $2′ $3″ $4\";'),('en','messages:exif-jpegfilecomment','s:17:\"JPEG file comment\";'),('en','messages:exif-keywords','s:8:\"Keywords\";'),('en','messages:exif-worldregioncreated','s:42:\"World region that the picture was taken in\";'),('en','messages:exif-countrycreated','s:37:\"Country that the picture was taken in\";'),('en','messages:exif-countrycodecreated','s:50:\"Code for the country that the picture was taken in\";'),('en','messages:exif-provinceorstatecreated','s:47:\"Province or state that the picture was taken in\";'),('en','messages:exif-citycreated','s:34:\"City that the picture was taken in\";'),('en','messages:exif-sublocationcreated','s:53:\"Sublocation of the city that the picture was taken in\";'),('en','messages:exif-worldregiondest','s:18:\"World region shown\";'),('en','messages:exif-countrydest','s:13:\"Country shown\";'),('en','messages:exif-countrycodedest','s:22:\"Code for country shown\";'),('en','messages:exif-provinceorstatedest','s:23:\"Province or state shown\";'),('en','messages:exif-citydest','s:10:\"City shown\";'),('en','messages:exif-sublocationdest','s:25:\"Sublocation of city shown\";'),('en','messages:exif-objectname','s:11:\"Short title\";'),('en','messages:exif-specialinstructions','s:20:\"Special instructions\";'),('en','messages:exif-headline','s:8:\"Headline\";'),('en','messages:exif-credit','s:15:\"Credit/Provider\";'),('en','messages:exif-source','s:6:\"Source\";'),('en','messages:exif-editstatus','s:25:\"Editorial status of image\";'),('en','messages:exif-urgency','s:7:\"Urgency\";'),('en','messages:exif-fixtureidentifier','s:12:\"Fixture name\";'),('en','messages:exif-locationdest','s:17:\"Location depicted\";'),('en','messages:exif-locationdestcode','s:25:\"Code of location depicted\";'),('en','messages:exif-objectcycle','s:38:\"Time of day that media is intended for\";'),('en','messages:exif-contact','s:19:\"Contact information\";'),('en','messages:exif-writer','s:6:\"Writer\";'),('en','messages:exif-languagecode','s:8:\"Language\";'),('en','messages:exif-iimversion','s:11:\"IIM version\";'),('en','messages:exif-iimcategory','s:8:\"Category\";'),('en','messages:exif-iimsupplementalcategory','s:23:\"Supplemental categories\";'),('en','messages:exif-datetimeexpires','s:16:\"Do not use after\";'),('en','messages:exif-datetimereleased','s:11:\"Released on\";'),('en','messages:exif-originaltransmissionref','s:35:\"Original transmission location code\";'),('en','messages:exif-identifier','s:10:\"Identifier\";'),('en','messages:exif-lens','s:9:\"Lens used\";'),('en','messages:exif-serialnumber','s:23:\"Serial number of camera\";'),('en','messages:exif-cameraownername','s:15:\"Owner of camera\";'),('en','messages:exif-label','s:5:\"Label\";'),('en','messages:exif-datetimemetadata','s:31:\"Date metadata was last modified\";'),('en','messages:exif-nickname','s:22:\"Informal name of image\";'),('en','messages:exif-rating','s:17:\"Rating (out of 5)\";'),('en','messages:exif-rightscertificate','s:29:\"Rights management certificate\";'),('en','messages:exif-copyrighted','s:16:\"Copyright status\";'),('en','messages:exif-copyrightowner','s:15:\"Copyright owner\";'),('en','messages:exif-usageterms','s:11:\"Usage terms\";'),('en','messages:exif-webstatement','s:26:\"Online copyright statement\";'),('en','messages:exif-originaldocumentid','s:30:\"Unique ID of original document\";'),('en','messages:exif-licenseurl','s:25:\"URL for copyright license\";'),('en','messages:exif-morepermissionsurl','s:33:\"Alternative licensing information\";'),('en','messages:exif-attributionurl','s:39:\"When re-using this work, please link to\";'),('en','messages:exif-preferredattributionname','s:38:\"When re-using this work, please credit\";'),('en','messages:exif-pngfilecomment','s:16:\"PNG file comment\";'),('en','messages:exif-disclaimer','s:10:\"Disclaimer\";'),('en','messages:exif-contentwarning','s:15:\"Content warning\";'),('en','messages:exif-giffilecomment','s:16:\"GIF file comment\";'),('en','messages:exif-intellectualgenre','s:12:\"Type of item\";'),('en','messages:exif-subjectnewscode','s:12:\"Subject code\";'),('en','messages:exif-scenecode','s:15:\"IPTC scene code\";'),('en','messages:exif-event','s:14:\"Event depicted\";'),('en','messages:exif-organisationinimage','s:21:\"Organization depicted\";'),('en','messages:exif-personinimage','s:15:\"Person depicted\";'),('en','messages:exif-originalimageheight','s:37:\"Height of image before it was cropped\";'),('en','messages:exif-originalimagewidth','s:36:\"Width of image before it was cropped\";'),('en','messages:exif-make-value','s:2:\"$1\";'),('en','messages:exif-model-value','s:2:\"$1\";'),('en','messages:exif-software-value','s:2:\"$1\";'),('en','messages:exif-software-version-value','s:15:\"$1 (Version $2)\";'),('en','messages:exif-contact-value','s:52:\"$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8\";'),('en','messages:exif-subjectnewscode-value','s:7:\"$2 ($1)\";'),('en','messages:exif-compression-1','s:12:\"Uncompressed\";'),('en','messages:exif-compression-2','s:64:\"CCITT Group 3 1-Dimensional Modified Huffman run length encoding\";'),('en','messages:exif-compression-3','s:26:\"CCITT Group 3 fax encoding\";'),('en','messages:exif-compression-4','s:26:\"CCITT Group 4 fax encoding\";'),('en','messages:exif-compression-5','s:3:\"LZW\";'),('en','messages:exif-compression-6','s:10:\"JPEG (old)\";'),('en','messages:exif-compression-7','s:4:\"JPEG\";'),('en','messages:exif-compression-8','s:15:\"Deflate (Adobe)\";'),('en','messages:exif-compression-32773','s:24:\"PackBits (Macintosh RLE)\";'),('en','messages:exif-compression-32946','s:15:\"Deflate (PKZIP)\";'),('en','messages:exif-compression-34712','s:8:\"JPEG2000\";'),('en','messages:exif-copyrighted-true','s:11:\"Copyrighted\";'),('en','messages:exif-copyrighted-false','s:13:\"Public domain\";'),('en','messages:exif-photometricinterpretation-2','s:3:\"RGB\";'),('en','messages:exif-photometricinterpretation-6','s:5:\"YCbCr\";'),('en','messages:exif-unknowndate','s:12:\"Unknown date\";'),('en','messages:exif-orientation-1','s:6:\"Normal\";'),('en','messages:exif-orientation-2','s:20:\"Flipped horizontally\";'),('en','messages:exif-orientation-3','s:13:\"Rotated 180°\";'),('en','messages:exif-orientation-4','s:18:\"Flipped vertically\";'),('en','messages:exif-orientation-5','s:39:\"Rotated 90° CCW and flipped vertically\";'),('en','messages:exif-orientation-6','s:16:\"Rotated 90° CCW\";'),('en','messages:exif-orientation-7','s:38:\"Rotated 90° CW and flipped vertically\";'),('en','messages:exif-orientation-8','s:15:\"Rotated 90° CW\";'),('en','messages:exif-planarconfiguration-1','s:13:\"chunky format\";'),('en','messages:exif-planarconfiguration-2','s:13:\"planar format\";'),('en','messages:exif-xyresolution-i','s:6:\"$1 dpi\";'),('en','messages:exif-xyresolution-c','s:6:\"$1 dpc\";'),('en','messages:exif-colorspace-1','s:4:\"sRGB\";'),('en','messages:exif-colorspace-65535','s:12:\"Uncalibrated\";'),('en','messages:exif-componentsconfiguration-0','s:14:\"does not exist\";'),('en','messages:exif-componentsconfiguration-1','s:1:\"Y\";'),('en','messages:exif-componentsconfiguration-2','s:2:\"Cb\";'),('en','messages:exif-componentsconfiguration-3','s:2:\"Cr\";'),('en','messages:exif-componentsconfiguration-4','s:1:\"R\";'),('en','messages:exif-componentsconfiguration-5','s:1:\"G\";'),('en','messages:exif-componentsconfiguration-6','s:1:\"B\";'),('en','messages:exif-exposureprogram-0','s:11:\"Not defined\";'),('en','messages:exif-exposureprogram-1','s:6:\"Manual\";'),('en','messages:exif-exposureprogram-2','s:14:\"Normal program\";'),('en','messages:exif-exposureprogram-3','s:17:\"Aperture priority\";'),('en','messages:exif-exposureprogram-4','s:16:\"Shutter priority\";'),('en','messages:exif-exposureprogram-5','s:47:\"Creative program (biased toward depth of field)\";'),('en','messages:exif-exposureprogram-6','s:49:\"Action program (biased toward fast shutter speed)\";'),('en','messages:exif-exposureprogram-7','s:67:\"Portrait mode (for closeup photos with the background out of focus)\";'),('en','messages:exif-exposureprogram-8','s:66:\"Landscape mode (for landscape photos with the background in focus)\";'),('en','messages:exif-subjectdistance-value','s:9:\"$1 meters\";'),('en','messages:exif-meteringmode-0','s:7:\"Unknown\";'),('en','messages:exif-meteringmode-1','s:7:\"Average\";'),('en','messages:exif-meteringmode-2','s:23:\"Center weighted average\";'),('en','messages:exif-meteringmode-3','s:4:\"Spot\";'),('en','messages:exif-meteringmode-4','s:10:\"Multi-Spot\";'),('en','messages:exif-meteringmode-5','s:7:\"Pattern\";'),('en','messages:exif-meteringmode-6','s:7:\"Partial\";'),('en','messages:exif-meteringmode-255','s:5:\"Other\";'),('en','messages:exif-lightsource-0','s:7:\"Unknown\";'),('en','messages:exif-lightsource-1','s:8:\"Daylight\";'),('en','messages:exif-lightsource-2','s:11:\"Fluorescent\";'),('en','messages:exif-lightsource-3','s:29:\"Tungsten (incandescent light)\";'),('en','messages:exif-lightsource-4','s:5:\"Flash\";'),('en','messages:exif-lightsource-9','s:12:\"Fine weather\";'),('en','messages:exif-lightsource-10','s:14:\"Cloudy weather\";'),('en','messages:exif-lightsource-11','s:5:\"Shade\";'),('en','messages:exif-lightsource-12','s:39:\"Daylight fluorescent (D 5700 – 7100K)\";'),('en','messages:exif-lightsource-13','s:40:\"Day white fluorescent (N 4600 – 5400K)\";'),('en','messages:exif-lightsource-14','s:41:\"Cool white fluorescent (W 3900 – 4500K)\";'),('en','messages:exif-lightsource-15','s:37:\"White fluorescent (WW 3200 – 3700K)\";'),('en','messages:exif-lightsource-17','s:16:\"Standard light A\";'),('en','messages:exif-lightsource-18','s:16:\"Standard light B\";'),('en','messages:exif-lightsource-19','s:16:\"Standard light C\";'),('en','messages:exif-lightsource-20','s:3:\"D55\";'),('en','messages:exif-lightsource-21','s:3:\"D65\";'),('en','messages:exif-lightsource-22','s:3:\"D75\";'),('en','messages:exif-lightsource-23','s:3:\"D50\";'),('en','messages:exif-lightsource-24','s:19:\"ISO studio tungsten\";'),('en','messages:exif-lightsource-255','s:18:\"Other light source\";'),('en','messages:exif-flash-fired-0','s:18:\"Flash did not fire\";'),('en','messages:exif-flash-fired-1','s:11:\"Flash fired\";'),('en','messages:exif-flash-return-0','s:35:\"no strobe return detection function\";'),('en','messages:exif-flash-return-2','s:32:\"strobe return light not detected\";'),('en','messages:exif-flash-return-3','s:28:\"strobe return light detected\";'),('en','messages:exif-flash-mode-1','s:23:\"compulsory flash firing\";'),('en','messages:exif-flash-mode-2','s:28:\"compulsory flash suppression\";'),('en','messages:exif-flash-mode-3','s:9:\"auto mode\";'),('en','messages:exif-flash-function-1','s:17:\"No flash function\";'),('en','messages:exif-flash-redeye-1','s:22:\"red-eye reduction mode\";'),('en','messages:exif-focalplaneresolutionunit-2','s:6:\"inches\";'),('en','messages:exif-sensingmethod-1','s:9:\"Undefined\";'),('en','messages:exif-sensingmethod-2','s:26:\"One-chip color area sensor\";'),('en','messages:exif-sensingmethod-3','s:26:\"Two-chip color area sensor\";'),('en','messages:exif-sensingmethod-4','s:28:\"Three-chip color area sensor\";'),('en','messages:exif-sensingmethod-5','s:28:\"Color sequential area sensor\";'),('en','messages:exif-sensingmethod-7','s:16:\"Trilinear sensor\";'),('en','messages:exif-sensingmethod-8','s:30:\"Color sequential linear sensor\";'),('en','messages:exif-filesource-3','s:20:\"Digital still camera\";'),('en','messages:exif-scenetype-1','s:29:\"A directly photographed image\";'),('en','messages:exif-customrendered-0','s:14:\"Normal process\";'),('en','messages:exif-customrendered-1','s:14:\"Custom process\";'),('en','messages:exif-exposuremode-0','s:13:\"Auto exposure\";'),('en','messages:exif-exposuremode-1','s:15:\"Manual exposure\";'),('en','messages:exif-exposuremode-2','s:12:\"Auto bracket\";'),('en','messages:exif-whitebalance-0','s:18:\"Auto white balance\";'),('en','messages:exif-whitebalance-1','s:20:\"Manual white balance\";'),('en','messages:exif-scenecapturetype-0','s:8:\"Standard\";'),('en','messages:exif-scenecapturetype-1','s:9:\"Landscape\";'),('en','messages:exif-scenecapturetype-2','s:8:\"Portrait\";'),('en','messages:exif-scenecapturetype-3','s:11:\"Night scene\";'),('en','messages:exif-gaincontrol-0','s:4:\"None\";'),('en','messages:exif-gaincontrol-1','s:11:\"Low gain up\";'),('en','messages:exif-gaincontrol-2','s:12:\"High gain up\";'),('en','messages:exif-gaincontrol-3','s:13:\"Low gain down\";'),('en','messages:exif-gaincontrol-4','s:14:\"High gain down\";'),('en','messages:exif-contrast-0','s:6:\"Normal\";'),('en','messages:exif-contrast-1','s:4:\"Soft\";'),('en','messages:exif-contrast-2','s:4:\"Hard\";'),('en','messages:exif-saturation-0','s:6:\"Normal\";'),('en','messages:exif-saturation-1','s:14:\"Low saturation\";'),('en','messages:exif-saturation-2','s:15:\"High saturation\";'),('en','messages:exif-sharpness-0','s:6:\"Normal\";'),('en','messages:exif-sharpness-1','s:4:\"Soft\";'),('en','messages:exif-sharpness-2','s:4:\"Hard\";'),('en','messages:exif-subjectdistancerange-0','s:7:\"Unknown\";'),('en','messages:exif-subjectdistancerange-1','s:5:\"Macro\";'),('en','messages:exif-subjectdistancerange-2','s:10:\"Close view\";'),('en','messages:exif-subjectdistancerange-3','s:12:\"Distant view\";'),('en','messages:exif-gpslatitude-n','s:14:\"North latitude\";'),('en','messages:exif-gpslatitude-s','s:14:\"South latitude\";'),('en','messages:exif-gpslongitude-e','s:14:\"East longitude\";'),('en','messages:exif-gpslongitude-w','s:14:\"West longitude\";'),('en','messages:exif-gpsaltitude-above-sealevel','s:45:\"$1 {{PLURAL:$1|meter|meters}} above sea level\";'),('en','messages:exif-gpsaltitude-below-sealevel','s:45:\"$1 {{PLURAL:$1|meter|meters}} below sea level\";'),('en','messages:exif-gpsstatus-a','s:23:\"Measurement in progress\";'),('en','messages:exif-gpsstatus-v','s:28:\"Measurement interoperability\";'),('en','messages:exif-gpsmeasuremode-2','s:25:\"2-dimensional measurement\";'),('en','messages:exif-gpsmeasuremode-3','s:25:\"3-dimensional measurement\";'),('en','messages:exif-gpsspeed-k','s:19:\"Kilometers per hour\";'),('en','messages:exif-gpsspeed-m','s:14:\"Miles per hour\";'),('en','messages:exif-gpsspeed-n','s:5:\"Knots\";'),('en','messages:exif-gpsdestdistance-k','s:10:\"Kilometers\";'),('en','messages:exif-gpsdestdistance-m','s:5:\"Miles\";'),('en','messages:exif-gpsdestdistance-n','s:14:\"Nautical miles\";'),('en','messages:exif-gpsdop-excellent','s:14:\"Excellent ($1)\";'),('en','messages:exif-gpsdop-good','s:9:\"Good ($1)\";'),('en','messages:exif-gpsdop-moderate','s:13:\"Moderate ($1)\";'),('en','messages:exif-gpsdop-fair','s:9:\"Fair ($1)\";'),('en','messages:exif-gpsdop-poor','s:9:\"Poor ($1)\";'),('en','messages:exif-objectcycle-a','s:12:\"Morning only\";'),('en','messages:exif-objectcycle-p','s:12:\"Evening only\";'),('en','messages:exif-objectcycle-b','s:24:\"Both morning and evening\";'),('en','messages:exif-gpsdirection-t','s:14:\"True direction\";'),('en','messages:exif-gpsdirection-m','s:18:\"Magnetic direction\";'),('en','messages:exif-ycbcrpositioning-1','s:8:\"Centered\";'),('en','messages:exif-ycbcrpositioning-2','s:8:\"Co-sited\";'),('en','messages:exif-dc-contributor','s:12:\"Contributors\";'),('en','messages:exif-dc-coverage','s:34:\"Spatial or temporal scope of media\";'),('en','messages:exif-dc-date','s:7:\"Date(s)\";'),('en','messages:exif-dc-publisher','s:9:\"Publisher\";'),('en','messages:exif-dc-relation','s:13:\"Related media\";'),('en','messages:exif-dc-rights','s:6:\"Rights\";'),('en','messages:exif-dc-source','s:12:\"Source media\";'),('en','messages:exif-dc-type','s:13:\"Type of media\";'),('en','messages:exif-rating-rejected','s:8:\"Rejected\";'),('en','messages:exif-isospeedratings-overflow','s:18:\"Greater than 65535\";'),('en','messages:exif-maxaperturevalue-value','s:14:\"$1 APEX (f/$2)\";'),('en','messages:exif-iimcategory-ace','s:31:\"Arts, culture and entertainment\";'),('en','messages:exif-iimcategory-clj','s:13:\"Crime and law\";'),('en','messages:exif-iimcategory-dis','s:23:\"Disasters and accidents\";'),('en','messages:exif-iimcategory-fin','s:20:\"Economy and business\";'),('en','messages:exif-iimcategory-edu','s:9:\"Education\";'),('en','messages:exif-iimcategory-evn','s:11:\"Environment\";'),('en','messages:exif-iimcategory-hth','s:6:\"Health\";'),('en','messages:exif-iimcategory-hum','s:14:\"Human interest\";'),('en','messages:exif-iimcategory-lab','s:6:\"Labour\";'),('en','messages:exif-iimcategory-lif','s:21:\"Lifestyle and leisure\";'),('en','messages:exif-iimcategory-pol','s:8:\"Politics\";'),('en','messages:exif-iimcategory-rel','s:19:\"Religion and belief\";'),('en','messages:exif-iimcategory-sci','s:22:\"Science and technology\";'),('en','messages:exif-iimcategory-soi','s:13:\"Social issues\";'),('en','messages:exif-iimcategory-spo','s:6:\"Sports\";'),('en','messages:exif-iimcategory-war','s:24:\"War, conflict and unrest\";'),('en','messages:exif-iimcategory-wea','s:7:\"Weather\";'),('en','messages:exif-urgency-normal','s:11:\"Normal ($1)\";'),('en','messages:exif-urgency-low','s:8:\"Low ($1)\";'),('en','messages:exif-urgency-high','s:9:\"High ($1)\";'),('en','messages:exif-urgency-other','s:26:\"User-defined priority ($1)\";'),('en','messages:edit-externally','s:44:\"Edit this file using an external application\";'),('en','messages:edit-externally-help','s:100:\"(See the [//www.mediawiki.org/wiki/Manual:External_editors setup instructions] for more information)\";'),('en','messages:watchlistall2','s:3:\"all\";'),('en','messages:namespacesall','s:3:\"all\";'),('en','messages:monthsall','s:3:\"all\";'),('en','messages:limitall','s:3:\"all\";'),('en','messages:confirmemail','s:22:\"Confirm e-mail address\";'),('en','messages:confirmemail_noemail','s:92:\"You do not have a valid e-mail address set in your [[Special:Preferences|user preferences]].\";'),('en','messages:confirmemail_text','s:284:\"{{SITENAME}} requires that you validate your e-mail address before using e-mail features.\nActivate the button below to send a confirmation mail to your address.\nThe mail will include a link containing a code;\nload the link in your browser to confirm that your e-mail address is valid.\";'),('en','messages:confirmemail_pending','s:180:\"A confirmation code has already been e-mailed to you;\nif you recently created your account, you may wish to wait a few minutes for it to arrive before trying to request a new code.\";'),('en','messages:confirmemail_send','s:24:\"Mail a confirmation code\";'),('en','messages:confirmemail_sent','s:25:\"Confirmation e-mail sent.\";'),('en','messages:confirmemail_oncreate','s:176:\"A confirmation code was sent to your e-mail address.\nThis code is not required to log in, but you will need to provide it before enabling any e-mail-based features in the wiki.\";'),('en','messages:confirmemail_sendfailed','s:129:\"{{SITENAME}} could not send your confirmation mail.\nPlease check your e-mail address for invalid characters.\n\nMailer returned: $1\";'),('en','messages:confirmemail_invalid','s:53:\"Invalid confirmation code.\nThe code may have expired.\";'),('en','messages:confirmemail_needlogin','s:46:\"You need to $1 to confirm your e-mail address.\";'),('en','messages:confirmemail_success','s:100:\"Your e-mail address has been confirmed.\nYou may now [[Special:UserLogin|log in]] and enjoy the wiki.\";'),('en','messages:confirmemail_loggedin','s:43:\"Your e-mail address has now been confirmed.\";'),('en','messages:confirmemail_error','s:46:\"Something went wrong saving your confirmation.\";'),('en','messages:confirmemail_subject','s:40:\"{{SITENAME}} e-mail address confirmation\";'),('en','messages:confirmemail_body','s:400:\"Someone, probably you, from IP address $1,\nhas registered an account \"$2\" with this e-mail address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and activate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf you did *not* register the account, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_body_changed','s:415:\"Someone, probably you, from IP address $1,\nhas changed the e-mail address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and reactivate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_body_set','s:411:\"Someone, probably you, from IP address $1,\nhas set the e-mail address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and reactivate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_invalidated','s:36:\"E-mail address confirmation canceled\";'),('en','messages:invalidateemail','s:26:\"Cancel e-mail confirmation\";'),('en','messages:scarytranscludedisabled','s:36:\"[Interwiki transcluding is disabled]\";'),('en','messages:scarytranscludefailed','s:30:\"[Template fetch failed for $1]\";'),('en','messages:scarytranscludetoolong','s:17:\"[URL is too long]\";'),('en','messages:trackbackbox','s:34:\"Trackbacks for this page:<br />\n$1\";'),('en','messages:trackback','s:16:\"; $4 $5: [$2 $1]\";'),('en','messages:trackbackexcerpt','s:37:\"; $4 $5: [$2 $1]: <nowiki>$3</nowiki>\";'),('en','messages:trackbackremove','s:13:\"([$1 Delete])\";'),('en','messages:trackbacklink','s:9:\"Trackback\";'),('en','messages:trackbackdeleteok','s:39:\"The trackback was successfully deleted.\";'),('en','messages:deletedwhileediting','s:63:\"\'\'\'Warning\'\'\': This page was deleted after you started editing!\";'),('en','messages:confirmrecreate','s:168:\"User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing with reason:\n: \'\'$2\'\'\nPlease confirm that you really want to recreate this page.\";'),('en','messages:confirmrecreate-noreason','s:148:\"User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing.  Please confirm that you really want to recreate this page.\";'),('en','messages:recreate','s:8:\"Recreate\";'),('en','messages:unit-pixel','s:2:\"px\";'),('en','messages:confirm_purge_button','s:2:\"OK\";'),('en','messages:confirm-purge-top','s:29:\"Clear the cache of this page?\";'),('en','messages:confirm-purge-bottom','s:79:\"Purging a page clears the cache and forces the most current revision to appear.\";'),('en','messages:confirm-watch-button','s:2:\"OK\";'),('en','messages:confirm-watch-top','s:32:\"Add this page to your watchlist?\";'),('en','messages:confirm-unwatch-button','s:2:\"OK\";'),('en','messages:confirm-unwatch-top','s:37:\"Remove this page from your watchlist?\";'),('en','messages:semicolon-separator','s:6:\";&#32;\";'),('en','messages:comma-separator','s:6:\",&#32;\";'),('en','messages:colon-separator','s:6:\":&#32;\";'),('en','messages:autocomment-prefix','s:6:\"-&#32;\";'),('en','messages:pipe-separator','s:11:\"&#32;|&#32;\";'),('en','messages:word-separator','s:5:\"&#32;\";'),('en','messages:ellipsis','s:3:\"...\";'),('en','messages:percent','s:3:\"$1%\";'),('en','messages:parentheses','s:4:\"($1)\";'),('en','messages:imgmultipageprev','s:17:\"← previous page\";'),('en','messages:imgmultipagenext','s:13:\"next page →\";'),('en','messages:imgmultigo','s:3:\"Go!\";'),('en','messages:imgmultigoto','s:13:\"Go to page $1\";'),('en','messages:ascending_abbrev','s:3:\"asc\";'),('en','messages:descending_abbrev','s:4:\"desc\";'),('en','messages:table_pager_next','s:9:\"Next page\";'),('en','messages:table_pager_prev','s:13:\"Previous page\";'),('en','messages:table_pager_first','s:10:\"First page\";'),('en','messages:table_pager_last','s:9:\"Last page\";'),('en','messages:table_pager_limit','s:22:\"Show $1 items per page\";'),('en','messages:table_pager_limit_label','s:15:\"Items per page:\";'),('en','messages:table_pager_limit_submit','s:2:\"Go\";'),('en','messages:table_pager_empty','s:10:\"No results\";'),('en','messages:autosumm-blank','s:16:\"Blanked the page\";'),('en','messages:autosumm-replace','s:26:\"Replaced content with \"$1\"\";'),('en','messages:autoredircomment','s:25:\"Redirected page to [[$1]]\";'),('en','messages:autosumm-new','s:22:\"Created page with \"$1\"\";'),('en','messages:autoblock_whitelist','s:406:\"AOL http://webmaster.info.aol.com/proxyinfo.html\n*64.12.96.0/19\n*149.174.160.0/20\n*152.163.240.0/21\n*152.163.248.0/22\n*152.163.252.0/23\n*152.163.96.0/22\n*152.163.100.0/23\n*195.93.32.0/22\n*195.93.48.0/22\n*195.93.64.0/19\n*195.93.96.0/19\n*195.93.16.0/20\n*198.81.0.0/22\n*198.81.16.0/20\n*198.81.8.0/23\n*202.67.64.128/25\n*205.188.192.0/20\n*205.188.208.0/23\n*205.188.112.0/20\n*205.188.146.144/30\n*207.200.112.0/21\";'),('en','messages:size-bytes','s:4:\"$1 B\";'),('en','messages:size-kilobytes','s:5:\"$1 KB\";'),('en','messages:size-megabytes','s:5:\"$1 MB\";'),('en','messages:size-gigabytes','s:5:\"$1 GB\";'),('en','messages:livepreview-loading','s:10:\"Loading...\";'),('en','messages:livepreview-ready','s:17:\"Loading... Ready!\";'),('en','messages:livepreview-failed','s:40:\"Live preview failed!\nTry normal preview.\";'),('en','messages:livepreview-error','s:47:\"Failed to connect: $1 \"$2\".\nTry normal preview.\";'),('en','messages:lag-warn-normal','s:81:\"Changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list.\";'),('en','messages:lag-warn-high','s:114:\"Due to high database server lag, changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list.\";'),('en','messages:watchlistedit-numitems','s:78:\"Your watchlist contains {{PLURAL:$1|1 title|$1 titles}}, excluding talk pages.\";'),('en','messages:watchlistedit-noitems','s:34:\"Your watchlist contains no titles.\";'),('en','messages:watchlistedit-normal-title','s:14:\"Edit watchlist\";'),('en','messages:watchlistedit-normal-legend','s:28:\"Remove titles from watchlist\";'),('en','messages:watchlistedit-normal-explain','s:197:\"Titles on your watchlist are shown below.\nTo remove a title, check the box next to it, and click \"{{int:Watchlistedit-normal-submit}}\".\nYou can also [[Special:EditWatchlist/raw|edit the raw list]].\";'),('en','messages:watchlistedit-normal-submit','s:13:\"Remove titles\";'),('en','messages:watchlistedit-normal-done','s:69:\"{{PLURAL:$1|1 title was|$1 titles were}} removed from your watchlist:\";'),('en','messages:watchlistedit-raw-title','s:18:\"Edit raw watchlist\";'),('en','messages:watchlistedit-raw-legend','s:18:\"Edit raw watchlist\";'),('en','messages:watchlistedit-raw-explain','s:241:\"Titles on your watchlist are shown below, and can be edited by adding to and removing from the list;\none title per line.\nWhen finished, click \"{{int:Watchlistedit-raw-submit}}\".\nYou can also [[Special:EditWatchlist|use the standard editor]].\";'),('en','messages:watchlistedit-raw-titles','s:7:\"Titles:\";'),('en','messages:watchlistedit-raw-submit','s:16:\"Update watchlist\";'),('en','messages:watchlistedit-raw-done','s:32:\"Your watchlist has been updated.\";'),('en','messages:watchlistedit-raw-added','s:47:\"{{PLURAL:$1|1 title was|$1 titles were}} added:\";'),('en','messages:watchlistedit-raw-removed','s:49:\"{{PLURAL:$1|1 title was|$1 titles were}} removed:\";'),('en','messages:watchlisttools-view','s:21:\"View relevant changes\";'),('en','messages:watchlisttools-edit','s:23:\"View and edit watchlist\";'),('en','messages:watchlisttools-raw','s:18:\"Edit raw watchlist\";'),('en','messages:iranian-calendar-m1','s:9:\"Farvardin\";'),('en','messages:iranian-calendar-m2','s:11:\"Ordibehesht\";'),('en','messages:iranian-calendar-m3','s:7:\"Khordad\";'),('en','messages:iranian-calendar-m4','s:3:\"Tir\";'),('en','messages:iranian-calendar-m5','s:6:\"Mordad\";'),('en','messages:iranian-calendar-m6','s:9:\"Shahrivar\";'),('en','messages:iranian-calendar-m7','s:4:\"Mehr\";'),('en','messages:iranian-calendar-m8','s:4:\"Aban\";'),('en','messages:iranian-calendar-m9','s:4:\"Azar\";'),('en','messages:iranian-calendar-m10','s:3:\"Dey\";'),('en','messages:iranian-calendar-m11','s:6:\"Bahman\";'),('en','messages:iranian-calendar-m12','s:6:\"Esfand\";'),('en','messages:hijri-calendar-m1','s:8:\"Muharram\";'),('en','messages:hijri-calendar-m2','s:5:\"Safar\";'),('en','messages:hijri-calendar-m3','s:14:\"Rabi\' al-awwal\";'),('en','messages:hijri-calendar-m4','s:14:\"Rabi\' al-thani\";'),('en','messages:hijri-calendar-m5','s:15:\"Jumada al-awwal\";'),('en','messages:hijri-calendar-m6','s:15:\"Jumada al-thani\";'),('en','messages:hijri-calendar-m7','s:5:\"Rajab\";'),('en','messages:hijri-calendar-m8','s:8:\"Sha\'aban\";'),('en','messages:hijri-calendar-m9','s:7:\"Ramadan\";'),('en','messages:hijri-calendar-m10','s:7:\"Shawwal\";'),('en','messages:hijri-calendar-m11','s:13:\"Dhu al-Qi\'dah\";'),('en','messages:hijri-calendar-m12','s:13:\"Dhu al-Hijjah\";'),('en','messages:hebrew-calendar-m1','s:7:\"Tishrei\";'),('en','messages:hebrew-calendar-m2','s:8:\"Cheshvan\";'),('en','messages:hebrew-calendar-m3','s:6:\"Kislev\";'),('en','messages:hebrew-calendar-m4','s:5:\"Tevet\";'),('en','messages:hebrew-calendar-m5','s:6:\"Shevat\";'),('en','messages:hebrew-calendar-m6','s:4:\"Adar\";'),('en','messages:hebrew-calendar-m6a','s:6:\"Adar I\";'),('en','messages:hebrew-calendar-m6b','s:7:\"Adar II\";'),('en','messages:hebrew-calendar-m7','s:5:\"Nisan\";'),('en','messages:hebrew-calendar-m8','s:4:\"Iyar\";'),('en','messages:hebrew-calendar-m9','s:5:\"Sivan\";'),('en','messages:hebrew-calendar-m10','s:5:\"Tamuz\";'),('en','messages:hebrew-calendar-m11','s:2:\"Av\";'),('en','messages:hebrew-calendar-m12','s:4:\"Elul\";'),('en','messages:hebrew-calendar-m1-gen','s:7:\"Tishrei\";'),('en','messages:hebrew-calendar-m2-gen','s:8:\"Cheshvan\";'),('en','messages:hebrew-calendar-m3-gen','s:6:\"Kislev\";'),('en','messages:hebrew-calendar-m4-gen','s:5:\"Tevet\";'),('en','messages:hebrew-calendar-m5-gen','s:6:\"Shevat\";'),('en','messages:hebrew-calendar-m6-gen','s:4:\"Adar\";'),('en','messages:hebrew-calendar-m6a-gen','s:6:\"Adar I\";'),('en','messages:hebrew-calendar-m6b-gen','s:7:\"Adar II\";'),('en','messages:hebrew-calendar-m7-gen','s:5:\"Nisan\";'),('en','messages:hebrew-calendar-m8-gen','s:4:\"Iyar\";'),('en','messages:hebrew-calendar-m9-gen','s:5:\"Sivan\";'),('en','messages:hebrew-calendar-m10-gen','s:5:\"Tamuz\";'),('en','messages:hebrew-calendar-m11-gen','s:2:\"Av\";'),('en','messages:hebrew-calendar-m12-gen','s:4:\"Elul\";'),('en','messages:signature','s:21:\"[[{{ns:user}}:$1|$2]]\";'),('en','messages:signature-anon','s:36:\"[[{{#special:Contributions}}/$1|$2]]\";'),('en','messages:timezone-utc','s:3:\"UTC\";'),('en','messages:unknown_extension_tag','s:26:\"Unknown extension tag \"$1\"\";'),('en','messages:duplicate-defaultsort','s:77:\"\'\'\'Warning:\'\'\' Default sort key \"$2\" overrides earlier default sort key \"$1\".\";'),('en','messages:version','s:7:\"Version\";'),('en','messages:version-extensions','s:20:\"Installed extensions\";'),('en','messages:version-specialpages','s:13:\"Special pages\";'),('en','messages:version-parserhooks','s:12:\"Parser hooks\";'),('en','messages:version-variables','s:9:\"Variables\";'),('en','messages:version-antispam','s:15:\"Spam prevention\";'),('en','messages:version-skins','s:5:\"Skins\";'),('en','messages:version-api','s:3:\"API\";'),('en','messages:version-other','s:5:\"Other\";'),('en','messages:version-mediahandlers','s:14:\"Media handlers\";'),('en','messages:version-hooks','s:5:\"Hooks\";'),('en','messages:version-extension-functions','s:19:\"Extension functions\";'),('en','messages:version-parser-extensiontags','s:21:\"Parser extension tags\";'),('en','messages:version-parser-function-hooks','s:21:\"Parser function hooks\";'),('en','messages:version-hook-name','s:9:\"Hook name\";'),('en','messages:version-hook-subscribedby','s:13:\"Subscribed by\";'),('en','messages:version-version','s:12:\"(Version $1)\";'),('en','messages:version-svn-revision','s:5:\"(r$2)\";'),('en','messages:version-license','s:7:\"License\";'),('en','messages:version-poweredby-credits','s:88:\"This wiki is powered by \'\'\'[//www.mediawiki.org/ MediaWiki]\'\'\', copyright © 2001-$1 $2.\";'),('en','messages:version-poweredby-others','s:6:\"others\";'),('en','messages:version-license-info','s:777:\"MediaWiki is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nMediaWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received [{{SERVER}}{{SCRIPTPATH}}/COPYING a copy of the GNU General Public License] along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA or [//www.gnu.org/licenses/old-licenses/gpl-2.0.html read it online].\";'),('en','messages:version-software','s:18:\"Installed software\";'),('en','messages:version-software-product','s:7:\"Product\";'),('en','messages:version-software-version','s:7:\"Version\";'),('en','messages:filepath','s:9:\"File path\";'),('en','messages:filepath-page','s:5:\"File:\";'),('en','messages:filepath-submit','s:2:\"Go\";'),('en','messages:filepath-summary','s:161:\"This special page returns the complete path for a file.\nImages are shown in full resolution, other file types are started with their associated program directly.\";'),('en','messages:fileduplicatesearch','s:26:\"Search for duplicate files\";'),('en','messages:fileduplicatesearch-summary','s:48:\"Search for duplicate files based on hash values.\";'),('en','messages:fileduplicatesearch-legend','s:22:\"Search for a duplicate\";'),('en','messages:fileduplicatesearch-filename','s:9:\"Filename:\";'),('en','messages:fileduplicatesearch-submit','s:6:\"Search\";'),('en','messages:fileduplicatesearch-info','s:52:\"$1 × $2 pixel<br />File size: $3<br />MIME type: $4\";'),('en','messages:fileduplicatesearch-result-1','s:43:\"The file \"$1\" has no identical duplication.\";'),('en','messages:fileduplicatesearch-result-n','s:82:\"The file \"$1\" has {{PLURAL:$2|1 identical duplication|$2 identical duplications}}.\";'),('en','messages:fileduplicatesearch-noresults','s:25:\"No file named \"$1\" found.\";'),('en','messages:specialpages','s:13:\"Special pages\";'),('en','messages:specialpages-summary','s:0:\"\";'),('en','messages:specialpages-note','s:188:\"----\n* Normal special pages.\n* <span class=\"mw-specialpagerestricted\">Restricted special pages.</span>\n* <span class=\"mw-specialpagecached\">Cached special pages (might be obsolete).</span>\";'),('en','messages:specialpages-group-maintenance','s:19:\"Maintenance reports\";'),('en','messages:specialpages-group-other','s:19:\"Other special pages\";'),('en','messages:specialpages-group-login','s:15:\"Login / sign up\";'),('en','messages:specialpages-group-changes','s:23:\"Recent changes and logs\";'),('en','messages:specialpages-group-media','s:25:\"Media reports and uploads\";'),('en','messages:specialpages-group-users','s:16:\"Users and rights\";'),('en','messages:specialpages-group-highuse','s:14:\"High use pages\";'),('en','messages:specialpages-group-pages','s:14:\"Lists of pages\";'),('en','messages:specialpages-group-pagetools','s:10:\"Page tools\";'),('en','messages:specialpages-group-wiki','s:19:\"Wiki data and tools\";'),('en','messages:specialpages-group-redirects','s:25:\"Redirecting special pages\";'),('en','messages:specialpages-group-spam','s:10:\"Spam tools\";'),('en','messages:blankpage','s:10:\"Blank page\";'),('en','messages:intentionallyblankpage','s:38:\"This page is intentionally left blank.\";'),('en','messages:external_image_whitelist','s:440:\" #Leave this line exactly as it is<pre>\n#Put regular expression fragments (just the part that goes between the //) below\n#These will be matched with the URLs of external (hotlinked) images\n#Those that match will be displayed as images, otherwise only a link to the image will be shown\n#Lines beginning with # are treated as comments\n#This is case-insensitive\n\n#Put all regex fragments above this line. Leave this line exactly as it is</pre>\";'),('en','messages:tags','s:17:\"Valid change tags\";'),('en','messages:tag-filter','s:28:\"[[Special:Tags|Tag]] filter:\";'),('en','messages:tag-filter-submit','s:6:\"Filter\";'),('en','messages:tags-title','s:4:\"Tags\";'),('en','messages:tags-intro','s:84:\"This page lists the tags that the software may mark an edit with, and their meaning.\";'),('en','messages:tags-tag','s:8:\"Tag name\";'),('en','messages:tags-display-header','s:26:\"Appearance on change lists\";'),('en','messages:tags-description-header','s:27:\"Full description of meaning\";'),('en','messages:tags-hitcount-header','s:14:\"Tagged changes\";'),('en','messages:tags-edit','s:4:\"edit\";'),('en','messages:tags-hitcount','s:31:\"$1 {{PLURAL:$1|change|changes}}\";'),('en','messages:comparepages','s:13:\"Compare pages\";'),('en','messages:compare-selector','s:22:\"Compare page revisions\";'),('en','messages:compare-page1','s:6:\"Page 1\";'),('en','messages:compare-page2','s:6:\"Page 2\";'),('en','messages:compare-rev1','s:10:\"Revision 1\";'),('en','messages:compare-rev2','s:10:\"Revision 2\";'),('en','messages:compare-submit','s:7:\"Compare\";'),('en','messages:dberr-header','s:23:\"This wiki has a problem\";'),('en','messages:dberr-problems','s:56:\"Sorry!\nThis site is experiencing technical difficulties.\";'),('en','messages:dberr-again','s:40:\"Try waiting a few minutes and reloading.\";'),('en','messages:dberr-info','s:40:\"(Cannot contact the database server: $1)\";'),('en','messages:dberr-usegoogle','s:49:\"You can try searching via Google in the meantime.\";'),('en','messages:dberr-outofdate','s:58:\"Note that their indexes of our content may be out of date.\";'),('en','messages:dberr-cachederror','s:71:\"This is a cached copy of the requested page, and may not be up to date.\";'),('en','messages:htmlform-invalid-input','s:42:\"There are problems with some of your input\";'),('en','messages:htmlform-select-badoption','s:46:\"The value you specified is not a valid option.\";'),('en','messages:htmlform-int-invalid','s:42:\"The value you specified is not an integer.\";'),('en','messages:htmlform-float-invalid','s:40:\"The value you specified is not a number.\";'),('en','messages:htmlform-int-toolow','s:50:\"The value you specified is below the minimum of $1\";'),('en','messages:htmlform-int-toohigh','s:50:\"The value you specified is above the maximum of $1\";'),('en','messages:htmlform-required','s:22:\"This value is required\";'),('en','messages:htmlform-submit','s:6:\"Submit\";'),('en','messages:htmlform-reset','s:12:\"Undo changes\";'),('en','messages:htmlform-selectorother-other','s:5:\"Other\";'),('en','messages:sqlite-has-fts','s:32:\"$1 with full-text search support\";'),('en','messages:sqlite-no-fts','s:35:\"$1 without full-text search support\";'),('en','rtl','b:0;'),('en','capitalizeAllNouns','b:0;'),('en','digitTransformTable','N;'),('en','separatorTransformTable','N;'),('en','fallback8bitEncoding','s:12:\"windows-1252\";'),('en','linkPrefixExtension','b:0;'),('en','linkTrail','s:18:\"/^([a-z]+)(.*)$/sD\";'),('en','namespaceAliases','a:0:{}'),('en','dateFormats','a:12:{s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j F Y\";s:8:\"dmy both\";s:10:\"H:i, j F Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}'),('en','datePreferences','a:5:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";i:4;s:8:\"ISO 8601\";}'),('en','datePreferenceMigrationMap','a:4:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";}'),('en','defaultDateFormat','s:10:\"dmy or mdy\";'),('en','extraUserToggles','a:0:{}'),('en','specialPageAliases','a:97:{s:11:\"Activeusers\";a:1:{i:0;s:11:\"ActiveUsers\";}s:11:\"Allmessages\";a:1:{i:0;s:11:\"AllMessages\";}s:8:\"Allpages\";a:1:{i:0;s:8:\"AllPages\";}s:12:\"Ancientpages\";a:1:{i:0;s:12:\"AncientPages\";}s:8:\"Badtitle\";a:1:{i:0;s:8:\"Badtitle\";}s:9:\"Blankpage\";a:1:{i:0;s:9:\"BlankPage\";}s:5:\"Block\";a:3:{i:0;s:5:\"Block\";i:1;s:7:\"BlockIP\";i:2;s:9:\"BlockUser\";}s:7:\"Blockme\";a:1:{i:0;s:7:\"BlockMe\";}s:11:\"Booksources\";a:1:{i:0;s:11:\"BookSources\";}s:15:\"BrokenRedirects\";a:1:{i:0;s:15:\"BrokenRedirects\";}s:10:\"Categories\";a:1:{i:0;s:10:\"Categories\";}s:14:\"ChangePassword\";a:3:{i:0;s:14:\"ChangePassword\";i:1;s:9:\"ResetPass\";i:2;s:13:\"ResetPassword\";}s:12:\"ComparePages\";a:1:{i:0;s:12:\"ComparePages\";}s:12:\"Confirmemail\";a:1:{i:0;s:12:\"ConfirmEmail\";}s:13:\"Contributions\";a:2:{i:0;s:13:\"Contributions\";i:1;s:8:\"Contribs\";}s:13:\"CreateAccount\";a:1:{i:0;s:13:\"CreateAccount\";}s:12:\"Deadendpages\";a:1:{i:0;s:12:\"DeadendPages\";}s:20:\"DeletedContributions\";a:1:{i:0;s:20:\"DeletedContributions\";}s:15:\"Disambiguations\";a:1:{i:0;s:15:\"Disambiguations\";}s:15:\"DoubleRedirects\";a:1:{i:0;s:15:\"DoubleRedirects\";}s:13:\"EditWatchlist\";a:1:{i:0;s:13:\"EditWatchlist\";}s:9:\"Emailuser\";a:1:{i:0;s:9:\"EmailUser\";}s:6:\"Export\";a:1:{i:0;s:6:\"Export\";}s:15:\"Fewestrevisions\";a:1:{i:0;s:15:\"FewestRevisions\";}s:19:\"FileDuplicateSearch\";a:1:{i:0;s:19:\"FileDuplicateSearch\";}s:8:\"Filepath\";a:1:{i:0;s:8:\"FilePath\";}s:6:\"Import\";a:1:{i:0;s:6:\"Import\";}s:15:\"Invalidateemail\";a:1:{i:0;s:15:\"InvalidateEmail\";}s:9:\"BlockList\";a:3:{i:0;s:9:\"BlockList\";i:1;s:10:\"ListBlocks\";i:2;s:11:\"IPBlockList\";}s:10:\"LinkSearch\";a:1:{i:0;s:10:\"LinkSearch\";}s:10:\"Listadmins\";a:1:{i:0;s:10:\"ListAdmins\";}s:8:\"Listbots\";a:1:{i:0;s:8:\"ListBots\";}s:9:\"Listfiles\";a:3:{i:0;s:9:\"ListFiles\";i:1;s:8:\"FileList\";i:2;s:9:\"ImageList\";}s:15:\"Listgrouprights\";a:2:{i:0;s:15:\"ListGroupRights\";i:1;s:15:\"UserGroupRights\";}s:13:\"Listredirects\";a:1:{i:0;s:13:\"ListRedirects\";}s:9:\"Listusers\";a:2:{i:0;s:9:\"ListUsers\";i:1;s:8:\"UserList\";}s:6:\"Lockdb\";a:1:{i:0;s:6:\"LockDB\";}s:3:\"Log\";a:2:{i:0;s:3:\"Log\";i:1;s:4:\"Logs\";}s:11:\"Lonelypages\";a:2:{i:0;s:11:\"LonelyPages\";i:1;s:13:\"OrphanedPages\";}s:9:\"Longpages\";a:1:{i:0;s:9:\"LongPages\";}s:12:\"MergeHistory\";a:1:{i:0;s:12:\"MergeHistory\";}s:10:\"MIMEsearch\";a:1:{i:0;s:10:\"MIMESearch\";}s:14:\"Mostcategories\";a:1:{i:0;s:14:\"MostCategories\";}s:10:\"Mostimages\";a:3:{i:0;s:15:\"MostLinkedFiles\";i:1;s:9:\"MostFiles\";i:2;s:10:\"MostImages\";}s:10:\"Mostlinked\";a:2:{i:0;s:15:\"MostLinkedPages\";i:1;s:10:\"MostLinked\";}s:20:\"Mostlinkedcategories\";a:2:{i:0;s:20:\"MostLinkedCategories\";i:1;s:18:\"MostUsedCategories\";}s:19:\"Mostlinkedtemplates\";a:2:{i:0;s:19:\"MostLinkedTemplates\";i:1;s:17:\"MostUsedTemplates\";}s:13:\"Mostrevisions\";a:1:{i:0;s:13:\"MostRevisions\";}s:8:\"Movepage\";a:1:{i:0;s:8:\"MovePage\";}s:15:\"Mycontributions\";a:1:{i:0;s:15:\"MyContributions\";}s:6:\"Mypage\";a:1:{i:0;s:6:\"MyPage\";}s:6:\"Mytalk\";a:1:{i:0;s:6:\"MyTalk\";}s:9:\"Myuploads\";a:1:{i:0;s:9:\"MyUploads\";}s:9:\"Newimages\";a:2:{i:0;s:8:\"NewFiles\";i:1;s:9:\"NewImages\";}s:8:\"Newpages\";a:1:{i:0;s:8:\"NewPages\";}s:13:\"PasswordReset\";a:1:{i:0;s:13:\"PasswordReset\";}s:13:\"PermanentLink\";a:2:{i:0;s:13:\"PermanentLink\";i:1;s:9:\"PermaLink\";}s:12:\"Popularpages\";a:1:{i:0;s:12:\"PopularPages\";}s:11:\"Preferences\";a:1:{i:0;s:11:\"Preferences\";}s:11:\"Prefixindex\";a:1:{i:0;s:11:\"PrefixIndex\";}s:14:\"Protectedpages\";a:1:{i:0;s:14:\"ProtectedPages\";}s:15:\"Protectedtitles\";a:1:{i:0;s:15:\"ProtectedTitles\";}s:10:\"Randompage\";a:2:{i:0;s:6:\"Random\";i:1;s:10:\"RandomPage\";}s:14:\"Randomredirect\";a:1:{i:0;s:14:\"RandomRedirect\";}s:13:\"Recentchanges\";a:1:{i:0;s:13:\"RecentChanges\";}s:19:\"Recentchangeslinked\";a:2:{i:0;s:19:\"RecentChangesLinked\";i:1;s:14:\"RelatedChanges\";}s:14:\"Revisiondelete\";a:1:{i:0;s:14:\"RevisionDelete\";}s:12:\"RevisionMove\";a:1:{i:0;s:12:\"RevisionMove\";}s:6:\"Search\";a:1:{i:0;s:6:\"Search\";}s:10:\"Shortpages\";a:1:{i:0;s:10:\"ShortPages\";}s:12:\"Specialpages\";a:1:{i:0;s:12:\"SpecialPages\";}s:10:\"Statistics\";a:1:{i:0;s:10:\"Statistics\";}s:4:\"Tags\";a:1:{i:0;s:4:\"Tags\";}s:7:\"Unblock\";a:1:{i:0;s:7:\"Unblock\";}s:23:\"Uncategorizedcategories\";a:1:{i:0;s:23:\"UncategorizedCategories\";}s:19:\"Uncategorizedimages\";a:2:{i:0;s:18:\"UncategorizedFiles\";i:1;s:19:\"UncategorizedImages\";}s:18:\"Uncategorizedpages\";a:1:{i:0;s:18:\"UncategorizedPages\";}s:22:\"Uncategorizedtemplates\";a:1:{i:0;s:22:\"UncategorizedTemplates\";}s:8:\"Undelete\";a:1:{i:0;s:8:\"Undelete\";}s:8:\"Unlockdb\";a:1:{i:0;s:8:\"UnlockDB\";}s:16:\"Unusedcategories\";a:1:{i:0;s:16:\"UnusedCategories\";}s:12:\"Unusedimages\";a:2:{i:0;s:11:\"UnusedFiles\";i:1;s:12:\"UnusedImages\";}s:15:\"Unusedtemplates\";a:1:{i:0;s:15:\"UnusedTemplates\";}s:14:\"Unwatchedpages\";a:1:{i:0;s:14:\"UnwatchedPages\";}s:6:\"Upload\";a:1:{i:0;s:6:\"Upload\";}s:11:\"UploadStash\";a:1:{i:0;s:11:\"UploadStash\";}s:9:\"Userlogin\";a:1:{i:0;s:9:\"UserLogin\";}s:10:\"Userlogout\";a:1:{i:0;s:10:\"UserLogout\";}s:10:\"Userrights\";a:3:{i:0;s:10:\"UserRights\";i:1;s:9:\"MakeSysop\";i:2;s:7:\"MakeBot\";}s:7:\"Version\";a:1:{i:0;s:7:\"Version\";}s:16:\"Wantedcategories\";a:1:{i:0;s:16:\"WantedCategories\";}s:11:\"Wantedfiles\";a:1:{i:0;s:11:\"WantedFiles\";}s:11:\"Wantedpages\";a:2:{i:0;s:11:\"WantedPages\";i:1;s:11:\"BrokenLinks\";}s:15:\"Wantedtemplates\";a:1:{i:0;s:15:\"WantedTemplates\";}s:9:\"Watchlist\";a:1:{i:0;s:9:\"Watchlist\";}s:13:\"Whatlinkshere\";a:1:{i:0;s:13:\"WhatLinksHere\";}s:16:\"Withoutinterwiki\";a:1:{i:0;s:16:\"WithoutInterwiki\";}}'),('en','imageFiles','a:11:{s:11:\"button-bold\";s:15:\"button_bold.png\";s:13:\"button-italic\";s:17:\"button_italic.png\";s:11:\"button-link\";s:15:\"button_link.png\";s:14:\"button-extlink\";s:18:\"button_extlink.png\";s:15:\"button-headline\";s:19:\"button_headline.png\";s:12:\"button-image\";s:16:\"button_image.png\";s:12:\"button-media\";s:16:\"button_media.png\";s:11:\"button-math\";s:15:\"button_math.png\";s:13:\"button-nowiki\";s:17:\"button_nowiki.png\";s:10:\"button-sig\";s:14:\"button_sig.png\";s:9:\"button-hr\";s:13:\"button_hr.png\";}'),('en','preloadedMessages','a:95:{i:0;s:9:\"aboutpage\";i:1;s:9:\"aboutsite\";i:2;s:17:\"accesskey-ca-edit\";i:3;s:20:\"accesskey-ca-history\";i:4;s:23:\"accesskey-ca-nstab-main\";i:5;s:17:\"accesskey-ca-talk\";i:6;s:25:\"accesskey-n-currentevents\";i:7;s:16:\"accesskey-n-help\";i:8;s:32:\"accesskey-n-mainpage-description\";i:9;s:18:\"accesskey-n-portal\";i:10;s:22:\"accesskey-n-randompage\";i:11;s:25:\"accesskey-n-recentchanges\";i:12;s:23:\"accesskey-n-sitesupport\";i:13;s:16:\"accesskey-p-logo\";i:14;s:18:\"accesskey-pt-login\";i:15;s:16:\"accesskey-search\";i:16;s:25:\"accesskey-search-fulltext\";i:17;s:19:\"accesskey-search-go\";i:18;s:21:\"accesskey-t-permalink\";i:19;s:17:\"accesskey-t-print\";i:20;s:31:\"accesskey-t-recentchangeslinked\";i:21;s:24:\"accesskey-t-specialpages\";i:22;s:25:\"accesskey-t-whatlinkshere\";i:23;s:10:\"anonnotice\";i:24;s:15:\"colon-separator\";i:25;s:13:\"currentevents\";i:26;s:17:\"currentevents-url\";i:27;s:14:\"disclaimerpage\";i:28;s:11:\"disclaimers\";i:29;s:4:\"edit\";i:30;s:4:\"help\";i:31;s:8:\"helppage\";i:32;s:13:\"history_short\";i:33;s:6:\"jumpto\";i:34;s:16:\"jumptonavigation\";i:35;s:12:\"jumptosearch\";i:36;s:14:\"lastmodifiedat\";i:37;s:8:\"mainpage\";i:38;s:20:\"mainpage-description\";i:39;s:23:\"nav-login-createaccount\";i:40;s:10:\"navigation\";i:41;s:10:\"nstab-main\";i:42;s:15:\"opensearch-desc\";i:43;s:14:\"pagecategories\";i:44;s:18:\"pagecategorieslink\";i:45;s:9:\"pagetitle\";i:46;s:23:\"pagetitle-view-mainpage\";i:47;s:9:\"permalink\";i:48;s:13:\"personaltools\";i:49;s:6:\"portal\";i:50;s:10:\"portal-url\";i:51;s:16:\"printableversion\";i:52;s:7:\"privacy\";i:53;s:11:\"privacypage\";i:54;s:10:\"randompage\";i:55;s:14:\"randompage-url\";i:56;s:13:\"recentchanges\";i:57;s:17:\"recentchanges-url\";i:58;s:27:\"recentchangeslinked-toolbox\";i:59;s:13:\"retrievedfrom\";i:60;s:6:\"search\";i:61;s:13:\"searcharticle\";i:62;s:12:\"searchbutton\";i:63;s:7:\"sidebar\";i:64;s:14:\"site-atom-feed\";i:65;s:13:\"site-rss-feed\";i:66;s:10:\"sitenotice\";i:67;s:12:\"specialpages\";i:68;s:7:\"tagline\";i:69;s:4:\"talk\";i:70;s:7:\"toolbox\";i:71;s:15:\"tooltip-ca-edit\";i:72;s:18:\"tooltip-ca-history\";i:73;s:21:\"tooltip-ca-nstab-main\";i:74;s:15:\"tooltip-ca-talk\";i:75;s:23:\"tooltip-n-currentevents\";i:76;s:14:\"tooltip-n-help\";i:77;s:30:\"tooltip-n-mainpage-description\";i:78;s:16:\"tooltip-n-portal\";i:79;s:20:\"tooltip-n-randompage\";i:80;s:23:\"tooltip-n-recentchanges\";i:81;s:21:\"tooltip-n-sitesupport\";i:82;s:14:\"tooltip-p-logo\";i:83;s:20:\"tooltip-p-navigation\";i:84;s:16:\"tooltip-pt-login\";i:85;s:14:\"tooltip-search\";i:86;s:23:\"tooltip-search-fulltext\";i:87;s:17:\"tooltip-search-go\";i:88;s:19:\"tooltip-t-permalink\";i:89;s:15:\"tooltip-t-print\";i:90;s:29:\"tooltip-t-recentchangeslinked\";i:91;s:22:\"tooltip-t-specialpages\";i:92;s:23:\"tooltip-t-whatlinkshere\";i:93;s:5:\"views\";i:94;s:13:\"whatlinkshere\";}'),('en','namespaceGenderAliases','a:0:{}'),('en','fallbackSequence','a:0:{}'),('en','deps','a:5:{i:0;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEn.php\";s:9:\"timestamp\";i:1326230387;}i:1;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}s:24:\"wgExtensionMessagesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:24:\"wgExtensionMessagesFiles\";s:5:\"value\";a:1:{s:7:\"SVGEdit\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";}}s:23:\"wgExtensionAliasesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:23:\"wgExtensionAliasesFiles\";s:5:\"value\";a:0:{}}s:7:\"version\";O:18:\"ConstantDependency\":2:{s:4:\"name\";s:13:\"MW_LC_VERSION\";s:5:\"value\";i:1;}}'),('en','list','a:1:{s:8:\"messages\";a:2988:{i:0;s:23:\"svgedit-editbutton-edit\";i:1;s:21:\"svgedit-summary-label\";i:2;s:23:\"svgedit-summary-default\";i:3;s:25:\"svgedit-editor-save-close\";i:4;s:20:\"svgedit-editor-close\";i:5;s:12:\"svgedit-desc\";i:6;s:16:\"svgedit-edit-tab\";i:7;s:24:\"svgedit-edit-tab-tooltip\";i:8;s:22:\"svgedit-toolbar-insert\";i:9;s:7:\"sidebar\";i:10;s:13:\"tog-underline\";i:11;s:19:\"tog-highlightbroken\";i:12;s:11:\"tog-justify\";i:13;s:13:\"tog-hideminor\";i:14;s:17:\"tog-hidepatrolled\";i:15;s:25:\"tog-newpageshidepatrolled\";i:16;s:19:\"tog-extendwatchlist\";i:17;s:12:\"tog-usenewrc\";i:18;s:18:\"tog-numberheadings\";i:19;s:15:\"tog-showtoolbar\";i:20;s:18:\"tog-editondblclick\";i:21;s:15:\"tog-editsection\";i:22;s:27:\"tog-editsectiononrightclick\";i:23;s:11:\"tog-showtoc\";i:24;s:20:\"tog-rememberpassword\";i:25;s:18:\"tog-watchcreations\";i:26;s:16:\"tog-watchdefault\";i:27;s:14:\"tog-watchmoves\";i:28;s:17:\"tog-watchdeletion\";i:29;s:16:\"tog-minordefault\";i:30;s:16:\"tog-previewontop\";i:31;s:18:\"tog-previewonfirst\";i:32;s:11:\"tog-nocache\";i:33;s:24:\"tog-enotifwatchlistpages\";i:34;s:23:\"tog-enotifusertalkpages\";i:35;s:20:\"tog-enotifminoredits\";i:36;s:20:\"tog-enotifrevealaddr\";i:37;s:23:\"tog-shownumberswatching\";i:38;s:10:\"tog-oldsig\";i:39;s:12:\"tog-fancysig\";i:40;s:18:\"tog-externaleditor\";i:41;s:16:\"tog-externaldiff\";i:42;s:17:\"tog-showjumplinks\";i:43;s:18:\"tog-uselivepreview\";i:44;s:20:\"tog-forceeditsummary\";i:45;s:20:\"tog-watchlisthideown\";i:46;s:21:\"tog-watchlisthidebots\";i:47;s:22:\"tog-watchlisthideminor\";i:48;s:20:\"tog-watchlisthideliu\";i:49;s:22:\"tog-watchlisthideanons\";i:50;s:26:\"tog-watchlisthidepatrolled\";i:51;s:20:\"tog-nolangconversion\";i:52;s:16:\"tog-ccmeonemails\";i:53;s:12:\"tog-diffonly\";i:54;s:18:\"tog-showhiddencats\";i:55;s:17:\"tog-noconvertlink\";i:56;s:18:\"tog-norollbackdiff\";i:57;s:16:\"underline-always\";i:58;s:15:\"underline-never\";i:59;s:17:\"underline-default\";i:60;s:14:\"editfont-style\";i:61;s:16:\"editfont-default\";i:62;s:18:\"editfont-monospace\";i:63;s:18:\"editfont-sansserif\";i:64;s:14:\"editfont-serif\";i:65;s:6:\"sunday\";i:66;s:6:\"monday\";i:67;s:7:\"tuesday\";i:68;s:9:\"wednesday\";i:69;s:8:\"thursday\";i:70;s:6:\"friday\";i:71;s:8:\"saturday\";i:72;s:3:\"sun\";i:73;s:3:\"mon\";i:74;s:3:\"tue\";i:75;s:3:\"wed\";i:76;s:3:\"thu\";i:77;s:3:\"fri\";i:78;s:3:\"sat\";i:79;s:7:\"january\";i:80;s:8:\"february\";i:81;s:5:\"march\";i:82;s:5:\"april\";i:83;s:8:\"may_long\";i:84;s:4:\"june\";i:85;s:4:\"july\";i:86;s:6:\"august\";i:87;s:9:\"september\";i:88;s:7:\"october\";i:89;s:8:\"november\";i:90;s:8:\"december\";i:91;s:11:\"january-gen\";i:92;s:12:\"february-gen\";i:93;s:9:\"march-gen\";i:94;s:9:\"april-gen\";i:95;s:7:\"may-gen\";i:96;s:8:\"june-gen\";i:97;s:8:\"july-gen\";i:98;s:10:\"august-gen\";i:99;s:13:\"september-gen\";i:100;s:11:\"october-gen\";i:101;s:12:\"november-gen\";i:102;s:12:\"december-gen\";i:103;s:3:\"jan\";i:104;s:3:\"feb\";i:105;s:3:\"mar\";i:106;s:3:\"apr\";i:107;s:3:\"may\";i:108;s:3:\"jun\";i:109;s:3:\"jul\";i:110;s:3:\"aug\";i:111;s:3:\"sep\";i:112;s:3:\"oct\";i:113;s:3:\"nov\";i:114;s:3:\"dec\";i:115;s:14:\"pagecategories\";i:116;s:18:\"pagecategorieslink\";i:117;s:15:\"category_header\";i:118;s:13:\"subcategories\";i:119;s:21:\"category-media-header\";i:120;s:14:\"category-empty\";i:121;s:17:\"hidden-categories\";i:122;s:24:\"hidden-category-category\";i:123;s:21:\"category-subcat-count\";i:124;s:29:\"category-subcat-count-limited\";i:125;s:22:\"category-article-count\";i:126;s:30:\"category-article-count-limited\";i:127;s:19:\"category-file-count\";i:128;s:27:\"category-file-count-limited\";i:129;s:22:\"listingcontinuesabbrev\";i:130;s:14:\"index-category\";i:131;s:16:\"noindex-category\";i:132;s:20:\"broken-file-category\";i:133;s:10:\"linkprefix\";i:134;s:5:\"about\";i:135;s:7:\"article\";i:136;s:9:\"newwindow\";i:137;s:6:\"cancel\";i:138;s:13:\"moredotdotdot\";i:139;s:6:\"mypage\";i:140;s:6:\"mytalk\";i:141;s:8:\"anontalk\";i:142;s:10:\"navigation\";i:143;s:3:\"and\";i:144;s:6:\"qbfind\";i:145;s:8:\"qbbrowse\";i:146;s:6:\"qbedit\";i:147;s:13:\"qbpageoptions\";i:148;s:10:\"qbpageinfo\";i:149;s:11:\"qbmyoptions\";i:150;s:14:\"qbspecialpages\";i:151;s:3:\"faq\";i:152;s:7:\"faqpage\";i:153;s:9:\"sitetitle\";i:154;s:12:\"sitesubtitle\";i:155;s:24:\"vector-action-addsection\";i:156;s:20:\"vector-action-delete\";i:157;s:18:\"vector-action-move\";i:158;s:21:\"vector-action-protect\";i:159;s:22:\"vector-action-undelete\";i:160;s:23:\"vector-action-unprotect\";i:161;s:30:\"vector-simplesearch-preference\";i:162;s:18:\"vector-view-create\";i:163;s:16:\"vector-view-edit\";i:164;s:19:\"vector-view-history\";i:165;s:16:\"vector-view-view\";i:166;s:22:\"vector-view-viewsource\";i:167;s:7:\"actions\";i:168;s:10:\"namespaces\";i:169;s:8:\"variants\";i:170;s:14:\"errorpagetitle\";i:171;s:8:\"returnto\";i:172;s:7:\"tagline\";i:173;s:4:\"help\";i:174;s:6:\"search\";i:175;s:12:\"searchbutton\";i:176;s:2:\"go\";i:177;s:13:\"searcharticle\";i:178;s:7:\"history\";i:179;s:13:\"history_short\";i:180;s:13:\"updatedmarker\";i:181;s:16:\"printableversion\";i:182;s:9:\"permalink\";i:183;s:5:\"print\";i:184;s:4:\"view\";i:185;s:4:\"edit\";i:186;s:6:\"create\";i:187;s:12:\"editthispage\";i:188;s:16:\"create-this-page\";i:189;s:6:\"delete\";i:190;s:14:\"deletethispage\";i:191;s:14:\"undelete_short\";i:192;s:17:\"viewdeleted_short\";i:193;s:7:\"protect\";i:194;s:14:\"protect_change\";i:195;s:15:\"protectthispage\";i:196;s:9:\"unprotect\";i:197;s:17:\"unprotectthispage\";i:198;s:7:\"newpage\";i:199;s:8:\"talkpage\";i:200;s:16:\"talkpagelinktext\";i:201;s:11:\"specialpage\";i:202;s:13:\"personaltools\";i:203;s:11:\"postcomment\";i:204;s:10:\"addsection\";i:205;s:11:\"articlepage\";i:206;s:4:\"talk\";i:207;s:5:\"views\";i:208;s:7:\"toolbox\";i:209;s:8:\"userpage\";i:210;s:11:\"projectpage\";i:211;s:9:\"imagepage\";i:212;s:13:\"mediawikipage\";i:213;s:12:\"templatepage\";i:214;s:12:\"viewhelppage\";i:215;s:12:\"categorypage\";i:216;s:12:\"viewtalkpage\";i:217;s:14:\"otherlanguages\";i:218;s:14:\"redirectedfrom\";i:219;s:15:\"redirectpagesub\";i:220;s:14:\"talkpageheader\";i:221;s:14:\"lastmodifiedat\";i:222;s:9:\"viewcount\";i:223;s:13:\"protectedpage\";i:224;s:6:\"jumpto\";i:225;s:16:\"jumptonavigation\";i:226;s:12:\"jumptosearch\";i:227;s:15:\"view-pool-error\";i:228;s:12:\"pool-timeout\";i:229;s:14:\"pool-queuefull\";i:230;s:17:\"pool-errorunknown\";i:231;s:9:\"aboutsite\";i:232;s:9:\"aboutpage\";i:233;s:9:\"copyright\";i:234;s:13:\"copyrightpage\";i:235;s:13:\"currentevents\";i:236;s:17:\"currentevents-url\";i:237;s:11:\"disclaimers\";i:238;s:14:\"disclaimerpage\";i:239;s:8:\"edithelp\";i:240;s:12:\"edithelppage\";i:241;s:8:\"helppage\";i:242;s:8:\"mainpage\";i:243;s:20:\"mainpage-description\";i:244;s:10:\"policy-url\";i:245;s:6:\"portal\";i:246;s:10:\"portal-url\";i:247;s:7:\"privacy\";i:248;s:11:\"privacypage\";i:249;s:9:\"badaccess\";i:250;s:16:\"badaccess-group0\";i:251;s:16:\"badaccess-groups\";i:252;s:15:\"versionrequired\";i:253;s:19:\"versionrequiredtext\";i:254;s:2:\"ok\";i:255;s:9:\"pagetitle\";i:256;s:23:\"pagetitle-view-mainpage\";i:257;s:13:\"retrievedfrom\";i:258;s:18:\"youhavenewmessages\";i:259;s:15:\"newmessageslink\";i:260;s:19:\"newmessagesdifflink\";i:261;s:23:\"youhavenewmessagesmulti\";i:262;s:16:\"newtalkseparator\";i:263;s:11:\"editsection\";i:264;s:20:\"editsection-brackets\";i:265;s:7:\"editold\";i:266;s:13:\"viewsourceold\";i:267;s:8:\"editlink\";i:268;s:14:\"viewsourcelink\";i:269;s:15:\"editsectionhint\";i:270;s:3:\"toc\";i:271;s:7:\"showtoc\";i:272;s:7:\"hidetoc\";i:273;s:20:\"collapsible-collapse\";i:274;s:18:\"collapsible-expand\";i:275;s:13:\"thisisdeleted\";i:276;s:11:\"viewdeleted\";i:277;s:11:\"restorelink\";i:278;s:9:\"feedlinks\";i:279;s:12:\"feed-invalid\";i:280;s:16:\"feed-unavailable\";i:281;s:13:\"site-rss-feed\";i:282;s:14:\"site-atom-feed\";i:283;s:13:\"page-rss-feed\";i:284;s:14:\"page-atom-feed\";i:285;s:9:\"feed-atom\";i:286;s:8:\"feed-rss\";i:287;s:10:\"sitenotice\";i:288;s:10:\"anonnotice\";i:289;s:28:\"newsectionheaderdefaultlevel\";i:290;s:14:\"red-link-title\";i:291;s:15:\"sort-descending\";i:292;s:14:\"sort-ascending\";i:293;s:10:\"nstab-main\";i:294;s:10:\"nstab-user\";i:295;s:11:\"nstab-media\";i:296;s:13:\"nstab-special\";i:297;s:13:\"nstab-project\";i:298;s:11:\"nstab-image\";i:299;s:15:\"nstab-mediawiki\";i:300;s:14:\"nstab-template\";i:301;s:10:\"nstab-help\";i:302;s:14:\"nstab-category\";i:303;s:14:\"mainpage-nstab\";i:304;s:12:\"nosuchaction\";i:305;s:16:\"nosuchactiontext\";i:306;s:17:\"nosuchspecialpage\";i:307;s:17:\"nospecialpagetext\";i:308;s:5:\"error\";i:309;s:13:\"databaseerror\";i:310;s:11:\"dberrortext\";i:311;s:13:\"dberrortextcl\";i:312;s:15:\"laggedslavemode\";i:313;s:8:\"readonly\";i:314;s:15:\"enterlockreason\";i:315;s:12:\"readonlytext\";i:316;s:15:\"missing-article\";i:317;s:18:\"missingarticle-rev\";i:318;s:19:\"missingarticle-diff\";i:319;s:12:\"readonly_lag\";i:320;s:13:\"internalerror\";i:321;s:18:\"internalerror_info\";i:322;s:19:\"fileappenderrorread\";i:323;s:15:\"fileappenderror\";i:324;s:13:\"filecopyerror\";i:325;s:15:\"filerenameerror\";i:326;s:15:\"filedeleteerror\";i:327;s:20:\"directorycreateerror\";i:328;s:12:\"filenotfound\";i:329;s:15:\"fileexistserror\";i:330;s:10:\"unexpected\";i:331;s:9:\"formerror\";i:332;s:15:\"badarticleerror\";i:333;s:12:\"cannotdelete\";i:334;s:8:\"badtitle\";i:335;s:12:\"badtitletext\";i:336;s:10:\"perfcached\";i:337;s:12:\"perfcachedts\";i:338;s:20:\"querypage-no-updates\";i:339;s:20:\"wrong_wfQuery_params\";i:340;s:10:\"viewsource\";i:341;s:13:\"viewsourcefor\";i:342;s:15:\"actionthrottled\";i:343;s:19:\"actionthrottledtext\";i:344;s:17:\"protectedpagetext\";i:345;s:14:\"viewsourcetext\";i:346;s:18:\"protectedinterface\";i:347;s:16:\"editinginterface\";i:348;s:9:\"sqlhidden\";i:349;s:16:\"cascadeprotected\";i:350;s:18:\"namespaceprotected\";i:351;s:18:\"customcssprotected\";i:352;s:17:\"customjsprotected\";i:353;s:19:\"ns-specialprotected\";i:354;s:14:\"titleprotected\";i:355;s:16:\"virus-badscanner\";i:356;s:16:\"virus-scanfailed\";i:357;s:20:\"virus-unknownscanner\";i:358;s:10:\"logouttext\";i:359;s:15:\"welcomecreation\";i:360;s:8:\"yourname\";i:361;s:12:\"yourpassword\";i:362;s:17:\"yourpasswordagain\";i:363;s:18:\"remembermypassword\";i:364;s:23:\"securelogin-stick-https\";i:365;s:14:\"yourdomainname\";i:366;s:15:\"externaldberror\";i:367;s:5:\"login\";i:368;s:23:\"nav-login-createaccount\";i:369;s:11:\"loginprompt\";i:370;s:9:\"userlogin\";i:371;s:17:\"userloginnocreate\";i:372;s:6:\"logout\";i:373;s:10:\"userlogout\";i:374;s:11:\"notloggedin\";i:375;s:7:\"nologin\";i:376;s:11:\"nologinlink\";i:377;s:13:\"createaccount\";i:378;s:10:\"gotaccount\";i:379;s:14:\"gotaccountlink\";i:380;s:19:\"userlogin-resetlink\";i:381;s:17:\"createaccountmail\";i:382;s:19:\"createaccountreason\";i:383;s:9:\"badretype\";i:384;s:10:\"userexists\";i:385;s:10:\"loginerror\";i:386;s:18:\"createaccounterror\";i:387;s:12:\"nocookiesnew\";i:388;s:14:\"nocookieslogin\";i:389;s:15:\"nocookiesfornew\";i:390;s:17:\"nocookiesforlogin\";i:391;s:6:\"noname\";i:392;s:17:\"loginsuccesstitle\";i:393;s:12:\"loginsuccess\";i:394;s:10:\"nosuchuser\";i:395;s:15:\"nosuchusershort\";i:396;s:15:\"nouserspecified\";i:397;s:17:\"login-userblocked\";i:398;s:13:\"wrongpassword\";i:399;s:18:\"wrongpasswordempty\";i:400;s:16:\"passwordtooshort\";i:401;s:19:\"password-name-match\";i:402;s:24:\"password-login-forbidden\";i:403;s:14:\"mailmypassword\";i:404;s:21:\"passwordremindertitle\";i:405;s:20:\"passwordremindertext\";i:406;s:7:\"noemail\";i:407;s:13:\"noemailcreate\";i:408;s:12:\"passwordsent\";i:409;s:20:\"blocked-mailpassword\";i:410;s:12:\"eauthentsent\";i:411;s:22:\"throttled-mailpassword\";i:412;s:10:\"loginstart\";i:413;s:8:\"loginend\";i:414;s:14:\"loginend-https\";i:415;s:11:\"signupstart\";i:416;s:9:\"signupend\";i:417;s:15:\"signupend-https\";i:418;s:9:\"mailerror\";i:419;s:26:\"acct_creation_throttle_hit\";i:420;s:18:\"emailauthenticated\";i:421;s:21:\"emailnotauthenticated\";i:422;s:12:\"noemailprefs\";i:423;s:16:\"emailconfirmlink\";i:424;s:19:\"invalidemailaddress\";i:425;s:14:\"accountcreated\";i:426;s:18:\"accountcreatedtext\";i:427;s:19:\"createaccount-title\";i:428;s:18:\"createaccount-text\";i:429;s:17:\"usernamehasherror\";i:430;s:15:\"login-throttled\";i:431;s:19:\"login-abort-generic\";i:432;s:18:\"loginlanguagelabel\";i:433;s:18:\"loginlanguagelinks\";i:434;s:21:\"suspicious-userlogout\";i:435;s:15:\"pear-mail-error\";i:436;s:14:\"php-mail-error\";i:437;s:22:\"php-mail-error-unknown\";i:438;s:9:\"resetpass\";i:439;s:18:\"resetpass_announce\";i:440;s:14:\"resetpass_text\";i:441;s:16:\"resetpass_header\";i:442;s:11:\"oldpassword\";i:443;s:11:\"newpassword\";i:444;s:9:\"retypenew\";i:445;s:16:\"resetpass_submit\";i:446;s:17:\"resetpass_success\";i:447;s:19:\"resetpass_forbidden\";i:448;s:17:\"resetpass-no-info\";i:449;s:25:\"resetpass-submit-loggedin\";i:450;s:23:\"resetpass-submit-cancel\";i:451;s:23:\"resetpass-wrong-oldpass\";i:452;s:23:\"resetpass-temp-password\";i:453;s:13:\"passwordreset\";i:454;s:18:\"passwordreset-text\";i:455;s:20:\"passwordreset-legend\";i:456;s:22:\"passwordreset-disabled\";i:457;s:21:\"passwordreset-pretext\";i:458;s:22:\"passwordreset-username\";i:459;s:20:\"passwordreset-domain\";i:460;s:19:\"passwordreset-email\";i:461;s:24:\"passwordreset-emailtitle\";i:462;s:26:\"passwordreset-emailtext-ip\";i:463;s:28:\"passwordreset-emailtext-user\";i:464;s:26:\"passwordreset-emailelement\";i:465;s:23:\"passwordreset-emailsent\";i:466;s:11:\"bold_sample\";i:467;s:8:\"bold_tip\";i:468;s:13:\"italic_sample\";i:469;s:10:\"italic_tip\";i:470;s:11:\"link_sample\";i:471;s:8:\"link_tip\";i:472;s:14:\"extlink_sample\";i:473;s:11:\"extlink_tip\";i:474;s:15:\"headline_sample\";i:475;s:12:\"headline_tip\";i:476;s:13:\"nowiki_sample\";i:477;s:10:\"nowiki_tip\";i:478;s:12:\"image_sample\";i:479;s:9:\"image_tip\";i:480;s:12:\"media_sample\";i:481;s:9:\"media_tip\";i:482;s:7:\"sig_tip\";i:483;s:6:\"hr_tip\";i:484;s:7:\"summary\";i:485;s:7:\"subject\";i:486;s:9:\"minoredit\";i:487;s:9:\"watchthis\";i:488;s:11:\"savearticle\";i:489;s:7:\"preview\";i:490;s:11:\"showpreview\";i:491;s:15:\"showlivepreview\";i:492;s:8:\"showdiff\";i:493;s:15:\"anoneditwarning\";i:494;s:18:\"anonpreviewwarning\";i:495;s:14:\"missingsummary\";i:496;s:18:\"missingcommenttext\";i:497;s:20:\"missingcommentheader\";i:498;s:15:\"summary-preview\";i:499;s:15:\"subject-preview\";i:500;s:12:\"blockedtitle\";i:501;s:11:\"blockedtext\";i:502;s:15:\"autoblockedtext\";i:503;s:15:\"blockednoreason\";i:504;s:21:\"blockedoriginalsource\";i:505;s:17:\"blockededitsource\";i:506;s:18:\"whitelistedittitle\";i:507;s:17:\"whitelistedittext\";i:508;s:15:\"confirmedittext\";i:509;s:18:\"nosuchsectiontitle\";i:510;s:17:\"nosuchsectiontext\";i:511;s:13:\"loginreqtitle\";i:512;s:12:\"loginreqlink\";i:513;s:16:\"loginreqpagetext\";i:514;s:12:\"accmailtitle\";i:515;s:11:\"accmailtext\";i:516;s:10:\"newarticle\";i:517;s:14:\"newarticletext\";i:518;s:18:\"newarticletextanon\";i:519;s:12:\"talkpagetext\";i:520;s:16:\"anontalkpagetext\";i:521;s:13:\"noarticletext\";i:522;s:26:\"noarticletext-nopermission\";i:523;s:17:\"noarticletextanon\";i:524;s:25:\"userpage-userdoesnotexist\";i:525;s:30:\"userpage-userdoesnotexist-view\";i:526;s:25:\"blocked-notice-logextract\";i:527;s:14:\"clearyourcache\";i:528;s:20:\"usercssyoucanpreview\";i:529;s:19:\"userjsyoucanpreview\";i:530;s:14:\"usercsspreview\";i:531;s:13:\"userjspreview\";i:532;s:14:\"sitecsspreview\";i:533;s:13:\"sitejspreview\";i:534;s:21:\"userinvalidcssjstitle\";i:535;s:7:\"updated\";i:536;s:4:\"note\";i:537;s:11:\"previewnote\";i:538;s:15:\"previewconflict\";i:539;s:20:\"session_fail_preview\";i:540;s:25:\"session_fail_preview_html\";i:541;s:21:\"token_suffix_mismatch\";i:542;s:20:\"edit_form_incomplete\";i:543;s:7:\"editing\";i:544;s:14:\"editingsection\";i:545;s:14:\"editingcomment\";i:546;s:12:\"editconflict\";i:547;s:15:\"explainconflict\";i:548;s:8:\"yourtext\";i:549;s:13:\"storedversion\";i:550;s:17:\"nonunicodebrowser\";i:551;s:10:\"editingold\";i:552;s:8:\"yourdiff\";i:553;s:16:\"copyrightwarning\";i:554;s:17:\"copyrightwarning2\";i:555;s:20:\"editpage-tos-summary\";i:556;s:13:\"longpage-hint\";i:557;s:13:\"longpageerror\";i:558;s:15:\"readonlywarning\";i:559;s:20:\"protectedpagewarning\";i:560;s:24:\"semiprotectedpagewarning\";i:561;s:23:\"cascadeprotectedwarning\";i:562;s:21:\"titleprotectedwarning\";i:563;s:13:\"templatesused\";i:564;s:20:\"templatesusedpreview\";i:565;s:20:\"templatesusedsection\";i:566;s:18:\"template-protected\";i:567;s:22:\"template-semiprotected\";i:568;s:16:\"hiddencategories\";i:569;s:9:\"edittools\";i:570;s:16:\"edittools-upload\";i:571;s:13:\"nocreatetitle\";i:572;s:12:\"nocreatetext\";i:573;s:17:\"nocreate-loggedin\";i:574;s:29:\"sectioneditnotsupported-title\";i:575;s:28:\"sectioneditnotsupported-text\";i:576;s:17:\"permissionserrors\";i:577;s:21:\"permissionserrorstext\";i:578;s:32:\"permissionserrorstext-withaction\";i:579;s:26:\"recreate-moveddeleted-warn\";i:580;s:19:\"moveddeleted-notice\";i:581;s:11:\"log-fulllog\";i:582;s:17:\"edit-hook-aborted\";i:583;s:17:\"edit-gone-missing\";i:584;s:13:\"edit-conflict\";i:585;s:14:\"edit-no-change\";i:586;s:19:\"edit-already-exists\";i:587;s:18:\"addsection-preload\";i:588;s:20:\"addsection-editintro\";i:589;s:32:\"expensive-parserfunction-warning\";i:590;s:33:\"expensive-parserfunction-category\";i:591;s:38:\"post-expand-template-inclusion-warning\";i:592;s:39:\"post-expand-template-inclusion-category\";i:593;s:37:\"post-expand-template-argument-warning\";i:594;s:38:\"post-expand-template-argument-category\";i:595;s:28:\"parser-template-loop-warning\";i:596;s:39:\"parser-template-recursion-depth-warning\";i:597;s:32:\"language-converter-depth-warning\";i:598;s:12:\"undo-success\";i:599;s:12:\"undo-failure\";i:600;s:10:\"undo-norev\";i:601;s:12:\"undo-summary\";i:602;s:22:\"cantcreateaccounttitle\";i:603;s:22:\"cantcreateaccount-text\";i:604;s:12:\"viewpagelogs\";i:605;s:9:\"nohistory\";i:606;s:10:\"currentrev\";i:607;s:15:\"currentrev-asof\";i:608;s:12:\"revisionasof\";i:609;s:13:\"revision-info\";i:610;s:21:\"revision-info-current\";i:611;s:12:\"revision-nav\";i:612;s:16:\"previousrevision\";i:613;s:12:\"nextrevision\";i:614;s:19:\"currentrevisionlink\";i:615;s:3:\"cur\";i:616;s:4:\"next\";i:617;s:4:\"last\";i:618;s:10:\"page_first\";i:619;s:9:\"page_last\";i:620;s:10:\"histlegend\";i:621;s:22:\"history-fieldset-title\";i:622;s:20:\"history-show-deleted\";i:623;s:17:\"history_copyright\";i:624;s:9:\"histfirst\";i:625;s:8:\"histlast\";i:626;s:11:\"historysize\";i:627;s:12:\"historyempty\";i:628;s:18:\"history-feed-title\";i:629;s:24:\"history-feed-description\";i:630;s:27:\"history-feed-item-nocomment\";i:631;s:18:\"history-feed-empty\";i:632;s:19:\"rev-deleted-comment\";i:633;s:16:\"rev-deleted-user\";i:634;s:17:\"rev-deleted-event\";i:635;s:25:\"rev-deleted-user-contribs\";i:636;s:27:\"rev-deleted-text-permission\";i:637;s:23:\"rev-deleted-text-unhide\";i:638;s:26:\"rev-suppressed-text-unhide\";i:639;s:21:\"rev-deleted-text-view\";i:640;s:24:\"rev-suppressed-text-view\";i:641;s:19:\"rev-deleted-no-diff\";i:642;s:22:\"rev-suppressed-no-diff\";i:643;s:23:\"rev-deleted-unhide-diff\";i:644;s:26:\"rev-suppressed-unhide-diff\";i:645;s:21:\"rev-deleted-diff-view\";i:646;s:24:\"rev-suppressed-diff-view\";i:647;s:12:\"rev-delundel\";i:648;s:15:\"rev-showdeleted\";i:649;s:14:\"revisiondelete\";i:650;s:23:\"revdelete-nooldid-title\";i:651;s:22:\"revdelete-nooldid-text\";i:652;s:25:\"revdelete-nologtype-title\";i:653;s:24:\"revdelete-nologtype-text\";i:654;s:23:\"revdelete-nologid-title\";i:655;s:22:\"revdelete-nologid-text\";i:656;s:17:\"revdelete-no-file\";i:657;s:27:\"revdelete-show-file-confirm\";i:658;s:26:\"revdelete-show-file-submit\";i:659;s:18:\"revdelete-selected\";i:660;s:18:\"logdelete-selected\";i:661;s:14:\"revdelete-text\";i:662;s:17:\"revdelete-confirm\";i:663;s:23:\"revdelete-suppress-text\";i:664;s:16:\"revdelete-legend\";i:665;s:19:\"revdelete-hide-text\";i:666;s:20:\"revdelete-hide-image\";i:667;s:19:\"revdelete-hide-name\";i:668;s:22:\"revdelete-hide-comment\";i:669;s:19:\"revdelete-hide-user\";i:670;s:25:\"revdelete-hide-restricted\";i:671;s:20:\"revdelete-radio-same\";i:672;s:19:\"revdelete-radio-set\";i:673;s:21:\"revdelete-radio-unset\";i:674;s:18:\"revdelete-suppress\";i:675;s:20:\"revdelete-unsuppress\";i:676;s:13:\"revdelete-log\";i:677;s:16:\"revdelete-submit\";i:678;s:18:\"revdelete-logentry\";i:679;s:18:\"logdelete-logentry\";i:680;s:17:\"revdelete-success\";i:681;s:17:\"revdelete-failure\";i:682;s:17:\"logdelete-success\";i:683;s:17:\"logdelete-failure\";i:684;s:14:\"revdel-restore\";i:685;s:22:\"revdel-restore-deleted\";i:686;s:22:\"revdel-restore-visible\";i:687;s:8:\"pagehist\";i:688;s:11:\"deletedhist\";i:689;s:17:\"revdelete-content\";i:690;s:17:\"revdelete-summary\";i:691;s:15:\"revdelete-uname\";i:692;s:20:\"revdelete-restricted\";i:693;s:22:\"revdelete-unrestricted\";i:694;s:13:\"revdelete-hid\";i:695;s:15:\"revdelete-unhid\";i:696;s:21:\"revdelete-log-message\";i:697;s:21:\"logdelete-log-message\";i:698;s:22:\"revdelete-hide-current\";i:699;s:24:\"revdelete-show-no-access\";i:700;s:26:\"revdelete-modify-no-access\";i:701;s:24:\"revdelete-modify-missing\";i:702;s:19:\"revdelete-no-change\";i:703;s:27:\"revdelete-concurrent-change\";i:704;s:25:\"revdelete-only-restricted\";i:705;s:25:\"revdelete-reason-dropdown\";i:706;s:21:\"revdelete-otherreason\";i:707;s:25:\"revdelete-reasonotherlist\";i:708;s:25:\"revdelete-edit-reasonlist\";i:709;s:18:\"revdelete-offender\";i:710;s:14:\"suppressionlog\";i:711;s:18:\"suppressionlogtext\";i:712;s:12:\"mergehistory\";i:713;s:19:\"mergehistory-header\";i:714;s:16:\"mergehistory-box\";i:715;s:17:\"mergehistory-from\";i:716;s:17:\"mergehistory-into\";i:717;s:17:\"mergehistory-list\";i:718;s:18:\"mergehistory-merge\";i:719;s:15:\"mergehistory-go\";i:720;s:19:\"mergehistory-submit\";i:721;s:18:\"mergehistory-empty\";i:722;s:20:\"mergehistory-success\";i:723;s:17:\"mergehistory-fail\";i:724;s:22:\"mergehistory-no-source\";i:725;s:27:\"mergehistory-no-destination\";i:726;s:27:\"mergehistory-invalid-source\";i:727;s:32:\"mergehistory-invalid-destination\";i:728;s:24:\"mergehistory-autocomment\";i:729;s:20:\"mergehistory-comment\";i:730;s:29:\"mergehistory-same-destination\";i:731;s:19:\"mergehistory-reason\";i:732;s:8:\"mergelog\";i:733;s:18:\"pagemerge-logentry\";i:734;s:11:\"revertmerge\";i:735;s:16:\"mergelogpagetext\";i:736;s:13:\"history-title\";i:737;s:10:\"difference\";i:738;s:20:\"difference-multipage\";i:739;s:6:\"lineno\";i:740;s:23:\"compareselectedversions\";i:741;s:24:\"showhideselectedversions\";i:742;s:8:\"editundo\";i:743;s:10:\"diff-multi\";i:744;s:20:\"diff-multi-manyusers\";i:745;s:14:\"search-summary\";i:746;s:13:\"searchresults\";i:747;s:19:\"searchresults-title\";i:748;s:16:\"searchresulttext\";i:749;s:14:\"searchsubtitle\";i:750;s:21:\"searchsubtitleinvalid\";i:751;s:14:\"toomanymatches\";i:752;s:12:\"titlematches\";i:753;s:14:\"notitlematches\";i:754;s:11:\"textmatches\";i:755;s:13:\"notextmatches\";i:756;s:5:\"prevn\";i:757;s:5:\"nextn\";i:758;s:11:\"prevn-title\";i:759;s:11:\"nextn-title\";i:760;s:11:\"shown-title\";i:761;s:12:\"viewprevnext\";i:762;s:17:\"searchmenu-legend\";i:763;s:17:\"searchmenu-exists\";i:764;s:14:\"searchmenu-new\";i:765;s:23:\"searchmenu-new-nocreate\";i:766;s:14:\"searchhelp-url\";i:767;s:17:\"searchmenu-prefix\";i:768;s:15:\"searchmenu-help\";i:769;s:22:\"searchprofile-articles\";i:770;s:21:\"searchprofile-project\";i:771;s:20:\"searchprofile-images\";i:772;s:24:\"searchprofile-everything\";i:773;s:22:\"searchprofile-advanced\";i:774;s:30:\"searchprofile-articles-tooltip\";i:775;s:29:\"searchprofile-project-tooltip\";i:776;s:28:\"searchprofile-images-tooltip\";i:777;s:32:\"searchprofile-everything-tooltip\";i:778;s:30:\"searchprofile-advanced-tooltip\";i:779;s:18:\"search-result-size\";i:780;s:27:\"search-result-category-size\";i:781;s:19:\"search-result-score\";i:782;s:15:\"search-redirect\";i:783;s:14:\"search-section\";i:784;s:14:\"search-suggest\";i:785;s:24:\"search-interwiki-caption\";i:786;s:24:\"search-interwiki-default\";i:787;s:23:\"search-interwiki-custom\";i:788;s:21:\"search-interwiki-more\";i:789;s:24:\"search-mwsuggest-enabled\";i:790;s:25:\"search-mwsuggest-disabled\";i:791;s:21:\"search-relatedarticle\";i:792;s:17:\"mwsuggest-disable\";i:793;s:23:\"searcheverything-enable\";i:794;s:13:\"searchrelated\";i:795;s:9:\"searchall\";i:796;s:14:\"showingresults\";i:797;s:17:\"showingresultsnum\";i:798;s:20:\"showingresultsheader\";i:799;s:9:\"nonefound\";i:800;s:16:\"search-nonefound\";i:801;s:11:\"powersearch\";i:802;s:18:\"powersearch-legend\";i:803;s:14:\"powersearch-ns\";i:804;s:17:\"powersearch-redir\";i:805;s:17:\"powersearch-field\";i:806;s:23:\"powersearch-togglelabel\";i:807;s:21:\"powersearch-toggleall\";i:808;s:22:\"powersearch-togglenone\";i:809;s:15:\"search-external\";i:810;s:14:\"searchdisabled\";i:811;s:12:\"googlesearch\";i:812;s:15:\"opensearch-desc\";i:813;s:10:\"qbsettings\";i:814;s:15:\"qbsettings-none\";i:815;s:20:\"qbsettings-fixedleft\";i:816;s:21:\"qbsettings-fixedright\";i:817;s:23:\"qbsettings-floatingleft\";i:818;s:24:\"qbsettings-floatingright\";i:819;s:25:\"qbsettings-directionality\";i:820;s:11:\"preferences\";i:821;s:19:\"preferences-summary\";i:822;s:13:\"mypreferences\";i:823;s:11:\"prefs-edits\";i:824;s:12:\"prefsnologin\";i:825;s:16:\"prefsnologintext\";i:826;s:14:\"changepassword\";i:827;s:10:\"prefs-skin\";i:828;s:12:\"skin-preview\";i:829;s:11:\"datedefault\";i:830;s:10:\"prefs-beta\";i:831;s:14:\"prefs-datetime\";i:832;s:10:\"prefs-labs\";i:833;s:14:\"prefs-personal\";i:834;s:8:\"prefs-rc\";i:835;s:15:\"prefs-watchlist\";i:836;s:20:\"prefs-watchlist-days\";i:837;s:24:\"prefs-watchlist-days-max\";i:838;s:21:\"prefs-watchlist-edits\";i:839;s:25:\"prefs-watchlist-edits-max\";i:840;s:21:\"prefs-watchlist-token\";i:841;s:10:\"prefs-misc\";i:842;s:15:\"prefs-resetpass\";i:843;s:11:\"prefs-email\";i:844;s:15:\"prefs-rendering\";i:845;s:9:\"saveprefs\";i:846;s:10:\"resetprefs\";i:847;s:12:\"restoreprefs\";i:848;s:13:\"prefs-editing\";i:849;s:18:\"prefs-edit-boxsize\";i:850;s:4:\"rows\";i:851;s:7:\"columns\";i:852;s:17:\"searchresultshead\";i:853;s:14:\"resultsperpage\";i:854;s:14:\"stub-threshold\";i:855;s:23:\"stub-threshold-disabled\";i:856;s:17:\"recentchangesdays\";i:857;s:21:\"recentchangesdays-max\";i:858;s:18:\"recentchangescount\";i:859;s:29:\"prefs-help-recentchangescount\";i:860;s:26:\"prefs-help-watchlist-token\";i:861;s:10:\"savedprefs\";i:862;s:14:\"timezonelegend\";i:863;s:9:\"localtime\";i:864;s:24:\"timezoneuseserverdefault\";i:865;s:17:\"timezoneuseoffset\";i:866;s:14:\"timezoneoffset\";i:867;s:10:\"servertime\";i:868;s:13:\"guesstimezone\";i:869;s:21:\"timezoneregion-africa\";i:870;s:22:\"timezoneregion-america\";i:871;s:25:\"timezoneregion-antarctica\";i:872;s:21:\"timezoneregion-arctic\";i:873;s:19:\"timezoneregion-asia\";i:874;s:23:\"timezoneregion-atlantic\";i:875;s:24:\"timezoneregion-australia\";i:876;s:21:\"timezoneregion-europe\";i:877;s:21:\"timezoneregion-indian\";i:878;s:22:\"timezoneregion-pacific\";i:879;s:10:\"allowemail\";i:880;s:19:\"prefs-searchoptions\";i:881;s:16:\"prefs-namespaces\";i:882;s:9:\"defaultns\";i:883;s:7:\"default\";i:884;s:11:\"prefs-files\";i:885;s:16:\"prefs-custom-css\";i:886;s:15:\"prefs-custom-js\";i:887;s:19:\"prefs-common-css-js\";i:888;s:17:\"prefs-reset-intro\";i:889;s:24:\"prefs-emailconfirm-label\";i:890;s:17:\"prefs-textboxsize\";i:891;s:9:\"youremail\";i:892;s:8:\"username\";i:893;s:3:\"uid\";i:894;s:20:\"prefs-memberingroups\";i:895;s:25:\"prefs-memberingroups-type\";i:896;s:18:\"prefs-registration\";i:897;s:28:\"prefs-registration-date-time\";i:898;s:12:\"yourrealname\";i:899;s:12:\"yourlanguage\";i:900;s:11:\"yourvariant\";i:901;s:8:\"yournick\";i:902;s:20:\"prefs-help-signature\";i:903;s:6:\"badsig\";i:904;s:12:\"badsiglength\";i:905;s:10:\"yourgender\";i:906;s:14:\"gender-unknown\";i:907;s:11:\"gender-male\";i:908;s:13:\"gender-female\";i:909;s:17:\"prefs-help-gender\";i:910;s:5:\"email\";i:911;s:19:\"prefs-help-realname\";i:912;s:16:\"prefs-help-email\";i:913;s:23:\"prefs-help-email-others\";i:914;s:25:\"prefs-help-email-required\";i:915;s:10:\"prefs-info\";i:916;s:10:\"prefs-i18n\";i:917;s:15:\"prefs-signature\";i:918;s:16:\"prefs-dateformat\";i:919;s:16:\"prefs-timeoffset\";i:920;s:21:\"prefs-advancedediting\";i:921;s:16:\"prefs-advancedrc\";i:922;s:23:\"prefs-advancedrendering\";i:923;s:27:\"prefs-advancedsearchoptions\";i:924;s:23:\"prefs-advancedwatchlist\";i:925;s:15:\"prefs-displayrc\";i:926;s:26:\"prefs-displaysearchoptions\";i:927;s:22:\"prefs-displaywatchlist\";i:928;s:11:\"prefs-diffs\";i:929;s:28:\"email-address-validity-valid\";i:930;s:30:\"email-address-validity-invalid\";i:931;s:10:\"userrights\";i:932;s:18:\"userrights-summary\";i:933;s:22:\"userrights-lookup-user\";i:934;s:24:\"userrights-user-editname\";i:935;s:13:\"editusergroup\";i:936;s:11:\"editinguser\";i:937;s:24:\"userrights-editusergroup\";i:938;s:14:\"saveusergroups\";i:939;s:23:\"userrights-groupsmember\";i:940;s:28:\"userrights-groupsmember-auto\";i:941;s:22:\"userrights-groups-help\";i:942;s:17:\"userrights-reason\";i:943;s:23:\"userrights-no-interwiki\";i:944;s:21:\"userrights-nodatabase\";i:945;s:18:\"userrights-nologin\";i:946;s:21:\"userrights-notallowed\";i:947;s:25:\"userrights-changeable-col\";i:948;s:27:\"userrights-unchangeable-col\";i:949;s:30:\"userrights-irreversible-marker\";i:950;s:5:\"group\";i:951;s:10:\"group-user\";i:952;s:19:\"group-autoconfirmed\";i:953;s:9:\"group-bot\";i:954;s:11:\"group-sysop\";i:955;s:16:\"group-bureaucrat\";i:956;s:14:\"group-suppress\";i:957;s:9:\"group-all\";i:958;s:17:\"group-user-member\";i:959;s:26:\"group-autoconfirmed-member\";i:960;s:16:\"group-bot-member\";i:961;s:18:\"group-sysop-member\";i:962;s:23:\"group-bureaucrat-member\";i:963;s:21:\"group-suppress-member\";i:964;s:14:\"grouppage-user\";i:965;s:23:\"grouppage-autoconfirmed\";i:966;s:13:\"grouppage-bot\";i:967;s:15:\"grouppage-sysop\";i:968;s:20:\"grouppage-bureaucrat\";i:969;s:18:\"grouppage-suppress\";i:970;s:10:\"right-read\";i:971;s:10:\"right-edit\";i:972;s:16:\"right-createpage\";i:973;s:16:\"right-createtalk\";i:974;s:19:\"right-createaccount\";i:975;s:15:\"right-minoredit\";i:976;s:10:\"right-move\";i:977;s:19:\"right-move-subpages\";i:978;s:24:\"right-move-rootuserpages\";i:979;s:14:\"right-movefile\";i:980;s:22:\"right-suppressredirect\";i:981;s:12:\"right-upload\";i:982;s:14:\"right-reupload\";i:983;s:18:\"right-reupload-own\";i:984;s:21:\"right-reupload-shared\";i:985;s:19:\"right-upload_by_url\";i:986;s:11:\"right-purge\";i:987;s:19:\"right-autoconfirmed\";i:988;s:9:\"right-bot\";i:989;s:20:\"right-nominornewtalk\";i:990;s:19:\"right-apihighlimits\";i:991;s:14:\"right-writeapi\";i:992;s:12:\"right-delete\";i:993;s:15:\"right-bigdelete\";i:994;s:20:\"right-deleterevision\";i:995;s:20:\"right-deletedhistory\";i:996;s:17:\"right-deletedtext\";i:997;s:19:\"right-browsearchive\";i:998;s:14:\"right-undelete\";i:999;s:22:\"right-suppressrevision\";i:1000;s:20:\"right-suppressionlog\";i:1001;s:11:\"right-block\";i:1002;s:16:\"right-blockemail\";i:1003;s:14:\"right-hideuser\";i:1004;s:20:\"right-ipblock-exempt\";i:1005;s:21:\"right-proxyunbannable\";i:1006;s:17:\"right-unblockself\";i:1007;s:13:\"right-protect\";i:1008;s:19:\"right-editprotected\";i:1009;s:19:\"right-editinterface\";i:1010;s:19:\"right-editusercssjs\";i:1011;s:17:\"right-editusercss\";i:1012;s:16:\"right-edituserjs\";i:1013;s:14:\"right-rollback\";i:1014;s:18:\"right-markbotedits\";i:1015;s:17:\"right-noratelimit\";i:1016;s:12:\"right-import\";i:1017;s:18:\"right-importupload\";i:1018;s:12:\"right-patrol\";i:1019;s:16:\"right-autopatrol\";i:1020;s:17:\"right-patrolmarks\";i:1021;s:20:\"right-unwatchedpages\";i:1022;s:15:\"right-trackback\";i:1023;s:18:\"right-mergehistory\";i:1024;s:16:\"right-userrights\";i:1025;s:26:\"right-userrights-interwiki\";i:1026;s:15:\"right-siteadmin\";i:1027;s:27:\"right-override-export-depth\";i:1028;s:15:\"right-sendemail\";i:1029;s:9:\"rightslog\";i:1030;s:13:\"rightslogtext\";i:1031;s:14:\"rightslogentry\";i:1032;s:26:\"rightslogentry-autopromote\";i:1033;s:10:\"rightsnone\";i:1034;s:11:\"action-read\";i:1035;s:11:\"action-edit\";i:1036;s:17:\"action-createpage\";i:1037;s:17:\"action-createtalk\";i:1038;s:20:\"action-createaccount\";i:1039;s:16:\"action-minoredit\";i:1040;s:11:\"action-move\";i:1041;s:20:\"action-move-subpages\";i:1042;s:25:\"action-move-rootuserpages\";i:1043;s:15:\"action-movefile\";i:1044;s:13:\"action-upload\";i:1045;s:15:\"action-reupload\";i:1046;s:22:\"action-reupload-shared\";i:1047;s:20:\"action-upload_by_url\";i:1048;s:15:\"action-writeapi\";i:1049;s:13:\"action-delete\";i:1050;s:21:\"action-deleterevision\";i:1051;s:21:\"action-deletedhistory\";i:1052;s:20:\"action-browsearchive\";i:1053;s:15:\"action-undelete\";i:1054;s:23:\"action-suppressrevision\";i:1055;s:21:\"action-suppressionlog\";i:1056;s:12:\"action-block\";i:1057;s:14:\"action-protect\";i:1058;s:13:\"action-import\";i:1059;s:19:\"action-importupload\";i:1060;s:13:\"action-patrol\";i:1061;s:17:\"action-autopatrol\";i:1062;s:21:\"action-unwatchedpages\";i:1063;s:16:\"action-trackback\";i:1064;s:19:\"action-mergehistory\";i:1065;s:17:\"action-userrights\";i:1066;s:27:\"action-userrights-interwiki\";i:1067;s:16:\"action-siteadmin\";i:1068;s:8:\"nchanges\";i:1069;s:13:\"recentchanges\";i:1070;s:17:\"recentchanges-url\";i:1071;s:20:\"recentchanges-legend\";i:1072;s:17:\"recentchangestext\";i:1073;s:30:\"recentchanges-feed-description\";i:1074;s:27:\"recentchanges-label-newpage\";i:1075;s:25:\"recentchanges-label-minor\";i:1076;s:23:\"recentchanges-label-bot\";i:1077;s:31:\"recentchanges-label-unpatrolled\";i:1078;s:6:\"rcnote\";i:1079;s:10:\"rcnotefrom\";i:1080;s:10:\"rclistfrom\";i:1081;s:15:\"rcshowhideminor\";i:1082;s:14:\"rcshowhidebots\";i:1083;s:13:\"rcshowhideliu\";i:1084;s:15:\"rcshowhideanons\";i:1085;s:14:\"rcshowhidepatr\";i:1086;s:14:\"rcshowhidemine\";i:1087;s:7:\"rclinks\";i:1088;s:4:\"diff\";i:1089;s:4:\"hist\";i:1090;s:4:\"hide\";i:1091;s:4:\"show\";i:1092;s:15:\"minoreditletter\";i:1093;s:13:\"newpageletter\";i:1094;s:13:\"boteditletter\";i:1095;s:17:\"unpatrolledletter\";i:1096;s:11:\"sectionlink\";i:1097;s:31:\"number_of_watching_users_RCview\";i:1098;s:33:\"number_of_watching_users_pageview\";i:1099;s:13:\"rc_categories\";i:1100;s:17:\"rc_categories_any\";i:1101;s:14:\"rc-change-size\";i:1102;s:17:\"newsectionsummary\";i:1103;s:18:\"rc-enhanced-expand\";i:1104;s:16:\"rc-enhanced-hide\";i:1105;s:19:\"recentchangeslinked\";i:1106;s:24:\"recentchangeslinked-feed\";i:1107;s:27:\"recentchangeslinked-toolbox\";i:1108;s:25:\"recentchangeslinked-title\";i:1109;s:28:\"recentchangeslinked-backlink\";i:1110;s:28:\"recentchangeslinked-noresult\";i:1111;s:27:\"recentchangeslinked-summary\";i:1112;s:24:\"recentchangeslinked-page\";i:1113;s:22:\"recentchangeslinked-to\";i:1114;s:6:\"upload\";i:1115;s:9:\"uploadbtn\";i:1116;s:12:\"reuploaddesc\";i:1117;s:15:\"upload-tryagain\";i:1118;s:13:\"uploadnologin\";i:1119;s:17:\"uploadnologintext\";i:1120;s:24:\"upload_directory_missing\";i:1121;s:26:\"upload_directory_read_only\";i:1122;s:11:\"uploaderror\";i:1123;s:14:\"upload-summary\";i:1124;s:23:\"upload-recreate-warning\";i:1125;s:10:\"uploadtext\";i:1126;s:16:\"upload-permitted\";i:1127;s:16:\"upload-preferred\";i:1128;s:17:\"upload-prohibited\";i:1129;s:12:\"uploadfooter\";i:1130;s:9:\"uploadlog\";i:1131;s:13:\"uploadlogpage\";i:1132;s:17:\"uploadlogpagetext\";i:1133;s:8:\"filename\";i:1134;s:8:\"filedesc\";i:1135;s:17:\"fileuploadsummary\";i:1136;s:19:\"filereuploadsummary\";i:1137;s:10:\"filestatus\";i:1138;s:10:\"filesource\";i:1139;s:13:\"uploadedfiles\";i:1140;s:13:\"ignorewarning\";i:1141;s:14:\"ignorewarnings\";i:1142;s:10:\"minlength1\";i:1143;s:15:\"illegalfilename\";i:1144;s:11:\"badfilename\";i:1145;s:22:\"filetype-mime-mismatch\";i:1146;s:16:\"filetype-badmime\";i:1147;s:20:\"filetype-bad-ie-mime\";i:1148;s:22:\"filetype-unwanted-type\";i:1149;s:20:\"filetype-banned-type\";i:1150;s:16:\"filetype-missing\";i:1151;s:10:\"empty-file\";i:1152;s:14:\"file-too-large\";i:1153;s:17:\"filename-tooshort\";i:1154;s:15:\"filetype-banned\";i:1155;s:18:\"verification-error\";i:1156;s:11:\"hookaborted\";i:1157;s:16:\"illegal-filename\";i:1158;s:9:\"overwrite\";i:1159;s:13:\"unknown-error\";i:1160;s:16:\"tmp-create-error\";i:1161;s:15:\"tmp-write-error\";i:1162;s:10:\"large-file\";i:1163;s:15:\"largefileserver\";i:1164;s:9:\"emptyfile\";i:1165;s:25:\"windows-nonascii-filename\";i:1166;s:10:\"fileexists\";i:1167;s:14:\"filepageexists\";i:1168;s:20:\"fileexists-extension\";i:1169;s:24:\"fileexists-thumbnail-yes\";i:1170;s:17:\"file-thumbnail-no\";i:1171;s:20:\"fileexists-forbidden\";i:1172;s:27:\"fileexists-shared-forbidden\";i:1173;s:21:\"file-exists-duplicate\";i:1174;s:22:\"file-deleted-duplicate\";i:1175;s:13:\"uploadwarning\";i:1176;s:18:\"uploadwarning-text\";i:1177;s:8:\"savefile\";i:1178;s:13:\"uploadedimage\";i:1179;s:14:\"overwroteimage\";i:1180;s:14:\"uploaddisabled\";i:1181;s:18:\"copyuploaddisabled\";i:1182;s:20:\"uploadfromurl-queued\";i:1183;s:18:\"uploaddisabledtext\";i:1184;s:22:\"php-uploaddisabledtext\";i:1185;s:14:\"uploadscripted\";i:1186;s:11:\"uploadvirus\";i:1187;s:10:\"uploadjava\";i:1188;s:13:\"upload-source\";i:1189;s:14:\"sourcefilename\";i:1190;s:9:\"sourceurl\";i:1191;s:12:\"destfilename\";i:1192;s:18:\"upload-maxfilesize\";i:1193;s:18:\"upload-description\";i:1194;s:14:\"upload-options\";i:1195;s:15:\"watchthisupload\";i:1196;s:14:\"filewasdeleted\";i:1197;s:19:\"filename-bad-prefix\";i:1198;s:25:\"filename-prefix-blacklist\";i:1199;s:19:\"upload-success-subj\";i:1200;s:18:\"upload-success-msg\";i:1201;s:19:\"upload-failure-subj\";i:1202;s:18:\"upload-failure-msg\";i:1203;s:19:\"upload-warning-subj\";i:1204;s:18:\"upload-warning-msg\";i:1205;s:18:\"upload-proto-error\";i:1206;s:23:\"upload-proto-error-text\";i:1207;s:17:\"upload-file-error\";i:1208;s:22:\"upload-file-error-text\";i:1209;s:17:\"upload-misc-error\";i:1210;s:22:\"upload-misc-error-text\";i:1211;s:25:\"upload-too-many-redirects\";i:1212;s:19:\"upload-unknown-size\";i:1213;s:17:\"upload-http-error\";i:1214;s:19:\"zip-file-open-error\";i:1215;s:16:\"zip-wrong-format\";i:1216;s:7:\"zip-bad\";i:1217;s:15:\"zip-unsupported\";i:1218;s:11:\"uploadstash\";i:1219;s:19:\"uploadstash-summary\";i:1220;s:17:\"uploadstash-clear\";i:1221;s:19:\"uploadstash-nofiles\";i:1222;s:20:\"uploadstash-badtoken\";i:1223;s:20:\"uploadstash-errclear\";i:1224;s:19:\"uploadstash-refresh\";i:1225;s:21:\"img-auth-accessdenied\";i:1226;s:19:\"img-auth-nopathinfo\";i:1227;s:17:\"img-auth-notindir\";i:1228;s:17:\"img-auth-badtitle\";i:1229;s:19:\"img-auth-nologinnWL\";i:1230;s:15:\"img-auth-nofile\";i:1231;s:14:\"img-auth-isdir\";i:1232;s:18:\"img-auth-streaming\";i:1233;s:15:\"img-auth-public\";i:1234;s:15:\"img-auth-noread\";i:1235;s:25:\"img-auth-bad-query-string\";i:1236;s:16:\"http-invalid-url\";i:1237;s:19:\"http-invalid-scheme\";i:1238;s:18:\"http-request-error\";i:1239;s:15:\"http-read-error\";i:1240;s:14:\"http-timed-out\";i:1241;s:15:\"http-curl-error\";i:1242;s:21:\"http-host-unreachable\";i:1243;s:15:\"http-bad-status\";i:1244;s:18:\"upload-curl-error6\";i:1245;s:23:\"upload-curl-error6-text\";i:1246;s:19:\"upload-curl-error28\";i:1247;s:24:\"upload-curl-error28-text\";i:1248;s:7:\"license\";i:1249;s:14:\"license-header\";i:1250;s:9:\"nolicense\";i:1251;s:8:\"licenses\";i:1252;s:17:\"license-nopreview\";i:1253;s:17:\"upload_source_url\";i:1254;s:18:\"upload_source_file\";i:1255;s:17:\"listfiles-summary\";i:1256;s:20:\"listfiles_search_for\";i:1257;s:7:\"imgfile\";i:1258;s:9:\"listfiles\";i:1259;s:15:\"listfiles_thumb\";i:1260;s:14:\"listfiles_date\";i:1261;s:14:\"listfiles_name\";i:1262;s:14:\"listfiles_user\";i:1263;s:14:\"listfiles_size\";i:1264;s:21:\"listfiles_description\";i:1265;s:15:\"listfiles_count\";i:1266;s:16:\"file-anchor-link\";i:1267;s:8:\"filehist\";i:1268;s:13:\"filehist-help\";i:1269;s:18:\"filehist-deleteall\";i:1270;s:18:\"filehist-deleteone\";i:1271;s:15:\"filehist-revert\";i:1272;s:16:\"filehist-current\";i:1273;s:17:\"filehist-datetime\";i:1274;s:14:\"filehist-thumb\";i:1275;s:18:\"filehist-thumbtext\";i:1276;s:16:\"filehist-nothumb\";i:1277;s:13:\"filehist-user\";i:1278;s:19:\"filehist-dimensions\";i:1279;s:17:\"filehist-filesize\";i:1280;s:16:\"filehist-comment\";i:1281;s:16:\"filehist-missing\";i:1282;s:10:\"imagelinks\";i:1283;s:12:\"linkstoimage\";i:1284;s:17:\"linkstoimage-more\";i:1285;s:14:\"nolinkstoimage\";i:1286;s:16:\"morelinkstoimage\";i:1287;s:21:\"linkstoimage-redirect\";i:1288;s:16:\"duplicatesoffile\";i:1289;s:12:\"sharedupload\";i:1290;s:23:\"sharedupload-desc-there\";i:1291;s:22:\"sharedupload-desc-here\";i:1292;s:24:\"shareddescriptionfollows\";i:1293;s:15:\"filepage-nofile\";i:1294;s:20:\"filepage-nofile-link\";i:1295;s:25:\"uploadnewversion-linktext\";i:1296;s:16:\"shared-repo-from\";i:1297;s:11:\"shared-repo\";i:1298;s:33:\"shared-repo-name-wikimediacommons\";i:1299;s:12:\"filepage.css\";i:1300;s:10:\"filerevert\";i:1301;s:19:\"filerevert-backlink\";i:1302;s:17:\"filerevert-legend\";i:1303;s:16:\"filerevert-intro\";i:1304;s:18:\"filerevert-comment\";i:1305;s:25:\"filerevert-defaultcomment\";i:1306;s:17:\"filerevert-submit\";i:1307;s:18:\"filerevert-success\";i:1308;s:21:\"filerevert-badversion\";i:1309;s:10:\"filedelete\";i:1310;s:19:\"filedelete-backlink\";i:1311;s:17:\"filedelete-legend\";i:1312;s:16:\"filedelete-intro\";i:1313;s:20:\"filedelete-intro-old\";i:1314;s:18:\"filedelete-comment\";i:1315;s:17:\"filedelete-submit\";i:1316;s:18:\"filedelete-success\";i:1317;s:22:\"filedelete-success-old\";i:1318;s:17:\"filedelete-nofile\";i:1319;s:21:\"filedelete-nofile-old\";i:1320;s:22:\"filedelete-otherreason\";i:1321;s:27:\"filedelete-reason-otherlist\";i:1322;s:26:\"filedelete-reason-dropdown\";i:1323;s:26:\"filedelete-edit-reasonlist\";i:1324;s:22:\"filedelete-maintenance\";i:1325;s:10:\"mimesearch\";i:1326;s:18:\"mimesearch-summary\";i:1327;s:8:\"mimetype\";i:1328;s:8:\"download\";i:1329;s:14:\"unwatchedpages\";i:1330;s:22:\"unwatchedpages-summary\";i:1331;s:13:\"listredirects\";i:1332;s:21:\"listredirects-summary\";i:1333;s:15:\"unusedtemplates\";i:1334;s:23:\"unusedtemplates-summary\";i:1335;s:19:\"unusedtemplatestext\";i:1336;s:18:\"unusedtemplateswlh\";i:1337;s:10:\"randompage\";i:1338;s:18:\"randompage-nopages\";i:1339;s:14:\"randompage-url\";i:1340;s:14:\"randomredirect\";i:1341;s:22:\"randomredirect-nopages\";i:1342;s:10:\"statistics\";i:1343;s:18:\"statistics-summary\";i:1344;s:23:\"statistics-header-pages\";i:1345;s:23:\"statistics-header-edits\";i:1346;s:23:\"statistics-header-views\";i:1347;s:23:\"statistics-header-users\";i:1348;s:23:\"statistics-header-hooks\";i:1349;s:19:\"statistics-articles\";i:1350;s:16:\"statistics-pages\";i:1351;s:21:\"statistics-pages-desc\";i:1352;s:16:\"statistics-files\";i:1353;s:16:\"statistics-edits\";i:1354;s:24:\"statistics-edits-average\";i:1355;s:22:\"statistics-views-total\";i:1356;s:27:\"statistics-views-total-desc\";i:1357;s:24:\"statistics-views-peredit\";i:1358;s:16:\"statistics-users\";i:1359;s:23:\"statistics-users-active\";i:1360;s:28:\"statistics-users-active-desc\";i:1361;s:22:\"statistics-mostpopular\";i:1362;s:17:\"statistics-footer\";i:1363;s:15:\"disambiguations\";i:1364;s:23:\"disambiguations-summary\";i:1365;s:19:\"disambiguationspage\";i:1366;s:20:\"disambiguations-text\";i:1367;s:15:\"doubleredirects\";i:1368;s:23:\"doubleredirects-summary\";i:1369;s:19:\"doubleredirectstext\";i:1370;s:26:\"double-redirect-fixed-move\";i:1371;s:33:\"double-redirect-fixed-maintenance\";i:1372;s:21:\"double-redirect-fixer\";i:1373;s:15:\"brokenredirects\";i:1374;s:23:\"brokenredirects-summary\";i:1375;s:19:\"brokenredirectstext\";i:1376;s:20:\"brokenredirects-edit\";i:1377;s:22:\"brokenredirects-delete\";i:1378;s:16:\"withoutinterwiki\";i:1379;s:24:\"withoutinterwiki-summary\";i:1380;s:23:\"withoutinterwiki-legend\";i:1381;s:23:\"withoutinterwiki-submit\";i:1382;s:15:\"fewestrevisions\";i:1383;s:23:\"fewestrevisions-summary\";i:1384;s:6:\"nbytes\";i:1385;s:11:\"ncategories\";i:1386;s:6:\"nlinks\";i:1387;s:8:\"nmembers\";i:1388;s:10:\"nrevisions\";i:1389;s:6:\"nviews\";i:1390;s:11:\"nimagelinks\";i:1391;s:14:\"ntransclusions\";i:1392;s:17:\"specialpage-empty\";i:1393;s:11:\"lonelypages\";i:1394;s:19:\"lonelypages-summary\";i:1395;s:15:\"lonelypagestext\";i:1396;s:18:\"uncategorizedpages\";i:1397;s:26:\"uncategorizedpages-summary\";i:1398;s:23:\"uncategorizedcategories\";i:1399;s:31:\"uncategorizedcategories-summary\";i:1400;s:19:\"uncategorizedimages\";i:1401;s:27:\"uncategorizedimages-summary\";i:1402;s:22:\"uncategorizedtemplates\";i:1403;s:30:\"uncategorizedtemplates-summary\";i:1404;s:16:\"unusedcategories\";i:1405;s:12:\"unusedimages\";i:1406;s:12:\"popularpages\";i:1407;s:20:\"popularpages-summary\";i:1408;s:16:\"wantedcategories\";i:1409;s:24:\"wantedcategories-summary\";i:1410;s:11:\"wantedpages\";i:1411;s:19:\"wantedpages-summary\";i:1412;s:20:\"wantedpages-badtitle\";i:1413;s:11:\"wantedfiles\";i:1414;s:19:\"wantedfiles-summary\";i:1415;s:15:\"wantedtemplates\";i:1416;s:23:\"wantedtemplates-summary\";i:1417;s:10:\"mostlinked\";i:1418;s:18:\"mostlinked-summary\";i:1419;s:20:\"mostlinkedcategories\";i:1420;s:28:\"mostlinkedcategories-summary\";i:1421;s:19:\"mostlinkedtemplates\";i:1422;s:27:\"mostlinkedtemplates-summary\";i:1423;s:14:\"mostcategories\";i:1424;s:22:\"mostcategories-summary\";i:1425;s:10:\"mostimages\";i:1426;s:18:\"mostimages-summary\";i:1427;s:13:\"mostrevisions\";i:1428;s:21:\"mostrevisions-summary\";i:1429;s:11:\"prefixindex\";i:1430;s:19:\"prefixindex-summary\";i:1431;s:10:\"shortpages\";i:1432;s:18:\"shortpages-summary\";i:1433;s:9:\"longpages\";i:1434;s:17:\"longpages-summary\";i:1435;s:12:\"deadendpages\";i:1436;s:20:\"deadendpages-summary\";i:1437;s:16:\"deadendpagestext\";i:1438;s:14:\"protectedpages\";i:1439;s:20:\"protectedpages-indef\";i:1440;s:22:\"protectedpages-summary\";i:1441;s:22:\"protectedpages-cascade\";i:1442;s:18:\"protectedpagestext\";i:1443;s:19:\"protectedpagesempty\";i:1444;s:15:\"protectedtitles\";i:1445;s:23:\"protectedtitles-summary\";i:1446;s:19:\"protectedtitlestext\";i:1447;s:20:\"protectedtitlesempty\";i:1448;s:9:\"listusers\";i:1449;s:17:\"listusers-summary\";i:1450;s:19:\"listusers-editsonly\";i:1451;s:22:\"listusers-creationsort\";i:1452;s:13:\"usereditcount\";i:1453;s:11:\"usercreated\";i:1454;s:8:\"newpages\";i:1455;s:16:\"newpages-summary\";i:1456;s:17:\"newpages-username\";i:1457;s:12:\"ancientpages\";i:1458;s:20:\"ancientpages-summary\";i:1459;s:4:\"move\";i:1460;s:12:\"movethispage\";i:1461;s:16:\"unusedimagestext\";i:1462;s:20:\"unusedcategoriestext\";i:1463;s:13:\"notargettitle\";i:1464;s:12:\"notargettext\";i:1465;s:11:\"nopagetitle\";i:1466;s:10:\"nopagetext\";i:1467;s:13:\"pager-newer-n\";i:1468;s:13:\"pager-older-n\";i:1469;s:8:\"suppress\";i:1470;s:18:\"querypage-disabled\";i:1471;s:11:\"booksources\";i:1472;s:19:\"booksources-summary\";i:1473;s:25:\"booksources-search-legend\";i:1474;s:16:\"booksources-isbn\";i:1475;s:14:\"booksources-go\";i:1476;s:16:\"booksources-text\";i:1477;s:24:\"booksources-invalid-isbn\";i:1478;s:6:\"rfcurl\";i:1479;s:9:\"pubmedurl\";i:1480;s:19:\"specialloguserlabel\";i:1481;s:20:\"speciallogtitlelabel\";i:1482;s:3:\"log\";i:1483;s:13:\"all-logs-page\";i:1484;s:11:\"alllogstext\";i:1485;s:8:\"logempty\";i:1486;s:18:\"log-title-wildcard\";i:1487;s:8:\"allpages\";i:1488;s:16:\"allpages-summary\";i:1489;s:14:\"alphaindexline\";i:1490;s:8:\"nextpage\";i:1491;s:8:\"prevpage\";i:1492;s:12:\"allpagesfrom\";i:1493;s:10:\"allpagesto\";i:1494;s:11:\"allarticles\";i:1495;s:14:\"allinnamespace\";i:1496;s:17:\"allnotinnamespace\";i:1497;s:12:\"allpagesprev\";i:1498;s:12:\"allpagesnext\";i:1499;s:14:\"allpagessubmit\";i:1500;s:14:\"allpagesprefix\";i:1501;s:16:\"allpagesbadtitle\";i:1502;s:15:\"allpages-bad-ns\";i:1503;s:10:\"categories\";i:1504;s:18:\"categories-summary\";i:1505;s:18:\"categoriespagetext\";i:1506;s:14:\"categoriesfrom\";i:1507;s:29:\"special-categories-sort-count\";i:1508;s:27:\"special-categories-sort-abc\";i:1509;s:20:\"deletedcontributions\";i:1510;s:26:\"deletedcontributions-title\";i:1511;s:32:\"sp-deletedcontributions-contribs\";i:1512;s:10:\"linksearch\";i:1513;s:14:\"linksearch-pat\";i:1514;s:13:\"linksearch-ns\";i:1515;s:13:\"linksearch-ok\";i:1516;s:15:\"linksearch-text\";i:1517;s:15:\"linksearch-line\";i:1518;s:16:\"linksearch-error\";i:1519;s:13:\"listusersfrom\";i:1520;s:16:\"listusers-submit\";i:1521;s:18:\"listusers-noresult\";i:1522;s:17:\"listusers-blocked\";i:1523;s:11:\"activeusers\";i:1524;s:19:\"activeusers-summary\";i:1525;s:17:\"activeusers-intro\";i:1526;s:17:\"activeusers-count\";i:1527;s:16:\"activeusers-from\";i:1528;s:20:\"activeusers-hidebots\";i:1529;s:22:\"activeusers-hidesysops\";i:1530;s:20:\"activeusers-noresult\";i:1531;s:14:\"newuserlogpage\";i:1532;s:18:\"newuserlogpagetext\";i:1533;s:15:\"newuserlogentry\";i:1534;s:18:\"newuserlog-byemail\";i:1535;s:23:\"newuserlog-create-entry\";i:1536;s:24:\"newuserlog-create2-entry\";i:1537;s:27:\"newuserlog-autocreate-entry\";i:1538;s:15:\"listgrouprights\";i:1539;s:23:\"listgrouprights-summary\";i:1540;s:19:\"listgrouprights-key\";i:1541;s:21:\"listgrouprights-group\";i:1542;s:22:\"listgrouprights-rights\";i:1543;s:24:\"listgrouprights-helppage\";i:1544;s:23:\"listgrouprights-members\";i:1545;s:29:\"listgrouprights-right-display\";i:1546;s:29:\"listgrouprights-right-revoked\";i:1547;s:24:\"listgrouprights-addgroup\";i:1548;s:27:\"listgrouprights-removegroup\";i:1549;s:28:\"listgrouprights-addgroup-all\";i:1550;s:31:\"listgrouprights-removegroup-all\";i:1551;s:29:\"listgrouprights-addgroup-self\";i:1552;s:32:\"listgrouprights-removegroup-self\";i:1553;s:33:\"listgrouprights-addgroup-self-all\";i:1554;s:36:\"listgrouprights-removegroup-self-all\";i:1555;s:11:\"mailnologin\";i:1556;s:15:\"mailnologintext\";i:1557;s:9:\"emailuser\";i:1558;s:9:\"emailpage\";i:1559;s:13:\"emailpagetext\";i:1560;s:15:\"usermailererror\";i:1561;s:15:\"defemailsubject\";i:1562;s:16:\"usermaildisabled\";i:1563;s:20:\"usermaildisabledtext\";i:1564;s:12:\"noemailtitle\";i:1565;s:11:\"noemailtext\";i:1566;s:16:\"nowikiemailtitle\";i:1567;s:15:\"nowikiemailtext\";i:1568;s:13:\"emailnotarget\";i:1569;s:11:\"emailtarget\";i:1570;s:13:\"emailusername\";i:1571;s:19:\"emailusernamesubmit\";i:1572;s:12:\"email-legend\";i:1573;s:9:\"emailfrom\";i:1574;s:7:\"emailto\";i:1575;s:12:\"emailsubject\";i:1576;s:12:\"emailmessage\";i:1577;s:9:\"emailsend\";i:1578;s:9:\"emailccme\";i:1579;s:14:\"emailccsubject\";i:1580;s:9:\"emailsent\";i:1581;s:13:\"emailsenttext\";i:1582;s:15:\"emailuserfooter\";i:1583;s:19:\"usermessage-summary\";i:1584;s:18:\"usermessage-editor\";i:1585;s:20:\"usermessage-template\";i:1586;s:9:\"watchlist\";i:1587;s:11:\"mywatchlist\";i:1588;s:13:\"watchlistfor2\";i:1589;s:11:\"nowatchlist\";i:1590;s:17:\"watchlistanontext\";i:1591;s:12:\"watchnologin\";i:1592;s:16:\"watchnologintext\";i:1593;s:8:\"addwatch\";i:1594;s:14:\"addedwatchtext\";i:1595;s:11:\"removewatch\";i:1596;s:16:\"removedwatchtext\";i:1597;s:5:\"watch\";i:1598;s:13:\"watchthispage\";i:1599;s:7:\"unwatch\";i:1600;s:15:\"unwatchthispage\";i:1601;s:12:\"notanarticle\";i:1602;s:13:\"notvisiblerev\";i:1603;s:13:\"watchnochange\";i:1604;s:17:\"watchlist-details\";i:1605;s:15:\"wlheader-enotif\";i:1606;s:20:\"wlheader-showupdated\";i:1607;s:18:\"watchmethod-recent\";i:1608;s:16:\"watchmethod-list\";i:1609;s:17:\"watchlistcontains\";i:1610;s:15:\"iteminvalidname\";i:1611;s:6:\"wlnote\";i:1612;s:10:\"wlshowlast\";i:1613;s:17:\"watchlist-options\";i:1614;s:8:\"watching\";i:1615;s:10:\"unwatching\";i:1616;s:14:\"watcherrortext\";i:1617;s:13:\"enotif_mailer\";i:1618;s:12:\"enotif_reset\";i:1619;s:18:\"enotif_newpagetext\";i:1620;s:28:\"enotif_impersonal_salutation\";i:1621;s:7:\"changed\";i:1622;s:7:\"created\";i:1623;s:14:\"enotif_subject\";i:1624;s:18:\"enotif_lastvisited\";i:1625;s:15:\"enotif_lastdiff\";i:1626;s:18:\"enotif_anon_editor\";i:1627;s:11:\"enotif_body\";i:1628;s:10:\"deletepage\";i:1629;s:7:\"confirm\";i:1630;s:9:\"excontent\";i:1631;s:15:\"excontentauthor\";i:1632;s:13:\"exbeforeblank\";i:1633;s:7:\"exblank\";i:1634;s:14:\"delete-confirm\";i:1635;s:15:\"delete-backlink\";i:1636;s:13:\"delete-legend\";i:1637;s:14:\"historywarning\";i:1638;s:17:\"confirmdeletetext\";i:1639;s:14:\"actioncomplete\";i:1640;s:12:\"actionfailed\";i:1641;s:11:\"deletedtext\";i:1642;s:14:\"deletedarticle\";i:1643;s:17:\"suppressedarticle\";i:1644;s:10:\"dellogpage\";i:1645;s:14:\"dellogpagetext\";i:1646;s:11:\"deletionlog\";i:1647;s:8:\"reverted\";i:1648;s:13:\"deletecomment\";i:1649;s:17:\"deleteotherreason\";i:1650;s:21:\"deletereasonotherlist\";i:1651;s:21:\"deletereason-dropdown\";i:1652;s:22:\"delete-edit-reasonlist\";i:1653;s:13:\"delete-toobig\";i:1654;s:21:\"delete-warning-toobig\";i:1655;s:8:\"rollback\";i:1656;s:14:\"rollback_short\";i:1657;s:12:\"rollbacklink\";i:1658;s:14:\"rollbackfailed\";i:1659;s:12:\"cantrollback\";i:1660;s:13:\"alreadyrolled\";i:1661;s:11:\"editcomment\";i:1662;s:10:\"revertpage\";i:1663;s:17:\"revertpage-nouser\";i:1664;s:16:\"rollback-success\";i:1665;s:20:\"sessionfailure-title\";i:1666;s:14:\"sessionfailure\";i:1667;s:14:\"protectlogpage\";i:1668;s:14:\"protectlogtext\";i:1669;s:16:\"protectedarticle\";i:1670;s:25:\"modifiedarticleprotection\";i:1671;s:18:\"unprotectedarticle\";i:1672;s:22:\"movedarticleprotection\";i:1673;s:13:\"protect-title\";i:1674;s:14:\"prot_1movedto2\";i:1675;s:16:\"protect-backlink\";i:1676;s:14:\"protect-legend\";i:1677;s:14:\"protectcomment\";i:1678;s:13:\"protectexpiry\";i:1679;s:22:\"protect_expiry_invalid\";i:1680;s:18:\"protect_expiry_old\";i:1681;s:27:\"protect-unchain-permissions\";i:1682;s:12:\"protect-text\";i:1683;s:22:\"protect-locked-blocked\";i:1684;s:21:\"protect-locked-dblock\";i:1685;s:21:\"protect-locked-access\";i:1686;s:17:\"protect-cascadeon\";i:1687;s:15:\"protect-default\";i:1688;s:16:\"protect-fallback\";i:1689;s:27:\"protect-level-autoconfirmed\";i:1690;s:19:\"protect-level-sysop\";i:1691;s:23:\"protect-summary-cascade\";i:1692;s:16:\"protect-expiring\";i:1693;s:25:\"protect-expiry-indefinite\";i:1694;s:15:\"protect-cascade\";i:1695;s:16:\"protect-cantedit\";i:1696;s:17:\"protect-othertime\";i:1697;s:20:\"protect-othertime-op\";i:1698;s:23:\"protect-existing-expiry\";i:1699;s:19:\"protect-otherreason\";i:1700;s:22:\"protect-otherreason-op\";i:1701;s:16:\"protect-dropdown\";i:1702;s:23:\"protect-edit-reasonlist\";i:1703;s:22:\"protect-expiry-options\";i:1704;s:16:\"restriction-type\";i:1705;s:17:\"restriction-level\";i:1706;s:12:\"minimum-size\";i:1707;s:12:\"maximum-size\";i:1708;s:8:\"pagesize\";i:1709;s:16:\"restriction-edit\";i:1710;s:16:\"restriction-move\";i:1711;s:18:\"restriction-create\";i:1712;s:18:\"restriction-upload\";i:1713;s:23:\"restriction-level-sysop\";i:1714;s:31:\"restriction-level-autoconfirmed\";i:1715;s:21:\"restriction-level-all\";i:1716;s:8:\"undelete\";i:1717;s:12:\"undeletepage\";i:1718;s:17:\"undeletepagetitle\";i:1719;s:15:\"viewdeletedpage\";i:1720;s:16:\"undeletepagetext\";i:1721;s:23:\"undelete-fieldset-title\";i:1722;s:17:\"undeleteextrahelp\";i:1723;s:17:\"undeleterevisions\";i:1724;s:15:\"undeletehistory\";i:1725;s:14:\"undeleterevdel\";i:1726;s:22:\"undeletehistorynoadmin\";i:1727;s:17:\"undelete-revision\";i:1728;s:24:\"undeleterevision-missing\";i:1729;s:15:\"undelete-nodiff\";i:1730;s:11:\"undeletebtn\";i:1731;s:12:\"undeletelink\";i:1732;s:16:\"undeleteviewlink\";i:1733;s:13:\"undeletereset\";i:1734;s:14:\"undeleteinvert\";i:1735;s:15:\"undeletecomment\";i:1736;s:16:\"undeletedarticle\";i:1737;s:18:\"undeletedrevisions\";i:1738;s:24:\"undeletedrevisions-files\";i:1739;s:14:\"undeletedfiles\";i:1740;s:14:\"cannotundelete\";i:1741;s:13:\"undeletedpage\";i:1742;s:15:\"undelete-header\";i:1743;s:19:\"undelete-search-box\";i:1744;s:22:\"undelete-search-prefix\";i:1745;s:22:\"undelete-search-submit\";i:1746;s:19:\"undelete-no-results\";i:1747;s:26:\"undelete-filename-mismatch\";i:1748;s:22:\"undelete-bad-store-key\";i:1749;s:22:\"undelete-cleanup-error\";i:1750;s:28:\"undelete-missing-filearchive\";i:1751;s:20:\"undelete-error-short\";i:1752;s:19:\"undelete-error-long\";i:1753;s:26:\"undelete-show-file-confirm\";i:1754;s:25:\"undelete-show-file-submit\";i:1755;s:9:\"namespace\";i:1756;s:6:\"invert\";i:1757;s:14:\"tooltip-invert\";i:1758;s:21:\"namespace_association\";i:1759;s:29:\"tooltip-namespace_association\";i:1760;s:14:\"blanknamespace\";i:1761;s:13:\"contributions\";i:1762;s:19:\"contributions-title\";i:1763;s:9:\"mycontris\";i:1764;s:11:\"contribsub2\";i:1765;s:10:\"nocontribs\";i:1766;s:5:\"uctop\";i:1767;s:5:\"month\";i:1768;s:4:\"year\";i:1769;s:24:\"sp-contributions-newbies\";i:1770;s:28:\"sp-contributions-newbies-sub\";i:1771;s:30:\"sp-contributions-newbies-title\";i:1772;s:25:\"sp-contributions-blocklog\";i:1773;s:24:\"sp-contributions-deleted\";i:1774;s:24:\"sp-contributions-uploads\";i:1775;s:21:\"sp-contributions-logs\";i:1776;s:21:\"sp-contributions-talk\";i:1777;s:27:\"sp-contributions-userrights\";i:1778;s:31:\"sp-contributions-blocked-notice\";i:1779;s:36:\"sp-contributions-blocked-notice-anon\";i:1780;s:23:\"sp-contributions-search\";i:1781;s:25:\"sp-contributions-username\";i:1782;s:24:\"sp-contributions-toponly\";i:1783;s:23:\"sp-contributions-submit\";i:1784;s:24:\"sp-contributions-explain\";i:1785;s:23:\"sp-contributions-footer\";i:1786;s:28:\"sp-contributions-footer-anon\";i:1787;s:13:\"whatlinkshere\";i:1788;s:19:\"whatlinkshere-title\";i:1789;s:21:\"whatlinkshere-summary\";i:1790;s:18:\"whatlinkshere-page\";i:1791;s:22:\"whatlinkshere-backlink\";i:1792;s:9:\"linkshere\";i:1793;s:11:\"nolinkshere\";i:1794;s:14:\"nolinkshere-ns\";i:1795;s:10:\"isredirect\";i:1796;s:10:\"istemplate\";i:1797;s:7:\"isimage\";i:1798;s:18:\"whatlinkshere-prev\";i:1799;s:18:\"whatlinkshere-next\";i:1800;s:19:\"whatlinkshere-links\";i:1801;s:24:\"whatlinkshere-hideredirs\";i:1802;s:23:\"whatlinkshere-hidetrans\";i:1803;s:23:\"whatlinkshere-hidelinks\";i:1804;s:24:\"whatlinkshere-hideimages\";i:1805;s:21:\"whatlinkshere-filters\";i:1806;s:11:\"autoblockid\";i:1807;s:5:\"block\";i:1808;s:7:\"unblock\";i:1809;s:7:\"blockip\";i:1810;s:13:\"blockip-title\";i:1811;s:14:\"blockip-legend\";i:1812;s:11:\"blockiptext\";i:1813;s:18:\"ipadressorusername\";i:1814;s:9:\"ipbexpiry\";i:1815;s:9:\"ipbreason\";i:1816;s:18:\"ipbreasonotherlist\";i:1817;s:18:\"ipbreason-dropdown\";i:1818;s:13:\"ipb-hardblock\";i:1819;s:16:\"ipbcreateaccount\";i:1820;s:11:\"ipbemailban\";i:1821;s:18:\"ipbenableautoblock\";i:1822;s:9:\"ipbsubmit\";i:1823;s:8:\"ipbother\";i:1824;s:10:\"ipboptions\";i:1825;s:14:\"ipbotheroption\";i:1826;s:14:\"ipbotherreason\";i:1827;s:11:\"ipbhidename\";i:1828;s:12:\"ipbwatchuser\";i:1829;s:19:\"ipb-disableusertalk\";i:1830;s:16:\"ipb-change-block\";i:1831;s:11:\"ipb-confirm\";i:1832;s:12:\"badipaddress\";i:1833;s:17:\"blockipsuccesssub\";i:1834;s:18:\"blockipsuccesstext\";i:1835;s:16:\"ipb-blockingself\";i:1836;s:19:\"ipb-confirmhideuser\";i:1837;s:17:\"ipb-edit-dropdown\";i:1838;s:16:\"ipb-unblock-addr\";i:1839;s:11:\"ipb-unblock\";i:1840;s:13:\"ipb-blocklist\";i:1841;s:22:\"ipb-blocklist-contribs\";i:1842;s:9:\"unblockip\";i:1843;s:13:\"unblockiptext\";i:1844;s:9:\"ipusubmit\";i:1845;s:9:\"unblocked\";i:1846;s:15:\"unblocked-range\";i:1847;s:12:\"unblocked-id\";i:1848;s:9:\"blocklist\";i:1849;s:11:\"ipblocklist\";i:1850;s:18:\"ipblocklist-legend\";i:1851;s:20:\"blocklist-userblocks\";i:1852;s:20:\"blocklist-tempblocks\";i:1853;s:23:\"blocklist-addressblocks\";i:1854;s:19:\"blocklist-timestamp\";i:1855;s:16:\"blocklist-target\";i:1856;s:16:\"blocklist-expiry\";i:1857;s:12:\"blocklist-by\";i:1858;s:16:\"blocklist-params\";i:1859;s:16:\"blocklist-reason\";i:1860;s:17:\"blocklist-summary\";i:1861;s:18:\"ipblocklist-submit\";i:1862;s:22:\"ipblocklist-localblock\";i:1863;s:23:\"ipblocklist-otherblocks\";i:1864;s:13:\"infiniteblock\";i:1865;s:13:\"expiringblock\";i:1866;s:13:\"anononlyblock\";i:1867;s:16:\"noautoblockblock\";i:1868;s:18:\"createaccountblock\";i:1869;s:10:\"emailblock\";i:1870;s:20:\"blocklist-nousertalk\";i:1871;s:17:\"ipblocklist-empty\";i:1872;s:22:\"ipblocklist-no-results\";i:1873;s:9:\"blocklink\";i:1874;s:11:\"unblocklink\";i:1875;s:16:\"change-blocklink\";i:1876;s:12:\"contribslink\";i:1877;s:11:\"autoblocker\";i:1878;s:12:\"blocklogpage\";i:1879;s:16:\"blocklog-showlog\";i:1880;s:24:\"blocklog-showsuppresslog\";i:1881;s:13:\"blocklogentry\";i:1882;s:16:\"reblock-logentry\";i:1883;s:12:\"blocklogtext\";i:1884;s:15:\"unblocklogentry\";i:1885;s:24:\"block-log-flags-anononly\";i:1886;s:24:\"block-log-flags-nocreate\";i:1887;s:27:\"block-log-flags-noautoblock\";i:1888;s:23:\"block-log-flags-noemail\";i:1889;s:26:\"block-log-flags-nousertalk\";i:1890;s:31:\"block-log-flags-angry-autoblock\";i:1891;s:26:\"block-log-flags-hiddenname\";i:1892;s:20:\"range_block_disabled\";i:1893;s:18:\"ipb_expiry_invalid\";i:1894;s:15:\"ipb_expiry_temp\";i:1895;s:16:\"ipb_hide_invalid\";i:1896;s:19:\"ipb_already_blocked\";i:1897;s:15:\"ipb-needreblock\";i:1898;s:22:\"ipb-otherblocks-header\";i:1899;s:16:\"unblock-hideuser\";i:1900;s:16:\"ipb_cant_unblock\";i:1901;s:20:\"ipb_blocked_as_range\";i:1902;s:16:\"ip_range_invalid\";i:1903;s:17:\"ip_range_toolarge\";i:1904;s:7:\"blockme\";i:1905;s:12:\"proxyblocker\";i:1906;s:21:\"proxyblocker-disabled\";i:1907;s:16:\"proxyblockreason\";i:1908;s:17:\"proxyblocksuccess\";i:1909;s:5:\"sorbs\";i:1910;s:11:\"sorbsreason\";i:1911;s:27:\"sorbs_create_account_reason\";i:1912;s:24:\"cant-block-while-blocked\";i:1913;s:20:\"cant-see-hidden-user\";i:1914;s:10:\"ipbblocked\";i:1915;s:16:\"ipbnounblockself\";i:1916;s:6:\"lockdb\";i:1917;s:8:\"unlockdb\";i:1918;s:10:\"lockdbtext\";i:1919;s:12:\"unlockdbtext\";i:1920;s:11:\"lockconfirm\";i:1921;s:13:\"unlockconfirm\";i:1922;s:7:\"lockbtn\";i:1923;s:9:\"unlockbtn\";i:1924;s:13:\"locknoconfirm\";i:1925;s:16:\"lockdbsuccesssub\";i:1926;s:18:\"unlockdbsuccesssub\";i:1927;s:17:\"lockdbsuccesstext\";i:1928;s:19:\"unlockdbsuccesstext\";i:1929;s:19:\"lockfilenotwritable\";i:1930;s:17:\"databasenotlocked\";i:1931;s:15:\"lockedbyandtime\";i:1932;s:9:\"move-page\";i:1933;s:16:\"move-page-legend\";i:1934;s:12:\"movepagetext\";i:1935;s:28:\"movepagetext-noredirectfixer\";i:1936;s:16:\"movepagetalktext\";i:1937;s:11:\"movearticle\";i:1938;s:20:\"moveuserpage-warning\";i:1939;s:11:\"movenologin\";i:1940;s:15:\"movenologintext\";i:1941;s:14:\"movenotallowed\";i:1942;s:18:\"movenotallowedfile\";i:1943;s:19:\"cant-move-user-page\";i:1944;s:22:\"cant-move-to-user-page\";i:1945;s:8:\"newtitle\";i:1946;s:10:\"move-watch\";i:1947;s:11:\"movepagebtn\";i:1948;s:12:\"pagemovedsub\";i:1949;s:14:\"movepage-moved\";i:1950;s:23:\"movepage-moved-redirect\";i:1951;s:25:\"movepage-moved-noredirect\";i:1952;s:13:\"articleexists\";i:1953;s:23:\"cantmove-titleprotected\";i:1954;s:10:\"talkexists\";i:1955;s:7:\"movedto\";i:1956;s:8:\"movetalk\";i:1957;s:13:\"move-subpages\";i:1958;s:18:\"move-talk-subpages\";i:1959;s:20:\"movepage-page-exists\";i:1960;s:19:\"movepage-page-moved\";i:1961;s:21:\"movepage-page-unmoved\";i:1962;s:18:\"movepage-max-pages\";i:1963;s:9:\"1movedto2\";i:1964;s:15:\"1movedto2_redir\";i:1965;s:24:\"move-redirect-suppressed\";i:1966;s:11:\"movelogpage\";i:1967;s:15:\"movelogpagetext\";i:1968;s:11:\"movesubpage\";i:1969;s:15:\"movesubpagetext\";i:1970;s:13:\"movenosubpage\";i:1971;s:10:\"movereason\";i:1972;s:10:\"revertmove\";i:1973;s:15:\"delete_and_move\";i:1974;s:20:\"delete_and_move_text\";i:1975;s:23:\"delete_and_move_confirm\";i:1976;s:22:\"delete_and_move_reason\";i:1977;s:8:\"selfmove\";i:1978;s:25:\"immobile-source-namespace\";i:1979;s:25:\"immobile-target-namespace\";i:1980;s:28:\"immobile-target-namespace-iw\";i:1981;s:20:\"immobile-source-page\";i:1982;s:20:\"immobile-target-page\";i:1983;s:21:\"imagenocrossnamespace\";i:1984;s:27:\"nonfile-cannot-move-to-file\";i:1985;s:17:\"imagetypemismatch\";i:1986;s:20:\"imageinvalidfilename\";i:1987;s:20:\"fix-double-redirects\";i:1988;s:19:\"move-leave-redirect\";i:1989;s:24:\"protectedpagemovewarning\";i:1990;s:28:\"semiprotectedpagemovewarning\";i:1991;s:20:\"move-over-sharedrepo\";i:1992;s:22:\"file-exists-sharedrepo\";i:1993;s:6:\"export\";i:1994;s:10:\"exporttext\";i:1995;s:13:\"exportcuronly\";i:1996;s:15:\"exportnohistory\";i:1997;s:13:\"export-submit\";i:1998;s:17:\"export-addcattext\";i:1999;s:13:\"export-addcat\";i:2000;s:16:\"export-addnstext\";i:2001;s:12:\"export-addns\";i:2002;s:15:\"export-download\";i:2003;s:16:\"export-templates\";i:2004;s:16:\"export-pagelinks\";i:2005;s:11:\"allmessages\";i:2006;s:15:\"allmessagesname\";i:2007;s:18:\"allmessagesdefault\";i:2008;s:18:\"allmessagescurrent\";i:2009;s:15:\"allmessagestext\";i:2010;s:25:\"allmessagesnotsupportedDB\";i:2011;s:25:\"allmessages-filter-legend\";i:2012;s:18:\"allmessages-filter\";i:2013;s:29:\"allmessages-filter-unmodified\";i:2014;s:22:\"allmessages-filter-all\";i:2015;s:27:\"allmessages-filter-modified\";i:2016;s:18:\"allmessages-prefix\";i:2017;s:20:\"allmessages-language\";i:2018;s:25:\"allmessages-filter-submit\";i:2019;s:14:\"thumbnail-more\";i:2020;s:11:\"filemissing\";i:2021;s:15:\"thumbnail_error\";i:2022;s:15:\"djvu_page_error\";i:2023;s:11:\"djvu_no_xml\";i:2024;s:24:\"thumbnail_invalid_params\";i:2025;s:24:\"thumbnail_dest_directory\";i:2026;s:20:\"thumbnail_image-type\";i:2027;s:20:\"thumbnail_gd-library\";i:2028;s:23:\"thumbnail_image-missing\";i:2029;s:6:\"import\";i:2030;s:15:\"importinterwiki\";i:2031;s:21:\"import-interwiki-text\";i:2032;s:23:\"import-interwiki-source\";i:2033;s:24:\"import-interwiki-history\";i:2034;s:26:\"import-interwiki-templates\";i:2035;s:23:\"import-interwiki-submit\";i:2036;s:26:\"import-interwiki-namespace\";i:2037;s:22:\"import-upload-filename\";i:2038;s:14:\"import-comment\";i:2039;s:10:\"importtext\";i:2040;s:11:\"importstart\";i:2041;s:21:\"import-revision-count\";i:2042;s:13:\"importnopages\";i:2043;s:20:\"imported-log-entries\";i:2044;s:12:\"importfailed\";i:2045;s:19:\"importunknownsource\";i:2046;s:14:\"importcantopen\";i:2047;s:18:\"importbadinterwiki\";i:2048;s:12:\"importnotext\";i:2049;s:13:\"importsuccess\";i:2050;s:21:\"importhistoryconflict\";i:2051;s:15:\"importnosources\";i:2052;s:12:\"importnofile\";i:2053;s:21:\"importuploaderrorsize\";i:2054;s:24:\"importuploaderrorpartial\";i:2055;s:21:\"importuploaderrortemp\";i:2056;s:20:\"import-parse-failure\";i:2057;s:16:\"import-noarticle\";i:2058;s:21:\"import-nonewrevisions\";i:2059;s:16:\"xml-error-string\";i:2060;s:13:\"import-upload\";i:2061;s:21:\"import-token-mismatch\";i:2062;s:24:\"import-invalid-interwiki\";i:2063;s:13:\"importlogpage\";i:2064;s:17:\"importlogpagetext\";i:2065;s:22:\"import-logentry-upload\";i:2066;s:29:\"import-logentry-upload-detail\";i:2067;s:25:\"import-logentry-interwiki\";i:2068;s:32:\"import-logentry-interwiki-detail\";i:2069;s:21:\"accesskey-pt-userpage\";i:2070;s:25:\"accesskey-pt-anonuserpage\";i:2071;s:19:\"accesskey-pt-mytalk\";i:2072;s:21:\"accesskey-pt-anontalk\";i:2073;s:24:\"accesskey-pt-preferences\";i:2074;s:22:\"accesskey-pt-watchlist\";i:2075;s:22:\"accesskey-pt-mycontris\";i:2076;s:18:\"accesskey-pt-login\";i:2077;s:22:\"accesskey-pt-anonlogin\";i:2078;s:19:\"accesskey-pt-logout\";i:2079;s:17:\"accesskey-ca-talk\";i:2080;s:17:\"accesskey-ca-edit\";i:2081;s:23:\"accesskey-ca-addsection\";i:2082;s:23:\"accesskey-ca-viewsource\";i:2083;s:20:\"accesskey-ca-history\";i:2084;s:20:\"accesskey-ca-protect\";i:2085;s:22:\"accesskey-ca-unprotect\";i:2086;s:19:\"accesskey-ca-delete\";i:2087;s:21:\"accesskey-ca-undelete\";i:2088;s:17:\"accesskey-ca-move\";i:2089;s:18:\"accesskey-ca-watch\";i:2090;s:20:\"accesskey-ca-unwatch\";i:2091;s:16:\"accesskey-search\";i:2092;s:19:\"accesskey-search-go\";i:2093;s:25:\"accesskey-search-fulltext\";i:2094;s:16:\"accesskey-p-logo\";i:2095;s:20:\"accesskey-n-mainpage\";i:2096;s:32:\"accesskey-n-mainpage-description\";i:2097;s:18:\"accesskey-n-portal\";i:2098;s:25:\"accesskey-n-currentevents\";i:2099;s:25:\"accesskey-n-recentchanges\";i:2100;s:22:\"accesskey-n-randompage\";i:2101;s:16:\"accesskey-n-help\";i:2102;s:25:\"accesskey-t-whatlinkshere\";i:2103;s:31:\"accesskey-t-recentchangeslinked\";i:2104;s:18:\"accesskey-feed-rss\";i:2105;s:19:\"accesskey-feed-atom\";i:2106;s:25:\"accesskey-t-contributions\";i:2107;s:21:\"accesskey-t-emailuser\";i:2108;s:21:\"accesskey-t-permalink\";i:2109;s:17:\"accesskey-t-print\";i:2110;s:18:\"accesskey-t-upload\";i:2111;s:24:\"accesskey-t-specialpages\";i:2112;s:23:\"accesskey-ca-nstab-main\";i:2113;s:23:\"accesskey-ca-nstab-user\";i:2114;s:24:\"accesskey-ca-nstab-media\";i:2115;s:26:\"accesskey-ca-nstab-special\";i:2116;s:26:\"accesskey-ca-nstab-project\";i:2117;s:24:\"accesskey-ca-nstab-image\";i:2118;s:28:\"accesskey-ca-nstab-mediawiki\";i:2119;s:27:\"accesskey-ca-nstab-template\";i:2120;s:23:\"accesskey-ca-nstab-help\";i:2121;s:27:\"accesskey-ca-nstab-category\";i:2122;s:19:\"accesskey-minoredit\";i:2123;s:14:\"accesskey-save\";i:2124;s:17:\"accesskey-preview\";i:2125;s:14:\"accesskey-diff\";i:2126;s:33:\"accesskey-compareselectedversions\";i:2127;s:15:\"accesskey-watch\";i:2128;s:16:\"accesskey-upload\";i:2129;s:26:\"accesskey-preferences-save\";i:2130;s:17:\"accesskey-summary\";i:2131;s:24:\"accesskey-userrights-set\";i:2132;s:23:\"accesskey-blockip-block\";i:2133;s:16:\"accesskey-export\";i:2134;s:16:\"accesskey-import\";i:2135;s:19:\"tooltip-pt-userpage\";i:2136;s:23:\"tooltip-pt-anonuserpage\";i:2137;s:17:\"tooltip-pt-mytalk\";i:2138;s:19:\"tooltip-pt-anontalk\";i:2139;s:22:\"tooltip-pt-preferences\";i:2140;s:20:\"tooltip-pt-watchlist\";i:2141;s:20:\"tooltip-pt-mycontris\";i:2142;s:16:\"tooltip-pt-login\";i:2143;s:20:\"tooltip-pt-anonlogin\";i:2144;s:17:\"tooltip-pt-logout\";i:2145;s:15:\"tooltip-ca-talk\";i:2146;s:15:\"tooltip-ca-edit\";i:2147;s:21:\"tooltip-ca-addsection\";i:2148;s:21:\"tooltip-ca-viewsource\";i:2149;s:18:\"tooltip-ca-history\";i:2150;s:18:\"tooltip-ca-protect\";i:2151;s:20:\"tooltip-ca-unprotect\";i:2152;s:17:\"tooltip-ca-delete\";i:2153;s:19:\"tooltip-ca-undelete\";i:2154;s:15:\"tooltip-ca-move\";i:2155;s:16:\"tooltip-ca-watch\";i:2156;s:18:\"tooltip-ca-unwatch\";i:2157;s:14:\"tooltip-search\";i:2158;s:17:\"tooltip-search-go\";i:2159;s:23:\"tooltip-search-fulltext\";i:2160;s:14:\"tooltip-p-logo\";i:2161;s:18:\"tooltip-n-mainpage\";i:2162;s:30:\"tooltip-n-mainpage-description\";i:2163;s:16:\"tooltip-n-portal\";i:2164;s:23:\"tooltip-n-currentevents\";i:2165;s:23:\"tooltip-n-recentchanges\";i:2166;s:20:\"tooltip-n-randompage\";i:2167;s:14:\"tooltip-n-help\";i:2168;s:23:\"tooltip-t-whatlinkshere\";i:2169;s:29:\"tooltip-t-recentchangeslinked\";i:2170;s:16:\"tooltip-feed-rss\";i:2171;s:17:\"tooltip-feed-atom\";i:2172;s:23:\"tooltip-t-contributions\";i:2173;s:19:\"tooltip-t-emailuser\";i:2174;s:16:\"tooltip-t-upload\";i:2175;s:22:\"tooltip-t-specialpages\";i:2176;s:15:\"tooltip-t-print\";i:2177;s:19:\"tooltip-t-permalink\";i:2178;s:21:\"tooltip-ca-nstab-main\";i:2179;s:21:\"tooltip-ca-nstab-user\";i:2180;s:22:\"tooltip-ca-nstab-media\";i:2181;s:24:\"tooltip-ca-nstab-special\";i:2182;s:24:\"tooltip-ca-nstab-project\";i:2183;s:22:\"tooltip-ca-nstab-image\";i:2184;s:26:\"tooltip-ca-nstab-mediawiki\";i:2185;s:25:\"tooltip-ca-nstab-template\";i:2186;s:21:\"tooltip-ca-nstab-help\";i:2187;s:25:\"tooltip-ca-nstab-category\";i:2188;s:17:\"tooltip-minoredit\";i:2189;s:12:\"tooltip-save\";i:2190;s:15:\"tooltip-preview\";i:2191;s:12:\"tooltip-diff\";i:2192;s:31:\"tooltip-compareselectedversions\";i:2193;s:13:\"tooltip-watch\";i:2194;s:16:\"tooltip-recreate\";i:2195;s:14:\"tooltip-upload\";i:2196;s:16:\"tooltip-rollback\";i:2197;s:12:\"tooltip-undo\";i:2198;s:24:\"tooltip-preferences-save\";i:2199;s:15:\"tooltip-summary\";i:2200;s:10:\"common.css\";i:2201;s:12:\"standard.css\";i:2202;s:13:\"nostalgia.css\";i:2203;s:15:\"cologneblue.css\";i:2204;s:12:\"monobook.css\";i:2205;s:10:\"myskin.css\";i:2206;s:9:\"chick.css\";i:2207;s:10:\"simple.css\";i:2208;s:10:\"modern.css\";i:2209;s:10:\"vector.css\";i:2210;s:9:\"print.css\";i:2211;s:12:\"handheld.css\";i:2212;s:12:\"noscript.css\";i:2213;s:23:\"group-autoconfirmed.css\";i:2214;s:13:\"group-bot.css\";i:2215;s:15:\"group-sysop.css\";i:2216;s:20:\"group-bureaucrat.css\";i:2217;s:9:\"common.js\";i:2218;s:11:\"standard.js\";i:2219;s:12:\"nostalgia.js\";i:2220;s:14:\"cologneblue.js\";i:2221;s:11:\"monobook.js\";i:2222;s:9:\"myskin.js\";i:2223;s:8:\"chick.js\";i:2224;s:9:\"simple.js\";i:2225;s:9:\"modern.js\";i:2226;s:9:\"vector.js\";i:2227;s:22:\"group-autoconfirmed.js\";i:2228;s:12:\"group-bot.js\";i:2229;s:14:\"group-sysop.js\";i:2230;s:19:\"group-bureaucrat.js\";i:2231;s:13:\"notacceptable\";i:2232;s:9:\"anonymous\";i:2233;s:8:\"siteuser\";i:2234;s:8:\"anonuser\";i:2235;s:16:\"lastmodifiedatby\";i:2236;s:13:\"othercontribs\";i:2237;s:6:\"others\";i:2238;s:9:\"siteusers\";i:2239;s:9:\"anonusers\";i:2240;s:11:\"creditspage\";i:2241;s:9:\"nocredits\";i:2242;s:19:\"spamprotectiontitle\";i:2243;s:18:\"spamprotectiontext\";i:2244;s:19:\"spamprotectionmatch\";i:2245;s:16:\"spambot_username\";i:2246;s:14:\"spam_reverting\";i:2247;s:13:\"spam_blanking\";i:2248;s:14:\"pageinfo-title\";i:2249;s:21:\"pageinfo-header-edits\";i:2250;s:25:\"pageinfo-header-watchlist\";i:2251;s:21:\"pageinfo-header-views\";i:2252;s:20:\"pageinfo-subjectpage\";i:2253;s:17:\"pageinfo-talkpage\";i:2254;s:17:\"pageinfo-watchers\";i:2255;s:14:\"pageinfo-edits\";i:2256;s:16:\"pageinfo-authors\";i:2257;s:14:\"pageinfo-views\";i:2258;s:21:\"pageinfo-viewsperedit\";i:2259;s:17:\"skinname-standard\";i:2260;s:18:\"skinname-nostalgia\";i:2261;s:20:\"skinname-cologneblue\";i:2262;s:17:\"skinname-monobook\";i:2263;s:15:\"skinname-myskin\";i:2264;s:14:\"skinname-chick\";i:2265;s:15:\"skinname-simple\";i:2266;s:15:\"skinname-modern\";i:2267;s:15:\"skinname-vector\";i:2268;s:19:\"markaspatrolleddiff\";i:2269;s:19:\"markaspatrolledlink\";i:2270;s:19:\"markaspatrolledtext\";i:2271;s:17:\"markedaspatrolled\";i:2272;s:21:\"markedaspatrolledtext\";i:2273;s:16:\"rcpatroldisabled\";i:2274;s:20:\"rcpatroldisabledtext\";i:2275;s:22:\"markedaspatrollederror\";i:2276;s:26:\"markedaspatrollederrortext\";i:2277;s:35:\"markedaspatrollederror-noautopatrol\";i:2278;s:15:\"patrol-log-page\";i:2279;s:17:\"patrol-log-header\";i:2280;s:15:\"patrol-log-line\";i:2281;s:15:\"patrol-log-auto\";i:2282;s:15:\"patrol-log-diff\";i:2283;s:20:\"log-show-hide-patrol\";i:2284;s:15:\"deletedrevision\";i:2285;s:21:\"filedeleteerror-short\";i:2286;s:20:\"filedeleteerror-long\";i:2287;s:18:\"filedelete-missing\";i:2288;s:27:\"filedelete-old-unregistered\";i:2289;s:31:\"filedelete-current-unregistered\";i:2290;s:28:\"filedelete-archive-read-only\";i:2291;s:12:\"previousdiff\";i:2292;s:8:\"nextdiff\";i:2293;s:12:\"mediawarning\";i:2294;s:12:\"imagemaxsize\";i:2295;s:9:\"thumbsize\";i:2296;s:11:\"widthheight\";i:2297;s:15:\"widthheightpage\";i:2298;s:9:\"file-info\";i:2299;s:14:\"file-info-size\";i:2300;s:20:\"file-info-size-pages\";i:2301;s:12:\"file-nohires\";i:2302;s:13:\"svg-long-desc\";i:2303;s:14:\"show-big-image\";i:2304;s:22:\"show-big-image-preview\";i:2305;s:20:\"show-big-image-other\";i:2306;s:19:\"show-big-image-size\";i:2307;s:20:\"file-info-gif-looped\";i:2308;s:20:\"file-info-gif-frames\";i:2309;s:20:\"file-info-png-looped\";i:2310;s:20:\"file-info-png-repeat\";i:2311;s:20:\"file-info-png-frames\";i:2312;s:9:\"newimages\";i:2313;s:13:\"imagelisttext\";i:2314;s:17:\"newimages-summary\";i:2315;s:16:\"newimages-legend\";i:2316;s:15:\"newimages-label\";i:2317;s:12:\"showhidebots\";i:2318;s:8:\"noimages\";i:2319;s:8:\"ilsubmit\";i:2320;s:6:\"bydate\";i:2321;s:21:\"sp-newimages-showfrom\";i:2322;s:10:\"video-dims\";i:2323;s:14:\"seconds-abbrev\";i:2324;s:14:\"minutes-abbrev\";i:2325;s:12:\"hours-abbrev\";i:2326;s:11:\"days-abbrev\";i:2327;s:14:\"bad_image_list\";i:2328;s:19:\"variantname-zh-hans\";i:2329;s:19:\"variantname-zh-hant\";i:2330;s:17:\"variantname-zh-cn\";i:2331;s:17:\"variantname-zh-tw\";i:2332;s:17:\"variantname-zh-hk\";i:2333;s:17:\"variantname-zh-mo\";i:2334;s:17:\"variantname-zh-sg\";i:2335;s:17:\"variantname-zh-my\";i:2336;s:14:\"variantname-zh\";i:2337;s:20:\"variantname-gan-hans\";i:2338;s:20:\"variantname-gan-hant\";i:2339;s:15:\"variantname-gan\";i:2340;s:17:\"variantname-sr-ec\";i:2341;s:17:\"variantname-sr-el\";i:2342;s:14:\"variantname-sr\";i:2343;s:17:\"variantname-kk-kz\";i:2344;s:17:\"variantname-kk-tr\";i:2345;s:17:\"variantname-kk-cn\";i:2346;s:19:\"variantname-kk-cyrl\";i:2347;s:19:\"variantname-kk-latn\";i:2348;s:19:\"variantname-kk-arab\";i:2349;s:14:\"variantname-kk\";i:2350;s:19:\"variantname-ku-arab\";i:2351;s:19:\"variantname-ku-latn\";i:2352;s:14:\"variantname-ku\";i:2353;s:19:\"variantname-tg-cyrl\";i:2354;s:19:\"variantname-tg-latn\";i:2355;s:14:\"variantname-tg\";i:2356;s:20:\"variantname-ike-cans\";i:2357;s:20:\"variantname-ike-latn\";i:2358;s:14:\"variantname-iu\";i:2359;s:8:\"metadata\";i:2360;s:13:\"metadata-help\";i:2361;s:15:\"metadata-expand\";i:2362;s:17:\"metadata-collapse\";i:2363;s:15:\"metadata-fields\";i:2364;s:17:\"metadata-langitem\";i:2365;s:25:\"metadata-langitem-default\";i:2366;s:15:\"exif-imagewidth\";i:2367;s:16:\"exif-imagelength\";i:2368;s:18:\"exif-bitspersample\";i:2369;s:16:\"exif-compression\";i:2370;s:30:\"exif-photometricinterpretation\";i:2371;s:16:\"exif-orientation\";i:2372;s:20:\"exif-samplesperpixel\";i:2373;s:24:\"exif-planarconfiguration\";i:2374;s:21:\"exif-ycbcrsubsampling\";i:2375;s:21:\"exif-ycbcrpositioning\";i:2376;s:16:\"exif-xresolution\";i:2377;s:16:\"exif-yresolution\";i:2378;s:17:\"exif-stripoffsets\";i:2379;s:17:\"exif-rowsperstrip\";i:2380;s:20:\"exif-stripbytecounts\";i:2381;s:26:\"exif-jpeginterchangeformat\";i:2382;s:32:\"exif-jpeginterchangeformatlength\";i:2383;s:15:\"exif-whitepoint\";i:2384;s:26:\"exif-primarychromaticities\";i:2385;s:22:\"exif-ycbcrcoefficients\";i:2386;s:24:\"exif-referenceblackwhite\";i:2387;s:13:\"exif-datetime\";i:2388;s:21:\"exif-imagedescription\";i:2389;s:9:\"exif-make\";i:2390;s:10:\"exif-model\";i:2391;s:13:\"exif-software\";i:2392;s:11:\"exif-artist\";i:2393;s:14:\"exif-copyright\";i:2394;s:16:\"exif-exifversion\";i:2395;s:20:\"exif-flashpixversion\";i:2396;s:15:\"exif-colorspace\";i:2397;s:28:\"exif-componentsconfiguration\";i:2398;s:27:\"exif-compressedbitsperpixel\";i:2399;s:20:\"exif-pixelydimension\";i:2400;s:20:\"exif-pixelxdimension\";i:2401;s:16:\"exif-usercomment\";i:2402;s:21:\"exif-relatedsoundfile\";i:2403;s:21:\"exif-datetimeoriginal\";i:2404;s:22:\"exif-datetimedigitized\";i:2405;s:15:\"exif-subsectime\";i:2406;s:23:\"exif-subsectimeoriginal\";i:2407;s:24:\"exif-subsectimedigitized\";i:2408;s:17:\"exif-exposuretime\";i:2409;s:24:\"exif-exposuretime-format\";i:2410;s:12:\"exif-fnumber\";i:2411;s:19:\"exif-fnumber-format\";i:2412;s:20:\"exif-exposureprogram\";i:2413;s:24:\"exif-spectralsensitivity\";i:2414;s:20:\"exif-isospeedratings\";i:2415;s:22:\"exif-shutterspeedvalue\";i:2416;s:18:\"exif-aperturevalue\";i:2417;s:20:\"exif-brightnessvalue\";i:2418;s:22:\"exif-exposurebiasvalue\";i:2419;s:21:\"exif-maxaperturevalue\";i:2420;s:20:\"exif-subjectdistance\";i:2421;s:17:\"exif-meteringmode\";i:2422;s:16:\"exif-lightsource\";i:2423;s:10:\"exif-flash\";i:2424;s:16:\"exif-focallength\";i:2425;s:23:\"exif-focallength-format\";i:2426;s:16:\"exif-subjectarea\";i:2427;s:16:\"exif-flashenergy\";i:2428;s:26:\"exif-focalplanexresolution\";i:2429;s:26:\"exif-focalplaneyresolution\";i:2430;s:29:\"exif-focalplaneresolutionunit\";i:2431;s:20:\"exif-subjectlocation\";i:2432;s:18:\"exif-exposureindex\";i:2433;s:18:\"exif-sensingmethod\";i:2434;s:15:\"exif-filesource\";i:2435;s:14:\"exif-scenetype\";i:2436;s:19:\"exif-customrendered\";i:2437;s:17:\"exif-exposuremode\";i:2438;s:17:\"exif-whitebalance\";i:2439;s:21:\"exif-digitalzoomratio\";i:2440;s:26:\"exif-focallengthin35mmfilm\";i:2441;s:21:\"exif-scenecapturetype\";i:2442;s:16:\"exif-gaincontrol\";i:2443;s:13:\"exif-contrast\";i:2444;s:15:\"exif-saturation\";i:2445;s:14:\"exif-sharpness\";i:2446;s:29:\"exif-devicesettingdescription\";i:2447;s:25:\"exif-subjectdistancerange\";i:2448;s:18:\"exif-imageuniqueid\";i:2449;s:17:\"exif-gpsversionid\";i:2450;s:19:\"exif-gpslatituderef\";i:2451;s:16:\"exif-gpslatitude\";i:2452;s:20:\"exif-gpslongituderef\";i:2453;s:17:\"exif-gpslongitude\";i:2454;s:19:\"exif-gpsaltituderef\";i:2455;s:16:\"exif-gpsaltitude\";i:2456;s:17:\"exif-gpstimestamp\";i:2457;s:18:\"exif-gpssatellites\";i:2458;s:14:\"exif-gpsstatus\";i:2459;s:19:\"exif-gpsmeasuremode\";i:2460;s:11:\"exif-gpsdop\";i:2461;s:16:\"exif-gpsspeedref\";i:2462;s:13:\"exif-gpsspeed\";i:2463;s:16:\"exif-gpstrackref\";i:2464;s:13:\"exif-gpstrack\";i:2465;s:23:\"exif-gpsimgdirectionref\";i:2466;s:20:\"exif-gpsimgdirection\";i:2467;s:16:\"exif-gpsmapdatum\";i:2468;s:23:\"exif-gpsdestlatituderef\";i:2469;s:20:\"exif-gpsdestlatitude\";i:2470;s:24:\"exif-gpsdestlongituderef\";i:2471;s:21:\"exif-gpsdestlongitude\";i:2472;s:22:\"exif-gpsdestbearingref\";i:2473;s:19:\"exif-gpsdestbearing\";i:2474;s:23:\"exif-gpsdestdistanceref\";i:2475;s:20:\"exif-gpsdestdistance\";i:2476;s:24:\"exif-gpsprocessingmethod\";i:2477;s:23:\"exif-gpsareainformation\";i:2478;s:17:\"exif-gpsdatestamp\";i:2479;s:20:\"exif-gpsdifferential\";i:2480;s:22:\"exif-coordinate-format\";i:2481;s:20:\"exif-jpegfilecomment\";i:2482;s:13:\"exif-keywords\";i:2483;s:23:\"exif-worldregioncreated\";i:2484;s:19:\"exif-countrycreated\";i:2485;s:23:\"exif-countrycodecreated\";i:2486;s:27:\"exif-provinceorstatecreated\";i:2487;s:16:\"exif-citycreated\";i:2488;s:23:\"exif-sublocationcreated\";i:2489;s:20:\"exif-worldregiondest\";i:2490;s:16:\"exif-countrydest\";i:2491;s:20:\"exif-countrycodedest\";i:2492;s:24:\"exif-provinceorstatedest\";i:2493;s:13:\"exif-citydest\";i:2494;s:20:\"exif-sublocationdest\";i:2495;s:15:\"exif-objectname\";i:2496;s:24:\"exif-specialinstructions\";i:2497;s:13:\"exif-headline\";i:2498;s:11:\"exif-credit\";i:2499;s:11:\"exif-source\";i:2500;s:15:\"exif-editstatus\";i:2501;s:12:\"exif-urgency\";i:2502;s:22:\"exif-fixtureidentifier\";i:2503;s:17:\"exif-locationdest\";i:2504;s:21:\"exif-locationdestcode\";i:2505;s:16:\"exif-objectcycle\";i:2506;s:12:\"exif-contact\";i:2507;s:11:\"exif-writer\";i:2508;s:17:\"exif-languagecode\";i:2509;s:15:\"exif-iimversion\";i:2510;s:16:\"exif-iimcategory\";i:2511;s:28:\"exif-iimsupplementalcategory\";i:2512;s:20:\"exif-datetimeexpires\";i:2513;s:21:\"exif-datetimereleased\";i:2514;s:28:\"exif-originaltransmissionref\";i:2515;s:15:\"exif-identifier\";i:2516;s:9:\"exif-lens\";i:2517;s:17:\"exif-serialnumber\";i:2518;s:20:\"exif-cameraownername\";i:2519;s:10:\"exif-label\";i:2520;s:21:\"exif-datetimemetadata\";i:2521;s:13:\"exif-nickname\";i:2522;s:11:\"exif-rating\";i:2523;s:22:\"exif-rightscertificate\";i:2524;s:16:\"exif-copyrighted\";i:2525;s:19:\"exif-copyrightowner\";i:2526;s:15:\"exif-usageterms\";i:2527;s:17:\"exif-webstatement\";i:2528;s:23:\"exif-originaldocumentid\";i:2529;s:15:\"exif-licenseurl\";i:2530;s:23:\"exif-morepermissionsurl\";i:2531;s:19:\"exif-attributionurl\";i:2532;s:29:\"exif-preferredattributionname\";i:2533;s:19:\"exif-pngfilecomment\";i:2534;s:15:\"exif-disclaimer\";i:2535;s:19:\"exif-contentwarning\";i:2536;s:19:\"exif-giffilecomment\";i:2537;s:22:\"exif-intellectualgenre\";i:2538;s:20:\"exif-subjectnewscode\";i:2539;s:14:\"exif-scenecode\";i:2540;s:10:\"exif-event\";i:2541;s:24:\"exif-organisationinimage\";i:2542;s:18:\"exif-personinimage\";i:2543;s:24:\"exif-originalimageheight\";i:2544;s:23:\"exif-originalimagewidth\";i:2545;s:15:\"exif-make-value\";i:2546;s:16:\"exif-model-value\";i:2547;s:19:\"exif-software-value\";i:2548;s:27:\"exif-software-version-value\";i:2549;s:18:\"exif-contact-value\";i:2550;s:26:\"exif-subjectnewscode-value\";i:2551;s:18:\"exif-compression-1\";i:2552;s:18:\"exif-compression-2\";i:2553;s:18:\"exif-compression-3\";i:2554;s:18:\"exif-compression-4\";i:2555;s:18:\"exif-compression-5\";i:2556;s:18:\"exif-compression-6\";i:2557;s:18:\"exif-compression-7\";i:2558;s:18:\"exif-compression-8\";i:2559;s:22:\"exif-compression-32773\";i:2560;s:22:\"exif-compression-32946\";i:2561;s:22:\"exif-compression-34712\";i:2562;s:21:\"exif-copyrighted-true\";i:2563;s:22:\"exif-copyrighted-false\";i:2564;s:32:\"exif-photometricinterpretation-2\";i:2565;s:32:\"exif-photometricinterpretation-6\";i:2566;s:16:\"exif-unknowndate\";i:2567;s:18:\"exif-orientation-1\";i:2568;s:18:\"exif-orientation-2\";i:2569;s:18:\"exif-orientation-3\";i:2570;s:18:\"exif-orientation-4\";i:2571;s:18:\"exif-orientation-5\";i:2572;s:18:\"exif-orientation-6\";i:2573;s:18:\"exif-orientation-7\";i:2574;s:18:\"exif-orientation-8\";i:2575;s:26:\"exif-planarconfiguration-1\";i:2576;s:26:\"exif-planarconfiguration-2\";i:2577;s:19:\"exif-xyresolution-i\";i:2578;s:19:\"exif-xyresolution-c\";i:2579;s:17:\"exif-colorspace-1\";i:2580;s:21:\"exif-colorspace-65535\";i:2581;s:30:\"exif-componentsconfiguration-0\";i:2582;s:30:\"exif-componentsconfiguration-1\";i:2583;s:30:\"exif-componentsconfiguration-2\";i:2584;s:30:\"exif-componentsconfiguration-3\";i:2585;s:30:\"exif-componentsconfiguration-4\";i:2586;s:30:\"exif-componentsconfiguration-5\";i:2587;s:30:\"exif-componentsconfiguration-6\";i:2588;s:22:\"exif-exposureprogram-0\";i:2589;s:22:\"exif-exposureprogram-1\";i:2590;s:22:\"exif-exposureprogram-2\";i:2591;s:22:\"exif-exposureprogram-3\";i:2592;s:22:\"exif-exposureprogram-4\";i:2593;s:22:\"exif-exposureprogram-5\";i:2594;s:22:\"exif-exposureprogram-6\";i:2595;s:22:\"exif-exposureprogram-7\";i:2596;s:22:\"exif-exposureprogram-8\";i:2597;s:26:\"exif-subjectdistance-value\";i:2598;s:19:\"exif-meteringmode-0\";i:2599;s:19:\"exif-meteringmode-1\";i:2600;s:19:\"exif-meteringmode-2\";i:2601;s:19:\"exif-meteringmode-3\";i:2602;s:19:\"exif-meteringmode-4\";i:2603;s:19:\"exif-meteringmode-5\";i:2604;s:19:\"exif-meteringmode-6\";i:2605;s:21:\"exif-meteringmode-255\";i:2606;s:18:\"exif-lightsource-0\";i:2607;s:18:\"exif-lightsource-1\";i:2608;s:18:\"exif-lightsource-2\";i:2609;s:18:\"exif-lightsource-3\";i:2610;s:18:\"exif-lightsource-4\";i:2611;s:18:\"exif-lightsource-9\";i:2612;s:19:\"exif-lightsource-10\";i:2613;s:19:\"exif-lightsource-11\";i:2614;s:19:\"exif-lightsource-12\";i:2615;s:19:\"exif-lightsource-13\";i:2616;s:19:\"exif-lightsource-14\";i:2617;s:19:\"exif-lightsource-15\";i:2618;s:19:\"exif-lightsource-17\";i:2619;s:19:\"exif-lightsource-18\";i:2620;s:19:\"exif-lightsource-19\";i:2621;s:19:\"exif-lightsource-20\";i:2622;s:19:\"exif-lightsource-21\";i:2623;s:19:\"exif-lightsource-22\";i:2624;s:19:\"exif-lightsource-23\";i:2625;s:19:\"exif-lightsource-24\";i:2626;s:20:\"exif-lightsource-255\";i:2627;s:18:\"exif-flash-fired-0\";i:2628;s:18:\"exif-flash-fired-1\";i:2629;s:19:\"exif-flash-return-0\";i:2630;s:19:\"exif-flash-return-2\";i:2631;s:19:\"exif-flash-return-3\";i:2632;s:17:\"exif-flash-mode-1\";i:2633;s:17:\"exif-flash-mode-2\";i:2634;s:17:\"exif-flash-mode-3\";i:2635;s:21:\"exif-flash-function-1\";i:2636;s:19:\"exif-flash-redeye-1\";i:2637;s:31:\"exif-focalplaneresolutionunit-2\";i:2638;s:20:\"exif-sensingmethod-1\";i:2639;s:20:\"exif-sensingmethod-2\";i:2640;s:20:\"exif-sensingmethod-3\";i:2641;s:20:\"exif-sensingmethod-4\";i:2642;s:20:\"exif-sensingmethod-5\";i:2643;s:20:\"exif-sensingmethod-7\";i:2644;s:20:\"exif-sensingmethod-8\";i:2645;s:17:\"exif-filesource-3\";i:2646;s:16:\"exif-scenetype-1\";i:2647;s:21:\"exif-customrendered-0\";i:2648;s:21:\"exif-customrendered-1\";i:2649;s:19:\"exif-exposuremode-0\";i:2650;s:19:\"exif-exposuremode-1\";i:2651;s:19:\"exif-exposuremode-2\";i:2652;s:19:\"exif-whitebalance-0\";i:2653;s:19:\"exif-whitebalance-1\";i:2654;s:23:\"exif-scenecapturetype-0\";i:2655;s:23:\"exif-scenecapturetype-1\";i:2656;s:23:\"exif-scenecapturetype-2\";i:2657;s:23:\"exif-scenecapturetype-3\";i:2658;s:18:\"exif-gaincontrol-0\";i:2659;s:18:\"exif-gaincontrol-1\";i:2660;s:18:\"exif-gaincontrol-2\";i:2661;s:18:\"exif-gaincontrol-3\";i:2662;s:18:\"exif-gaincontrol-4\";i:2663;s:15:\"exif-contrast-0\";i:2664;s:15:\"exif-contrast-1\";i:2665;s:15:\"exif-contrast-2\";i:2666;s:17:\"exif-saturation-0\";i:2667;s:17:\"exif-saturation-1\";i:2668;s:17:\"exif-saturation-2\";i:2669;s:16:\"exif-sharpness-0\";i:2670;s:16:\"exif-sharpness-1\";i:2671;s:16:\"exif-sharpness-2\";i:2672;s:27:\"exif-subjectdistancerange-0\";i:2673;s:27:\"exif-subjectdistancerange-1\";i:2674;s:27:\"exif-subjectdistancerange-2\";i:2675;s:27:\"exif-subjectdistancerange-3\";i:2676;s:18:\"exif-gpslatitude-n\";i:2677;s:18:\"exif-gpslatitude-s\";i:2678;s:19:\"exif-gpslongitude-e\";i:2679;s:19:\"exif-gpslongitude-w\";i:2680;s:31:\"exif-gpsaltitude-above-sealevel\";i:2681;s:31:\"exif-gpsaltitude-below-sealevel\";i:2682;s:16:\"exif-gpsstatus-a\";i:2683;s:16:\"exif-gpsstatus-v\";i:2684;s:21:\"exif-gpsmeasuremode-2\";i:2685;s:21:\"exif-gpsmeasuremode-3\";i:2686;s:15:\"exif-gpsspeed-k\";i:2687;s:15:\"exif-gpsspeed-m\";i:2688;s:15:\"exif-gpsspeed-n\";i:2689;s:22:\"exif-gpsdestdistance-k\";i:2690;s:22:\"exif-gpsdestdistance-m\";i:2691;s:22:\"exif-gpsdestdistance-n\";i:2692;s:21:\"exif-gpsdop-excellent\";i:2693;s:16:\"exif-gpsdop-good\";i:2694;s:20:\"exif-gpsdop-moderate\";i:2695;s:16:\"exif-gpsdop-fair\";i:2696;s:16:\"exif-gpsdop-poor\";i:2697;s:18:\"exif-objectcycle-a\";i:2698;s:18:\"exif-objectcycle-p\";i:2699;s:18:\"exif-objectcycle-b\";i:2700;s:19:\"exif-gpsdirection-t\";i:2701;s:19:\"exif-gpsdirection-m\";i:2702;s:23:\"exif-ycbcrpositioning-1\";i:2703;s:23:\"exif-ycbcrpositioning-2\";i:2704;s:19:\"exif-dc-contributor\";i:2705;s:16:\"exif-dc-coverage\";i:2706;s:12:\"exif-dc-date\";i:2707;s:17:\"exif-dc-publisher\";i:2708;s:16:\"exif-dc-relation\";i:2709;s:14:\"exif-dc-rights\";i:2710;s:14:\"exif-dc-source\";i:2711;s:12:\"exif-dc-type\";i:2712;s:20:\"exif-rating-rejected\";i:2713;s:29:\"exif-isospeedratings-overflow\";i:2714;s:27:\"exif-maxaperturevalue-value\";i:2715;s:20:\"exif-iimcategory-ace\";i:2716;s:20:\"exif-iimcategory-clj\";i:2717;s:20:\"exif-iimcategory-dis\";i:2718;s:20:\"exif-iimcategory-fin\";i:2719;s:20:\"exif-iimcategory-edu\";i:2720;s:20:\"exif-iimcategory-evn\";i:2721;s:20:\"exif-iimcategory-hth\";i:2722;s:20:\"exif-iimcategory-hum\";i:2723;s:20:\"exif-iimcategory-lab\";i:2724;s:20:\"exif-iimcategory-lif\";i:2725;s:20:\"exif-iimcategory-pol\";i:2726;s:20:\"exif-iimcategory-rel\";i:2727;s:20:\"exif-iimcategory-sci\";i:2728;s:20:\"exif-iimcategory-soi\";i:2729;s:20:\"exif-iimcategory-spo\";i:2730;s:20:\"exif-iimcategory-war\";i:2731;s:20:\"exif-iimcategory-wea\";i:2732;s:19:\"exif-urgency-normal\";i:2733;s:16:\"exif-urgency-low\";i:2734;s:17:\"exif-urgency-high\";i:2735;s:18:\"exif-urgency-other\";i:2736;s:15:\"edit-externally\";i:2737;s:20:\"edit-externally-help\";i:2738;s:13:\"watchlistall2\";i:2739;s:13:\"namespacesall\";i:2740;s:9:\"monthsall\";i:2741;s:8:\"limitall\";i:2742;s:12:\"confirmemail\";i:2743;s:20:\"confirmemail_noemail\";i:2744;s:17:\"confirmemail_text\";i:2745;s:20:\"confirmemail_pending\";i:2746;s:17:\"confirmemail_send\";i:2747;s:17:\"confirmemail_sent\";i:2748;s:21:\"confirmemail_oncreate\";i:2749;s:23:\"confirmemail_sendfailed\";i:2750;s:20:\"confirmemail_invalid\";i:2751;s:22:\"confirmemail_needlogin\";i:2752;s:20:\"confirmemail_success\";i:2753;s:21:\"confirmemail_loggedin\";i:2754;s:18:\"confirmemail_error\";i:2755;s:20:\"confirmemail_subject\";i:2756;s:17:\"confirmemail_body\";i:2757;s:25:\"confirmemail_body_changed\";i:2758;s:21:\"confirmemail_body_set\";i:2759;s:24:\"confirmemail_invalidated\";i:2760;s:15:\"invalidateemail\";i:2761;s:23:\"scarytranscludedisabled\";i:2762;s:21:\"scarytranscludefailed\";i:2763;s:22:\"scarytranscludetoolong\";i:2764;s:12:\"trackbackbox\";i:2765;s:9:\"trackback\";i:2766;s:16:\"trackbackexcerpt\";i:2767;s:15:\"trackbackremove\";i:2768;s:13:\"trackbacklink\";i:2769;s:17:\"trackbackdeleteok\";i:2770;s:19:\"deletedwhileediting\";i:2771;s:15:\"confirmrecreate\";i:2772;s:24:\"confirmrecreate-noreason\";i:2773;s:8:\"recreate\";i:2774;s:10:\"unit-pixel\";i:2775;s:20:\"confirm_purge_button\";i:2776;s:17:\"confirm-purge-top\";i:2777;s:20:\"confirm-purge-bottom\";i:2778;s:20:\"confirm-watch-button\";i:2779;s:17:\"confirm-watch-top\";i:2780;s:22:\"confirm-unwatch-button\";i:2781;s:19:\"confirm-unwatch-top\";i:2782;s:19:\"semicolon-separator\";i:2783;s:15:\"comma-separator\";i:2784;s:15:\"colon-separator\";i:2785;s:18:\"autocomment-prefix\";i:2786;s:14:\"pipe-separator\";i:2787;s:14:\"word-separator\";i:2788;s:8:\"ellipsis\";i:2789;s:7:\"percent\";i:2790;s:11:\"parentheses\";i:2791;s:16:\"imgmultipageprev\";i:2792;s:16:\"imgmultipagenext\";i:2793;s:10:\"imgmultigo\";i:2794;s:12:\"imgmultigoto\";i:2795;s:16:\"ascending_abbrev\";i:2796;s:17:\"descending_abbrev\";i:2797;s:16:\"table_pager_next\";i:2798;s:16:\"table_pager_prev\";i:2799;s:17:\"table_pager_first\";i:2800;s:16:\"table_pager_last\";i:2801;s:17:\"table_pager_limit\";i:2802;s:23:\"table_pager_limit_label\";i:2803;s:24:\"table_pager_limit_submit\";i:2804;s:17:\"table_pager_empty\";i:2805;s:14:\"autosumm-blank\";i:2806;s:16:\"autosumm-replace\";i:2807;s:16:\"autoredircomment\";i:2808;s:12:\"autosumm-new\";i:2809;s:19:\"autoblock_whitelist\";i:2810;s:10:\"size-bytes\";i:2811;s:14:\"size-kilobytes\";i:2812;s:14:\"size-megabytes\";i:2813;s:14:\"size-gigabytes\";i:2814;s:19:\"livepreview-loading\";i:2815;s:17:\"livepreview-ready\";i:2816;s:18:\"livepreview-failed\";i:2817;s:17:\"livepreview-error\";i:2818;s:15:\"lag-warn-normal\";i:2819;s:13:\"lag-warn-high\";i:2820;s:22:\"watchlistedit-numitems\";i:2821;s:21:\"watchlistedit-noitems\";i:2822;s:26:\"watchlistedit-normal-title\";i:2823;s:27:\"watchlistedit-normal-legend\";i:2824;s:28:\"watchlistedit-normal-explain\";i:2825;s:27:\"watchlistedit-normal-submit\";i:2826;s:25:\"watchlistedit-normal-done\";i:2827;s:23:\"watchlistedit-raw-title\";i:2828;s:24:\"watchlistedit-raw-legend\";i:2829;s:25:\"watchlistedit-raw-explain\";i:2830;s:24:\"watchlistedit-raw-titles\";i:2831;s:24:\"watchlistedit-raw-submit\";i:2832;s:22:\"watchlistedit-raw-done\";i:2833;s:23:\"watchlistedit-raw-added\";i:2834;s:25:\"watchlistedit-raw-removed\";i:2835;s:19:\"watchlisttools-view\";i:2836;s:19:\"watchlisttools-edit\";i:2837;s:18:\"watchlisttools-raw\";i:2838;s:19:\"iranian-calendar-m1\";i:2839;s:19:\"iranian-calendar-m2\";i:2840;s:19:\"iranian-calendar-m3\";i:2841;s:19:\"iranian-calendar-m4\";i:2842;s:19:\"iranian-calendar-m5\";i:2843;s:19:\"iranian-calendar-m6\";i:2844;s:19:\"iranian-calendar-m7\";i:2845;s:19:\"iranian-calendar-m8\";i:2846;s:19:\"iranian-calendar-m9\";i:2847;s:20:\"iranian-calendar-m10\";i:2848;s:20:\"iranian-calendar-m11\";i:2849;s:20:\"iranian-calendar-m12\";i:2850;s:17:\"hijri-calendar-m1\";i:2851;s:17:\"hijri-calendar-m2\";i:2852;s:17:\"hijri-calendar-m3\";i:2853;s:17:\"hijri-calendar-m4\";i:2854;s:17:\"hijri-calendar-m5\";i:2855;s:17:\"hijri-calendar-m6\";i:2856;s:17:\"hijri-calendar-m7\";i:2857;s:17:\"hijri-calendar-m8\";i:2858;s:17:\"hijri-calendar-m9\";i:2859;s:18:\"hijri-calendar-m10\";i:2860;s:18:\"hijri-calendar-m11\";i:2861;s:18:\"hijri-calendar-m12\";i:2862;s:18:\"hebrew-calendar-m1\";i:2863;s:18:\"hebrew-calendar-m2\";i:2864;s:18:\"hebrew-calendar-m3\";i:2865;s:18:\"hebrew-calendar-m4\";i:2866;s:18:\"hebrew-calendar-m5\";i:2867;s:18:\"hebrew-calendar-m6\";i:2868;s:19:\"hebrew-calendar-m6a\";i:2869;s:19:\"hebrew-calendar-m6b\";i:2870;s:18:\"hebrew-calendar-m7\";i:2871;s:18:\"hebrew-calendar-m8\";i:2872;s:18:\"hebrew-calendar-m9\";i:2873;s:19:\"hebrew-calendar-m10\";i:2874;s:19:\"hebrew-calendar-m11\";i:2875;s:19:\"hebrew-calendar-m12\";i:2876;s:22:\"hebrew-calendar-m1-gen\";i:2877;s:22:\"hebrew-calendar-m2-gen\";i:2878;s:22:\"hebrew-calendar-m3-gen\";i:2879;s:22:\"hebrew-calendar-m4-gen\";i:2880;s:22:\"hebrew-calendar-m5-gen\";i:2881;s:22:\"hebrew-calendar-m6-gen\";i:2882;s:23:\"hebrew-calendar-m6a-gen\";i:2883;s:23:\"hebrew-calendar-m6b-gen\";i:2884;s:22:\"hebrew-calendar-m7-gen\";i:2885;s:22:\"hebrew-calendar-m8-gen\";i:2886;s:22:\"hebrew-calendar-m9-gen\";i:2887;s:23:\"hebrew-calendar-m10-gen\";i:2888;s:23:\"hebrew-calendar-m11-gen\";i:2889;s:23:\"hebrew-calendar-m12-gen\";i:2890;s:9:\"signature\";i:2891;s:14:\"signature-anon\";i:2892;s:12:\"timezone-utc\";i:2893;s:21:\"unknown_extension_tag\";i:2894;s:21:\"duplicate-defaultsort\";i:2895;s:7:\"version\";i:2896;s:18:\"version-extensions\";i:2897;s:20:\"version-specialpages\";i:2898;s:19:\"version-parserhooks\";i:2899;s:17:\"version-variables\";i:2900;s:16:\"version-antispam\";i:2901;s:13:\"version-skins\";i:2902;s:11:\"version-api\";i:2903;s:13:\"version-other\";i:2904;s:21:\"version-mediahandlers\";i:2905;s:13:\"version-hooks\";i:2906;s:27:\"version-extension-functions\";i:2907;s:28:\"version-parser-extensiontags\";i:2908;s:29:\"version-parser-function-hooks\";i:2909;s:17:\"version-hook-name\";i:2910;s:25:\"version-hook-subscribedby\";i:2911;s:15:\"version-version\";i:2912;s:20:\"version-svn-revision\";i:2913;s:15:\"version-license\";i:2914;s:25:\"version-poweredby-credits\";i:2915;s:24:\"version-poweredby-others\";i:2916;s:20:\"version-license-info\";i:2917;s:16:\"version-software\";i:2918;s:24:\"version-software-product\";i:2919;s:24:\"version-software-version\";i:2920;s:8:\"filepath\";i:2921;s:13:\"filepath-page\";i:2922;s:15:\"filepath-submit\";i:2923;s:16:\"filepath-summary\";i:2924;s:19:\"fileduplicatesearch\";i:2925;s:27:\"fileduplicatesearch-summary\";i:2926;s:26:\"fileduplicatesearch-legend\";i:2927;s:28:\"fileduplicatesearch-filename\";i:2928;s:26:\"fileduplicatesearch-submit\";i:2929;s:24:\"fileduplicatesearch-info\";i:2930;s:28:\"fileduplicatesearch-result-1\";i:2931;s:28:\"fileduplicatesearch-result-n\";i:2932;s:29:\"fileduplicatesearch-noresults\";i:2933;s:12:\"specialpages\";i:2934;s:20:\"specialpages-summary\";i:2935;s:17:\"specialpages-note\";i:2936;s:30:\"specialpages-group-maintenance\";i:2937;s:24:\"specialpages-group-other\";i:2938;s:24:\"specialpages-group-login\";i:2939;s:26:\"specialpages-group-changes\";i:2940;s:24:\"specialpages-group-media\";i:2941;s:24:\"specialpages-group-users\";i:2942;s:26:\"specialpages-group-highuse\";i:2943;s:24:\"specialpages-group-pages\";i:2944;s:28:\"specialpages-group-pagetools\";i:2945;s:23:\"specialpages-group-wiki\";i:2946;s:28:\"specialpages-group-redirects\";i:2947;s:23:\"specialpages-group-spam\";i:2948;s:9:\"blankpage\";i:2949;s:22:\"intentionallyblankpage\";i:2950;s:24:\"external_image_whitelist\";i:2951;s:4:\"tags\";i:2952;s:10:\"tag-filter\";i:2953;s:17:\"tag-filter-submit\";i:2954;s:10:\"tags-title\";i:2955;s:10:\"tags-intro\";i:2956;s:8:\"tags-tag\";i:2957;s:19:\"tags-display-header\";i:2958;s:23:\"tags-description-header\";i:2959;s:20:\"tags-hitcount-header\";i:2960;s:9:\"tags-edit\";i:2961;s:13:\"tags-hitcount\";i:2962;s:12:\"comparepages\";i:2963;s:16:\"compare-selector\";i:2964;s:13:\"compare-page1\";i:2965;s:13:\"compare-page2\";i:2966;s:12:\"compare-rev1\";i:2967;s:12:\"compare-rev2\";i:2968;s:14:\"compare-submit\";i:2969;s:12:\"dberr-header\";i:2970;s:14:\"dberr-problems\";i:2971;s:11:\"dberr-again\";i:2972;s:10:\"dberr-info\";i:2973;s:15:\"dberr-usegoogle\";i:2974;s:15:\"dberr-outofdate\";i:2975;s:17:\"dberr-cachederror\";i:2976;s:22:\"htmlform-invalid-input\";i:2977;s:25:\"htmlform-select-badoption\";i:2978;s:20:\"htmlform-int-invalid\";i:2979;s:22:\"htmlform-float-invalid\";i:2980;s:19:\"htmlform-int-toolow\";i:2981;s:20:\"htmlform-int-toohigh\";i:2982;s:17:\"htmlform-required\";i:2983;s:15:\"htmlform-submit\";i:2984;s:14:\"htmlform-reset\";i:2985;s:28:\"htmlform-selectorother-other\";i:2986;s:14:\"sqlite-has-fts\";i:2987;s:13:\"sqlite-no-fts\";}}'),('en','preload','a:3:{s:8:\"messages\";a:95:{s:9:\"aboutpage\";s:13:\"Project:About\";s:9:\"aboutsite\";s:18:\"About {{SITENAME}}\";s:17:\"accesskey-ca-edit\";s:1:\"e\";s:20:\"accesskey-ca-history\";s:1:\"h\";s:23:\"accesskey-ca-nstab-main\";s:1:\"c\";s:17:\"accesskey-ca-talk\";s:1:\"t\";s:25:\"accesskey-n-currentevents\";s:0:\"\";s:16:\"accesskey-n-help\";s:0:\"\";s:32:\"accesskey-n-mainpage-description\";s:1:\"z\";s:18:\"accesskey-n-portal\";s:0:\"\";s:22:\"accesskey-n-randompage\";s:1:\"x\";s:25:\"accesskey-n-recentchanges\";s:1:\"r\";s:23:\"accesskey-n-sitesupport\";N;s:16:\"accesskey-p-logo\";s:0:\"\";s:18:\"accesskey-pt-login\";s:1:\"o\";s:16:\"accesskey-search\";s:1:\"f\";s:25:\"accesskey-search-fulltext\";s:0:\"\";s:19:\"accesskey-search-go\";s:0:\"\";s:21:\"accesskey-t-permalink\";s:0:\"\";s:17:\"accesskey-t-print\";s:1:\"p\";s:31:\"accesskey-t-recentchangeslinked\";s:1:\"k\";s:24:\"accesskey-t-specialpages\";s:1:\"q\";s:25:\"accesskey-t-whatlinkshere\";s:1:\"j\";s:10:\"anonnotice\";s:1:\"-\";s:15:\"colon-separator\";s:6:\":&#32;\";s:13:\"currentevents\";s:14:\"Current events\";s:17:\"currentevents-url\";s:22:\"Project:Current events\";s:14:\"disclaimerpage\";s:26:\"Project:General disclaimer\";s:11:\"disclaimers\";s:11:\"Disclaimers\";s:4:\"edit\";s:4:\"Edit\";s:4:\"help\";s:4:\"Help\";s:8:\"helppage\";s:13:\"Help:Contents\";s:13:\"history_short\";s:7:\"History\";s:6:\"jumpto\";s:8:\"Jump to:\";s:16:\"jumptonavigation\";s:10:\"navigation\";s:12:\"jumptosearch\";s:6:\"search\";s:14:\"lastmodifiedat\";s:41:\"This page was last modified on $1, at $2.\";s:8:\"mainpage\";s:9:\"Main Page\";s:20:\"mainpage-description\";s:9:\"Main page\";s:23:\"nav-login-createaccount\";s:23:\"Log in / create account\";s:10:\"navigation\";s:10:\"Navigation\";s:10:\"nstab-main\";s:4:\"Page\";s:15:\"opensearch-desc\";s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";s:14:\"pagecategories\";s:33:\"{{PLURAL:$1|Category|Categories}}\";s:18:\"pagecategorieslink\";s:18:\"Special:Categories\";s:9:\"pagetitle\";s:17:\"$1 - {{SITENAME}}\";s:23:\"pagetitle-view-mainpage\";s:12:\"{{SITENAME}}\";s:9:\"permalink\";s:14:\"Permanent link\";s:13:\"personaltools\";s:14:\"Personal tools\";s:6:\"portal\";s:16:\"Community portal\";s:10:\"portal-url\";s:24:\"Project:Community portal\";s:16:\"printableversion\";s:17:\"Printable version\";s:7:\"privacy\";s:14:\"Privacy policy\";s:11:\"privacypage\";s:22:\"Project:Privacy policy\";s:10:\"randompage\";s:11:\"Random page\";s:14:\"randompage-url\";s:14:\"Special:Random\";s:13:\"recentchanges\";s:14:\"Recent changes\";s:17:\"recentchanges-url\";s:21:\"Special:RecentChanges\";s:27:\"recentchangeslinked-toolbox\";s:15:\"Related changes\";s:13:\"retrievedfrom\";s:19:\"Retrieved from \"$1\"\";s:6:\"search\";s:6:\"Search\";s:13:\"searcharticle\";s:2:\"Go\";s:12:\"searchbutton\";s:6:\"Search\";s:7:\"sidebar\";s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";s:14:\"site-atom-feed\";s:12:\"$1 Atom feed\";s:13:\"site-rss-feed\";s:11:\"$1 RSS feed\";s:10:\"sitenotice\";s:1:\"-\";s:12:\"specialpages\";s:13:\"Special pages\";s:7:\"tagline\";s:17:\"From {{SITENAME}}\";s:4:\"talk\";s:10:\"Discussion\";s:7:\"toolbox\";s:7:\"Toolbox\";s:15:\"tooltip-ca-edit\";s:67:\"You can edit this page. Please use the preview button before saving\";s:18:\"tooltip-ca-history\";s:27:\"Past revisions of this page\";s:21:\"tooltip-ca-nstab-main\";s:21:\"View the content page\";s:15:\"tooltip-ca-talk\";s:33:\"Discussion about the content page\";s:23:\"tooltip-n-currentevents\";s:45:\"Find background information on current events\";s:14:\"tooltip-n-help\";s:21:\"The place to find out\";s:30:\"tooltip-n-mainpage-description\";s:19:\"Visit the main page\";s:16:\"tooltip-n-portal\";s:56:\"About the project, what you can do, where to find things\";s:20:\"tooltip-n-randompage\";s:18:\"Load a random page\";s:23:\"tooltip-n-recentchanges\";s:36:\"A list of recent changes in the wiki\";s:21:\"tooltip-n-sitesupport\";N;s:14:\"tooltip-p-logo\";s:19:\"Visit the main page\";s:20:\"tooltip-p-navigation\";N;s:16:\"tooltip-pt-login\";s:58:\"You are encouraged to log in; however, it is not mandatory\";s:14:\"tooltip-search\";s:19:\"Search {{SITENAME}}\";s:23:\"tooltip-search-fulltext\";s:30:\"Search the pages for this text\";s:17:\"tooltip-search-go\";s:43:\"Go to a page with this exact name if exists\";s:19:\"tooltip-t-permalink\";s:43:\"Permanent link to this revision of the page\";s:15:\"tooltip-t-print\";s:30:\"Printable version of this page\";s:29:\"tooltip-t-recentchangeslinked\";s:45:\"Recent changes in pages linked from this page\";s:22:\"tooltip-t-specialpages\";s:27:\"A list of all special pages\";s:23:\"tooltip-t-whatlinkshere\";s:39:\"A list of all wiki pages that link here\";s:5:\"views\";s:5:\"Views\";s:13:\"whatlinkshere\";s:15:\"What links here\";}s:11:\"dateFormats\";a:12:{s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j F Y\";s:8:\"dmy both\";s:10:\"H:i, j F Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}s:14:\"namespaceNames\";a:17:{i:-2;s:5:\"Media\";i:-1;s:7:\"Special\";i:0;s:0:\"\";i:1;s:4:\"Talk\";i:2;s:4:\"User\";i:3;s:9:\"User_talk\";i:5;s:7:\"$1_talk\";i:6;s:4:\"File\";i:7;s:9:\"File_talk\";i:8;s:9:\"MediaWiki\";i:9;s:14:\"MediaWiki_talk\";i:10;s:8:\"Template\";i:11;s:13:\"Template_talk\";i:12;s:4:\"Help\";i:13;s:9:\"Help_talk\";i:14;s:8:\"Category\";i:15;s:13:\"Category_talk\";}}'),('es','fallback','s:2:\"en\";'),('es','namespaceNames','a:17:{i:-2;s:5:\"Medio\";i:-1;s:8:\"Especial\";i:1;s:10:\"Discusión\";i:2;s:7:\"Usuario\";i:3;s:18:\"Usuario_discusión\";i:5;s:13:\"$1_discusión\";i:6;s:7:\"Archivo\";i:7;s:18:\"Archivo_discusión\";i:8;s:9:\"MediaWiki\";i:9;s:20:\"MediaWiki_discusión\";i:10;s:9:\"Plantilla\";i:11;s:20:\"Plantilla_discusión\";i:12;s:5:\"Ayuda\";i:13;s:16:\"Ayuda_discusión\";i:14;s:10:\"Categoría\";i:15;s:21:\"Categoría_discusión\";i:0;s:0:\"\";}'),('es','bookstoreList','a:4:{s:6:\"AddALL\";s:56:\"http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN\";s:9:\"PriceSCAN\";s:53:\"http://www.pricescan.com/books/bookDetail.asp?isbn=$1\";s:14:\"Barnes & Noble\";s:67:\"http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1\";s:10:\"Amazon.com\";s:41:\"http://www.amazon.com/exec/obidos/ISBN=$1\";}'),('es','magicWords','a:150:{s:8:\"redirect\";a:4:{i:0;i:0;i:1;s:13:\"#REDIRECCIÓN\";i:2;s:12:\"#REDIRECCION\";i:3;s:9:\"#REDIRECT\";}s:5:\"notoc\";a:3:{i:0;i:0;i:1;s:9:\"__NOTDC__\";i:2;s:9:\"__NOTOC__\";}s:9:\"nogallery\";a:4:{i:0;i:0;i:1;s:14:\"__NOGALERÍA__\";i:2;s:13:\"__NOGALERIA__\";i:3;s:13:\"__NOGALLERY__\";}s:8:\"forcetoc\";a:4:{i:0;i:0;i:1;s:13:\"__FORZARTDC__\";i:2;s:13:\"__FORZARTOC__\";i:3;s:12:\"__FORCETOC__\";}s:3:\"toc\";a:3:{i:0;i:0;i:1;s:7:\"__TDC__\";i:2;s:7:\"__TOC__\";}s:13:\"noeditsection\";a:4:{i:0;i:0;i:1;s:20:\"__NOEDITARSECCIÓN__\";i:2;s:19:\"__NOEDITARSECCION__\";i:3;s:17:\"__NOEDITSECTION__\";}s:8:\"noheader\";a:4:{i:0;i:0;i:1;s:13:\"__NOTÍTULO__\";i:2;s:12:\"__NOTITULO__\";i:3;s:12:\"__NOHEADER__\";}s:12:\"currentmonth\";a:5:{i:0;i:1;i:1;s:9:\"MESACTUAL\";i:2;s:10:\"MESACTUAL2\";i:3;s:12:\"CURRENTMONTH\";i:4;s:13:\"CURRENTMONTH2\";}s:13:\"currentmonth1\";a:3:{i:0;i:1;i:1;s:10:\"MESACTUAL1\";i:2;s:13:\"CURRENTMONTH1\";}s:16:\"currentmonthname\";a:3:{i:0;i:1;i:1;s:15:\"NOMBREMESACTUAL\";i:2;s:16:\"CURRENTMONTHNAME\";}s:19:\"currentmonthnamegen\";a:3:{i:0;i:1;i:1;s:24:\"GENERADORNOMBREMESACTUAL\";i:2;s:19:\"CURRENTMONTHNAMEGEN\";}s:18:\"currentmonthabbrev\";a:4:{i:0;i:1;i:1;s:26:\"ABREVIACIONNOMBREMESACTUAL\";i:2;s:27:\"ABREVIACIÓNNOMBREMESACTUAL\";i:3;s:18:\"CURRENTMONTHABBREV\";}s:10:\"currentday\";a:6:{i:0;i:1;i:1;s:10:\"DÍAACTUAL\";i:2;s:9:\"DIAACTUAL\";i:3;s:11:\"DÍA_ACTUAL\";i:4;s:10:\"DIA_ACTUAL\";i:5;s:10:\"CURRENTDAY\";}s:11:\"currentday2\";a:6:{i:0;i:1;i:1;s:11:\"DÍAACTUAL2\";i:2;s:10:\"DIAACTUAL2\";i:3;s:12:\"DÍA_ACTUAL2\";i:4;s:11:\"DIA_ACTUAL2\";i:5;s:11:\"CURRENTDAY2\";}s:14:\"currentdayname\";a:4:{i:0;i:1;i:1;s:16:\"NOMBREDÍAACTUAL\";i:2;s:15:\"NOMBREDIAACTUAL\";i:3;s:14:\"CURRENTDAYNAME\";}s:11:\"currentyear\";a:4:{i:0;i:1;i:1;s:10:\"AÑOACTUAL\";i:2;s:11:\"AÑO_ACTUAL\";i:3;s:11:\"CURRENTYEAR\";}s:11:\"currenttime\";a:4:{i:0;i:1;i:1;s:10:\"HORAACTUAL\";i:2;s:11:\"HORA_ACTUAL\";i:3;s:11:\"CURRENTTIME\";}s:11:\"currenthour\";a:4:{i:0;i:1;i:1;s:19:\"HORA_MINUTOS_ACTUAL\";i:2;s:17:\"HORAMINUTOSACTUAL\";i:3;s:11:\"CURRENTHOUR\";}s:10:\"localmonth\";a:4:{i:0;i:1;i:1;s:8:\"MESLOCAL\";i:2;s:10:\"LOCALMONTH\";i:3;s:11:\"LOCALMONTH2\";}s:11:\"localmonth1\";a:3:{i:0;i:1;i:1;s:9:\"MESLOCAL1\";i:2;s:11:\"LOCALMONTH1\";}s:14:\"localmonthname\";a:3:{i:0;i:1;i:1;s:14:\"NOMBREMESLOCAL\";i:2;s:14:\"LOCALMONTHNAME\";}s:17:\"localmonthnamegen\";a:3:{i:0;i:1;i:1;s:23:\"GENERADORNOMBREMESLOCAL\";i:2;s:17:\"LOCALMONTHNAMEGEN\";}s:16:\"localmonthabbrev\";a:3:{i:0;i:1;i:1;s:19:\"ABREVIACIONMESLOCAL\";i:2;s:16:\"LOCALMONTHABBREV\";}s:8:\"localday\";a:4:{i:0;i:1;i:1;s:9:\"DÍALOCAL\";i:2;s:8:\"DIALOCAL\";i:3;s:8:\"LOCALDAY\";}s:9:\"localday2\";a:4:{i:0;i:1;i:1;s:9:\"DIALOCAL2\";i:2;s:10:\"DÍALOCAL2\";i:3;s:9:\"LOCALDAY2\";}s:12:\"localdayname\";a:4:{i:0;i:1;i:1;s:14:\"NOMBREDIALOCAL\";i:2;s:15:\"NOMBREDÍALOCAL\";i:3;s:12:\"LOCALDAYNAME\";}s:9:\"localyear\";a:3:{i:0;i:1;i:1;s:9:\"AÑOLOCAL\";i:2;s:9:\"LOCALYEAR\";}s:9:\"localtime\";a:3:{i:0;i:1;i:1;s:9:\"HORALOCAL\";i:2;s:9:\"LOCALTIME\";}s:9:\"localhour\";a:3:{i:0;i:1;i:1;s:16:\"HORAMINUTOSLOCAL\";i:2;s:9:\"LOCALHOUR\";}s:13:\"numberofpages\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEPÁGINAS\";i:2;s:15:\"NUMERODEPAGINAS\";i:3;s:13:\"NUMBEROFPAGES\";}s:16:\"numberofarticles\";a:4:{i:0;i:1;i:1;s:19:\"NÚMERODEARTÍCULOS\";i:2;s:17:\"NUMERODEARTICULOS\";i:3;s:16:\"NUMBEROFARTICLES\";}s:13:\"numberoffiles\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEARCHIVOS\";i:2;s:16:\"NUMERODEARCHIVOS\";i:3;s:13:\"NUMBEROFFILES\";}s:13:\"numberofusers\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEUSUARIOS\";i:2;s:16:\"NUMERODEUSUARIOS\";i:3;s:13:\"NUMBEROFUSERS\";}s:19:\"numberofactiveusers\";a:4:{i:0;i:1;i:1;s:24:\"NÚMERODEUSUARIOSACTIVOS\";i:2;s:23:\"NUMERODEUSUARIOSACTIVOS\";i:3;s:19:\"NUMBEROFACTIVEUSERS\";}s:13:\"numberofedits\";a:4:{i:0;i:1;i:1;s:18:\"NÚMERODEEDICIONES\";i:2;s:17:\"NUMERODEEDICIONES\";i:3;s:13:\"NUMBEROFEDITS\";}s:13:\"numberofviews\";a:4:{i:0;i:1;i:1;s:15:\"NÚMERODEVISTAS\";i:2;s:14:\"NUMERODEVISTAS\";i:3;s:13:\"NUMBEROFVIEWS\";}s:8:\"pagename\";a:4:{i:0;i:1;i:1;s:14:\"NOMBREDEPAGINA\";i:2;s:15:\"NOMBREDEPÁGINA\";i:3;s:8:\"PAGENAME\";}s:9:\"pagenamee\";a:4:{i:0;i:1;i:1;s:15:\"NOMBREDEPAGINAC\";i:2;s:16:\"NOMBREDEPÁGINAC\";i:3;s:9:\"PAGENAMEE\";}s:9:\"namespace\";a:3:{i:0;i:1;i:1;s:15:\"ESPACIODENOMBRE\";i:2;s:9:\"NAMESPACE\";}s:10:\"namespacee\";a:3:{i:0;i:1;i:1;s:16:\"ESPACIODENOMBREC\";i:2;s:10:\"NAMESPACEE\";}s:9:\"talkspace\";a:4:{i:0;i:1;i:1;s:18:\"ESPACIODEDISCUSION\";i:2;s:19:\"ESPACIODEDISCUSIÓN\";i:3;s:9:\"TALKSPACE\";}s:10:\"talkspacee\";a:3:{i:0;i:1;i:1;s:19:\"ESPACIODEDISCUSIONC\";i:2;s:10:\"TALKSPACEE\";}s:12:\"subjectspace\";a:7:{i:0;i:1;i:1;s:15:\"ESPACIODEASUNTO\";i:2;s:13:\"ESPACIODETEMA\";i:3;s:18:\"ESPACIODEARTÍCULO\";i:4;s:17:\"ESPACIODEARTICULO\";i:5;s:12:\"SUBJECTSPACE\";i:6;s:12:\"ARTICLESPACE\";}s:13:\"subjectspacee\";a:7:{i:0;i:1;i:1;s:14:\"ESPACIODETEMAC\";i:2;s:16:\"ESPACIODEASUNTOC\";i:3;s:18:\"ESPACIODEARTICULOC\";i:4;s:19:\"ESPACIODEARTÍCULOC\";i:5;s:13:\"SUBJECTSPACEE\";i:6;s:13:\"ARTICLESPACEE\";}s:12:\"fullpagename\";a:6:{i:0;i:1;i:1;s:23:\"NOMBREDEPÁGINACOMPLETA\";i:2;s:22:\"NOMBREDEPAGINACOMPLETA\";i:3;s:21:\"NOMBREDEPÁGINAENTERA\";i:4;s:20:\"NOMBREDEPAGINAENTERA\";i:5;s:12:\"FULLPAGENAME\";}s:13:\"fullpagenamee\";a:4:{i:0;i:1;i:1;s:23:\"NOMBRECOMPLETODEPAGINAC\";i:2;s:24:\"NOMBRECOMPLETODEPÁGINAC\";i:3;s:13:\"FULLPAGENAMEE\";}s:11:\"subpagename\";a:4:{i:0;i:1;i:1;s:17:\"NOMBREDESUBPAGINA\";i:2;s:18:\"NOMBREDESUBPÁGINA\";i:3;s:11:\"SUBPAGENAME\";}s:12:\"subpagenamee\";a:4:{i:0;i:1;i:1;s:18:\"NOMBREDESUBPAGINAC\";i:2;s:19:\"NOMBREDESUBPÁGINAC\";i:3;s:12:\"SUBPAGENAMEE\";}s:12:\"basepagename\";a:4:{i:0;i:1;i:1;s:18:\"NOMBREDEPAGINABASE\";i:2;s:19:\"NOMBREDEPÁGINABASE\";i:3;s:12:\"BASEPAGENAME\";}s:13:\"basepagenamee\";a:4:{i:0;i:1;i:1;s:19:\"NOMBREDEPAGINABASEC\";i:2;s:20:\"NOMBREDEPÁGINABASEC\";i:3;s:13:\"BASEPAGENAMEE\";}s:12:\"talkpagename\";a:6:{i:0;i:1;i:1;s:27:\"NOMBREDEPÁGINADEDISCUSIÓN\";i:2;s:25:\"NOMBREDEPAGINADEDISCUSION\";i:3;s:23:\"NOMBREDEPAGINADISCUSION\";i:4;s:25:\"NOMBREDEPÁGINADISCUSIÓN\";i:5;s:12:\"TALKPAGENAME\";}s:13:\"talkpagenamee\";a:6:{i:0;i:1;i:1;s:28:\"NOMBREDEPÁGINADEDISCUSIÓNC\";i:2;s:26:\"NOMBREDEPAGINADEDISCUSIONC\";i:3;s:24:\"NOMBREDEPAGINADISCUSIONC\";i:4;s:26:\"NOMBREDEPÁGINADISCUSIÓNC\";i:5;s:13:\"TALKPAGENAMEE\";}s:15:\"subjectpagename\";a:9:{i:0;i:1;i:1;s:20:\"NOMBREDEPAGINADETEMA\";i:2;s:21:\"NOMBREDEPÁGINADETEMA\";i:3;s:23:\"NOMBREDEPÁGINADEASUNTO\";i:4;s:22:\"NOMBREDEPAGINADEASUNTO\";i:5;s:24:\"NOMBREDEPAGINADEARTICULO\";i:6;s:26:\"NOMBREDEPÁGINADEARTÍCULO\";i:7;s:15:\"SUBJECTPAGENAME\";i:8;s:15:\"ARTICLEPAGENAME\";}s:16:\"subjectpagenamee\";a:9:{i:0;i:1;i:1;s:21:\"NOMBREDEPAGINADETEMAC\";i:2;s:22:\"NOMBREDEPÁGINADETEMAC\";i:3;s:24:\"NOMBREDEPÁGINADEASUNTOC\";i:4;s:23:\"NOMBREDEPAGINADEASUNTOC\";i:5;s:25:\"NOMBREDEPAGINADEARTICULOC\";i:6;s:27:\"NOMBREDEPÁGINADEARTÍCULOC\";i:7;s:16:\"SUBJECTPAGENAMEE\";i:8;s:16:\"ARTICLEPAGENAMEE\";}s:3:\"msg\";a:3:{i:0;i:0;i:1;s:4:\"MSJ:\";i:2;s:4:\"MSG:\";}s:13:\"img_thumbnail\";a:6:{i:0;i:1;i:1;s:17:\"miniaturadeimagen\";i:2;s:9:\"miniatura\";i:3;s:4:\"mini\";i:4;s:9:\"thumbnail\";i:5;s:5:\"thumb\";}s:15:\"img_manualthumb\";a:5:{i:0;i:1;i:1;s:20:\"miniaturadeimagen=$1\";i:2;s:12:\"miniatura=$1\";i:3;s:12:\"thumbnail=$1\";i:4;s:8:\"thumb=$1\";}s:9:\"img_right\";a:5:{i:0;i:1;i:1;s:7:\"derecha\";i:2;s:4:\"dcha\";i:3;s:3:\"der\";i:4;s:5:\"right\";}s:8:\"img_left\";a:5:{i:0;i:1;i:1;s:9:\"izquierda\";i:2;s:4:\"izda\";i:3;s:3:\"izq\";i:4;s:4:\"left\";}s:8:\"img_none\";a:6:{i:0;i:1;i:1;s:7:\"ninguna\";i:2;s:4:\"nada\";i:3;s:2:\"no\";i:4;s:7:\"ninguno\";i:5;s:4:\"none\";}s:10:\"img_center\";a:7:{i:0;i:1;i:1;s:6:\"centro\";i:2;s:8:\"centrado\";i:3;s:8:\"centrada\";i:4;s:7:\"centrar\";i:5;s:6:\"center\";i:6;s:6:\"centre\";}s:10:\"img_framed\";a:7:{i:0;i:1;i:1;s:5:\"marco\";i:2;s:9:\"enmarcado\";i:3;s:9:\"enmarcada\";i:4;s:6:\"framed\";i:5;s:8:\"enframed\";i:6;s:5:\"frame\";}s:13:\"img_frameless\";a:5:{i:0;i:1;i:1;s:8:\"sinmarco\";i:2;s:12:\"sin_enmarcar\";i:3;s:11:\"sinenmarcar\";i:4;s:9:\"frameless\";}s:8:\"img_page\";a:7:{i:0;i:1;i:1;s:9:\"pagina=$1\";i:2;s:10:\"página=$1\";i:3;s:9:\"pagina $1\";i:4;s:10:\"página $1\";i:5;s:7:\"page=$1\";i:6;s:7:\"page $1\";}s:10:\"img_border\";a:3:{i:0;i:1;i:1;s:5:\"borde\";i:2;s:6:\"border\";}s:8:\"img_link\";a:5:{i:0;i:1;i:1;s:11:\"vínculo=$1\";i:2;s:10:\"vinculo=$1\";i:3;s:9:\"enlace=$1\";i:4;s:7:\"link=$1\";}s:8:\"sitename\";a:3:{i:0;i:1;i:1;s:13:\"NOMBREDESITIO\";i:2;s:8:\"SITENAME\";}s:2:\"ns\";a:3:{i:0;i:0;i:1;s:3:\"EN:\";i:2;s:3:\"NS:\";}s:8:\"localurl\";a:3:{i:0;i:0;i:1;s:8:\"URLLOCAL\";i:2;s:9:\"LOCALURL:\";}s:9:\"localurle\";a:3:{i:0;i:0;i:1;s:10:\"URLLOCALC:\";i:2;s:10:\"LOCALURLE:\";}s:6:\"server\";a:3:{i:0;i:0;i:1;s:8:\"SERVIDOR\";i:2;s:6:\"SERVER\";}s:10:\"servername\";a:3:{i:0;i:0;i:1;s:14:\"NOMBRESERVIDOR\";i:2;s:10:\"SERVERNAME\";}s:10:\"scriptpath\";a:4:{i:0;i:0;i:1;s:10:\"RUTASCRIPT\";i:2;s:12:\"RUTADESCRIPT\";i:3;s:10:\"SCRIPTPATH\";}s:9:\"stylepath\";a:4:{i:0;i:0;i:1;s:10:\"RUTAESTILO\";i:2;s:12:\"RUTADEESTILO\";i:3;s:9:\"STYLEPATH\";}s:7:\"grammar\";a:4:{i:0;i:0;i:1;s:10:\"GRAMATICA:\";i:2;s:11:\"GRAMÁTICA:\";i:3;s:8:\"GRAMMAR:\";}s:6:\"gender\";a:4:{i:0;i:0;i:1;s:8:\"GÉNERO:\";i:2;s:7:\"GENERO:\";i:3;s:7:\"GENDER:\";}s:14:\"notitleconvert\";a:6:{i:0;i:0;i:1;s:21:\"__NOCONVERTIRTITULO__\";i:2;s:22:\"__NOCONVERTIRTÍTULO__\";i:3;s:9:\"__NOCT___\";i:4;s:18:\"__NOTITLECONVERT__\";i:5;s:8:\"__NOTC__\";}s:16:\"nocontentconvert\";a:5:{i:0;i:0;i:1;s:24:\"__NOCONVERTIRCONTENIDO__\";i:2;s:9:\"__NOCC___\";i:3;s:20:\"__NOCONTENTCONVERT__\";i:4;s:8:\"__NOCC__\";}s:11:\"currentweek\";a:3:{i:0;i:1;i:1;s:12:\"SEMANAACTUAL\";i:2;s:11:\"CURRENTWEEK\";}s:10:\"currentdow\";a:5:{i:0;i:1;i:1;s:9:\"DDSACTUAL\";i:2;s:17:\"DIADESEMANAACTUAL\";i:3;s:18:\"DÍADESEMANAACTUAL\";i:4;s:10:\"CURRENTDOW\";}s:9:\"localweek\";a:3:{i:0;i:1;i:1;s:11:\"SEMANALOCAL\";i:2;s:9:\"LOCALWEEK\";}s:8:\"localdow\";a:5:{i:0;i:1;i:1;s:8:\"DDSLOCAL\";i:2;s:16:\"DIADESEMANALOCAL\";i:3;s:17:\"DÍADESEMANALOCAL\";i:4;s:8:\"LOCALDOW\";}s:10:\"revisionid\";a:6:{i:0;i:1;i:1;s:12:\"IDDEREVISION\";i:2;s:10:\"IDREVISION\";i:3;s:13:\"IDDEREVISIÓN\";i:4;s:11:\"IDREVISIÓN\";i:5;s:10:\"REVISIONID\";}s:11:\"revisionday\";a:6:{i:0;i:1;i:1;s:13:\"DIADEREVISION\";i:2;s:11:\"DIAREVISION\";i:3;s:15:\"DÍADEREVISIÓN\";i:4;s:13:\"DÍAREVISIÓN\";i:5;s:11:\"REVISIONDAY\";}s:12:\"revisionday2\";a:6:{i:0;i:1;i:1;s:14:\"DIADEREVISION2\";i:2;s:12:\"DIAREVISION2\";i:3;s:16:\"DÍADEREVISIÓN2\";i:4;s:14:\"DÍAREVISIÓN2\";i:5;s:12:\"REVISIONDAY2\";}s:13:\"revisionmonth\";a:6:{i:0;i:1;i:1;s:13:\"MESDEREVISION\";i:2;s:14:\"MESDEREVISIÓN\";i:3;s:11:\"MESREVISION\";i:4;s:12:\"MESREVISIÓN\";i:5;s:13:\"REVISIONMONTH\";}s:12:\"revisionyear\";a:6:{i:0;i:1;i:1;s:14:\"AÑODEREVISION\";i:2;s:15:\"AÑODEREVISIÓN\";i:3;s:12:\"AÑOREVISION\";i:4;s:13:\"AÑOREVISIÓN\";i:5;s:12:\"REVISIONYEAR\";}s:17:\"revisiontimestamp\";a:4:{i:0;i:1;i:1;s:21:\"MARCADEHORADEREVISION\";i:2;s:22:\"MARCADEHORADEREVISIÓN\";i:3;s:17:\"REVISIONTIMESTAMP\";}s:12:\"revisionuser\";a:4:{i:0;i:1;i:1;s:17:\"USUARIODEREVISION\";i:2;s:18:\"USUARIODEREVISIÓN\";i:3;s:12:\"REVISIONUSER\";}s:7:\"fullurl\";a:3:{i:0;i:0;i:1;s:12:\"URLCOMPLETA:\";i:2;s:8:\"FULLURL:\";}s:8:\"fullurle\";a:3:{i:0;i:0;i:1;s:13:\"URLCOMPLETAC:\";i:2;s:9:\"FULLURLE:\";}s:7:\"lcfirst\";a:4:{i:0;i:0;i:1;s:13:\"PRIMEROMINUS;\";i:2;s:14:\"PRIMEROMINÚS:\";i:3;s:8:\"LCFIRST:\";}s:7:\"ucfirst\";a:4:{i:0;i:0;i:1;s:13:\"PRIMEROMAYUS;\";i:2;s:14:\"PRIMEROMAYÚS:\";i:3;s:8:\"UCFIRST:\";}s:2:\"lc\";a:4:{i:0;i:0;i:1;s:6:\"MINUS:\";i:2;s:7:\"MINÚS:\";i:3;s:3:\"LC:\";}s:2:\"uc\";a:4:{i:0;i:0;i:1;s:6:\"MAYUS:\";i:2;s:7:\"MAYÚS:\";i:3;s:3:\"UC:\";}s:12:\"displaytitle\";a:4:{i:0;i:1;i:1;s:14:\"MOSTRARTÍTULO\";i:2;s:13:\"MOSTRARTITULO\";i:3;s:12:\"DISPLAYTITLE\";}s:14:\"newsectionlink\";a:4:{i:0;i:1;i:1;s:25:\"__VINCULARANUEVASECCION__\";i:2;s:25:\"VÍNCULARANUEVASECCIÓN__\";i:3;s:18:\"__NEWSECTIONLINK__\";}s:16:\"nonewsectionlink\";a:4:{i:0;i:1;i:1;s:27:\"__NOVINCULARANUEVASECCION__\";i:2;s:27:\"NOVÍNCULARANUEVASECCIÓN__\";i:3;s:20:\"__NONEWSECTIONLINK__\";}s:14:\"currentversion\";a:4:{i:0;i:1;i:1;s:13:\"VERSIONACTUAL\";i:2;s:14:\"VERSIÓNACTUAL\";i:3;s:14:\"CURRENTVERSION\";}s:9:\"urlencode\";a:3:{i:0;i:0;i:1;s:13:\"CODIFICARURL:\";i:2;s:10:\"URLENCODE:\";}s:16:\"currenttimestamp\";a:3:{i:0;i:1;i:1;s:17:\"MARCADEHORAACTUAL\";i:2;s:16:\"CURRENTTIMESTAMP\";}s:14:\"localtimestamp\";a:3:{i:0;i:1;i:1;s:16:\"MARCADEHORALOCAL\";i:2;s:14:\"LOCALTIMESTAMP\";}s:8:\"language\";a:3:{i:0;i:0;i:1;s:8:\"#IDIOMA:\";i:2;s:10:\"#LANGUAGE:\";}s:15:\"contentlanguage\";a:5:{i:0;i:1;i:1;s:18:\"IDIOMADELCONTENIDO\";i:2;s:13:\"IDIOMADELCONT\";i:3;s:15:\"CONTENTLANGUAGE\";i:4;s:11:\"CONTENTLANG\";}s:14:\"numberofadmins\";a:10:{i:0;i:1;i:1;s:23:\"NÚMEROADMINIISTRADORES\";i:2;s:13:\"NÚMEROADMINS\";i:3;s:12:\"NUMEROADMINS\";i:4;s:21:\"NUMEROADMINISTRADORES\";i:5;s:23:\"NUMERODEADMINISTRADORES\";i:6;s:14:\"NUMERODEADMINS\";i:7;s:24:\"NÚMERODEADMINISTRADORES\";i:8;s:15:\"NÚMERODEADMINS\";i:9;s:14:\"NUMBEROFADMINS\";}s:9:\"formatnum\";a:4:{i:0;i:0;i:1;s:14:\"FORMATONÚMERO\";i:2;s:13:\"FORMATONUMERO\";i:3;s:9:\"FORMATNUM\";}s:7:\"special\";a:3:{i:0;i:0;i:1;s:8:\"especial\";i:2;s:7:\"special\";}s:11:\"defaultsort\";a:8:{i:0;i:1;i:1;s:8:\"ORDENAR:\";i:2;s:27:\"CLAVEDEORDENPREDETERMINADO:\";i:3;s:31:\"ORDENDECATEGORIAPREDETERMINADO:\";i:4;s:32:\"ORDENDECATEGORÍAPREDETERMINADO:\";i:5;s:12:\"DEFAULTSORT:\";i:6;s:15:\"DEFAULTSORTKEY:\";i:7;s:20:\"DEFAULTCATEGORYSORT:\";}s:8:\"filepath\";a:5:{i:0;i:0;i:1;s:12:\"RUTAARCHIVO:\";i:2;s:11:\"RUTARCHIVO:\";i:3;s:14:\"RUTADEARCHIVO:\";i:4;s:9:\"FILEPATH:\";}s:3:\"tag\";a:4:{i:0;i:0;i:1;s:8:\"etiqueta\";i:2;s:8:\"ETIQUETA\";i:3;s:3:\"tag\";}s:9:\"hiddencat\";a:3:{i:0;i:1;i:1;s:20:\"__CATEGORÍAOCULTA__\";i:2;s:13:\"__HIDDENCAT__\";}s:15:\"pagesincategory\";a:8:{i:0;i:1;i:1;s:20:\"PÁGINASENCATEGORÍA\";i:2;s:13:\"PÁGINASENCAT\";i:3;s:9:\"PAGSENCAT\";i:4;s:18:\"PAGINASENCATEGORIA\";i:5;s:12:\"PAGINASENCAT\";i:6;s:15:\"PAGESINCATEGORY\";i:7;s:10:\"PAGESINCAT\";}s:8:\"pagesize\";a:6:{i:0;i:1;i:1;s:14:\"TAMAÑOPÁGINA\";i:2;s:16:\"TAMAÑODEPÁGINA\";i:3;s:13:\"TAMAÑOPAGINA\";i:4;s:15:\"TAMAÑODEPAGINA\";i:5;s:8:\"PAGESIZE\";}s:5:\"index\";a:3:{i:0;i:1;i:1;s:11:\"__INDEXAR__\";i:2;s:9:\"__INDEX__\";}s:7:\"noindex\";a:3:{i:0;i:1;i:1;s:13:\"__NOINDEXAR__\";i:2;s:11:\"__NOINDEX__\";}s:13:\"numberingroup\";a:7:{i:0;i:1;i:1;s:14:\"NÚMEROENGRUPO\";i:2;s:13:\"NUMEROENGRUPO\";i:3;s:10:\"NUMENGRUPO\";i:4;s:11:\"NÚMENGRUPO\";i:5;s:13:\"NUMBERINGROUP\";i:6;s:10:\"NUMINGROUP\";}s:14:\"staticredirect\";a:4:{i:0;i:1;i:1;s:23:\"__REDIRECCIONESTATICA__\";i:2;s:25:\"__REDIRECCIÓNESTÁTICA__\";i:3;s:18:\"__STATICREDIRECT__\";}s:15:\"protectionlevel\";a:3:{i:0;i:1;i:1;s:18:\"NIVELDEPROTECCIÓN\";i:2;s:15:\"PROTECTIONLEVEL\";}s:10:\"formatdate\";a:5:{i:0;i:0;i:1;s:14:\"formatodefecha\";i:2;s:14:\"formatearfecha\";i:3;s:10:\"formatdate\";i:4;s:10:\"dateformat\";}s:5:\"subst\";a:2:{i:0;i:0;i:1;s:6:\"SUBST:\";}s:9:\"safesubst\";a:2:{i:0;i:0;i:1;s:10:\"SAFESUBST:\";}s:5:\"msgnw\";a:2:{i:0;i:0;i:1;s:6:\"MSGNW:\";}s:9:\"img_width\";a:2:{i:0;i:1;i:1;s:4:\"$1px\";}s:11:\"img_upright\";a:4:{i:0;i:1;i:1;s:7:\"upright\";i:2;s:10:\"upright=$1\";i:3;s:10:\"upright $1\";}s:12:\"img_baseline\";a:2:{i:0;i:1;i:1;s:8:\"baseline\";}s:7:\"img_sub\";a:2:{i:0;i:1;i:1;s:3:\"sub\";}s:9:\"img_super\";a:3:{i:0;i:1;i:1;s:5:\"super\";i:2;s:3:\"sup\";}s:7:\"img_top\";a:2:{i:0;i:1;i:1;s:3:\"top\";}s:12:\"img_text_top\";a:2:{i:0;i:1;i:1;s:8:\"text-top\";}s:10:\"img_middle\";a:2:{i:0;i:1;i:1;s:6:\"middle\";}s:10:\"img_bottom\";a:2:{i:0;i:1;i:1;s:6:\"bottom\";}s:15:\"img_text_bottom\";a:2:{i:0;i:1;i:1;s:11:\"text-bottom\";}s:7:\"img_alt\";a:2:{i:0;i:1;i:1;s:6:\"alt=$1\";}s:3:\"int\";a:2:{i:0;i:0;i:1;s:4:\"INT:\";}s:3:\"nse\";a:2:{i:0;i:0;i:1;s:4:\"NSE:\";}s:11:\"articlepath\";a:2:{i:0;i:0;i:1;s:11:\"ARTICLEPATH\";}s:14:\"revisionmonth1\";a:2:{i:0;i:1;i:1;s:14:\"REVISIONMONTH1\";}s:6:\"plural\";a:2:{i:0;i:0;i:1;s:7:\"PLURAL:\";}s:12:\"canonicalurl\";a:2:{i:0;i:0;i:1;s:13:\"CANONICALURL:\";}s:13:\"canonicalurle\";a:2:{i:0;i:0;i:1;s:14:\"CANONICALURLE:\";}s:3:\"raw\";a:2:{i:0;i:0;i:1;s:4:\"RAW:\";}s:9:\"rawsuffix\";a:2:{i:0;i:1;i:1;s:1:\"R\";}s:12:\"anchorencode\";a:2:{i:0;i:0;i:1;s:12:\"ANCHORENCODE\";}s:13:\"directionmark\";a:3:{i:0;i:1;i:1;s:13:\"DIRECTIONMARK\";i:2;s:7:\"DIRMARK\";}s:16:\"pagesinnamespace\";a:3:{i:0;i:1;i:1;s:17:\"PAGESINNAMESPACE:\";i:2;s:10:\"PAGESINNS:\";}s:7:\"padleft\";a:2:{i:0;i:0;i:1;s:7:\"PADLEFT\";}s:8:\"padright\";a:2:{i:0;i:0;i:1;s:8:\"PADRIGHT\";}s:8:\"url_path\";a:2:{i:0;i:0;i:1;s:4:\"PATH\";}s:8:\"url_wiki\";a:2:{i:0;i:0;i:1;s:4:\"WIKI\";}s:9:\"url_query\";a:2:{i:0;i:0;i:1;s:5:\"QUERY\";}}'),('es','messages:svgedit-editbutton-edit','s:13:\"Editar dibujo\";'),('es','messages:svgedit-summary-label','s:14:\"Editar resumen\";'),('es','messages:svgedit-summary-default','s:29:\"/* Modificado con svg-edit */\";'),('es','messages:svgedit-editor-save-close','s:16:\"Guardar y cerrar\";'),('es','messages:svgedit-editor-close','s:8:\"Cancelar\";'),('es','messages:svgedit-desc','s:107:\"Edición de dibujos en formato SVG en el propio navegador con [http://code.google.com/p/svg-edit/ SVG-Edit]\";'),('es','messages:svgedit-edit-tab','s:13:\"Editar dibujo\";'),('es','messages:svgedit-edit-tab-tooltip','s:44:\"Puede editar esta dibujo SVG en el navegador\";'),('es','messages:svgedit-toolbar-insert','s:10:\"Dibujo SVG\";'),('es','messages:tog-underline','s:17:\"Subrayar enlaces:\";'),('es','messages:tog-highlightbroken','s:134:\"Destacar enlaces a artículos vacíos <a href=\"\" class=\"new\">como este</a> (alternativa: como éste<a href=\"\" class=\"internal\">?</a>).\";'),('es','messages:tog-justify','s:20:\"Justificar párrafos\";'),('es','messages:tog-hideminor','s:46:\"Ocultar ediciones menores en cambios recientes\";'),('es','messages:tog-hidepatrolled','s:54:\"Ocultar ediciones patrulladas en los cambios recientes\";'),('es','messages:tog-newpageshidepatrolled','s:59:\"Ocultar páginas patrulladas de la lista de páginas nuevas\";'),('es','messages:tog-extendwatchlist','s:84:\"Expandir la lista de seguimiento a todos los cambios, no sólo a los más recientes.\";'),('es','messages:tog-usenewrc','s:49:\"Cambios recientes mejorados (requiere JavaScript)\";'),('es','messages:tog-numberheadings','s:40:\"Numerar automáticamente los encabezados\";'),('es','messages:tog-showtoolbar','s:28:\"Mostrar la barra de edición\";'),('es','messages:tog-editondblclick','s:52:\"Editar páginas con doble clic (requiere JavaScript)\";'),('es','messages:tog-editsection','s:60:\"Habilitar la edición de secciones usando el enlace [editar]\";'),('es','messages:tog-editsectiononrightclick','s:121:\"Habilitar la edición de secciones presionando el botón de la derecha en los títulos de secciones (requiere JavaScript)\";'),('es','messages:tog-showtoc','s:60:\"Mostrar el índice (para páginas con más de 3 encabezados)\";'),('es','messages:tog-rememberpassword','s:124:\"Recordar mi nombre de usuario y contraseña entre sesiones en este navegador (por un máximo de $1 {{PLURAL:$1|día|días}})\";'),('es','messages:tog-watchcreations','s:32:\"Vigilar las páginas que yo cree\";'),('es','messages:tog-watchdefault','s:37:\"Vigilar las páginas que yo modifique\";'),('es','messages:tog-watchmoves','s:33:\"Vigilar las páginas que renombre\";'),('es','messages:tog-watchdeletion','s:30:\"Vigilar las páginas que borre\";'),('es','messages:tog-minordefault','s:64:\"Marcar todas las ediciones como menores de manera predeterminada\";'),('es','messages:tog-previewontop','s:54:\"Mostrar previsualización antes del cuadro de edición\";'),('es','messages:tog-previewonfirst','s:48:\"Mostrar previsualización en la primera edición\";'),('es','messages:tog-nocache','s:46:\"Desactivar la caché de páginas del navegador\";'),('es','messages:tog-enotifwatchlistpages','s:92:\"Enviarme un correo electrónico cuando una página en mi lista de seguimiento sea modificada\";'),('es','messages:tog-enotifusertalkpages','s:78:\"Enviarme un correo electrónico cuando mi página de discusión sea modificada\";'),('es','messages:tog-enotifminoredits','s:52:\"Notificarme también los cambios menores de páginas\";'),('es','messages:tog-enotifrevealaddr','s:76:\"Revelar mi dirección de correo electrónico en los correos de notificación\";'),('es','messages:tog-shownumberswatching','s:45:\"Mostrar el número de usuarios que la vigilan\";'),('es','messages:tog-oldsig','s:13:\"Firma actual:\";'),('es','messages:tog-fancysig','s:55:\"Tratar firma como wikitexto (sin un enlace automático)\";'),('es','messages:tog-externaleditor','s:178:\"Utilizar editor externo por defecto (sólo para expertos pues necesitas ajustes especiales en tu ordenador. [//www.mediawiki.org/wiki/Manual:External_editors Más información.])\";'),('es','messages:tog-externaldiff','s:176:\"Utilizar diff externo por defecto (sólo para expertos pues necesitas ajustes especiales en tu ordenador. [//www.mediawiki.org/wiki/Manual:External_editors Más información.])\";'),('es','messages:tog-showjumplinks','s:47:\"Habilitar enlaces de accesibilidad «saltar a»\";'),('es','messages:tog-uselivepreview','s:45:\"Usar live preview (JavaScript) (Experimental)\";'),('es','messages:tog-forceeditsummary','s:42:\"Alertar al grabar sin resumen de edición.\";'),('es','messages:tog-watchlisthideown','s:48:\"Ocultar mis ediciones en la lista de seguimiento\";'),('es','messages:tog-watchlisthidebots','s:52:\"Ocultar ediciones de bots en la lista de seguimiento\";'),('es','messages:tog-watchlisthideminor','s:52:\"Ocultar ediciones menores en la lista de seguimiento\";'),('es','messages:tog-watchlisthideliu','s:68:\"Ocultar ediciones de usuarios registrados en la lista de seguimiento\";'),('es','messages:tog-watchlisthideanons','s:66:\"Ocultar ediciones de usuarios anónimos en la lista de seguimiento\";'),('es','messages:tog-watchlisthidepatrolled','s:60:\"Ocultar las ediciones patrulladas en la lista de seguimiento\";'),('es','messages:tog-nolangconversion','s:37:\"Deshabilitar conversión de lenguajes\";'),('es','messages:tog-ccmeonemails','s:57:\"Recibir copias de los correos que envío a otros usuarios\";'),('es','messages:tog-diffonly','s:58:\"No mostrar el contenido de la página bajo las diferencias\";'),('es','messages:tog-showhiddencats','s:30:\"Mostrar categorías escondidas\";'),('es','messages:tog-noconvertlink','s:46:\"Desactivar la conversión de título de enlace\";'),('es','messages:tog-norollbackdiff','s:39:\"Omitir el \'\'diff\'\' después de revertir\";'),('es','messages:underline-always','s:7:\"Siempre\";'),('es','messages:underline-never','s:5:\"Nunca\";'),('es','messages:underline-default','s:34:\"Valor predeterminado del navegador\";'),('es','messages:editfont-style','s:44:\"Estilo de tipografía del área de edición:\";'),('es','messages:editfont-default','s:28:\"Predeterminado del navegador\";'),('es','messages:editfont-monospace','s:25:\"Tipografía monoespaciada\";'),('es','messages:editfont-sansserif','s:22:\"Tipografía sans-serif\";'),('es','messages:editfont-serif','s:17:\"Tipografía serif\";'),('es','messages:sunday','s:7:\"domingo\";'),('es','messages:monday','s:5:\"lunes\";'),('es','messages:tuesday','s:6:\"martes\";'),('es','messages:wednesday','s:10:\"miércoles\";'),('es','messages:thursday','s:6:\"jueves\";'),('es','messages:friday','s:7:\"viernes\";'),('es','messages:saturday','s:7:\"sábado\";'),('es','messages:sun','s:3:\"dom\";'),('es','messages:mon','s:3:\"lun\";'),('es','messages:tue','s:3:\"mar\";'),('es','messages:wed','s:3:\"mie\";'),('es','messages:thu','s:3:\"jue\";'),('es','messages:fri','s:3:\"vie\";'),('es','messages:sat','s:3:\"sab\";'),('es','messages:january','s:5:\"enero\";'),('es','messages:february','s:7:\"febrero\";'),('es','messages:march','s:5:\"marzo\";'),('es','messages:april','s:5:\"abril\";'),('es','messages:may_long','s:4:\"mayo\";'),('es','messages:june','s:5:\"junio\";'),('es','messages:july','s:5:\"julio\";'),('es','messages:august','s:6:\"agosto\";'),('es','messages:september','s:10:\"septiembre\";'),('es','messages:october','s:7:\"octubre\";'),('es','messages:november','s:9:\"noviembre\";'),('es','messages:december','s:9:\"diciembre\";'),('es','messages:january-gen','s:5:\"enero\";'),('es','messages:february-gen','s:7:\"febrero\";'),('es','messages:march-gen','s:5:\"marzo\";'),('es','messages:april-gen','s:5:\"abril\";'),('es','messages:may-gen','s:4:\"mayo\";'),('es','messages:june-gen','s:5:\"junio\";'),('es','messages:july-gen','s:5:\"julio\";'),('es','messages:august-gen','s:6:\"agosto\";'),('es','messages:september-gen','s:10:\"septiembre\";'),('es','messages:october-gen','s:7:\"octubre\";'),('es','messages:november-gen','s:9:\"noviembre\";'),('es','messages:december-gen','s:9:\"diciembre\";'),('es','messages:jan','s:3:\"ene\";'),('es','messages:feb','s:3:\"feb\";'),('es','messages:mar','s:3:\"mar\";'),('es','messages:apr','s:3:\"abr\";'),('es','messages:may','s:3:\"may\";'),('es','messages:jun','s:3:\"jun\";'),('es','messages:jul','s:3:\"jul\";'),('es','messages:aug','s:3:\"ago\";'),('es','messages:sep','s:3:\"sep\";'),('es','messages:oct','s:3:\"oct\";'),('es','messages:nov','s:3:\"nov\";'),('es','messages:dec','s:3:\"dic\";'),('es','messages:pagecategories','s:36:\"{{PLURAL:$1|Categoría|Categorías}}\";'),('es','messages:category_header','s:34:\"Artículos en la categoría «$1»\";'),('es','messages:subcategories','s:14:\"Subcategorías\";'),('es','messages:category-media-header','s:43:\"Archivos multimedia en la categoría «$1»\";'),('es','messages:category-empty','s:81:\"\'\'La categoría no contiene actualmente ningún artículo o archivo multimedia.\'\'\";'),('es','messages:hidden-categories','s:57:\"{{PLURAL:$1|Categoría escondida|Categorías escondidas}}\";'),('es','messages:hidden-category-category','s:19:\"Categorías ocultas\";'),('es','messages:category-subcat-count','s:190:\"{{PLURAL:$2|Esta categoría comprende solamente la siguiente categoría.|Esta categoría incluye {{PLURAL:$1|la siguiente categorías|las siguientes $1 subcategorías}}, de un total de $2.}}\";'),('es','messages:category-subcat-count-limited','s:99:\"Esta categoría contiene {{PLURAL:$1|la siguiente subcategoría|las siguientes $1 subcategorías}}.\";'),('es','messages:category-article-count','s:198:\"{{PLURAL:$2|Esta categoría incluye solamente la siguiente página.|{{PLURAL:$1|La siguiente página página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría, de un total de $2.}}\";'),('es','messages:category-article-count-limited','s:101:\"{{PLURAL:$1|La siguiente página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría.\";'),('es','messages:category-file-count','s:191:\"{{PLURAL:$2|Esta categoría contiene solamente el siguiente archivo.|{{PLURAL:$1|El siguiente archivo pertenece|Los siguientes $1 archivos pertenecen}} a esta categoría, de un total de $2.}}\";'),('es','messages:category-file-count-limited','s:101:\"{{PLURAL:$1|El siguiente fichero pertenece|Los siguientes $1 ficheros pertenecen}} a esta categoría.\";'),('es','messages:listingcontinuesabbrev','s:5:\"cont.\";'),('es','messages:index-category','s:18:\"Páginas indexadas\";'),('es','messages:noindex-category','s:21:\"Páginas no indizadas\";'),('es','messages:broken-file-category','s:37:\"Páginas con enlaces rotos a archivos\";'),('es','messages:about','s:9:\"Acerca de\";'),('es','messages:article','s:9:\"Artículo\";'),('es','messages:newwindow','s:30:\"(Se abre en una ventana nueva)\";'),('es','messages:cancel','s:8:\"Cancelar\";'),('es','messages:moredotdotdot','s:7:\"Más...\";'),('es','messages:mypage','s:10:\"Mi página\";'),('es','messages:mytalk','s:10:\"Discusión\";'),('es','messages:anontalk','s:23:\"Discusión para esta IP\";'),('es','messages:navigation','s:11:\"Navegación\";'),('es','messages:and','s:6:\"&#32;y\";'),('es','messages:qbfind','s:6:\"Buscar\";'),('es','messages:qbbrowse','s:7:\"Navegar\";'),('es','messages:qbedit','s:6:\"Editar\";'),('es','messages:qbpageoptions','s:19:\"Opciones de página\";'),('es','messages:qbpageinfo','s:23:\"Información de página\";'),('es','messages:qbmyoptions','s:12:\"Mis páginas\";'),('es','messages:qbspecialpages','s:19:\"Páginas especiales\";'),('es','messages:faq','s:25:\"Preguntas más frecuentes\";'),('es','messages:faqpage','s:11:\"Project:FAQ\";'),('es','messages:vector-action-addsection','s:12:\"Añadir tema\";'),('es','messages:vector-action-delete','s:6:\"Borrar\";'),('es','messages:vector-action-move','s:5:\"Mover\";'),('es','messages:vector-action-protect','s:8:\"Proteger\";'),('es','messages:vector-action-undelete','s:9:\"Restaurar\";'),('es','messages:vector-action-unprotect','s:19:\"Cambiar protección\";'),('es','messages:vector-simplesearch-preference','s:66:\"Activar sugerencias de búsqueda mejoradas (piel Vector solamente)\";'),('es','messages:vector-view-create','s:5:\"Crear\";'),('es','messages:vector-view-edit','s:6:\"Editar\";'),('es','messages:vector-view-history','s:13:\"Ver historial\";'),('es','messages:vector-view-view','s:4:\"Leer\";'),('es','messages:vector-view-viewsource','s:10:\"Ver fuente\";'),('es','messages:actions','s:8:\"Acciones\";'),('es','messages:namespaces','s:19:\"Espacios de nombres\";'),('es','messages:variants','s:9:\"Variantes\";'),('es','messages:errorpagetitle','s:5:\"Error\";'),('es','messages:returnto','s:12:\"Volver a $1.\";'),('es','messages:tagline','s:15:\"De {{SITENAME}}\";'),('es','messages:help','s:5:\"Ayuda\";'),('es','messages:search','s:6:\"Buscar\";'),('es','messages:searchbutton','s:6:\"Buscar\";'),('es','messages:go','s:2:\"Ir\";'),('es','messages:searcharticle','s:2:\"Ir\";'),('es','messages:history','s:9:\"Historial\";'),('es','messages:history_short','s:9:\"Historial\";'),('es','messages:updatedmarker','s:35:\"actualizado desde mi última visita\";'),('es','messages:printableversion','s:22:\"Versión para imprimir\";'),('es','messages:permalink','s:17:\"Enlace permanente\";'),('es','messages:print','s:8:\"Imprimir\";'),('es','messages:view','s:3:\"Ver\";'),('es','messages:edit','s:6:\"Editar\";'),('es','messages:create','s:5:\"Crear\";'),('es','messages:editthispage','s:19:\"Editar esta página\";'),('es','messages:create-this-page','s:18:\"Crear esta página\";'),('es','messages:delete','s:6:\"Borrar\";'),('es','messages:deletethispage','s:19:\"Borrar esta página\";'),('es','messages:undelete_short','s:49:\"Restaurar {{PLURAL:$1|una edición|$1 ediciones}}\";'),('es','messages:viewdeleted_short','s:60:\"Ver {{PLURAL:$1|una edición borrada|$1 ediciones borradas}}\";'),('es','messages:protect','s:8:\"Proteger\";'),('es','messages:protect_change','s:7:\"cambiar\";'),('es','messages:protectthispage','s:21:\"Proteger esta página\";'),('es','messages:unprotect','s:19:\"Cambiar protección\";'),('es','messages:unprotectthispage','s:38:\"Cambiar la protección de esta página\";'),('es','messages:newpage','s:13:\"Página nueva\";'),('es','messages:talkpage','s:21:\"Discutir esta página\";'),('es','messages:talkpagelinktext','s:10:\"Discusión\";'),('es','messages:specialpage','s:16:\"Página especial\";'),('es','messages:personaltools','s:23:\"Herramientas personales\";'),('es','messages:postcomment','s:14:\"Nueva sección\";'),('es','messages:articlepage','s:13:\"Ver artículo\";'),('es','messages:talk','s:10:\"Discusión\";'),('es','messages:views','s:6:\"Vistas\";'),('es','messages:toolbox','s:12:\"Herramientas\";'),('es','messages:userpage','s:22:\"Ver página de usuario\";'),('es','messages:projectpage','s:23:\"Ver página de proyecto\";'),('es','messages:imagepage','s:23:\"Ver página del archivo\";'),('es','messages:mediawikipage','s:22:\"Ver página de mensaje\";'),('es','messages:templatepage','s:24:\"Ver página de plantilla\";'),('es','messages:viewhelppage','s:20:\"Ver página de ayuda\";'),('es','messages:categorypage','s:25:\"Ver página de categoría\";'),('es','messages:viewtalkpage','s:14:\"Ver discusión\";'),('es','messages:otherlanguages','s:13:\"Otros idiomas\";'),('es','messages:redirectedfrom','s:21:\"(Redirigido desde $1)\";'),('es','messages:redirectpagesub','s:18:\"Página redirigida\";'),('es','messages:lastmodifiedat','s:60:\"Esta página fue modificada por última vez el $1, a las $2.\";'),('es','messages:viewcount','s:61:\"Esta página ha sido visitada {{PLURAL:$1|una vez|$1 veces}}.\";'),('es','messages:protectedpage','s:17:\"Página protegida\";'),('es','messages:jumpto','s:9:\"Saltar a:\";'),('es','messages:jumptonavigation','s:11:\"navegación\";'),('es','messages:jumptosearch','s:6:\"buscar\";'),('es','messages:view-pool-error','s:206:\"Lo sentimos, los servidores están sobrecargados en este momento.\nHay demasiados usuarios que están tratando de ver esta página.\nEspera un momento antes de tratar de acceder nuevamente a esta página.\n\n$1\";'),('es','messages:pool-timeout','s:37:\"Tiempo limite agotado para el bloqueo\";'),('es','messages:pool-queuefull','s:30:\"La cola de trabajo está llena\";'),('es','messages:pool-errorunknown','s:17:\"Error desconocido\";'),('es','messages:aboutsite','s:22:\"Acerca de {{SITENAME}}\";'),('es','messages:aboutpage','s:17:\"Project:Acerca de\";'),('es','messages:copyright','s:58:\"El contenido está disponible bajo los términos de la $1.\";'),('es','messages:copyrightpage','s:32:\"{{ns:project}}:Derechos de autor\";'),('es','messages:currentevents','s:10:\"Actualidad\";'),('es','messages:currentevents-url','s:18:\"Project:Actualidad\";'),('es','messages:disclaimers','s:11:\"Aviso legal\";'),('es','messages:disclaimerpage','s:46:\"Project:Limitación general de responsabilidad\";'),('es','messages:edithelp','s:17:\"Ayuda de edición\";'),('es','messages:edithelppage','s:31:\"Help:Cómo se edita una página\";'),('es','messages:helppage','s:15:\"Help:Contenidos\";'),('es','messages:mainpage','s:17:\"Página principal\";'),('es','messages:mainpage-description','s:17:\"Página principal\";'),('es','messages:policy-url','s:18:\"Project:Políticas\";'),('es','messages:portal','s:22:\"Portal de la comunidad\";'),('es','messages:portal-url','s:30:\"Project:Portal de la comunidad\";'),('es','messages:privacy','s:33:\"Política de protección de datos\";'),('es','messages:privacypage','s:41:\"Project:Política de protección de datos\";'),('es','messages:badaccess','s:17:\"Error de permisos\";'),('es','messages:badaccess-group0','s:67:\"No tienes autorización para ejecutar la acción que ha solicitado.\";'),('es','messages:badaccess-groups','s:117:\"La acción que has solicitado está restringida a los usuarios {{PLURAL:$2|del grupo|de uno de estos $2 grupos}}: $1.\";'),('es','messages:versionrequired','s:67:\"La versión $1 de MediaWiki es necesaria para utilizar esta página\";'),('es','messages:versionrequiredtext','s:144:\"Se necesita la versión $1 de MediaWiki para utilizar esta página. Para más información, consultar [[Special:Version|la página de versión]]\";'),('es','messages:ok','s:7:\"Aceptar\";'),('es','messages:retrievedfrom','s:18:\"Obtenido de «$1»\";'),('es','messages:youhavenewmessages','s:15:\"Tienes $1 ($2).\";'),('es','messages:newmessageslink','s:15:\"mensajes nuevos\";'),('es','messages:newmessagesdifflink','s:21:\"última modificación\";'),('es','messages:youhavenewmessagesmulti','s:28:\"Tienes nuevos mensajes en $1\";'),('es','messages:editsection','s:6:\"editar\";'),('es','messages:editold','s:6:\"editar\";'),('es','messages:viewsourceold','s:18:\"ver código fuente\";'),('es','messages:editlink','s:9:\"modificar\";'),('es','messages:viewsourcelink','s:10:\"ver fuente\";'),('es','messages:editsectionhint','s:19:\"Editar sección: $1\";'),('es','messages:toc','s:9:\"Contenido\";'),('es','messages:showtoc','s:7:\"mostrar\";'),('es','messages:hidetoc','s:7:\"ocultar\";'),('es','messages:collapsible-collapse','s:7:\"Ocultar\";'),('es','messages:collapsible-expand','s:7:\"Mostrar\";'),('es','messages:thisisdeleted','s:21:\"¿Ver o restaurar $1?\";'),('es','messages:viewdeleted','s:16:\"¿Deseas ver $1?\";'),('es','messages:restorelink','s:56:\"{{PLURAL:$1|una edición borrada|$1 ediciones borradas}}\";'),('es','messages:feedlinks','s:13:\"Sindicación:\";'),('es','messages:feed-invalid','s:59:\"Tipo de subscripción a sindicación de noticias inválida.\";'),('es','messages:feed-unavailable','s:37:\"Las fuentes web no están disponibles\";'),('es','messages:site-rss-feed','s:13:\"$1 Fuente RSS\";'),('es','messages:site-atom-feed','s:15:\"Feed Atom de $1\";'),('es','messages:page-rss-feed','s:16:\"Canal RSS «$1»\";'),('es','messages:page-atom-feed','s:17:\"Canal Atom «$1»\";'),('es','messages:red-link-title','s:25:\"$1 (la página no existe)\";'),('es','messages:sort-descending','s:17:\"Orden descendente\";'),('es','messages:sort-ascending','s:16:\"Orden ascendente\";'),('es','messages:nstab-main','s:7:\"Página\";'),('es','messages:nstab-user','s:7:\"Usuario\";'),('es','messages:nstab-media','s:5:\"Media\";'),('es','messages:nstab-special','s:16:\"Página especial\";'),('es','messages:nstab-project','s:20:\"Página del proyecto\";'),('es','messages:nstab-image','s:7:\"Archivo\";'),('es','messages:nstab-mediawiki','s:7:\"Mensaje\";'),('es','messages:nstab-template','s:9:\"Plantilla\";'),('es','messages:nstab-help','s:5:\"Ayuda\";'),('es','messages:nstab-category','s:10:\"Categoría\";'),('es','messages:nosuchaction','s:21:\"No existe tal acción\";'),('es','messages:nosuchactiontext','s:217:\"La acción especificada en la dirección es inválida.\nEs posible que hayas escrito mal la URL o que hayas seguido un enlace incorrecto. Esto también podría indicar un error en el software utilizado en {{SITENAME}}.\";'),('es','messages:nosuchspecialpage','s:30:\"No existe esa página especial\";'),('es','messages:nospecialpagetext','s:163:\"<strong>Ha solicitado una página especial inexistente.</strong>\n\nPuedes ver una lista de las páginas especiales en [[Special:SpecialPages|{{int:specialpages}}]].\";'),('es','messages:error','s:5:\"Error\";'),('es','messages:databaseerror','s:25:\"Error de la base de datos\";'),('es','messages:dberrortext','s:305:\"Ha ocurrido un error de sintaxis en una consulta a la base de datos.\nEsto puede indicar un error en el software.\nLa última consulta a la base de datos que se intentó fue:\n<blockquote><tt>$1</tt></blockquote>\ndentro de la función «<tt>$2</tt>».\nLa base de datos devolvió el error «<tt>$3: $4</tt>».\";'),('es','messages:dberrortextcl','s:202:\"Ha ocurrido un error de sintaxis en una consulta a la base de datos.\nLa última consulta a la base de datos que se intentó fue:\n«$1»\ndesde la función «$2».\nBase de datos retornó error «$3: $4».\";'),('es','messages:laggedslavemode','s:81:\"\'\'\'Aviso:\'\'\' puede que falten las actualizaciones más recientes en esta página.\";'),('es','messages:readonly','s:23:\"Base de datos bloqueada\";'),('es','messages:enterlockreason','s:97:\"Explique el motivo del bloqueo, incluyendo una estimación de cuándo se producirá el desbloqueo\";'),('es','messages:readonlytext','s:234:\"La base de datos no permite nuevas entradas u otras modificaciones de forma temporal, probablemente por mantenimiento rutinario, tras lo cual volverá a la normalidad.\n\nLa explicación dada por el administrador que la bloqueó fue: $1\";'),('es','messages:missing-article','s:375:\"La base de datos no encuentra el texto de una página que debería hallarse, llamada «$1» $2.\n\nLa causa de esto suele deberse a un \'\'diff\'\' anacrónico o un enlace al historial de una página que ha sido borrada.\n\nSi no fuera el caso, puedes haber encontrado un fallo en el software.\n\nPor favor, avisa a un [[Special:ListUsers/sysop|administrador]], tomando nota de la URL.\";'),('es','messages:missingarticle-rev','s:23:\"(n.º de revisión: $1)\";'),('es','messages:missingarticle-diff','s:14:\"(Dif.: $1, $2)\";'),('es','messages:readonly_lag','s:86:\"La base de datos se ha bloqueado temporalmente mientras los servidores se sincronizan.\";'),('es','messages:internalerror','s:13:\"Error interno\";'),('es','messages:internalerror_info','s:17:\"Error interno: $1\";'),('es','messages:fileappenderrorread','s:48:\"No se ha podido leer «$1» durante la anexión.\";'),('es','messages:fileappenderror','s:40:\"No se ha podido añadir «$1» a «$2».\";'),('es','messages:filecopyerror','s:45:\"No se pudo copiar el archivo «$1» a «$2».\";'),('es','messages:filerenameerror','s:48:\"No se pudo renombrar el archivo «$1» a «$2».\";'),('es','messages:filedeleteerror','s:36:\"No se pudo borrar el archivo «$1».\";'),('es','messages:directorycreateerror','s:38:\"No se pudo crear el directorio «$1».\";'),('es','messages:filenotfound','s:39:\"No se pudo encontrar el archivo «$1».\";'),('es','messages:fileexistserror','s:60:\"No se pudo escribir en el archivo «$1»: el archivo existe.\";'),('es','messages:unexpected','s:32:\"Valor inesperado: «$1»=«$2».\";'),('es','messages:formerror','s:38:\"Error: no se pudo enviar el formulario\";'),('es','messages:badarticleerror','s:55:\"Esta acción no se puede llevar a cabo en esta página.\";'),('es','messages:cannotdelete','s:95:\"La página o archivo «$1» no se pudo borrar.\nPuede que ya haya sido borrado por alguien más.\";'),('es','messages:badtitle','s:18:\"Título incorrecto\";'),('es','messages:badtitletext','s:195:\"El título de la página solicitada está vacío, no es válido, o es un enlace interidioma o interwiki incorrecto.\nPuede que contenga uno o más caracteres que no se pueden usar en los títulos.\";'),('es','messages:perfcached','s:79:\"Los siguientes datos están en caché y por tanto pueden estar desactualizados:\";'),('es','messages:perfcachedts','s:68:\"Estos datos están almacenados. Su última actualización fue el $1.\";'),('es','messages:querypage-no-updates','s:118:\"Actualmente las actualizaciones de esta página están desactivadas. Estos datos no serán actualizados a corto plazo.\";'),('es','messages:wrong_wfQuery_params','s:76:\"Parámetros incorrectos para wfQuery()<br />\nFunción: $1<br />\nConsulta: $2\";'),('es','messages:viewsource','s:10:\"Ver fuente\";'),('es','messages:viewsourcefor','s:7:\"para $1\";'),('es','messages:actionthrottled','s:17:\"Acción bloqueada\";'),('es','messages:actionthrottledtext','s:219:\"Como medida contra el \'\'spam\'\', la acción que estás realizando está limitada a un número determinado de veces en un periodo corto de tiempo, y has excedido ese límite. Por favor inténtalo de nuevo en unos minutos.\";'),('es','messages:protectedpagetext','s:55:\"Esta página ha sido protegida para evitar su edición.\";'),('es','messages:viewsourcetext','s:54:\"Puedes ver y copiar el código fuente de esta página:\";'),('es','messages:protectedinterface','s:95:\"Esta página provee texto del interfaz del software, y está protegida para evitar vandalismos.\";'),('es','messages:editinginterface','s:353:\"\'\'\'Aviso:\'\'\' Estás editando una página usada para proporcionar texto de interfaz para el software. Los cambios en esta página afectarán a la apariencia de la interfaz para los demás usuarios. Para traducciones, por favor considera usar [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], el proyecto de regionalización de MediaWiki.\";'),('es','messages:sqlhidden','s:21:\"(Consulta SQL oculta)\";'),('es','messages:cascadeprotected','s:189:\"Esta página ha sido protegida para su edición, porque está incluida en {{PLURAL:$1|la siguiente página|las siguientes páginas}}, que están protegidas con la opción de «cascada»:\n$2\";'),('es','messages:namespaceprotected','s:75:\"No tienes permiso para editar las páginas del espacio de nombres \'\'\'$1\'\'\'.\";'),('es','messages:customcssprotected','s:107:\"No tienes permiso para editar esta página CSS, porque contiene configuraciones personales de otro usuario.\";'),('es','messages:customjsprotected','s:114:\"No tienes permiso para editar esta página JavaScript, porque contiene configuraciones personales de otro usuario.\";'),('es','messages:ns-specialprotected','s:43:\"Las páginas especiales no se pueden editar\";'),('es','messages:titleprotected','s:97:\"Esta página ha sido protegida contra creación por [[User:$1|$1]].\nEl motivo dado fue: \"\'\'$2\'\'\".\";'),('es','messages:virus-badscanner','s:54:\"Error de configuración: Antivirus desconocido: \'\'$1\'\'\";'),('es','messages:virus-scanfailed','s:28:\"Escaneo fallido (código $1)\";'),('es','messages:virus-unknownscanner','s:22:\"antivirus desconocido:\";'),('es','messages:logouttext','s:323:\"\'\'\'Ha terminado su sesión.\'\'\'\n\nPuedes continuar usando {{SITENAME}} de forma anónima, o puedes [[Special:UserLogin|iniciar sesión otra vez]] con el mismo u otro usuario.\nTen en cuenta que las páginas que tengas abiertas en otras ventanas o pestañas pueden verse como si siguieras identificado hasta que las refresques.\";'),('es','messages:welcomecreation','s:119:\"== ¡Bienvenido(a), $1! ==\n\nTu cuenta ha sido creada.\nNo olvides personalizar [[Special:Preferences|tus preferencias]].\";'),('es','messages:yourname','s:18:\"Nombre de usuario:\";'),('es','messages:yourpassword','s:12:\"Contraseña:\";'),('es','messages:yourpasswordagain','s:24:\"Confirma la contraseña:\";'),('es','messages:remembermypassword','s:74:\"Mantenerme conectado en este navegador (hasta $1 {{PLURAL:$1|día|días}})\";'),('es','messages:securelogin-stick-https','s:56:\"Permanecer conectado a HTTPS después de iniciar sesión\";'),('es','messages:yourdomainname','s:7:\"Dominio\";'),('es','messages:externaldberror','s:125:\"Hubo un error de autenticación externa de la base de datos o bien no tienes autorización para actualizar tu cuenta externa.\";'),('es','messages:login','s:15:\"Iniciar sesión\";'),('es','messages:nav-login-createaccount','s:30:\"Iniciar sesión / crear cuenta\";'),('es','messages:loginprompt','s:88:\"Es necesario habilitar las \'\'cookies\'\' en el navegador para registrarse en {{SITENAME}}.\";'),('es','messages:userlogin','s:30:\"Iniciar sesión / crear cuenta\";'),('es','messages:userloginnocreate','s:15:\"Iniciar sesión\";'),('es','messages:logout','s:14:\"Cerrar sesión\";'),('es','messages:userlogout','s:14:\"Cerrar sesión\";'),('es','messages:notloggedin','s:23:\"No has iniciado sesión\";'),('es','messages:nologin','s:27:\"¿No tienes una cuenta? $1.\";'),('es','messages:nologinlink','s:16:\"Crear una cuenta\";'),('es','messages:createaccount','s:12:\"Crear cuenta\";'),('es','messages:gotaccount','s:27:\"¿Ya tienes una cuenta? $1.\";'),('es','messages:gotaccountlink','s:6:\"Entrar\";'),('es','messages:userlogin-resetlink','s:32:\"¿Olvidaste tus datos de acceso?\";'),('es','messages:createaccountmail','s:23:\"por correo electrónico\";'),('es','messages:createaccountreason','s:7:\"Motivo:\";'),('es','messages:badretype','s:30:\"Las contraseñas no coinciden.\";'),('es','messages:userexists','s:84:\"El nombre de usuario indicado ya está en uso.\nPor favor escoge un nombre diferente.\";'),('es','messages:loginerror','s:26:\"Error de inicio de sesión\";'),('es','messages:createaccounterror','s:30:\"No se pudo crear la cuenta: $1\";'),('es','messages:nocookiesnew','s:275:\"La cuenta de usuario ha sido creada, pero no has iniciado sesión.\n{{SITENAME}} usa <em>cookies</em> para identificar a los usuarios registrados.\nTu navegador tiene desactivadas las cookies.\nPor favor, actívalas e inicia sesión con tu nuevo nombre de usuario y contraseña.\";'),('es','messages:nocookieslogin','s:176:\"{{SITENAME}} utiliza <em>cookies</em> para la autenticación de usuarios. Las <em>cookies</em> están desactivadas en tu navegador. Por favor, actívalas e inténtalo de nuevo.\";'),('es','messages:nocookiesfornew','s:175:\"No se pudo crear la cuenta de usuario, porque no pudimos confirmar su origen.\nAsegúrate de que tienes las cookies activadas, luego recarga esta página e inténtalo de nuevo.\";'),('es','messages:noname','s:51:\"No se ha especificado un nombre de usuario válido.\";'),('es','messages:loginsuccesstitle','s:25:\"Inicio de sesión exitoso\";'),('es','messages:loginsuccess','s:55:\"\'\'\'Has iniciado sesión en {{SITENAME}} como «$1».\'\'\'\";'),('es','messages:nosuchuser','s:174:\"No existe ningún usuario llamado «$1».\nLos nombres de usuario son sensibles a las mayúsculas.\nRevisa la ortografía, o [[Special:UserLogin/signup|crea una cuenta nueva]].\";'),('es','messages:nosuchusershort','s:83:\"No hay un usuario con el nombre «$1». Comprueba que lo has escrito correctamente.\";'),('es','messages:nouserspecified','s:39:\"Debes especificar un nombre de usuario.\";'),('es','messages:login-userblocked','s:61:\"Este usuario está bloqueado. Inicio de sesión no permitido.\";'),('es','messages:wrongpassword','s:70:\"La contraseña indicada es incorrecta.\nPor favor, inténtalo de nuevo.\";'),('es','messages:wrongpasswordempty','s:63:\"No has escrito una contraseña.\nPor favor, inténtalo de nuevo.\";'),('es','messages:passwordtooshort','s:77:\"Las contraseñas deben tener al menos {{PLURAL:$1|1 caracter|$1 caracteres}}.\";'),('es','messages:password-name-match','s:58:\"Tu contraseña debe ser diferente de tu nombre de usuario.\";'),('es','messages:password-login-forbidden','s:67:\"El uso de este nombre de usuario y contraseña han sido prohibidos.\";'),('es','messages:mailmypassword','s:52:\"Enviar una nueva contraseña por correo electrónico\";'),('es','messages:passwordremindertitle','s:43:\"Recordatorio de contraseña de {{SITENAME}}\";'),('es','messages:passwordremindertext','s:515:\"Alguien (probablemente tú, desde la dirección IP $1) solicitó que te enviáramos una nueva contraseña para tu cuenta en {{SITENAME}} ($4).\nSe ha creado la siguiente contraseña temporal para el usuario «$2»: «$3»\nAhora deberías iniciar sesión y cambiar tu contraseña. Tu contraseña temporal expirará en {{PLURAL:$5|un día|$5 días}}.\n\nSi fue otro quien solicitó este mensaje o has recordado tu contraseña y ya no deseas cambiarla, puedes ignorar este mensaje y seguir usando tu contraseña original.\";'),('es','messages:noemail','s:68:\"No hay una dirección de correo electrónico registrada para «$1».\";'),('es','messages:noemailcreate','s:63:\"Necesitas proveer una dirección de correo electrónico válida\";'),('es','messages:passwordsent','s:119:\"Se ha enviado una nueva contraseña al correo electrónico de «$1».\nPor favor, identifícate de nuevo tras recibirla.\";'),('es','messages:blocked-mailpassword','s:129:\"Tu dirección IP está bloqueada, y no se te permite el uso de la función de recuperación de contraseñas para prevenir abusos.\";'),('es','messages:eauthentsent','s:251:\"Se ha enviado un correo electrónico de confirmación a la dirección especificada.\nAntes de que se envíe cualquier otro correo a la cuenta tienes que seguir las instrucciones enviadas en el mensaje para así confirmar que la dirección te pertenece.\";'),('es','messages:throttled-mailpassword','s:203:\"Ya se ha enviado un recordatorio de password en {{PLURAL:$1|la última hora|las últimas $1 horas}}.\nPara evitar los abusos, solo se enviará un recordatorio de password cada {{PLURAL:$1|hora|$1 horas}}.\";'),('es','messages:mailerror','s:26:\"Error al enviar correo: $1\";'),('es','messages:acct_creation_throttle_hit','s:279:\"Los visitantes a este wiki usando tu dirección IP han creado {{PLURAL:$1|una cuenta|$1 cuentas}} en el último día, lo cual es lo máximo permitido en este periodo de tiempo.\nComo resultado, los visitantes usando esta dirección IP no pueden crear más cuentas en este momento.\";'),('es','messages:emailauthenticated','s:64:\"Tu dirección de correo electrónico fue autenticada el $2 a $3.\";'),('es','messages:emailnotauthenticated','s:130:\"Aún no has confirmado tu dirección de correo electrónico.\nHasta que lo hagas, las siguientes funciones no estarán disponibles.\";'),('es','messages:noemailprefs','s:77:\"Especifica una dirección electrónica para habilitar estas características.\";'),('es','messages:emailconfirmlink','s:43:\"Confirmar dirección de correo electrónico\";'),('es','messages:invalidemailaddress','s:178:\"La dirección electrónica no puede ser aceptada, pues parece que tiene un formato no válido.\nPor favor, escribe una dirección en el formato adecuado o deja el campo en blanco.\";'),('es','messages:accountcreated','s:13:\"Cuenta creada\";'),('es','messages:accountcreatedtext','s:44:\"La cuenta de usuario para $1 ha sido creada.\";'),('es','messages:createaccount-title','s:37:\"Creación de cuenta para {{SITENAME}}\";'),('es','messages:createaccount-text','s:268:\"Alguien creó en {{SITENAME}} ($4) una cuenta asociada a este correo electrónico con el nombre «$2».\nLa contraseña asignada automáticamente es «$3». Por favor entra ahora y cambia tu contraseña.\n\nPuedes ignorar este mensaje si esta cuenta fue creada por error.\";'),('es','messages:usernamehasherror','s:71:\"El nombre de usuario no puede contener símbolos de almohadilla/numeral\";'),('es','messages:login-throttled','s:96:\"Has intentado demasiadas veces iniciar sesión. Por favor espera antes de intentarlo nuevamente.\";'),('es','messages:login-abort-generic','s:47:\"Tu inicio de sesión no fue exitoso - Cancelado\";'),('es','messages:loginlanguagelabel','s:10:\"Idioma: $1\";'),('es','messages:suspicious-userlogout','s:140:\"Tu solicitud de desconexión ha sido denegada debido a que parece que ésta ha sido enviada desde un navegador defectuoso o un proxy caché.\";'),('es','messages:php-mail-error-unknown','s:46:\"Error desconocido en la función mail() de PHP\";'),('es','messages:resetpass','s:22:\"Cambiar la contraseña\";'),('es','messages:resetpass_announce','s:140:\"Has iniciado sesión con una contraseña temporal que fue enviada por correo electrónico.\nPor favor, introduce una nueva contraseña aquí:\";'),('es','messages:resetpass_text','s:27:\"<!-- Añada texto aquí -->\";'),('es','messages:resetpass_header','s:35:\"Cambiar la contraseña de la cuenta\";'),('es','messages:oldpassword','s:20:\"Contraseña antigua:\";'),('es','messages:newpassword','s:18:\"Contraseña nueva:\";'),('es','messages:retypenew','s:31:\"Confirmar la contraseña nueva:\";'),('es','messages:resetpass_submit','s:40:\"Establecer contraseña e iniciar sesión\";'),('es','messages:resetpass_success','s:64:\"La contraseña ha sido cambiada con éxito.\nIniciando sesión...\";'),('es','messages:resetpass_forbidden','s:37:\"No se pueden cambiar las contraseñas\";'),('es','messages:resetpass-no-info','s:63:\"Debes iniciar sesión para acceder directamente a esta página.\";'),('es','messages:resetpass-submit-loggedin','s:19:\"Cambiar contraseña\";'),('es','messages:resetpass-submit-cancel','s:8:\"Cancelar\";'),('es','messages:resetpass-wrong-oldpass','s:114:\"La contraseña antigua no es correcta.\nPuede que ya hayas cambiado la contraseña o que hayas pedido una temporal.\";'),('es','messages:resetpass-temp-password','s:21:\"Contraseña temporal:\";'),('es','messages:passwordreset','s:31:\"Restablecimiento de contraseña\";'),('es','messages:passwordreset-text','s:107:\"Completa este formulario para recibir un recordatorio por correo electrónico de los detalles de tu cuenta.\";'),('es','messages:passwordreset-legend','s:23:\"Restablecer contraseña\";'),('es','messages:passwordreset-disabled','s:67:\"Se ha desactivado el restablecimiento de contraseñas en este wiki.\";'),('es','messages:passwordreset-pretext','s:65:\"{{PLURAL:$1||Introduce uno de los elementos de datos siguientes}}\";'),('es','messages:passwordreset-username','s:18:\"Nombre de usuario:\";'),('es','messages:passwordreset-domain','s:8:\"Dominio:\";'),('es','messages:passwordreset-email','s:34:\"Dirección de correo electrónico:\";'),('es','messages:passwordreset-emailtitle','s:37:\"Detalles de la cuenta en {{SITENAME}}\";'),('es','messages:passwordreset-emailtext-ip','s:612:\"Alguien (probablemente tú, desde la dirección IP $1) pidió un recordatorio de tus\ndatos de cuenta para {{SITENAME}} ($4). {{PLURAL:$3|La siguiente cuenta está asociada|Las siguientes cuentas están asociadas}}\ncon esta dirección de correo electrónico:\n\n$2\n\n{{PLURAL:$3|Esta contraseña temporal|Estas contraseñas temporales}} expirarán en {{PLURAL:$5|un día|$5 días}}.\nDeberías iniciar sesión y establecer una contraseña nueva ahora. Si alguien más hizo este pedido,\no recuerdas tu contraseña original, y no deseas cambiarla, puedes\nignorar este mensaje y continuar usando tu contraseña anterior.\";'),('es','messages:passwordreset-emailtext-user','s:587:\"El usuario $1 en {{SITENAME}} pidió un recordatorio de tus datos de cuenta para {{SITENAME}}\n($4). {{PLURAL:$3|La siguiente cuenta está asociada|Las siguientes cuentas están asociadas}} con esta dirección de correo electrónico:\n\n$2\n\n{{PLURAL:$3|Esta contraseña temporal|Estas contraseñas temporales}} expirarán en {{PLURAL:$5|un día|$5 días}}.\nDeberías iniciar sesión y establecer una contraseña nueva ahora. Si alguien más hizo este pedido,\no recuerdas tu contraseña original, y no deseas cambiarla, puedes\nignorar este mensaje y continuar usando tu contraseña anterior.\";'),('es','messages:passwordreset-emailelement','s:46:\"Nombre de usuario: $1\nContraseña temporal: $2\";'),('es','messages:passwordreset-emailsent','s:53:\"Se ha enviado un correo electrónico de recordatorio.\";'),('es','messages:bold_sample','s:16:\"Texto en negrita\";'),('es','messages:bold_tip','s:16:\"Texto en negrita\";'),('es','messages:italic_sample','s:16:\"Texto en cursiva\";'),('es','messages:italic_tip','s:16:\"Texto en cursiva\";'),('es','messages:link_sample','s:18:\"Título del enlace\";'),('es','messages:link_tip','s:14:\"Enlace interno\";'),('es','messages:extlink_sample','s:41:\"http://www.ejemplo.com Título del enlace\";'),('es','messages:extlink_tip','s:52:\"Enlace externo (recuerda añadir el prefijo http://)\";'),('es','messages:headline_sample','s:19:\"Texto de encabezado\";'),('es','messages:headline_tip','s:21:\"Encabezado de nivel 2\";'),('es','messages:nowiki_sample','s:32:\"Insertar aquí texto sin formato\";'),('es','messages:nowiki_tip','s:23:\"Ignorar el formato wiki\";'),('es','messages:image_sample','s:11:\"Ejemplo.jpg\";'),('es','messages:image_tip','s:18:\"Archivo incrustado\";'),('es','messages:media_sample','s:11:\"Ejemplo.ogg\";'),('es','messages:media_tip','s:16:\"Enlace a archivo\";'),('es','messages:sig_tip','s:25:\"Tu firma con fecha y hora\";'),('es','messages:hr_tip','s:44:\"Línea horizontal (utilizar con moderación)\";'),('es','messages:summary','s:8:\"Resumen:\";'),('es','messages:subject','s:18:\"Asunto/encabezado:\";'),('es','messages:minoredit','s:26:\"Esta es una edición menor\";'),('es','messages:watchthis','s:20:\"Vigilar esta página\";'),('es','messages:savearticle','s:17:\"Grabar la página\";'),('es','messages:preview','s:13:\"Previsualizar\";'),('es','messages:showpreview','s:25:\"Mostrar previsualización\";'),('es','messages:showlivepreview','s:27:\"Previsualización inmediata\";'),('es','messages:showdiff','s:15:\"Mostrar cambios\";'),('es','messages:anoneditwarning','s:139:\"\'\'\'Aviso:\'\'\' No has iniciado sesión con una cuenta de usuario.\nTu dirección IP se almacenará en el historial de ediciones de la página.\";'),('es','messages:anonpreviewwarning','s:152:\"\'\'No has iniciado sesión con una cuenta de usuario. Al guardar los cambios se almacenará tu dirección IP en el historial de edición de la página.\'\'\";'),('es','messages:missingsummary','s:140:\"\'\'\'Atención:\'\'\' No has escrito un resumen de edición. Si haces clic nuevamente en «{{int:savearticle}}» tu edición se grabará sin él.\";'),('es','messages:missingcommenttext','s:33:\"Por favor introduce texto debajo.\";'),('es','messages:missingcommentheader','s:150:\"\'\'\'Recordatorio:\'\'\' No has escrito un título para este comentario. Si haces clic nuevamente en \"{{int:savearticle}}\" tu edición se grabará sin él.\";'),('es','messages:summary-preview','s:30:\"Previsualización del resumen:\";'),('es','messages:subject-preview','s:35:\"Previsualización del tema/título:\";'),('es','messages:blockedtitle','s:26:\"El usuario está bloqueado\";'),('es','messages:blockedtext','s:719:\"\'\'\'Tu nombre de usuario o dirección IP ha sido bloqueada.\'\'\'\n\nEl bloqueo fue hecho por $1.\nLa razón dada es \'\'$2\'\'.\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 u otro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir el bloqueo.\nNo puedes utilizar la función «enviar correo electrónico a este usuario»  a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y que el bloqueo no haya inhabilitado esta función.\n\nTu dirección IP actual es $3, y el identificador del bloqueo es #$5.\nPor favor incluye todos los datos aquí mostrados en cualquier consulta que hagas.\";'),('es','messages:autoblockedtext','s:763:\"Tu dirección IP ha sido bloqueada automáticamente porque fue utilizada por otro usuario que fue bloqueado por $1.\nLa razón dada es esta:\n\n:\'\'$2\'\'\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|bibliotecarios]] para discutir el bloqueo.\n\nNo puedes utilizar la función «enviar correo electrónico a este usuario»  a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y que el bloqueo no haya inhabilitado esta función.\n\nTu actual dirección IP es $3, y el identificador del bloqueo es #$5.\nPor favor incluye todos los datos aquí mostrados en cualquier consulta que hagas.\";'),('es','messages:blockednoreason','s:31:\"no se ha especificado el motivo\";'),('es','messages:blockedoriginalsource','s:57:\"El código fuente de \'\'\'$1\'\'\' se muestra a continuación:\";'),('es','messages:blockededitsource','s:71:\"El texto de \'\'\'tus ediciones\'\'\' a \'\'\'$1\'\'\' se muestran a continuación:\";'),('es','messages:whitelistedittitle','s:40:\"Se requiere identificación para editar.\";'),('es','messages:whitelistedittext','s:37:\"Tienes que $1 para editar artículos.\";'),('es','messages:confirmedittext','s:192:\"Debes confirmar tu dirección electrónica antes de editar páginas. Por favor, establece y valida una dirección electrónica a través de tus [[Special:Preferences|preferencias de usuario]].\";'),('es','messages:nosuchsectiontitle','s:22:\"Sección no encontrada\";'),('es','messages:nosuchsectiontext','s:111:\"Has intentado editar una sección que no existe.\nQuizá ha sido movida o borrada mientras visitabas la página.\";'),('es','messages:loginreqtitle','s:28:\"Es necesario iniciar sesión\";'),('es','messages:loginreqlink','s:15:\"iniciar sesión\";'),('es','messages:loginreqpagetext','s:33:\"Debes $1 para ver otras páginas.\";'),('es','messages:accmailtitle','s:31:\"La contraseña ha sido enviada.\";'),('es','messages:accmailtext','s:248:\"Una contraseña generada aleatoriamente para [[User talk:$1|$1]] ha sido enviada a $2.\n\nLa contraseña para esta nueva cuenta puede ser cambiada en la página \'\'[[Special:ChangePassword|cambiar la contraseña]]\'\' después de haber iniciado sesión.\";'),('es','messages:newarticle','s:7:\"(Nuevo)\";'),('es','messages:newarticletext','s:257:\"Has seguido un enlace a una página que aún no existe.\nPara crear esta página, escribe en el campo a continuación. Para más información, consulta la [[{{MediaWiki:Helppage}}|página de ayuda]].\nSi llegaste aquí por error, vuelve a la página anterior.\";'),('es','messages:anontalkpagetext','s:502:\"---- \'\'Esta es la página de discusión de un usuario anónimo que aún no ha creado una cuenta, o no la usa. Por lo tanto, tenemos que usar su dirección IP para identificarlo. Una dirección IP puede ser compartida por varios usuarios. Si eres un usuario anónimo y crees que se han dirigido a ti con comentarios improcedentes, por favor [[Special:UserLogin/signup|crea una cuenta]] o si ya la tienes [[Special:UserLogin|identifícate]] para evitar confusiones futuras con otros usuarios anónimos.\'\'\";'),('es','messages:noarticletext','s:314:\"En este momento no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar el título de esta página]] en otras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.\";'),('es','messages:noarticletext-nopermission','s:256:\"Actualmente no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas,\no <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>.\";'),('es','messages:userpage-userdoesnotexist','s:125:\"La cuenta de usuario «<nowiki>$1</nowiki>» no está registrada. Por favor comprueba si quieres crear o editar esta página.\";'),('es','messages:userpage-userdoesnotexist-view','s:48:\"La cuenta de usuario «$1» no está registrada.\";'),('es','messages:blocked-notice-logextract','s:130:\"Este usuario está actualmente bloqueado.\nLa última entrada del registro de bloqueos se proporciona debajo para mayor referencia:\";'),('es','messages:clearyourcache','s:579:\"\'\'\'Nota:\'\'\' después de guardar, quizás necesites refrescar la caché de tu navegador para ver los cambios.\n* \'\'\'Firefox / Safari:\'\'\' Mantén presionada \'\'Mayús\'\' mientras pulsas el botón \'\'Actualizar\'\', o presiona \'\'Ctrl+F5\'\' o \'\'Ctrl+R\'\' (\'\'Comando+R\'\' en Mac)\n* \'\'\'Google Chrome:\'\'\' presiona \'\'Ctrl+Shift+R\'\' (\'\'Comando+Mayús+R\'\' en Mac)\n* \'\'\'Internet Explorer:\'\'\' mantén presionada \'\'Ctrl\'\' mientras pulsas \'\'Actualizar\'\', o presiona \'\'Ctrl+F5\'\'\n* \'\'\'Konqueror:\'\'\' pulsa \'\'Recargar\'\' o presiona \'\'F5\'\'\n* \'\'\'Opera:\'\'\' vacía la caché en \'\'Herramientas → Preferencias\'\'\";'),('es','messages:usercssyoucanpreview','s:97:\"\'\'\'Consejo:\'\'\' Usa el botón «{{int:showpreview}}» para probar el nuevo CSS antes de guardarlo.\";'),('es','messages:userjsyoucanpreview','s:96:\"\'\'\'Consejo:\'\'\' Usa el botón «{{int:showpreview}}» para probar el nuevo JS antes de guardarlo.\";'),('es','messages:usercsspreview','s:97:\"\'\'\'Recuerda que solo estás previsualizando tu CSS de usuario.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:userjspreview','s:106:\"\'\'\'¡Recuerda que solo estás previsualizando tu JavaScript de usuario.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:sitecsspreview','s:88:\"\'\'\'Recuerda que sólo estás previsualizando este CSS\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:sitejspreview','s:104:\"\'\'\'Recuerda que sólo estás previsualizando este código JavaScript.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:userinvalidcssjstitle','s:218:\"\'\'\'Aviso:\'\'\' No existe la skin «$1». Recuerda que las páginas personalizadas \'\'.css\'\' y \'\'.js\'\' tienen un título en minúsculas. Por ejemplo, {{ns:user}}:Ejemplo/vector.css en vez de {{ns:user}}:Ejemplo/Vector.css.\";'),('es','messages:updated','s:13:\"(Actualizado)\";'),('es','messages:note','s:11:\"\'\'\'Nota:\'\'\'\";'),('es','messages:previewnote','s:94:\"\'\'\'¡Recuerda que esto es solo una previsualización.\'\'\'\n¡Tus cambios aún no se ha guardado!\";'),('es','messages:previewconflict','s:119:\"Esta previsualización refleja el texto en el área de edición superior como aparecerá una vez guardados los cambios.\";'),('es','messages:session_fail_preview','s:221:\"\'\'\'Lo sentimos, no pudimos procesar la edición debido a una pérdida de los datos de sesión.\'\'\'\nPor favor, inténtalo de nuevo.\nSi el problema persiste, [[Special:UserLogout|cierra la sesión]] y vuelve a identificarte.\";'),('es','messages:session_fail_preview_html','s:413:\"\'\'\'Lo sentimos, no hemos podido procesar tu cambio debido a una pérdida de datos de sesión.\'\'\'\n\n\'\'Puesto que este wiki tiene el HTML puro habilitado, la visión preliminar está oculta para prevenirse contra ataques en JavaScript.\'\'\n\n\'\'\'Si éste es un intento legítimo de modificación, por favor, inténtalo de nuevo. Si aún así no funcionase, [[Special:UserLogout|cierra la sesión]] e ingresa de nuevo.\'\'\'\";'),('es','messages:token_suffix_mismatch','s:273:\"\'\'\'Tu edición ha sido rechazada porque tu cliente ha mezclado los signos de puntuación en el token de edición.\nSe rechazó la edición para evitar que el texto de la página se corrompa.\nEsto sucede en ocasiones cuando se usa un servicio de proxy anónimo defectuoso.\'\'\'\";'),('es','messages:edit_form_incomplete','s:139:\"\'\'\'Algunas partes del formulario de edición no llegaron al servidor, comprueba que tus ediciones están intactas e inténtalo de nuevo\'\'\'.\";'),('es','messages:editing','s:11:\"Editando $1\";'),('es','messages:editingsection','s:22:\"Editando $1 (sección)\";'),('es','messages:editingcomment','s:28:\"Editando $1 (nueva sección)\";'),('es','messages:editconflict','s:25:\"Conflicto de edición: $1\";'),('es','messages:explainconflict','s:382:\"Alguien más ha cambiado esta página desde que empezaste a editarla.\nEl área de texto superior contiene el texto de la página como existe actualmente.\nTus cambios se muestran en el área de texto inferior.\nSi quieres grabar tus cambios, has de trasladarlos al área superior.\n\'\'\'Sólo\'\'\' el texto en el área de texto superior será grabado cuando pulses «{{int:savearticle}}».\";'),('es','messages:yourtext','s:8:\"Tu texto\";'),('es','messages:storedversion','s:19:\"Versión almacenada\";'),('es','messages:nonunicodebrowser','s:246:\"\'\'\'Atención: Tu navegador no cumple la norma Unicode.\'\'\'\nSe ha activado un sistema de edición alternativo que te permitirá editar artículos con seguridad: los caracteres no ASCII aparecerán en la caja de edición como códigos hexadecimales.\";'),('es','messages:editingold','s:139:\"\'\'\'Aviso: Estás editando una versión antigua de esta página.\'\'\'\nSi la guardas, se perderán los cambios realizados desde esta revisión.\";'),('es','messages:yourdiff','s:11:\"Diferencias\";'),('es','messages:copyrightwarning','s:434:\"Por favor observa que todas las contribuciones a {{SITENAME}} se consideran hechas públicas bajo la $2 (véase $1 para más detalles). Si no deseas la modificación y distribución libre de tu obra, entonces no la pongas aquí.<br />También nos aseguras que tú escribiste esto y te pertenecen de los derechos de autor, o lo copiaste desde el dominio público u otra fuente libre. \'\'\'¡No uses escritos con copyright sin permiso!\'\'\'\";'),('es','messages:copyrightwarning2','s:486:\"Por favor, ten en cuenta que todas las contribuciones a {{SITENAME}} pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, entonces no las pongas aquí.<br />También nos aseguras que tú escribiste esto y te pertenecen de los derechos de autor, o lo copiaste desde el dominio público u otra fuente libre. (véase $1 para más detalles).\n\'\'\'¡No uses escritos con copyright sin permiso!\'\'\'\";'),('es','messages:longpageerror','s:117:\"\'\'\'Error: El texto que has enviado ocupa $1 kilobytes, que excede el máximo de $2 kilobytes. No se puede guardar.\'\'\'\";'),('es','messages:readonlywarning','s:278:\"\'\'\'Aviso: La base de datos ha sido bloqueada por cuestiones de mantenimiento, así que no podrás guardar tus modificaciones en este momento.\nPuedes copiar y pegar el texto en un archivo y guardarlo para más tarde.\'\'\'\n\nEl administrador que la bloqueó dio esta explicación: $1\";'),('es','messages:protectedpagewarning','s:193:\"\'\'\'Aviso: Esta página ha sido protegida de manera que solo usuarios con permisos de administrador puedan editarla.\'\'\'\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:semiprotectedpagewarning','s:168:\"\'\'\'Nota:\'\'\' Esta página ha sido protegida para que solo usuarios registrados puedan editarla.\nA continuación se provee la última entrada de registro para referencia:\";'),('es','messages:cascadeprotectedwarning','s:201:\"\'\'\'Aviso:\'\'\' Esta página está protegida, solo los administradores pueden editarla porque está incluida en  {{PLURAL:$1|la siguiente página protegida|las siguientes páginas protegidas}} en cascada:\";'),('es','messages:titleprotectedwarning','s:204:\"\'\'\'Aviso: Esta página está protegida de modo que se necesitan [[Special:ListGroupRights|derechos especificos]] para crearla.\'\'\'\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:templatesused','s:64:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta página:\";'),('es','messages:templatesusedpreview','s:74:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta previsualización:\";'),('es','messages:templatesusedsection','s:65:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta sección:\";'),('es','messages:template-protected','s:11:\"(protegida)\";'),('es','messages:template-semiprotected','s:15:\"(semiprotegida)\";'),('es','messages:hiddencategories','s:87:\"Esta página es un miembro de {{PLURAL:$1|1 categoría oculta|$1 categorías ocultas}}:\";'),('es','messages:edittools','s:73:\"<!-- Este texto aparecerá bajo los formularios de edición y subida. -->\";'),('es','messages:nocreatetitle','s:30:\"Creación de páginas limitada\";'),('es','messages:nocreatetext','s:176:\"{{SITENAME}} ha restringido la posibilidad de crear nuevas páginas.\nPuede volver atrás y editar una página existente, [[Special:UserLogin|identificarte o crear una cuenta]].\";'),('es','messages:nocreate-loggedin','s:45:\"No tienes permiso para crear páginas nuevas.\";'),('es','messages:sectioneditnotsupported-title','s:34:\"Edición de sección no compatible\";'),('es','messages:sectioneditnotsupported-text','s:58:\"La edición de sección no es compatible con esta página.\";'),('es','messages:permissionserrors','s:19:\"Errores de permisos\";'),('es','messages:permissionserrorstext','s:95:\"No tienes permiso para hacer eso, por {{PLURAL:$1|el siguiente motivo|los siguientes motivos}}:\";'),('es','messages:permissionserrorstext-withaction','s:75:\"No tienes permiso para $2, por los siguientes {{PLURAL:$1|motivo|motivos}}:\";'),('es','messages:recreate-moveddeleted-warn','s:253:\"\'\'\'Atención: estás volviendo a crear una página que ha sido borrada anteriormente.\'\'\'\n\nDeberías considerar si es apropiado continuar editando esta página.\nEl registro de borrado y traslados para esta página están provistos aquí por conveniencia:\";'),('es','messages:moveddeleted-notice','s:122:\"Esta página ha sido borrada.\nEl registro de borrados y traslados para la página están provistos debajo como referencia.\";'),('es','messages:log-fulllog','s:24:\"Ver el registro completo\";'),('es','messages:edit-hook-aborted','s:60:\"Edición cancelada por la extensión.\nNo dió explicaciones.\";'),('es','messages:edit-gone-missing','s:61:\"No se pudo actualizar la página.\nParece que ha sido borrada.\";'),('es','messages:edit-conflict','s:22:\"Conflicto de edición.\";'),('es','messages:edit-no-change','s:67:\"Se ignoró tu revisión, porque no se hizo ningún cambio al texto.\";'),('es','messages:edit-already-exists','s:46:\"No se pudo crear una página nueva.\nYa existe.\";'),('es','messages:expensive-parserfunction-warning','s:185:\"Aviso: Esta página contiene demasiadas llamadas a funciones sintácticas costosas (#ifexist: y similares)\n\nTiene {{PLURAL:$1|una llamada|$1 llamadas}}, pero debería tener menos de $2.\";'),('es','messages:expensive-parserfunction-category','s:65:\"Páginas con llamadas a funciones sintácticas demasiado costosas\";'),('es','messages:post-expand-template-inclusion-warning','s:100:\"Aviso: El tamaño de las plantillas incluidas es muy grande.\nAlgunas plantillas no serán incluidas.\";'),('es','messages:post-expand-template-inclusion-category','s:37:\"Páginas con sobrecarga de plantillas\";'),('es','messages:post-expand-template-argument-warning','s:159:\"Aviso: Esta página contiene al menos un parámetro de plantilla que tiene un tamaño de expansión demasiado grande.\nEse o esos parámetros han sido omitidos.\";'),('es','messages:post-expand-template-argument-category','s:61:\"Páginas que contienen plantillas con parámetros descartados\";'),('es','messages:parser-template-loop-warning','s:36:\"Detectado bucle de plantilla: [[$1]]\";'),('es','messages:parser-template-recursion-depth-warning','s:58:\"Se ha excedido el límite de recursión de plantillas ($1)\";'),('es','messages:language-converter-depth-warning','s:68:\"El límite de profundidad del convertidor de idioma ha excedido ($1)\";'),('es','messages:undo-success','s:212:\"La edición puede deshacerse. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así deshacer la edición.\";'),('es','messages:undo-failure','s:90:\"No se puede deshacer la edición ya que otro usuario ha realizado una edición intermedia.\";'),('es','messages:undo-norev','s:69:\"La edición no puede ser deshecha porque no existe o ha sido borrada.\";'),('es','messages:undo-summary','s:84:\"Deshecha la revisión $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc.]])\";'),('es','messages:cantcreateaccounttitle','s:27:\"No se puede crear la cuenta\";'),('es','messages:cantcreateaccount-text','s:130:\"La creación de cuentas desde esta dirección IP (\'\'\'$1\'\'\') ha sido bloqueada por [[User:$3|$3]].\n\nEl motivo dado por $3 es \'\'$2\'\'\";'),('es','messages:viewpagelogs','s:33:\"Ver los registros de esta página\";'),('es','messages:nohistory','s:48:\"No hay historial de ediciones para esta página.\";'),('es','messages:currentrev','s:16:\"Revisión actual\";'),('es','messages:currentrev-asof','s:23:\"Última revisión de $1\";'),('es','messages:revisionasof','s:15:\"Revisión de $1\";'),('es','messages:revision-info','s:27:\"Revisión a fecha de $1; $2\";'),('es','messages:previousrevision','s:22:\"← Revisión anterior\";'),('es','messages:nextrevision','s:23:\"Revisión siguiente →\";'),('es','messages:currentrevisionlink','s:16:\"Revisión actual\";'),('es','messages:cur','s:3:\"act\";'),('es','messages:next','s:3:\"sig\";'),('es','messages:last','s:3:\"ant\";'),('es','messages:page_first','s:8:\"primeras\";'),('es','messages:page_last','s:8:\"últimas\";'),('es','messages:histlegend','s:238:\"Selección de diferencias: marca los selectores de las versiones a comparar y pulsa \'\'enter\'\' o el botón de abajo.<br />\nLeyenda: (act) = diferencias con la versión actual,\n(prev) = diferencias con la versión previa, M = edición menor\";'),('es','messages:history-fieldset-title','s:22:\"Buscar en el historial\";'),('es','messages:history-show-deleted','s:17:\"Solamente borrado\";'),('es','messages:histfirst','s:8:\"Primeras\";'),('es','messages:histlast','s:8:\"Últimas\";'),('es','messages:historysize','s:31:\"({{PLURAL:$1|1 byte|$1 bytes}})\";'),('es','messages:historyempty','s:8:\"(vacío)\";'),('es','messages:history-feed-title','s:23:\"Historial de revisiones\";'),('es','messages:history-feed-description','s:52:\"Historial de revisiones para esta página en el wiki\";'),('es','messages:history-feed-item-nocomment','s:8:\"$1 en $2\";'),('es','messages:history-feed-empty','s:154:\"La página solicitada no existe.\nPuede haber sido borrada del wiki o renombrada.\nPrueba a [[Special:Search|buscar en el wiki]] nuevas páginas relevantes.\";'),('es','messages:rev-deleted-comment','s:31:\"(resumen de edición eliminado)\";'),('es','messages:rev-deleted-user','s:29:\"(nombre de usuario eliminado)\";'),('es','messages:rev-deleted-event','s:17:\"(entrada borrada)\";'),('es','messages:rev-deleted-user-contribs','s:95:\"[nombre de usuario o dirección IP eliminada - edición ocultada de la lista de contribuciones]\";'),('es','messages:rev-deleted-text-permission','s:161:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nPuede haber detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-deleted-text-unhide','s:244:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nPuede haber más detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\nComo administrador todavía puedes [$1 ver esta revisión] si así lo deseas.\";'),('es','messages:rev-suppressed-text-unhide','s:253:\"Esta revisión de la página ha sido \'\'\'suprimida\'\'\'.\nPuede haber más detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\nComo administrador podrá seguir [$1 viendo esta revisión] si desea continuar.\";'),('es','messages:rev-deleted-text-view','s:203:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-text-view','s:210:\"Esta revisión de la página ha sido \'\'\'suprimida\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\";'),('es','messages:rev-deleted-no-diff','s:201:\"No puedes ver esta diferencia porque una de las revisiones ha sido \'\'\'borrada\'\'\'.\nPuedes encontrar más detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-no-diff','s:81:\"No puedes ver esta diferencia porque una de las revisiones ha sido \'\'\'borrada\'\'\'.\";'),('es','messages:rev-deleted-unhide-diff','s:229:\"Una de las revisiones de esta diferencia ha sido \'\'\'borrada\'\'\'.\nPuede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\nAún puede [$1 ver este cambio] si así lo desea.\";'),('es','messages:rev-suppressed-unhide-diff','s:240:\"Una de las revisiones de esta diferencia ha sido \'\'\'suprimida\'\'\'.\nPuede haber detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\nAún puede [$1 ver esta diferencia] si desea así lo desea.\";'),('es','messages:rev-deleted-diff-view','s:215:\"Una de las revisiones de esta diferencia ha sido \'\'\'borrada\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-diff-view','s:222:\"Una de las revisiones de esta diferencia ha sido \'\'\'suprimida\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\";'),('es','messages:rev-delundel','s:15:\"mostrar/ocultar\";'),('es','messages:rev-showdeleted','s:7:\"mostrar\";'),('es','messages:revisiondelete','s:27:\"Borrar/restaurar revisiones\";'),('es','messages:revdelete-nooldid-title','s:24:\"No hay revisión destino\";'),('es','messages:revdelete-nooldid-text','s:94:\"No se ha especificado una revisión o revisiones destino sobre las que realizar esta función.\";'),('es','messages:revdelete-nologtype-title','s:19:\"ningún nombre dado\";'),('es','messages:revdelete-nologtype-text','s:62:\"No has especificado ningún nombre para ejecutar esta acción.\";'),('es','messages:revdelete-nologid-title','s:29:\"Entrada de registro inválida\";'),('es','messages:revdelete-nologid-text','s:112:\"Tampoco has especificado un objetivo de eventos para ejecutar esta función o la entrada especificada no existe.\";'),('es','messages:revdelete-no-file','s:34:\"El fichero especificado no existe.\";'),('es','messages:revdelete-show-file-confirm','s:94:\"¿Realmente deseas ver la revisión borrada del archivo \"<nowiki>$1</nowiki>\" del $2 a las $3?\";'),('es','messages:revdelete-show-file-submit','s:3:\"Sí\";'),('es','messages:revdelete-selected','s:79:\"\'\'\'{{PLURAL:$2|Revisión seleccionada|Revisiones seleccionadas}} de [[:$1]]:\'\'\'\";'),('es','messages:logdelete-selected','s:65:\"\'\'\'{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:\'\'\'\";'),('es','messages:revdelete-text','s:342:\"Las revisiones borradas aún aparecerán en el historial de la página y en los registros, pero sus contenidos no serán accesibles al público.\'\'\'\nOtros administradores de {{SITENAME}} aún podrán acceder al contenido oculto y podrán deshacer el borrado a través de la misma interfaz, a menos que se establezcan restricciones adicionales.\";'),('es','messages:revdelete-confirm','s:179:\"Por favor confirma que deseas realizar la operación, que entiendes las consecuencias y que estás ejecutando dicha acción acorde con [[{{MediaWiki:Policy-url}}|las políticas]].\";'),('es','messages:revdelete-suppress-text','s:223:\"La eliminación \'\'\'solamente\'\'\' debería usarse en los siguientes casos:\n* Información potencialmente difamatoria\n* Información personal inapropiada\n* domicilios y números de teléfono, números de seguridad social, etc.\";'),('es','messages:revdelete-legend','s:38:\"Establecer restricciones de revisión:\";'),('es','messages:revdelete-hide-text','s:32:\"Ocultar el texto de la revisión\";'),('es','messages:revdelete-hide-image','s:32:\"Ocultar el contenido del archivo\";'),('es','messages:revdelete-hide-name','s:26:\"Ocultar acción y objetivo\";'),('es','messages:revdelete-hide-comment','s:30:\"Ocultar el resumen de edición\";'),('es','messages:revdelete-hide-user','s:31:\"Ocultar el nombre/IP del editor\";'),('es','messages:revdelete-hide-restricted','s:55:\"Suprimir datos a los administradores así como al resto\";'),('es','messages:revdelete-radio-same','s:12:\"(no cambiar)\";'),('es','messages:revdelete-radio-set','s:3:\"Sí\";'),('es','messages:revdelete-radio-unset','s:2:\"No\";'),('es','messages:revdelete-suppress','s:55:\"Suprimir datos a los administradores así como al resto\";'),('es','messages:revdelete-unsuppress','s:48:\"Eliminar restricciones de revisiones restauradas\";'),('es','messages:revdelete-log','s:7:\"Motivo:\";'),('es','messages:revdelete-submit','s:78:\"Aplicar a {{PLURAL:$1|la revisión seleccionada|las revisiones seleccionadas}}\";'),('es','messages:revdelete-logentry','s:46:\"cambió la visibilidad de revisiones de [[$1]]\";'),('es','messages:logdelete-logentry','s:43:\"cambió la visibilidad de eventos de [[$1]]\";'),('es','messages:revdelete-success','s:66:\"\'\'\'La visibilidad de revisiones ha sido cambiada correctamente.\'\'\'\";'),('es','messages:revdelete-failure','s:64:\"\'\'\'La visibilidad de la revisión no pudo ser establecida:\'\'\'\n$1\";'),('es','messages:logdelete-success','s:46:\"Visibilidad de eventos cambiada correctamente.\";'),('es','messages:logdelete-failure','s:58:\"\'\'\'La visibilidad del registro no pudo ser ajustada:\'\'\'\n$1\";'),('es','messages:revdel-restore','s:19:\"cambiar visibilidad\";'),('es','messages:revdel-restore-deleted','s:19:\"revisiones borradas\";'),('es','messages:revdel-restore-visible','s:19:\"revisiones visibles\";'),('es','messages:pagehist','s:23:\"Historial de la página\";'),('es','messages:deletedhist','s:17:\"Historial borrado\";'),('es','messages:revdelete-content','s:9:\"contenido\";'),('es','messages:revdelete-summary','s:19:\"resumen de edición\";'),('es','messages:revdelete-uname','s:17:\"nombre de usuario\";'),('es','messages:revdelete-restricted','s:44:\"restricciones para administradores aplicadas\";'),('es','messages:revdelete-unrestricted','s:45:\"restricciones para administradores eliminadas\";'),('es','messages:revdelete-hid','s:10:\"ocultó $1\";'),('es','messages:revdelete-unhid','s:10:\"mostró $1\";'),('es','messages:revdelete-log-message','s:45:\"$1 para $2 {{PLURAL:$2|revisión|revisiones}}\";'),('es','messages:logdelete-log-message','s:37:\"$1 de $2 {{PLURAL:$2|evento|eventos}}\";'),('es','messages:revdelete-hide-current','s:95:\"Error al ocultar el objeto de fecha $1 a las $2: es la revisión actual.\nNo puede ser ocultada.\";'),('es','messages:revdelete-show-no-access','s:113:\"Error mostrando el objeto de fecha $2, $1: este objeto ha sido marcado como \"restringido\".\nNo tiene acceso a él.\";'),('es','messages:revdelete-modify-no-access','s:115:\"Error modificando el objeto de fecha $2, $1: este objeto ha sido marcado como \"restringido\".\nNo tiene acceso a él.\";'),('es','messages:revdelete-modify-missing','s:73:\"Error modificando el objeto ID $1: ¡no se encuentra en la base de datos!\";'),('es','messages:revdelete-no-change','s:105:\"\'\'\'Atención:\'\'\' la revisión de fecha $1 a las $2 ya tiene las restricciones de visibilidad solicitadas.\";'),('es','messages:revdelete-concurrent-change','s:164:\"Error modificando el objeto de fecha $2, $1: su estado parece haber sido cambiado por alguien más cuando tratabas de modificarlo. Por favor verifica los registros.\";'),('es','messages:revdelete-only-restricted','s:169:\"Error ocultando el item de fecha $2, $1: no puedes suprimir elementos de vista de los administradores sin seleccionar asímismo una de las otras opciones de visibilidad.\";'),('es','messages:revdelete-reason-dropdown','s:157:\"*Razones de borrado comunes\n** Violación a los derechos de autor\n** Información personal inapropiada\n** Información potencialmente injuriosa o calumniante\";'),('es','messages:revdelete-otherreason','s:22:\"Otra/adicional razón:\";'),('es','messages:revdelete-reasonotherlist','s:11:\"Otra razón\";'),('es','messages:revdelete-edit-reasonlist','s:25:\"Editar razones de borrado\";'),('es','messages:revdelete-offender','s:19:\"Autor de revisión:\";'),('es','messages:suppressionlog','s:23:\"Registro de supresiones\";'),('es','messages:suppressionlogtext','s:229:\"Debajo hay una lista con los borrados y bloqueos recientes, que incluyen contenido oculto de los administradores.\nMire la [[Special:BlockList|lista de bloqueos activos]] para ver una lista de prohibiciones actualmente operativas.\";'),('es','messages:mergehistory','s:32:\"Fusionar historiales de páginas\";'),('es','messages:mergehistory-header','s:177:\"Esta página te permite fusionar revisiones del historial de una página origen en otra más reciente.\nAsegúrate de que esto mantendrá la continuidad histórica de la página.\";'),('es','messages:mergehistory-box','s:41:\"Fusionar los historiales de dos páginas:\";'),('es','messages:mergehistory-from','s:15:\"Página origen:\";'),('es','messages:mergehistory-into','s:16:\"Página destino:\";'),('es','messages:mergehistory-list','s:33:\"Historial de ediciones fusionable\";'),('es','messages:mergehistory-merge','s:256:\"Las siguientes revisiones de [[:$1]] pueden fusionarse en [[:$2]].\nUsa la columna de casillas para fusionar sólo las revisiones creadas en y antes de la fecha especificada.\nNota que usar los enlaces de navegación borrará las selecciones de esta columna.\";'),('es','messages:mergehistory-go','s:29:\"Mostrar ediciones fusionables\";'),('es','messages:mergehistory-submit','s:19:\"Fusionar revisiones\";'),('es','messages:mergehistory-empty','s:30:\"No hay revisiones fusionables.\";'),('es','messages:mergehistory-success','s:88:\"$3 {{PLURAL:$3|revisión|revisiones}} de [[:$1]] fusionadas de forma exitosa en [[:$2]].\";'),('es','messages:mergehistory-fail','s:104:\"No se puede realizar la fusión de historiales, por favor revisa la página y los parámetros de tiempo.\";'),('es','messages:mergehistory-no-source','s:31:\"La página origen $1 no existe.\";'),('es','messages:mergehistory-no-destination','s:32:\"La página destino $1 no existe.\";'),('es','messages:mergehistory-invalid-source','s:48:\"La página origen debe tener un título válido.\";'),('es','messages:mergehistory-invalid-destination','s:53:\"La página de destino ha de tener un título válido.\";'),('es','messages:mergehistory-autocomment','s:29:\"Fusionando [[:$1]] en [[:$2]]\";'),('es','messages:mergehistory-comment','s:33:\"Fusionando [[:$1]] en [[:$2]]: $3\";'),('es','messages:mergehistory-same-destination','s:55:\"Las páginas de origen y destino no pueden ser la misma\";'),('es','messages:mergehistory-reason','s:7:\"Razón:\";'),('es','messages:mergelog','s:20:\"Registro de fusiones\";'),('es','messages:pagemerge-logentry','s:47:\"fusionó [[$1]] en [[$2]] (revisiones hasta $3)\";'),('es','messages:revertmerge','s:16:\"Deshacer fusión\";'),('es','messages:mergelogpagetext','s:90:\"Debajo está una lista de las fusiones más recientes de historial de una página en otra.\";'),('es','messages:history-title','s:35:\"Historial de revisiones para «$1»\";'),('es','messages:difference','s:30:\"(Diferencias entre revisiones)\";'),('es','messages:difference-multipage','s:31:\"(Diferencia entre las páginas)\";'),('es','messages:lineno','s:10:\"Línea $1:\";'),('es','messages:compareselectedversions','s:32:\"Comparar versiones seleccionadas\";'),('es','messages:showhideselectedversions','s:39:\"Mostrar/ocultar versiones seleccionadas\";'),('es','messages:editundo','s:8:\"deshacer\";'),('es','messages:diff-multi','s:149:\"(No se {{PLURAL:$1|muestra una edición intermedia realizada|muestran $1 ediciones intermedias realizadas}} por {{PLURAL:$2|un usuario|$2 usuarios}})\";'),('es','messages:diff-multi-manyusers','s:127:\"(No se {{PLURAL:$1|muestra una edición intermedia|muestran $1 ediciones intermedias}} de {{PLURAL:$2|un usuario|$2 usuarios}})\";'),('es','messages:searchresults','s:26:\"Resultados de la búsqueda\";'),('es','messages:searchresults-title','s:36:\"Resultados de la búsqueda de «$1»\";'),('es','messages:searchresulttext','s:117:\"Para más información acerca de las búsquedas en {{SITENAME}}, consulta la [[{{MediaWiki:Helppage}}|{{int:help}}]].\";'),('es','messages:searchsubtitle','s:189:\"Has buscado \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|todas las páginas que empiezan por \"$1\"]] {{int:pipe-separator}} [[Special:WhatLinksHere/$1|todas las páginas que enlazan con «$1»]])\";'),('es','messages:searchsubtitleinvalid','s:20:\"Has buscado \'\'\'$1\'\'\'\";'),('es','messages:toomanymatches','s:75:\"Se han obtenido muchos resultados; por favor intenta una consulta diferente\";'),('es','messages:titlematches','s:37:\"Coincidencias de título de artículo\";'),('es','messages:notitlematches','s:44:\"No hay coincidencias de título de artículo\";'),('es','messages:textmatches','s:35:\"Coincidencias de texto de artículo\";'),('es','messages:notextmatches','s:42:\"No hay coincidencias de texto de artículo\";'),('es','messages:prevn','s:24:\"{{PLURAL:$1|$1}} previas\";'),('es','messages:nextn','s:27:\"{{PLURAL:$1|$1}} siguientes\";'),('es','messages:prevn-title','s:45:\"$1 {{PLURAL:$1|resultado|resultados}} previos\";'),('es','messages:nextn-title','s:47:\"Próximos $1 {{PLURAL:$1|resultado|resultados}}\";'),('es','messages:shown-title','s:57:\"Mostrar $1 {{PLURAL:$1|resultado|resultados}} por página\";'),('es','messages:viewprevnext','s:40:\"Ver ($1 {{int:pipe-separator}} $2) ($3).\";'),('es','messages:searchmenu-legend','s:21:\"Opciones de búsqueda\";'),('es','messages:searchmenu-exists','s:53:\"\'\'\'Hay una página llamada \"[[:$1]]\" en esta wiki.\'\'\'\";'),('es','messages:searchmenu-new','s:49:\"\'\'\'¡Crea la página «[[:$1]]» en este wiki!\'\'\'\";'),('es','messages:searchhelp-url','s:10:\"Help:Ayuda\";'),('es','messages:searchmenu-prefix','s:58:\"[[Special:PrefixIndex/$1|Otras páginas con este prefijo]]\";'),('es','messages:searchprofile-articles','s:21:\"Páginas de contenido\";'),('es','messages:searchprofile-project','s:31:\"Páginas de ayuda y de proyecto\";'),('es','messages:searchprofile-images','s:10:\"Multimedia\";'),('es','messages:searchprofile-everything','s:4:\"Todo\";'),('es','messages:searchprofile-advanced','s:8:\"Avanzado\";'),('es','messages:searchprofile-articles-tooltip','s:12:\"Buscar en $1\";'),('es','messages:searchprofile-project-tooltip','s:12:\"Buscar en $1\";'),('es','messages:searchprofile-images-tooltip','s:15:\"Buscar archivos\";'),('es','messages:searchprofile-everything-tooltip','s:63:\"Buscar en todo el contenido (incluyendo páginas de discusión)\";'),('es','messages:searchprofile-advanced-tooltip','s:44:\"Buscar en espacios de nombres personalizados\";'),('es','messages:search-result-size','s:40:\"$1 ({{PLURAL:$2|1 palabra|$2 palabras}})\";'),('es','messages:search-result-category-size','s:122:\"{{PLURAL:$1|1 miembro|$1 miembros}} ({{PLURAL:$2|1 subcategoría|$2 subcategorías}}, {{PLURAL:$3|1 fichero|$3 ficheros}})\";'),('es','messages:search-result-score','s:15:\"Relevancia: $1%\";'),('es','messages:search-redirect','s:19:\"(redirige desde $1)\";'),('es','messages:search-section','s:13:\"(sección $1)\";'),('es','messages:search-suggest','s:26:\"Quizás quieres buscar: $1\";'),('es','messages:search-interwiki-caption','s:18:\"Proyectos hermanos\";'),('es','messages:search-interwiki-default','s:17:\"Resultados de $1:\";'),('es','messages:search-interwiki-more','s:6:\"(más)\";'),('es','messages:search-mwsuggest-enabled','s:15:\"con sugerencias\";'),('es','messages:search-mwsuggest-disabled','s:15:\"sin sugerencias\";'),('es','messages:search-relatedarticle','s:11:\"Relacionado\";'),('es','messages:mwsuggest-disable','s:38:\"Desactivar AJAX al realizar búsquedas\";'),('es','messages:searcheverything-enable','s:39:\"Buscar en todos los espacios de nombres\";'),('es','messages:searchrelated','s:11:\"relacionado\";'),('es','messages:searchall','s:5:\"todos\";'),('es','messages:showingresults','s:114:\"Abajo se {{PLURAL:$1|muestra \'\'\'1\'\'\' resultado|muestran hasta \'\'\'$1\'\'\' resultados}} empezando por el nº \'\'\'$2\'\'\'.\";'),('es','messages:showingresultsnum','s:112:\"Abajo se {{PLURAL:$3|muestra \'\'\'1\'\'\' resultado|muestran los \'\'\'$3\'\'\' resultados}} empezando por el nº \'\'\'$2\'\'\'.\";'),('es','messages:showingresultsheader','s:93:\"{{PLURAL:$5|Resultado \'\'\'$1\'\'\' de \'\'\'$3\'\'\'|Resultados \'\'\'$1-$2\'\'\' de \'\'\'$3\'\'\'}} para \'\'\'$4\'\'\'\";'),('es','messages:nonefound','s:257:\"\'\'\'Nota\'\'\': De manera predeterminada solo se busca en algunos espacios de nombres.\nPrueba a usar el prefijo \'\'all:\'\' para buscar en todo el contenido (incluyendo páginas de discusión, plantillas, etc.) o usa el espacio de nombres que quieras como prefijo.\";'),('es','messages:search-nonefound','s:57:\"No hay resultados que cumplan los criterios de búsqueda.\";'),('es','messages:powersearch','s:18:\"Búsqueda avanzada\";'),('es','messages:powersearch-legend','s:18:\"Búsqueda avanzada\";'),('es','messages:powersearch-ns','s:34:\"Buscar en los espacios de nombres:\";'),('es','messages:powersearch-redir','s:20:\"Listar redirecciones\";'),('es','messages:powersearch-field','s:6:\"Buscar\";'),('es','messages:powersearch-togglelabel','s:12:\"Seleccionar:\";'),('es','messages:powersearch-toggleall','s:5:\"Todos\";'),('es','messages:powersearch-togglenone','s:7:\"Ninguno\";'),('es','messages:search-external','s:17:\"Búsqueda externa\";'),('es','messages:searchdisabled','s:202:\"Las búsquedas en {{SITENAME}} están temporalmente desactivadas.\nMientras tanto puedes buscar mediante Google, pero ten en cuenta que sus índices relativos a {{SITENAME}} pueden estar desactualizados.\";'),('es','messages:qbsettings','s:8:\"Quickbar\";'),('es','messages:qbsettings-none','s:7:\"Ninguna\";'),('es','messages:qbsettings-fixedleft','s:19:\"Fija a la izquierda\";'),('es','messages:qbsettings-fixedright','s:17:\"Fija a la derecha\";'),('es','messages:qbsettings-floatingleft','s:23:\"Flotante a la izquierda\";'),('es','messages:qbsettings-floatingright','s:21:\"Flotante a la derecha\";'),('es','messages:qbsettings-directionality','s:69:\"Fijos, dependiendo de la direccionalidad de la escritura de su idioma\";'),('es','messages:preferences','s:12:\"Preferencias\";'),('es','messages:mypreferences','s:12:\"Preferencias\";'),('es','messages:prefs-edits','s:22:\"Cantidad de ediciones:\";'),('es','messages:prefsnologin','s:23:\"No has iniciado sesión\";'),('es','messages:prefsnologintext','s:152:\"Necesitas <span class=\"plainlinks\">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} iniciar sesión]</span> para establecer las preferencias del usuario.\";'),('es','messages:changepassword','s:19:\"Cambiar contraseña\";'),('es','messages:prefs-skin','s:4:\"Skin\";'),('es','messages:skin-preview','s:13:\"Previsualizar\";'),('es','messages:datedefault','s:15:\"Sin preferencia\";'),('es','messages:prefs-beta','s:26:\"Características de prueba\";'),('es','messages:prefs-datetime','s:12:\"Fecha y hora\";'),('es','messages:prefs-labs','s:36:\"Características de los laboratorios\";'),('es','messages:prefs-personal','s:17:\"Perfil de usuario\";'),('es','messages:prefs-rc','s:17:\"Cambios recientes\";'),('es','messages:prefs-watchlist','s:11:\"Seguimiento\";'),('es','messages:prefs-watchlist-days','s:54:\"Número de días a mostrar en la lista de seguimiento:\";'),('es','messages:prefs-watchlist-days-max','s:15:\"Máximo 7 días\";'),('es','messages:prefs-watchlist-edits','s:53:\"Número de ediciones a mostrar en la lista expandida:\";'),('es','messages:prefs-watchlist-edits-max','s:13:\"Máximo: 1000\";'),('es','messages:prefs-watchlist-token','s:30:\"Ficha de lista de seguimiento:\";'),('es','messages:prefs-misc','s:11:\"Miscelánea\";'),('es','messages:prefs-resetpass','s:19:\"Cambiar contraseña\";'),('es','messages:prefs-email','s:31:\"Opciones de correo electrónico\";'),('es','messages:prefs-rendering','s:10:\"Apariencia\";'),('es','messages:saveprefs','s:7:\"Guardar\";'),('es','messages:resetprefs','s:27:\"Limpiar cambios sin guardar\";'),('es','messages:restoreprefs','s:42:\"Restaurar la configuración predeterminada\";'),('es','messages:prefs-editing','s:8:\"Edición\";'),('es','messages:prefs-edit-boxsize','s:34:\"Tamaño de la ventana de edición.\";'),('es','messages:rows','s:6:\"Filas:\";'),('es','messages:columns','s:9:\"Columnas:\";'),('es','messages:searchresultshead','s:10:\"Búsquedas\";'),('es','messages:resultsperpage','s:23:\"Resultados por página:\";'),('es','messages:stub-threshold','s:77:\"Límite para formato de <a href=\"#\" class=\"stub\">enlace a esbozo</a> (bytes):\";'),('es','messages:stub-threshold-disabled','s:11:\"Desactivado\";'),('es','messages:recentchangesdays','s:37:\"Días a mostrar en cambios recientes:\";'),('es','messages:recentchangesdays-max','s:40:\"(máximo {{PLURAL:$1|un día|$1 días}})\";'),('es','messages:recentchangescount','s:56:\"Número de ediciones a mostrar de manera predeterminada:\";'),('es','messages:prefs-help-recentchangescount','s:68:\"Esto incluye cambios recientes, historiales de página, y registros.\";'),('es','messages:prefs-help-watchlist-token','s:281:\"Rellenar este campo con una clave secreta generará un canal RSS para tu lista de seguimiento.\nCualquiera que conozca la clave en este campo será capaz de leer tu lista de seguimiento, así que escoge un valor seguro. Aquí hay un valor generado aleatoriamente que puedes usar: $1\";'),('es','messages:savedprefs','s:36:\"Tus preferencias han sido guardadas.\";'),('es','messages:timezonelegend','s:13:\"Zona horaria:\";'),('es','messages:localtime','s:11:\"Hora local:\";'),('es','messages:timezoneuseserverdefault','s:30:\"Usar la hora del servidor ($1)\";'),('es','messages:timezoneuseoffset','s:39:\"Otra (especifica la diferencia horaria)\";'),('es','messages:timezoneoffset','s:13:\"Diferencia¹:\";'),('es','messages:servertime','s:18:\"Hora del servidor:\";'),('es','messages:guesstimezone','s:42:\"Rellenar a partir de la hora del navegador\";'),('es','messages:timezoneregion-africa','s:7:\"África\";'),('es','messages:timezoneregion-america','s:8:\"América\";'),('es','messages:timezoneregion-antarctica','s:10:\"Antártica\";'),('es','messages:timezoneregion-arctic','s:7:\"Ártico\";'),('es','messages:timezoneregion-asia','s:4:\"Asia\";'),('es','messages:timezoneregion-atlantic','s:18:\"Océano Atlántico\";'),('es','messages:timezoneregion-australia','s:9:\"Australia\";'),('es','messages:timezoneregion-europe','s:6:\"Europa\";'),('es','messages:timezoneregion-indian','s:15:\"Océano Índico\";'),('es','messages:timezoneregion-pacific','s:17:\"Océano Pacífico\";'),('es','messages:allowemail','s:45:\"Aceptar correo electrónico de otros usuarios\";'),('es','messages:prefs-searchoptions','s:21:\"Opciones de búsqueda\";'),('es','messages:prefs-namespaces','s:19:\"Espacios de nombres\";'),('es','messages:defaultns','s:48:\"Buscar en estos espacios de nombres por defecto:\";'),('es','messages:default','s:11:\"por defecto\";'),('es','messages:prefs-files','s:8:\"Archivos\";'),('es','messages:prefs-custom-css','s:17:\"CSS personalizado\";'),('es','messages:prefs-custom-js','s:24:\"JavaScript personalizado\";'),('es','messages:prefs-common-css-js','s:39:\"CSS/JS compartido para todas las skins:\";'),('es','messages:prefs-reset-intro','s:116:\"Puedes usar esta página para restaurar tus preferencias a las predeterminadas del sitio.\nEsto no se puede deshacer.\";'),('es','messages:prefs-emailconfirm-label','s:37:\"Confirmación de correo electrónico:\";'),('es','messages:prefs-textboxsize','s:33:\"Tamaño de la página de edición\";'),('es','messages:youremail','s:20:\"Correo electrónico:\";'),('es','messages:username','s:18:\"Nombre de usuario:\";'),('es','messages:uid','s:14:\"ID de usuario:\";'),('es','messages:prefs-memberingroups','s:46:\"Miembro {{PLURAL:$1|del grupo|de los grupos}}:\";'),('es','messages:prefs-registration','s:17:\"Hora de registro:\";'),('es','messages:yourrealname','s:12:\"Nombre real:\";'),('es','messages:yourlanguage','s:7:\"Idioma:\";'),('es','messages:yourvariant','s:37:\"Variante lingüística del contenido:\";'),('es','messages:yournick','s:12:\"Nueva firma:\";'),('es','messages:prefs-help-signature','s:140:\"Los comentarios en páginas de discusión deberían firmarse con «<nowiki>~~~~</nowiki>», que se convertirá en tu firma con fecha y hora.\";'),('es','messages:badsig','s:67:\"El código de tu firma no es válido; comprueba las etiquetas HTML.\";'),('es','messages:badsiglength','s:92:\"La firma es muy larga. Debe contener un máximo de {{PLURAL:$1|un carácter|$1 caracteres}}.\";'),('es','messages:yourgender','s:8:\"Género:\";'),('es','messages:gender-unknown','s:15:\"Sin especificar\";'),('es','messages:gender-male','s:9:\"Masculino\";'),('es','messages:gender-female','s:8:\"Femenino\";'),('es','messages:prefs-help-gender','s:120:\"Opcional: empleado para que sea usado correctamente el género por parte del software. Esta información será pública.\";'),('es','messages:email','s:19:\"Correo electrónico\";'),('es','messages:prefs-help-realname','s:99:\"El nombre real es opcional. Si decides proporcionarlo, se usará para dar atribución a tu trabajo.\";'),('es','messages:prefs-help-email','s:138:\"La dirección de correo electrónico es opcional, pero es necesaria para el restablecimiento de tu contraseña, en caso de que la olvides.\";'),('es','messages:prefs-help-email-others','s:208:\"También puedes permitir que otros usuarios te contacten por correo-e a través de un enlace en tus páginas de usuario y discusión.\nTu dirección de correo-e no se revela cuando otros usuarios te contactan.\";'),('es','messages:prefs-help-email-required','s:64:\"Es necesario proporcionar una dirección de correo electrónico.\";'),('es','messages:prefs-info','s:20:\"Información básica\";'),('es','messages:prefs-i18n','s:21:\"Internacionalización\";'),('es','messages:prefs-signature','s:5:\"Firma\";'),('es','messages:prefs-dateformat','s:16:\"Formato de fecha\";'),('es','messages:prefs-timeoffset','s:18:\"Diferencia horaria\";'),('es','messages:prefs-advancedediting','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedrc','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedrendering','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedsearchoptions','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedwatchlist','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-displayrc','s:20:\"Opciones de mostrado\";'),('es','messages:prefs-displaysearchoptions','s:26:\"Opciones de visualización\";'),('es','messages:prefs-displaywatchlist','s:26:\"Opciones de visualización\";'),('es','messages:prefs-diffs','s:11:\"Diferencias\";'),('es','messages:email-address-validity-valid','s:55:\"La dirección de correo electrónico parece ser válida\";'),('es','messages:email-address-validity-invalid','s:42:\"Introduce una dirección de correo válida\";'),('es','messages:userrights','s:38:\"Configuración de permisos de usuarios\";'),('es','messages:userrights-lookup-user','s:29:\"Configurar grupos de usuarios\";'),('es','messages:userrights-user-editname','s:29:\"Escriba un nombre de usuario:\";'),('es','messages:editusergroup','s:28:\"Modificar grupos de usuarios\";'),('es','messages:editinguser','s:172:\"Cambiando los derechos del usuario \'\'\'[[User:$1|$1]]\'\'\' ([[User talk:$1|{{int:talkpagelinktext}}]] {{int:pipe-separator}} [[Special:Contributions/$1|{{int:contribslink}}]])\";'),('es','messages:userrights-editusergroup','s:28:\"Modificar grupos de usuarios\";'),('es','messages:saveusergroups','s:26:\"Guardar grupos de usuarios\";'),('es','messages:userrights-groupsmember','s:11:\"Miembro de:\";'),('es','messages:userrights-groupsmember-auto','s:22:\"Miembro implícito de:\";'),('es','messages:userrights-groups-help','s:285:\"Puedes modificar los grupos a los que pertenece este usuario:\n* Un recuadro marcado significa que el usuario está en ese grupo.\n* Un recuadro no marcado significa que el usuario no está en ese grupo.\n* Un * indica que no podrás retirar el grupo una vez que lo concedas, o viceversa.\";'),('es','messages:userrights-reason','s:7:\"Motivo:\";'),('es','messages:userrights-no-interwiki','s:87:\"No tienes permiso para editar los grupos a los que pertenece un usuario en otros wikis.\";'),('es','messages:userrights-nodatabase','s:44:\"La base de datos $1 no existe o no es local.\";'),('es','messages:userrights-nologin','s:121:\"Debes [[Special:UserLogin|iniciar sesión]] con una cuenta de administrador para poder editar los grupos de los usuarios.\";'),('es','messages:userrights-notallowed','s:70:\"Tu cuenta no tiene permiso para añadir o retirar permisos de usuario.\";'),('es','messages:userrights-changeable-col','s:25:\"Grupos que puedes cambiar\";'),('es','messages:userrights-unchangeable-col','s:28:\"Grupos que no puedes cambiar\";'),('es','messages:group','s:6:\"Grupo:\";'),('es','messages:group-user','s:8:\"Usuarios\";'),('es','messages:group-autoconfirmed','s:24:\"Usuarios autoconfirmados\";'),('es','messages:group-bot','s:4:\"Bots\";'),('es','messages:group-sysop','s:15:\"Administradores\";'),('es','messages:group-bureaucrat','s:11:\"Burócratas\";'),('es','messages:group-suppress','s:23:\"Supresores de ediciones\";'),('es','messages:group-all','s:7:\"(todos)\";'),('es','messages:group-user-member','s:7:\"usuario\";'),('es','messages:group-autoconfirmed-member','s:22:\"usuario autoconfirmado\";'),('es','messages:group-bot-member','s:3:\"bot\";'),('es','messages:group-sysop-member','s:13:\"administrador\";'),('es','messages:group-bureaucrat-member','s:10:\"burócrata\";'),('es','messages:group-suppress-member','s:21:\"supresor de ediciones\";'),('es','messages:grouppage-user','s:23:\"{{ns:project}}:Usuarios\";'),('es','messages:grouppage-autoconfirmed','s:39:\"{{ns:project}}:Usuarios autoconfirmados\";'),('es','messages:grouppage-bot','s:19:\"{{ns:project}}:Bots\";'),('es','messages:grouppage-sysop','s:30:\"{{ns:project}}:Administradores\";'),('es','messages:grouppage-bureaucrat','s:26:\"{{ns:project}}:Burócratas\";'),('es','messages:grouppage-suppress','s:38:\"{{ns:project}}:Supresores de ediciones\";'),('es','messages:right-read','s:13:\"Leer páginas\";'),('es','messages:right-edit','s:15:\"Editar páginas\";'),('es','messages:right-createpage','s:49:\"Crear páginas que no sean páginas de discusión\";'),('es','messages:right-createtalk','s:28:\"Crear páginas de discusión\";'),('es','messages:right-createaccount','s:31:\"Crear cuentas de usuario nuevas\";'),('es','messages:right-minoredit','s:33:\"Marcar ediciones como «menores»\";'),('es','messages:right-move','s:18:\"Trasladar páginas\";'),('es','messages:right-move-subpages','s:38:\"Trasladar páginas con sus subpáginas\";'),('es','messages:right-move-rootuserpages','s:32:\"Mover páginas del usuario raíz\";'),('es','messages:right-movefile','s:14:\"Mover archivos\";'),('es','messages:right-suppressredirect','s:68:\"No crear redirecciones de las páginas fuente  al trasladar páginas\";'),('es','messages:right-upload','s:14:\"Subir archivos\";'),('es','messages:right-reupload','s:48:\"Subir una nueva versión de un archivo existente\";'),('es','messages:right-reupload-own','s:59:\"Subir una nueva versión de un archivo creado por uno mismo\";'),('es','messages:right-reupload-shared','s:60:\"Sobreescribir localmente ficheros del repositorio multimedia\";'),('es','messages:right-upload_by_url','s:35:\"Subir un archivo a traves de un URL\";'),('es','messages:right-purge','s:63:\"Purgar la caché en el servidor sin tener que dar confirmación\";'),('es','messages:right-autoconfirmed','s:30:\"Editar páginas semiprotegidas\";'),('es','messages:right-bot','s:40:\"Ser tratado como un programa automático\";'),('es','messages:right-nominornewtalk','s:95:\"No accionar el aviso de nuevos mensajes al realizar ediciones menores de páginas de discusión\";'),('es','messages:right-apihighlimits','s:57:\"Tener límites más altos de peticiones a través del API\";'),('es','messages:right-writeapi','s:31:\"Hacer uso del API para escribir\";'),('es','messages:right-delete','s:15:\"Borrar páginas\";'),('es','messages:right-bigdelete','s:39:\"Borrar páginas con historiales grandes\";'),('es','messages:right-deleterevision','s:54:\"Borrar y restaurar revisiones específicas de páginas\";'),('es','messages:right-deletedhistory','s:60:\"Ver el historial de páginas borradas, sin el texto asociado\";'),('es','messages:right-deletedtext','s:53:\"Ver texto borrado y cambios entre revisiones borradas\";'),('es','messages:right-browsearchive','s:24:\"Buscar páginas borradas\";'),('es','messages:right-undelete','s:21:\"Restaurar una página\";'),('es','messages:right-suppressrevision','s:61:\"Revisar y restaurar revisiones escondidas por administradores\";'),('es','messages:right-suppressionlog','s:22:\"Ver registros privados\";'),('es','messages:right-block','s:44:\"Bloquear a otros usuarios para que no editen\";'),('es','messages:right-blockemail','s:68:\"Bloquear a un usuario para que no pueda mandar correos electrónicos\";'),('es','messages:right-hideuser','s:52:\"Bloquear un nombre de usuario, haciéndolo invisible\";'),('es','messages:right-ipblock-exempt','s:72:\"Pasar por encima de bloqueos de IPs, auto-bloqueos y bloqueos de rangos.\";'),('es','messages:right-proxyunbannable','s:52:\"Pasar por encima de bloqueos automáticos de proxies\";'),('es','messages:right-unblockself','s:13:\"Desbloquearse\";'),('es','messages:right-protect','s:59:\"Cambiar niveles de protección y editar páginas protegidas\";'),('es','messages:right-editprotected','s:62:\"Editar páginas protegidas (sin la protección «en cascada»)\";'),('es','messages:right-editinterface','s:29:\"Editar la interfaz de usuario\";'),('es','messages:right-editusercssjs','s:49:\"Editar las páginas de CSS y JS de otros usuarios\";'),('es','messages:right-editusercss','s:44:\"Editar las páginas de CSS de otros usuarios\";'),('es','messages:right-edituserjs','s:43:\"Editar las páginas de JS de otros usuarios\";'),('es','messages:right-rollback','s:95:\"Revertir rápidamente las ediciones del último usuario que modificó una página en particular\";'),('es','messages:right-markbotedits','s:51:\"Marcar ediciones deshechas como ediciones de un bot\";'),('es','messages:right-noratelimit','s:38:\"No afectado por límites de frecuencia\";'),('es','messages:right-import','s:35:\"Importar páginas desde otras wikis\";'),('es','messages:right-importupload','s:38:\"Importar páginas de un archivo subido\";'),('es','messages:right-patrol','s:42:\"Marcar ediciones de otros como patrulladas\";'),('es','messages:right-autopatrol','s:54:\"Marcar como patrulladas sus ediciones automáticamente\";'),('es','messages:right-patrolmarks','s:49:\"Ver las marcas de patrullaje de cambios recientes\";'),('es','messages:right-unwatchedpages','s:38:\"Ver una lista de páginas no vigiladas\";'),('es','messages:right-trackback','s:23:\"Enviar un \'\'trackback\'\'\";'),('es','messages:right-mergehistory','s:20:\"Fusionar historiales\";'),('es','messages:right-userrights','s:39:\"Modificar todos los derechos de usuario\";'),('es','messages:right-userrights-interwiki','s:49:\"Modificar los derechos de usuarios en otros wikis\";'),('es','messages:right-siteadmin','s:39:\"Bloquear y desbloquear la base de datos\";'),('es','messages:right-override-export-depth','s:73:\"Exporta páginas incluyendo aquellas enlazadas hasta una profundidad de 5\";'),('es','messages:right-sendemail','s:46:\"Enviar un correo electrónico a otros usuarios\";'),('es','messages:rightslog','s:28:\"Cambios de perfil de usuario\";'),('es','messages:rightslogtext','s:59:\"Este es un registro de cambios en los permisos de usuarios.\";'),('es','messages:rightslogentry','s:55:\"modificó los grupos a los que pertenece $1: de $2 a $3\";'),('es','messages:rightslogentry-autopromote','s:44:\"fue promovido automáticamente desde $2 a $3\";'),('es','messages:rightsnone','s:9:\"(ninguno)\";'),('es','messages:action-read','s:17:\"leer esta página\";'),('es','messages:action-edit','s:22:\"modificar esta página\";'),('es','messages:action-createpage','s:14:\"crear páginas\";'),('es','messages:action-createtalk','s:28:\"crear páginas de discusión\";'),('es','messages:action-createaccount','s:28:\"crear esta cuenta de usuario\";'),('es','messages:action-minoredit','s:29:\"marcar este cambio como menor\";'),('es','messages:action-move','s:18:\"mover esta página\";'),('es','messages:action-move-subpages','s:36:\"mover esta página y sus subpáginas\";'),('es','messages:action-move-rootuserpages','s:32:\"mover páginas del usuario raíz\";'),('es','messages:action-movefile','s:18:\"mover este archivo\";'),('es','messages:action-upload','s:18:\"subir este archivo\";'),('es','messages:action-reupload','s:33:\"reemplazar este archivo existente\";'),('es','messages:action-reupload-shared','s:60:\"reemplazar este archivo existente en un depósito compartido\";'),('es','messages:action-upload_by_url','s:43:\"subir este archivo desde una dirección URL\";'),('es','messages:action-writeapi','s:28:\"utilizar el API de escritura\";'),('es','messages:action-delete','s:19:\"borrar esta página\";'),('es','messages:action-deleterevision','s:21:\"borrar esta revisión\";'),('es','messages:action-deletedhistory','s:40:\"ver el historial borrado de esta página\";'),('es','messages:action-browsearchive','s:24:\"buscar páginas borradas\";'),('es','messages:action-undelete','s:22:\"recuperar esta página\";'),('es','messages:action-suppressrevision','s:44:\"revisar y restaurar esta revisión escondida\";'),('es','messages:action-suppressionlog','s:25:\"ver este registro privado\";'),('es','messages:action-block','s:41:\"bloquear a este usuario para que no edite\";'),('es','messages:action-protect','s:52:\"cambiar los niveles de protección para esta página\";'),('es','messages:action-import','s:37:\"importar esta página desde otro wiki\";'),('es','messages:action-importupload','s:53:\"importar esta página mediante la carga de un archivo\";'),('es','messages:action-patrol','s:42:\"marcar ediciones de otros como patrulladas\";'),('es','messages:action-autopatrol','s:45:\"marcar como patrulladas tus propias ediciones\";'),('es','messages:action-unwatchedpages','s:37:\"ver la lista de páginas no vigiladas\";'),('es','messages:action-trackback','s:34:\"enviar una notificación de enlace\";'),('es','messages:action-mergehistory','s:37:\"fusionar el historial de esta página\";'),('es','messages:action-userrights','s:39:\"modificar todos los derechos de usuario\";'),('es','messages:action-userrights-interwiki','s:49:\"modificar los derechos de usuarios en otros wikis\";'),('es','messages:action-siteadmin','s:39:\"bloquear o desbloquear la base de datos\";'),('es','messages:nchanges','s:31:\"$1 {{PLURAL:$1|cambio|cambios}}\";'),('es','messages:recentchanges','s:17:\"Cambios recientes\";'),('es','messages:recentchanges-legend','s:32:\"Opciones sobre cambios recientes\";'),('es','messages:recentchangestext','s:60:\"Sigue los cambios más recientes de la wiki en esta página.\";'),('es','messages:recentchanges-feed-description','s:58:\"Seguir los cambios más recientes en el wiki en este feed.\";'),('es','messages:recentchanges-label-newpage','s:37:\"Esta edición creó una nueva página\";'),('es','messages:recentchanges-label-minor','s:26:\"Esta es una edición menor\";'),('es','messages:recentchanges-label-bot','s:40:\"Esta edición fue realizada por un robot\";'),('es','messages:recentchanges-label-unpatrolled','s:42:\"Esta edición todavía no se ha patrullado\";'),('es','messages:rcnote','s:177:\"Debajo {{PLURAL:$1|hay \'\'\'1\'\'\' cambio efectuado|están los últimos \'\'\'$1\'\'\' cambios efectuados}} en  {{PLURAL:$2|el último día|los últimos \'\'\'$2\'\'\' días}}, hasta el $4, $5.\";'),('es','messages:rcnotefrom','s:74:\"A continuación se muestran los cambios desde <b>$2</b> (hasta <b>$1</b>).\";'),('es','messages:rclistfrom','s:31:\"Mostrar nuevos cambios desde $1\";'),('es','messages:rcshowhideminor','s:20:\"$1 ediciones menores\";'),('es','messages:rcshowhidebots','s:7:\"$1 bots\";'),('es','messages:rcshowhideliu','s:23:\"$1 usuarios registrados\";'),('es','messages:rcshowhideanons','s:21:\"$1 usuarios anónimos\";'),('es','messages:rcshowhidepatr','s:24:\"$1 ediciones patrulladas\";'),('es','messages:rcshowhidemine','s:16:\"$1 mis ediciones\";'),('es','messages:rclinks','s:61:\"Ver los últimos $1 cambios en los últimos $2 días.<br />$3\";'),('es','messages:diff','s:3:\"dif\";'),('es','messages:hist','s:4:\"hist\";'),('es','messages:hide','s:7:\"Ocultar\";'),('es','messages:show','s:7:\"mostrar\";'),('es','messages:minoreditletter','s:1:\"m\";'),('es','messages:newpageletter','s:1:\"N\";'),('es','messages:boteditletter','s:1:\"b\";'),('es','messages:number_of_watching_users_pageview','s:45:\"[$1 {{PLURAL:$1|usuario|usuarios}} vigilando]\";'),('es','messages:rc_categories','s:47:\"Limitar a las categorías (separadas por «|»)\";'),('es','messages:rc_categories_any','s:10:\"Cualquiera\";'),('es','messages:newsectionsummary','s:24:\"Nueva sección: /* $1 */\";'),('es','messages:rc-enhanced-expand','s:38:\"Mostrar detalles (requiere JavaScript)\";'),('es','messages:rc-enhanced-hide','s:16:\"Ocultar detalles\";'),('es','messages:recentchangeslinked','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-feed','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-toolbox','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-title','s:31:\"Cambios relacionados con «$1»\";'),('es','messages:recentchangeslinked-noresult','s:70:\"No hubo cambios en las páginas enlazadas durante el periodo indicado.\";'),('es','messages:recentchangeslinked-summary','s:237:\"Esta página es una lista de los últimos cambios en las páginas enlazadas desde una página (o en las pertenecientes a una categoría). Las páginas que están en tu [[Special:Watchlist|lista de seguimiento]] aparecen en \'\'\'negrita\'\'\'.\";'),('es','messages:recentchangeslinked-page','s:21:\"Nombre de la página:\";'),('es','messages:recentchangeslinked-to','s:61:\"Muestra los cambios recientes en lugar de la página indicada\";'),('es','messages:upload','s:13:\"Subir archivo\";'),('es','messages:uploadbtn','s:16:\"Subir un archivo\";'),('es','messages:reuploaddesc','s:34:\"Regresar al formulario para subir.\";'),('es','messages:upload-tryagain','s:45:\"Envíe la descripción del archivo modificado\";'),('es','messages:uploadnologin','s:23:\"No has iniciado sesión\";'),('es','messages:uploadnologintext','s:75:\"Tienes que [[Special:UserLogin|iniciar sesión]] para poder subir archivos.\";'),('es','messages:upload_directory_missing','s:90:\"El directorio de subida de archivos ($1) no existe, y no puede ser creado por el servidor.\";'),('es','messages:upload_directory_read_only','s:78:\"El servidor web no puede escribir en el directorio de subida de archivos ($1).\";'),('es','messages:uploaderror','s:31:\"Error al intentar subir archivo\";'),('es','messages:upload-recreate-warning','s:151:\"\'\'\'Aviso: Un archivo con ese nombre ha sido eliminado o renombrado.\'\'\'\n\nA continuación se muestra el registro de borrados y traslados de esta página:\";'),('es','messages:uploadtext','s:904:\"Utiliza el siguiente formulario para subir archivos.\nPara ver o buscar archivos subidos con anterioridad, ve a la [[Special:FileList|lista de archivos subidos]].\nLos archivos subidos quedarán registrados además en el [[Special:Log/upload|registro de archivos subidos]] y los borrados en el [[Special:Log/delete|registro de borrados]].\n\nPara incluir un archivo en una página, usa un enlace como los mostrados a continuación:\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></tt>\'\'\' para usar el fichero en tamaño completo\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|texto descriptivo]]</nowiki></tt>\'\'\' para una versión de 200 píxeles de ancho en una caja en el margen izquierdo con \'texto descriptivo\' como descripción\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></tt>\'\'\' para enlazar directamente al fichero sin mostrarlo.\";'),('es','messages:upload-permitted','s:32:\"Tipos de archivo permitidos: $1.\";'),('es','messages:upload-preferred','s:32:\"Tipos de archivo preferidos: $1.\";'),('es','messages:upload-prohibited','s:32:\"Tipos de archivo prohibidos: $1.\";'),('es','messages:uploadlog','s:19:\"registro de subidas\";'),('es','messages:uploadlogpage','s:19:\"Subidas de archivos\";'),('es','messages:uploadlogpagetext','s:139:\"Abajo hay una lista de los últimos archivos subidos.\nMira la [[Special:NewFiles|galería de archivos nuevos]] para una descripción visual\";'),('es','messages:filename','s:18:\"Nombre del archivo\";'),('es','messages:filedesc','s:7:\"Sumario\";'),('es','messages:fileuploadsummary','s:13:\"Descripción:\";'),('es','messages:filereuploadsummary','s:19:\"Cambios de archivo:\";'),('es','messages:filestatus','s:20:\"Estado de copyright:\";'),('es','messages:filesource','s:7:\"Fuente:\";'),('es','messages:uploadedfiles','s:16:\"Archivos subidos\";'),('es','messages:ignorewarning','s:38:\"Ignorar aviso y guardar de todos modos\";'),('es','messages:ignorewarnings','s:23:\"Ignorar cualquier aviso\";'),('es','messages:minlength1','s:54:\"Los nombres de archivo deben tener al menos una letra.\";'),('es','messages:illegalfilename','s:156:\"El nombre de archivo «$1» contiene caracteres que no están permitidos en títulos de páginas. Por favor, renombra el archivo e intenta volver a subirlo.\";'),('es','messages:badfilename','s:47:\"El nombre de la imagen se ha cambiado a «$1».\";'),('es','messages:filetype-mime-mismatch','s:92:\"La extensión de archivo «.$1» no coincide con el tipo detectado de MIME del archivo ($2).\";'),('es','messages:filetype-badmime','s:49:\"No se permite subir archivos de tipo MIME «$1».\";'),('es','messages:filetype-bad-ie-mime','s:156:\"No se puede subir este archivo porque Internet Explorer podría considerarlo como «$1», que es un tipo de archivo no permitido y potencialmente peligroso.\";'),('es','messages:filetype-unwanted-type','s:135:\"\'\'\'«.$1»\'\'\' no está entre los tipos de fichero aconsejados.\n{{PLURAL:$3|El único tipo aconsejado es|Los tipos aconsejados son}} $2.\";'),('es','messages:filetype-banned-type','s:184:\"\'\'\'\".$1\"\'\'\' {{PLURAL:$4|no es un tipo de archivo permitido|no son tipos de archivos permitidos}}.\n{{PLURAL:$3|El tipo de archivo permitido es|Los tipos de archivos permitidos son}} $2.\";'),('es','messages:filetype-missing','s:47:\"El archivo no tiene extensión (como «.jpg»).\";'),('es','messages:empty-file','s:38:\"El archivo que enviaste estaba vacío.\";'),('es','messages:file-too-large','s:44:\"El archivo que enviste era demasiado grande.\";'),('es','messages:filename-tooshort','s:40:\"El nombre de archivo es demasiado corto.\";'),('es','messages:filetype-banned','s:35:\"El tipo de archivo está prohibido.\";'),('es','messages:verification-error','s:51:\"Este archivo no pasó la verificación de archivos.\";'),('es','messages:hookaborted','s:88:\"La modificación que ha intentado realizar fue cancelada por un adicional de extensión.\";'),('es','messages:illegal-filename','s:40:\"El nombre de archivo no está permitido.\";'),('es','messages:overwrite','s:53:\"Sobrescribir un archivo existente no está permitido.\";'),('es','messages:unknown-error','s:30:\"Ocurrió un error desconocido.\";'),('es','messages:tmp-create-error','s:34:\"No se pudo crear archivo temporal.\";'),('es','messages:tmp-write-error','s:35:\"Error al escribir archivo temporal.\";'),('es','messages:large-file','s:76:\"Se recomienda que los archivos no sean mayores de $1; este archivo ocupa $2.\";'),('es','messages:largefileserver','s:84:\"El tamaño de este archivo es mayor del que este servidor admite por configuración.\";'),('es','messages:emptyfile','s:132:\"El archivo que has intentado subir parece estar vacío; por favor, verifica que realmente se trate del archivo que intentabas subir.\";'),('es','messages:windows-nonascii-filename','s:65:\"Este wiki no admite nombres de archivo con caracteres especiales.\";'),('es','messages:fileexists','s:134:\"Ya existe un archivo con este nombre, por favor comprueba \'\'\'<tt>[[:$1]]</tt>\'\'\' si no estás seguro de querer cambiarlo.\n[[$1|thumb]]\";'),('es','messages:filepageexists','s:293:\"La página de descripción de este archivo ya ha sido creada en \'\'\'<tt>[[:$1]]</tt>\'\'\', pero no existe actualmente ningún fichero con este nombre.\nEl resumen que ha ingresado no aparecerá en la página de descripción. Para que el sumario aparezca, deberá editarlo manualmente.\n[[$1|thumb]]\";'),('es','messages:fileexists-extension','s:216:\"Existe un archivo con un nombre similar: [[$2|thumb]]\n* Nombre del archivo que se está subiendo: \'\'\'<tt>[[:$1]]</tt>\'\'\'\n* Nombre del archivo ya existente: \'\'\'<tt>[[:$2]]</tt>\'\'\'\nPor favor, elige un nombre diferente.\";'),('es','messages:fileexists-thumbnail-yes','s:241:\"El archivo parece ser una imagen de tamaño reducido \'\'(thumbnail)\'\'. [[$1|thumb]]\nPor favor comprueba el archivo \'\'\'<tt>[[:$1]]</tt>\'\'\'.\nSi el archivo comprobado es la misma imagen a tamaño original no es necesario subir un thumbnail más.\";'),('es','messages:file-thumbnail-no','s:208:\"El nombre del archivo comienza con \'\'\'<tt>$1</tt>\'\'\'.\nParece ser una imagen de tamaño reducido \'\'(thumbnail)\'\'.\nSi tiene esta imagen a toda resolución súbala, si no, por favor cambie el nombre del archivo.\";'),('es','messages:fileexists-forbidden','s:194:\"Ya existe un archivo con este nombre, y no puede ser grabado encima de otro. Si quiere subir su archivo de todos modos, por favor vuelva atrás y utilice otro nombre. [[File:$1|thumb|center|$1]]\";'),('es','messages:fileexists-shared-forbidden','s:191:\"Ya existe un archivo con este nombre en el repositorio compartido.\nSi todavía quiere subir su archivo, por favor, regrese a la página anterior y use otro nombre. [[File:$1|thumb|center|$1]]\";'),('es','messages:file-exists-duplicate','s:75:\"Este archivo es un duplicado {{PLURAL:$1|del siguiente|de los siguientes}}:\";'),('es','messages:file-deleted-duplicate','s:149:\"Un archivo idéntico a este ([[:$1]]) ha sido borrado con anterioridad. Debes comprobar el historial de borrado del archivo ante de volver a subirlo.\";'),('es','messages:uploadwarning','s:32:\"Advertencia de subida de archivo\";'),('es','messages:uploadwarning-text','s:86:\"Por favor, modifique la descripción del archivo abajo indicada e inténtelo de nuevo.\";'),('es','messages:savefile','s:15:\"Guardar archivo\";'),('es','messages:uploadedimage','s:17:\"subió «[[$1]]»\";'),('es','messages:overwroteimage','s:39:\"subió una nueva versión de «[[$1]]»\";'),('es','messages:uploaddisabled','s:32:\"Subida de archivos deshabilitada\";'),('es','messages:copyuploaddisabled','s:28:\"Carga por URL deshabilitada.\";'),('es','messages:uploadfromurl-queued','s:35:\"Tu carga ha sido enviada a la cola.\";'),('es','messages:uploaddisabledtext','s:29:\"No es posible subir archivos.\";'),('es','messages:php-uploaddisabledtext','s:107:\"La subida de archivos está deshabilitada en PHP. Por favor compruebe <code>file_uploads</code> en php.ini.\";'),('es','messages:uploadscripted','s:106:\"Este archivo contiene script o código HTML que puede ser interpretado erróneamente por un navegador web.\";'),('es','messages:uploadvirus','s:44:\"¡El archivo contiene un virus!\nDetalles: $1\";'),('es','messages:uploadjava','s:165:\"El archivo es un ZIP que contiene un archivo .class de Java.\nNo se permite subir archivos Java, porque pueden causar que se puedan saltar restricciones de seguridad.\";'),('es','messages:upload-source','s:14:\"Archivo origen\";'),('es','messages:sourcefilename','s:26:\"Nombre del archivo origen:\";'),('es','messages:sourceurl','s:20:\"Dirección original:\";'),('es','messages:destfilename','s:30:\"Nombre del archivo de destino:\";'),('es','messages:upload-maxfilesize','s:31:\"Tamaño máximo del archivo: $1\";'),('es','messages:upload-description','s:23:\"Descripción de archivo\";'),('es','messages:upload-options','s:17:\"Opciones de carga\";'),('es','messages:watchthisupload','s:20:\"Vigilar este archivo\";'),('es','messages:filewasdeleted','s:138:\"Un archivo con este nombre se subió con anterioridad y posteriormente ha sido borrado. Deberías revisar el $1 antes de subirlo de nuevo.\";'),('es','messages:filename-bad-prefix','s:239:\"El nombre del archivo que estás subiendo comienza por \'\'\'«$1»\'\'\', un nombre nada descriptivo de su contenido. Es un típico nombre de los que asignan automáticamente las cámaras digitales.\n\nPor favor, elige un nombre más descriptivo.\";'),('es','messages:upload-success-subj','s:17:\"Subida con éxito\";'),('es','messages:upload-success-msg','s:73:\"Tu carga de [$2] fue exitosa. Está disponible aquí: [[:{{ns:file}}:$1]]\";'),('es','messages:upload-failure-subj','s:20:\"Problema en la carga\";'),('es','messages:upload-failure-msg','s:49:\"Hubo un problema durante la carga desde [$2]:\n\n$1\";'),('es','messages:upload-warning-subj','s:15:\"Alerta de carga\";'),('es','messages:upload-warning-msg','s:134:\"Hubo un problema con tu carga de [$2]. Puedes regresar al [[Special:Upload/stash/$1|formulario de carga]] para corregir este problema.\";'),('es','messages:upload-proto-error','s:20:\"Protocolo incorrecto\";'),('es','messages:upload-proto-error-text','s:107:\"Para subir archivos desde otra página la URL debe comenzar por <code>http://</code> o <code>ftp://</code>.\";'),('es','messages:upload-file-error','s:33:\"Error interno al subir el archivo\";'),('es','messages:upload-file-error-text','s:174:\"Ha ocurrido un error interno mientras se intentaba crear un fichero temporal en el servidor. Por favor, contacta con un [[Special:ListUsers/sysop|administrador del sistema]].\";'),('es','messages:upload-misc-error','s:30:\"Error desconocido en la subida\";'),('es','messages:upload-misc-error-text','s:211:\"Ha ocurrido un error durante la subida. Por favor verifica que la URL es válida y accesible e inténtalo de nuevo. Si el problema persiste, contacta con un [[Special:ListUsers/sysop|administrador del sistema]].\";'),('es','messages:upload-too-many-redirects','s:41:\"La URL contenía demasiadas redirecciones\";'),('es','messages:upload-unknown-size','s:19:\"Tamaño desconocido\";'),('es','messages:upload-http-error','s:29:\"Ha ocurrido un error HTTP: $1\";'),('es','messages:zip-file-open-error','s:68:\"Se encontró un error al abrir el archivo ZIP para su comprobación.\";'),('es','messages:zip-wrong-format','s:45:\"El archivo especificado no es un archivo ZIP.\";'),('es','messages:zip-bad','s:88:\"El archivo es un ZIP dañado o que no se puede leer.\nNo se puede comprobar su seguridad.\";'),('es','messages:zip-unsupported','s:136:\"El archivo es un archivo que utiliza características ZIP no compatibles con MediaWiki.\nNo puede comprobarse adecuadamente su seguridad.\";'),('es','messages:uploadstash','s:19:\"Ficheros escondidos\";'),('es','messages:uploadstash-summary','s:217:\"Esta página da acceso a los ficheros enviados (o que están en el proceso de envío) pero que aún no han sido publicados en la wiki. Estos ficheros no son visibles para nadie, excepto para el usuario que los envió.\";'),('es','messages:uploadstash-clear','s:30:\"Borrar los ficheros escondidos\";'),('es','messages:uploadstash-nofiles','s:30:\"No tienes archivos escondidos.\";'),('es','messages:uploadstash-badtoken','s:108:\"No fue posible ejecutar esa operación, tal vez porque sus credenciales de edición expiraron. Reinténtelo.\";'),('es','messages:uploadstash-errclear','s:42:\"El borrado de los archivos no tuvo éxito.\";'),('es','messages:uploadstash-refresh','s:31:\"Actualizar la lista de archivos\";'),('es','messages:img-auth-accessdenied','s:15:\"Acceso denegado\";'),('es','messages:img-auth-nopathinfo','s:232:\"Falta PATH_INFO.\nTu servidor no está configurado para proporcionar esta información.\nPuede que esté basado en CGI y no sea compatible con img_auth.\nVéase [//www.mediawiki.org/wiki/Manual:Image_Authorization image authorization.]\";'),('es','messages:img-auth-notindir','s:61:\"Ruta solicitad no esá en el directorio de cargas configurado\";'),('es','messages:img-auth-badtitle','s:50:\"Incapaz de construir un título válido de «$1».\";'),('es','messages:img-auth-nologinnWL','s:61:\"No has iniciado sesión y «$1» no está en la lista blanca.\";'),('es','messages:img-auth-nofile','s:28:\"El archivo «$1» no existe.\";'),('es','messages:img-auth-isdir','s:92:\"Estás tratando de acceder a un directorio «$1».\nSolo se permite el acceso a los archivos.\";'),('es','messages:img-auth-streaming','s:17:\"Streaming «$1».\";'),('es','messages:img-auth-public','s:170:\"La función de img_auth.php es mostrar archivos desde una wiki privada.\nEsta wiki está configurada como pública.\nPara óptima seguridad, img_auth.php está desactivado.\";'),('es','messages:img-auth-noread','s:44:\"El usuario no tiene acceso para leer «$1».\";'),('es','messages:img-auth-bad-query-string','s:58:\"La dirección URL tiene una cadena de consulta no válida.\";'),('es','messages:http-invalid-url','s:17:\"URL inválida: $1\";'),('es','messages:http-invalid-scheme','s:50:\"Las URLs con el esquema «$1» no son compatibles.\";'),('es','messages:http-request-error','s:55:\"La solicitud HTTP falló debido a un error desconocido.\";'),('es','messages:http-read-error','s:22:\"Error de lectura HTTP.\";'),('es','messages:http-timed-out','s:30:\"La solicitud HTTP ha expirado.\";'),('es','messages:http-curl-error','s:29:\"Error al recuperar el URL: $1\";'),('es','messages:http-host-unreachable','s:32:\"No fue posible acceder a la URL.\";'),('es','messages:http-bad-status','s:54:\"Ha habido un problema durante la solicitud HTTP: $1 $2\";'),('es','messages:upload-curl-error6','s:26:\"No se pudo alcanzar la URL\";'),('es','messages:upload-curl-error6-text','s:106:\"La URL no pudo ser alcanzada. Por favor comprueba que la URL es correcta y el sitio web está funcionando.\";'),('es','messages:upload-curl-error28','s:25:\"Tiempo de espera excedido\";'),('es','messages:upload-curl-error28-text','s:193:\"La página tardó demasiado en responder. Por favor, comprueba que el servidor está funcionando, espera un poco y vuelva a intentarlo. Quizás desees intentarlo en otro momento de menos carga.\";'),('es','messages:license','s:9:\"Licencia:\";'),('es','messages:license-header','s:8:\"Licencia\";'),('es','messages:nolicense','s:20:\"Ninguna seleccionada\";'),('es','messages:license-nopreview','s:33:\"(Previsualización no disponible)\";'),('es','messages:upload_source_url','s:44:\" (una URL válida y accesible públicamente)\";'),('es','messages:upload_source_file','s:25:\" (un archivo en tu disco)\";'),('es','messages:listfiles-summary','s:178:\"Esta página especial muestra todos los archivos subidos.\nCuando es filytrado por el usuario, sólo los archivos cargados por el usuario se muestran en su versión más reciente.\";'),('es','messages:listfiles_search_for','s:28:\"Buscar por nombre de imagen:\";'),('es','messages:imgfile','s:7:\"archivo\";'),('es','messages:listfiles','s:17:\"Lista de archivos\";'),('es','messages:listfiles_thumb','s:9:\"Miniatura\";'),('es','messages:listfiles_date','s:5:\"Fecha\";'),('es','messages:listfiles_name','s:6:\"Nombre\";'),('es','messages:listfiles_user','s:7:\"Usuario\";'),('es','messages:listfiles_size','s:15:\"Tamaño (bytes)\";'),('es','messages:listfiles_description','s:12:\"Descripción\";'),('es','messages:listfiles_count','s:9:\"Versiones\";'),('es','messages:file-anchor-link','s:7:\"Archivo\";'),('es','messages:filehist','s:21:\"Historial del archivo\";'),('es','messages:filehist-help','s:62:\"Haz clic sobre una fecha/hora para ver el\narchivo a esa fecha.\";'),('es','messages:filehist-deleteall','s:11:\"borrar todo\";'),('es','messages:filehist-deleteone','s:6:\"borrar\";'),('es','messages:filehist-revert','s:8:\"revertir\";'),('es','messages:filehist-current','s:3:\"act\";'),('es','messages:filehist-datetime','s:12:\"Fecha y hora\";'),('es','messages:filehist-thumb','s:9:\"Miniatura\";'),('es','messages:filehist-thumbtext','s:30:\"Miniatura de la versión de $1\";'),('es','messages:filehist-nothumb','s:13:\"Sin miniatura\";'),('es','messages:filehist-user','s:7:\"Usuario\";'),('es','messages:filehist-dimensions','s:11:\"Dimensiones\";'),('es','messages:filehist-filesize','s:7:\"Tamaño\";'),('es','messages:filehist-comment','s:10:\"Comentario\";'),('es','messages:filehist-missing','s:26:\"No se encuentra el archivo\";'),('es','messages:imagelinks','s:16:\"Usos del archivo\";'),('es','messages:linkstoimage','s:89:\"{{PLURAL:$1|La siguiente página enlaza|Las siguientes páginas enlazan}} a este archivo:\";'),('es','messages:linkstoimage-more','s:297:\"Hay más de {{PLURAL:$1|una página que enlaza|$1 páginas que enlazan}} con este archivo.\n\nLa lista siguiente sólo muestra {{PLURAL:$1|la primera página que enlaza|las primeras $1 páginas que enlazan}} con este archivo.\nTambién puedes consultar la [[Special:WhatLinksHere/$2|lista completa]].\";'),('es','messages:nolinkstoimage','s:42:\"No hay páginas que enlacen a esta imagen.\";'),('es','messages:morelinkstoimage','s:61:\"Vea [[Special:WhatLinksHere/$1|más enlaces]] a este archivo.\";'),('es','messages:linkstoimage-redirect','s:31:\"$1 (archivo de redirección) $2\";'),('es','messages:duplicatesoffile','s:153:\"{{PLURAL:$1|El siguiente archivo es un duplicado|Los siguientes $1 archivos son duplicados}} de éste ([[Special:FileDuplicateSearch/$2|más detalles]]):\";'),('es','messages:sharedupload','s:60:\"Este archivo es de $1 y puede ser usado por otros proyectos.\";'),('es','messages:sharedupload-desc-there','s:148:\"Este archivo es de $1 y puede ser usado por otros proyectos.\nPor favor mira la [$2 página de descripción del archivo] para información adicional.\";'),('es','messages:sharedupload-desc-here','s:146:\"Este archivo es de $1 y puede ser usado por otros proyectos.\nLa descripción en su [$2 página de descripción del archivo] está mostrada debajo.\";'),('es','messages:filepage-nofile','s:42:\"No existe ningún archivo con este nombre.\";'),('es','messages:filepage-nofile-link','s:68:\"No existe ningún archivo con este nombre, pero puedes [$1 subirlo].\";'),('es','messages:uploadnewversion-linktext','s:40:\"Subir una nueva versión de este archivo\";'),('es','messages:shared-repo-from','s:5:\"de $1\";'),('es','messages:shared-repo','s:25:\"un repositorio compartido\";'),('es','messages:filerevert','s:11:\"Revertir $1\";'),('es','messages:filerevert-legend','s:22:\"Reversión de archivos\";'),('es','messages:filerevert-intro','s:76:\"Estás revirtiendo \'\'\'[[Media:$1|$1]]\'\'\' a la [$4 versión del $2 a las $3].\";'),('es','messages:filerevert-comment','s:7:\"Motivo:\";'),('es','messages:filerevert-defaultcomment','s:45:\"Revertido a la versión subida el $1 a las $2\";'),('es','messages:filerevert-submit','s:8:\"Revertir\";'),('es','messages:filerevert-success','s:75:\"\'\'\'[[Media:$1|$1]]\'\'\' ha sido revertido a la [$4 versión del $2 a las $3].\";'),('es','messages:filerevert-badversion','s:71:\"No existe version local previa de este archivo con esa marca de tiempo.\";'),('es','messages:filedelete','s:9:\"Borrar $1\";'),('es','messages:filedelete-legend','s:14:\"Borrar archivo\";'),('es','messages:filedelete-intro','s:77:\"Estás borrando el archivo \'\'\'[[Media:$1|$1]]\'\'\' así como todo su historial.\";'),('es','messages:filedelete-intro-old','s:74:\"Estás borrando la versión de \'\'\'[[Media:$1|$1]]\'\'\' del [$4 $2 a las $3].\";'),('es','messages:filedelete-comment','s:7:\"Motivo:\";'),('es','messages:filedelete-submit','s:8:\"Eliminar\";'),('es','messages:filedelete-success','s:25:\"\'\'\'$1\'\'\' ha sido borrado.\";'),('es','messages:filedelete-success-old','s:68:\"La version de \'\'\'[[Media:$1|$1]]\'\'\' del $2 a las $3 ha sido borrada.\";'),('es','messages:filedelete-nofile','s:19:\"\'\'\'$1\'\'\' no existe.\";'),('es','messages:filedelete-nofile-old','s:76:\"No existe una versión guardada de \'\'\'$1\'\'\' con los atributos especificados.\";'),('es','messages:filedelete-otherreason','s:12:\"Otra razón:\";'),('es','messages:filedelete-reason-otherlist','s:11:\"Otra razón\";'),('es','messages:filedelete-reason-dropdown','s:78:\"*Razones de borrado habituales\n** Violación de copyright\n** Archivo duplicado\";'),('es','messages:filedelete-edit-reasonlist','s:29:\"Edita los motivos del borrado\";'),('es','messages:filedelete-maintenance','s:90:\"Borrado y restauración de archivos temporalmente deshabilitados durante el mantenimiento.\";'),('es','messages:mimesearch','s:14:\"Búsqueda MIME\";'),('es','messages:mimesearch-summary','s:120:\"Esta página permite el filtrado de ficheros por su tipo MIME.\nEntrada: contenttype/subtype, p. ej. <tt>image/jpeg</tt>.\";'),('es','messages:mimetype','s:10:\"Tipo MIME:\";'),('es','messages:download','s:9:\"descargar\";'),('es','messages:unwatchedpages','s:21:\"Páginas no vigiladas\";'),('es','messages:listredirects','s:22:\"Lista de redirecciones\";'),('es','messages:unusedtemplates','s:18:\"Plantillas sin uso\";'),('es','messages:unusedtemplatestext','s:186:\"Aquí se enumeran todas las páginas en el espacio de nombres {{ns:template}} que no están incluidas en otras páginas. Recuerda mirar lo que enlaza a las plantillas antes de borrarlas.\";'),('es','messages:unusedtemplateswlh','s:13:\"otros enlaces\";'),('es','messages:randompage','s:17:\"Página aleatoria\";'),('es','messages:randompage-nopages','s:89:\"No hay páginas en los siguientes {{PLURAL:$2|espacio de nombre|espacios de nombre}}: $1.\";'),('es','messages:randomredirect','s:32:\"Ir a una redirección cualquiera\";'),('es','messages:randomredirect-nopages','s:53:\"No hay redirecciones en el espacio de nombres «$1».\";'),('es','messages:statistics','s:13:\"Estadísticas\";'),('es','messages:statistics-header-pages','s:25:\"Estadísticas de páginas\";'),('es','messages:statistics-header-edits','s:26:\"Estadísticas de ediciones\";'),('es','messages:statistics-header-views','s:24:\"Estadísticas de visitas\";'),('es','messages:statistics-header-users','s:24:\"Estadísticas de usuario\";'),('es','messages:statistics-header-hooks','s:19:\"Otras estadísticas\";'),('es','messages:statistics-articles','s:21:\"Páginas de contenido\";'),('es','messages:statistics-pages','s:8:\"Páginas\";'),('es','messages:statistics-pages-desc','s:85:\"Todas las páginas en el wiki, incluyendo páginas de discusión, redirecciones, etc.\";'),('es','messages:statistics-files','s:16:\"Ficheros subidos\";'),('es','messages:statistics-edits','s:58:\"Ediciones en páginas desde que {{SITENAME}} fue instalado\";'),('es','messages:statistics-edits-average','s:30:\"Media de ediciones por página\";'),('es','messages:statistics-views-total','s:15:\"Visitas totales\";'),('es','messages:statistics-views-total-desc','s:70:\"No se incluyen accesos a páginas no existentes ni páginas especiales\";'),('es','messages:statistics-views-peredit','s:20:\"Visitas por edición\";'),('es','messages:statistics-users','s:42:\"[[Special:ListUsers|Usuarios]] registrados\";'),('es','messages:statistics-users-active','s:16:\"Usuarios activos\";'),('es','messages:statistics-users-active-desc','s:93:\"Usuarios que han ejecutado una acción en {{PLURAL:$1|el último día|los últimos $1 días}}\";'),('es','messages:statistics-mostpopular','s:20:\"Páginas más vistas\";'),('es','messages:disambiguations','s:52:\"Páginas que enlazan con páginas de desambiguación\";'),('es','messages:disambiguationspage','s:24:\"Template:Desambiguación\";'),('es','messages:disambiguations-text','s:276:\"Las siguientes páginas enlazan con una \'\'\'página de desambiguación\'\'\'.\nEn lugar de ello deberían enlazar con  el tema apropiado.<br />\nUna página es considerada página de desambiguación si utiliza la plantilla que está enlazada desde [[MediaWiki:Disambiguationspage]].\";'),('es','messages:doubleredirects','s:20:\"Redirecciones dobles\";'),('es','messages:doubleredirectstext','s:371:\"Esta página contiene una lista de páginas que redirigen a otras páginas de redirección.\nCada fila contiene enlaces a la segunda y tercera redirección, así como la primera línea de la segunda redirección, en la que usualmente se encontrará el artículo «real» al que la primera redirección debería apuntar.\nLas entradas <del>tachadas</del> han sido resueltas.\";'),('es','messages:double-redirect-fixed-move','s:61:\"[[$1]] ha sido trasladado, ahora es una redirección a [[$2]]\";'),('es','messages:double-redirect-fixed-maintenance','s:56:\"Corrigiendo la doble redirección desde [[$1]] a [[$2]].\";'),('es','messages:double-redirect-fixer','s:26:\"Corrector de redirecciones\";'),('es','messages:brokenredirects','s:25:\"Redirecciones incorrectas\";'),('es','messages:brokenredirectstext','s:63:\"Las siguientes redirecciones enlazan a páginas que no existen:\";'),('es','messages:brokenredirects-edit','s:6:\"editar\";'),('es','messages:brokenredirects-delete','s:6:\"borrar\";'),('es','messages:withoutinterwiki','s:23:\"Páginas sin interwikis\";'),('es','messages:withoutinterwiki-summary','s:64:\"Las siguientes páginas no enlazan a versiones en otros idiomas:\";'),('es','messages:withoutinterwiki-legend','s:7:\"Prefijo\";'),('es','messages:withoutinterwiki-submit','s:7:\"Mostrar\";'),('es','messages:fewestrevisions','s:30:\"Artículos con menos ediciones\";'),('es','messages:nbytes','s:27:\"$1 {{PLURAL:$1|byte|bytes}}\";'),('es','messages:ncategories','s:39:\"$1 {{PLURAL:$1|categoría|categorías}}\";'),('es','messages:nlinks','s:31:\"$1 {{PLURAL:$1|enlace|enlaces}}\";'),('es','messages:nmembers','s:37:\"$1 {{PLURAL:$1|artículo|artículos}}\";'),('es','messages:nrevisions','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:nviews','s:29:\"$1 {{PLURAL:$1|vista|vistas}}\";'),('es','messages:nimagelinks','s:46:\"Usado en {{PLURAL:$1|una página|$1 páginas}}\";'),('es','messages:ntransclusions','s:46:\"usado en {{PLURAL:$1|una página|$1 páginas}}\";'),('es','messages:specialpage-empty','s:26:\"Esta página está vacía.\";'),('es','messages:lonelypages','s:19:\"Páginas huérfanas\";'),('es','messages:lonelypagestext','s:95:\"Las siguientes páginas no están enlazadas ni transcluídas en otras páginas de {{SITENAME}}.\";'),('es','messages:uncategorizedpages','s:24:\"Páginas sin categorizar\";'),('es','messages:uncategorizedcategories','s:27:\"Categorías sin categorizar\";'),('es','messages:uncategorizedimages','s:25:\"Imágenes sin categorizar\";'),('es','messages:uncategorizedtemplates','s:26:\"Plantillas sin categorizar\";'),('es','messages:unusedcategories','s:19:\"Categorías sin uso\";'),('es','messages:unusedimages','s:17:\"Imágenes sin uso\";'),('es','messages:popularpages','s:18:\"Páginas populares\";'),('es','messages:wantedcategories','s:22:\"Categorías requeridas\";'),('es','messages:wantedpages','s:19:\"Páginas requeridas\";'),('es','messages:wantedpages-badtitle','s:47:\"Título inválido en conjunto de resultados: $1\";'),('es','messages:wantedfiles','s:19:\"Ficheros requeridos\";'),('es','messages:wantedtemplates','s:21:\"Plantillas requeridas\";'),('es','messages:mostlinked','s:25:\"Artículos más enlazados\";'),('es','messages:mostlinkedcategories','s:26:\"Categorías más enlazadas\";'),('es','messages:mostlinkedtemplates','s:25:\"Plantillas más enlazadas\";'),('es','messages:mostcategories','s:29:\"Páginas con más categorías\";'),('es','messages:mostimages','s:21:\"Imágenes más usadas\";'),('es','messages:mostrevisions','s:29:\"Artículos con más ediciones\";'),('es','messages:prefixindex','s:30:\"Todas las páginas con prefijo\";'),('es','messages:shortpages','s:15:\"Páginas cortas\";'),('es','messages:longpages','s:15:\"Páginas largas\";'),('es','messages:deadendpages','s:19:\"Páginas sin salida\";'),('es','messages:deadendpagestext','s:68:\"Las siguientes páginas no enlazan a otras páginas de {{SITENAME}}.\";'),('es','messages:protectedpages','s:19:\"Páginas protegidas\";'),('es','messages:protectedpages-indef','s:30:\"Sólo protecciones indefinidas\";'),('es','messages:protectedpages-cascade','s:29:\"Sólo protecciones en cascada\";'),('es','messages:protectedpagestext','s:69:\"Las siguientes páginas están protegidas para su edición o traslado\";'),('es','messages:protectedpagesempty','s:66:\"Actualmente no hay ninguna página protegida con esos parámetros.\";'),('es','messages:protectedtitles','s:19:\"Títulos protegidos\";'),('es','messages:protectedtitlestext','s:72:\"Los siguientes títulos están protegidos, por lo que no se pueden crear\";'),('es','messages:protectedtitlesempty','s:64:\"Actualmente no existen entradas protegidas con esos parámetros.\";'),('es','messages:listusers','s:17:\"Lista de usuarios\";'),('es','messages:listusers-editsonly','s:36:\"Muestra sólo usuarios con ediciones\";'),('es','messages:listusers-creationsort','s:31:\"Ordenado por fecha de creación\";'),('es','messages:usereditcount','s:35:\"$1 {{PLURAL:$1|edición|ediciones}}\";'),('es','messages:usercreated','s:18:\"Creado el $1 en $2\";'),('es','messages:newpages','s:15:\"Páginas nuevas\";'),('es','messages:newpages-username','s:17:\"Nombre de usuario\";'),('es','messages:ancientpages','s:24:\"Artículos más antiguos\";'),('es','messages:move','s:9:\"Trasladar\";'),('es','messages:movethispage','s:22:\"Trasladar esta página\";'),('es','messages:unusedimagestext','s:232:\"Los siguientes archivos existen pero no están insertados en ninguna página.\nPor favor note que otros sitios web pueden vincular a un archivo con un URL directo, y por tanto pueden ser listados aquí a pesar de estar en uso activo.\";'),('es','messages:unusedcategoriestext','s:93:\"Las siguientes categorías han sido creadas, pero ningún artículo o categoría las utiliza.\";'),('es','messages:notargettitle','s:23:\"No hay página objetivo\";'),('es','messages:notargettext','s:64:\"Especifique sobre qué página desea llevar a cabo esta acción.\";'),('es','messages:nopagetitle','s:28:\"No existe la página destino\";'),('es','messages:nopagetext','s:49:\"La página destino que ha especificado no existe.\";'),('es','messages:pager-newer-n','s:39:\"{{PLURAL:$1|1 siguiente|$1 siguientes}}\";'),('es','messages:pager-older-n','s:38:\"{{PLURAL:$1|1 anterior|$1 anteriores}}\";'),('es','messages:suppress','s:21:\"Supresor de ediciones\";'),('es','messages:querypage-disabled','s:69:\"Esta página especial está deshabilitada por motivos de rendimiento.\";'),('es','messages:booksources','s:17:\"Fuentes de libros\";'),('es','messages:booksources-search-legend','s:24:\"Buscar fuentes de libros\";'),('es','messages:booksources-go','s:2:\"Ir\";'),('es','messages:booksources-text','s:156:\"Abajo hay una lista de enlaces a otros sitios que venden libros nuevos y usados, puede que contengan más información sobre los libros que estás buscando.\";'),('es','messages:booksources-invalid-isbn','s:98:\"El número de ISBN no parece ser válido; comprueba los errores copiándolo de la fuente original.\";'),('es','messages:specialloguserlabel','s:8:\"Usuario:\";'),('es','messages:speciallogtitlelabel','s:8:\"Título:\";'),('es','messages:log','s:9:\"Registros\";'),('es','messages:all-logs-page','s:29:\"Todos los registros públicos\";'),('es','messages:alllogstext','s:201:\"Vista combinada de todos los registros de {{SITENAME}}.\nPuedes filtrar la vista seleccionando un tipo de registro, el nombre del usuario o la página afectada. Se distinguen mayúsculas de minúsculas.\";'),('es','messages:logempty','s:53:\"No hay elementos en el registro con esas condiciones.\";'),('es','messages:log-title-wildcard','s:43:\"Buscar títulos que empiecen con este texto\";'),('es','messages:allpages','s:18:\"Todas las páginas\";'),('es','messages:alphaindexline','s:7:\"$1 a $2\";'),('es','messages:nextpage','s:22:\"Siguiente página ($1)\";'),('es','messages:prevpage','s:21:\"Página anterior ($1)\";'),('es','messages:allpagesfrom','s:34:\"Mostrar páginas que empiecen por:\";'),('es','messages:allpagesto','s:32:\"Mostrar páginas terminadas con:\";'),('es','messages:allarticles','s:20:\"Todos los artículos\";'),('es','messages:allinnamespace','s:31:\"Todas las páginas (espacio $1)\";'),('es','messages:allnotinnamespace','s:60:\"Todas las páginas que no están en el espacio de nombres $1\";'),('es','messages:allpagesprev','s:8:\"Anterior\";'),('es','messages:allpagesnext','s:9:\"Siguiente\";'),('es','messages:allpagessubmit','s:7:\"Mostrar\";'),('es','messages:allpagesprefix','s:32:\"Mostrar páginas con el prefijo:\";'),('es','messages:allpagesbadtitle','s:158:\"El título dado era inválido o tenía un prefijo de enlace inter-idioma o inter-wiki. Puede contener uno o más caracteres que no se pueden usar en títulos.\";'),('es','messages:allpages-bad-ns','s:59:\"{{SITENAME}} no tiene un espacio de nombres llamado «$1».\";'),('es','messages:categories','s:11:\"Categorías\";'),('es','messages:categoriespagetext','s:237:\"Las siguientes {{PLURAL:$1|categoría contiene|categorías contienen}} páginas o medios.\nNo se muestran aquí las [[Special:UnusedCategories|categorías sin uso]].\nVéase también las [[Special:WantedCategories|categorías requeridas]].\";'),('es','messages:categoriesfrom','s:37:\"Mostrar categorías que empiecen por:\";'),('es','messages:special-categories-sort-count','s:18:\"ordenar por conteo\";'),('es','messages:special-categories-sort-abc','s:24:\"ordenar alfabéticamente\";'),('es','messages:deletedcontributions','s:34:\"Contribuciones borradas de usuario\";'),('es','messages:deletedcontributions-title','s:34:\"Contribuciones borradas de usuario\";'),('es','messages:sp-deletedcontributions-contribs','s:14:\"contribuciones\";'),('es','messages:linksearch','s:16:\"Enlaces externos\";'),('es','messages:linksearch-pat','s:21:\"Patrón de búsqueda:\";'),('es','messages:linksearch-ns','s:18:\"Espacio de nombre:\";'),('es','messages:linksearch-ok','s:6:\"Buscar\";'),('es','messages:linksearch-text','s:215:\"Se pueden usar caracteres comodín como \"*.wikipedia.org\".\nEs necesario, por lo menos, un dominio de nivel, por ejemplo \"*.org\".<br />\nProtocolos soportados: <tt>$1</tt> (no añada ninguno de estos en su búsqueda).\";'),('es','messages:linksearch-line','s:20:\"$1 enlazado desde $2\";'),('es','messages:linksearch-error','s:69:\"Los comodines sólo pueden aparecer al principio del nombre de sitio.\";'),('es','messages:listusersfrom','s:34:\"Mostrar usuarios que empiecen por:\";'),('es','messages:listusers-submit','s:7:\"Mostrar\";'),('es','messages:listusers-noresult','s:27:\"No se encontró al usuario.\";'),('es','messages:listusers-blocked','s:35:\"({{GENDER:$1|bloqueado|bloqueada}})\";'),('es','messages:activeusers','s:25:\"Lista de usuarios activos\";'),('es','messages:activeusers-intro','s:106:\"Esta es una lista de usuarios que han tenido alguna actividad en los últimos $1 {{PLURAL:$1|día|días}}.\";'),('es','messages:activeusers-count','s:79:\"$1 {{PLURAL:$1|edición|ediciones}} en los últimos {{PLURAL:$3|día|$3 días}}\";'),('es','messages:activeusers-from','s:39:\"Mostrando a los usuarios empezando por:\";'),('es','messages:activeusers-hidebots','s:14:\"Ocultar robots\";'),('es','messages:activeusers-hidesysops','s:23:\"Ocultar administradores\";'),('es','messages:activeusers-noresult','s:27:\"No se encontraron usuarios.\";'),('es','messages:newuserlogpage','s:33:\"Registro de creación de usuarios\";'),('es','messages:newuserlogpagetext','s:45:\"Este es un registro de creación de usuarios.\";'),('es','messages:newuserlog-byemail','s:43:\"contraseña enviada por correo electrónico\";'),('es','messages:newuserlog-create-entry','s:13:\"Usuario nuevo\";'),('es','messages:newuserlog-create2-entry','s:22:\"Nueva cuenta creada $1\";'),('es','messages:newuserlog-autocreate-entry','s:30:\"Cuenta creada automáticamente\";'),('es','messages:listgrouprights','s:30:\"Permisos del grupo de usuarios\";'),('es','messages:listgrouprights-summary','s:227:\"La siguiente es una lista de los grupos de usuario definidos en esta wiki y de sus privilegios de acceso asociados.\nPuede haber información adicional sobre privilegios individuales en [[{{MediaWiki:Listgrouprights-helppage}}]]\";'),('es','messages:listgrouprights-key','s:128:\"* <span class=\"listgrouprights-granted\">Derecho concedido</span>\n* <span class=\"listgrouprights-revoked\">Derecho revocado</span>\";'),('es','messages:listgrouprights-group','s:5:\"Grupo\";'),('es','messages:listgrouprights-rights','s:8:\"Derechos\";'),('es','messages:listgrouprights-helppage','s:23:\"Help:Derechos de grupos\";'),('es','messages:listgrouprights-members','s:32:\"(ver los miembros de este grupo)\";'),('es','messages:listgrouprights-addgroup','s:38:\"Agregar {{PLURAL:$2|grupo|grupos}}: $1\";'),('es','messages:listgrouprights-removegroup','s:39:\"Eliminar {{PLURAL:$2|grupo|grupos}}: $1\";'),('es','messages:listgrouprights-addgroup-all','s:24:\"Agregar todos los grupos\";'),('es','messages:listgrouprights-removegroup-all','s:25:\"Eliminar todos los grupos\";'),('es','messages:listgrouprights-addgroup-self','s:57:\"Agregar {{PLURAL:$2|grupo|grupos}} a tu propia cuenta: $1\";'),('es','messages:listgrouprights-removegroup-self','s:59:\"Eliminar {{PLURAL:$2|grupo|grupos}} de tu propia cuenta: $1\";'),('es','messages:listgrouprights-addgroup-self-all','s:43:\"Agregar todos los grupos a tu propia cuenta\";'),('es','messages:listgrouprights-removegroup-self-all','s:45:\"Eliminar todos los grupos de tu propia cuenta\";'),('es','messages:mailnologin','s:27:\"Ninguna dirección de envio\";'),('es','messages:mailnologintext','s:184:\"Debes [[Special:UserLogin|iniciar sesión]] y tener una dirección electrónica válida en tus [[Special:Preferences|preferencias]] para enviar un correo electrónico a otros usuarios.\";'),('es','messages:emailuser','s:41:\"Enviar correo electrónico a este usuario\";'),('es','messages:emailpage','s:29:\"Correo electrónico a usuario\";'),('es','messages:emailpagetext','s:252:\"Puedes usar el formulario de abajo para enviar un correo electrónico a este usuario.\nLa dirección electrónica que indicaste en [[Special:Preferences|tus preferencias de usuario]] aparecerá en el remitente para que el destinatario pueda responderte.\";'),('es','messages:usermailererror','s:40:\"El sistema de correo devolvió un error:\";'),('es','messages:defemailsubject','s:22:\"Correo de {{SITENAME}}\";'),('es','messages:usermaildisabled','s:45:\"Correo electrónico del usuario deshabilitado\";'),('es','messages:usermaildisabledtext','s:68:\"No puedes enviar correos electrónicos a otros usuarios en esta wiki\";'),('es','messages:noemailtitle','s:40:\"No hay dirección de correo electrónico\";'),('es','messages:noemailtext','s:78:\"Este usuario no ha especificado una dirección de correo electrónico válida.\";'),('es','messages:nowikiemailtitle','s:35:\"correos electrónicos no permitidos\";'),('es','messages:nowikiemailtext','s:75:\"Este usuario ha elegido no recibir correos electrónicos de otros usuarios.\";'),('es','messages:emailnotarget','s:65:\"Nombre de usuario no existente o no válido para el destinatario.\";'),('es','messages:emailtarget','s:47:\"Introduce el nombre de usuario del destinatario\";'),('es','messages:emailusername','s:18:\"Nombre de usuario:\";'),('es','messages:emailusernamesubmit','s:6:\"Enviar\";'),('es','messages:email-legend','s:60:\"Enviar un correo electrónico a otro usuario de {{SITENAME}}\";'),('es','messages:emailfrom','s:3:\"De:\";'),('es','messages:emailto','s:5:\"Para:\";'),('es','messages:emailsubject','s:7:\"Asunto:\";'),('es','messages:emailmessage','s:8:\"Mensaje:\";'),('es','messages:emailsend','s:6:\"Enviar\";'),('es','messages:emailccme','s:33:\"Enviarme una copia de mi mensaje.\";'),('es','messages:emailccsubject','s:28:\"Copia de tu mensaje a $1: $2\";'),('es','messages:emailsent','s:27:\"Correo electrónico enviado\";'),('es','messages:emailsenttext','s:48:\"Se ha enviado tu mensaje de correo electrónico.\";'),('es','messages:emailuserfooter','s:136:\"Este correo electrónico fue enviado por $1 a $2 a través de la función «Enviar correo electrónico a este usuario» en {{SITENAME}}.\";'),('es','messages:usermessage-summary','s:30:\"Dejando un mensaje de sistema.\";'),('es','messages:usermessage-editor','s:21:\"Mensajero del sistema\";'),('es','messages:watchlist','s:20:\"Lista de seguimiento\";'),('es','messages:mywatchlist','s:20:\"Lista de seguimiento\";'),('es','messages:watchlistfor2','s:10:\"Para $1 $2\";'),('es','messages:nowatchlist','s:53:\"No tienes ninguna página en tu lista de seguimiento.\";'),('es','messages:watchlistanontext','s:74:\"Para ver o editar las entradas de tu lista de seguimiento es necesario $1.\";'),('es','messages:watchnologin','s:23:\"No has iniciado sesión\";'),('es','messages:watchnologintext','s:83:\"Debes [[Special:UserLogin|iniciar sesión]] para modificar tu lista de seguimiento.\";'),('es','messages:addwatch','s:33:\"Añadir a la lista de seguimiento\";'),('es','messages:addedwatchtext','s:322:\"La página «[[:$1]]» ha sido añadida a tu [[Special:Watchlist|lista de seguimiento]]. Los cambios futuros en esta página y en su página de discusión asociada se indicarán ahí, y la página aparecerá \'\'\'en negritas\'\'\' en la [[Special:RecentChanges|lista de cambios recientes]] para hacerla más fácil de detectar.\";'),('es','messages:removewatch','s:33:\"Quitar de la lista de seguimiento\";'),('es','messages:removedwatchtext','s:90:\"La página «[[:$1]]» ha sido eliminada de tu [[Special:Watchlist|lista de seguimiento]].\";'),('es','messages:watch','s:7:\"Vigilar\";'),('es','messages:watchthispage','s:20:\"Vigilar esta página\";'),('es','messages:unwatch','s:16:\"Dejar de vigilar\";'),('es','messages:unwatchthispage','s:16:\"Dejar de vigilar\";'),('es','messages:notanarticle','s:18:\"No es un artículo\";'),('es','messages:notvisiblerev','s:60:\"La última revisión de un usuario diferente ha sido borrada\";'),('es','messages:watchnochange','s:98:\"Ninguno de los artículos de tu lista de seguimiento fue editado en el periodo de tiempo mostrado.\";'),('es','messages:watchlist-details','s:94:\"{{PLURAL:$1|$1 página|$1 páginas}} en su lista de seguimiento, sin contar las de discusión.\";'),('es','messages:wlheader-enotif','s:58:\"* La notificación por correo electrónico está activada.\";'),('es','messages:wlheader-showupdated','s:76:\"* Las páginas modificadas desde su última visita aparecen en \'\'\'negrita\'\'\'\";'),('es','messages:watchmethod-recent','s:49:\"revisando cambios recientes en páginas vigiladas\";'),('es','messages:watchmethod-list','s:62:\"revisando las páginas vigiladas en busca de cambios recientes\";'),('es','messages:watchlistcontains','s:64:\"Tu lista de seguimiento posee $1 {{PLURAL:$1|página|páginas}}.\";'),('es','messages:iteminvalidname','s:51:\"Problema con el artículo \'$1\', nombre inválido...\";'),('es','messages:wlnote','s:162:\"A continuación {{PLURAL:$1|se muestra el último cambio|se muestran los últimos \'\'\'$1\'\'\' cambios}} en {{PLURAL:$2|la última hora|las últimas \'\'\'$2\'\'\' horas}}.\";'),('es','messages:wlshowlast','s:54:\"Ver los cambios de las últimas $1 horas, $2 días  $3\";'),('es','messages:watchlist-options','s:35:\"Opciones de la lista de seguimiento\";'),('es','messages:watching','s:12:\"Vigilando...\";'),('es','messages:unwatching','s:40:\"Eliminando de la lista de seguimiento...\";'),('es','messages:watcherrortext','s:86:\"Ocurrió un error al cambiar la configuración de tu lista de seguimiento para «$1».\";'),('es','messages:enotif_mailer','s:40:\"Notificación por correo de {{SITENAME}}\";'),('es','messages:enotif_reset','s:35:\"Marcar todas las páginas visitadas\";'),('es','messages:enotif_newpagetext','s:30:\"Se trata de una nueva página.\";'),('es','messages:enotif_impersonal_salutation','s:23:\"usuario de {{SITENAME}}\";'),('es','messages:changed','s:10:\"modificada\";'),('es','messages:created','s:6:\"creada\";'),('es','messages:enotif_subject','s:79:\"La página $PAGETITLE de {{SITENAME}} ha sido $CHANGEDORCREATED por $PAGEEDITOR\";'),('es','messages:enotif_lastvisited','s:74:\"Consulta $1 para ver todos los cambios realizados desde tu última visita.\";'),('es','messages:enotif_lastdiff','s:33:\"Consulta $1 para ver este cambio.\";'),('es','messages:enotif_anon_editor','s:19:\"usuario anónimo $1\";'),('es','messages:enotif_body','s:882:\"Estimado/a $WATCHINGUSERNAME,\n\nLa página de {{SITENAME}} $PAGETITLE ha sido $CHANGEDORCREATED el $PAGEEDITDATE por el usuario $PAGEEDITOR.\nLa versión actual se encuentra en $PAGETITLE_URL\n\n$NEWPAGE\n\nEl resumen de edición es: $PAGESUMMARY $PAGEMINOREDIT\n\nContacta al editor:\nCorreo electrónico: $PAGEEDITOR_EMAIL\nWiki: $PAGEEDITOR_WIKI\n\nNo habrá otras notificaciones en caso de cambios adicionales, a menos que visites esta página nuevamente.\nTambién puedes reestablecer las notificaciones para todas tus páginas vigiladas en tu página de vigilancia.\n\n             El sistema de notificación de {{SITENAME}}.\n\n--\nPara cambiar las opciones de tu lista de seguimiento, visita:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nPara borrar la página de tu lista de seguimiento visita:\n$UNWATCHURL\n\nRetroalimentación y asistencia adicional:\n{{canonicalurl:{{MediaWiki:Helppage}}}}\";'),('es','messages:deletepage','s:19:\"Borrar esta página\";'),('es','messages:confirm','s:9:\"Confirmar\";'),('es','messages:excontent','s:24:\"el contenido era: «$1»\";'),('es','messages:excontentauthor','s:84:\"el contenido era: «$1» (y el único autor fue «[[Special:Contributions/$2|$2]]»)\";'),('es','messages:exbeforeblank','s:43:\"El contenido antes de blanquear era: «$1»\";'),('es','messages:exblank','s:24:\"la página estaba vacía\";'),('es','messages:delete-confirm','s:13:\"Borrar «$1»\";'),('es','messages:delete-legend','s:6:\"Borrar\";'),('es','messages:historywarning','s:129:\"\'\'\'Aviso:\'\'\' La página que estás a punto de borrar tiene un historial de aproximadamente $1 {{PLURAL:$1|revisión|revisiones}}:\";'),('es','messages:confirmdeletetext','s:257:\"Estás a punto de borrar una página en forma permanente, así como todo su historial.\nPor favor, confirma que realmente quieres hacer eso, que entiendes las\nconsecuencias, y que lo estás haciendo de acuerdo con [[{{MediaWiki:Policy-url}}|las políticas]].\";'),('es','messages:actioncomplete','s:18:\"Acción completada\";'),('es','messages:actionfailed','s:15:\"Acción fallida\";'),('es','messages:deletedtext','s:77:\"«$1» ha sido borrado.\nVéase $2 para un registro de los borrados recientes.\";'),('es','messages:deletedarticle','s:17:\"borró «[[$1]]»\";'),('es','messages:suppressedarticle','s:20:\"suprimió «[[$1]]»\";'),('es','messages:dellogpage','s:20:\"Registro de borrados\";'),('es','messages:dellogpagetext','s:68:\"A continuación se muestra una lista de los borrados más recientes.\";'),('es','messages:deletionlog','s:20:\"registro de borrados\";'),('es','messages:reverted','s:34:\"Revertido a una revisión anterior\";'),('es','messages:deletecomment','s:7:\"Motivo:\";'),('es','messages:deleteotherreason','s:12:\"Otro motivo:\";'),('es','messages:deletereasonotherlist','s:11:\"Otro motivo\";'),('es','messages:deletereason-dropdown','s:99:\"*Razones comunes de borrado\n** A petición del mismo autor\n** Violación de copyright\n** Vandalismo\";'),('es','messages:delete-edit-reasonlist','s:25:\"Editar razones de borrado\";'),('es','messages:delete-toobig','s:193:\"Esta página tiene un historial muy grande, con más de $1 {{PLURAL:$1|revisión|revisiones}}. Borrar este tipo de páginas ha sido restringido para prevenir posibles problemas en {{SITENAME}}.\";'),('es','messages:delete-warning-toobig','s:184:\"Esta página tiene un historial de más de $1 {{PLURAL:$1|revisión|revisiones}}. Eliminarla puede perturbar las operaciones de la base de datos de {{SITENAME}}. Ten cuidado al borrar.\";'),('es','messages:rollback','s:18:\"Revertir ediciones\";'),('es','messages:rollback_short','s:8:\"Revertir\";'),('es','messages:rollbacklink','s:8:\"revertir\";'),('es','messages:rollbackfailed','s:19:\"No se pudo revertir\";'),('es','messages:cantrollback','s:92:\"No se puede revertir la edición;\nel último colaborador es el único autor de esta página.\";'),('es','messages:alreadyrolled','s:382:\"No se puede revertir la última edición de [[:$1]] hecha por [[User:$2|$2]] ([[User talk:$2|discusión]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nalguien más ya ha editado o revertido esa página.\n\nLa última edición fue hecha por [[User:$3|$3]] ([[User talk:$3|discusión]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).\";'),('es','messages:editcomment','s:42:\"El resumen de la edición fue: \'\'«$1»\'\'.\";'),('es','messages:revertpage','s:122:\"Revertidos los cambios de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc.]]) a la última edición de [[User:$1|$1]]\";'),('es','messages:revertpage-nouser','s:109:\"Revertidas ediciones hechas por (nombre de usuario eliminado) a la última revisión hecha por [[User:$1|$1]]\";'),('es','messages:rollback-success','s:69:\"Revertidas las ediciones de $1; recuperada la última versión de $2.\";'),('es','messages:sessionfailure-title','s:16:\"Error de sesión\";'),('es','messages:sessionfailure','s:219:\"Parece que hay un problema con tu sesión;\nesta acción ha sido cancelada como medida de precaución contra secuestros de sesión.\nPor favor, pulsa «Atrás», recarga la página de la que viniste e inténtalo de nuevo.\";'),('es','messages:protectlogpage','s:23:\"Registro de protección\";'),('es','messages:protectlogtext','s:184:\"Abajo se presenta una lista de protección y desprotección de página.\nVéase [[Special:ProtectedPages|la lista de páginas protegidas]] para ver las protecciones activas en páginas.\";'),('es','messages:protectedarticle','s:20:\"protegió «[[$1]]»\";'),('es','messages:modifiedarticleprotection','s:45:\"cambió el nivel de protección de «[[$1]]»\";'),('es','messages:unprotectedarticle','s:23:\"desprotegió «[[$1]]»\";'),('es','messages:movedarticleprotection','s:49:\"cambiadas protecciones de «[[$2]]» a «[[$1]]»\";'),('es','messages:protect-title','s:43:\"Cambiando el nivel de protección de «$1»\";'),('es','messages:prot_1movedto2','s:53:\"heredando la protección al trasladar [[$1]] a [[$2]]\";'),('es','messages:protect-legend','s:21:\"Confirmar protección\";'),('es','messages:protectcomment','s:7:\"Motivo:\";'),('es','messages:protectexpiry','s:10:\"Caducidad:\";'),('es','messages:protect_expiry_invalid','s:31:\"Tiempo de caducidad incorrecto.\";'),('es','messages:protect_expiry_old','s:44:\"El tiempo de expiración está en el pasado.\";'),('es','messages:protect-unchain-permissions','s:47:\"Desbloquear opciones de protección adicionales\";'),('es','messages:protect-text','s:70:\"Puedes ver y modificar el nivel de protección de la página \'\'\'$1\'\'\'.\";'),('es','messages:protect-locked-blocked','s:136:\"No puede cambiar los niveles de protección estando bloqueado. A continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-locked-dblock','s:169:\"Los niveles de protección no se pueden cambiar debido a un bloqueo activo de la base de datos.\nA continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-locked-access','s:156:\"Su cuenta no tiene permiso para cambiar los niveles de protección de una página.\nA continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-cascadeon','s:286:\"Actualmente esta página está protegida porque está incluida en {{PLURAL:$1|la siguiente página|las siguientes páginas}}, que tienen activada la opción de protección en cascada. Puedes cambiar el nivel de protección de esta página, pero no afectará a la protección en cascada.\";'),('es','messages:protect-default','s:27:\"Permitir todos los usuarios\";'),('es','messages:protect-fallback','s:26:\"Necesita el permiso «$1»\";'),('es','messages:protect-level-autoconfirmed','s:41:\"Bloquear usuarios nuevos y no registrados\";'),('es','messages:protect-level-sysop','s:20:\"Solo administradores\";'),('es','messages:protect-summary-cascade','s:10:\"en cascada\";'),('es','messages:protect-expiring','s:18:\"caduca el $1 (UTC)\";'),('es','messages:protect-expiry-indefinite','s:10:\"indefinido\";'),('es','messages:protect-cascade','s:72:\"Protección en cascada - proteger todas las páginas incluidas en ésta.\";'),('es','messages:protect-cantedit','s:88:\"No puedes cambiar el nivel de protección porque no tienes permiso para hacer ediciones.\";'),('es','messages:protect-othertime','s:22:\"Especificar caducidad:\";'),('es','messages:protect-othertime-op','s:18:\"otra (especificar)\";'),('es','messages:protect-existing-expiry','s:38:\"Fecha de caducidad actual: $2 a las $3\";'),('es','messages:protect-otherreason','s:12:\"Otra razón:\";'),('es','messages:protect-otherreason-op','s:11:\"Otra razón\";'),('es','messages:protect-dropdown','s:117:\"*Razones de protección habituales\n**Vandalismo excesivo\n**Spam excesivo\n**Guerra de ediciones\n**Página muy visitada\";'),('es','messages:protect-edit-reasonlist','s:33:\"Editar las razones de protección\";'),('es','messages:protect-expiry-options','s:144:\"1 hora:1 hour,1 día:1 day,1 semana:1 week,2 semanas:2 weeks,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year,para siempre:infinite\";'),('es','messages:restriction-type','s:8:\"Permiso:\";'),('es','messages:restriction-level','s:22:\"Nivel de restricción:\";'),('es','messages:minimum-size','s:15:\"Tamaño mínimo\";'),('es','messages:maximum-size','s:16:\"Tamaño máximo:\";'),('es','messages:pagesize','s:7:\"(bytes)\";'),('es','messages:restriction-edit','s:6:\"Editar\";'),('es','messages:restriction-move','s:16:\"Pueden trasladar\";'),('es','messages:restriction-create','s:5:\"Crear\";'),('es','messages:restriction-upload','s:5:\"Subir\";'),('es','messages:restriction-level-sysop','s:23:\"completamente protegida\";'),('es','messages:restriction-level-autoconfirmed','s:13:\"semiprotegida\";'),('es','messages:restriction-level-all','s:15:\"cualquier nivel\";'),('es','messages:undelete','s:29:\"Restaurar una página borrada\";'),('es','messages:undeletepage','s:33:\"Ver y restaurar páginas borradas\";'),('es','messages:undeletepagetitle','s:63:\"\'\'\'Las siguientes son las revisiones borradas de [[:$1|$1]]\'\'\'.\";'),('es','messages:viewdeletedpage','s:21:\"Ver páginas borradas\";'),('es','messages:undeletepagetext','s:254:\"{{PLURAL:$1|La siguiente página ha sido borrada pero aún está en el archivo y puede ser restaurada.|Las siguientes $1 páginas han sido borradas pero aún están en el archivo y pueden ser restauradas.}}\nPuede que el archivo se limpie periódicamente.\";'),('es','messages:undelete-fieldset-title','s:20:\"Restaurar revisiones\";'),('es','messages:undeleteextrahelp','s:247:\"Para restaurar todo el historial de la página, deja todas las casillas sin seleccionar y pulsa \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'. Para realizar una restauración selectiva, marca las revisiones a ser restauradas y pulsa \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\";'),('es','messages:undeleterevisions','s:48:\"$1 {{PLURAL:$1|revisión|revisiones}} archivadas\";'),('es','messages:undeletehistory','s:311:\"Si restauras una página, todas sus revisiones serán restauradas al historial.\nSi una nueva página con el mismo nombre ha sido creada desde que se borró la original, las versiones restauradas aparecerán como historial anterior, y la revisión actual de la página actual no se reemplazará automáticamente.\";'),('es','messages:undeleterevdel','s:250:\"No se deshará el borrado si éste resulta en el borrado parcial de la última revisión de la página. En tal caso, desmarque o muestre las revisiones borradas más recientes. Las revisiones de archivos que no tiene permitido ver no se restaurarán.\";'),('es','messages:undeletehistorynoadmin','s:259:\"El artículo ha sido borrado. La razón de su eliminación se indica abajo en el resumen, así como los detalles de las ediciones realizadas antes del borrado. El texto completo del artículo está disponible sólo para usuarios con permisos de administrador.\";'),('es','messages:undelete-revision','s:49:\"Edición borrada de $1 (fechada $4, a $5) por $3:\";'),('es','messages:undeleterevision-missing','s:136:\"Revisión no válida o perdida. Puede deberse a un enlace incorrecto,\no a que la revisión haya sido restaurada o eliminada del archivo.\";'),('es','messages:undelete-nodiff','s:31:\"No existe una revisión previa.\";'),('es','messages:undeletebtn','s:9:\"Restaurar\";'),('es','messages:undeletelink','s:13:\"ver/restaurar\";'),('es','messages:undeleteviewlink','s:3:\"ver\";'),('es','messages:undeletereset','s:8:\"Cancelar\";'),('es','messages:undeleteinvert','s:19:\"Invertir selección\";'),('es','messages:undeletecomment','s:7:\"Razón:\";'),('es','messages:undeletedarticle','s:20:\"restauró «[[$1]]»\";'),('es','messages:undeletedrevisions','s:62:\"{{PLURAL:$1|Una edición restaurada|$1 ediciones restauradas}}\";'),('es','messages:undeletedrevisions-files','s:98:\"$1 {{PLURAL:$1|ediciones restauradas y $2 archivo restaurado|ediciones y $2 archivos restaurados}}\";'),('es','messages:undeletedfiles','s:56:\"$1 {{PLURAL:$1|archivo restaurado|archivos restaurados}}\";'),('es','messages:cannotundelete','s:86:\"Ha fallado el deshacer el borrado;\nalguien más puede haber deshecho el borrado antes.\";'),('es','messages:undeletedpage','s:144:\"\'\'\'Se ha restaurado $1\'\'\'\n\nConsulta el [[Special:Log/delete|registro de borrados]] para ver una lista de los últimos borrados y restauraciones.\";'),('es','messages:undelete-header','s:84:\"En el [[Special:Log/delete|registro de borrados]] se listan las páginas eliminadas.\";'),('es','messages:undelete-search-box','s:24:\"Buscar páginas borradas\";'),('es','messages:undelete-search-prefix','s:34:\"Mostrar páginas que empiecen por:\";'),('es','messages:undelete-search-submit','s:6:\"Buscar\";'),('es','messages:undelete-no-results','s:67:\"No se encontraron páginas borradas para ese criterio de búsqueda.\";'),('es','messages:undelete-filename-mismatch','s:91:\"No se puede restaurar la versión con marca de tiempo $1: No concuerda el nombre de fichero\";'),('es','messages:undelete-bad-store-key','s:99:\"No se puede restaurar la versión con marca de tiempo $1: el fichero fue omitido antes del borrado.\";'),('es','messages:undelete-cleanup-error','s:45:\"Error al borrar el archivo no utilizado \"$1\".\";'),('es','messages:undelete-missing-filearchive','s:123:\"No se ha podido restaurar el archivo de ID $1 debido a que no está en la base de datos.\nPuede que ya haya sido restaurado.\";'),('es','messages:undelete-error-short','s:29:\"Error restaurando archivo: $1\";'),('es','messages:undelete-error-long','s:61:\"Se encontraron errores mientras se restauraba el archivo:\n\n$1\";'),('es','messages:undelete-show-file-confirm','s:106:\"¿Estás seguro que quieres ver una revisión borrada del archivo «<nowiki>$1</nowiki>» del $2 a las $3?\";'),('es','messages:undelete-show-file-submit','s:3:\"Sí\";'),('es','messages:namespace','s:19:\"Espacio de nombres:\";'),('es','messages:invert','s:19:\"Invertir selección\";'),('es','messages:tooltip-invert','s:154:\"Marca esta casilla para ocultar los cambios a las páginas dentro del espacio de nombres seleccionado (y el espacio de nombres asociado si está activada)\";'),('es','messages:namespace_association','s:27:\"Espacio de nombres asociado\";'),('es','messages:tooltip-namespace_association','s:124:\"Marca esta casilla para incluir también el espacio de nombres de discusión asociado con el espacio de nombres seleccionado\";'),('es','messages:blanknamespace','s:11:\"(Principal)\";'),('es','messages:contributions','s:26:\"Contribuciones del usuario\";'),('es','messages:contributions-title','s:57:\"Contribuciones {{GENDER:$1|del usuario|de la usuaria}} $1\";'),('es','messages:mycontris','s:14:\"Contribuciones\";'),('es','messages:contribsub2','s:7:\"$1 ($2)\";'),('es','messages:nocontribs','s:57:\"No se encontraron cambios que cumplieran estos criterios.\";'),('es','messages:uctop','s:18:\"(última edición)\";'),('es','messages:month','s:26:\"Desde el mes (y anterior):\";'),('es','messages:year','s:27:\"Desde el año (y anterior):\";'),('es','messages:sp-contributions-newbies','s:50:\"Mostrar solo las contribuciones de usuarios nuevos\";'),('es','messages:sp-contributions-newbies-sub','s:19:\"Para cuentas nuevas\";'),('es','messages:sp-contributions-newbies-title','s:33:\"Contribuciones de usuarios nuevos\";'),('es','messages:sp-contributions-blocklog','s:20:\"registro de bloqueos\";'),('es','messages:sp-contributions-deleted','s:34:\"contribuciones de usuario borradas\";'),('es','messages:sp-contributions-uploads','s:7:\"subidas\";'),('es','messages:sp-contributions-logs','s:9:\"registros\";'),('es','messages:sp-contributions-talk','s:10:\"discusión\";'),('es','messages:sp-contributions-userrights','s:39:\"administración de derechos de usuarios\";'),('es','messages:sp-contributions-blocked-notice','s:129:\"Este usuario está actualmente bloqueado. La última entrada del registro de bloqueos es presentada debajo para mayor referencia:\";'),('es','messages:sp-contributions-blocked-notice-anon','s:148:\"Esta dirección IP se encuentra actualmente bloqueada.\nA continuación se muestra la última entrada del registro de bloqueos para mayor referencia.\";'),('es','messages:sp-contributions-search','s:21:\"Buscar contribuciones\";'),('es','messages:sp-contributions-username','s:34:\"Dirección IP o nombre de usuario:\";'),('es','messages:sp-contributions-toponly','s:32:\"Mostrar solamente revisiones top\";'),('es','messages:sp-contributions-submit','s:6:\"Buscar\";'),('es','messages:whatlinkshere','s:19:\"Lo que enlaza aquí\";'),('es','messages:whatlinkshere-title','s:31:\"Páginas que enlazan con «$1»\";'),('es','messages:whatlinkshere-page','s:8:\"Página:\";'),('es','messages:linkshere','s:48:\"Las siguientes páginas enlazan a \'\'\'[[:$1]]\'\'\':\";'),('es','messages:nolinkshere','s:41:\"Ninguna página enlaza con \'\'\'[[:$1]]\'\'\'.\";'),('es','messages:nolinkshere-ns','s:74:\"Ninguna página enlaza con \'\'\'[[:$1]]\'\'\' en el espacio de nombres elegido.\";'),('es','messages:isredirect','s:18:\"página redirigida\";'),('es','messages:istemplate','s:10:\"inclusión\";'),('es','messages:isimage','s:16:\"Enlace de imagen\";'),('es','messages:whatlinkshere-prev','s:31:\"{{PLURAL:$1|previa|previas $1}}\";'),('es','messages:whatlinkshere-next','s:37:\"{{PLURAL:$1|siguiente|siguientes $1}}\";'),('es','messages:whatlinkshere-links','s:11:\"← enlaces\";'),('es','messages:whatlinkshere-hideredirs','s:16:\"$1 redirecciones\";'),('es','messages:whatlinkshere-hidetrans','s:14:\"$1 inclusiones\";'),('es','messages:whatlinkshere-hidelinks','s:10:\"$1 enlaces\";'),('es','messages:whatlinkshere-hideimages','s:22:\"$1 enlaces a imágenes\";'),('es','messages:whatlinkshere-filters','s:7:\"Filtros\";'),('es','messages:autoblockid','s:23:\"Bloqueo automático #$1\";'),('es','messages:block','s:16:\"Bloquear usuario\";'),('es','messages:unblock','s:19:\"Desbloquear usuario\";'),('es','messages:blockip','s:16:\"Bloquear usuario\";'),('es','messages:blockip-title','s:16:\"Bloquear usuario\";'),('es','messages:blockip-legend','s:16:\"Bloquear usuario\";'),('es','messages:blockiptext','s:363:\"Usa el siguiente formulario para bloquear el acceso de escritura desde una dirección IP específica o nombre de usuario.\nEsto debería hacerse sólo para prevenir vandalismos, y de acuerdo a las [[{{MediaWiki:Policy-url}}|políticas]].\nExplica la razón específica del bloqueo (por ejemplo, citando las páginas en particular que han sido objeto de vandalismo).\";'),('es','messages:ipadressorusername','s:33:\"Dirección IP o nombre de usuario\";'),('es','messages:ipbexpiry','s:16:\"Caduca dentro de\";'),('es','messages:ipbreason','s:7:\"Motivo:\";'),('es','messages:ipbreasonotherlist','s:11:\"Otra razón\";'),('es','messages:ipbreason-dropdown','s:277:\"*Motivos comunes de bloqueo\n** Añadir información falsa\n** Eliminar contenido de las páginas\n** Publicitar enlaces a otras páginas web\n** Añadir basura a las páginas\n** Comportamiento intimidatorio u hostil\n** Abusar de múltiples cuentas\n** Nombre de usuario inaceptable\";'),('es','messages:ipb-hardblock','s:70:\"Impedir que los usuarios identificados editen desde esta dirección IP\";'),('es','messages:ipbcreateaccount','s:43:\"Prevenir la creación de cuentas de usuario\";'),('es','messages:ipbemailban','s:50:\"Prevenir que el usuario envíe correo electrónico\";'),('es','messages:ipbenableautoblock','s:119:\"Bloquear automáticamente la dirección IP usada por este usuario y cualquier IP posterior desde la cual intente editar\";'),('es','messages:ipbsubmit','s:23:\"Bloquear a este usuario\";'),('es','messages:ipbother','s:21:\"Especificar caducidad\";'),('es','messages:ipboptions','s:161:\"2 horas:2 hours,1 día:1 day,3 días:3 days,1 semana:1 week,2 semanas:2 weeks,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year,para siempre:infinite\";'),('es','messages:ipbotheroption','s:4:\"otro\";'),('es','messages:ipbotherreason','s:12:\"Otra razón:\";'),('es','messages:ipbhidename','s:47:\"Ocultar nombre de usuario de ediciones y listas\";'),('es','messages:ipbwatchuser','s:63:\"Vigilar las páginas de usuario y de discusión de este usuario\";'),('es','messages:ipb-disableusertalk','s:87:\"Impedir que este usuario edite su propia página de discusión mientras esté bloqueado\";'),('es','messages:ipb-change-block','s:37:\"Rebloquear al usuario con estos datos\";'),('es','messages:ipb-confirm','s:17:\"Confirmar bloqueo\";'),('es','messages:badipaddress','s:46:\"La dirección IP no tiene el formato correcto.\";'),('es','messages:blockipsuccesssub','s:28:\"Bloqueo realizado con éxito\";'),('es','messages:blockipsuccesstext','s:126:\"\"[[Special:Contributions/$1|$1]]\" ha sido bloqueado.<br />\nVéase la [[Special:IPBlockList|lista de bloqueos]] para revisarlo.\";'),('es','messages:ipb-blockingself','s:83:\"¡Estás a punto de bloquearte a ti mismo!  ¿Estás seguro de que quieres hacerlo?\";'),('es','messages:ipb-confirmhideuser','s:197:\"Estás a punto de bloquear un usuario con la opción de supresión activada. Esto suprimirá el nombre de usuario en todas las listas y entradas de registro. ¿Estás seguro de que deseas proceder?\";'),('es','messages:ipb-edit-dropdown','s:25:\"Editar motivo del bloqueo\";'),('es','messages:ipb-unblock-addr','s:14:\"Desbloquear $1\";'),('es','messages:ipb-unblock','s:31:\"Desbloquear un usuario o una IP\";'),('es','messages:ipb-blocklist','s:21:\"Ver bloqueos vigentes\";'),('es','messages:ipb-blocklist-contribs','s:20:\"Contribuciones de $1\";'),('es','messages:unblockip','s:19:\"Desbloquear usuario\";'),('es','messages:unblockiptext','s:116:\"Use el formulario a continuación para devolver los permisos de escritura a una dirección IP que ha sido bloqueada.\";'),('es','messages:ipusubmit','s:23:\"Desactivar este bloqueo\";'),('es','messages:unblocked','s:62:\"[[User:$1|$1]] ha sido {{GENDER:$1|desbloqueado|desbloqueada}}\";'),('es','messages:unblocked-range','s:23:\"$1 ha sido desbloqueado\";'),('es','messages:unblocked-id','s:29:\"Se ha eliminado el bloqueo $1\";'),('es','messages:blocklist','s:19:\"Usuarios bloqueados\";'),('es','messages:ipblocklist','s:19:\"Usuarios bloqueados\";'),('es','messages:ipblocklist-legend','s:32:\"Encontrar a un usuario bloqueado\";'),('es','messages:blocklist-userblocks','s:26:\"Ocultar bloqueos de cuenta\";'),('es','messages:blocklist-tempblocks','s:27:\"Ocultar bloqueos temporales\";'),('es','messages:blocklist-addressblocks','s:42:\"Ocultar bloqueos de una sola dirección IP\";'),('es','messages:blocklist-timestamp','s:15:\"Marca de tiempo\";'),('es','messages:blocklist-target','s:7:\"Destino\";'),('es','messages:blocklist-expiry','s:6:\"Caduca\";'),('es','messages:blocklist-by','s:24:\"Bloqueo de administrador\";'),('es','messages:blocklist-params','s:22:\"Parámetros de bloqueo\";'),('es','messages:blocklist-reason','s:6:\"Motivo\";'),('es','messages:ipblocklist-submit','s:6:\"Buscar\";'),('es','messages:ipblocklist-localblock','s:13:\"Bloqueo local\";'),('es','messages:ipblocklist-otherblocks','s:37:\"Otros {{PLURAL:$1|bloqueo| bloqueos}}\";'),('es','messages:infiniteblock','s:8:\"infinito\";'),('es','messages:expiringblock','s:21:\"expira el $1 a las $2\";'),('es','messages:anononlyblock','s:12:\"sólo anón.\";'),('es','messages:noautoblockblock','s:33:\"bloqueo automático deshabilitado\";'),('es','messages:createaccountblock','s:29:\"creación de cuenta bloqueada\";'),('es','messages:emailblock','s:29:\"correo electrónico bloqueado\";'),('es','messages:blocklist-nousertalk','s:47:\"no puede editar su propia página de discusión\";'),('es','messages:ipblocklist-empty','s:34:\"La lista de bloqueos está vacía.\";'),('es','messages:ipblocklist-no-results','s:54:\"El nombre de usuario o IP indicado no está bloqueado.\";'),('es','messages:blocklink','s:8:\"bloquear\";'),('es','messages:unblocklink','s:11:\"desbloquear\";'),('es','messages:change-blocklink','s:15:\"cambiar bloqueo\";'),('es','messages:contribslink','s:14:\"contribuciones\";'),('es','messages:autoblocker','s:173:\"Has sido bloqueado automáticamente porque tu dirección IP ha sido usada recientemente por «[[User:$1|$1]]». La razón dada para bloquear a «[[User:$1|$1]]» fue «$2».\";'),('es','messages:blocklogpage','s:20:\"Registro de bloqueos\";'),('es','messages:blocklog-showlog','s:107:\"Este usuario ha sido bloqueado previamente. Debajo se provee el registro de bloqueos para mayor referencia:\";'),('es','messages:blocklog-showsuppresslog','s:98:\"Este usuario ha sido bloqueado y ocultado. Se provee el registro de supresiones para más detalle:\";'),('es','messages:blocklogentry','s:43:\"bloqueó a [[$1]] $3 durante un plazo de $2\";'),('es','messages:reblock-logentry','s:58:\"cambió el bloqueo para  [[$1]] con una caducidad de $2 $3\";'),('es','messages:blocklogtext','s:229:\"Esto es un registro de bloqueos y desbloqueos de usuarios.\nLas direcciones bloqueadas automáticamente no aparecen aquí.\nConsulte la [[Special:BlockList|lista de direcciones IP bloqueadas]] para ver la lista de bloqueos vigente.\";'),('es','messages:unblocklogentry','s:16:\"desbloqueó a $1\";'),('es','messages:block-log-flags-anononly','s:15:\"sólo anónimos\";'),('es','messages:block-log-flags-nocreate','s:35:\"desactivada la creación de cuentas\";'),('es','messages:block-log-flags-noautoblock','s:31:\"bloqueo automático desactivado\";'),('es','messages:block-log-flags-noemail','s:33:\"correo electrónico deshabilitado\";'),('es','messages:block-log-flags-nousertalk','s:47:\"no puede editar su propia página de discusión\";'),('es','messages:block-log-flags-angry-autoblock','s:31:\"autobloqueo avanzado habilitado\";'),('es','messages:block-log-flags-hiddenname','s:24:\"nombre de usuario oculto\";'),('es','messages:range_block_disabled','s:78:\"La facultad de administrador de crear bloqueos por rangos está deshabilitada.\";'),('es','messages:ipb_expiry_invalid','s:37:\"El tiempo de caducidad no es válido.\";'),('es','messages:ipb_expiry_temp','s:64:\"Los bloqueos a nombres de usuario ocultos deben ser permanentes.\";'),('es','messages:ipb_hide_invalid','s:62:\"Incapaz de suprimir esta cuenta; puede tener muchas ediciones.\";'),('es','messages:ipb_already_blocked','s:31:\"\"$1\" ya se encuentra bloqueado.\";'),('es','messages:ipb-needreblock','s:52:\"$1 ya está bloqueado. ¿Quieres cambiar el bloqueo?\";'),('es','messages:ipb-otherblocks-header','s:41:\"{{PLURAL:$1|Otro bloqueo|Otros bloqueos}}\";'),('es','messages:unblock-hideuser','s:81:\"No se puede desbloquear a este usuario, porque su nombre de usuario está oculto.\";'),('es','messages:ipb_cant_unblock','s:85:\"\'\'\'Error\'\'\': Número ID $1 de bloqueo no encontrado. Pudo haber sido desbloqueado ya.\";'),('es','messages:ipb_blocked_as_range','s:169:\"Error: la dirección IP $1 no está bloqueada directamente y no puede ser desbloqueada.\nSin embargo, está bloqueada como parte del rango $2, que puede ser desbloqueado.\";'),('es','messages:ip_range_invalid','s:29:\"El rango de IP no es válido.\";'),('es','messages:ip_range_toolarge','s:60:\"Los bloqueos de rango superiores a /$1 no están permitidos.\";'),('es','messages:blockme','s:10:\"Bloquearme\";'),('es','messages:proxyblocker','s:21:\"Bloqueador de proxies\";'),('es','messages:proxyblocker-disabled','s:32:\"Esta función está desactivada.\";'),('es','messages:proxyblockreason','s:216:\"Su dirección IP ha sido bloqueada porque es un proxy abierto. Por favor, contacte con su proveedor de servicios de Internet o con su servicio de asistencia técnica e infórmeles de este grave problema de seguridad.\";'),('es','messages:proxyblocksuccess','s:6:\"Hecho.\";'),('es','messages:sorbsreason','s:59:\"Su dirección IP está listada como proxy abierto en DNSBL.\";'),('es','messages:sorbs_create_account_reason','s:85:\"Su dirección IP está listada como proxy abierto en DNSBL. No puede crear una cuenta\";'),('es','messages:cant-block-while-blocked','s:62:\"No puedes bloquear a otros usuarios mientras estás bloqueado.\";'),('es','messages:cant-see-hidden-user','s:172:\"El usuario que está intentando bloquear ya ha sido bloqueado y oculto. Puesto que usted no tiene el derecho hideuser, usted no puede ver o editar los bloqueos del usuario.\";'),('es','messages:ipbblocked','s:73:\"No puedes bloquear o desbloquear a otros usuarios porque estás bloqueado\";'),('es','messages:ipbnounblockself','s:23:\"No puedes desbloquearte\";'),('es','messages:lockdb','s:25:\"Bloquear la base de datos\";'),('es','messages:unlockdb','s:28:\"Desbloquear la base de datos\";'),('es','messages:lockdbtext','s:381:\"El bloqueo de la base de datos impedirá a todos los usuarios editar páginas, cambiar sus preferencias, modificar sus listas de seguimiento y cualquier otra función que requiera realizar cambios en la base de datos. Por favor, confirme que ésto es precisamente lo que quiere hacer y que desbloqueará la base de datos tan pronto haya finalizado las operaciones de mantenimiento.\";'),('es','messages:unlockdbtext','s:283:\"El desbloqueo de la base de datos permitirá a todos los usuarios editar páginas, cambiar sus preferencias, modificar sus listas de seguimiento y cualesquiera otras funciones que impliquen modificar la base de datos. Por favor, confirme que esto es precisamente lo que quiere hacer.\";'),('es','messages:lockconfirm','s:48:\"Sí, realmente quiero bloquear la base de datos.\";'),('es','messages:unlockconfirm','s:51:\"Sí, realmente quiero desbloquear la base de datos.\";'),('es','messages:lockbtn','s:25:\"Bloquear la base de datos\";'),('es','messages:unlockbtn','s:28:\"Desbloquear la base de datos\";'),('es','messages:locknoconfirm','s:36:\"No ha confirmado lo que desea hacer.\";'),('es','messages:lockdbsuccesssub','s:37:\"El bloqueo se ha realizado con éxito\";'),('es','messages:unlockdbsuccesssub','s:40:\"El desbloqueo se ha realizado con éxito\";'),('es','messages:lockdbsuccesstext','s:136:\"La base de datos de {{SITENAME}} ha sido bloqueada.\n<br />Recuerde retirar el bloqueo después de completar las tareas de mantenimiento.\";'),('es','messages:unlockdbsuccesstext','s:54:\"La base de datos de {{SITENAME}} ha sido desbloqueada.\";'),('es','messages:lockfilenotwritable','s:174:\"El archivo-cerrojo de la base de datos no tiene permiso de escritura. Para bloquear o desbloquear la base de datos, este archivo tiene que ser escribible por el servidor web.\";'),('es','messages:databasenotlocked','s:36:\"La base de datos no está bloqueada.\";'),('es','messages:lockedbyandtime','s:37:\"(por {{GENDER:$1|$1}} el $2 a las $3)\";'),('es','messages:move-page','s:12:\"Trasladar $1\";'),('es','messages:move-page-legend','s:17:\"Renombrar página\";'),('es','messages:movepagetext','s:957:\"Usando el siguiente formulario se renombrará una página, moviendo todo su historial al nuevo nombre.\nEl título anterior se convertirá en una redirección al nuevo título.\nLos enlaces al antiguo título de la página no se cambiarán.\nAsegúrate de no dejar [[Special:DoubleRedirects|redirecciones dobles]] o [[Special:BrokenRedirects|rotas]].\nTú eres responsable de hacer que los enlaces sigan apuntando a donde se supone que deberían hacerlo.\n\nRecuerda que la página \'\'\'no\'\'\' será renombrada si ya existe una página con el nuevo título, a no ser que sea una página vacía o una redirección sin historial.\nEsto significa que podrás renombrar una página a su título original si has cometido un error, pero que no podrás sobrescribir una página existente.\n\n\'\'\'¡Aviso!\'\'\'\nEste puede ser un cambio drástico e inesperado para una página popular;\npor favor, asegúrate de entender las consecuencias del procedimiento antes de seguir adelante.\";'),('es','messages:movepagetext-noredirectfixer','s:893:\"Usando el siguiente formulario se renombrará una página, moviendo todo su historial al nuevo nombre.\nEl título anterior se convertirá en una redirección al nuevo título.\nAsegúrate de no dejar [[Special:DoubleRedirects|redirecciones dobles]] o [[Special:BrokenRedirects|rotas]].\nTú eres responsable de hacer que los enlaces sigan apuntando adonde se supone que deberían hacerlo.\n\nRecuerda que la página \'\'\'no\'\'\' será renombrada si ya existe una página con el nuevo título, a no ser que sea una página vacía o una redirección sin historial.\nEsto significa que podrás renombrar una página a su título original si has cometido un error, pero que no podrás sobrescribir una página existente.\n\n\'\'\'¡Aviso!\'\'\'\nEste puede ser un cambio drástico e inesperado para una página popular;\npor favor, asegúrate de entender las consecuencias del procedimiento antes de seguir adelante.\";'),('es','messages:movepagetalktext','s:395:\"La página de discusión asociada, si existe, será renombrada automáticamente \'\'\'a menos que:\'\'\'\n*Esté moviendo la página entre espacios de nombres diferentes,\n*Una página de discusión no vacía ya exista con el nombre nuevo, o\n*No actives la opción «Renombrar la página de discusión también».\n\nEn estos casos, deberás trasladar manualmente el contenido de la página de discusión.\";'),('es','messages:movearticle','s:17:\"Renombrar página\";'),('es','messages:moveuserpage-warning','s:157:\"\'\'\'Aviso:\'\'\' estás a punto de mover una página de usuario. Ten en cuenta de que solo la página será trasladada pero el usuario \'\'\'no\'\'\' será renombrado.\";'),('es','messages:movenologin','s:23:\"No has iniciado sesión\";'),('es','messages:movenologintext','s:110:\"Es necesario ser usuario registrado y [[Special:UserLogin|haber iniciado sesión]] para renombrar una página.\";'),('es','messages:movenotallowed','s:38:\"No tienes permiso para mover páginas.\";'),('es','messages:movenotallowedfile','s:38:\"No tienes permiso para mover archivos.\";'),('es','messages:cant-move-user-page','s:71:\"No tienes permiso para mover páginas de usuario (excepto subpáginas).\";'),('es','messages:cant-move-to-user-page','s:101:\"No tienes permiso para mover una página a una página de usuario (excepto a subpáginas de usuario).\";'),('es','messages:newtitle','s:16:\"A título nuevo:\";'),('es','messages:move-watch','s:36:\"Vigilar páginas de origen y destino\";'),('es','messages:movepagebtn','s:17:\"Renombrar página\";'),('es','messages:pagemovedsub','s:31:\"Renombrado realizado con éxito\";'),('es','messages:movepage-moved','s:41:\"\'\'\'«$1» ha sido trasladado a «$2».\'\'\'\";'),('es','messages:movepage-moved-redirect','s:30:\"Se ha creado una redirección.\";'),('es','messages:movepage-moved-noredirect','s:48:\"Se ha suprimido la creación de la redirección.\";'),('es','messages:articleexists','s:111:\"Ya existe una página con ese nombre, o el nombre que has escogido no es válido.\nPor favor, elige otro nombre.\";'),('es','messages:cantmove-titleprotected','s:113:\"No puedes mover la página a esta ubicación, porque el nuevo título ha sido protegido para evitar su creación.\";'),('es','messages:talkexists','s:163:\"La página fue renombrada con éxito, pero la discusión no se pudo mover porque ya existe una en el título nuevo. Por favor incorpora sus contenidos manualmente.\";'),('es','messages:movedto','s:12:\"renombrado a\";'),('es','messages:movetalk','s:43:\"Renombrar la página de discusión asociada\";'),('es','messages:move-subpages','s:45:\"Intentar trasladar las subpáginas (hasta $1)\";'),('es','messages:move-talk-subpages','s:59:\"Intentar trasladar las subpáginas de discusión (hasta $1)\";'),('es','messages:movepage-page-exists','s:77:\"La página $1 ya existe, por lo que no puede ser renombrada automáticamente.\";'),('es','messages:movepage-page-moved','s:38:\"La página $1 ha sido trasladada a $2.\";'),('es','messages:movepage-page-unmoved','s:45:\"La página $1 no se ha podido trasladar a $2.\";'),('es','messages:movepage-max-pages','s:141:\"Se {{PLURAL:$1|ha trasladado un máximo de una página|han trasladado un máximo de $1 páginas}}, y no se van a mover más automáticamente.\";'),('es','messages:1movedto2','s:26:\"[[$1]] trasladada a [[$2]]\";'),('es','messages:1movedto2_redir','s:49:\"[[$1]] trasladada a [[$2]] sobre una redirección\";'),('es','messages:move-redirect-suppressed','s:22:\"redirección suprimida\";'),('es','messages:movelogpage','s:21:\"Registro de traslados\";'),('es','messages:movelogpagetext','s:53:\"Abajo se encuentra una lista de páginas trasladadas.\";'),('es','messages:movesubpage','s:36:\"{{PLURAL:$1|Subpágina|Subpáginas}}\";'),('es','messages:movesubpagetext','s:87:\"Esta página tiene {{PLURAL:$1|la siguiente subpágina|las siguientes $1 subpáginas}}:\";'),('es','messages:movenosubpage','s:34:\"Esta página no tiene subpáginas.\";'),('es','messages:movereason','s:7:\"Motivo:\";'),('es','messages:revertmove','s:8:\"revertir\";'),('es','messages:delete_and_move','s:18:\"Borrar y trasladar\";'),('es','messages:delete_and_move_text','s:114:\"==Se necesita borrado==\n\nLa página de destino (\"[[:$1]]\") ya existe. ¿Quiere borrarla para permitir al traslado?\";'),('es','messages:delete_and_move_confirm','s:22:\"Sí, borrar la página\";'),('es','messages:delete_and_move_reason','s:33:\"Borrada para permitir el traslado\";'),('es','messages:selfmove','s:99:\"Los títulos de origen y destino son los mismos;\nno se puede trasladar una página sobre sí misma.\";'),('es','messages:immobile-source-namespace','s:63:\"No se pueden trasladar páginas en el espacio de nombres «$1»\";'),('es','messages:immobile-target-namespace','s:59:\"No se puede trasladar páginas al espacio de nombres «$1»\";'),('es','messages:immobile-target-namespace-iw','s:72:\"Un enlace interwiki no es un destino válido para trasladar una página.\";'),('es','messages:immobile-source-page','s:35:\"Esta página no se puede renombrar.\";'),('es','messages:immobile-target-page','s:36:\"No se puede trasladar a tal título.\";'),('es','messages:imagenocrossnamespace','s:58:\"No se puede trasladar el fichero a otro espacio de nombres\";'),('es','messages:nonfile-cannot-move-to-file','s:66:\"No es posible mover un no-archivo al espacio de nombres de archivo\";'),('es','messages:imagetypemismatch','s:57:\"La nueva extensión de archivo no corresponde con su tipo\";'),('es','messages:imageinvalidfilename','s:46:\"El nombre del fichero de destino no es válido\";'),('es','messages:fix-double-redirects','s:60:\"Actualizar las redirecciones que apuntan al título original\";'),('es','messages:move-leave-redirect','s:22:\"Dejar una redirección\";'),('es','messages:protectedpagemovewarning','s:214:\"\'\'\'Advertencia:\'\'\' Esta página ha sido bloqueada de tal manera que solamente usuarios con privilegios de administrador puedan trasladarla.\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:semiprotectedpagemovewarning','s:174:\"\'\'\'Nota:\'\'\' Esta página ha sido bloqueada para que  solamente usuarios registrados pueden moverla.\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:move-over-sharedrepo','s:135:\"== El archivo existe ==\n[[:$1]] existe en un repositorio compartido. Mover el archivo a este título invalidará el archivo compartido.\";'),('es','messages:file-exists-sharedrepo','s:110:\"El nombre de archivo elegido ya está siendo usado en un repositorio compartido.\nPor favor, elige otro nombre.\";'),('es','messages:export','s:17:\"Exportar páginas\";'),('es','messages:exporttext','s:695:\"Puedes exportar el texto y el historial de ediciones de una página en particular o de un conjunto de páginas a un texto XML. En el futuro, este texto podría importarse en otro wiki que ejecutase MediaWiki a través de [[Special:Import|importar página]].\n\nPara exportar páginas, escribe los títulos en la caja de texto de abajo, un título por línea, y selecciona si quieres la versión actual junto a las versiones anteriores, con las líneas del historial, o sólo la versión actual con la información sobre la última edición.\n\nEn el último caso también puedes usar un enlace, por ejemplo [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] para la página \"[[{{MediaWiki:Mainpage}}]]\".\";'),('es','messages:exportcuronly','s:77:\"Incluye sólo la revisión actual, no el historial de revisiones al completo.\";'),('es','messages:exportnohistory','s:158:\"----\n\'\'\'Nota:\'\'\' Exportar el historial completo de páginas a través de este formulario ha sido deshabilitado debido a problemas de rendimiento del servidor.\";'),('es','messages:export-submit','s:8:\"Exportar\";'),('es','messages:export-addcattext','s:37:\"Añadir páginas desde la categoría:\";'),('es','messages:export-addcat','s:7:\"Añadir\";'),('es','messages:export-addnstext','s:38:\"Agregar páginas del nombre del sitio:\";'),('es','messages:export-addns','s:7:\"Agregar\";'),('es','messages:export-download','s:20:\"Guardar como archivo\";'),('es','messages:export-templates','s:18:\"Incluir plantillas\";'),('es','messages:export-pagelinks','s:48:\"Incluir páginas enlazadas a una profundidad de:\";'),('es','messages:allmessages','s:31:\"Todos los mensajes de MediaWiki\";'),('es','messages:allmessagesname','s:6:\"Nombre\";'),('es','messages:allmessagesdefault','s:20:\"Texto predeterminado\";'),('es','messages:allmessagescurrent','s:12:\"Texto actual\";'),('es','messages:allmessagestext','s:275:\"Esta es una lista de mensajes del sistema disponibles en el espacio de nombres MediaWiki:\nPor favor visita [//www.mediawiki.org/wiki/Localisation Localización MediaWiki] y [//translatewiki.net translatewiki.net] si deseas contribuir con la localización genérica MediaWiki.\";'),('es','messages:allmessagesnotsupportedDB','s:89:\"Esta página no está disponible porque \'\'\'$wgUseDatabaseMessages\'\'\' está deshabilitado.\";'),('es','messages:allmessages-filter-legend','s:6:\"Filtro\";'),('es','messages:allmessages-filter','s:39:\"Filtrar por estado de personalización:\";'),('es','messages:allmessages-filter-unmodified','s:13:\"Sin modificar\";'),('es','messages:allmessages-filter-all','s:4:\"Todo\";'),('es','messages:allmessages-filter-modified','s:10:\"Modificado\";'),('es','messages:allmessages-prefix','s:20:\"Filtrar por prefijo:\";'),('es','messages:allmessages-language','s:7:\"Idioma:\";'),('es','messages:allmessages-filter-submit','s:2:\"Ir\";'),('es','messages:thumbnail-more','s:8:\"Aumentar\";'),('es','messages:filemissing','s:13:\"Falta archivo\";'),('es','messages:thumbnail_error','s:28:\"Error al crear miniatura: $1\";'),('es','messages:djvu_page_error','s:27:\"Página DjVu fuera de rango\";'),('es','messages:djvu_no_xml','s:42:\"Imposible obtener XML para el archivo DjVu\";'),('es','messages:thumbnail_invalid_params','s:37:\"Parámetros del thumbnail no válidos\";'),('es','messages:thumbnail_dest_directory','s:41:\"Incapaz de crear el directorio de destino\";'),('es','messages:thumbnail_image-type','s:29:\"Tipo de imagen no contemplado\";'),('es','messages:thumbnail_gd-library','s:66:\"Configuración de la librería GD incompleta: falta la función $1\";'),('es','messages:thumbnail_image-missing','s:32:\"El fichero parece no existir: $1\";'),('es','messages:import','s:17:\"Importar páginas\";'),('es','messages:importinterwiki','s:22:\"Importación transwiki\";'),('es','messages:import-interwiki-text','s:228:\"Selecciona un wiki y un título de página para importar.\nLas fechas de revisiones y los nombres de editores se preservarán.\nTodas las importaciones transwiki se registran en el [[Special:Log/import|registro de importaciones]].\";'),('es','messages:import-interwiki-source','s:22:\"Wiki o página origen:\";'),('es','messages:import-interwiki-history','s:56:\"Copiar todas las versiones históricas para esta página\";'),('es','messages:import-interwiki-templates','s:28:\"Incluir todas las plantillas\";'),('es','messages:import-interwiki-submit','s:8:\"Importar\";'),('es','messages:import-interwiki-namespace','s:30:\"Espacio de nombres de destino:\";'),('es','messages:import-upload-filename','s:18:\"Nombre de archivo:\";'),('es','messages:import-comment','s:11:\"Comentario:\";'),('es','messages:importtext','s:150:\"Por favor, exporta el archivo desde el wiki de origen usando la [[Special:Export|herramienta de exportación]], guárdalo en tu disco y súbelo aquí.\";'),('es','messages:importstart','s:22:\"Importando páginas...\";'),('es','messages:import-revision-count','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:importnopages','s:29:\"No hay páginas que importar.\";'),('es','messages:imported-log-entries','s:70:\"Importados $1 {{PLURAL:$1|entradas de registro|entradas de registro}}.\";'),('es','messages:importfailed','s:30:\"La importación ha fallado: $1\";'),('es','messages:importunknownsource','s:42:\"Tipo de fuente de importación desconocida\";'),('es','messages:importcantopen','s:30:\"No se pudo importar el archivo\";'),('es','messages:importbadinterwiki','s:25:\"Enlace interwiki anómalo\";'),('es','messages:importnotext','s:18:\"Vacío o sin texto\";'),('es','messages:importsuccess','s:45:\"¡La importación se ha realizado con éxito!\";'),('es','messages:importhistoryconflict','s:96:\"Existen revisiones en conflicto en el historial (puede que se haya importado esta página antes)\";'),('es','messages:importnosources','s:94:\"No hay fuentes de importación transwiki y no está permitido subir directamente el historial.\";'),('es','messages:importnofile','s:40:\"No se subieron archivos de importación.\";'),('es','messages:importuploaderrorsize','s:90:\"Falló la carga del archivo de importaciones.\nSu tamaño es superior al máximo permitido.\";'),('es','messages:importuploaderrorpartial','s:75:\"Falló la subida del fichero de importación.\nSe subió sólo parcialmente.\";'),('es','messages:importuploaderrortemp','s:76:\"Falló la subida del fichero de importación.\nNo hay un directorio temporal.\";'),('es','messages:import-parse-failure','s:32:\"Error de lectura al importar XML\";'),('es','messages:import-noarticle','s:32:\"¡No hay páginas para importar!\";'),('es','messages:import-nonewrevisions','s:51:\"Todas las revisiones fueron previamente importadas.\";'),('es','messages:xml-error-string','s:40:\"$1 en la línea $2, col $3 (byte $4): $5\";'),('es','messages:import-upload','s:15:\"Subir datos XML\";'),('es','messages:import-token-mismatch','s:61:\"Pérdida de datos de sesión. Por favor, inténtalo de nuevo.\";'),('es','messages:import-invalid-interwiki','s:45:\"No se puede importar de la wiki especificada.\";'),('es','messages:importlogpage','s:25:\"Registro de importaciones\";'),('es','messages:importlogpagetext','s:74:\"Importaciones administrativas de páginas con historial desde otros wikis.\";'),('es','messages:import-logentry-upload','s:37:\"importó [[$1]] por subida de archivo\";'),('es','messages:import-logentry-upload-detail','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:import-logentry-interwiki','s:18:\"transwikificada $1\";'),('es','messages:import-logentry-interwiki-detail','s:46:\"$1 {{PLURAL:$1|revisión|revisiones}} desde $2\";'),('es','messages:tooltip-pt-userpage','s:21:\"Tu página de usuario\";'),('es','messages:tooltip-pt-anonuserpage','s:50:\"La página de usuario de la IP desde la que editas\";'),('es','messages:tooltip-pt-mytalk','s:24:\"Tu página de discusión\";'),('es','messages:tooltip-pt-anontalk','s:58:\"Discusión sobre ediciones hechas desde esta dirección IP\";'),('es','messages:tooltip-pt-preferences','s:16:\"Tus preferencias\";'),('es','messages:tooltip-pt-watchlist','s:39:\"Lista de páginas cuyos cambios vigilas\";'),('es','messages:tooltip-pt-mycontris','s:27:\"Lista de tus contribuciones\";'),('es','messages:tooltip-pt-login','s:62:\"Te recomendamos iniciar sesión, sin embargo no es obligatorio\";'),('es','messages:tooltip-pt-anonlogin','s:52:\"Te invitamos a registrarte, aunque no es obligatorio\";'),('es','messages:tooltip-pt-logout','s:19:\"Salir de la sesión\";'),('es','messages:tooltip-ca-talk','s:31:\"Discusión acerca del artículo\";'),('es','messages:tooltip-ca-edit','s:83:\"Puedes editar esta página. Utiliza el botón de previsualización antes de guardar\";'),('es','messages:tooltip-ca-addsection','s:25:\"Inicia una nueva sección\";'),('es','messages:tooltip-ca-viewsource','s:58:\"Esta página está protegida.\nPuedes ver su código fuente\";'),('es','messages:tooltip-ca-history','s:50:\"Versiones anteriores de esta página y sus autores\";'),('es','messages:tooltip-ca-protect','s:21:\"Proteger esta página\";'),('es','messages:tooltip-ca-unprotect','s:35:\"Cambiar protección de esta página\";'),('es','messages:tooltip-ca-delete','s:19:\"Borrar esta página\";'),('es','messages:tooltip-ca-undelete','s:72:\"Restaurar las ediciones hechas a esta página antes de que fuese borrada\";'),('es','messages:tooltip-ca-move','s:18:\"Mover esta página\";'),('es','messages:tooltip-ca-watch','s:46:\"Añadir esta página a su lista de seguimiento\";'),('es','messages:tooltip-ca-unwatch','s:46:\"Borrar esta página de su lista de seguimiento\";'),('es','messages:tooltip-search','s:22:\"Buscar en {{SITENAME}}\";'),('es','messages:tooltip-search-go','s:48:\"Ir al artículo con este nombre exacto si existe\";'),('es','messages:tooltip-search-fulltext','s:32:\"Busca este texto en las páginas\";'),('es','messages:tooltip-p-logo','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-mainpage','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-mainpage-description','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-portal','s:71:\"Acerca del proyecto, lo que puedes hacer, dónde encontrar información\";'),('es','messages:tooltip-n-currentevents','s:55:\"Información de contexto sobre acontecimientos actuales\";'),('es','messages:tooltip-n-recentchanges','s:37:\"Lista de cambios recientes en el wiki\";'),('es','messages:tooltip-n-randompage','s:26:\"Cargar una página al azar\";'),('es','messages:tooltip-n-help','s:22:\"El lugar para aprender\";'),('es','messages:tooltip-t-whatlinkshere','s:54:\"Lista de todas las páginas del wiki que enlazan aquí\";'),('es','messages:tooltip-t-recentchangeslinked','s:55:\"Cambios recientes en las páginas que enlazan con ésta\";'),('es','messages:tooltip-feed-rss','s:32:\"Sindicación RSS de esta página\";'),('es','messages:tooltip-feed-atom','s:33:\"Sindicación Atom de esta página\";'),('es','messages:tooltip-t-contributions','s:39:\"Lista de contribuciones de este usuario\";'),('es','messages:tooltip-t-emailuser','s:42:\"Enviar un mensaje de correo a este usuario\";'),('es','messages:tooltip-t-upload','s:37:\"Subir imágenes o archivos multimedia\";'),('es','messages:tooltip-t-specialpages','s:38:\"Lista de todas las páginas especiales\";'),('es','messages:tooltip-t-print','s:35:\"Versión imprimible de esta página\";'),('es','messages:tooltip-t-permalink','s:47:\"Enlace permanente a esta versión de la página\";'),('es','messages:tooltip-ca-nstab-main','s:16:\"Ver el artículo\";'),('es','messages:tooltip-ca-nstab-user','s:25:\"Ver la página de usuario\";'),('es','messages:tooltip-ca-nstab-media','s:28:\"Ver la página de multimedia\";'),('es','messages:tooltip-ca-nstab-special','s:66:\"Esta es una página especial, no se puede editar la página en sí\";'),('es','messages:tooltip-ca-nstab-project','s:26:\"Ver la página de proyecto\";'),('es','messages:tooltip-ca-nstab-image','s:27:\"Ver la página de la imagen\";'),('es','messages:tooltip-ca-nstab-mediawiki','s:25:\"Ver el mensaje de sistema\";'),('es','messages:tooltip-ca-nstab-template','s:16:\"Ver la plantilla\";'),('es','messages:tooltip-ca-nstab-help','s:23:\"Ver la página de ayuda\";'),('es','messages:tooltip-ca-nstab-category','s:28:\"Ver la página de categoría\";'),('es','messages:tooltip-minoredit','s:29:\"Marcar este cambio como menor\";'),('es','messages:tooltip-save','s:19:\"Guardar los cambios\";'),('es','messages:tooltip-preview','s:72:\"Previsualiza los cambios realizados. ¡Por favor, hazlo antes de grabar!\";'),('es','messages:tooltip-diff','s:51:\"Muestra los cambios que ha introducido en el texto.\";'),('es','messages:tooltip-compareselectedversions','s:74:\"Ver las diferencias entre las dos versiones seleccionadas de esta página.\";'),('es','messages:tooltip-watch','s:46:\"Añadir esta página a su lista de seguimiento\";'),('es','messages:tooltip-recreate','s:40:\"Recupera una página que ha sido borrada\";'),('es','messages:tooltip-upload','s:17:\"Empieza la subida\";'),('es','messages:tooltip-rollback','s:79:\"«Revertir» revierte todas las ediciones del último usuario con un solo clic.\";'),('es','messages:tooltip-undo','s:160:\"«Deshacer» revierte la edición seleccionada y abre la página de edición en el modo de previsualización.\nPermite añadir una razón al resumen de edición.\";'),('es','messages:tooltip-preferences-save','s:24:\"Guardar las preferencias\";'),('es','messages:tooltip-summary','s:26:\"Introduce un breve resumen\";'),('es','messages:common.css','s:75:\"/* Los estilos CSS definidos aquí aplicarán a todas las pieles (skins) */\";'),('es','messages:standard.css','s:101:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Standard */\";'),('es','messages:nostalgia.css','s:102:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Nostalgia */\";'),('es','messages:cologneblue.css','s:105:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Cologne Blue */\";'),('es','messages:monobook.css','s:101:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Monobook */\";'),('es','messages:myskin.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel MySkin */\";'),('es','messages:chick.css','s:98:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Chick */\";'),('es','messages:simple.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Simple */\";'),('es','messages:modern.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Modern */\";'),('es','messages:vector.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Vector */\";'),('es','messages:print.css','s:62:\"/* Los estilos CSS colocados aquí afectarán la impresión */\";'),('es','messages:handheld.css','s:131:\"/* Los estilos CSS colocados aquí afectarán a los dispositivos móviles basados en las pieles configuradas en $wgHandheldStyle */\";'),('es','messages:common.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */\";'),('es','messages:standard.js','s:110:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Estandar */\";'),('es','messages:nostalgia.js','s:112:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Nostalgia. */\";'),('es','messages:cologneblue.js','s:114:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Colonia azul */\";'),('es','messages:monobook.js','s:97:\"/* El código JavaScript que se ponga aquí será cargado por los usuarios de la piel MonoBook */\";'),('es','messages:myskin.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Mi piel */\";'),('es','messages:chick.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Pollito */\";'),('es','messages:simple.js','s:108:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Simple */\";'),('es','messages:modern.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Moderna */\";'),('es','messages:vector.js','s:108:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Vector */\";'),('es','messages:notacceptable','s:100:\"El servidor wiki no puede proveer los datos en un formato que su cliente (navegador) pueda entender.\";'),('es','messages:anonymous','s:65:\"{{PLURAL:$1|Usuario anónimo|Usuarios anónimos}} de {{SITENAME}}\";'),('es','messages:siteuser','s:48:\"{{GENDER:$1|Usuario|Usuaria}} $1 de {{SITENAME}}\";'),('es','messages:anonuser','s:32:\"{{SITENAME}} usuario anónimo $1\";'),('es','messages:lastmodifiedatby','s:61:\"Esta página fue modificada por última vez en $2, $1 por $3.\";'),('es','messages:othercontribs','s:27:\"Basado en el trabajo de $1.\";'),('es','messages:others','s:5:\"otros\";'),('es','messages:siteusers','s:49:\"{{PLURAL:$2|Usuario|Usuarios}} $1 de {{SITENAME}}\";'),('es','messages:anonusers','s:56:\"{{SITENAME}} {{PLURAL:$2|usuario|usuarios}} anónimos $1\";'),('es','messages:creditspage','s:23:\"Créditos de la página\";'),('es','messages:nocredits','s:51:\"No hay información de créditos para esta página.\";'),('es','messages:spamprotectiontitle','s:33:\"Filtro de protección contra spam\";'),('es','messages:spamprotectiontext','s:155:\"La página que quería guardar fue bloqueada por el filtro de spam.\nEsto podría estar causado por un enlace a un sitio externo incluido en la lista negra.\";'),('es','messages:spamprotectionmatch','s:63:\"El siguiente texto es el que activó nuestro filtro de spam: $1\";'),('es','messages:spambot_username','s:29:\"Limpieza de spam de MediaWiki\";'),('es','messages:spam_reverting','s:62:\"Revirtiendo a la última versión que no contenga enlaces a $1\";'),('es','messages:spam_blanking','s:56:\"Todas las revisiones contienen enlaces a $1, blanqueando\";'),('es','messages:pageinfo-title','s:24:\"Información para «$1»\";'),('es','messages:pageinfo-header-edits','s:9:\"Ediciones\";'),('es','messages:pageinfo-header-watchlist','s:20:\"Lista de seguimiento\";'),('es','messages:pageinfo-header-views','s:6:\"Vistas\";'),('es','messages:pageinfo-subjectpage','s:7:\"Página\";'),('es','messages:pageinfo-talkpage','s:21:\"Página de discusión\";'),('es','messages:pageinfo-watchers','s:32:\"Número de usuarios vigilándola\";'),('es','messages:pageinfo-edits','s:20:\"Número de ediciones\";'),('es','messages:pageinfo-authors','s:28:\"Número de autores distintos\";'),('es','messages:pageinfo-views','s:17:\"Número de vistas\";'),('es','messages:pageinfo-viewsperedit','s:19:\"Vistas por edición\";'),('es','messages:skinname-standard','s:9:\"Estándar\";'),('es','messages:skinname-nostalgia','s:9:\"Nostalgia\";'),('es','messages:skinname-cologneblue','s:12:\"Colonia azul\";'),('es','messages:skinname-monobook','s:8:\"MonoBook\";'),('es','messages:skinname-myskin','s:7:\"Mi piel\";'),('es','messages:skinname-chick','s:7:\"Pollito\";'),('es','messages:skinname-simple','s:6:\"Simple\";'),('es','messages:skinname-modern','s:7:\"Moderna\";'),('es','messages:skinname-vector','s:6:\"Vector\";'),('es','messages:markaspatrolleddiff','s:20:\"Marcar como revisado\";'),('es','messages:markaspatrolledtext','s:35:\"Marcar este artículo como revisado\";'),('es','messages:markedaspatrolled','s:21:\"Marcado como revisado\";'),('es','messages:markedaspatrolledtext','s:70:\"La revisión seleccionada de [[:$1|$1]] ha sido marcada como revisada.\";'),('es','messages:rcpatroldisabled','s:48:\"Revisión de los Cambios Recientes deshabilitada\";'),('es','messages:rcpatroldisabledtext','s:82:\"La capacidad de revisar los Cambios Recientes está deshabilitada en este momento.\";'),('es','messages:markedaspatrollederror','s:34:\"No se puede marcar como patrullada\";'),('es','messages:markedaspatrollederrortext','s:62:\"Debes especificar una revisión para marcarla como patrullada.\";'),('es','messages:markedaspatrollederror-noautopatrol','s:66:\"No tienes permisos para marcar tus propios cambios como revisados.\";'),('es','messages:patrol-log-page','s:22:\"Registro de revisiones\";'),('es','messages:patrol-log-header','s:46:\"Este es un registro de revisiones patrulladas.\";'),('es','messages:patrol-log-line','s:22:\"revisó la $1 de $2 $3\";'),('es','messages:patrol-log-auto','s:13:\"(automático)\";'),('es','messages:patrol-log-diff','s:12:\"revisión $1\";'),('es','messages:log-show-hide-patrol','s:25:\"$1 registro de patrullaje\";'),('es','messages:deletedrevision','s:28:\"Borrada revisión antigua $1\";'),('es','messages:filedeleteerror-short','s:44:\"Se produjo un error al borrar el archivo: $1\";'),('es','messages:filedeleteerror-long','s:60:\"Se han producido errores mientras se borraba el archivo:\n\n$1\";'),('es','messages:filedelete-missing','s:51:\"No se pudo borrar el archivo \"$1\" porque no existe.\";'),('es','messages:filedelete-old-unregistered','s:58:\"La revisión de archivo \"$1\" no está en la base de datos.\";'),('es','messages:filedelete-current-unregistered','s:48:\"El archivo «$1» no existe en la base de datos.\";'),('es','messages:filedelete-archive-read-only','s:64:\"El servidor web no logra escribir en el directorio archivo \"$1\".\";'),('es','messages:previousdiff','s:21:\"← Edición anterior\";'),('es','messages:nextdiff','s:22:\"Edición siguiente →\";'),('es','messages:mediawarning','s:121:\"\'\'\'Atención\'\'\': Este fichero puede contener código malicioso.\nEjecutarlo podría comprometer la seguridad de su equipo.\";'),('es','messages:imagemaxsize','s:81:\"Límite de tamaño de imagen:<br />\'\'(para páginas de descripción de archivo)\'\'\";'),('es','messages:thumbsize','s:35:\"Tamaño de las vistas en miniatura:\";'),('es','messages:widthheightpage','s:39:\"$1×$2, $3 {{PLURAL:|página|páginas}}\";'),('es','messages:file-info','s:37:\"tamaño de archivo: $1; tipo MIME: $2\";'),('es','messages:file-info-size','s:56:\"$1 × $2 píxeles; tamaño de archivo: $3; tipo MIME: $4\";'),('es','messages:file-info-size-pages','s:90:\"$1× $2 píxeles, tamaño de archivo: $3, tipo MIME: $4, $5 {{PLURAL:$5|página|páginas}}\";'),('es','messages:file-nohires','s:49:\"<small>No disponible a mayor resolución.</small>\";'),('es','messages:svg-long-desc','s:67:\"archivo SVG, nominalmente $1 × $2 píxeles, tamaño de archivo: $3\";'),('es','messages:show-big-image','s:20:\"Resolución original\";'),('es','messages:show-big-image-preview','s:53:\"<small>Tamaño de esta previsualización: $1.</small>\";'),('es','messages:show-big-image-other','s:38:\"<small>Otras resoluciones: $1.</small>\";'),('es','messages:show-big-image-size','s:17:\"$1 × $2 píxeles\";'),('es','messages:file-info-gif-looped','s:8:\"bucleado\";'),('es','messages:file-info-gif-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('es','messages:file-info-png-looped','s:8:\"bucleado\";'),('es','messages:file-info-png-repeat','s:38:\"reproducido $1 {{PLURAL:$1|vez|veces}}\";'),('es','messages:file-info-png-frames','s:29:\"$1 {{PLURAL:$1|marco|marcos}}\";'),('es','messages:newimages','s:28:\"Galería de imágenes nuevas\";'),('es','messages:imagelisttext','s:77:\"Debajo hay una lista de \'\'\'$1\'\'\' {{PLURAL:$1|imagen|imágenes}} ordenadas $2.\";'),('es','messages:newimages-summary','s:76:\"Esta página especial muestra una galería de los últimos ficheros subidos.\";'),('es','messages:newimages-legend','s:18:\"Nombre del fichero\";'),('es','messages:newimages-label','s:33:\"Nombre del fichero (o una parte):\";'),('es','messages:showhidebots','s:9:\"($1 bots)\";'),('es','messages:noimages','s:20:\"No hay nada que ver.\";'),('es','messages:ilsubmit','s:6:\"Buscar\";'),('es','messages:bydate','s:9:\"por fecha\";'),('es','messages:sp-newimages-showfrom','s:45:\"Mostrar nuevas imágenes empezando por $2, $1\";'),('es','messages:minutes-abbrev','s:1:\"m\";'),('es','messages:hours-abbrev','s:1:\"h\";'),('es','messages:bad_image_list','s:316:\"El formato es el siguiente:\n\nSolo se reconocen elementos de lista (líneas que comienzan con «*»).\nEl primer enlace de cada línea debe ser un enlace al archivo que se quiere bloquear.\nTodos los demás enlaces en la misma línea se tomarán como excepciones (es decir, páginas donde sí se puede usar el archivo).\";'),('es','messages:metadata','s:9:\"Metadatos\";'),('es','messages:metadata-help','s:266:\"Este archivo contiene información adicional (metadatos), probablemente añadida por la cámara digital, el escáner o el programa usado para crearlo o digitalizarlo. Si el archivo ha sido modificado desde su estado original, pueden haberse perdido algunos detalles.\";'),('es','messages:metadata-expand','s:24:\"Mostrar datos detallados\";'),('es','messages:metadata-collapse','s:24:\"Ocultar datos detallados\";'),('es','messages:metadata-fields','s:394:\"Los campos de metadatos que se listan en este mensaje se mostrarán en la página de descripción de la imagen aún cuando la tabla de metadatos esté plegada.\nExisten otros campos que se mantendrán ocultos por defecto.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude\";'),('es','messages:exif-imagewidth','s:7:\"Anchura\";'),('es','messages:exif-imagelength','s:6:\"Altura\";'),('es','messages:exif-bitspersample','s:19:\"Bits por componente\";'),('es','messages:exif-compression','s:22:\"Esquema de compresión\";'),('es','messages:exif-photometricinterpretation','s:21:\"Composición de pixel\";'),('es','messages:exif-orientation','s:12:\"Orientación\";'),('es','messages:exif-samplesperpixel','s:22:\"Número de componentes\";'),('es','messages:exif-planarconfiguration','s:22:\"Distribución de datos\";'),('es','messages:exif-ycbcrsubsampling','s:30:\"Razón de submuestreo de Y a C\";'),('es','messages:exif-ycbcrpositioning','s:22:\"Posicionamientos Y y C\";'),('es','messages:exif-xresolution','s:22:\"Resolución horizontal\";'),('es','messages:exif-yresolution','s:20:\"Resolución vertical\";'),('es','messages:exif-stripoffsets','s:32:\"Localización de datos de imagen\";'),('es','messages:exif-rowsperstrip','s:26:\"Número de filas por banda\";'),('es','messages:exif-stripbytecounts','s:26:\"Bytes por banda comprimida\";'),('es','messages:exif-jpeginterchangeformat','s:26:\"Desplazamiento al JPEG SOI\";'),('es','messages:exif-jpeginterchangeformatlength','s:19:\"Bytes de datos JPEG\";'),('es','messages:exif-whitepoint','s:26:\"Cromacidad de punto blanco\";'),('es','messages:exif-primarychromaticities','s:22:\"Cromacidades primarias\";'),('es','messages:exif-ycbcrcoefficients','s:64:\"Coeficientes de la matriz de transformación de espacio de color\";'),('es','messages:exif-referenceblackwhite','s:46:\"Pareja de valores blanco y negro de referencia\";'),('es','messages:exif-datetime','s:41:\"Fecha y hora de modificación del archivo\";'),('es','messages:exif-imagedescription','s:20:\"Título de la imagen\";'),('es','messages:exif-make','s:24:\"Fabricante de la cámara\";'),('es','messages:exif-model','s:17:\"Modelo de cámara\";'),('es','messages:exif-software','s:14:\"Software usado\";'),('es','messages:exif-artist','s:5:\"Autor\";'),('es','messages:exif-copyright','s:32:\"Titular de los derechos de autor\";'),('es','messages:exif-exifversion','s:13:\"Versión Exif\";'),('es','messages:exif-flashpixversion','s:29:\"Versión admitida de Flashpix\";'),('es','messages:exif-colorspace','s:16:\"Espacio de color\";'),('es','messages:exif-componentsconfiguration','s:30:\"Significado de cada componente\";'),('es','messages:exif-compressedbitsperpixel','s:32:\"Modo de compresión de la imagen\";'),('es','messages:exif-pixelydimension','s:18:\"Ancho de la imagen\";'),('es','messages:exif-pixelxdimension','s:19:\"Altura de la imagen\";'),('es','messages:exif-usercomment','s:22:\"Comentarios de usuario\";'),('es','messages:exif-relatedsoundfile','s:28:\"Archivo de audio relacionado\";'),('es','messages:exif-datetimeoriginal','s:43:\"Fecha y hora de la generación de los datos\";'),('es','messages:exif-datetimedigitized','s:34:\"Fecha y hora de la digitalización\";'),('es','messages:exif-subsectime','s:48:\"Fecha y hora (precisión por debajo del segundo)\";'),('es','messages:exif-subsectimeoriginal','s:79:\"Fecha y hora de la generación de los datos (precisión por debajo del segundo)\";'),('es','messages:exif-subsectimedigitized','s:69:\"Fecha y hora de la digitalización (precisón por debajo del segundo)\";'),('es','messages:exif-exposuretime','s:21:\"Tiempo de exposición\";'),('es','messages:exif-exposuretime-format','s:11:\"$1 seg ($2)\";'),('es','messages:exif-fnumber','s:9:\"Número F\";'),('es','messages:exif-exposureprogram','s:23:\"Programa de exposición\";'),('es','messages:exif-spectralsensitivity','s:22:\"Sensibilidad espectral\";'),('es','messages:exif-isospeedratings','s:30:\"Calificación de velocidad ISO\";'),('es','messages:exif-shutterspeedvalue','s:29:\"Velocidad de obturación APEX\";'),('es','messages:exif-aperturevalue','s:13:\"Apertura APEX\";'),('es','messages:exif-brightnessvalue','s:11:\"Brillo APEX\";'),('es','messages:exif-exposurebiasvalue','s:20:\"Sesgo de exposición\";'),('es','messages:exif-maxaperturevalue','s:25:\"Valor máximo de apertura\";'),('es','messages:exif-subjectdistance','s:19:\"Distancia al sujeto\";'),('es','messages:exif-meteringmode','s:17:\"Modo de medición\";'),('es','messages:exif-lightsource','s:13:\"Fuente de luz\";'),('es','messages:exif-flash','s:5:\"Flash\";'),('es','messages:exif-focallength','s:26:\"Longitud de la lente focal\";'),('es','messages:exif-subjectarea','s:16:\"Área del sujeto\";'),('es','messages:exif-flashenergy','s:18:\"Energía del flash\";'),('es','messages:exif-focalplanexresolution','s:25:\"Resolución X plano focal\";'),('es','messages:exif-focalplaneyresolution','s:25:\"Resolución Y plano focal\";'),('es','messages:exif-focalplaneresolutionunit','s:37:\"Unidad de resolución del plano focal\";'),('es','messages:exif-subjectlocation','s:24:\"Localización del sujeto\";'),('es','messages:exif-exposureindex','s:22:\"Índice de exposición\";'),('es','messages:exif-sensingmethod','s:17:\"Método de sensor\";'),('es','messages:exif-filesource','s:17:\"Fuente de archivo\";'),('es','messages:exif-scenetype','s:14:\"Tipo de escena\";'),('es','messages:exif-customrendered','s:34:\"Procesador personalizado de imagen\";'),('es','messages:exif-exposuremode','s:19:\"Modo de exposición\";'),('es','messages:exif-whitebalance','s:17:\"Balance de blanco\";'),('es','messages:exif-digitalzoomratio','s:22:\"Razón de zoom digital\";'),('es','messages:exif-focallengthin35mmfilm','s:36:\"Longitud focal en película de 35 mm\";'),('es','messages:exif-scenecapturetype','s:25:\"Tipo de captura de escena\";'),('es','messages:exif-gaincontrol','s:17:\"Control de escena\";'),('es','messages:exif-contrast','s:9:\"Contraste\";'),('es','messages:exif-saturation','s:11:\"Saturación\";'),('es','messages:exif-sharpness','s:7:\"Agudeza\";'),('es','messages:exif-devicesettingdescription','s:43:\"Descripción de los ajustes del dispositivo\";'),('es','messages:exif-subjectdistancerange','s:28:\"Rango de distancia al sujeto\";'),('es','messages:exif-imageuniqueid','s:19:\"ID único de imagen\";'),('es','messages:exif-gpsversionid','s:27:\"Versión de la etiqueta GPS\";'),('es','messages:exif-gpslatituderef','s:19:\"Latitud norte o sur\";'),('es','messages:exif-gpslatitude','s:7:\"Latitud\";'),('es','messages:exif-gpslongituderef','s:21:\"Longitud este u oeste\";'),('es','messages:exif-gpslongitude','s:8:\"Longitud\";'),('es','messages:exif-gpsaltituderef','s:19:\"Refencia de altitud\";'),('es','messages:exif-gpsaltitude','s:7:\"Altitud\";'),('es','messages:exif-gpstimestamp','s:27:\"Tiempo GPS (reloj atómico)\";'),('es','messages:exif-gpssatellites','s:35:\"Satélites usados para la medición\";'),('es','messages:exif-gpsstatus','s:19:\"Estado del receptor\";'),('es','messages:exif-gpsmeasuremode','s:17:\"Modo de medición\";'),('es','messages:exif-gpsdop','s:23:\"Precisión de medición\";'),('es','messages:exif-gpsspeedref','s:19:\"Unidad de velocidad\";'),('es','messages:exif-gpsspeed','s:26:\"Velocidad del receptor GPS\";'),('es','messages:exif-gpstrackref','s:44:\"Referencia para la dirección del movimiento\";'),('es','messages:exif-gpstrack','s:25:\"Dirección del movimiento\";'),('es','messages:exif-gpsimgdirectionref','s:38:\"Referencia de la dirección de imágen\";'),('es','messages:exif-gpsimgdirection','s:21:\"Dirección de imágen\";'),('es','messages:exif-gpsmapdatum','s:40:\"Utilizados datos de medición geodésica\";'),('es','messages:exif-gpsdestlatituderef','s:38:\"Referencia para la latitud del destino\";'),('es','messages:exif-gpsdestlatitude','s:18:\"Destino de latitud\";'),('es','messages:exif-gpsdestlongituderef','s:39:\"Referencia para la longitud del destino\";'),('es','messages:exif-gpsdestlongitude','s:20:\"Longitud del destino\";'),('es','messages:exif-gpsdestbearingref','s:42:\"Referencia para la orientación al destino\";'),('es','messages:exif-gpsdestbearing','s:24:\"Orientación del destino\";'),('es','messages:exif-gpsdestdistanceref','s:39:\"Referencia para la distancia al destino\";'),('es','messages:exif-gpsdestdistance','s:20:\"Distancia al destino\";'),('es','messages:exif-gpsprocessingmethod','s:35:\"Nombre del método de procesado GPS\";'),('es','messages:exif-gpsareainformation','s:22:\"Nombre de la área GPS\";'),('es','messages:exif-gpsdatestamp','s:9:\"Fecha GPS\";'),('es','messages:exif-gpsdifferential','s:30:\"Corrección diferencial de GPS\";'),('es','messages:exif-jpegfilecomment','s:26:\"Comentario de archivo JPEG\";'),('es','messages:exif-keywords','s:14:\"Palabras clave\";'),('es','messages:exif-worldregioncreated','s:46:\"Región del mundo en la que se tomó la imagen\";'),('es','messages:exif-countrycreated','s:34:\"País en el que se tomó la imagen\";'),('es','messages:exif-countrycodecreated','s:52:\"Código para el país en el que la imagen fue tomada\";'),('es','messages:exif-provinceorstatecreated','s:49:\"Provincia o estado en el que la imagen fue tomada\";'),('es','messages:exif-citycreated','s:35:\"Ciudad en la que se tomó la imagen\";'),('es','messages:exif-sublocationcreated','s:49:\"Región de la ciudad en la que la foto fue tomada\";'),('es','messages:exif-worldregiondest','s:26:\"Región del mundo mostrada\";'),('es','messages:exif-countrydest','s:14:\"País mostrado\";'),('es','messages:exif-countrycodedest','s:25:\"Código de país mostrado\";'),('es','messages:exif-provinceorstatedest','s:27:\"Provincia o estado mostrado\";'),('es','messages:exif-citydest','s:15:\"Ciudad mostrada\";'),('es','messages:exif-sublocationdest','s:29:\"Región de la ciudad mostrada\";'),('es','messages:exif-objectname','s:13:\"Título breve\";'),('es','messages:exif-specialinstructions','s:24:\"Instrucciones especiales\";'),('es','messages:exif-headline','s:10:\"Encabezado\";'),('es','messages:exif-credit','s:18:\"Crédito/proveedor\";'),('es','messages:exif-source','s:6:\"Fuente\";'),('es','messages:exif-editstatus','s:29:\"Estado editorial de la imagen\";'),('es','messages:exif-urgency','s:8:\"Urgencia\";'),('es','messages:exif-fixtureidentifier','s:26:\"Nome del elemento habitual\";'),('es','messages:exif-locationdest','s:19:\"Ubicación mostrada\";'),('es','messages:exif-locationdestcode','s:33:\"Código de la ubicación mostrada\";'),('es','messages:exif-objectcycle','s:55:\"Hora del día para la cual está destinado este archivo\";'),('es','messages:exif-contact','s:24:\"Información de contacto\";'),('es','messages:exif-writer','s:8:\"Escritor\";'),('es','messages:exif-languagecode','s:6:\"Idioma\";'),('es','messages:exif-iimversion','s:12:\"Versión IIM\";'),('es','messages:exif-iimcategory','s:10:\"Categoría\";'),('es','messages:exif-iimsupplementalcategory','s:26:\"Categorías suplementarias\";'),('es','messages:exif-datetimeexpires','s:19:\"No usar después de\";'),('es','messages:exif-datetimereleased','s:10:\"Lanzado el\";'),('es','messages:exif-originaltransmissionref','s:46:\"Código de ubicación de transmisión original\";'),('es','messages:exif-identifier','s:13:\"Identificador\";'),('es','messages:exif-lens','s:15:\"Lente utilizada\";'),('es','messages:exif-serialnumber','s:30:\"Número de serie de la cámara\";'),('es','messages:exif-cameraownername','s:25:\"Propietario de la cámara\";'),('es','messages:exif-label','s:8:\"Etiqueta\";'),('es','messages:exif-datetimemetadata','s:65:\"Fecha en la cual fueron modificados por última vez los metadatos\";'),('es','messages:exif-nickname','s:28:\"Nombre informal de la imagen\";'),('es','messages:exif-rating','s:21:\"Valoración (sobre 5)\";'),('es','messages:exif-rightscertificate','s:35:\"Certificado de gestión de derechos\";'),('es','messages:exif-copyrighted','s:19:\"Estado de copyright\";'),('es','messages:exif-copyrightowner','s:21:\"Titular del copyright\";'),('es','messages:exif-usageterms','s:16:\"Términos de uso\";'),('es','messages:exif-webstatement','s:43:\"Declaración de derechos de autor en línea\";'),('es','messages:exif-originaldocumentid','s:33:\"Id. único del documento original\";'),('es','messages:exif-licenseurl','s:33:\"URL para la licencia de copyright\";'),('es','messages:exif-morepermissionsurl','s:36:\"Información de licencia alternativa\";'),('es','messages:exif-attributionurl','s:50:\"Cuando reutilices este trabajo, por favor enlaza a\";'),('es','messages:exif-preferredattributionname','s:56:\"Al volver a utilizar este trabajo, por favor da crédito\";'),('es','messages:exif-pngfilecomment','s:25:\"Comentario de archivo PNG\";'),('es','messages:exif-disclaimer','s:11:\"Aviso legal\";'),('es','messages:exif-contentwarning','s:24:\"Advertencia de contenido\";'),('es','messages:exif-giffilecomment','s:25:\"Comentario de archivo GIF\";'),('es','messages:exif-intellectualgenre','s:16:\"Tipo de elemento\";'),('es','messages:exif-subjectnewscode','s:17:\"Código de asunto\";'),('es','messages:exif-scenecode','s:22:\"Código de escena IPTC\";'),('es','messages:exif-event','s:19:\"Evento representado\";'),('es','messages:exif-organisationinimage','s:26:\"Organización representada\";'),('es','messages:exif-personinimage','s:20:\"Persona representada\";'),('es','messages:exif-originalimageheight','s:48:\"Altura de la imagen antes de que fuera recortada\";'),('es','messages:exif-originalimagewidth','s:47:\"Ancho de la imagen antes de que fuera recortada\";'),('es','messages:exif-compression-1','s:13:\"Sin comprimir\";'),('es','messages:exif-compression-2','s:64:\"CCITT Group 3 1-Dimensional Modified Huffman run length encoding\";'),('es','messages:exif-compression-3','s:34:\"Codificación de fax CCITT grupo 3\";'),('es','messages:exif-compression-4','s:34:\"Codificación de fax CCITT grupo 4\";'),('es','messages:exif-copyrighted-true','s:11:\"Copyrighted\";'),('es','messages:exif-copyrighted-false','s:16:\"Dominio público\";'),('es','messages:exif-unknowndate','s:17:\"Fecha desconocida\";'),('es','messages:exif-orientation-1','s:6:\"Normal\";'),('es','messages:exif-orientation-2','s:24:\"Volteada horizontalmente\";'),('es','messages:exif-orientation-3','s:12:\"Rotada 180°\";'),('es','messages:exif-orientation-4','s:22:\"Volteada verticalmente\";'),('es','messages:exif-orientation-5','s:40:\"Rotada 90° CCW y volteada verticalmente\";'),('es','messages:exif-orientation-6','s:26:\"Rotada 90° a la izquierda\";'),('es','messages:exif-orientation-7','s:39:\"Rotada 90° CW y volteada verticalmente\";'),('es','messages:exif-orientation-8','s:24:\"Rotada 90° a la derecha\";'),('es','messages:exif-planarconfiguration-1','s:19:\"formato panorámico\";'),('es','messages:exif-planarconfiguration-2','s:13:\"formato plano\";'),('es','messages:exif-colorspace-65535','s:12:\"Sin calibrar\";'),('es','messages:exif-componentsconfiguration-0','s:9:\"no existe\";'),('es','messages:exif-exposureprogram-0','s:11:\"No definido\";'),('es','messages:exif-exposureprogram-1','s:6:\"Manual\";'),('es','messages:exif-exposureprogram-2','s:15:\"Programa normal\";'),('es','messages:exif-exposureprogram-3','s:21:\"Prioridad de apertura\";'),('es','messages:exif-exposureprogram-4','s:22:\"Prioridad de obturador\";'),('es','messages:exif-exposureprogram-5','s:59:\"Programa creativo (con prioridad a la profundidad de campo)\";'),('es','messages:exif-exposureprogram-6','s:49:\"Programa de acción (alta velocidad de obturador)\";'),('es','messages:exif-exposureprogram-7','s:60:\"Modo retrato (para primeros planos con el fondo desenfocado)\";'),('es','messages:exif-exposureprogram-8','s:61:\"Modo panorama (para fotos panorámicas con el fondo enfocado)\";'),('es','messages:exif-subjectdistance-value','s:9:\"$1 metros\";'),('es','messages:exif-meteringmode-0','s:11:\"Desconocido\";'),('es','messages:exif-meteringmode-1','s:5:\"Media\";'),('es','messages:exif-meteringmode-2','s:17:\"Promedio centrado\";'),('es','messages:exif-meteringmode-3','s:7:\"Puntual\";'),('es','messages:exif-meteringmode-4','s:10:\"Multipunto\";'),('es','messages:exif-meteringmode-5','s:7:\"Patrón\";'),('es','messages:exif-meteringmode-6','s:7:\"Parcial\";'),('es','messages:exif-meteringmode-255','s:4:\"Otro\";'),('es','messages:exif-lightsource-0','s:11:\"Desconocido\";'),('es','messages:exif-lightsource-1','s:10:\"Luz diurna\";'),('es','messages:exif-lightsource-2','s:12:\"Fluorescente\";'),('es','messages:exif-lightsource-3','s:29:\"Tungsteno (luz incandescente)\";'),('es','messages:exif-lightsource-4','s:5:\"Flash\";'),('es','messages:exif-lightsource-9','s:11:\"Buen tiempo\";'),('es','messages:exif-lightsource-10','s:14:\"Tiempo nublado\";'),('es','messages:exif-lightsource-11','s:8:\"Penumbra\";'),('es','messages:exif-lightsource-12','s:45:\"Fluorescente de luz diurna (D 5700 – 7100K)\";'),('es','messages:exif-lightsource-13','s:47:\"Fluorescente de día soleado (N 4600 – 5400K)\";'),('es','messages:exif-lightsource-14','s:44:\"Fluorescente blanco frío (W 3900 – 4500K)\";'),('es','messages:exif-lightsource-15','s:39:\"Fluroescente blanco (WW 3200 – 3700K)\";'),('es','messages:exif-lightsource-17','s:15:\"Luz estándar A\";'),('es','messages:exif-lightsource-18','s:15:\"Luz estándar B\";'),('es','messages:exif-lightsource-19','s:15:\"Luz estándar C\";'),('es','messages:exif-lightsource-24','s:24:\"Tungsteno de estudio ISO\";'),('es','messages:exif-lightsource-255','s:18:\"Otra fuente de luz\";'),('es','messages:exif-flash-fired-0','s:23:\"No se disparó el flash\";'),('es','messages:exif-flash-fired-1','s:15:\"Flash disparado\";'),('es','messages:exif-flash-return-0','s:67:\"no hay función de detección del retorno de la luz estroboscópica\";'),('es','messages:exif-flash-return-2','s:45:\"no se detectó retorno de luz estroboscópica\";'),('es','messages:exif-flash-return-3','s:40:\"detectado retorno de luz estroboscópica\";'),('es','messages:exif-flash-mode-1','s:24:\"disparo de flash forzado\";'),('es','messages:exif-flash-mode-2','s:24:\"disparo de flash anulado\";'),('es','messages:exif-flash-mode-3','s:16:\"modo automático\";'),('es','messages:exif-flash-function-1','s:14:\"Modo sin flash\";'),('es','messages:exif-flash-redeye-1','s:32:\"modo de reducción de ojos rojos\";'),('es','messages:exif-focalplaneresolutionunit-2','s:8:\"pulgadas\";'),('es','messages:exif-sensingmethod-1','s:11:\"No definido\";'),('es','messages:exif-sensingmethod-2','s:35:\"Sensor de área de color de un chip\";'),('es','messages:exif-sensingmethod-3','s:37:\"Sensor de área de color de dos chips\";'),('es','messages:exif-sensingmethod-4','s:38:\"Sensor de área de color de tres chips\";'),('es','messages:exif-sensingmethod-5','s:35:\"Sensor de área secuencial de color\";'),('es','messages:exif-sensingmethod-7','s:16:\"Sensor trilineal\";'),('es','messages:exif-sensingmethod-8','s:33:\"Sensor lineal secuencial de color\";'),('es','messages:exif-filesource-3','s:15:\"Cámara digital\";'),('es','messages:exif-scenetype-1','s:36:\"Una imagen directamente fotografiada\";'),('es','messages:exif-customrendered-0','s:14:\"Proceso normal\";'),('es','messages:exif-customrendered-1','s:21:\"Proceso personalizado\";'),('es','messages:exif-exposuremode-0','s:23:\"Exposición automática\";'),('es','messages:exif-exposuremode-1','s:18:\"Exposición manual\";'),('es','messages:exif-exposuremode-2','s:12:\"Auto bracket\";'),('es','messages:exif-whitebalance-0','s:29:\"Balance de blanco automático\";'),('es','messages:exif-whitebalance-1','s:24:\"Balance de blanco manual\";'),('es','messages:exif-scenecapturetype-0','s:9:\"Estándar\";'),('es','messages:exif-scenecapturetype-1','s:7:\"Paisaje\";'),('es','messages:exif-scenecapturetype-2','s:7:\"Retrato\";'),('es','messages:exif-scenecapturetype-3','s:15:\"Escena nocturna\";'),('es','messages:exif-gaincontrol-0','s:7:\"Ninguna\";'),('es','messages:exif-gaincontrol-1','s:24:\"Bajo aumento de ganancia\";'),('es','messages:exif-gaincontrol-2','s:24:\"Alto aumento de ganancia\";'),('es','messages:exif-gaincontrol-3','s:29:\"Baja disminución de ganancia\";'),('es','messages:exif-gaincontrol-4','s:29:\"Alta disminución de ganancia\";'),('es','messages:exif-contrast-0','s:6:\"Normal\";'),('es','messages:exif-contrast-1','s:5:\"Suave\";'),('es','messages:exif-contrast-2','s:4:\"Duro\";'),('es','messages:exif-saturation-0','s:6:\"Normal\";'),('es','messages:exif-saturation-1','s:16:\"Baja saturación\";'),('es','messages:exif-saturation-2','s:16:\"Alta saturación\";'),('es','messages:exif-sharpness-0','s:6:\"Normal\";'),('es','messages:exif-sharpness-1','s:5:\"Suave\";'),('es','messages:exif-sharpness-2','s:4:\"Dura\";'),('es','messages:exif-subjectdistancerange-0','s:11:\"Desconocida\";'),('es','messages:exif-subjectdistancerange-1','s:5:\"Macro\";'),('es','messages:exif-subjectdistancerange-2','s:13:\"Vista cercana\";'),('es','messages:exif-subjectdistancerange-3','s:12:\"Vista lejana\";'),('es','messages:exif-gpslatitude-n','s:13:\"Latitud norte\";'),('es','messages:exif-gpslatitude-s','s:11:\"Latitud sur\";'),('es','messages:exif-gpslongitude-e','s:13:\"Longitud este\";'),('es','messages:exif-gpslongitude-w','s:14:\"Longitud oeste\";'),('es','messages:exif-gpsaltitude-above-sealevel','s:52:\"$1 {{PLURAL:$1|metro|metros}} sobre el nivel del mar\";'),('es','messages:exif-gpsaltitude-below-sealevel','s:51:\"$1 {{PLURAL:$1|metro|metros}} bajo el nivel del mar\";'),('es','messages:exif-gpsstatus-a','s:18:\"Medida en progreso\";'),('es','messages:exif-gpsstatus-v','s:27:\"Interoperabilidad de medida\";'),('es','messages:exif-gpsmeasuremode-2','s:23:\"Medición bidimensional\";'),('es','messages:exif-gpsmeasuremode-3','s:24:\"Medición tridimensional\";'),('es','messages:exif-gpsspeed-k','s:20:\"Kilómetros por hora\";'),('es','messages:exif-gpsspeed-m','s:15:\"Millas por hora\";'),('es','messages:exif-gpsspeed-n','s:5:\"Nudos\";'),('es','messages:exif-gpsdestdistance-k','s:11:\"Kilómetros\";'),('es','messages:exif-gpsdestdistance-m','s:6:\"Millas\";'),('es','messages:exif-gpsdestdistance-n','s:16:\"Millas náuticas\";'),('es','messages:exif-gpsdop-excellent','s:14:\"Excelente ($1)\";'),('es','messages:exif-gpsdop-good','s:12:\"Bueno ( $1 )\";'),('es','messages:exif-gpsdop-moderate','s:13:\"Moderado ($1)\";'),('es','messages:exif-gpsdop-fair','s:12:\"Pasable ($1)\";'),('es','messages:exif-gpsdop-poor','s:12:\"Pobre ( $1 )\";'),('es','messages:exif-objectcycle-a','s:20:\"Sólo por la mañana\";'),('es','messages:exif-objectcycle-p','s:22:\"Sólo por el atardecer\";'),('es','messages:exif-objectcycle-b','s:35:\"Tanto por la mañana y por la tarde\";'),('es','messages:exif-gpsdirection-t','s:15:\"Dirección real\";'),('es','messages:exif-gpsdirection-m','s:21:\"Dirección magnética\";'),('es','messages:exif-ycbcrpositioning-1','s:8:\"Centrado\";'),('es','messages:exif-ycbcrpositioning-2','s:14:\"Co-localizados\";'),('es','messages:exif-dc-contributor','s:13:\"Colaboradores\";'),('es','messages:exif-dc-coverage','s:37:\"Ámbito espacial o temporal del medio\";'),('es','messages:exif-dc-date','s:8:\"Fecha(s)\";'),('es','messages:exif-dc-publisher','s:9:\"Editorial\";'),('es','messages:exif-dc-relation','s:19:\"Medios relacionados\";'),('es','messages:exif-dc-rights','s:8:\"Derechos\";'),('es','messages:exif-dc-source','s:16:\"Medios de origen\";'),('es','messages:exif-dc-type','s:13:\"Tipo de medio\";'),('es','messages:exif-rating-rejected','s:9:\"Rechazado\";'),('es','messages:exif-isospeedratings-overflow','s:13:\"Más de 65535\";'),('es','messages:exif-iimcategory-ace','s:31:\"Arte, cultura y entretenimiento\";'),('es','messages:exif-iimcategory-clj','s:12:\"Crimen y ley\";'),('es','messages:exif-iimcategory-dis','s:22:\"Desastres y accidentes\";'),('es','messages:exif-iimcategory-fin','s:20:\"Economía y negocios\";'),('es','messages:exif-iimcategory-edu','s:10:\"Educación\";'),('es','messages:exif-iimcategory-evn','s:14:\"Medio ambiente\";'),('es','messages:exif-iimcategory-hth','s:5:\"Salud\";'),('es','messages:exif-iimcategory-hum','s:15:\"Interés humano\";'),('es','messages:exif-iimcategory-lab','s:7:\"Trabajo\";'),('es','messages:exif-iimcategory-lif','s:21:\"Estilo de vida y ocio\";'),('es','messages:exif-iimcategory-pol','s:9:\"Política\";'),('es','messages:exif-iimcategory-rel','s:21:\"Religión y creencias\";'),('es','messages:exif-iimcategory-sci','s:21:\"Ciencia y tecnología\";'),('es','messages:exif-iimcategory-soi','s:19:\"Cuestiones sociales\";'),('es','messages:exif-iimcategory-spo','s:8:\"Deportes\";'),('es','messages:exif-iimcategory-war','s:31:\"Guerra, conflictos y disturbios\";'),('es','messages:exif-iimcategory-wea','s:5:\"Clima\";'),('es','messages:exif-urgency-normal','s:11:\"Normal ($1)\";'),('es','messages:exif-urgency-low','s:9:\"Bajo ($1)\";'),('es','messages:exif-urgency-high','s:9:\"Alto ($1)\";'),('es','messages:exif-urgency-other','s:38:\"Prioridad definida por el usuario ($1)\";'),('es','messages:edit-externally','s:50:\"Editar este archivo usando una aplicación externa\";'),('es','messages:edit-externally-help','s:128:\"(Lee las [//www.mediawiki.org/wiki/Manual:External_editors instrucciones de configuración] -en inglés- para más información)\";'),('es','messages:watchlistall2','s:5:\"todos\";'),('es','messages:namespacesall','s:5:\"todos\";'),('es','messages:monthsall','s:5:\"todos\";'),('es','messages:limitall','s:5:\"Todos\";'),('es','messages:confirmemail','s:43:\"Confirmar dirección de correo electrónico\";'),('es','messages:confirmemail_noemail','s:111:\"No tienes una dirección de correo electrónico válida en tus [[Special:Preferences|preferencias de usuario]].\";'),('es','messages:confirmemail_text','s:238:\"{{SITENAME}} requiere la validación de tu dirección de correo antes de usarlo. Pulsa el botón de abajo para enviar la confirmación.\nEl correo incluirá un enlace con un código. Introdúcelo para confirmar la validez de tu dirección.\";'),('es','messages:confirmemail_pending','s:188:\"Ya se te ha enviado un código de confirmación; si creaste una cuenta recientemente, puede que tengas que esperar unos minutos para que te llegue antes de intentar pedir un nuevo código.\";'),('es','messages:confirmemail_send','s:35:\"Envíar el código de confimación.\";'),('es','messages:confirmemail_sent','s:32:\"Confirmación de correo enviada.\";'),('es','messages:confirmemail_oncreate','s:225:\"Se ha enviado un código de confirmación a tu dirección de correo electrónico.\nEste código no es necesario para entrar, pero necesitarás darlo antes de activar cualquier función basada en correo electrónico en el wiki.\";'),('es','messages:confirmemail_sendfailed','s:143:\"No fue posible enviar el correo de confirmación. Por favor, comprueba la validez de la dirección de correo.\n\nEl servidor indicó el error: $1\";'),('es','messages:confirmemail_invalid','s:68:\"Código de confirmación incorrecto. El código debe haber expirado.\";'),('es','messages:confirmemail_needlogin','s:55:\"Necesitas $1 para confirmar tu dirección electrónica.\";'),('es','messages:confirmemail_success','s:115:\"Su dirección de correo ha sido confirmada\nAhora puedes [[Special:UserLogin|identificarte]] y colaborar en el wiki.\";'),('es','messages:confirmemail_loggedin','s:56:\"Tu dirección de correo electrónico ha sido confirmada.\";'),('es','messages:confirmemail_error','s:44:\"Algo salió mal al guardar su confirmación.\";'),('es','messages:confirmemail_subject','s:56:\"confirmación de la dirección de correo de {{SITENAME}}\";'),('es','messages:confirmemail_body','s:418:\"Alguien, probablemente usted mismo, ha registrado desde la dirección IP $1 la cuenta \"$2\" en {{SITENAME}}, utilizando esta dirección de correo.\n\nPara confirmar que esta cuenta realmente le pertenece y activar el correo en {{SITENAME}}, siga este enlace:\n\n$3\n\nSi la cuenta *no* es suya, siga este otro enlace para cancelar la confirmación de la dirección de correo:\n\n$5\n\nEl código de confirmación expirará en $4.\";'),('es','messages:confirmemail_body_changed','s:461:\"Alguien, probablemente tú,\nha modificado la dirección de correo electrónico asociado a la cuenta \"$2\" hacia esta en {{SITENAME}}, desde la dirección IP $1.\n\nPara confirmar que esta cuenta realmente te pertenece y reactivar las funciones de correo electrónico en {{SITENAME}}, abre este enlace en su navegador:\n\n$3\n\nSi la cuenta *no* te pertenece, sigue el siguiente enlace para cancelar la confirmación:\n\n$5\n\nEste código de confirmación expirará el $4.\";'),('es','messages:confirmemail_body_set','s:486:\"Alguien, probablemente tu desde la dirección IP $1,\nha cambiado la dirección de correo electrónico de la cuenta $2 a esta dirección en {{SITENAME}}.\n\nPara confirmar que esta cuenta realmente te pertenece y reactivar las capacidades del correo electrónico en {{SITENAME}}, abre este enlace en tu navegador:\n\n$3\n\nSi la cuenta *no* te pertenece sigue entonces este otro enlace para cancelar la confirmación del correo electrónico:\n\n$5\n\nEste código de confirmación caducará el $4.\";'),('es','messages:confirmemail_invalidated','s:74:\"La confirmación de la dirección de correo electrónico ha sido cancelada\";'),('es','messages:invalidateemail','s:45:\"Cancelar confirmación de correo electrónico\";'),('es','messages:scarytranscludedisabled','s:45:\"[Transclusión interwiki está deshabilitada]\";'),('es','messages:scarytranscludefailed','s:40:\"[Obtención de plantilla falló para $1]\";'),('es','messages:scarytranscludetoolong','s:27:\"[El URL es demasiado largo]\";'),('es','messages:trackbackbox','s:44:\"\'\'Trackbacks\'\' para este artículo:<br />\n$1\";'),('es','messages:trackbackremove','s:13:\"([$1 Borrar])\";'),('es','messages:trackbacklink','s:13:\"\'\'Trackback\'\'\";'),('es','messages:trackbackdeleteok','s:37:\"El trackback se borró correctamente.\";'),('es','messages:deletedwhileediting','s:80:\"\'\'\'Aviso\'\'\': ¡Esta página fue borrada después de que usted empezara a editar!\";'),('es','messages:confirmrecreate','s:214:\"El usuario [[User:$1|$1]] ([[User talk:$1|discusión]]) borró este artículo después de que tú empezaces a editarlo y dio esta razón: \'\'$2\'\' Por favor, confirma que realmente deseas crear de nuevo el artículo.\";'),('es','messages:confirmrecreate-noreason','s:177:\"El usuario [[User:$1|$1]] ([[User talk:$1|discusión]]) borró esta página después de que comenzaras a editarla. Por favor confirma que realmente quieres recrear esta página.\";'),('es','messages:recreate','s:14:\"Crear de nuevo\";'),('es','messages:confirm_purge_button','s:7:\"Aceptar\";'),('es','messages:confirm-purge-top','s:36:\"¿Limpiar la caché de esta página?\";'),('es','messages:confirm-purge-bottom','s:84:\"Purgar una página limpia la caché y fuerza a que aparezca la versión más actual.\";'),('es','messages:confirm-watch-button','s:7:\"Aceptar\";'),('es','messages:confirm-watch-top','s:49:\"¿Añadir esta página a tu lista de seguimiento?\";'),('es','messages:confirm-unwatch-button','s:7:\"Aceptar\";'),('es','messages:confirm-unwatch-top','s:49:\"¿Quitar esta página de tu lista de seguimiento?\";'),('es','messages:comma-separator','s:6:\",&#32;\";'),('es','messages:imgmultipageprev','s:20:\"← página anterior\";'),('es','messages:imgmultipagenext','s:21:\"siguiente página →\";'),('es','messages:imgmultigo','s:5:\"¡Ir!\";'),('es','messages:imgmultigoto','s:18:\"Ir a la página $1\";'),('es','messages:ascending_abbrev','s:3:\"asc\";'),('es','messages:descending_abbrev','s:4:\"desc\";'),('es','messages:table_pager_next','s:17:\"Página siguiente\";'),('es','messages:table_pager_prev','s:16:\"Página anterior\";'),('es','messages:table_pager_first','s:15:\"Primera página\";'),('es','messages:table_pager_last','s:15:\"Última página\";'),('es','messages:table_pager_limit','s:32:\"Mostrar $1 elementos por página\";'),('es','messages:table_pager_limit_label','s:18:\"Items por página:\";'),('es','messages:table_pager_limit_submit','s:2:\"Ir\";'),('es','messages:table_pager_empty','s:17:\"No hay resultados\";'),('es','messages:autosumm-blank','s:18:\"Página blanqueada\";'),('es','messages:autosumm-replace','s:30:\"Página reemplazada por «$1»\";'),('es','messages:autoredircomment','s:27:\"Página redirigida a [[$1]]\";'),('es','messages:autosumm-new','s:25:\"Página creada con «$1»\";'),('es','messages:livepreview-loading','s:11:\"Cargando…\";'),('es','messages:livepreview-ready','s:20:\"Cargando… ¡Listo!\";'),('es','messages:livepreview-failed','s:75:\"¡La previsualización al vuelo falló!\nPrueba la previsualización normal.\";'),('es','messages:livepreview-error','s:75:\"No se pudo conectar:  $1  «$2».\nIntenta usar la previsualización normal.\";'),('es','messages:lag-warn-normal','s:120:\"Los cambios realizados en {{PLURAL:$1|el último segundo|los últimos $1 segundos}} podrían no mostrarse en esta lista.\";'),('es','messages:lag-warn-high','s:177:\"Debido a una alta latencia el servidor de base de datos, los cambios realizados en {{PLURAL:$1|el último segundo|los últimos $1 segundos}} podrían no mostrarse en esta lista.\";'),('es','messages:watchlistedit-numitems','s:108:\"Tu lista de seguimiento tiene {{PLURAL:$1|una página |$1 páginas}}, excluyendo las páginas de discusión.\";'),('es','messages:watchlistedit-noitems','s:37:\"Tu lista de seguimiento está vacía.\";'),('es','messages:watchlistedit-normal-title','s:27:\"Editar lista de seguimiento\";'),('es','messages:watchlistedit-normal-legend','s:42:\"Borrar títulos de la lista de seguimiento\";'),('es','messages:watchlistedit-normal-explain','s:241:\"A continuación se listan las páginas en tu lista de seguimiento.\nPara quitar un título, marca la casilla junto a él, y pulsa «{{int:Watchlistedit-normal-submit}}».\nTambién puedes [[Special:EditWatchlist/raw|editar la lista en crudo]].\";'),('es','messages:watchlistedit-normal-submit','s:15:\"Borrar páginas\";'),('es','messages:watchlistedit-normal-done','s:97:\"{{PLURAL:$1|1 página ha sido borrada|$1 páginas han sido borradas}} de tu lista de seguimiento:\";'),('es','messages:watchlistedit-raw-title','s:36:\"Editar lista de seguimiento en crudo\";'),('es','messages:watchlistedit-raw-legend','s:44:\"Editar tu lista de seguimiento en modo texto\";'),('es','messages:watchlistedit-raw-explain','s:287:\"A continuación se listan las páginas en tu lista de seguimiento. Esta lista puede editarse añadiendo o eliminando líneas de la lista;\nun título por línea.\nCuando acabes, pulsa «{{int:Watchlistedit-raw-submit}}».\nTambién puedes [[Special:EditWatchlist|usar el editor estándar]].\";'),('es','messages:watchlistedit-raw-titles','s:9:\"Páginas:\";'),('es','messages:watchlistedit-raw-submit','s:31:\"Actualizar lista de seguimiento\";'),('es','messages:watchlistedit-raw-done','s:42:\"Tu lista de seguimiento se ha actualizado.\";'),('es','messages:watchlistedit-raw-added','s:69:\"{{PLURAL:$1|Se ha añadido una página|Se han añadido $1 páginas}}:\";'),('es','messages:watchlistedit-raw-removed','s:72:\"{{PLURAL:$1|Una página ha sido borrada|$1 páginas han sido borradas}}:\";'),('es','messages:watchlisttools-view','s:11:\"Ver cambios\";'),('es','messages:watchlisttools-edit','s:36:\"Ver y editar tu lista de seguimiento\";'),('es','messages:watchlisttools-raw','s:36:\"Editar lista de seguimiento en crudo\";'),('es','messages:unknown_extension_tag','s:27:\"Etiqueta desconocida «$1»\";'),('es','messages:duplicate-defaultsort','s:111:\"\'\'\'Atención:\'\'\' La clave de ordenamiento predeterminada «$2» anula la clave de ordenamiento anterior «$1».\";'),('es','messages:version','s:8:\"Versión\";'),('es','messages:version-extensions','s:22:\"Extensiones instaladas\";'),('es','messages:version-specialpages','s:19:\"Páginas especiales\";'),('es','messages:version-parserhooks','s:38:\"Extensiones del analizador sintáctico\";'),('es','messages:version-variables','s:9:\"Variables\";'),('es','messages:version-antispam','s:19:\"Prevención de spam\";'),('es','messages:version-skins','s:6:\"Pieles\";'),('es','messages:version-other','s:4:\"Otro\";'),('es','messages:version-mediahandlers','s:22:\"Manejadores multimedia\";'),('es','messages:version-hooks','s:11:\"Extensiones\";'),('es','messages:version-extension-functions','s:24:\"Funciones de extensiones\";'),('es','messages:version-parser-extensiontags','s:37:\"Etiquetas de extensiones sintácticas\";'),('es','messages:version-parser-function-hooks','s:37:\"Extensiones de funciones sintácticas\";'),('es','messages:version-hook-name','s:23:\"Nombre de la extensión\";'),('es','messages:version-hook-subscribedby','s:12:\"Suscrito por\";'),('es','messages:version-version','s:13:\"(Versión $1)\";'),('es','messages:version-license','s:8:\"Licencia\";'),('es','messages:version-poweredby-credits','s:93:\"Este wiki funciona gracias a \'\'\'[//www.mediawiki.org/ MediaWiki]\'\'\', copyright © 2001-$1 $2.\";'),('es','messages:version-poweredby-others','s:5:\"otros\";'),('es','messages:version-license-info','s:835:\"MediaWiki es software libre; puedes redistribuírlo y/o modificarlo bajo los términos de la Licencia General Pública GNU publicada por la Fundación del Software Libre; ya sea la versión 2 de la licencia, o (a tu elección) cualquier versión posterior.\n\nMediaWiki es distribuído con la esperanza de que será útil, pero SIN NINGUNA GARANTÍA; ni siquiera con la garantía implícita de COMERCIALIZACIÓN ó ADAPTACIÓN A UN PROPÓSITO PARTICULAR. Véase la Licencia Pública General GNU para mayores detalles.\n\nHas recibido [{{SERVER}}{{SCRIPTPATH}}/COPYING una copia de la Licencia Pública General GNU] junto a este programa; si no es así, escríbale a la Fundación del Software Libre, Inc., Calle Franklin 51, Quinto Piso, Boston, MA 02110-1301, EE.UU. ó [//www.gnu.org/licenses/old-licenses/gpl-2.0.html léela en línea].\";'),('es','messages:version-software','s:18:\"Software instalado\";'),('es','messages:version-software-product','s:8:\"Producto\";'),('es','messages:version-software-version','s:8:\"Versión\";'),('es','messages:filepath','s:15:\"Ruta de archivo\";'),('es','messages:filepath-page','s:8:\"Archivo:\";'),('es','messages:filepath-submit','s:2:\"Ir\";'),('es','messages:filepath-summary','s:176:\"Esta página devuelve la ruta completa de un archivo.\nLas imágenes se muestran en resolución máxima, otros tipos de archivo se inician directamente con su programa asociado.\";'),('es','messages:fileduplicatesearch','s:32:\"Búsqueda de archivos duplicados\";'),('es','messages:fileduplicatesearch-summary','s:57:\"Búsqueda de archivos duplicados en base a su valor hash.\";'),('es','messages:fileduplicatesearch-legend','s:16:\"Busca duplicados\";'),('es','messages:fileduplicatesearch-filename','s:19:\"Nombre del fichero:\";'),('es','messages:fileduplicatesearch-submit','s:6:\"Buscar\";'),('es','messages:fileduplicatesearch-info','s:53:\"$1 × $2 píxeles<br />Tamaño: $3<br />Tipo MIME: $4\";'),('es','messages:fileduplicatesearch-result-1','s:49:\"El archivo «$1» no tiene duplicados idénticos.\";'),('es','messages:fileduplicatesearch-result-n','s:85:\"El archivo «$1» tiene {{PLURAL:$2|1 duplicado idéntico|$2 duplicados idénticos}}.\";'),('es','messages:fileduplicatesearch-noresults','s:48:\"Ningún archivo con el nombre «$1» encontrado.\";'),('es','messages:specialpages','s:19:\"Páginas especiales\";'),('es','messages:specialpages-note','s:217:\"----\n* Páginas especiales normales\n* <span class=\"mw-specialpagerestricted\">Páginas especiales restringidas.</span>\n* <span class=\"mw-specialpagecached\">Páginas especiales en caché (podrían ser obsoletas).</span>\";'),('es','messages:specialpages-group-maintenance','s:25:\"Reportes de mantenimiento\";'),('es','messages:specialpages-group-other','s:25:\"Otras páginas especiales\";'),('es','messages:specialpages-group-login','s:29:\"Iniciar sesión / Registrarse\";'),('es','messages:specialpages-group-changes','s:29:\"Cambios recientes y registros\";'),('es','messages:specialpages-group-media','s:23:\"Páginas sobre archivos\";'),('es','messages:specialpages-group-users','s:19:\"Usuarios y permisos\";'),('es','messages:specialpages-group-highuse','s:19:\"Páginas sobre usos\";'),('es','messages:specialpages-group-pages','s:18:\"Listas de páginas\";'),('es','messages:specialpages-group-pagetools','s:24:\"Herramientas de páginas\";'),('es','messages:specialpages-group-wiki','s:29:\"Herramientas y datos del wiki\";'),('es','messages:specialpages-group-redirects','s:26:\"Búsquedas y redirecciones\";'),('es','messages:specialpages-group-spam','s:22:\"Herramientas anti-SPAM\";'),('es','messages:blankpage','s:14:\"Página vacía\";'),('es','messages:intentionallyblankpage','s:51:\"Esta pagina está en blanco de manera intencionada.\";'),('es','messages:external_image_whitelist','s:534:\" #Deja esta línea exactamente como está<pre>\n#Colocar fragmentos de expresiones regulares (sólo la parte que va entre los //) debajo\n#Estos coincidirán con los URLs de las imágenes externas (hotlinked)\n#Aquellos que coincidan serán mostrados como imágenes, de lo contrario solamente un vínculo a la imagen será mostrada\n#Las líneas que empiezan por «#» se consideran comentarios\n#Esta es insensible a las mayúsculas\n\n#Colocar todos los fragmentos regex arriba de esta línea. Deja esta línea exactamente como está</pre>\";'),('es','messages:tags','s:27:\"Cambio de etiquetas válida\";'),('es','messages:tag-filter','s:37:\"Filtro de [[Special:Tags|etiquetas]]:\";'),('es','messages:tag-filter-submit','s:6:\"Filtro\";'),('es','messages:tags-title','s:9:\"Etiquetas\";'),('es','messages:tags-intro','s:100:\"Esta página lista las etiquetas con las que el software puede marcar una edición y su significado.\";'),('es','messages:tags-tag','s:18:\"Nombre de etiqueta\";'),('es','messages:tags-display-header','s:33:\"Apariencia de la lista de cambios\";'),('es','messages:tags-description-header','s:36:\"Descripción completa de significado\";'),('es','messages:tags-hitcount-header','s:19:\"Cambios etiquetados\";'),('es','messages:tags-edit','s:6:\"editar\";'),('es','messages:tags-hitcount','s:31:\"$1 {{PLURAL:$1|cambio|cambios}}\";'),('es','messages:comparepages','s:17:\"Comparar páginas\";'),('es','messages:compare-selector','s:30:\"Comparar revisiones de página\";'),('es','messages:compare-page1','s:9:\"Página 1\";'),('es','messages:compare-page2','s:9:\"Página 2\";'),('es','messages:compare-rev1','s:11:\"Revisión 1\";'),('es','messages:compare-rev2','s:11:\"Revisión 2\";'),('es','messages:compare-submit','s:8:\"Comparar\";'),('es','messages:dberr-header','s:27:\"Este wiki tiene un problema\";'),('es','messages:dberr-problems','s:68:\"Lo sentimos.\nEste sitio está experimentando dificultades técnicas.\";'),('es','messages:dberr-again','s:41:\"Prueba a recargar dentro de unos minutos.\";'),('es','messages:dberr-info','s:61:\"(No se puede contactar con la base de datos del servidor: $1)\";'),('es','messages:dberr-usegoogle','s:58:\"Mientras tanto puedes probar buscando a través de Google.\";'),('es','messages:dberr-outofdate','s:77:\"Ten en cuenta que su índice de nuestro contenido puede estar desactualizado.\";'),('es','messages:dberr-cachederror','s:92:\"La siguiente es una página guardada de la página solicitada, y puede no estar actualizada.\";'),('es','messages:htmlform-invalid-input','s:55:\"Hay problemas con alguno de los datos que has ingresado\";'),('es','messages:htmlform-select-badoption','s:53:\"El valor que especificaste no es una opción válida.\";'),('es','messages:htmlform-int-invalid','s:43:\"El valor que especificaste no es un entero.\";'),('es','messages:htmlform-float-invalid','s:46:\"El valor que ha especificado no es un número.\";'),('es','messages:htmlform-int-toolow','s:57:\"El valor que especificaste está debajo del mínimo de $1\";'),('es','messages:htmlform-int-toohigh','s:57:\"El valor que especificaste está arriba del máximo de $1\";'),('es','messages:htmlform-required','s:25:\"Este valor es obligatorio\";'),('es','messages:htmlform-submit','s:6:\"Enviar\";'),('es','messages:htmlform-reset','s:16:\"Deshacer cambios\";'),('es','messages:htmlform-selectorother-other','s:4:\"Otro\";'),('es','messages:sqlite-has-fts','s:47:\"$1 con soporte para búsqueda de texto completo\";'),('es','messages:sqlite-no-fts','s:47:\"$1 sin soporte para búsqueda de texto completo\";'),('es','messages:sidebar','s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";'),('es','messages:pagecategorieslink','s:18:\"Special:Categories\";'),('es','messages:linkprefix','s:31:\"/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD\";'),('es','messages:sitetitle','s:12:\"{{SITENAME}}\";'),('es','messages:sitesubtitle','s:0:\"\";'),('es','messages:addsection','s:1:\"+\";'),('es','messages:talkpageheader','s:1:\"-\";'),('es','messages:pagetitle','s:17:\"$1 - {{SITENAME}}\";'),('es','messages:pagetitle-view-mainpage','s:12:\"{{SITENAME}}\";'),('es','messages:newtalkseparator','s:6:\",&#32;\";'),('es','messages:editsection-brackets','s:4:\"[$1]\";'),('es','messages:feed-atom','s:4:\"Atom\";'),('es','messages:feed-rss','s:3:\"RSS\";'),('es','messages:sitenotice','s:1:\"-\";'),('es','messages:anonnotice','s:1:\"-\";'),('es','messages:newsectionheaderdefaultlevel','s:8:\"== $1 ==\";'),('es','messages:mainpage-nstab','s:0:\"\";'),('es','messages:nocookiesforlogin','s:22:\"{{int:nocookieslogin}}\";'),('es','messages:loginstart','s:0:\"\";'),('es','messages:loginend','s:0:\"\";'),('es','messages:loginend-https','s:0:\"\";'),('es','messages:signupstart','s:18:\"{{int:loginstart}}\";'),('es','messages:signupend','s:16:\"{{int:loginend}}\";'),('es','messages:signupend-https','s:0:\"\";'),('es','messages:loginlanguagelinks','s:99:\"* Deutsch|de\n* English|en\n* Esperanto|eo\n* Français|fr\n* Español|es\n* Italiano|it\n* Nederlands|nl\";'),('es','messages:pear-mail-error','s:2:\"$1\";'),('es','messages:php-mail-error','s:2:\"$1\";'),('es','messages:newarticletextanon','s:22:\"{{int:newarticletext}}\";'),('es','messages:talkpagetext','s:31:\"<!-- MediaWiki:talkpagetext -->\";'),('es','messages:noarticletextanon','s:21:\"{{int:noarticletext}}\";'),('es','messages:editpage-tos-summary','s:1:\"-\";'),('es','messages:longpage-hint','s:1:\"-\";'),('es','messages:edittools-upload','s:1:\"-\";'),('es','messages:addsection-preload','s:0:\"\";'),('es','messages:addsection-editintro','s:0:\"\";'),('es','messages:revision-info-current','s:1:\"-\";'),('es','messages:revision-nav','s:65:\"($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)\";'),('es','messages:history_copyright','s:1:\"-\";'),('es','messages:search-summary','s:0:\"\";'),('es','messages:searchmenu-new-nocreate','s:0:\"\";'),('es','messages:searchmenu-help','s:46:\"[[{{MediaWiki:Searchhelp-url}}|{{int:help}}]]?\";'),('es','messages:search-interwiki-custom','s:0:\"\";'),('es','messages:googlesearch','s:630:\"<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n	<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n	<input type=\"hidden\" name=\"num\" value=\"50\" />\n	<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n	<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n	<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n	<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>\";'),('es','messages:opensearch-desc','s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";'),('es','messages:preferences-summary','s:0:\"\";'),('es','messages:prefs-memberingroups-type','s:2:\"$1\";'),('es','messages:prefs-registration-date-time','s:2:\"$1\";'),('es','messages:userrights-summary','s:0:\"\";'),('es','messages:userrights-irreversible-marker','s:3:\"$1*\";'),('es','messages:recentchanges-url','s:21:\"Special:RecentChanges\";'),('es','messages:unpatrolledletter','s:1:\"!\";'),('es','messages:sectionlink','s:3:\"→\";'),('es','messages:number_of_watching_users_RCview','s:4:\"[$1]\";'),('es','messages:rc-change-size','s:2:\"$1\";'),('es','messages:recentchangeslinked-backlink','s:6:\"← $1\";'),('es','messages:upload-summary','s:0:\"\";'),('es','messages:uploadfooter','s:1:\"-\";'),('es','messages:filename-prefix-blacklist','s:432:\" #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical file names assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->\";'),('es','messages:licenses','s:1:\"-\";'),('es','messages:shareddescriptionfollows','s:1:\"-\";'),('es','messages:shared-repo-name-wikimediacommons','s:17:\"Wikimedia Commons\";'),('es','messages:filepage.css','s:101:\"/* CSS placed here is included on the file description page, also included on foreign client wikis */\";'),('es','messages:filerevert-backlink','s:6:\"← $1\";'),('es','messages:filedelete-backlink','s:6:\"← $1\";'),('es','messages:unwatchedpages-summary','s:0:\"\";'),('es','messages:listredirects-summary','s:0:\"\";'),('es','messages:unusedtemplates-summary','s:0:\"\";'),('es','messages:randompage-url','s:14:\"Special:Random\";'),('es','messages:statistics-summary','s:0:\"\";'),('es','messages:statistics-footer','s:0:\"\";'),('es','messages:disambiguations-summary','s:0:\"\";'),('es','messages:doubleredirects-summary','s:0:\"\";'),('es','messages:brokenredirects-summary','s:0:\"\";'),('es','messages:fewestrevisions-summary','s:0:\"\";'),('es','messages:lonelypages-summary','s:0:\"\";'),('es','messages:uncategorizedpages-summary','s:0:\"\";'),('es','messages:uncategorizedcategories-summary','s:0:\"\";'),('es','messages:uncategorizedimages-summary','s:0:\"\";'),('es','messages:uncategorizedtemplates-summary','s:0:\"\";'),('es','messages:popularpages-summary','s:0:\"\";'),('es','messages:wantedcategories-summary','s:0:\"\";'),('es','messages:wantedpages-summary','s:0:\"\";'),('es','messages:wantedfiles-summary','s:0:\"\";'),('es','messages:wantedtemplates-summary','s:0:\"\";'),('es','messages:mostlinked-summary','s:0:\"\";'),('es','messages:mostlinkedcategories-summary','s:0:\"\";'),('es','messages:mostlinkedtemplates-summary','s:0:\"\";'),('es','messages:mostcategories-summary','s:0:\"\";'),('es','messages:mostimages-summary','s:0:\"\";'),('es','messages:mostrevisions-summary','s:0:\"\";'),('es','messages:prefixindex-summary','s:0:\"\";'),('es','messages:shortpages-summary','s:0:\"\";'),('es','messages:longpages-summary','s:0:\"\";'),('es','messages:deadendpages-summary','s:0:\"\";'),('es','messages:protectedpages-summary','s:0:\"\";'),('es','messages:protectedtitles-summary','s:0:\"\";'),('es','messages:listusers-summary','s:0:\"\";'),('es','messages:newpages-summary','s:0:\"\";'),('es','messages:ancientpages-summary','s:0:\"\";'),('es','messages:booksources-summary','s:0:\"\";'),('es','messages:booksources-isbn','s:5:\"ISBN:\";'),('es','messages:rfcurl','s:27:\"//tools.ietf.org/html/rfc$1\";'),('es','messages:pubmedurl','s:46:\"//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract\";'),('es','messages:allpages-summary','s:0:\"\";'),('es','messages:categories-summary','s:0:\"\";'),('es','messages:activeusers-summary','s:0:\"\";'),('es','messages:newuserlogentry','s:0:\"\";'),('es','messages:listgrouprights-right-display','s:61:\"<span class=\"listgrouprights-granted\">$1 <tt>($2)</tt></span>\";'),('es','messages:listgrouprights-right-revoked','s:61:\"<span class=\"listgrouprights-revoked\">$1 <tt>($2)</tt></span>\";'),('es','messages:usermessage-template','s:21:\"MediaWiki:UserMessage\";'),('es','messages:delete-backlink','s:6:\"← $1\";'),('es','messages:protect-backlink','s:6:\"← $1\";'),('es','messages:sp-contributions-explain','s:0:\"\";'),('es','messages:sp-contributions-footer','s:1:\"-\";'),('es','messages:sp-contributions-footer-anon','s:1:\"-\";'),('es','messages:whatlinkshere-summary','s:0:\"\";'),('es','messages:whatlinkshere-backlink','s:6:\"← $1\";'),('es','messages:blocklist-summary','s:0:\"\";'),('es','messages:sorbs','s:5:\"DNSBL\";'),('es','messages:accesskey-pt-userpage','s:1:\".\";'),('es','messages:accesskey-pt-anonuserpage','s:1:\".\";'),('es','messages:accesskey-pt-mytalk','s:1:\"n\";'),('es','messages:accesskey-pt-anontalk','s:1:\"n\";'),('es','messages:accesskey-pt-preferences','s:0:\"\";'),('es','messages:accesskey-pt-watchlist','s:1:\"l\";'),('es','messages:accesskey-pt-mycontris','s:1:\"y\";'),('es','messages:accesskey-pt-login','s:1:\"o\";'),('es','messages:accesskey-pt-anonlogin','s:1:\"o\";'),('es','messages:accesskey-pt-logout','s:0:\"\";'),('es','messages:accesskey-ca-talk','s:1:\"t\";'),('es','messages:accesskey-ca-edit','s:1:\"e\";'),('es','messages:accesskey-ca-addsection','s:1:\"+\";'),('es','messages:accesskey-ca-viewsource','s:1:\"e\";'),('es','messages:accesskey-ca-history','s:1:\"h\";'),('es','messages:accesskey-ca-protect','s:1:\"=\";'),('es','messages:accesskey-ca-unprotect','s:1:\"=\";'),('es','messages:accesskey-ca-delete','s:1:\"d\";'),('es','messages:accesskey-ca-undelete','s:1:\"d\";'),('es','messages:accesskey-ca-move','s:1:\"m\";'),('es','messages:accesskey-ca-watch','s:1:\"w\";'),('es','messages:accesskey-ca-unwatch','s:1:\"w\";'),('es','messages:accesskey-search','s:1:\"f\";'),('es','messages:accesskey-search-go','s:0:\"\";'),('es','messages:accesskey-search-fulltext','s:0:\"\";'),('es','messages:accesskey-p-logo','s:0:\"\";'),('es','messages:accesskey-n-mainpage','s:1:\"z\";'),('es','messages:accesskey-n-mainpage-description','s:1:\"z\";'),('es','messages:accesskey-n-portal','s:0:\"\";'),('es','messages:accesskey-n-currentevents','s:0:\"\";'),('es','messages:accesskey-n-recentchanges','s:1:\"r\";'),('es','messages:accesskey-n-randompage','s:1:\"x\";'),('es','messages:accesskey-n-help','s:0:\"\";'),('es','messages:accesskey-t-whatlinkshere','s:1:\"j\";'),('es','messages:accesskey-t-recentchangeslinked','s:1:\"k\";'),('es','messages:accesskey-feed-rss','s:0:\"\";'),('es','messages:accesskey-feed-atom','s:0:\"\";'),('es','messages:accesskey-t-contributions','s:0:\"\";'),('es','messages:accesskey-t-emailuser','s:0:\"\";'),('es','messages:accesskey-t-permalink','s:0:\"\";'),('es','messages:accesskey-t-print','s:1:\"p\";'),('es','messages:accesskey-t-upload','s:1:\"u\";'),('es','messages:accesskey-t-specialpages','s:1:\"q\";'),('es','messages:accesskey-ca-nstab-main','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-user','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-media','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-special','s:0:\"\";'),('es','messages:accesskey-ca-nstab-project','s:1:\"a\";'),('es','messages:accesskey-ca-nstab-image','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-mediawiki','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-template','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-help','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-category','s:1:\"c\";'),('es','messages:accesskey-minoredit','s:1:\"i\";'),('es','messages:accesskey-save','s:1:\"s\";'),('es','messages:accesskey-preview','s:1:\"p\";'),('es','messages:accesskey-diff','s:1:\"v\";'),('es','messages:accesskey-compareselectedversions','s:1:\"v\";'),('es','messages:accesskey-watch','s:1:\"w\";'),('es','messages:accesskey-upload','s:1:\"s\";'),('es','messages:accesskey-preferences-save','s:1:\"s\";'),('es','messages:accesskey-summary','s:1:\"b\";'),('es','messages:accesskey-userrights-set','s:1:\"s\";'),('es','messages:accesskey-blockip-block','s:1:\"s\";'),('es','messages:accesskey-export','s:1:\"s\";'),('es','messages:accesskey-import','s:1:\"s\";'),('es','messages:noscript.css','s:64:\"/* CSS placed here will affect users with JavaScript disabled */\";'),('es','messages:group-autoconfirmed.css','s:58:\"/* CSS placed here will affect autoconfirmed users only */\";'),('es','messages:group-bot.css','s:43:\"/* CSS placed here will affect bots only */\";'),('es','messages:group-sysop.css','s:45:\"/* CSS placed here will affect sysops only */\";'),('es','messages:group-bureaucrat.css','s:50:\"/* CSS placed here will affect bureaucrats only */\";'),('es','messages:group-autoconfirmed.js','s:69:\"/* Any JavaScript here will be loaded for autoconfirmed users only */\";'),('es','messages:group-bot.js','s:54:\"/* Any JavaScript here will be loaded for bots only */\";'),('es','messages:group-sysop.js','s:56:\"/* Any JavaScript here will be loaded for sysops only */\";'),('es','messages:group-bureaucrat.js','s:61:\"/* Any JavaScript here will be loaded for bureaucrats only */\";'),('es','messages:markaspatrolledlink','s:4:\"[$1]\";'),('es','messages:widthheight','s:8:\"$1 × $2\";'),('es','messages:video-dims','s:12:\"$1, $2 × $3\";'),('es','messages:seconds-abbrev','s:1:\"s\";'),('es','messages:days-abbrev','s:1:\"d\";'),('es','messages:variantname-zh-hans','s:4:\"hans\";'),('es','messages:variantname-zh-hant','s:4:\"hant\";'),('es','messages:variantname-zh-cn','s:2:\"cn\";'),('es','messages:variantname-zh-tw','s:2:\"tw\";'),('es','messages:variantname-zh-hk','s:2:\"hk\";'),('es','messages:variantname-zh-mo','s:2:\"mo\";'),('es','messages:variantname-zh-sg','s:2:\"sg\";'),('es','messages:variantname-zh-my','s:2:\"my\";'),('es','messages:variantname-zh','s:2:\"zh\";'),('es','messages:variantname-gan-hans','s:4:\"hans\";'),('es','messages:variantname-gan-hant','s:4:\"hant\";'),('es','messages:variantname-gan','s:3:\"gan\";'),('es','messages:variantname-sr-ec','s:5:\"sr-ec\";'),('es','messages:variantname-sr-el','s:5:\"sr-el\";'),('es','messages:variantname-sr','s:2:\"sr\";'),('es','messages:variantname-kk-kz','s:5:\"kk-kz\";'),('es','messages:variantname-kk-tr','s:5:\"kk-tr\";'),('es','messages:variantname-kk-cn','s:5:\"kk-cn\";'),('es','messages:variantname-kk-cyrl','s:7:\"kk-cyrl\";'),('es','messages:variantname-kk-latn','s:7:\"kk-latn\";'),('es','messages:variantname-kk-arab','s:7:\"kk-arab\";'),('es','messages:variantname-kk','s:2:\"kk\";'),('es','messages:variantname-ku-arab','s:7:\"ku-Arab\";'),('es','messages:variantname-ku-latn','s:7:\"ku-Latn\";'),('es','messages:variantname-ku','s:2:\"ku\";'),('es','messages:variantname-tg-cyrl','s:7:\"tg-Cyrl\";'),('es','messages:variantname-tg-latn','s:7:\"tg-Latn\";'),('es','messages:variantname-tg','s:2:\"tg\";'),('es','messages:variantname-ike-cans','s:8:\"ike-Cans\";'),('es','messages:variantname-ike-latn','s:8:\"ike-Latn\";'),('es','messages:variantname-iu','s:2:\"iu\";'),('es','messages:metadata-langitem','s:12:\"\'\'\'$2:\'\'\' $1\";'),('es','messages:metadata-langitem-default','s:2:\"$1\";'),('es','messages:exif-fnumber-format','s:4:\"f/$1\";'),('es','messages:exif-focallength-format','s:5:\"$1 mm\";'),('es','messages:exif-coordinate-format','s:19:\"$1° $2′ $3″ $4\";'),('es','messages:exif-make-value','s:2:\"$1\";'),('es','messages:exif-model-value','s:2:\"$1\";'),('es','messages:exif-software-value','s:2:\"$1\";'),('es','messages:exif-software-version-value','s:15:\"$1 (Version $2)\";'),('es','messages:exif-contact-value','s:52:\"$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8\";'),('es','messages:exif-subjectnewscode-value','s:7:\"$2 ($1)\";'),('es','messages:exif-compression-5','s:3:\"LZW\";'),('es','messages:exif-compression-6','s:10:\"JPEG (old)\";'),('es','messages:exif-compression-7','s:4:\"JPEG\";'),('es','messages:exif-compression-8','s:15:\"Deflate (Adobe)\";'),('es','messages:exif-compression-32773','s:24:\"PackBits (Macintosh RLE)\";'),('es','messages:exif-compression-32946','s:15:\"Deflate (PKZIP)\";'),('es','messages:exif-compression-34712','s:8:\"JPEG2000\";'),('es','messages:exif-photometricinterpretation-2','s:3:\"RGB\";'),('es','messages:exif-photometricinterpretation-6','s:5:\"YCbCr\";'),('es','messages:exif-xyresolution-i','s:6:\"$1 dpi\";'),('es','messages:exif-xyresolution-c','s:6:\"$1 dpc\";'),('es','messages:exif-colorspace-1','s:4:\"sRGB\";'),('es','messages:exif-componentsconfiguration-1','s:1:\"Y\";'),('es','messages:exif-componentsconfiguration-2','s:2:\"Cb\";'),('es','messages:exif-componentsconfiguration-3','s:2:\"Cr\";'),('es','messages:exif-componentsconfiguration-4','s:1:\"R\";'),('es','messages:exif-componentsconfiguration-5','s:1:\"G\";'),('es','messages:exif-componentsconfiguration-6','s:1:\"B\";'),('es','messages:exif-lightsource-20','s:3:\"D55\";'),('es','messages:exif-lightsource-21','s:3:\"D65\";'),('es','messages:exif-lightsource-22','s:3:\"D75\";'),('es','messages:exif-lightsource-23','s:3:\"D50\";'),('es','messages:exif-maxaperturevalue-value','s:14:\"$1 APEX (f/$2)\";'),('es','messages:trackback','s:16:\"; $4 $5: [$2 $1]\";'),('es','messages:trackbackexcerpt','s:37:\"; $4 $5: [$2 $1]: <nowiki>$3</nowiki>\";'),('es','messages:unit-pixel','s:2:\"px\";'),('es','messages:semicolon-separator','s:6:\";&#32;\";'),('es','messages:colon-separator','s:6:\":&#32;\";'),('es','messages:autocomment-prefix','s:6:\"-&#32;\";'),('es','messages:pipe-separator','s:11:\"&#32;|&#32;\";'),('es','messages:word-separator','s:5:\"&#32;\";'),('es','messages:ellipsis','s:3:\"...\";'),('es','messages:percent','s:3:\"$1%\";'),('es','messages:parentheses','s:4:\"($1)\";'),('es','messages:autoblock_whitelist','s:406:\"AOL http://webmaster.info.aol.com/proxyinfo.html\n*64.12.96.0/19\n*149.174.160.0/20\n*152.163.240.0/21\n*152.163.248.0/22\n*152.163.252.0/23\n*152.163.96.0/22\n*152.163.100.0/23\n*195.93.32.0/22\n*195.93.48.0/22\n*195.93.64.0/19\n*195.93.96.0/19\n*195.93.16.0/20\n*198.81.0.0/22\n*198.81.16.0/20\n*198.81.8.0/23\n*202.67.64.128/25\n*205.188.192.0/20\n*205.188.208.0/23\n*205.188.112.0/20\n*205.188.146.144/30\n*207.200.112.0/21\";'),('es','messages:size-bytes','s:4:\"$1 B\";'),('es','messages:size-kilobytes','s:5:\"$1 KB\";'),('es','messages:size-megabytes','s:5:\"$1 MB\";'),('es','messages:size-gigabytes','s:5:\"$1 GB\";'),('es','messages:iranian-calendar-m1','s:9:\"Farvardin\";'),('es','messages:iranian-calendar-m2','s:11:\"Ordibehesht\";'),('es','messages:iranian-calendar-m3','s:7:\"Khordad\";'),('es','messages:iranian-calendar-m4','s:3:\"Tir\";'),('es','messages:iranian-calendar-m5','s:6:\"Mordad\";'),('es','messages:iranian-calendar-m6','s:9:\"Shahrivar\";'),('es','messages:iranian-calendar-m7','s:4:\"Mehr\";'),('es','messages:iranian-calendar-m8','s:4:\"Aban\";'),('es','messages:iranian-calendar-m9','s:4:\"Azar\";'),('es','messages:iranian-calendar-m10','s:3:\"Dey\";'),('es','messages:iranian-calendar-m11','s:6:\"Bahman\";'),('es','messages:iranian-calendar-m12','s:6:\"Esfand\";'),('es','messages:hijri-calendar-m1','s:8:\"Muharram\";'),('es','messages:hijri-calendar-m2','s:5:\"Safar\";'),('es','messages:hijri-calendar-m3','s:14:\"Rabi\' al-awwal\";'),('es','messages:hijri-calendar-m4','s:14:\"Rabi\' al-thani\";'),('es','messages:hijri-calendar-m5','s:15:\"Jumada al-awwal\";'),('es','messages:hijri-calendar-m6','s:15:\"Jumada al-thani\";'),('es','messages:hijri-calendar-m7','s:5:\"Rajab\";'),('es','messages:hijri-calendar-m8','s:8:\"Sha\'aban\";'),('es','messages:hijri-calendar-m9','s:7:\"Ramadan\";'),('es','messages:hijri-calendar-m10','s:7:\"Shawwal\";'),('es','messages:hijri-calendar-m11','s:13:\"Dhu al-Qi\'dah\";'),('es','messages:hijri-calendar-m12','s:13:\"Dhu al-Hijjah\";'),('es','messages:hebrew-calendar-m1','s:7:\"Tishrei\";'),('es','messages:hebrew-calendar-m2','s:8:\"Cheshvan\";'),('es','messages:hebrew-calendar-m3','s:6:\"Kislev\";'),('es','messages:hebrew-calendar-m4','s:5:\"Tevet\";'),('es','messages:hebrew-calendar-m5','s:6:\"Shevat\";'),('es','messages:hebrew-calendar-m6','s:4:\"Adar\";'),('es','messages:hebrew-calendar-m6a','s:6:\"Adar I\";'),('es','messages:hebrew-calendar-m6b','s:7:\"Adar II\";'),('es','messages:hebrew-calendar-m7','s:5:\"Nisan\";'),('es','messages:hebrew-calendar-m8','s:4:\"Iyar\";'),('es','messages:hebrew-calendar-m9','s:5:\"Sivan\";'),('es','messages:hebrew-calendar-m10','s:5:\"Tamuz\";'),('es','messages:hebrew-calendar-m11','s:2:\"Av\";'),('es','messages:hebrew-calendar-m12','s:4:\"Elul\";'),('es','messages:hebrew-calendar-m1-gen','s:7:\"Tishrei\";'),('es','messages:hebrew-calendar-m2-gen','s:8:\"Cheshvan\";'),('es','messages:hebrew-calendar-m3-gen','s:6:\"Kislev\";'),('es','messages:hebrew-calendar-m4-gen','s:5:\"Tevet\";'),('es','messages:hebrew-calendar-m5-gen','s:6:\"Shevat\";'),('es','messages:hebrew-calendar-m6-gen','s:4:\"Adar\";'),('es','messages:hebrew-calendar-m6a-gen','s:6:\"Adar I\";'),('es','messages:hebrew-calendar-m6b-gen','s:7:\"Adar II\";'),('es','messages:hebrew-calendar-m7-gen','s:5:\"Nisan\";'),('es','messages:hebrew-calendar-m8-gen','s:4:\"Iyar\";'),('es','messages:hebrew-calendar-m9-gen','s:5:\"Sivan\";'),('es','messages:hebrew-calendar-m10-gen','s:5:\"Tamuz\";'),('es','messages:hebrew-calendar-m11-gen','s:2:\"Av\";'),('es','messages:hebrew-calendar-m12-gen','s:4:\"Elul\";'),('es','messages:signature','s:21:\"[[{{ns:user}}:$1|$2]]\";'),('es','messages:signature-anon','s:36:\"[[{{#special:Contributions}}/$1|$2]]\";'),('es','messages:timezone-utc','s:3:\"UTC\";'),('es','messages:version-api','s:3:\"API\";'),('es','messages:version-svn-revision','s:5:\"(r$2)\";'),('es','messages:specialpages-summary','s:0:\"\";'),('es','rtl','b:0;'),('es','capitalizeAllNouns','b:0;'),('es','digitTransformTable','N;'),('es','separatorTransformTable','a:2:{s:1:\",\";s:1:\".\";s:1:\".\";s:1:\",\";}'),('es','fallback8bitEncoding','s:12:\"windows-1252\";'),('es','linkPrefixExtension','b:0;'),('es','linkTrail','s:31:\"/^([a-záéíóúñ]+)(.*)$/sDu\";'),('es','namespaceAliases','a:2:{s:6:\"Imagen\";i:6;s:17:\"Imagen_Discusión\";i:7;}'),('es','dateFormats','a:12:{s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j M Y\";s:8:\"dmy both\";s:9:\"H:i j M Y\";s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}'),('es','datePreferences','b:0;'),('es','datePreferenceMigrationMap','a:4:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";}'),('es','defaultDateFormat','s:3:\"dmy\";'),('es','extraUserToggles','a:0:{}'),('es','specialPageAliases','a:97:{s:11:\"Activeusers\";a:2:{i:0;s:15:\"UsuariosActivos\";i:1;s:11:\"ActiveUsers\";}s:11:\"Allmessages\";a:2:{i:0;s:16:\"TodosLosMensajes\";i:1;s:11:\"AllMessages\";}s:8:\"Allpages\";a:3:{i:0;s:5:\"Todas\";i:1;s:18:\"Todas_las_páginas\";i:2;s:8:\"AllPages\";}s:12:\"Ancientpages\";a:3:{i:0;s:16:\"PáginasAntiguas\";i:1;s:17:\"Páginas_antiguas\";i:2;s:12:\"AncientPages\";}s:9:\"Blankpage\";a:3:{i:0;s:16:\"BlanquearPágina\";i:1;s:17:\"Blanquear_página\";i:2;s:9:\"BlankPage\";}s:5:\"Block\";a:4:{i:0;s:8:\"Bloquear\";i:1;s:5:\"Block\";i:2;s:7:\"BlockIP\";i:3;s:9:\"BlockUser\";}s:7:\"Blockme\";a:2:{i:0;s:10:\"Bloquearme\";i:1;s:7:\"BlockMe\";}s:11:\"Booksources\";a:3:{i:0;s:15:\"FuentesDeLibros\";i:1;s:17:\"Fuentes_de_libros\";i:2;s:11:\"BookSources\";}s:15:\"BrokenRedirects\";a:3:{i:0;s:18:\"RedireccionesRotas\";i:1;s:19:\"Redirecciones_rotas\";i:2;s:15:\"BrokenRedirects\";}s:10:\"Categories\";a:2:{i:0;s:11:\"Categorías\";i:1;s:10:\"Categories\";}s:14:\"ChangePassword\";a:7:{i:0;s:19:\"Cambiar_contraseña\";i:1;s:18:\"CambiarContraseña\";i:2;s:19:\"ResetearContraseña\";i:3;s:20:\"Resetear_contraseña\";i:4;s:14:\"ChangePassword\";i:5;s:9:\"ResetPass\";i:6;s:13:\"ResetPassword\";}s:12:\"ComparePages\";a:2:{i:0;s:16:\"CompararPáginas\";i:1;s:12:\"ComparePages\";}s:12:\"Confirmemail\";a:3:{i:0;s:14:\"ConfirmarEmail\";i:1;s:16:\"Confirmar_e-mail\";i:2;s:12:\"ConfirmEmail\";}s:13:\"Contributions\";a:3:{i:0;s:14:\"Contribuciones\";i:1;s:13:\"Contributions\";i:2;s:8:\"Contribs\";}s:13:\"CreateAccount\";a:3:{i:0;s:16:\"Crear_una_cuenta\";i:1;s:11:\"CrearCuenta\";i:2;s:13:\"CreateAccount\";}s:12:\"Deadendpages\";a:3:{i:0;s:17:\"PáginasSinSalida\";i:1;s:19:\"Páginas_sin_salida\";i:2;s:12:\"DeadendPages\";}s:20:\"DeletedContributions\";a:3:{i:0;s:22:\"ContribucionesBorradas\";i:1;s:23:\"Contribuciones_Borradas\";i:2;s:20:\"DeletedContributions\";}s:15:\"Disambiguations\";a:3:{i:0;s:16:\"Desambiguaciones\";i:1;s:15:\"Desambiguación\";i:2;s:15:\"Disambiguations\";}s:15:\"DoubleRedirects\";a:3:{i:0;s:19:\"RedireccionesDobles\";i:1;s:20:\"Redirecciones_dobles\";i:2;s:15:\"DoubleRedirects\";}s:9:\"Emailuser\";a:2:{i:0;s:18:\"MandarEmailUsuario\";i:1;s:9:\"EmailUser\";}s:6:\"Export\";a:2:{i:0;s:8:\"Exportar\";i:1;s:6:\"Export\";}s:15:\"Fewestrevisions\";a:3:{i:0;s:14:\"MenosEdiciones\";i:1;s:15:\"Menos_ediciones\";i:2;s:15:\"FewestRevisions\";}s:19:\"FileDuplicateSearch\";a:3:{i:0;s:24:\"BuscarArchivosDuplicados\";i:1;s:26:\"Buscar_archivos_duplicados\";i:2;s:19:\"FileDuplicateSearch\";}s:8:\"Filepath\";a:3:{i:0;s:13:\"RutaDeArchivo\";i:1;s:15:\"Ruta_de_archivo\";i:2;s:8:\"FilePath\";}s:6:\"Import\";a:2:{i:0;s:8:\"Importar\";i:1;s:6:\"Import\";}s:15:\"Invalidateemail\";a:3:{i:0;s:14:\"InvalidarEmail\";i:1;s:16:\"Invalidar_e-mail\";i:2;s:15:\"InvalidateEmail\";}s:9:\"BlockList\";a:5:{i:0;s:18:\"UsuariosBloqueados\";i:1;s:28:\"Lista_de_usuarios_bloqueados\";i:2;s:9:\"BlockList\";i:3;s:10:\"ListBlocks\";i:4;s:11:\"IPBlockList\";}s:10:\"LinkSearch\";a:3:{i:0;s:18:\"BúsquedaDeEnlaces\";i:1;s:20:\"Búsqueda_de_enlaces\";i:2;s:10:\"LinkSearch\";}s:10:\"Listadmins\";a:3:{i:0;s:22:\"ListaDeAdministradores\";i:1;s:24:\"Lista_de_administradores\";i:2;s:10:\"ListAdmins\";}s:8:\"Listbots\";a:3:{i:0;s:11:\"ListaDeBots\";i:1;s:13:\"Lista_de_bots\";i:2;s:8:\"ListBots\";}s:9:\"Listfiles\";a:5:{i:0;s:14:\"ListaImágenes\";i:1;s:18:\"Lista_de_imágenes\";i:2;s:9:\"ListFiles\";i:3;s:8:\"FileList\";i:4;s:9:\"ImageList\";}s:15:\"Listgrouprights\";a:4:{i:0;s:19:\"ListaDerechosGrupos\";i:1;s:30:\"Derechos_de_grupos_de_usuarios\";i:2;s:15:\"ListGroupRights\";i:3;s:15:\"UserGroupRights\";}s:13:\"Listredirects\";a:3:{i:0;s:21:\"TodasLasRedirecciones\";i:1;s:23:\"Todas_las_redirecciones\";i:2;s:13:\"ListRedirects\";}s:9:\"Listusers\";a:4:{i:0;s:13:\"ListaUsuarios\";i:1;s:17:\"Lista_de_usuarios\";i:2;s:9:\"ListUsers\";i:3;s:8:\"UserList\";}s:6:\"Lockdb\";a:3:{i:0;s:19:\"BloquearBasedeDatos\";i:1;s:22:\"Bloquear_base_de_datos\";i:2;s:6:\"LockDB\";}s:3:\"Log\";a:3:{i:0;s:8:\"Registro\";i:1;s:3:\"Log\";i:2;s:4:\"Logs\";}s:11:\"Lonelypages\";a:4:{i:0;s:18:\"PáginasHuérfanas\";i:1;s:19:\"Páginas_huérfanas\";i:2;s:11:\"LonelyPages\";i:3;s:13:\"OrphanedPages\";}s:9:\"Longpages\";a:3:{i:0;s:14:\"PáginasLargas\";i:1;s:15:\"Páginas_largas\";i:2;s:9:\"LongPages\";}s:12:\"MergeHistory\";a:3:{i:0;s:17:\"FusionarHistorial\";i:1;s:18:\"Fusionar_historial\";i:2;s:12:\"MergeHistory\";}s:10:\"MIMEsearch\";a:3:{i:0;s:13:\"BuscarPorMIME\";i:1;s:15:\"Buscar_por_MIME\";i:2;s:10:\"MIMESearch\";}s:14:\"Mostcategories\";a:3:{i:0;s:17:\"MásCategorizadas\";i:1;s:18:\"Más_categorizadas\";i:2;s:14:\"MostCategories\";}s:10:\"Mostimages\";a:5:{i:0;s:13:\"MásImágenes\";i:1;s:18:\"Con_más_imágenes\";i:2;s:15:\"MostLinkedFiles\";i:3;s:9:\"MostFiles\";i:4;s:10:\"MostImages\";}s:10:\"Mostlinked\";a:4:{i:0;s:13:\"MásEnlazados\";i:1;s:14:\"Más_enlazados\";i:2;s:15:\"MostLinkedPages\";i:3;s:10:\"MostLinked\";}s:20:\"Mostlinkedcategories\";a:4:{i:0;s:21:\"CategoríasMásUsadas\";i:1;s:23:\"Categorías_más_usadas\";i:2;s:20:\"MostLinkedCategories\";i:3;s:18:\"MostUsedCategories\";}s:19:\"Mostlinkedtemplates\";a:4:{i:0;s:20:\"PlantillasMásUsadas\";i:1;s:22:\"Plantillas_más_usadas\";i:2;s:19:\"MostLinkedTemplates\";i:3;s:17:\"MostUsedTemplates\";}s:13:\"Mostrevisions\";a:3:{i:0;s:13:\"MásEdiciones\";i:1;s:14:\"Más_ediciones\";i:2;s:13:\"MostRevisions\";}s:8:\"Movepage\";a:3:{i:0;s:12:\"MoverPágina\";i:1;s:13:\"Mover_página\";i:2;s:8:\"MovePage\";}s:15:\"Mycontributions\";a:3:{i:0;s:17:\"MisContribuciones\";i:1;s:18:\"Mis_contribuciones\";i:2;s:15:\"MyContributions\";}s:6:\"Mypage\";a:3:{i:0;s:9:\"MiPágina\";i:1;s:10:\"Mi_página\";i:2;s:6:\"MyPage\";}s:6:\"Mytalk\";a:3:{i:0;s:12:\"MiDiscusión\";i:1;s:13:\"Mi_discusión\";i:2;s:6:\"MyTalk\";}s:9:\"Newimages\";a:4:{i:0;s:15:\"NuevasImágenes\";i:1;s:16:\"Nuevas_imágenes\";i:2;s:8:\"NewFiles\";i:3;s:9:\"NewImages\";}s:8:\"Newpages\";a:3:{i:0;s:14:\"PáginasNuevas\";i:1;s:15:\"Páginas_nuevas\";i:2;s:8:\"NewPages\";}s:12:\"Popularpages\";a:4:{i:0;s:21:\"PáginasMásVisitadas\";i:1;s:17:\"PáginasPopulares\";i:2;s:23:\"Páginas_más_visitadas\";i:3;s:12:\"PopularPages\";}s:11:\"Preferences\";a:2:{i:0;s:12:\"Preferencias\";i:1;s:11:\"Preferences\";}s:11:\"Prefixindex\";a:3:{i:0;s:18:\"PáginasPorPrefijo\";i:1;s:20:\"Páginas_por_prefijo\";i:2;s:11:\"PrefixIndex\";}s:14:\"Protectedpages\";a:3:{i:0;s:18:\"PáginasProtegidas\";i:1;s:19:\"Páginas_protegidas\";i:2;s:14:\"ProtectedPages\";}s:15:\"Protectedtitles\";a:3:{i:0;s:18:\"TítulosProtegidos\";i:1;s:19:\"Títulos_protegidos\";i:2;s:15:\"ProtectedTitles\";}s:10:\"Randompage\";a:5:{i:0;s:9:\"Aleatoria\";i:1;s:9:\"Aleatorio\";i:2;s:17:\"Página_aleatoria\";i:3;s:6:\"Random\";i:4;s:10:\"RandomPage\";}s:14:\"Randomredirect\";a:3:{i:0;s:21:\"RedirecciónAleatoria\";i:1;s:22:\"Redirección_aleatoria\";i:2;s:14:\"RandomRedirect\";}s:13:\"Recentchanges\";a:3:{i:0;s:16:\"CambiosRecientes\";i:1;s:17:\"Cambios_recientes\";i:2;s:13:\"RecentChanges\";}s:19:\"Recentchangeslinked\";a:4:{i:0;s:18:\"CambiosEnEnlazadas\";i:1;s:20:\"Cambios_en_enlazadas\";i:2;s:19:\"RecentChangesLinked\";i:3;s:14:\"RelatedChanges\";}s:14:\"Revisiondelete\";a:3:{i:0;s:15:\"BorrarRevisión\";i:1;s:16:\"Borrar_revisión\";i:2;s:14:\"RevisionDelete\";}s:12:\"RevisionMove\";a:2:{i:0;s:13:\"MoverRevision\";i:1;s:12:\"RevisionMove\";}s:6:\"Search\";a:2:{i:0;s:6:\"Buscar\";i:1;s:6:\"Search\";}s:10:\"Shortpages\";a:3:{i:0;s:14:\"PáginasCortas\";i:1;s:15:\"Páginas_cortas\";i:2;s:10:\"ShortPages\";}s:12:\"Specialpages\";a:3:{i:0;s:18:\"PáginasEspeciales\";i:1;s:19:\"Páginas_especiales\";i:2;s:12:\"SpecialPages\";}s:10:\"Statistics\";a:2:{i:0;s:13:\"Estadísticas\";i:1;s:10:\"Statistics\";}s:4:\"Tags\";a:2:{i:0;s:9:\"Etiquetas\";i:1;s:4:\"Tags\";}s:7:\"Unblock\";a:2:{i:0;s:11:\"Desbloquear\";i:1;s:7:\"Unblock\";}s:23:\"Uncategorizedcategories\";a:3:{i:0;s:25:\"CategoríasSinCategorizar\";i:1;s:27:\"Categorías_sin_categorizar\";i:2;s:23:\"UncategorizedCategories\";}s:19:\"Uncategorizedimages\";a:4:{i:0;s:23:\"ImágenesSinCategorizar\";i:1;s:25:\"Imágenes_sin_categorizar\";i:2;s:18:\"UncategorizedFiles\";i:3;s:19:\"UncategorizedImages\";}s:18:\"Uncategorizedpages\";a:3:{i:0;s:22:\"PáginasSinCategorizar\";i:1;s:24:\"Páginas_sin_categorizar\";i:2;s:18:\"UncategorizedPages\";}s:22:\"Uncategorizedtemplates\";a:3:{i:0;s:24:\"PlantillasSinCategorizar\";i:1;s:26:\"Plantillas_sin_categorizar\";i:2;s:22:\"UncategorizedTemplates\";}s:8:\"Undelete\";a:2:{i:0;s:9:\"Restaurar\";i:1;s:8:\"Undelete\";}s:8:\"Unlockdb\";a:3:{i:0;s:22:\"DesbloquearBasedeDatos\";i:1;s:25:\"Desbloquear_base_de_datos\";i:2;s:8:\"UnlockDB\";}s:16:\"Unusedcategories\";a:3:{i:0;s:17:\"CategoríasSinUso\";i:1;s:19:\"Categorías_sin_uso\";i:2;s:16:\"UnusedCategories\";}s:12:\"Unusedimages\";a:4:{i:0;s:15:\"ImágenesSinUso\";i:1;s:17:\"Imágenes_sin_uso\";i:2;s:11:\"UnusedFiles\";i:3;s:12:\"UnusedImages\";}s:15:\"Unusedtemplates\";a:3:{i:0;s:16:\"PlantillasSinUso\";i:1;s:18:\"Plantillas_sin_uso\";i:2;s:15:\"UnusedTemplates\";}s:14:\"Unwatchedpages\";a:3:{i:0;s:18:\"PáginasSinVigilar\";i:1;s:20:\"Páginas_sin_vigilar\";i:2;s:14:\"UnwatchedPages\";}s:6:\"Upload\";a:3:{i:0;s:12:\"SubirArchivo\";i:1;s:13:\"Subir_archivo\";i:2;s:6:\"Upload\";}s:9:\"Userlogin\";a:3:{i:0;s:6:\"Entrar\";i:1;s:19:\"Entrada_del_usuario\";i:2;s:9:\"UserLogin\";}s:10:\"Userlogout\";a:3:{i:0;s:18:\"Salida_del_usuario\";i:1;s:5:\"Salir\";i:2;s:10:\"UserLogout\";}s:10:\"Userrights\";a:5:{i:0;s:16:\"PermisosUsuarios\";i:1;s:20:\"Permisos_de_usuarios\";i:2;s:10:\"UserRights\";i:3;s:9:\"MakeSysop\";i:4;s:7:\"MakeBot\";}s:7:\"Version\";a:2:{i:0;s:8:\"Versión\";i:1;s:7:\"Version\";}s:16:\"Wantedcategories\";a:3:{i:0;s:21:\"CategoríasRequeridas\";i:1;s:22:\"Categorías_requeridas\";i:2;s:16:\"WantedCategories\";}s:11:\"Wantedfiles\";a:3:{i:0;s:18:\"ArchivosRequeridos\";i:1;s:19:\"Archivos_requeridos\";i:2;s:11:\"WantedFiles\";}s:11:\"Wantedpages\";a:4:{i:0;s:18:\"PáginasRequeridas\";i:1;s:19:\"Páginas_requeridas\";i:2;s:11:\"WantedPages\";i:3;s:11:\"BrokenLinks\";}s:15:\"Wantedtemplates\";a:3:{i:0;s:20:\"PlantillasRequeridas\";i:1;s:21:\"Plantillas_requeridas\";i:2;s:15:\"WantedTemplates\";}s:9:\"Watchlist\";a:3:{i:0;s:11:\"Seguimiento\";i:1;s:20:\"Lista_de_seguimiento\";i:2;s:9:\"Watchlist\";}s:13:\"Whatlinkshere\";a:3:{i:0;s:16:\"LoQueEnlazaAquí\";i:1;s:19:\"Lo_que_enlaza_aquí\";i:2;s:13:\"WhatLinksHere\";}s:16:\"Withoutinterwiki\";a:3:{i:0;s:13:\"SinInterwikis\";i:1;s:14:\"Sin_interwikis\";i:2;s:16:\"WithoutInterwiki\";}s:8:\"Badtitle\";a:1:{i:0;s:8:\"Badtitle\";}s:13:\"EditWatchlist\";a:1:{i:0;s:13:\"EditWatchlist\";}s:9:\"Myuploads\";a:1:{i:0;s:9:\"MyUploads\";}s:13:\"PasswordReset\";a:1:{i:0;s:13:\"PasswordReset\";}s:13:\"PermanentLink\";a:2:{i:0;s:13:\"PermanentLink\";i:1;s:9:\"PermaLink\";}s:11:\"UploadStash\";a:1:{i:0;s:11:\"UploadStash\";}}'),('es','imageFiles','a:11:{s:11:\"button-bold\";s:15:\"button_bold.png\";s:13:\"button-italic\";s:17:\"button_italic.png\";s:11:\"button-link\";s:15:\"button_link.png\";s:14:\"button-extlink\";s:18:\"button_extlink.png\";s:15:\"button-headline\";s:19:\"button_headline.png\";s:12:\"button-image\";s:16:\"button_image.png\";s:12:\"button-media\";s:16:\"button_media.png\";s:11:\"button-math\";s:15:\"button_math.png\";s:13:\"button-nowiki\";s:17:\"button_nowiki.png\";s:10:\"button-sig\";s:14:\"button_sig.png\";s:9:\"button-hr\";s:13:\"button_hr.png\";}'),('es','preloadedMessages','a:95:{i:0;s:9:\"aboutpage\";i:1;s:9:\"aboutsite\";i:2;s:17:\"accesskey-ca-edit\";i:3;s:20:\"accesskey-ca-history\";i:4;s:23:\"accesskey-ca-nstab-main\";i:5;s:17:\"accesskey-ca-talk\";i:6;s:25:\"accesskey-n-currentevents\";i:7;s:16:\"accesskey-n-help\";i:8;s:32:\"accesskey-n-mainpage-description\";i:9;s:18:\"accesskey-n-portal\";i:10;s:22:\"accesskey-n-randompage\";i:11;s:25:\"accesskey-n-recentchanges\";i:12;s:23:\"accesskey-n-sitesupport\";i:13;s:16:\"accesskey-p-logo\";i:14;s:18:\"accesskey-pt-login\";i:15;s:16:\"accesskey-search\";i:16;s:25:\"accesskey-search-fulltext\";i:17;s:19:\"accesskey-search-go\";i:18;s:21:\"accesskey-t-permalink\";i:19;s:17:\"accesskey-t-print\";i:20;s:31:\"accesskey-t-recentchangeslinked\";i:21;s:24:\"accesskey-t-specialpages\";i:22;s:25:\"accesskey-t-whatlinkshere\";i:23;s:10:\"anonnotice\";i:24;s:15:\"colon-separator\";i:25;s:13:\"currentevents\";i:26;s:17:\"currentevents-url\";i:27;s:14:\"disclaimerpage\";i:28;s:11:\"disclaimers\";i:29;s:4:\"edit\";i:30;s:4:\"help\";i:31;s:8:\"helppage\";i:32;s:13:\"history_short\";i:33;s:6:\"jumpto\";i:34;s:16:\"jumptonavigation\";i:35;s:12:\"jumptosearch\";i:36;s:14:\"lastmodifiedat\";i:37;s:8:\"mainpage\";i:38;s:20:\"mainpage-description\";i:39;s:23:\"nav-login-createaccount\";i:40;s:10:\"navigation\";i:41;s:10:\"nstab-main\";i:42;s:15:\"opensearch-desc\";i:43;s:14:\"pagecategories\";i:44;s:18:\"pagecategorieslink\";i:45;s:9:\"pagetitle\";i:46;s:23:\"pagetitle-view-mainpage\";i:47;s:9:\"permalink\";i:48;s:13:\"personaltools\";i:49;s:6:\"portal\";i:50;s:10:\"portal-url\";i:51;s:16:\"printableversion\";i:52;s:7:\"privacy\";i:53;s:11:\"privacypage\";i:54;s:10:\"randompage\";i:55;s:14:\"randompage-url\";i:56;s:13:\"recentchanges\";i:57;s:17:\"recentchanges-url\";i:58;s:27:\"recentchangeslinked-toolbox\";i:59;s:13:\"retrievedfrom\";i:60;s:6:\"search\";i:61;s:13:\"searcharticle\";i:62;s:12:\"searchbutton\";i:63;s:7:\"sidebar\";i:64;s:14:\"site-atom-feed\";i:65;s:13:\"site-rss-feed\";i:66;s:10:\"sitenotice\";i:67;s:12:\"specialpages\";i:68;s:7:\"tagline\";i:69;s:4:\"talk\";i:70;s:7:\"toolbox\";i:71;s:15:\"tooltip-ca-edit\";i:72;s:18:\"tooltip-ca-history\";i:73;s:21:\"tooltip-ca-nstab-main\";i:74;s:15:\"tooltip-ca-talk\";i:75;s:23:\"tooltip-n-currentevents\";i:76;s:14:\"tooltip-n-help\";i:77;s:30:\"tooltip-n-mainpage-description\";i:78;s:16:\"tooltip-n-portal\";i:79;s:20:\"tooltip-n-randompage\";i:80;s:23:\"tooltip-n-recentchanges\";i:81;s:21:\"tooltip-n-sitesupport\";i:82;s:14:\"tooltip-p-logo\";i:83;s:20:\"tooltip-p-navigation\";i:84;s:16:\"tooltip-pt-login\";i:85;s:14:\"tooltip-search\";i:86;s:23:\"tooltip-search-fulltext\";i:87;s:17:\"tooltip-search-go\";i:88;s:19:\"tooltip-t-permalink\";i:89;s:15:\"tooltip-t-print\";i:90;s:29:\"tooltip-t-recentchangeslinked\";i:91;s:22:\"tooltip-t-specialpages\";i:92;s:23:\"tooltip-t-whatlinkshere\";i:93;s:5:\"views\";i:94;s:13:\"whatlinkshere\";}'),('es','namespaceGenderAliases','a:2:{i:2;a:2:{s:4:\"male\";s:7:\"Usuario\";s:6:\"female\";s:7:\"Usuaria\";}i:3;a:2:{s:4:\"male\";s:18:\"Usuario_Discusión\";s:6:\"female\";s:18:\"Usuaria_Discusión\";}}'),('es','fallbackSequence','a:1:{i:0;s:2:\"en\";}'),('es','deps','a:7:{i:0;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEs.php\";s:9:\"timestamp\";i:1326231359;}i:1;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEn.php\";s:9:\"timestamp\";i:1326230387;}i:2;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}s:24:\"wgExtensionMessagesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:24:\"wgExtensionMessagesFiles\";s:5:\"value\";a:1:{s:7:\"SVGEdit\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";}}s:23:\"wgExtensionAliasesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:23:\"wgExtensionAliasesFiles\";s:5:\"value\";a:0:{}}s:7:\"version\";O:18:\"ConstantDependency\":2:{s:4:\"name\";s:13:\"MW_LC_VERSION\";s:5:\"value\";i:1;}i:3;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}}'),('es','list','a:1:{s:8:\"messages\";a:2988:{i:0;s:23:\"svgedit-editbutton-edit\";i:1;s:21:\"svgedit-summary-label\";i:2;s:23:\"svgedit-summary-default\";i:3;s:25:\"svgedit-editor-save-close\";i:4;s:20:\"svgedit-editor-close\";i:5;s:12:\"svgedit-desc\";i:6;s:16:\"svgedit-edit-tab\";i:7;s:24:\"svgedit-edit-tab-tooltip\";i:8;s:22:\"svgedit-toolbar-insert\";i:9;s:13:\"tog-underline\";i:10;s:19:\"tog-highlightbroken\";i:11;s:11:\"tog-justify\";i:12;s:13:\"tog-hideminor\";i:13;s:17:\"tog-hidepatrolled\";i:14;s:25:\"tog-newpageshidepatrolled\";i:15;s:19:\"tog-extendwatchlist\";i:16;s:12:\"tog-usenewrc\";i:17;s:18:\"tog-numberheadings\";i:18;s:15:\"tog-showtoolbar\";i:19;s:18:\"tog-editondblclick\";i:20;s:15:\"tog-editsection\";i:21;s:27:\"tog-editsectiononrightclick\";i:22;s:11:\"tog-showtoc\";i:23;s:20:\"tog-rememberpassword\";i:24;s:18:\"tog-watchcreations\";i:25;s:16:\"tog-watchdefault\";i:26;s:14:\"tog-watchmoves\";i:27;s:17:\"tog-watchdeletion\";i:28;s:16:\"tog-minordefault\";i:29;s:16:\"tog-previewontop\";i:30;s:18:\"tog-previewonfirst\";i:31;s:11:\"tog-nocache\";i:32;s:24:\"tog-enotifwatchlistpages\";i:33;s:23:\"tog-enotifusertalkpages\";i:34;s:20:\"tog-enotifminoredits\";i:35;s:20:\"tog-enotifrevealaddr\";i:36;s:23:\"tog-shownumberswatching\";i:37;s:10:\"tog-oldsig\";i:38;s:12:\"tog-fancysig\";i:39;s:18:\"tog-externaleditor\";i:40;s:16:\"tog-externaldiff\";i:41;s:17:\"tog-showjumplinks\";i:42;s:18:\"tog-uselivepreview\";i:43;s:20:\"tog-forceeditsummary\";i:44;s:20:\"tog-watchlisthideown\";i:45;s:21:\"tog-watchlisthidebots\";i:46;s:22:\"tog-watchlisthideminor\";i:47;s:20:\"tog-watchlisthideliu\";i:48;s:22:\"tog-watchlisthideanons\";i:49;s:26:\"tog-watchlisthidepatrolled\";i:50;s:20:\"tog-nolangconversion\";i:51;s:16:\"tog-ccmeonemails\";i:52;s:12:\"tog-diffonly\";i:53;s:18:\"tog-showhiddencats\";i:54;s:17:\"tog-noconvertlink\";i:55;s:18:\"tog-norollbackdiff\";i:56;s:16:\"underline-always\";i:57;s:15:\"underline-never\";i:58;s:17:\"underline-default\";i:59;s:14:\"editfont-style\";i:60;s:16:\"editfont-default\";i:61;s:18:\"editfont-monospace\";i:62;s:18:\"editfont-sansserif\";i:63;s:14:\"editfont-serif\";i:64;s:6:\"sunday\";i:65;s:6:\"monday\";i:66;s:7:\"tuesday\";i:67;s:9:\"wednesday\";i:68;s:8:\"thursday\";i:69;s:6:\"friday\";i:70;s:8:\"saturday\";i:71;s:3:\"sun\";i:72;s:3:\"mon\";i:73;s:3:\"tue\";i:74;s:3:\"wed\";i:75;s:3:\"thu\";i:76;s:3:\"fri\";i:77;s:3:\"sat\";i:78;s:7:\"january\";i:79;s:8:\"february\";i:80;s:5:\"march\";i:81;s:5:\"april\";i:82;s:8:\"may_long\";i:83;s:4:\"june\";i:84;s:4:\"july\";i:85;s:6:\"august\";i:86;s:9:\"september\";i:87;s:7:\"october\";i:88;s:8:\"november\";i:89;s:8:\"december\";i:90;s:11:\"january-gen\";i:91;s:12:\"february-gen\";i:92;s:9:\"march-gen\";i:93;s:9:\"april-gen\";i:94;s:7:\"may-gen\";i:95;s:8:\"june-gen\";i:96;s:8:\"july-gen\";i:97;s:10:\"august-gen\";i:98;s:13:\"september-gen\";i:99;s:11:\"october-gen\";i:100;s:12:\"november-gen\";i:101;s:12:\"december-gen\";i:102;s:3:\"jan\";i:103;s:3:\"feb\";i:104;s:3:\"mar\";i:105;s:3:\"apr\";i:106;s:3:\"may\";i:107;s:3:\"jun\";i:108;s:3:\"jul\";i:109;s:3:\"aug\";i:110;s:3:\"sep\";i:111;s:3:\"oct\";i:112;s:3:\"nov\";i:113;s:3:\"dec\";i:114;s:14:\"pagecategories\";i:115;s:15:\"category_header\";i:116;s:13:\"subcategories\";i:117;s:21:\"category-media-header\";i:118;s:14:\"category-empty\";i:119;s:17:\"hidden-categories\";i:120;s:24:\"hidden-category-category\";i:121;s:21:\"category-subcat-count\";i:122;s:29:\"category-subcat-count-limited\";i:123;s:22:\"category-article-count\";i:124;s:30:\"category-article-count-limited\";i:125;s:19:\"category-file-count\";i:126;s:27:\"category-file-count-limited\";i:127;s:22:\"listingcontinuesabbrev\";i:128;s:14:\"index-category\";i:129;s:16:\"noindex-category\";i:130;s:20:\"broken-file-category\";i:131;s:5:\"about\";i:132;s:7:\"article\";i:133;s:9:\"newwindow\";i:134;s:6:\"cancel\";i:135;s:13:\"moredotdotdot\";i:136;s:6:\"mypage\";i:137;s:6:\"mytalk\";i:138;s:8:\"anontalk\";i:139;s:10:\"navigation\";i:140;s:3:\"and\";i:141;s:6:\"qbfind\";i:142;s:8:\"qbbrowse\";i:143;s:6:\"qbedit\";i:144;s:13:\"qbpageoptions\";i:145;s:10:\"qbpageinfo\";i:146;s:11:\"qbmyoptions\";i:147;s:14:\"qbspecialpages\";i:148;s:3:\"faq\";i:149;s:7:\"faqpage\";i:150;s:24:\"vector-action-addsection\";i:151;s:20:\"vector-action-delete\";i:152;s:18:\"vector-action-move\";i:153;s:21:\"vector-action-protect\";i:154;s:22:\"vector-action-undelete\";i:155;s:23:\"vector-action-unprotect\";i:156;s:30:\"vector-simplesearch-preference\";i:157;s:18:\"vector-view-create\";i:158;s:16:\"vector-view-edit\";i:159;s:19:\"vector-view-history\";i:160;s:16:\"vector-view-view\";i:161;s:22:\"vector-view-viewsource\";i:162;s:7:\"actions\";i:163;s:10:\"namespaces\";i:164;s:8:\"variants\";i:165;s:14:\"errorpagetitle\";i:166;s:8:\"returnto\";i:167;s:7:\"tagline\";i:168;s:4:\"help\";i:169;s:6:\"search\";i:170;s:12:\"searchbutton\";i:171;s:2:\"go\";i:172;s:13:\"searcharticle\";i:173;s:7:\"history\";i:174;s:13:\"history_short\";i:175;s:13:\"updatedmarker\";i:176;s:16:\"printableversion\";i:177;s:9:\"permalink\";i:178;s:5:\"print\";i:179;s:4:\"view\";i:180;s:4:\"edit\";i:181;s:6:\"create\";i:182;s:12:\"editthispage\";i:183;s:16:\"create-this-page\";i:184;s:6:\"delete\";i:185;s:14:\"deletethispage\";i:186;s:14:\"undelete_short\";i:187;s:17:\"viewdeleted_short\";i:188;s:7:\"protect\";i:189;s:14:\"protect_change\";i:190;s:15:\"protectthispage\";i:191;s:9:\"unprotect\";i:192;s:17:\"unprotectthispage\";i:193;s:7:\"newpage\";i:194;s:8:\"talkpage\";i:195;s:16:\"talkpagelinktext\";i:196;s:11:\"specialpage\";i:197;s:13:\"personaltools\";i:198;s:11:\"postcomment\";i:199;s:11:\"articlepage\";i:200;s:4:\"talk\";i:201;s:5:\"views\";i:202;s:7:\"toolbox\";i:203;s:8:\"userpage\";i:204;s:11:\"projectpage\";i:205;s:9:\"imagepage\";i:206;s:13:\"mediawikipage\";i:207;s:12:\"templatepage\";i:208;s:12:\"viewhelppage\";i:209;s:12:\"categorypage\";i:210;s:12:\"viewtalkpage\";i:211;s:14:\"otherlanguages\";i:212;s:14:\"redirectedfrom\";i:213;s:15:\"redirectpagesub\";i:214;s:14:\"lastmodifiedat\";i:215;s:9:\"viewcount\";i:216;s:13:\"protectedpage\";i:217;s:6:\"jumpto\";i:218;s:16:\"jumptonavigation\";i:219;s:12:\"jumptosearch\";i:220;s:15:\"view-pool-error\";i:221;s:12:\"pool-timeout\";i:222;s:14:\"pool-queuefull\";i:223;s:17:\"pool-errorunknown\";i:224;s:9:\"aboutsite\";i:225;s:9:\"aboutpage\";i:226;s:9:\"copyright\";i:227;s:13:\"copyrightpage\";i:228;s:13:\"currentevents\";i:229;s:17:\"currentevents-url\";i:230;s:11:\"disclaimers\";i:231;s:14:\"disclaimerpage\";i:232;s:8:\"edithelp\";i:233;s:12:\"edithelppage\";i:234;s:8:\"helppage\";i:235;s:8:\"mainpage\";i:236;s:20:\"mainpage-description\";i:237;s:10:\"policy-url\";i:238;s:6:\"portal\";i:239;s:10:\"portal-url\";i:240;s:7:\"privacy\";i:241;s:11:\"privacypage\";i:242;s:9:\"badaccess\";i:243;s:16:\"badaccess-group0\";i:244;s:16:\"badaccess-groups\";i:245;s:15:\"versionrequired\";i:246;s:19:\"versionrequiredtext\";i:247;s:2:\"ok\";i:248;s:13:\"retrievedfrom\";i:249;s:18:\"youhavenewmessages\";i:250;s:15:\"newmessageslink\";i:251;s:19:\"newmessagesdifflink\";i:252;s:23:\"youhavenewmessagesmulti\";i:253;s:11:\"editsection\";i:254;s:7:\"editold\";i:255;s:13:\"viewsourceold\";i:256;s:8:\"editlink\";i:257;s:14:\"viewsourcelink\";i:258;s:15:\"editsectionhint\";i:259;s:3:\"toc\";i:260;s:7:\"showtoc\";i:261;s:7:\"hidetoc\";i:262;s:20:\"collapsible-collapse\";i:263;s:18:\"collapsible-expand\";i:264;s:13:\"thisisdeleted\";i:265;s:11:\"viewdeleted\";i:266;s:11:\"restorelink\";i:267;s:9:\"feedlinks\";i:268;s:12:\"feed-invalid\";i:269;s:16:\"feed-unavailable\";i:270;s:13:\"site-rss-feed\";i:271;s:14:\"site-atom-feed\";i:272;s:13:\"page-rss-feed\";i:273;s:14:\"page-atom-feed\";i:274;s:14:\"red-link-title\";i:275;s:15:\"sort-descending\";i:276;s:14:\"sort-ascending\";i:277;s:10:\"nstab-main\";i:278;s:10:\"nstab-user\";i:279;s:11:\"nstab-media\";i:280;s:13:\"nstab-special\";i:281;s:13:\"nstab-project\";i:282;s:11:\"nstab-image\";i:283;s:15:\"nstab-mediawiki\";i:284;s:14:\"nstab-template\";i:285;s:10:\"nstab-help\";i:286;s:14:\"nstab-category\";i:287;s:12:\"nosuchaction\";i:288;s:16:\"nosuchactiontext\";i:289;s:17:\"nosuchspecialpage\";i:290;s:17:\"nospecialpagetext\";i:291;s:5:\"error\";i:292;s:13:\"databaseerror\";i:293;s:11:\"dberrortext\";i:294;s:13:\"dberrortextcl\";i:295;s:15:\"laggedslavemode\";i:296;s:8:\"readonly\";i:297;s:15:\"enterlockreason\";i:298;s:12:\"readonlytext\";i:299;s:15:\"missing-article\";i:300;s:18:\"missingarticle-rev\";i:301;s:19:\"missingarticle-diff\";i:302;s:12:\"readonly_lag\";i:303;s:13:\"internalerror\";i:304;s:18:\"internalerror_info\";i:305;s:19:\"fileappenderrorread\";i:306;s:15:\"fileappenderror\";i:307;s:13:\"filecopyerror\";i:308;s:15:\"filerenameerror\";i:309;s:15:\"filedeleteerror\";i:310;s:20:\"directorycreateerror\";i:311;s:12:\"filenotfound\";i:312;s:15:\"fileexistserror\";i:313;s:10:\"unexpected\";i:314;s:9:\"formerror\";i:315;s:15:\"badarticleerror\";i:316;s:12:\"cannotdelete\";i:317;s:8:\"badtitle\";i:318;s:12:\"badtitletext\";i:319;s:10:\"perfcached\";i:320;s:12:\"perfcachedts\";i:321;s:20:\"querypage-no-updates\";i:322;s:20:\"wrong_wfQuery_params\";i:323;s:10:\"viewsource\";i:324;s:13:\"viewsourcefor\";i:325;s:15:\"actionthrottled\";i:326;s:19:\"actionthrottledtext\";i:327;s:17:\"protectedpagetext\";i:328;s:14:\"viewsourcetext\";i:329;s:18:\"protectedinterface\";i:330;s:16:\"editinginterface\";i:331;s:9:\"sqlhidden\";i:332;s:16:\"cascadeprotected\";i:333;s:18:\"namespaceprotected\";i:334;s:18:\"customcssprotected\";i:335;s:17:\"customjsprotected\";i:336;s:19:\"ns-specialprotected\";i:337;s:14:\"titleprotected\";i:338;s:16:\"virus-badscanner\";i:339;s:16:\"virus-scanfailed\";i:340;s:20:\"virus-unknownscanner\";i:341;s:10:\"logouttext\";i:342;s:15:\"welcomecreation\";i:343;s:8:\"yourname\";i:344;s:12:\"yourpassword\";i:345;s:17:\"yourpasswordagain\";i:346;s:18:\"remembermypassword\";i:347;s:23:\"securelogin-stick-https\";i:348;s:14:\"yourdomainname\";i:349;s:15:\"externaldberror\";i:350;s:5:\"login\";i:351;s:23:\"nav-login-createaccount\";i:352;s:11:\"loginprompt\";i:353;s:9:\"userlogin\";i:354;s:17:\"userloginnocreate\";i:355;s:6:\"logout\";i:356;s:10:\"userlogout\";i:357;s:11:\"notloggedin\";i:358;s:7:\"nologin\";i:359;s:11:\"nologinlink\";i:360;s:13:\"createaccount\";i:361;s:10:\"gotaccount\";i:362;s:14:\"gotaccountlink\";i:363;s:19:\"userlogin-resetlink\";i:364;s:17:\"createaccountmail\";i:365;s:19:\"createaccountreason\";i:366;s:9:\"badretype\";i:367;s:10:\"userexists\";i:368;s:10:\"loginerror\";i:369;s:18:\"createaccounterror\";i:370;s:12:\"nocookiesnew\";i:371;s:14:\"nocookieslogin\";i:372;s:15:\"nocookiesfornew\";i:373;s:6:\"noname\";i:374;s:17:\"loginsuccesstitle\";i:375;s:12:\"loginsuccess\";i:376;s:10:\"nosuchuser\";i:377;s:15:\"nosuchusershort\";i:378;s:15:\"nouserspecified\";i:379;s:17:\"login-userblocked\";i:380;s:13:\"wrongpassword\";i:381;s:18:\"wrongpasswordempty\";i:382;s:16:\"passwordtooshort\";i:383;s:19:\"password-name-match\";i:384;s:24:\"password-login-forbidden\";i:385;s:14:\"mailmypassword\";i:386;s:21:\"passwordremindertitle\";i:387;s:20:\"passwordremindertext\";i:388;s:7:\"noemail\";i:389;s:13:\"noemailcreate\";i:390;s:12:\"passwordsent\";i:391;s:20:\"blocked-mailpassword\";i:392;s:12:\"eauthentsent\";i:393;s:22:\"throttled-mailpassword\";i:394;s:9:\"mailerror\";i:395;s:26:\"acct_creation_throttle_hit\";i:396;s:18:\"emailauthenticated\";i:397;s:21:\"emailnotauthenticated\";i:398;s:12:\"noemailprefs\";i:399;s:16:\"emailconfirmlink\";i:400;s:19:\"invalidemailaddress\";i:401;s:14:\"accountcreated\";i:402;s:18:\"accountcreatedtext\";i:403;s:19:\"createaccount-title\";i:404;s:18:\"createaccount-text\";i:405;s:17:\"usernamehasherror\";i:406;s:15:\"login-throttled\";i:407;s:19:\"login-abort-generic\";i:408;s:18:\"loginlanguagelabel\";i:409;s:21:\"suspicious-userlogout\";i:410;s:22:\"php-mail-error-unknown\";i:411;s:9:\"resetpass\";i:412;s:18:\"resetpass_announce\";i:413;s:14:\"resetpass_text\";i:414;s:16:\"resetpass_header\";i:415;s:11:\"oldpassword\";i:416;s:11:\"newpassword\";i:417;s:9:\"retypenew\";i:418;s:16:\"resetpass_submit\";i:419;s:17:\"resetpass_success\";i:420;s:19:\"resetpass_forbidden\";i:421;s:17:\"resetpass-no-info\";i:422;s:25:\"resetpass-submit-loggedin\";i:423;s:23:\"resetpass-submit-cancel\";i:424;s:23:\"resetpass-wrong-oldpass\";i:425;s:23:\"resetpass-temp-password\";i:426;s:13:\"passwordreset\";i:427;s:18:\"passwordreset-text\";i:428;s:20:\"passwordreset-legend\";i:429;s:22:\"passwordreset-disabled\";i:430;s:21:\"passwordreset-pretext\";i:431;s:22:\"passwordreset-username\";i:432;s:20:\"passwordreset-domain\";i:433;s:19:\"passwordreset-email\";i:434;s:24:\"passwordreset-emailtitle\";i:435;s:26:\"passwordreset-emailtext-ip\";i:436;s:28:\"passwordreset-emailtext-user\";i:437;s:26:\"passwordreset-emailelement\";i:438;s:23:\"passwordreset-emailsent\";i:439;s:11:\"bold_sample\";i:440;s:8:\"bold_tip\";i:441;s:13:\"italic_sample\";i:442;s:10:\"italic_tip\";i:443;s:11:\"link_sample\";i:444;s:8:\"link_tip\";i:445;s:14:\"extlink_sample\";i:446;s:11:\"extlink_tip\";i:447;s:15:\"headline_sample\";i:448;s:12:\"headline_tip\";i:449;s:13:\"nowiki_sample\";i:450;s:10:\"nowiki_tip\";i:451;s:12:\"image_sample\";i:452;s:9:\"image_tip\";i:453;s:12:\"media_sample\";i:454;s:9:\"media_tip\";i:455;s:7:\"sig_tip\";i:456;s:6:\"hr_tip\";i:457;s:7:\"summary\";i:458;s:7:\"subject\";i:459;s:9:\"minoredit\";i:460;s:9:\"watchthis\";i:461;s:11:\"savearticle\";i:462;s:7:\"preview\";i:463;s:11:\"showpreview\";i:464;s:15:\"showlivepreview\";i:465;s:8:\"showdiff\";i:466;s:15:\"anoneditwarning\";i:467;s:18:\"anonpreviewwarning\";i:468;s:14:\"missingsummary\";i:469;s:18:\"missingcommenttext\";i:470;s:20:\"missingcommentheader\";i:471;s:15:\"summary-preview\";i:472;s:15:\"subject-preview\";i:473;s:12:\"blockedtitle\";i:474;s:11:\"blockedtext\";i:475;s:15:\"autoblockedtext\";i:476;s:15:\"blockednoreason\";i:477;s:21:\"blockedoriginalsource\";i:478;s:17:\"blockededitsource\";i:479;s:18:\"whitelistedittitle\";i:480;s:17:\"whitelistedittext\";i:481;s:15:\"confirmedittext\";i:482;s:18:\"nosuchsectiontitle\";i:483;s:17:\"nosuchsectiontext\";i:484;s:13:\"loginreqtitle\";i:485;s:12:\"loginreqlink\";i:486;s:16:\"loginreqpagetext\";i:487;s:12:\"accmailtitle\";i:488;s:11:\"accmailtext\";i:489;s:10:\"newarticle\";i:490;s:14:\"newarticletext\";i:491;s:16:\"anontalkpagetext\";i:492;s:13:\"noarticletext\";i:493;s:26:\"noarticletext-nopermission\";i:494;s:25:\"userpage-userdoesnotexist\";i:495;s:30:\"userpage-userdoesnotexist-view\";i:496;s:25:\"blocked-notice-logextract\";i:497;s:14:\"clearyourcache\";i:498;s:20:\"usercssyoucanpreview\";i:499;s:19:\"userjsyoucanpreview\";i:500;s:14:\"usercsspreview\";i:501;s:13:\"userjspreview\";i:502;s:14:\"sitecsspreview\";i:503;s:13:\"sitejspreview\";i:504;s:21:\"userinvalidcssjstitle\";i:505;s:7:\"updated\";i:506;s:4:\"note\";i:507;s:11:\"previewnote\";i:508;s:15:\"previewconflict\";i:509;s:20:\"session_fail_preview\";i:510;s:25:\"session_fail_preview_html\";i:511;s:21:\"token_suffix_mismatch\";i:512;s:20:\"edit_form_incomplete\";i:513;s:7:\"editing\";i:514;s:14:\"editingsection\";i:515;s:14:\"editingcomment\";i:516;s:12:\"editconflict\";i:517;s:15:\"explainconflict\";i:518;s:8:\"yourtext\";i:519;s:13:\"storedversion\";i:520;s:17:\"nonunicodebrowser\";i:521;s:10:\"editingold\";i:522;s:8:\"yourdiff\";i:523;s:16:\"copyrightwarning\";i:524;s:17:\"copyrightwarning2\";i:525;s:13:\"longpageerror\";i:526;s:15:\"readonlywarning\";i:527;s:20:\"protectedpagewarning\";i:528;s:24:\"semiprotectedpagewarning\";i:529;s:23:\"cascadeprotectedwarning\";i:530;s:21:\"titleprotectedwarning\";i:531;s:13:\"templatesused\";i:532;s:20:\"templatesusedpreview\";i:533;s:20:\"templatesusedsection\";i:534;s:18:\"template-protected\";i:535;s:22:\"template-semiprotected\";i:536;s:16:\"hiddencategories\";i:537;s:9:\"edittools\";i:538;s:13:\"nocreatetitle\";i:539;s:12:\"nocreatetext\";i:540;s:17:\"nocreate-loggedin\";i:541;s:29:\"sectioneditnotsupported-title\";i:542;s:28:\"sectioneditnotsupported-text\";i:543;s:17:\"permissionserrors\";i:544;s:21:\"permissionserrorstext\";i:545;s:32:\"permissionserrorstext-withaction\";i:546;s:26:\"recreate-moveddeleted-warn\";i:547;s:19:\"moveddeleted-notice\";i:548;s:11:\"log-fulllog\";i:549;s:17:\"edit-hook-aborted\";i:550;s:17:\"edit-gone-missing\";i:551;s:13:\"edit-conflict\";i:552;s:14:\"edit-no-change\";i:553;s:19:\"edit-already-exists\";i:554;s:32:\"expensive-parserfunction-warning\";i:555;s:33:\"expensive-parserfunction-category\";i:556;s:38:\"post-expand-template-inclusion-warning\";i:557;s:39:\"post-expand-template-inclusion-category\";i:558;s:37:\"post-expand-template-argument-warning\";i:559;s:38:\"post-expand-template-argument-category\";i:560;s:28:\"parser-template-loop-warning\";i:561;s:39:\"parser-template-recursion-depth-warning\";i:562;s:32:\"language-converter-depth-warning\";i:563;s:12:\"undo-success\";i:564;s:12:\"undo-failure\";i:565;s:10:\"undo-norev\";i:566;s:12:\"undo-summary\";i:567;s:22:\"cantcreateaccounttitle\";i:568;s:22:\"cantcreateaccount-text\";i:569;s:12:\"viewpagelogs\";i:570;s:9:\"nohistory\";i:571;s:10:\"currentrev\";i:572;s:15:\"currentrev-asof\";i:573;s:12:\"revisionasof\";i:574;s:13:\"revision-info\";i:575;s:16:\"previousrevision\";i:576;s:12:\"nextrevision\";i:577;s:19:\"currentrevisionlink\";i:578;s:3:\"cur\";i:579;s:4:\"next\";i:580;s:4:\"last\";i:581;s:10:\"page_first\";i:582;s:9:\"page_last\";i:583;s:10:\"histlegend\";i:584;s:22:\"history-fieldset-title\";i:585;s:20:\"history-show-deleted\";i:586;s:9:\"histfirst\";i:587;s:8:\"histlast\";i:588;s:11:\"historysize\";i:589;s:12:\"historyempty\";i:590;s:18:\"history-feed-title\";i:591;s:24:\"history-feed-description\";i:592;s:27:\"history-feed-item-nocomment\";i:593;s:18:\"history-feed-empty\";i:594;s:19:\"rev-deleted-comment\";i:595;s:16:\"rev-deleted-user\";i:596;s:17:\"rev-deleted-event\";i:597;s:25:\"rev-deleted-user-contribs\";i:598;s:27:\"rev-deleted-text-permission\";i:599;s:23:\"rev-deleted-text-unhide\";i:600;s:26:\"rev-suppressed-text-unhide\";i:601;s:21:\"rev-deleted-text-view\";i:602;s:24:\"rev-suppressed-text-view\";i:603;s:19:\"rev-deleted-no-diff\";i:604;s:22:\"rev-suppressed-no-diff\";i:605;s:23:\"rev-deleted-unhide-diff\";i:606;s:26:\"rev-suppressed-unhide-diff\";i:607;s:21:\"rev-deleted-diff-view\";i:608;s:24:\"rev-suppressed-diff-view\";i:609;s:12:\"rev-delundel\";i:610;s:15:\"rev-showdeleted\";i:611;s:14:\"revisiondelete\";i:612;s:23:\"revdelete-nooldid-title\";i:613;s:22:\"revdelete-nooldid-text\";i:614;s:25:\"revdelete-nologtype-title\";i:615;s:24:\"revdelete-nologtype-text\";i:616;s:23:\"revdelete-nologid-title\";i:617;s:22:\"revdelete-nologid-text\";i:618;s:17:\"revdelete-no-file\";i:619;s:27:\"revdelete-show-file-confirm\";i:620;s:26:\"revdelete-show-file-submit\";i:621;s:18:\"revdelete-selected\";i:622;s:18:\"logdelete-selected\";i:623;s:14:\"revdelete-text\";i:624;s:17:\"revdelete-confirm\";i:625;s:23:\"revdelete-suppress-text\";i:626;s:16:\"revdelete-legend\";i:627;s:19:\"revdelete-hide-text\";i:628;s:20:\"revdelete-hide-image\";i:629;s:19:\"revdelete-hide-name\";i:630;s:22:\"revdelete-hide-comment\";i:631;s:19:\"revdelete-hide-user\";i:632;s:25:\"revdelete-hide-restricted\";i:633;s:20:\"revdelete-radio-same\";i:634;s:19:\"revdelete-radio-set\";i:635;s:21:\"revdelete-radio-unset\";i:636;s:18:\"revdelete-suppress\";i:637;s:20:\"revdelete-unsuppress\";i:638;s:13:\"revdelete-log\";i:639;s:16:\"revdelete-submit\";i:640;s:18:\"revdelete-logentry\";i:641;s:18:\"logdelete-logentry\";i:642;s:17:\"revdelete-success\";i:643;s:17:\"revdelete-failure\";i:644;s:17:\"logdelete-success\";i:645;s:17:\"logdelete-failure\";i:646;s:14:\"revdel-restore\";i:647;s:22:\"revdel-restore-deleted\";i:648;s:22:\"revdel-restore-visible\";i:649;s:8:\"pagehist\";i:650;s:11:\"deletedhist\";i:651;s:17:\"revdelete-content\";i:652;s:17:\"revdelete-summary\";i:653;s:15:\"revdelete-uname\";i:654;s:20:\"revdelete-restricted\";i:655;s:22:\"revdelete-unrestricted\";i:656;s:13:\"revdelete-hid\";i:657;s:15:\"revdelete-unhid\";i:658;s:21:\"revdelete-log-message\";i:659;s:21:\"logdelete-log-message\";i:660;s:22:\"revdelete-hide-current\";i:661;s:24:\"revdelete-show-no-access\";i:662;s:26:\"revdelete-modify-no-access\";i:663;s:24:\"revdelete-modify-missing\";i:664;s:19:\"revdelete-no-change\";i:665;s:27:\"revdelete-concurrent-change\";i:666;s:25:\"revdelete-only-restricted\";i:667;s:25:\"revdelete-reason-dropdown\";i:668;s:21:\"revdelete-otherreason\";i:669;s:25:\"revdelete-reasonotherlist\";i:670;s:25:\"revdelete-edit-reasonlist\";i:671;s:18:\"revdelete-offender\";i:672;s:14:\"suppressionlog\";i:673;s:18:\"suppressionlogtext\";i:674;s:12:\"mergehistory\";i:675;s:19:\"mergehistory-header\";i:676;s:16:\"mergehistory-box\";i:677;s:17:\"mergehistory-from\";i:678;s:17:\"mergehistory-into\";i:679;s:17:\"mergehistory-list\";i:680;s:18:\"mergehistory-merge\";i:681;s:15:\"mergehistory-go\";i:682;s:19:\"mergehistory-submit\";i:683;s:18:\"mergehistory-empty\";i:684;s:20:\"mergehistory-success\";i:685;s:17:\"mergehistory-fail\";i:686;s:22:\"mergehistory-no-source\";i:687;s:27:\"mergehistory-no-destination\";i:688;s:27:\"mergehistory-invalid-source\";i:689;s:32:\"mergehistory-invalid-destination\";i:690;s:24:\"mergehistory-autocomment\";i:691;s:20:\"mergehistory-comment\";i:692;s:29:\"mergehistory-same-destination\";i:693;s:19:\"mergehistory-reason\";i:694;s:8:\"mergelog\";i:695;s:18:\"pagemerge-logentry\";i:696;s:11:\"revertmerge\";i:697;s:16:\"mergelogpagetext\";i:698;s:13:\"history-title\";i:699;s:10:\"difference\";i:700;s:20:\"difference-multipage\";i:701;s:6:\"lineno\";i:702;s:23:\"compareselectedversions\";i:703;s:24:\"showhideselectedversions\";i:704;s:8:\"editundo\";i:705;s:10:\"diff-multi\";i:706;s:20:\"diff-multi-manyusers\";i:707;s:13:\"searchresults\";i:708;s:19:\"searchresults-title\";i:709;s:16:\"searchresulttext\";i:710;s:14:\"searchsubtitle\";i:711;s:21:\"searchsubtitleinvalid\";i:712;s:14:\"toomanymatches\";i:713;s:12:\"titlematches\";i:714;s:14:\"notitlematches\";i:715;s:11:\"textmatches\";i:716;s:13:\"notextmatches\";i:717;s:5:\"prevn\";i:718;s:5:\"nextn\";i:719;s:11:\"prevn-title\";i:720;s:11:\"nextn-title\";i:721;s:11:\"shown-title\";i:722;s:12:\"viewprevnext\";i:723;s:17:\"searchmenu-legend\";i:724;s:17:\"searchmenu-exists\";i:725;s:14:\"searchmenu-new\";i:726;s:14:\"searchhelp-url\";i:727;s:17:\"searchmenu-prefix\";i:728;s:22:\"searchprofile-articles\";i:729;s:21:\"searchprofile-project\";i:730;s:20:\"searchprofile-images\";i:731;s:24:\"searchprofile-everything\";i:732;s:22:\"searchprofile-advanced\";i:733;s:30:\"searchprofile-articles-tooltip\";i:734;s:29:\"searchprofile-project-tooltip\";i:735;s:28:\"searchprofile-images-tooltip\";i:736;s:32:\"searchprofile-everything-tooltip\";i:737;s:30:\"searchprofile-advanced-tooltip\";i:738;s:18:\"search-result-size\";i:739;s:27:\"search-result-category-size\";i:740;s:19:\"search-result-score\";i:741;s:15:\"search-redirect\";i:742;s:14:\"search-section\";i:743;s:14:\"search-suggest\";i:744;s:24:\"search-interwiki-caption\";i:745;s:24:\"search-interwiki-default\";i:746;s:21:\"search-interwiki-more\";i:747;s:24:\"search-mwsuggest-enabled\";i:748;s:25:\"search-mwsuggest-disabled\";i:749;s:21:\"search-relatedarticle\";i:750;s:17:\"mwsuggest-disable\";i:751;s:23:\"searcheverything-enable\";i:752;s:13:\"searchrelated\";i:753;s:9:\"searchall\";i:754;s:14:\"showingresults\";i:755;s:17:\"showingresultsnum\";i:756;s:20:\"showingresultsheader\";i:757;s:9:\"nonefound\";i:758;s:16:\"search-nonefound\";i:759;s:11:\"powersearch\";i:760;s:18:\"powersearch-legend\";i:761;s:14:\"powersearch-ns\";i:762;s:17:\"powersearch-redir\";i:763;s:17:\"powersearch-field\";i:764;s:23:\"powersearch-togglelabel\";i:765;s:21:\"powersearch-toggleall\";i:766;s:22:\"powersearch-togglenone\";i:767;s:15:\"search-external\";i:768;s:14:\"searchdisabled\";i:769;s:10:\"qbsettings\";i:770;s:15:\"qbsettings-none\";i:771;s:20:\"qbsettings-fixedleft\";i:772;s:21:\"qbsettings-fixedright\";i:773;s:23:\"qbsettings-floatingleft\";i:774;s:24:\"qbsettings-floatingright\";i:775;s:25:\"qbsettings-directionality\";i:776;s:11:\"preferences\";i:777;s:13:\"mypreferences\";i:778;s:11:\"prefs-edits\";i:779;s:12:\"prefsnologin\";i:780;s:16:\"prefsnologintext\";i:781;s:14:\"changepassword\";i:782;s:10:\"prefs-skin\";i:783;s:12:\"skin-preview\";i:784;s:11:\"datedefault\";i:785;s:10:\"prefs-beta\";i:786;s:14:\"prefs-datetime\";i:787;s:10:\"prefs-labs\";i:788;s:14:\"prefs-personal\";i:789;s:8:\"prefs-rc\";i:790;s:15:\"prefs-watchlist\";i:791;s:20:\"prefs-watchlist-days\";i:792;s:24:\"prefs-watchlist-days-max\";i:793;s:21:\"prefs-watchlist-edits\";i:794;s:25:\"prefs-watchlist-edits-max\";i:795;s:21:\"prefs-watchlist-token\";i:796;s:10:\"prefs-misc\";i:797;s:15:\"prefs-resetpass\";i:798;s:11:\"prefs-email\";i:799;s:15:\"prefs-rendering\";i:800;s:9:\"saveprefs\";i:801;s:10:\"resetprefs\";i:802;s:12:\"restoreprefs\";i:803;s:13:\"prefs-editing\";i:804;s:18:\"prefs-edit-boxsize\";i:805;s:4:\"rows\";i:806;s:7:\"columns\";i:807;s:17:\"searchresultshead\";i:808;s:14:\"resultsperpage\";i:809;s:14:\"stub-threshold\";i:810;s:23:\"stub-threshold-disabled\";i:811;s:17:\"recentchangesdays\";i:812;s:21:\"recentchangesdays-max\";i:813;s:18:\"recentchangescount\";i:814;s:29:\"prefs-help-recentchangescount\";i:815;s:26:\"prefs-help-watchlist-token\";i:816;s:10:\"savedprefs\";i:817;s:14:\"timezonelegend\";i:818;s:9:\"localtime\";i:819;s:24:\"timezoneuseserverdefault\";i:820;s:17:\"timezoneuseoffset\";i:821;s:14:\"timezoneoffset\";i:822;s:10:\"servertime\";i:823;s:13:\"guesstimezone\";i:824;s:21:\"timezoneregion-africa\";i:825;s:22:\"timezoneregion-america\";i:826;s:25:\"timezoneregion-antarctica\";i:827;s:21:\"timezoneregion-arctic\";i:828;s:19:\"timezoneregion-asia\";i:829;s:23:\"timezoneregion-atlantic\";i:830;s:24:\"timezoneregion-australia\";i:831;s:21:\"timezoneregion-europe\";i:832;s:21:\"timezoneregion-indian\";i:833;s:22:\"timezoneregion-pacific\";i:834;s:10:\"allowemail\";i:835;s:19:\"prefs-searchoptions\";i:836;s:16:\"prefs-namespaces\";i:837;s:9:\"defaultns\";i:838;s:7:\"default\";i:839;s:11:\"prefs-files\";i:840;s:16:\"prefs-custom-css\";i:841;s:15:\"prefs-custom-js\";i:842;s:19:\"prefs-common-css-js\";i:843;s:17:\"prefs-reset-intro\";i:844;s:24:\"prefs-emailconfirm-label\";i:845;s:17:\"prefs-textboxsize\";i:846;s:9:\"youremail\";i:847;s:8:\"username\";i:848;s:3:\"uid\";i:849;s:20:\"prefs-memberingroups\";i:850;s:18:\"prefs-registration\";i:851;s:12:\"yourrealname\";i:852;s:12:\"yourlanguage\";i:853;s:11:\"yourvariant\";i:854;s:8:\"yournick\";i:855;s:20:\"prefs-help-signature\";i:856;s:6:\"badsig\";i:857;s:12:\"badsiglength\";i:858;s:10:\"yourgender\";i:859;s:14:\"gender-unknown\";i:860;s:11:\"gender-male\";i:861;s:13:\"gender-female\";i:862;s:17:\"prefs-help-gender\";i:863;s:5:\"email\";i:864;s:19:\"prefs-help-realname\";i:865;s:16:\"prefs-help-email\";i:866;s:23:\"prefs-help-email-others\";i:867;s:25:\"prefs-help-email-required\";i:868;s:10:\"prefs-info\";i:869;s:10:\"prefs-i18n\";i:870;s:15:\"prefs-signature\";i:871;s:16:\"prefs-dateformat\";i:872;s:16:\"prefs-timeoffset\";i:873;s:21:\"prefs-advancedediting\";i:874;s:16:\"prefs-advancedrc\";i:875;s:23:\"prefs-advancedrendering\";i:876;s:27:\"prefs-advancedsearchoptions\";i:877;s:23:\"prefs-advancedwatchlist\";i:878;s:15:\"prefs-displayrc\";i:879;s:26:\"prefs-displaysearchoptions\";i:880;s:22:\"prefs-displaywatchlist\";i:881;s:11:\"prefs-diffs\";i:882;s:28:\"email-address-validity-valid\";i:883;s:30:\"email-address-validity-invalid\";i:884;s:10:\"userrights\";i:885;s:22:\"userrights-lookup-user\";i:886;s:24:\"userrights-user-editname\";i:887;s:13:\"editusergroup\";i:888;s:11:\"editinguser\";i:889;s:24:\"userrights-editusergroup\";i:890;s:14:\"saveusergroups\";i:891;s:23:\"userrights-groupsmember\";i:892;s:28:\"userrights-groupsmember-auto\";i:893;s:22:\"userrights-groups-help\";i:894;s:17:\"userrights-reason\";i:895;s:23:\"userrights-no-interwiki\";i:896;s:21:\"userrights-nodatabase\";i:897;s:18:\"userrights-nologin\";i:898;s:21:\"userrights-notallowed\";i:899;s:25:\"userrights-changeable-col\";i:900;s:27:\"userrights-unchangeable-col\";i:901;s:5:\"group\";i:902;s:10:\"group-user\";i:903;s:19:\"group-autoconfirmed\";i:904;s:9:\"group-bot\";i:905;s:11:\"group-sysop\";i:906;s:16:\"group-bureaucrat\";i:907;s:14:\"group-suppress\";i:908;s:9:\"group-all\";i:909;s:17:\"group-user-member\";i:910;s:26:\"group-autoconfirmed-member\";i:911;s:16:\"group-bot-member\";i:912;s:18:\"group-sysop-member\";i:913;s:23:\"group-bureaucrat-member\";i:914;s:21:\"group-suppress-member\";i:915;s:14:\"grouppage-user\";i:916;s:23:\"grouppage-autoconfirmed\";i:917;s:13:\"grouppage-bot\";i:918;s:15:\"grouppage-sysop\";i:919;s:20:\"grouppage-bureaucrat\";i:920;s:18:\"grouppage-suppress\";i:921;s:10:\"right-read\";i:922;s:10:\"right-edit\";i:923;s:16:\"right-createpage\";i:924;s:16:\"right-createtalk\";i:925;s:19:\"right-createaccount\";i:926;s:15:\"right-minoredit\";i:927;s:10:\"right-move\";i:928;s:19:\"right-move-subpages\";i:929;s:24:\"right-move-rootuserpages\";i:930;s:14:\"right-movefile\";i:931;s:22:\"right-suppressredirect\";i:932;s:12:\"right-upload\";i:933;s:14:\"right-reupload\";i:934;s:18:\"right-reupload-own\";i:935;s:21:\"right-reupload-shared\";i:936;s:19:\"right-upload_by_url\";i:937;s:11:\"right-purge\";i:938;s:19:\"right-autoconfirmed\";i:939;s:9:\"right-bot\";i:940;s:20:\"right-nominornewtalk\";i:941;s:19:\"right-apihighlimits\";i:942;s:14:\"right-writeapi\";i:943;s:12:\"right-delete\";i:944;s:15:\"right-bigdelete\";i:945;s:20:\"right-deleterevision\";i:946;s:20:\"right-deletedhistory\";i:947;s:17:\"right-deletedtext\";i:948;s:19:\"right-browsearchive\";i:949;s:14:\"right-undelete\";i:950;s:22:\"right-suppressrevision\";i:951;s:20:\"right-suppressionlog\";i:952;s:11:\"right-block\";i:953;s:16:\"right-blockemail\";i:954;s:14:\"right-hideuser\";i:955;s:20:\"right-ipblock-exempt\";i:956;s:21:\"right-proxyunbannable\";i:957;s:17:\"right-unblockself\";i:958;s:13:\"right-protect\";i:959;s:19:\"right-editprotected\";i:960;s:19:\"right-editinterface\";i:961;s:19:\"right-editusercssjs\";i:962;s:17:\"right-editusercss\";i:963;s:16:\"right-edituserjs\";i:964;s:14:\"right-rollback\";i:965;s:18:\"right-markbotedits\";i:966;s:17:\"right-noratelimit\";i:967;s:12:\"right-import\";i:968;s:18:\"right-importupload\";i:969;s:12:\"right-patrol\";i:970;s:16:\"right-autopatrol\";i:971;s:17:\"right-patrolmarks\";i:972;s:20:\"right-unwatchedpages\";i:973;s:15:\"right-trackback\";i:974;s:18:\"right-mergehistory\";i:975;s:16:\"right-userrights\";i:976;s:26:\"right-userrights-interwiki\";i:977;s:15:\"right-siteadmin\";i:978;s:27:\"right-override-export-depth\";i:979;s:15:\"right-sendemail\";i:980;s:9:\"rightslog\";i:981;s:13:\"rightslogtext\";i:982;s:14:\"rightslogentry\";i:983;s:26:\"rightslogentry-autopromote\";i:984;s:10:\"rightsnone\";i:985;s:11:\"action-read\";i:986;s:11:\"action-edit\";i:987;s:17:\"action-createpage\";i:988;s:17:\"action-createtalk\";i:989;s:20:\"action-createaccount\";i:990;s:16:\"action-minoredit\";i:991;s:11:\"action-move\";i:992;s:20:\"action-move-subpages\";i:993;s:25:\"action-move-rootuserpages\";i:994;s:15:\"action-movefile\";i:995;s:13:\"action-upload\";i:996;s:15:\"action-reupload\";i:997;s:22:\"action-reupload-shared\";i:998;s:20:\"action-upload_by_url\";i:999;s:15:\"action-writeapi\";i:1000;s:13:\"action-delete\";i:1001;s:21:\"action-deleterevision\";i:1002;s:21:\"action-deletedhistory\";i:1003;s:20:\"action-browsearchive\";i:1004;s:15:\"action-undelete\";i:1005;s:23:\"action-suppressrevision\";i:1006;s:21:\"action-suppressionlog\";i:1007;s:12:\"action-block\";i:1008;s:14:\"action-protect\";i:1009;s:13:\"action-import\";i:1010;s:19:\"action-importupload\";i:1011;s:13:\"action-patrol\";i:1012;s:17:\"action-autopatrol\";i:1013;s:21:\"action-unwatchedpages\";i:1014;s:16:\"action-trackback\";i:1015;s:19:\"action-mergehistory\";i:1016;s:17:\"action-userrights\";i:1017;s:27:\"action-userrights-interwiki\";i:1018;s:16:\"action-siteadmin\";i:1019;s:8:\"nchanges\";i:1020;s:13:\"recentchanges\";i:1021;s:20:\"recentchanges-legend\";i:1022;s:17:\"recentchangestext\";i:1023;s:30:\"recentchanges-feed-description\";i:1024;s:27:\"recentchanges-label-newpage\";i:1025;s:25:\"recentchanges-label-minor\";i:1026;s:23:\"recentchanges-label-bot\";i:1027;s:31:\"recentchanges-label-unpatrolled\";i:1028;s:6:\"rcnote\";i:1029;s:10:\"rcnotefrom\";i:1030;s:10:\"rclistfrom\";i:1031;s:15:\"rcshowhideminor\";i:1032;s:14:\"rcshowhidebots\";i:1033;s:13:\"rcshowhideliu\";i:1034;s:15:\"rcshowhideanons\";i:1035;s:14:\"rcshowhidepatr\";i:1036;s:14:\"rcshowhidemine\";i:1037;s:7:\"rclinks\";i:1038;s:4:\"diff\";i:1039;s:4:\"hist\";i:1040;s:4:\"hide\";i:1041;s:4:\"show\";i:1042;s:15:\"minoreditletter\";i:1043;s:13:\"newpageletter\";i:1044;s:13:\"boteditletter\";i:1045;s:33:\"number_of_watching_users_pageview\";i:1046;s:13:\"rc_categories\";i:1047;s:17:\"rc_categories_any\";i:1048;s:17:\"newsectionsummary\";i:1049;s:18:\"rc-enhanced-expand\";i:1050;s:16:\"rc-enhanced-hide\";i:1051;s:19:\"recentchangeslinked\";i:1052;s:24:\"recentchangeslinked-feed\";i:1053;s:27:\"recentchangeslinked-toolbox\";i:1054;s:25:\"recentchangeslinked-title\";i:1055;s:28:\"recentchangeslinked-noresult\";i:1056;s:27:\"recentchangeslinked-summary\";i:1057;s:24:\"recentchangeslinked-page\";i:1058;s:22:\"recentchangeslinked-to\";i:1059;s:6:\"upload\";i:1060;s:9:\"uploadbtn\";i:1061;s:12:\"reuploaddesc\";i:1062;s:15:\"upload-tryagain\";i:1063;s:13:\"uploadnologin\";i:1064;s:17:\"uploadnologintext\";i:1065;s:24:\"upload_directory_missing\";i:1066;s:26:\"upload_directory_read_only\";i:1067;s:11:\"uploaderror\";i:1068;s:23:\"upload-recreate-warning\";i:1069;s:10:\"uploadtext\";i:1070;s:16:\"upload-permitted\";i:1071;s:16:\"upload-preferred\";i:1072;s:17:\"upload-prohibited\";i:1073;s:9:\"uploadlog\";i:1074;s:13:\"uploadlogpage\";i:1075;s:17:\"uploadlogpagetext\";i:1076;s:8:\"filename\";i:1077;s:8:\"filedesc\";i:1078;s:17:\"fileuploadsummary\";i:1079;s:19:\"filereuploadsummary\";i:1080;s:10:\"filestatus\";i:1081;s:10:\"filesource\";i:1082;s:13:\"uploadedfiles\";i:1083;s:13:\"ignorewarning\";i:1084;s:14:\"ignorewarnings\";i:1085;s:10:\"minlength1\";i:1086;s:15:\"illegalfilename\";i:1087;s:11:\"badfilename\";i:1088;s:22:\"filetype-mime-mismatch\";i:1089;s:16:\"filetype-badmime\";i:1090;s:20:\"filetype-bad-ie-mime\";i:1091;s:22:\"filetype-unwanted-type\";i:1092;s:20:\"filetype-banned-type\";i:1093;s:16:\"filetype-missing\";i:1094;s:10:\"empty-file\";i:1095;s:14:\"file-too-large\";i:1096;s:17:\"filename-tooshort\";i:1097;s:15:\"filetype-banned\";i:1098;s:18:\"verification-error\";i:1099;s:11:\"hookaborted\";i:1100;s:16:\"illegal-filename\";i:1101;s:9:\"overwrite\";i:1102;s:13:\"unknown-error\";i:1103;s:16:\"tmp-create-error\";i:1104;s:15:\"tmp-write-error\";i:1105;s:10:\"large-file\";i:1106;s:15:\"largefileserver\";i:1107;s:9:\"emptyfile\";i:1108;s:25:\"windows-nonascii-filename\";i:1109;s:10:\"fileexists\";i:1110;s:14:\"filepageexists\";i:1111;s:20:\"fileexists-extension\";i:1112;s:24:\"fileexists-thumbnail-yes\";i:1113;s:17:\"file-thumbnail-no\";i:1114;s:20:\"fileexists-forbidden\";i:1115;s:27:\"fileexists-shared-forbidden\";i:1116;s:21:\"file-exists-duplicate\";i:1117;s:22:\"file-deleted-duplicate\";i:1118;s:13:\"uploadwarning\";i:1119;s:18:\"uploadwarning-text\";i:1120;s:8:\"savefile\";i:1121;s:13:\"uploadedimage\";i:1122;s:14:\"overwroteimage\";i:1123;s:14:\"uploaddisabled\";i:1124;s:18:\"copyuploaddisabled\";i:1125;s:20:\"uploadfromurl-queued\";i:1126;s:18:\"uploaddisabledtext\";i:1127;s:22:\"php-uploaddisabledtext\";i:1128;s:14:\"uploadscripted\";i:1129;s:11:\"uploadvirus\";i:1130;s:10:\"uploadjava\";i:1131;s:13:\"upload-source\";i:1132;s:14:\"sourcefilename\";i:1133;s:9:\"sourceurl\";i:1134;s:12:\"destfilename\";i:1135;s:18:\"upload-maxfilesize\";i:1136;s:18:\"upload-description\";i:1137;s:14:\"upload-options\";i:1138;s:15:\"watchthisupload\";i:1139;s:14:\"filewasdeleted\";i:1140;s:19:\"filename-bad-prefix\";i:1141;s:19:\"upload-success-subj\";i:1142;s:18:\"upload-success-msg\";i:1143;s:19:\"upload-failure-subj\";i:1144;s:18:\"upload-failure-msg\";i:1145;s:19:\"upload-warning-subj\";i:1146;s:18:\"upload-warning-msg\";i:1147;s:18:\"upload-proto-error\";i:1148;s:23:\"upload-proto-error-text\";i:1149;s:17:\"upload-file-error\";i:1150;s:22:\"upload-file-error-text\";i:1151;s:17:\"upload-misc-error\";i:1152;s:22:\"upload-misc-error-text\";i:1153;s:25:\"upload-too-many-redirects\";i:1154;s:19:\"upload-unknown-size\";i:1155;s:17:\"upload-http-error\";i:1156;s:19:\"zip-file-open-error\";i:1157;s:16:\"zip-wrong-format\";i:1158;s:7:\"zip-bad\";i:1159;s:15:\"zip-unsupported\";i:1160;s:11:\"uploadstash\";i:1161;s:19:\"uploadstash-summary\";i:1162;s:17:\"uploadstash-clear\";i:1163;s:19:\"uploadstash-nofiles\";i:1164;s:20:\"uploadstash-badtoken\";i:1165;s:20:\"uploadstash-errclear\";i:1166;s:19:\"uploadstash-refresh\";i:1167;s:21:\"img-auth-accessdenied\";i:1168;s:19:\"img-auth-nopathinfo\";i:1169;s:17:\"img-auth-notindir\";i:1170;s:17:\"img-auth-badtitle\";i:1171;s:19:\"img-auth-nologinnWL\";i:1172;s:15:\"img-auth-nofile\";i:1173;s:14:\"img-auth-isdir\";i:1174;s:18:\"img-auth-streaming\";i:1175;s:15:\"img-auth-public\";i:1176;s:15:\"img-auth-noread\";i:1177;s:25:\"img-auth-bad-query-string\";i:1178;s:16:\"http-invalid-url\";i:1179;s:19:\"http-invalid-scheme\";i:1180;s:18:\"http-request-error\";i:1181;s:15:\"http-read-error\";i:1182;s:14:\"http-timed-out\";i:1183;s:15:\"http-curl-error\";i:1184;s:21:\"http-host-unreachable\";i:1185;s:15:\"http-bad-status\";i:1186;s:18:\"upload-curl-error6\";i:1187;s:23:\"upload-curl-error6-text\";i:1188;s:19:\"upload-curl-error28\";i:1189;s:24:\"upload-curl-error28-text\";i:1190;s:7:\"license\";i:1191;s:14:\"license-header\";i:1192;s:9:\"nolicense\";i:1193;s:17:\"license-nopreview\";i:1194;s:17:\"upload_source_url\";i:1195;s:18:\"upload_source_file\";i:1196;s:17:\"listfiles-summary\";i:1197;s:20:\"listfiles_search_for\";i:1198;s:7:\"imgfile\";i:1199;s:9:\"listfiles\";i:1200;s:15:\"listfiles_thumb\";i:1201;s:14:\"listfiles_date\";i:1202;s:14:\"listfiles_name\";i:1203;s:14:\"listfiles_user\";i:1204;s:14:\"listfiles_size\";i:1205;s:21:\"listfiles_description\";i:1206;s:15:\"listfiles_count\";i:1207;s:16:\"file-anchor-link\";i:1208;s:8:\"filehist\";i:1209;s:13:\"filehist-help\";i:1210;s:18:\"filehist-deleteall\";i:1211;s:18:\"filehist-deleteone\";i:1212;s:15:\"filehist-revert\";i:1213;s:16:\"filehist-current\";i:1214;s:17:\"filehist-datetime\";i:1215;s:14:\"filehist-thumb\";i:1216;s:18:\"filehist-thumbtext\";i:1217;s:16:\"filehist-nothumb\";i:1218;s:13:\"filehist-user\";i:1219;s:19:\"filehist-dimensions\";i:1220;s:17:\"filehist-filesize\";i:1221;s:16:\"filehist-comment\";i:1222;s:16:\"filehist-missing\";i:1223;s:10:\"imagelinks\";i:1224;s:12:\"linkstoimage\";i:1225;s:17:\"linkstoimage-more\";i:1226;s:14:\"nolinkstoimage\";i:1227;s:16:\"morelinkstoimage\";i:1228;s:21:\"linkstoimage-redirect\";i:1229;s:16:\"duplicatesoffile\";i:1230;s:12:\"sharedupload\";i:1231;s:23:\"sharedupload-desc-there\";i:1232;s:22:\"sharedupload-desc-here\";i:1233;s:15:\"filepage-nofile\";i:1234;s:20:\"filepage-nofile-link\";i:1235;s:25:\"uploadnewversion-linktext\";i:1236;s:16:\"shared-repo-from\";i:1237;s:11:\"shared-repo\";i:1238;s:10:\"filerevert\";i:1239;s:17:\"filerevert-legend\";i:1240;s:16:\"filerevert-intro\";i:1241;s:18:\"filerevert-comment\";i:1242;s:25:\"filerevert-defaultcomment\";i:1243;s:17:\"filerevert-submit\";i:1244;s:18:\"filerevert-success\";i:1245;s:21:\"filerevert-badversion\";i:1246;s:10:\"filedelete\";i:1247;s:17:\"filedelete-legend\";i:1248;s:16:\"filedelete-intro\";i:1249;s:20:\"filedelete-intro-old\";i:1250;s:18:\"filedelete-comment\";i:1251;s:17:\"filedelete-submit\";i:1252;s:18:\"filedelete-success\";i:1253;s:22:\"filedelete-success-old\";i:1254;s:17:\"filedelete-nofile\";i:1255;s:21:\"filedelete-nofile-old\";i:1256;s:22:\"filedelete-otherreason\";i:1257;s:27:\"filedelete-reason-otherlist\";i:1258;s:26:\"filedelete-reason-dropdown\";i:1259;s:26:\"filedelete-edit-reasonlist\";i:1260;s:22:\"filedelete-maintenance\";i:1261;s:10:\"mimesearch\";i:1262;s:18:\"mimesearch-summary\";i:1263;s:8:\"mimetype\";i:1264;s:8:\"download\";i:1265;s:14:\"unwatchedpages\";i:1266;s:13:\"listredirects\";i:1267;s:15:\"unusedtemplates\";i:1268;s:19:\"unusedtemplatestext\";i:1269;s:18:\"unusedtemplateswlh\";i:1270;s:10:\"randompage\";i:1271;s:18:\"randompage-nopages\";i:1272;s:14:\"randomredirect\";i:1273;s:22:\"randomredirect-nopages\";i:1274;s:10:\"statistics\";i:1275;s:23:\"statistics-header-pages\";i:1276;s:23:\"statistics-header-edits\";i:1277;s:23:\"statistics-header-views\";i:1278;s:23:\"statistics-header-users\";i:1279;s:23:\"statistics-header-hooks\";i:1280;s:19:\"statistics-articles\";i:1281;s:16:\"statistics-pages\";i:1282;s:21:\"statistics-pages-desc\";i:1283;s:16:\"statistics-files\";i:1284;s:16:\"statistics-edits\";i:1285;s:24:\"statistics-edits-average\";i:1286;s:22:\"statistics-views-total\";i:1287;s:27:\"statistics-views-total-desc\";i:1288;s:24:\"statistics-views-peredit\";i:1289;s:16:\"statistics-users\";i:1290;s:23:\"statistics-users-active\";i:1291;s:28:\"statistics-users-active-desc\";i:1292;s:22:\"statistics-mostpopular\";i:1293;s:15:\"disambiguations\";i:1294;s:19:\"disambiguationspage\";i:1295;s:20:\"disambiguations-text\";i:1296;s:15:\"doubleredirects\";i:1297;s:19:\"doubleredirectstext\";i:1298;s:26:\"double-redirect-fixed-move\";i:1299;s:33:\"double-redirect-fixed-maintenance\";i:1300;s:21:\"double-redirect-fixer\";i:1301;s:15:\"brokenredirects\";i:1302;s:19:\"brokenredirectstext\";i:1303;s:20:\"brokenredirects-edit\";i:1304;s:22:\"brokenredirects-delete\";i:1305;s:16:\"withoutinterwiki\";i:1306;s:24:\"withoutinterwiki-summary\";i:1307;s:23:\"withoutinterwiki-legend\";i:1308;s:23:\"withoutinterwiki-submit\";i:1309;s:15:\"fewestrevisions\";i:1310;s:6:\"nbytes\";i:1311;s:11:\"ncategories\";i:1312;s:6:\"nlinks\";i:1313;s:8:\"nmembers\";i:1314;s:10:\"nrevisions\";i:1315;s:6:\"nviews\";i:1316;s:11:\"nimagelinks\";i:1317;s:14:\"ntransclusions\";i:1318;s:17:\"specialpage-empty\";i:1319;s:11:\"lonelypages\";i:1320;s:15:\"lonelypagestext\";i:1321;s:18:\"uncategorizedpages\";i:1322;s:23:\"uncategorizedcategories\";i:1323;s:19:\"uncategorizedimages\";i:1324;s:22:\"uncategorizedtemplates\";i:1325;s:16:\"unusedcategories\";i:1326;s:12:\"unusedimages\";i:1327;s:12:\"popularpages\";i:1328;s:16:\"wantedcategories\";i:1329;s:11:\"wantedpages\";i:1330;s:20:\"wantedpages-badtitle\";i:1331;s:11:\"wantedfiles\";i:1332;s:15:\"wantedtemplates\";i:1333;s:10:\"mostlinked\";i:1334;s:20:\"mostlinkedcategories\";i:1335;s:19:\"mostlinkedtemplates\";i:1336;s:14:\"mostcategories\";i:1337;s:10:\"mostimages\";i:1338;s:13:\"mostrevisions\";i:1339;s:11:\"prefixindex\";i:1340;s:10:\"shortpages\";i:1341;s:9:\"longpages\";i:1342;s:12:\"deadendpages\";i:1343;s:16:\"deadendpagestext\";i:1344;s:14:\"protectedpages\";i:1345;s:20:\"protectedpages-indef\";i:1346;s:22:\"protectedpages-cascade\";i:1347;s:18:\"protectedpagestext\";i:1348;s:19:\"protectedpagesempty\";i:1349;s:15:\"protectedtitles\";i:1350;s:19:\"protectedtitlestext\";i:1351;s:20:\"protectedtitlesempty\";i:1352;s:9:\"listusers\";i:1353;s:19:\"listusers-editsonly\";i:1354;s:22:\"listusers-creationsort\";i:1355;s:13:\"usereditcount\";i:1356;s:11:\"usercreated\";i:1357;s:8:\"newpages\";i:1358;s:17:\"newpages-username\";i:1359;s:12:\"ancientpages\";i:1360;s:4:\"move\";i:1361;s:12:\"movethispage\";i:1362;s:16:\"unusedimagestext\";i:1363;s:20:\"unusedcategoriestext\";i:1364;s:13:\"notargettitle\";i:1365;s:12:\"notargettext\";i:1366;s:11:\"nopagetitle\";i:1367;s:10:\"nopagetext\";i:1368;s:13:\"pager-newer-n\";i:1369;s:13:\"pager-older-n\";i:1370;s:8:\"suppress\";i:1371;s:18:\"querypage-disabled\";i:1372;s:11:\"booksources\";i:1373;s:25:\"booksources-search-legend\";i:1374;s:14:\"booksources-go\";i:1375;s:16:\"booksources-text\";i:1376;s:24:\"booksources-invalid-isbn\";i:1377;s:19:\"specialloguserlabel\";i:1378;s:20:\"speciallogtitlelabel\";i:1379;s:3:\"log\";i:1380;s:13:\"all-logs-page\";i:1381;s:11:\"alllogstext\";i:1382;s:8:\"logempty\";i:1383;s:18:\"log-title-wildcard\";i:1384;s:8:\"allpages\";i:1385;s:14:\"alphaindexline\";i:1386;s:8:\"nextpage\";i:1387;s:8:\"prevpage\";i:1388;s:12:\"allpagesfrom\";i:1389;s:10:\"allpagesto\";i:1390;s:11:\"allarticles\";i:1391;s:14:\"allinnamespace\";i:1392;s:17:\"allnotinnamespace\";i:1393;s:12:\"allpagesprev\";i:1394;s:12:\"allpagesnext\";i:1395;s:14:\"allpagessubmit\";i:1396;s:14:\"allpagesprefix\";i:1397;s:16:\"allpagesbadtitle\";i:1398;s:15:\"allpages-bad-ns\";i:1399;s:10:\"categories\";i:1400;s:18:\"categoriespagetext\";i:1401;s:14:\"categoriesfrom\";i:1402;s:29:\"special-categories-sort-count\";i:1403;s:27:\"special-categories-sort-abc\";i:1404;s:20:\"deletedcontributions\";i:1405;s:26:\"deletedcontributions-title\";i:1406;s:32:\"sp-deletedcontributions-contribs\";i:1407;s:10:\"linksearch\";i:1408;s:14:\"linksearch-pat\";i:1409;s:13:\"linksearch-ns\";i:1410;s:13:\"linksearch-ok\";i:1411;s:15:\"linksearch-text\";i:1412;s:15:\"linksearch-line\";i:1413;s:16:\"linksearch-error\";i:1414;s:13:\"listusersfrom\";i:1415;s:16:\"listusers-submit\";i:1416;s:18:\"listusers-noresult\";i:1417;s:17:\"listusers-blocked\";i:1418;s:11:\"activeusers\";i:1419;s:17:\"activeusers-intro\";i:1420;s:17:\"activeusers-count\";i:1421;s:16:\"activeusers-from\";i:1422;s:20:\"activeusers-hidebots\";i:1423;s:22:\"activeusers-hidesysops\";i:1424;s:20:\"activeusers-noresult\";i:1425;s:14:\"newuserlogpage\";i:1426;s:18:\"newuserlogpagetext\";i:1427;s:18:\"newuserlog-byemail\";i:1428;s:23:\"newuserlog-create-entry\";i:1429;s:24:\"newuserlog-create2-entry\";i:1430;s:27:\"newuserlog-autocreate-entry\";i:1431;s:15:\"listgrouprights\";i:1432;s:23:\"listgrouprights-summary\";i:1433;s:19:\"listgrouprights-key\";i:1434;s:21:\"listgrouprights-group\";i:1435;s:22:\"listgrouprights-rights\";i:1436;s:24:\"listgrouprights-helppage\";i:1437;s:23:\"listgrouprights-members\";i:1438;s:24:\"listgrouprights-addgroup\";i:1439;s:27:\"listgrouprights-removegroup\";i:1440;s:28:\"listgrouprights-addgroup-all\";i:1441;s:31:\"listgrouprights-removegroup-all\";i:1442;s:29:\"listgrouprights-addgroup-self\";i:1443;s:32:\"listgrouprights-removegroup-self\";i:1444;s:33:\"listgrouprights-addgroup-self-all\";i:1445;s:36:\"listgrouprights-removegroup-self-all\";i:1446;s:11:\"mailnologin\";i:1447;s:15:\"mailnologintext\";i:1448;s:9:\"emailuser\";i:1449;s:9:\"emailpage\";i:1450;s:13:\"emailpagetext\";i:1451;s:15:\"usermailererror\";i:1452;s:15:\"defemailsubject\";i:1453;s:16:\"usermaildisabled\";i:1454;s:20:\"usermaildisabledtext\";i:1455;s:12:\"noemailtitle\";i:1456;s:11:\"noemailtext\";i:1457;s:16:\"nowikiemailtitle\";i:1458;s:15:\"nowikiemailtext\";i:1459;s:13:\"emailnotarget\";i:1460;s:11:\"emailtarget\";i:1461;s:13:\"emailusername\";i:1462;s:19:\"emailusernamesubmit\";i:1463;s:12:\"email-legend\";i:1464;s:9:\"emailfrom\";i:1465;s:7:\"emailto\";i:1466;s:12:\"emailsubject\";i:1467;s:12:\"emailmessage\";i:1468;s:9:\"emailsend\";i:1469;s:9:\"emailccme\";i:1470;s:14:\"emailccsubject\";i:1471;s:9:\"emailsent\";i:1472;s:13:\"emailsenttext\";i:1473;s:15:\"emailuserfooter\";i:1474;s:19:\"usermessage-summary\";i:1475;s:18:\"usermessage-editor\";i:1476;s:9:\"watchlist\";i:1477;s:11:\"mywatchlist\";i:1478;s:13:\"watchlistfor2\";i:1479;s:11:\"nowatchlist\";i:1480;s:17:\"watchlistanontext\";i:1481;s:12:\"watchnologin\";i:1482;s:16:\"watchnologintext\";i:1483;s:8:\"addwatch\";i:1484;s:14:\"addedwatchtext\";i:1485;s:11:\"removewatch\";i:1486;s:16:\"removedwatchtext\";i:1487;s:5:\"watch\";i:1488;s:13:\"watchthispage\";i:1489;s:7:\"unwatch\";i:1490;s:15:\"unwatchthispage\";i:1491;s:12:\"notanarticle\";i:1492;s:13:\"notvisiblerev\";i:1493;s:13:\"watchnochange\";i:1494;s:17:\"watchlist-details\";i:1495;s:15:\"wlheader-enotif\";i:1496;s:20:\"wlheader-showupdated\";i:1497;s:18:\"watchmethod-recent\";i:1498;s:16:\"watchmethod-list\";i:1499;s:17:\"watchlistcontains\";i:1500;s:15:\"iteminvalidname\";i:1501;s:6:\"wlnote\";i:1502;s:10:\"wlshowlast\";i:1503;s:17:\"watchlist-options\";i:1504;s:8:\"watching\";i:1505;s:10:\"unwatching\";i:1506;s:14:\"watcherrortext\";i:1507;s:13:\"enotif_mailer\";i:1508;s:12:\"enotif_reset\";i:1509;s:18:\"enotif_newpagetext\";i:1510;s:28:\"enotif_impersonal_salutation\";i:1511;s:7:\"changed\";i:1512;s:7:\"created\";i:1513;s:14:\"enotif_subject\";i:1514;s:18:\"enotif_lastvisited\";i:1515;s:15:\"enotif_lastdiff\";i:1516;s:18:\"enotif_anon_editor\";i:1517;s:11:\"enotif_body\";i:1518;s:10:\"deletepage\";i:1519;s:7:\"confirm\";i:1520;s:9:\"excontent\";i:1521;s:15:\"excontentauthor\";i:1522;s:13:\"exbeforeblank\";i:1523;s:7:\"exblank\";i:1524;s:14:\"delete-confirm\";i:1525;s:13:\"delete-legend\";i:1526;s:14:\"historywarning\";i:1527;s:17:\"confirmdeletetext\";i:1528;s:14:\"actioncomplete\";i:1529;s:12:\"actionfailed\";i:1530;s:11:\"deletedtext\";i:1531;s:14:\"deletedarticle\";i:1532;s:17:\"suppressedarticle\";i:1533;s:10:\"dellogpage\";i:1534;s:14:\"dellogpagetext\";i:1535;s:11:\"deletionlog\";i:1536;s:8:\"reverted\";i:1537;s:13:\"deletecomment\";i:1538;s:17:\"deleteotherreason\";i:1539;s:21:\"deletereasonotherlist\";i:1540;s:21:\"deletereason-dropdown\";i:1541;s:22:\"delete-edit-reasonlist\";i:1542;s:13:\"delete-toobig\";i:1543;s:21:\"delete-warning-toobig\";i:1544;s:8:\"rollback\";i:1545;s:14:\"rollback_short\";i:1546;s:12:\"rollbacklink\";i:1547;s:14:\"rollbackfailed\";i:1548;s:12:\"cantrollback\";i:1549;s:13:\"alreadyrolled\";i:1550;s:11:\"editcomment\";i:1551;s:10:\"revertpage\";i:1552;s:17:\"revertpage-nouser\";i:1553;s:16:\"rollback-success\";i:1554;s:20:\"sessionfailure-title\";i:1555;s:14:\"sessionfailure\";i:1556;s:14:\"protectlogpage\";i:1557;s:14:\"protectlogtext\";i:1558;s:16:\"protectedarticle\";i:1559;s:25:\"modifiedarticleprotection\";i:1560;s:18:\"unprotectedarticle\";i:1561;s:22:\"movedarticleprotection\";i:1562;s:13:\"protect-title\";i:1563;s:14:\"prot_1movedto2\";i:1564;s:14:\"protect-legend\";i:1565;s:14:\"protectcomment\";i:1566;s:13:\"protectexpiry\";i:1567;s:22:\"protect_expiry_invalid\";i:1568;s:18:\"protect_expiry_old\";i:1569;s:27:\"protect-unchain-permissions\";i:1570;s:12:\"protect-text\";i:1571;s:22:\"protect-locked-blocked\";i:1572;s:21:\"protect-locked-dblock\";i:1573;s:21:\"protect-locked-access\";i:1574;s:17:\"protect-cascadeon\";i:1575;s:15:\"protect-default\";i:1576;s:16:\"protect-fallback\";i:1577;s:27:\"protect-level-autoconfirmed\";i:1578;s:19:\"protect-level-sysop\";i:1579;s:23:\"protect-summary-cascade\";i:1580;s:16:\"protect-expiring\";i:1581;s:25:\"protect-expiry-indefinite\";i:1582;s:15:\"protect-cascade\";i:1583;s:16:\"protect-cantedit\";i:1584;s:17:\"protect-othertime\";i:1585;s:20:\"protect-othertime-op\";i:1586;s:23:\"protect-existing-expiry\";i:1587;s:19:\"protect-otherreason\";i:1588;s:22:\"protect-otherreason-op\";i:1589;s:16:\"protect-dropdown\";i:1590;s:23:\"protect-edit-reasonlist\";i:1591;s:22:\"protect-expiry-options\";i:1592;s:16:\"restriction-type\";i:1593;s:17:\"restriction-level\";i:1594;s:12:\"minimum-size\";i:1595;s:12:\"maximum-size\";i:1596;s:8:\"pagesize\";i:1597;s:16:\"restriction-edit\";i:1598;s:16:\"restriction-move\";i:1599;s:18:\"restriction-create\";i:1600;s:18:\"restriction-upload\";i:1601;s:23:\"restriction-level-sysop\";i:1602;s:31:\"restriction-level-autoconfirmed\";i:1603;s:21:\"restriction-level-all\";i:1604;s:8:\"undelete\";i:1605;s:12:\"undeletepage\";i:1606;s:17:\"undeletepagetitle\";i:1607;s:15:\"viewdeletedpage\";i:1608;s:16:\"undeletepagetext\";i:1609;s:23:\"undelete-fieldset-title\";i:1610;s:17:\"undeleteextrahelp\";i:1611;s:17:\"undeleterevisions\";i:1612;s:15:\"undeletehistory\";i:1613;s:14:\"undeleterevdel\";i:1614;s:22:\"undeletehistorynoadmin\";i:1615;s:17:\"undelete-revision\";i:1616;s:24:\"undeleterevision-missing\";i:1617;s:15:\"undelete-nodiff\";i:1618;s:11:\"undeletebtn\";i:1619;s:12:\"undeletelink\";i:1620;s:16:\"undeleteviewlink\";i:1621;s:13:\"undeletereset\";i:1622;s:14:\"undeleteinvert\";i:1623;s:15:\"undeletecomment\";i:1624;s:16:\"undeletedarticle\";i:1625;s:18:\"undeletedrevisions\";i:1626;s:24:\"undeletedrevisions-files\";i:1627;s:14:\"undeletedfiles\";i:1628;s:14:\"cannotundelete\";i:1629;s:13:\"undeletedpage\";i:1630;s:15:\"undelete-header\";i:1631;s:19:\"undelete-search-box\";i:1632;s:22:\"undelete-search-prefix\";i:1633;s:22:\"undelete-search-submit\";i:1634;s:19:\"undelete-no-results\";i:1635;s:26:\"undelete-filename-mismatch\";i:1636;s:22:\"undelete-bad-store-key\";i:1637;s:22:\"undelete-cleanup-error\";i:1638;s:28:\"undelete-missing-filearchive\";i:1639;s:20:\"undelete-error-short\";i:1640;s:19:\"undelete-error-long\";i:1641;s:26:\"undelete-show-file-confirm\";i:1642;s:25:\"undelete-show-file-submit\";i:1643;s:9:\"namespace\";i:1644;s:6:\"invert\";i:1645;s:14:\"tooltip-invert\";i:1646;s:21:\"namespace_association\";i:1647;s:29:\"tooltip-namespace_association\";i:1648;s:14:\"blanknamespace\";i:1649;s:13:\"contributions\";i:1650;s:19:\"contributions-title\";i:1651;s:9:\"mycontris\";i:1652;s:11:\"contribsub2\";i:1653;s:10:\"nocontribs\";i:1654;s:5:\"uctop\";i:1655;s:5:\"month\";i:1656;s:4:\"year\";i:1657;s:24:\"sp-contributions-newbies\";i:1658;s:28:\"sp-contributions-newbies-sub\";i:1659;s:30:\"sp-contributions-newbies-title\";i:1660;s:25:\"sp-contributions-blocklog\";i:1661;s:24:\"sp-contributions-deleted\";i:1662;s:24:\"sp-contributions-uploads\";i:1663;s:21:\"sp-contributions-logs\";i:1664;s:21:\"sp-contributions-talk\";i:1665;s:27:\"sp-contributions-userrights\";i:1666;s:31:\"sp-contributions-blocked-notice\";i:1667;s:36:\"sp-contributions-blocked-notice-anon\";i:1668;s:23:\"sp-contributions-search\";i:1669;s:25:\"sp-contributions-username\";i:1670;s:24:\"sp-contributions-toponly\";i:1671;s:23:\"sp-contributions-submit\";i:1672;s:13:\"whatlinkshere\";i:1673;s:19:\"whatlinkshere-title\";i:1674;s:18:\"whatlinkshere-page\";i:1675;s:9:\"linkshere\";i:1676;s:11:\"nolinkshere\";i:1677;s:14:\"nolinkshere-ns\";i:1678;s:10:\"isredirect\";i:1679;s:10:\"istemplate\";i:1680;s:7:\"isimage\";i:1681;s:18:\"whatlinkshere-prev\";i:1682;s:18:\"whatlinkshere-next\";i:1683;s:19:\"whatlinkshere-links\";i:1684;s:24:\"whatlinkshere-hideredirs\";i:1685;s:23:\"whatlinkshere-hidetrans\";i:1686;s:23:\"whatlinkshere-hidelinks\";i:1687;s:24:\"whatlinkshere-hideimages\";i:1688;s:21:\"whatlinkshere-filters\";i:1689;s:11:\"autoblockid\";i:1690;s:5:\"block\";i:1691;s:7:\"unblock\";i:1692;s:7:\"blockip\";i:1693;s:13:\"blockip-title\";i:1694;s:14:\"blockip-legend\";i:1695;s:11:\"blockiptext\";i:1696;s:18:\"ipadressorusername\";i:1697;s:9:\"ipbexpiry\";i:1698;s:9:\"ipbreason\";i:1699;s:18:\"ipbreasonotherlist\";i:1700;s:18:\"ipbreason-dropdown\";i:1701;s:13:\"ipb-hardblock\";i:1702;s:16:\"ipbcreateaccount\";i:1703;s:11:\"ipbemailban\";i:1704;s:18:\"ipbenableautoblock\";i:1705;s:9:\"ipbsubmit\";i:1706;s:8:\"ipbother\";i:1707;s:10:\"ipboptions\";i:1708;s:14:\"ipbotheroption\";i:1709;s:14:\"ipbotherreason\";i:1710;s:11:\"ipbhidename\";i:1711;s:12:\"ipbwatchuser\";i:1712;s:19:\"ipb-disableusertalk\";i:1713;s:16:\"ipb-change-block\";i:1714;s:11:\"ipb-confirm\";i:1715;s:12:\"badipaddress\";i:1716;s:17:\"blockipsuccesssub\";i:1717;s:18:\"blockipsuccesstext\";i:1718;s:16:\"ipb-blockingself\";i:1719;s:19:\"ipb-confirmhideuser\";i:1720;s:17:\"ipb-edit-dropdown\";i:1721;s:16:\"ipb-unblock-addr\";i:1722;s:11:\"ipb-unblock\";i:1723;s:13:\"ipb-blocklist\";i:1724;s:22:\"ipb-blocklist-contribs\";i:1725;s:9:\"unblockip\";i:1726;s:13:\"unblockiptext\";i:1727;s:9:\"ipusubmit\";i:1728;s:9:\"unblocked\";i:1729;s:15:\"unblocked-range\";i:1730;s:12:\"unblocked-id\";i:1731;s:9:\"blocklist\";i:1732;s:11:\"ipblocklist\";i:1733;s:18:\"ipblocklist-legend\";i:1734;s:20:\"blocklist-userblocks\";i:1735;s:20:\"blocklist-tempblocks\";i:1736;s:23:\"blocklist-addressblocks\";i:1737;s:19:\"blocklist-timestamp\";i:1738;s:16:\"blocklist-target\";i:1739;s:16:\"blocklist-expiry\";i:1740;s:12:\"blocklist-by\";i:1741;s:16:\"blocklist-params\";i:1742;s:16:\"blocklist-reason\";i:1743;s:18:\"ipblocklist-submit\";i:1744;s:22:\"ipblocklist-localblock\";i:1745;s:23:\"ipblocklist-otherblocks\";i:1746;s:13:\"infiniteblock\";i:1747;s:13:\"expiringblock\";i:1748;s:13:\"anononlyblock\";i:1749;s:16:\"noautoblockblock\";i:1750;s:18:\"createaccountblock\";i:1751;s:10:\"emailblock\";i:1752;s:20:\"blocklist-nousertalk\";i:1753;s:17:\"ipblocklist-empty\";i:1754;s:22:\"ipblocklist-no-results\";i:1755;s:9:\"blocklink\";i:1756;s:11:\"unblocklink\";i:1757;s:16:\"change-blocklink\";i:1758;s:12:\"contribslink\";i:1759;s:11:\"autoblocker\";i:1760;s:12:\"blocklogpage\";i:1761;s:16:\"blocklog-showlog\";i:1762;s:24:\"blocklog-showsuppresslog\";i:1763;s:13:\"blocklogentry\";i:1764;s:16:\"reblock-logentry\";i:1765;s:12:\"blocklogtext\";i:1766;s:15:\"unblocklogentry\";i:1767;s:24:\"block-log-flags-anononly\";i:1768;s:24:\"block-log-flags-nocreate\";i:1769;s:27:\"block-log-flags-noautoblock\";i:1770;s:23:\"block-log-flags-noemail\";i:1771;s:26:\"block-log-flags-nousertalk\";i:1772;s:31:\"block-log-flags-angry-autoblock\";i:1773;s:26:\"block-log-flags-hiddenname\";i:1774;s:20:\"range_block_disabled\";i:1775;s:18:\"ipb_expiry_invalid\";i:1776;s:15:\"ipb_expiry_temp\";i:1777;s:16:\"ipb_hide_invalid\";i:1778;s:19:\"ipb_already_blocked\";i:1779;s:15:\"ipb-needreblock\";i:1780;s:22:\"ipb-otherblocks-header\";i:1781;s:16:\"unblock-hideuser\";i:1782;s:16:\"ipb_cant_unblock\";i:1783;s:20:\"ipb_blocked_as_range\";i:1784;s:16:\"ip_range_invalid\";i:1785;s:17:\"ip_range_toolarge\";i:1786;s:7:\"blockme\";i:1787;s:12:\"proxyblocker\";i:1788;s:21:\"proxyblocker-disabled\";i:1789;s:16:\"proxyblockreason\";i:1790;s:17:\"proxyblocksuccess\";i:1791;s:11:\"sorbsreason\";i:1792;s:27:\"sorbs_create_account_reason\";i:1793;s:24:\"cant-block-while-blocked\";i:1794;s:20:\"cant-see-hidden-user\";i:1795;s:10:\"ipbblocked\";i:1796;s:16:\"ipbnounblockself\";i:1797;s:6:\"lockdb\";i:1798;s:8:\"unlockdb\";i:1799;s:10:\"lockdbtext\";i:1800;s:12:\"unlockdbtext\";i:1801;s:11:\"lockconfirm\";i:1802;s:13:\"unlockconfirm\";i:1803;s:7:\"lockbtn\";i:1804;s:9:\"unlockbtn\";i:1805;s:13:\"locknoconfirm\";i:1806;s:16:\"lockdbsuccesssub\";i:1807;s:18:\"unlockdbsuccesssub\";i:1808;s:17:\"lockdbsuccesstext\";i:1809;s:19:\"unlockdbsuccesstext\";i:1810;s:19:\"lockfilenotwritable\";i:1811;s:17:\"databasenotlocked\";i:1812;s:15:\"lockedbyandtime\";i:1813;s:9:\"move-page\";i:1814;s:16:\"move-page-legend\";i:1815;s:12:\"movepagetext\";i:1816;s:28:\"movepagetext-noredirectfixer\";i:1817;s:16:\"movepagetalktext\";i:1818;s:11:\"movearticle\";i:1819;s:20:\"moveuserpage-warning\";i:1820;s:11:\"movenologin\";i:1821;s:15:\"movenologintext\";i:1822;s:14:\"movenotallowed\";i:1823;s:18:\"movenotallowedfile\";i:1824;s:19:\"cant-move-user-page\";i:1825;s:22:\"cant-move-to-user-page\";i:1826;s:8:\"newtitle\";i:1827;s:10:\"move-watch\";i:1828;s:11:\"movepagebtn\";i:1829;s:12:\"pagemovedsub\";i:1830;s:14:\"movepage-moved\";i:1831;s:23:\"movepage-moved-redirect\";i:1832;s:25:\"movepage-moved-noredirect\";i:1833;s:13:\"articleexists\";i:1834;s:23:\"cantmove-titleprotected\";i:1835;s:10:\"talkexists\";i:1836;s:7:\"movedto\";i:1837;s:8:\"movetalk\";i:1838;s:13:\"move-subpages\";i:1839;s:18:\"move-talk-subpages\";i:1840;s:20:\"movepage-page-exists\";i:1841;s:19:\"movepage-page-moved\";i:1842;s:21:\"movepage-page-unmoved\";i:1843;s:18:\"movepage-max-pages\";i:1844;s:9:\"1movedto2\";i:1845;s:15:\"1movedto2_redir\";i:1846;s:24:\"move-redirect-suppressed\";i:1847;s:11:\"movelogpage\";i:1848;s:15:\"movelogpagetext\";i:1849;s:11:\"movesubpage\";i:1850;s:15:\"movesubpagetext\";i:1851;s:13:\"movenosubpage\";i:1852;s:10:\"movereason\";i:1853;s:10:\"revertmove\";i:1854;s:15:\"delete_and_move\";i:1855;s:20:\"delete_and_move_text\";i:1856;s:23:\"delete_and_move_confirm\";i:1857;s:22:\"delete_and_move_reason\";i:1858;s:8:\"selfmove\";i:1859;s:25:\"immobile-source-namespace\";i:1860;s:25:\"immobile-target-namespace\";i:1861;s:28:\"immobile-target-namespace-iw\";i:1862;s:20:\"immobile-source-page\";i:1863;s:20:\"immobile-target-page\";i:1864;s:21:\"imagenocrossnamespace\";i:1865;s:27:\"nonfile-cannot-move-to-file\";i:1866;s:17:\"imagetypemismatch\";i:1867;s:20:\"imageinvalidfilename\";i:1868;s:20:\"fix-double-redirects\";i:1869;s:19:\"move-leave-redirect\";i:1870;s:24:\"protectedpagemovewarning\";i:1871;s:28:\"semiprotectedpagemovewarning\";i:1872;s:20:\"move-over-sharedrepo\";i:1873;s:22:\"file-exists-sharedrepo\";i:1874;s:6:\"export\";i:1875;s:10:\"exporttext\";i:1876;s:13:\"exportcuronly\";i:1877;s:15:\"exportnohistory\";i:1878;s:13:\"export-submit\";i:1879;s:17:\"export-addcattext\";i:1880;s:13:\"export-addcat\";i:1881;s:16:\"export-addnstext\";i:1882;s:12:\"export-addns\";i:1883;s:15:\"export-download\";i:1884;s:16:\"export-templates\";i:1885;s:16:\"export-pagelinks\";i:1886;s:11:\"allmessages\";i:1887;s:15:\"allmessagesname\";i:1888;s:18:\"allmessagesdefault\";i:1889;s:18:\"allmessagescurrent\";i:1890;s:15:\"allmessagestext\";i:1891;s:25:\"allmessagesnotsupportedDB\";i:1892;s:25:\"allmessages-filter-legend\";i:1893;s:18:\"allmessages-filter\";i:1894;s:29:\"allmessages-filter-unmodified\";i:1895;s:22:\"allmessages-filter-all\";i:1896;s:27:\"allmessages-filter-modified\";i:1897;s:18:\"allmessages-prefix\";i:1898;s:20:\"allmessages-language\";i:1899;s:25:\"allmessages-filter-submit\";i:1900;s:14:\"thumbnail-more\";i:1901;s:11:\"filemissing\";i:1902;s:15:\"thumbnail_error\";i:1903;s:15:\"djvu_page_error\";i:1904;s:11:\"djvu_no_xml\";i:1905;s:24:\"thumbnail_invalid_params\";i:1906;s:24:\"thumbnail_dest_directory\";i:1907;s:20:\"thumbnail_image-type\";i:1908;s:20:\"thumbnail_gd-library\";i:1909;s:23:\"thumbnail_image-missing\";i:1910;s:6:\"import\";i:1911;s:15:\"importinterwiki\";i:1912;s:21:\"import-interwiki-text\";i:1913;s:23:\"import-interwiki-source\";i:1914;s:24:\"import-interwiki-history\";i:1915;s:26:\"import-interwiki-templates\";i:1916;s:23:\"import-interwiki-submit\";i:1917;s:26:\"import-interwiki-namespace\";i:1918;s:22:\"import-upload-filename\";i:1919;s:14:\"import-comment\";i:1920;s:10:\"importtext\";i:1921;s:11:\"importstart\";i:1922;s:21:\"import-revision-count\";i:1923;s:13:\"importnopages\";i:1924;s:20:\"imported-log-entries\";i:1925;s:12:\"importfailed\";i:1926;s:19:\"importunknownsource\";i:1927;s:14:\"importcantopen\";i:1928;s:18:\"importbadinterwiki\";i:1929;s:12:\"importnotext\";i:1930;s:13:\"importsuccess\";i:1931;s:21:\"importhistoryconflict\";i:1932;s:15:\"importnosources\";i:1933;s:12:\"importnofile\";i:1934;s:21:\"importuploaderrorsize\";i:1935;s:24:\"importuploaderrorpartial\";i:1936;s:21:\"importuploaderrortemp\";i:1937;s:20:\"import-parse-failure\";i:1938;s:16:\"import-noarticle\";i:1939;s:21:\"import-nonewrevisions\";i:1940;s:16:\"xml-error-string\";i:1941;s:13:\"import-upload\";i:1942;s:21:\"import-token-mismatch\";i:1943;s:24:\"import-invalid-interwiki\";i:1944;s:13:\"importlogpage\";i:1945;s:17:\"importlogpagetext\";i:1946;s:22:\"import-logentry-upload\";i:1947;s:29:\"import-logentry-upload-detail\";i:1948;s:25:\"import-logentry-interwiki\";i:1949;s:32:\"import-logentry-interwiki-detail\";i:1950;s:19:\"tooltip-pt-userpage\";i:1951;s:23:\"tooltip-pt-anonuserpage\";i:1952;s:17:\"tooltip-pt-mytalk\";i:1953;s:19:\"tooltip-pt-anontalk\";i:1954;s:22:\"tooltip-pt-preferences\";i:1955;s:20:\"tooltip-pt-watchlist\";i:1956;s:20:\"tooltip-pt-mycontris\";i:1957;s:16:\"tooltip-pt-login\";i:1958;s:20:\"tooltip-pt-anonlogin\";i:1959;s:17:\"tooltip-pt-logout\";i:1960;s:15:\"tooltip-ca-talk\";i:1961;s:15:\"tooltip-ca-edit\";i:1962;s:21:\"tooltip-ca-addsection\";i:1963;s:21:\"tooltip-ca-viewsource\";i:1964;s:18:\"tooltip-ca-history\";i:1965;s:18:\"tooltip-ca-protect\";i:1966;s:20:\"tooltip-ca-unprotect\";i:1967;s:17:\"tooltip-ca-delete\";i:1968;s:19:\"tooltip-ca-undelete\";i:1969;s:15:\"tooltip-ca-move\";i:1970;s:16:\"tooltip-ca-watch\";i:1971;s:18:\"tooltip-ca-unwatch\";i:1972;s:14:\"tooltip-search\";i:1973;s:17:\"tooltip-search-go\";i:1974;s:23:\"tooltip-search-fulltext\";i:1975;s:14:\"tooltip-p-logo\";i:1976;s:18:\"tooltip-n-mainpage\";i:1977;s:30:\"tooltip-n-mainpage-description\";i:1978;s:16:\"tooltip-n-portal\";i:1979;s:23:\"tooltip-n-currentevents\";i:1980;s:23:\"tooltip-n-recentchanges\";i:1981;s:20:\"tooltip-n-randompage\";i:1982;s:14:\"tooltip-n-help\";i:1983;s:23:\"tooltip-t-whatlinkshere\";i:1984;s:29:\"tooltip-t-recentchangeslinked\";i:1985;s:16:\"tooltip-feed-rss\";i:1986;s:17:\"tooltip-feed-atom\";i:1987;s:23:\"tooltip-t-contributions\";i:1988;s:19:\"tooltip-t-emailuser\";i:1989;s:16:\"tooltip-t-upload\";i:1990;s:22:\"tooltip-t-specialpages\";i:1991;s:15:\"tooltip-t-print\";i:1992;s:19:\"tooltip-t-permalink\";i:1993;s:21:\"tooltip-ca-nstab-main\";i:1994;s:21:\"tooltip-ca-nstab-user\";i:1995;s:22:\"tooltip-ca-nstab-media\";i:1996;s:24:\"tooltip-ca-nstab-special\";i:1997;s:24:\"tooltip-ca-nstab-project\";i:1998;s:22:\"tooltip-ca-nstab-image\";i:1999;s:26:\"tooltip-ca-nstab-mediawiki\";i:2000;s:25:\"tooltip-ca-nstab-template\";i:2001;s:21:\"tooltip-ca-nstab-help\";i:2002;s:25:\"tooltip-ca-nstab-category\";i:2003;s:17:\"tooltip-minoredit\";i:2004;s:12:\"tooltip-save\";i:2005;s:15:\"tooltip-preview\";i:2006;s:12:\"tooltip-diff\";i:2007;s:31:\"tooltip-compareselectedversions\";i:2008;s:13:\"tooltip-watch\";i:2009;s:16:\"tooltip-recreate\";i:2010;s:14:\"tooltip-upload\";i:2011;s:16:\"tooltip-rollback\";i:2012;s:12:\"tooltip-undo\";i:2013;s:24:\"tooltip-preferences-save\";i:2014;s:15:\"tooltip-summary\";i:2015;s:10:\"common.css\";i:2016;s:12:\"standard.css\";i:2017;s:13:\"nostalgia.css\";i:2018;s:15:\"cologneblue.css\";i:2019;s:12:\"monobook.css\";i:2020;s:10:\"myskin.css\";i:2021;s:9:\"chick.css\";i:2022;s:10:\"simple.css\";i:2023;s:10:\"modern.css\";i:2024;s:10:\"vector.css\";i:2025;s:9:\"print.css\";i:2026;s:12:\"handheld.css\";i:2027;s:9:\"common.js\";i:2028;s:11:\"standard.js\";i:2029;s:12:\"nostalgia.js\";i:2030;s:14:\"cologneblue.js\";i:2031;s:11:\"monobook.js\";i:2032;s:9:\"myskin.js\";i:2033;s:8:\"chick.js\";i:2034;s:9:\"simple.js\";i:2035;s:9:\"modern.js\";i:2036;s:9:\"vector.js\";i:2037;s:13:\"notacceptable\";i:2038;s:9:\"anonymous\";i:2039;s:8:\"siteuser\";i:2040;s:8:\"anonuser\";i:2041;s:16:\"lastmodifiedatby\";i:2042;s:13:\"othercontribs\";i:2043;s:6:\"others\";i:2044;s:9:\"siteusers\";i:2045;s:9:\"anonusers\";i:2046;s:11:\"creditspage\";i:2047;s:9:\"nocredits\";i:2048;s:19:\"spamprotectiontitle\";i:2049;s:18:\"spamprotectiontext\";i:2050;s:19:\"spamprotectionmatch\";i:2051;s:16:\"spambot_username\";i:2052;s:14:\"spam_reverting\";i:2053;s:13:\"spam_blanking\";i:2054;s:14:\"pageinfo-title\";i:2055;s:21:\"pageinfo-header-edits\";i:2056;s:25:\"pageinfo-header-watchlist\";i:2057;s:21:\"pageinfo-header-views\";i:2058;s:20:\"pageinfo-subjectpage\";i:2059;s:17:\"pageinfo-talkpage\";i:2060;s:17:\"pageinfo-watchers\";i:2061;s:14:\"pageinfo-edits\";i:2062;s:16:\"pageinfo-authors\";i:2063;s:14:\"pageinfo-views\";i:2064;s:21:\"pageinfo-viewsperedit\";i:2065;s:17:\"skinname-standard\";i:2066;s:18:\"skinname-nostalgia\";i:2067;s:20:\"skinname-cologneblue\";i:2068;s:17:\"skinname-monobook\";i:2069;s:15:\"skinname-myskin\";i:2070;s:14:\"skinname-chick\";i:2071;s:15:\"skinname-simple\";i:2072;s:15:\"skinname-modern\";i:2073;s:15:\"skinname-vector\";i:2074;s:19:\"markaspatrolleddiff\";i:2075;s:19:\"markaspatrolledtext\";i:2076;s:17:\"markedaspatrolled\";i:2077;s:21:\"markedaspatrolledtext\";i:2078;s:16:\"rcpatroldisabled\";i:2079;s:20:\"rcpatroldisabledtext\";i:2080;s:22:\"markedaspatrollederror\";i:2081;s:26:\"markedaspatrollederrortext\";i:2082;s:35:\"markedaspatrollederror-noautopatrol\";i:2083;s:15:\"patrol-log-page\";i:2084;s:17:\"patrol-log-header\";i:2085;s:15:\"patrol-log-line\";i:2086;s:15:\"patrol-log-auto\";i:2087;s:15:\"patrol-log-diff\";i:2088;s:20:\"log-show-hide-patrol\";i:2089;s:15:\"deletedrevision\";i:2090;s:21:\"filedeleteerror-short\";i:2091;s:20:\"filedeleteerror-long\";i:2092;s:18:\"filedelete-missing\";i:2093;s:27:\"filedelete-old-unregistered\";i:2094;s:31:\"filedelete-current-unregistered\";i:2095;s:28:\"filedelete-archive-read-only\";i:2096;s:12:\"previousdiff\";i:2097;s:8:\"nextdiff\";i:2098;s:12:\"mediawarning\";i:2099;s:12:\"imagemaxsize\";i:2100;s:9:\"thumbsize\";i:2101;s:15:\"widthheightpage\";i:2102;s:9:\"file-info\";i:2103;s:14:\"file-info-size\";i:2104;s:20:\"file-info-size-pages\";i:2105;s:12:\"file-nohires\";i:2106;s:13:\"svg-long-desc\";i:2107;s:14:\"show-big-image\";i:2108;s:22:\"show-big-image-preview\";i:2109;s:20:\"show-big-image-other\";i:2110;s:19:\"show-big-image-size\";i:2111;s:20:\"file-info-gif-looped\";i:2112;s:20:\"file-info-gif-frames\";i:2113;s:20:\"file-info-png-looped\";i:2114;s:20:\"file-info-png-repeat\";i:2115;s:20:\"file-info-png-frames\";i:2116;s:9:\"newimages\";i:2117;s:13:\"imagelisttext\";i:2118;s:17:\"newimages-summary\";i:2119;s:16:\"newimages-legend\";i:2120;s:15:\"newimages-label\";i:2121;s:12:\"showhidebots\";i:2122;s:8:\"noimages\";i:2123;s:8:\"ilsubmit\";i:2124;s:6:\"bydate\";i:2125;s:21:\"sp-newimages-showfrom\";i:2126;s:14:\"minutes-abbrev\";i:2127;s:12:\"hours-abbrev\";i:2128;s:14:\"bad_image_list\";i:2129;s:8:\"metadata\";i:2130;s:13:\"metadata-help\";i:2131;s:15:\"metadata-expand\";i:2132;s:17:\"metadata-collapse\";i:2133;s:15:\"metadata-fields\";i:2134;s:15:\"exif-imagewidth\";i:2135;s:16:\"exif-imagelength\";i:2136;s:18:\"exif-bitspersample\";i:2137;s:16:\"exif-compression\";i:2138;s:30:\"exif-photometricinterpretation\";i:2139;s:16:\"exif-orientation\";i:2140;s:20:\"exif-samplesperpixel\";i:2141;s:24:\"exif-planarconfiguration\";i:2142;s:21:\"exif-ycbcrsubsampling\";i:2143;s:21:\"exif-ycbcrpositioning\";i:2144;s:16:\"exif-xresolution\";i:2145;s:16:\"exif-yresolution\";i:2146;s:17:\"exif-stripoffsets\";i:2147;s:17:\"exif-rowsperstrip\";i:2148;s:20:\"exif-stripbytecounts\";i:2149;s:26:\"exif-jpeginterchangeformat\";i:2150;s:32:\"exif-jpeginterchangeformatlength\";i:2151;s:15:\"exif-whitepoint\";i:2152;s:26:\"exif-primarychromaticities\";i:2153;s:22:\"exif-ycbcrcoefficients\";i:2154;s:24:\"exif-referenceblackwhite\";i:2155;s:13:\"exif-datetime\";i:2156;s:21:\"exif-imagedescription\";i:2157;s:9:\"exif-make\";i:2158;s:10:\"exif-model\";i:2159;s:13:\"exif-software\";i:2160;s:11:\"exif-artist\";i:2161;s:14:\"exif-copyright\";i:2162;s:16:\"exif-exifversion\";i:2163;s:20:\"exif-flashpixversion\";i:2164;s:15:\"exif-colorspace\";i:2165;s:28:\"exif-componentsconfiguration\";i:2166;s:27:\"exif-compressedbitsperpixel\";i:2167;s:20:\"exif-pixelydimension\";i:2168;s:20:\"exif-pixelxdimension\";i:2169;s:16:\"exif-usercomment\";i:2170;s:21:\"exif-relatedsoundfile\";i:2171;s:21:\"exif-datetimeoriginal\";i:2172;s:22:\"exif-datetimedigitized\";i:2173;s:15:\"exif-subsectime\";i:2174;s:23:\"exif-subsectimeoriginal\";i:2175;s:24:\"exif-subsectimedigitized\";i:2176;s:17:\"exif-exposuretime\";i:2177;s:24:\"exif-exposuretime-format\";i:2178;s:12:\"exif-fnumber\";i:2179;s:20:\"exif-exposureprogram\";i:2180;s:24:\"exif-spectralsensitivity\";i:2181;s:20:\"exif-isospeedratings\";i:2182;s:22:\"exif-shutterspeedvalue\";i:2183;s:18:\"exif-aperturevalue\";i:2184;s:20:\"exif-brightnessvalue\";i:2185;s:22:\"exif-exposurebiasvalue\";i:2186;s:21:\"exif-maxaperturevalue\";i:2187;s:20:\"exif-subjectdistance\";i:2188;s:17:\"exif-meteringmode\";i:2189;s:16:\"exif-lightsource\";i:2190;s:10:\"exif-flash\";i:2191;s:16:\"exif-focallength\";i:2192;s:16:\"exif-subjectarea\";i:2193;s:16:\"exif-flashenergy\";i:2194;s:26:\"exif-focalplanexresolution\";i:2195;s:26:\"exif-focalplaneyresolution\";i:2196;s:29:\"exif-focalplaneresolutionunit\";i:2197;s:20:\"exif-subjectlocation\";i:2198;s:18:\"exif-exposureindex\";i:2199;s:18:\"exif-sensingmethod\";i:2200;s:15:\"exif-filesource\";i:2201;s:14:\"exif-scenetype\";i:2202;s:19:\"exif-customrendered\";i:2203;s:17:\"exif-exposuremode\";i:2204;s:17:\"exif-whitebalance\";i:2205;s:21:\"exif-digitalzoomratio\";i:2206;s:26:\"exif-focallengthin35mmfilm\";i:2207;s:21:\"exif-scenecapturetype\";i:2208;s:16:\"exif-gaincontrol\";i:2209;s:13:\"exif-contrast\";i:2210;s:15:\"exif-saturation\";i:2211;s:14:\"exif-sharpness\";i:2212;s:29:\"exif-devicesettingdescription\";i:2213;s:25:\"exif-subjectdistancerange\";i:2214;s:18:\"exif-imageuniqueid\";i:2215;s:17:\"exif-gpsversionid\";i:2216;s:19:\"exif-gpslatituderef\";i:2217;s:16:\"exif-gpslatitude\";i:2218;s:20:\"exif-gpslongituderef\";i:2219;s:17:\"exif-gpslongitude\";i:2220;s:19:\"exif-gpsaltituderef\";i:2221;s:16:\"exif-gpsaltitude\";i:2222;s:17:\"exif-gpstimestamp\";i:2223;s:18:\"exif-gpssatellites\";i:2224;s:14:\"exif-gpsstatus\";i:2225;s:19:\"exif-gpsmeasuremode\";i:2226;s:11:\"exif-gpsdop\";i:2227;s:16:\"exif-gpsspeedref\";i:2228;s:13:\"exif-gpsspeed\";i:2229;s:16:\"exif-gpstrackref\";i:2230;s:13:\"exif-gpstrack\";i:2231;s:23:\"exif-gpsimgdirectionref\";i:2232;s:20:\"exif-gpsimgdirection\";i:2233;s:16:\"exif-gpsmapdatum\";i:2234;s:23:\"exif-gpsdestlatituderef\";i:2235;s:20:\"exif-gpsdestlatitude\";i:2236;s:24:\"exif-gpsdestlongituderef\";i:2237;s:21:\"exif-gpsdestlongitude\";i:2238;s:22:\"exif-gpsdestbearingref\";i:2239;s:19:\"exif-gpsdestbearing\";i:2240;s:23:\"exif-gpsdestdistanceref\";i:2241;s:20:\"exif-gpsdestdistance\";i:2242;s:24:\"exif-gpsprocessingmethod\";i:2243;s:23:\"exif-gpsareainformation\";i:2244;s:17:\"exif-gpsdatestamp\";i:2245;s:20:\"exif-gpsdifferential\";i:2246;s:20:\"exif-jpegfilecomment\";i:2247;s:13:\"exif-keywords\";i:2248;s:23:\"exif-worldregioncreated\";i:2249;s:19:\"exif-countrycreated\";i:2250;s:23:\"exif-countrycodecreated\";i:2251;s:27:\"exif-provinceorstatecreated\";i:2252;s:16:\"exif-citycreated\";i:2253;s:23:\"exif-sublocationcreated\";i:2254;s:20:\"exif-worldregiondest\";i:2255;s:16:\"exif-countrydest\";i:2256;s:20:\"exif-countrycodedest\";i:2257;s:24:\"exif-provinceorstatedest\";i:2258;s:13:\"exif-citydest\";i:2259;s:20:\"exif-sublocationdest\";i:2260;s:15:\"exif-objectname\";i:2261;s:24:\"exif-specialinstructions\";i:2262;s:13:\"exif-headline\";i:2263;s:11:\"exif-credit\";i:2264;s:11:\"exif-source\";i:2265;s:15:\"exif-editstatus\";i:2266;s:12:\"exif-urgency\";i:2267;s:22:\"exif-fixtureidentifier\";i:2268;s:17:\"exif-locationdest\";i:2269;s:21:\"exif-locationdestcode\";i:2270;s:16:\"exif-objectcycle\";i:2271;s:12:\"exif-contact\";i:2272;s:11:\"exif-writer\";i:2273;s:17:\"exif-languagecode\";i:2274;s:15:\"exif-iimversion\";i:2275;s:16:\"exif-iimcategory\";i:2276;s:28:\"exif-iimsupplementalcategory\";i:2277;s:20:\"exif-datetimeexpires\";i:2278;s:21:\"exif-datetimereleased\";i:2279;s:28:\"exif-originaltransmissionref\";i:2280;s:15:\"exif-identifier\";i:2281;s:9:\"exif-lens\";i:2282;s:17:\"exif-serialnumber\";i:2283;s:20:\"exif-cameraownername\";i:2284;s:10:\"exif-label\";i:2285;s:21:\"exif-datetimemetadata\";i:2286;s:13:\"exif-nickname\";i:2287;s:11:\"exif-rating\";i:2288;s:22:\"exif-rightscertificate\";i:2289;s:16:\"exif-copyrighted\";i:2290;s:19:\"exif-copyrightowner\";i:2291;s:15:\"exif-usageterms\";i:2292;s:17:\"exif-webstatement\";i:2293;s:23:\"exif-originaldocumentid\";i:2294;s:15:\"exif-licenseurl\";i:2295;s:23:\"exif-morepermissionsurl\";i:2296;s:19:\"exif-attributionurl\";i:2297;s:29:\"exif-preferredattributionname\";i:2298;s:19:\"exif-pngfilecomment\";i:2299;s:15:\"exif-disclaimer\";i:2300;s:19:\"exif-contentwarning\";i:2301;s:19:\"exif-giffilecomment\";i:2302;s:22:\"exif-intellectualgenre\";i:2303;s:20:\"exif-subjectnewscode\";i:2304;s:14:\"exif-scenecode\";i:2305;s:10:\"exif-event\";i:2306;s:24:\"exif-organisationinimage\";i:2307;s:18:\"exif-personinimage\";i:2308;s:24:\"exif-originalimageheight\";i:2309;s:23:\"exif-originalimagewidth\";i:2310;s:18:\"exif-compression-1\";i:2311;s:18:\"exif-compression-2\";i:2312;s:18:\"exif-compression-3\";i:2313;s:18:\"exif-compression-4\";i:2314;s:21:\"exif-copyrighted-true\";i:2315;s:22:\"exif-copyrighted-false\";i:2316;s:16:\"exif-unknowndate\";i:2317;s:18:\"exif-orientation-1\";i:2318;s:18:\"exif-orientation-2\";i:2319;s:18:\"exif-orientation-3\";i:2320;s:18:\"exif-orientation-4\";i:2321;s:18:\"exif-orientation-5\";i:2322;s:18:\"exif-orientation-6\";i:2323;s:18:\"exif-orientation-7\";i:2324;s:18:\"exif-orientation-8\";i:2325;s:26:\"exif-planarconfiguration-1\";i:2326;s:26:\"exif-planarconfiguration-2\";i:2327;s:21:\"exif-colorspace-65535\";i:2328;s:30:\"exif-componentsconfiguration-0\";i:2329;s:22:\"exif-exposureprogram-0\";i:2330;s:22:\"exif-exposureprogram-1\";i:2331;s:22:\"exif-exposureprogram-2\";i:2332;s:22:\"exif-exposureprogram-3\";i:2333;s:22:\"exif-exposureprogram-4\";i:2334;s:22:\"exif-exposureprogram-5\";i:2335;s:22:\"exif-exposureprogram-6\";i:2336;s:22:\"exif-exposureprogram-7\";i:2337;s:22:\"exif-exposureprogram-8\";i:2338;s:26:\"exif-subjectdistance-value\";i:2339;s:19:\"exif-meteringmode-0\";i:2340;s:19:\"exif-meteringmode-1\";i:2341;s:19:\"exif-meteringmode-2\";i:2342;s:19:\"exif-meteringmode-3\";i:2343;s:19:\"exif-meteringmode-4\";i:2344;s:19:\"exif-meteringmode-5\";i:2345;s:19:\"exif-meteringmode-6\";i:2346;s:21:\"exif-meteringmode-255\";i:2347;s:18:\"exif-lightsource-0\";i:2348;s:18:\"exif-lightsource-1\";i:2349;s:18:\"exif-lightsource-2\";i:2350;s:18:\"exif-lightsource-3\";i:2351;s:18:\"exif-lightsource-4\";i:2352;s:18:\"exif-lightsource-9\";i:2353;s:19:\"exif-lightsource-10\";i:2354;s:19:\"exif-lightsource-11\";i:2355;s:19:\"exif-lightsource-12\";i:2356;s:19:\"exif-lightsource-13\";i:2357;s:19:\"exif-lightsource-14\";i:2358;s:19:\"exif-lightsource-15\";i:2359;s:19:\"exif-lightsource-17\";i:2360;s:19:\"exif-lightsource-18\";i:2361;s:19:\"exif-lightsource-19\";i:2362;s:19:\"exif-lightsource-24\";i:2363;s:20:\"exif-lightsource-255\";i:2364;s:18:\"exif-flash-fired-0\";i:2365;s:18:\"exif-flash-fired-1\";i:2366;s:19:\"exif-flash-return-0\";i:2367;s:19:\"exif-flash-return-2\";i:2368;s:19:\"exif-flash-return-3\";i:2369;s:17:\"exif-flash-mode-1\";i:2370;s:17:\"exif-flash-mode-2\";i:2371;s:17:\"exif-flash-mode-3\";i:2372;s:21:\"exif-flash-function-1\";i:2373;s:19:\"exif-flash-redeye-1\";i:2374;s:31:\"exif-focalplaneresolutionunit-2\";i:2375;s:20:\"exif-sensingmethod-1\";i:2376;s:20:\"exif-sensingmethod-2\";i:2377;s:20:\"exif-sensingmethod-3\";i:2378;s:20:\"exif-sensingmethod-4\";i:2379;s:20:\"exif-sensingmethod-5\";i:2380;s:20:\"exif-sensingmethod-7\";i:2381;s:20:\"exif-sensingmethod-8\";i:2382;s:17:\"exif-filesource-3\";i:2383;s:16:\"exif-scenetype-1\";i:2384;s:21:\"exif-customrendered-0\";i:2385;s:21:\"exif-customrendered-1\";i:2386;s:19:\"exif-exposuremode-0\";i:2387;s:19:\"exif-exposuremode-1\";i:2388;s:19:\"exif-exposuremode-2\";i:2389;s:19:\"exif-whitebalance-0\";i:2390;s:19:\"exif-whitebalance-1\";i:2391;s:23:\"exif-scenecapturetype-0\";i:2392;s:23:\"exif-scenecapturetype-1\";i:2393;s:23:\"exif-scenecapturetype-2\";i:2394;s:23:\"exif-scenecapturetype-3\";i:2395;s:18:\"exif-gaincontrol-0\";i:2396;s:18:\"exif-gaincontrol-1\";i:2397;s:18:\"exif-gaincontrol-2\";i:2398;s:18:\"exif-gaincontrol-3\";i:2399;s:18:\"exif-gaincontrol-4\";i:2400;s:15:\"exif-contrast-0\";i:2401;s:15:\"exif-contrast-1\";i:2402;s:15:\"exif-contrast-2\";i:2403;s:17:\"exif-saturation-0\";i:2404;s:17:\"exif-saturation-1\";i:2405;s:17:\"exif-saturation-2\";i:2406;s:16:\"exif-sharpness-0\";i:2407;s:16:\"exif-sharpness-1\";i:2408;s:16:\"exif-sharpness-2\";i:2409;s:27:\"exif-subjectdistancerange-0\";i:2410;s:27:\"exif-subjectdistancerange-1\";i:2411;s:27:\"exif-subjectdistancerange-2\";i:2412;s:27:\"exif-subjectdistancerange-3\";i:2413;s:18:\"exif-gpslatitude-n\";i:2414;s:18:\"exif-gpslatitude-s\";i:2415;s:19:\"exif-gpslongitude-e\";i:2416;s:19:\"exif-gpslongitude-w\";i:2417;s:31:\"exif-gpsaltitude-above-sealevel\";i:2418;s:31:\"exif-gpsaltitude-below-sealevel\";i:2419;s:16:\"exif-gpsstatus-a\";i:2420;s:16:\"exif-gpsstatus-v\";i:2421;s:21:\"exif-gpsmeasuremode-2\";i:2422;s:21:\"exif-gpsmeasuremode-3\";i:2423;s:15:\"exif-gpsspeed-k\";i:2424;s:15:\"exif-gpsspeed-m\";i:2425;s:15:\"exif-gpsspeed-n\";i:2426;s:22:\"exif-gpsdestdistance-k\";i:2427;s:22:\"exif-gpsdestdistance-m\";i:2428;s:22:\"exif-gpsdestdistance-n\";i:2429;s:21:\"exif-gpsdop-excellent\";i:2430;s:16:\"exif-gpsdop-good\";i:2431;s:20:\"exif-gpsdop-moderate\";i:2432;s:16:\"exif-gpsdop-fair\";i:2433;s:16:\"exif-gpsdop-poor\";i:2434;s:18:\"exif-objectcycle-a\";i:2435;s:18:\"exif-objectcycle-p\";i:2436;s:18:\"exif-objectcycle-b\";i:2437;s:19:\"exif-gpsdirection-t\";i:2438;s:19:\"exif-gpsdirection-m\";i:2439;s:23:\"exif-ycbcrpositioning-1\";i:2440;s:23:\"exif-ycbcrpositioning-2\";i:2441;s:19:\"exif-dc-contributor\";i:2442;s:16:\"exif-dc-coverage\";i:2443;s:12:\"exif-dc-date\";i:2444;s:17:\"exif-dc-publisher\";i:2445;s:16:\"exif-dc-relation\";i:2446;s:14:\"exif-dc-rights\";i:2447;s:14:\"exif-dc-source\";i:2448;s:12:\"exif-dc-type\";i:2449;s:20:\"exif-rating-rejected\";i:2450;s:29:\"exif-isospeedratings-overflow\";i:2451;s:20:\"exif-iimcategory-ace\";i:2452;s:20:\"exif-iimcategory-clj\";i:2453;s:20:\"exif-iimcategory-dis\";i:2454;s:20:\"exif-iimcategory-fin\";i:2455;s:20:\"exif-iimcategory-edu\";i:2456;s:20:\"exif-iimcategory-evn\";i:2457;s:20:\"exif-iimcategory-hth\";i:2458;s:20:\"exif-iimcategory-hum\";i:2459;s:20:\"exif-iimcategory-lab\";i:2460;s:20:\"exif-iimcategory-lif\";i:2461;s:20:\"exif-iimcategory-pol\";i:2462;s:20:\"exif-iimcategory-rel\";i:2463;s:20:\"exif-iimcategory-sci\";i:2464;s:20:\"exif-iimcategory-soi\";i:2465;s:20:\"exif-iimcategory-spo\";i:2466;s:20:\"exif-iimcategory-war\";i:2467;s:20:\"exif-iimcategory-wea\";i:2468;s:19:\"exif-urgency-normal\";i:2469;s:16:\"exif-urgency-low\";i:2470;s:17:\"exif-urgency-high\";i:2471;s:18:\"exif-urgency-other\";i:2472;s:15:\"edit-externally\";i:2473;s:20:\"edit-externally-help\";i:2474;s:13:\"watchlistall2\";i:2475;s:13:\"namespacesall\";i:2476;s:9:\"monthsall\";i:2477;s:8:\"limitall\";i:2478;s:12:\"confirmemail\";i:2479;s:20:\"confirmemail_noemail\";i:2480;s:17:\"confirmemail_text\";i:2481;s:20:\"confirmemail_pending\";i:2482;s:17:\"confirmemail_send\";i:2483;s:17:\"confirmemail_sent\";i:2484;s:21:\"confirmemail_oncreate\";i:2485;s:23:\"confirmemail_sendfailed\";i:2486;s:20:\"confirmemail_invalid\";i:2487;s:22:\"confirmemail_needlogin\";i:2488;s:20:\"confirmemail_success\";i:2489;s:21:\"confirmemail_loggedin\";i:2490;s:18:\"confirmemail_error\";i:2491;s:20:\"confirmemail_subject\";i:2492;s:17:\"confirmemail_body\";i:2493;s:25:\"confirmemail_body_changed\";i:2494;s:21:\"confirmemail_body_set\";i:2495;s:24:\"confirmemail_invalidated\";i:2496;s:15:\"invalidateemail\";i:2497;s:23:\"scarytranscludedisabled\";i:2498;s:21:\"scarytranscludefailed\";i:2499;s:22:\"scarytranscludetoolong\";i:2500;s:12:\"trackbackbox\";i:2501;s:15:\"trackbackremove\";i:2502;s:13:\"trackbacklink\";i:2503;s:17:\"trackbackdeleteok\";i:2504;s:19:\"deletedwhileediting\";i:2505;s:15:\"confirmrecreate\";i:2506;s:24:\"confirmrecreate-noreason\";i:2507;s:8:\"recreate\";i:2508;s:20:\"confirm_purge_button\";i:2509;s:17:\"confirm-purge-top\";i:2510;s:20:\"confirm-purge-bottom\";i:2511;s:20:\"confirm-watch-button\";i:2512;s:17:\"confirm-watch-top\";i:2513;s:22:\"confirm-unwatch-button\";i:2514;s:19:\"confirm-unwatch-top\";i:2515;s:15:\"comma-separator\";i:2516;s:16:\"imgmultipageprev\";i:2517;s:16:\"imgmultipagenext\";i:2518;s:10:\"imgmultigo\";i:2519;s:12:\"imgmultigoto\";i:2520;s:16:\"ascending_abbrev\";i:2521;s:17:\"descending_abbrev\";i:2522;s:16:\"table_pager_next\";i:2523;s:16:\"table_pager_prev\";i:2524;s:17:\"table_pager_first\";i:2525;s:16:\"table_pager_last\";i:2526;s:17:\"table_pager_limit\";i:2527;s:23:\"table_pager_limit_label\";i:2528;s:24:\"table_pager_limit_submit\";i:2529;s:17:\"table_pager_empty\";i:2530;s:14:\"autosumm-blank\";i:2531;s:16:\"autosumm-replace\";i:2532;s:16:\"autoredircomment\";i:2533;s:12:\"autosumm-new\";i:2534;s:19:\"livepreview-loading\";i:2535;s:17:\"livepreview-ready\";i:2536;s:18:\"livepreview-failed\";i:2537;s:17:\"livepreview-error\";i:2538;s:15:\"lag-warn-normal\";i:2539;s:13:\"lag-warn-high\";i:2540;s:22:\"watchlistedit-numitems\";i:2541;s:21:\"watchlistedit-noitems\";i:2542;s:26:\"watchlistedit-normal-title\";i:2543;s:27:\"watchlistedit-normal-legend\";i:2544;s:28:\"watchlistedit-normal-explain\";i:2545;s:27:\"watchlistedit-normal-submit\";i:2546;s:25:\"watchlistedit-normal-done\";i:2547;s:23:\"watchlistedit-raw-title\";i:2548;s:24:\"watchlistedit-raw-legend\";i:2549;s:25:\"watchlistedit-raw-explain\";i:2550;s:24:\"watchlistedit-raw-titles\";i:2551;s:24:\"watchlistedit-raw-submit\";i:2552;s:22:\"watchlistedit-raw-done\";i:2553;s:23:\"watchlistedit-raw-added\";i:2554;s:25:\"watchlistedit-raw-removed\";i:2555;s:19:\"watchlisttools-view\";i:2556;s:19:\"watchlisttools-edit\";i:2557;s:18:\"watchlisttools-raw\";i:2558;s:21:\"unknown_extension_tag\";i:2559;s:21:\"duplicate-defaultsort\";i:2560;s:7:\"version\";i:2561;s:18:\"version-extensions\";i:2562;s:20:\"version-specialpages\";i:2563;s:19:\"version-parserhooks\";i:2564;s:17:\"version-variables\";i:2565;s:16:\"version-antispam\";i:2566;s:13:\"version-skins\";i:2567;s:13:\"version-other\";i:2568;s:21:\"version-mediahandlers\";i:2569;s:13:\"version-hooks\";i:2570;s:27:\"version-extension-functions\";i:2571;s:28:\"version-parser-extensiontags\";i:2572;s:29:\"version-parser-function-hooks\";i:2573;s:17:\"version-hook-name\";i:2574;s:25:\"version-hook-subscribedby\";i:2575;s:15:\"version-version\";i:2576;s:15:\"version-license\";i:2577;s:25:\"version-poweredby-credits\";i:2578;s:24:\"version-poweredby-others\";i:2579;s:20:\"version-license-info\";i:2580;s:16:\"version-software\";i:2581;s:24:\"version-software-product\";i:2582;s:24:\"version-software-version\";i:2583;s:8:\"filepath\";i:2584;s:13:\"filepath-page\";i:2585;s:15:\"filepath-submit\";i:2586;s:16:\"filepath-summary\";i:2587;s:19:\"fileduplicatesearch\";i:2588;s:27:\"fileduplicatesearch-summary\";i:2589;s:26:\"fileduplicatesearch-legend\";i:2590;s:28:\"fileduplicatesearch-filename\";i:2591;s:26:\"fileduplicatesearch-submit\";i:2592;s:24:\"fileduplicatesearch-info\";i:2593;s:28:\"fileduplicatesearch-result-1\";i:2594;s:28:\"fileduplicatesearch-result-n\";i:2595;s:29:\"fileduplicatesearch-noresults\";i:2596;s:12:\"specialpages\";i:2597;s:17:\"specialpages-note\";i:2598;s:30:\"specialpages-group-maintenance\";i:2599;s:24:\"specialpages-group-other\";i:2600;s:24:\"specialpages-group-login\";i:2601;s:26:\"specialpages-group-changes\";i:2602;s:24:\"specialpages-group-media\";i:2603;s:24:\"specialpages-group-users\";i:2604;s:26:\"specialpages-group-highuse\";i:2605;s:24:\"specialpages-group-pages\";i:2606;s:28:\"specialpages-group-pagetools\";i:2607;s:23:\"specialpages-group-wiki\";i:2608;s:28:\"specialpages-group-redirects\";i:2609;s:23:\"specialpages-group-spam\";i:2610;s:9:\"blankpage\";i:2611;s:22:\"intentionallyblankpage\";i:2612;s:24:\"external_image_whitelist\";i:2613;s:4:\"tags\";i:2614;s:10:\"tag-filter\";i:2615;s:17:\"tag-filter-submit\";i:2616;s:10:\"tags-title\";i:2617;s:10:\"tags-intro\";i:2618;s:8:\"tags-tag\";i:2619;s:19:\"tags-display-header\";i:2620;s:23:\"tags-description-header\";i:2621;s:20:\"tags-hitcount-header\";i:2622;s:9:\"tags-edit\";i:2623;s:13:\"tags-hitcount\";i:2624;s:12:\"comparepages\";i:2625;s:16:\"compare-selector\";i:2626;s:13:\"compare-page1\";i:2627;s:13:\"compare-page2\";i:2628;s:12:\"compare-rev1\";i:2629;s:12:\"compare-rev2\";i:2630;s:14:\"compare-submit\";i:2631;s:12:\"dberr-header\";i:2632;s:14:\"dberr-problems\";i:2633;s:11:\"dberr-again\";i:2634;s:10:\"dberr-info\";i:2635;s:15:\"dberr-usegoogle\";i:2636;s:15:\"dberr-outofdate\";i:2637;s:17:\"dberr-cachederror\";i:2638;s:22:\"htmlform-invalid-input\";i:2639;s:25:\"htmlform-select-badoption\";i:2640;s:20:\"htmlform-int-invalid\";i:2641;s:22:\"htmlform-float-invalid\";i:2642;s:19:\"htmlform-int-toolow\";i:2643;s:20:\"htmlform-int-toohigh\";i:2644;s:17:\"htmlform-required\";i:2645;s:15:\"htmlform-submit\";i:2646;s:14:\"htmlform-reset\";i:2647;s:28:\"htmlform-selectorother-other\";i:2648;s:14:\"sqlite-has-fts\";i:2649;s:13:\"sqlite-no-fts\";i:2650;s:7:\"sidebar\";i:2651;s:18:\"pagecategorieslink\";i:2652;s:10:\"linkprefix\";i:2653;s:9:\"sitetitle\";i:2654;s:12:\"sitesubtitle\";i:2655;s:10:\"addsection\";i:2656;s:14:\"talkpageheader\";i:2657;s:9:\"pagetitle\";i:2658;s:23:\"pagetitle-view-mainpage\";i:2659;s:16:\"newtalkseparator\";i:2660;s:20:\"editsection-brackets\";i:2661;s:9:\"feed-atom\";i:2662;s:8:\"feed-rss\";i:2663;s:10:\"sitenotice\";i:2664;s:10:\"anonnotice\";i:2665;s:28:\"newsectionheaderdefaultlevel\";i:2666;s:14:\"mainpage-nstab\";i:2667;s:17:\"nocookiesforlogin\";i:2668;s:10:\"loginstart\";i:2669;s:8:\"loginend\";i:2670;s:14:\"loginend-https\";i:2671;s:11:\"signupstart\";i:2672;s:9:\"signupend\";i:2673;s:15:\"signupend-https\";i:2674;s:18:\"loginlanguagelinks\";i:2675;s:15:\"pear-mail-error\";i:2676;s:14:\"php-mail-error\";i:2677;s:18:\"newarticletextanon\";i:2678;s:12:\"talkpagetext\";i:2679;s:17:\"noarticletextanon\";i:2680;s:20:\"editpage-tos-summary\";i:2681;s:13:\"longpage-hint\";i:2682;s:16:\"edittools-upload\";i:2683;s:18:\"addsection-preload\";i:2684;s:20:\"addsection-editintro\";i:2685;s:21:\"revision-info-current\";i:2686;s:12:\"revision-nav\";i:2687;s:17:\"history_copyright\";i:2688;s:14:\"search-summary\";i:2689;s:23:\"searchmenu-new-nocreate\";i:2690;s:15:\"searchmenu-help\";i:2691;s:23:\"search-interwiki-custom\";i:2692;s:12:\"googlesearch\";i:2693;s:15:\"opensearch-desc\";i:2694;s:19:\"preferences-summary\";i:2695;s:25:\"prefs-memberingroups-type\";i:2696;s:28:\"prefs-registration-date-time\";i:2697;s:18:\"userrights-summary\";i:2698;s:30:\"userrights-irreversible-marker\";i:2699;s:17:\"recentchanges-url\";i:2700;s:17:\"unpatrolledletter\";i:2701;s:11:\"sectionlink\";i:2702;s:31:\"number_of_watching_users_RCview\";i:2703;s:14:\"rc-change-size\";i:2704;s:28:\"recentchangeslinked-backlink\";i:2705;s:14:\"upload-summary\";i:2706;s:12:\"uploadfooter\";i:2707;s:25:\"filename-prefix-blacklist\";i:2708;s:8:\"licenses\";i:2709;s:24:\"shareddescriptionfollows\";i:2710;s:33:\"shared-repo-name-wikimediacommons\";i:2711;s:12:\"filepage.css\";i:2712;s:19:\"filerevert-backlink\";i:2713;s:19:\"filedelete-backlink\";i:2714;s:22:\"unwatchedpages-summary\";i:2715;s:21:\"listredirects-summary\";i:2716;s:23:\"unusedtemplates-summary\";i:2717;s:14:\"randompage-url\";i:2718;s:18:\"statistics-summary\";i:2719;s:17:\"statistics-footer\";i:2720;s:23:\"disambiguations-summary\";i:2721;s:23:\"doubleredirects-summary\";i:2722;s:23:\"brokenredirects-summary\";i:2723;s:23:\"fewestrevisions-summary\";i:2724;s:19:\"lonelypages-summary\";i:2725;s:26:\"uncategorizedpages-summary\";i:2726;s:31:\"uncategorizedcategories-summary\";i:2727;s:27:\"uncategorizedimages-summary\";i:2728;s:30:\"uncategorizedtemplates-summary\";i:2729;s:20:\"popularpages-summary\";i:2730;s:24:\"wantedcategories-summary\";i:2731;s:19:\"wantedpages-summary\";i:2732;s:19:\"wantedfiles-summary\";i:2733;s:23:\"wantedtemplates-summary\";i:2734;s:18:\"mostlinked-summary\";i:2735;s:28:\"mostlinkedcategories-summary\";i:2736;s:27:\"mostlinkedtemplates-summary\";i:2737;s:22:\"mostcategories-summary\";i:2738;s:18:\"mostimages-summary\";i:2739;s:21:\"mostrevisions-summary\";i:2740;s:19:\"prefixindex-summary\";i:2741;s:18:\"shortpages-summary\";i:2742;s:17:\"longpages-summary\";i:2743;s:20:\"deadendpages-summary\";i:2744;s:22:\"protectedpages-summary\";i:2745;s:23:\"protectedtitles-summary\";i:2746;s:17:\"listusers-summary\";i:2747;s:16:\"newpages-summary\";i:2748;s:20:\"ancientpages-summary\";i:2749;s:19:\"booksources-summary\";i:2750;s:16:\"booksources-isbn\";i:2751;s:6:\"rfcurl\";i:2752;s:9:\"pubmedurl\";i:2753;s:16:\"allpages-summary\";i:2754;s:18:\"categories-summary\";i:2755;s:19:\"activeusers-summary\";i:2756;s:15:\"newuserlogentry\";i:2757;s:29:\"listgrouprights-right-display\";i:2758;s:29:\"listgrouprights-right-revoked\";i:2759;s:20:\"usermessage-template\";i:2760;s:15:\"delete-backlink\";i:2761;s:16:\"protect-backlink\";i:2762;s:24:\"sp-contributions-explain\";i:2763;s:23:\"sp-contributions-footer\";i:2764;s:28:\"sp-contributions-footer-anon\";i:2765;s:21:\"whatlinkshere-summary\";i:2766;s:22:\"whatlinkshere-backlink\";i:2767;s:17:\"blocklist-summary\";i:2768;s:5:\"sorbs\";i:2769;s:21:\"accesskey-pt-userpage\";i:2770;s:25:\"accesskey-pt-anonuserpage\";i:2771;s:19:\"accesskey-pt-mytalk\";i:2772;s:21:\"accesskey-pt-anontalk\";i:2773;s:24:\"accesskey-pt-preferences\";i:2774;s:22:\"accesskey-pt-watchlist\";i:2775;s:22:\"accesskey-pt-mycontris\";i:2776;s:18:\"accesskey-pt-login\";i:2777;s:22:\"accesskey-pt-anonlogin\";i:2778;s:19:\"accesskey-pt-logout\";i:2779;s:17:\"accesskey-ca-talk\";i:2780;s:17:\"accesskey-ca-edit\";i:2781;s:23:\"accesskey-ca-addsection\";i:2782;s:23:\"accesskey-ca-viewsource\";i:2783;s:20:\"accesskey-ca-history\";i:2784;s:20:\"accesskey-ca-protect\";i:2785;s:22:\"accesskey-ca-unprotect\";i:2786;s:19:\"accesskey-ca-delete\";i:2787;s:21:\"accesskey-ca-undelete\";i:2788;s:17:\"accesskey-ca-move\";i:2789;s:18:\"accesskey-ca-watch\";i:2790;s:20:\"accesskey-ca-unwatch\";i:2791;s:16:\"accesskey-search\";i:2792;s:19:\"accesskey-search-go\";i:2793;s:25:\"accesskey-search-fulltext\";i:2794;s:16:\"accesskey-p-logo\";i:2795;s:20:\"accesskey-n-mainpage\";i:2796;s:32:\"accesskey-n-mainpage-description\";i:2797;s:18:\"accesskey-n-portal\";i:2798;s:25:\"accesskey-n-currentevents\";i:2799;s:25:\"accesskey-n-recentchanges\";i:2800;s:22:\"accesskey-n-randompage\";i:2801;s:16:\"accesskey-n-help\";i:2802;s:25:\"accesskey-t-whatlinkshere\";i:2803;s:31:\"accesskey-t-recentchangeslinked\";i:2804;s:18:\"accesskey-feed-rss\";i:2805;s:19:\"accesskey-feed-atom\";i:2806;s:25:\"accesskey-t-contributions\";i:2807;s:21:\"accesskey-t-emailuser\";i:2808;s:21:\"accesskey-t-permalink\";i:2809;s:17:\"accesskey-t-print\";i:2810;s:18:\"accesskey-t-upload\";i:2811;s:24:\"accesskey-t-specialpages\";i:2812;s:23:\"accesskey-ca-nstab-main\";i:2813;s:23:\"accesskey-ca-nstab-user\";i:2814;s:24:\"accesskey-ca-nstab-media\";i:2815;s:26:\"accesskey-ca-nstab-special\";i:2816;s:26:\"accesskey-ca-nstab-project\";i:2817;s:24:\"accesskey-ca-nstab-image\";i:2818;s:28:\"accesskey-ca-nstab-mediawiki\";i:2819;s:27:\"accesskey-ca-nstab-template\";i:2820;s:23:\"accesskey-ca-nstab-help\";i:2821;s:27:\"accesskey-ca-nstab-category\";i:2822;s:19:\"accesskey-minoredit\";i:2823;s:14:\"accesskey-save\";i:2824;s:17:\"accesskey-preview\";i:2825;s:14:\"accesskey-diff\";i:2826;s:33:\"accesskey-compareselectedversions\";i:2827;s:15:\"accesskey-watch\";i:2828;s:16:\"accesskey-upload\";i:2829;s:26:\"accesskey-preferences-save\";i:2830;s:17:\"accesskey-summary\";i:2831;s:24:\"accesskey-userrights-set\";i:2832;s:23:\"accesskey-blockip-block\";i:2833;s:16:\"accesskey-export\";i:2834;s:16:\"accesskey-import\";i:2835;s:12:\"noscript.css\";i:2836;s:23:\"group-autoconfirmed.css\";i:2837;s:13:\"group-bot.css\";i:2838;s:15:\"group-sysop.css\";i:2839;s:20:\"group-bureaucrat.css\";i:2840;s:22:\"group-autoconfirmed.js\";i:2841;s:12:\"group-bot.js\";i:2842;s:14:\"group-sysop.js\";i:2843;s:19:\"group-bureaucrat.js\";i:2844;s:19:\"markaspatrolledlink\";i:2845;s:11:\"widthheight\";i:2846;s:10:\"video-dims\";i:2847;s:14:\"seconds-abbrev\";i:2848;s:11:\"days-abbrev\";i:2849;s:19:\"variantname-zh-hans\";i:2850;s:19:\"variantname-zh-hant\";i:2851;s:17:\"variantname-zh-cn\";i:2852;s:17:\"variantname-zh-tw\";i:2853;s:17:\"variantname-zh-hk\";i:2854;s:17:\"variantname-zh-mo\";i:2855;s:17:\"variantname-zh-sg\";i:2856;s:17:\"variantname-zh-my\";i:2857;s:14:\"variantname-zh\";i:2858;s:20:\"variantname-gan-hans\";i:2859;s:20:\"variantname-gan-hant\";i:2860;s:15:\"variantname-gan\";i:2861;s:17:\"variantname-sr-ec\";i:2862;s:17:\"variantname-sr-el\";i:2863;s:14:\"variantname-sr\";i:2864;s:17:\"variantname-kk-kz\";i:2865;s:17:\"variantname-kk-tr\";i:2866;s:17:\"variantname-kk-cn\";i:2867;s:19:\"variantname-kk-cyrl\";i:2868;s:19:\"variantname-kk-latn\";i:2869;s:19:\"variantname-kk-arab\";i:2870;s:14:\"variantname-kk\";i:2871;s:19:\"variantname-ku-arab\";i:2872;s:19:\"variantname-ku-latn\";i:2873;s:14:\"variantname-ku\";i:2874;s:19:\"variantname-tg-cyrl\";i:2875;s:19:\"variantname-tg-latn\";i:2876;s:14:\"variantname-tg\";i:2877;s:20:\"variantname-ike-cans\";i:2878;s:20:\"variantname-ike-latn\";i:2879;s:14:\"variantname-iu\";i:2880;s:17:\"metadata-langitem\";i:2881;s:25:\"metadata-langitem-default\";i:2882;s:19:\"exif-fnumber-format\";i:2883;s:23:\"exif-focallength-format\";i:2884;s:22:\"exif-coordinate-format\";i:2885;s:15:\"exif-make-value\";i:2886;s:16:\"exif-model-value\";i:2887;s:19:\"exif-software-value\";i:2888;s:27:\"exif-software-version-value\";i:2889;s:18:\"exif-contact-value\";i:2890;s:26:\"exif-subjectnewscode-value\";i:2891;s:18:\"exif-compression-5\";i:2892;s:18:\"exif-compression-6\";i:2893;s:18:\"exif-compression-7\";i:2894;s:18:\"exif-compression-8\";i:2895;s:22:\"exif-compression-32773\";i:2896;s:22:\"exif-compression-32946\";i:2897;s:22:\"exif-compression-34712\";i:2898;s:32:\"exif-photometricinterpretation-2\";i:2899;s:32:\"exif-photometricinterpretation-6\";i:2900;s:19:\"exif-xyresolution-i\";i:2901;s:19:\"exif-xyresolution-c\";i:2902;s:17:\"exif-colorspace-1\";i:2903;s:30:\"exif-componentsconfiguration-1\";i:2904;s:30:\"exif-componentsconfiguration-2\";i:2905;s:30:\"exif-componentsconfiguration-3\";i:2906;s:30:\"exif-componentsconfiguration-4\";i:2907;s:30:\"exif-componentsconfiguration-5\";i:2908;s:30:\"exif-componentsconfiguration-6\";i:2909;s:19:\"exif-lightsource-20\";i:2910;s:19:\"exif-lightsource-21\";i:2911;s:19:\"exif-lightsource-22\";i:2912;s:19:\"exif-lightsource-23\";i:2913;s:27:\"exif-maxaperturevalue-value\";i:2914;s:9:\"trackback\";i:2915;s:16:\"trackbackexcerpt\";i:2916;s:10:\"unit-pixel\";i:2917;s:19:\"semicolon-separator\";i:2918;s:15:\"colon-separator\";i:2919;s:18:\"autocomment-prefix\";i:2920;s:14:\"pipe-separator\";i:2921;s:14:\"word-separator\";i:2922;s:8:\"ellipsis\";i:2923;s:7:\"percent\";i:2924;s:11:\"parentheses\";i:2925;s:19:\"autoblock_whitelist\";i:2926;s:10:\"size-bytes\";i:2927;s:14:\"size-kilobytes\";i:2928;s:14:\"size-megabytes\";i:2929;s:14:\"size-gigabytes\";i:2930;s:19:\"iranian-calendar-m1\";i:2931;s:19:\"iranian-calendar-m2\";i:2932;s:19:\"iranian-calendar-m3\";i:2933;s:19:\"iranian-calendar-m4\";i:2934;s:19:\"iranian-calendar-m5\";i:2935;s:19:\"iranian-calendar-m6\";i:2936;s:19:\"iranian-calendar-m7\";i:2937;s:19:\"iranian-calendar-m8\";i:2938;s:19:\"iranian-calendar-m9\";i:2939;s:20:\"iranian-calendar-m10\";i:2940;s:20:\"iranian-calendar-m11\";i:2941;s:20:\"iranian-calendar-m12\";i:2942;s:17:\"hijri-calendar-m1\";i:2943;s:17:\"hijri-calendar-m2\";i:2944;s:17:\"hijri-calendar-m3\";i:2945;s:17:\"hijri-calendar-m4\";i:2946;s:17:\"hijri-calendar-m5\";i:2947;s:17:\"hijri-calendar-m6\";i:2948;s:17:\"hijri-calendar-m7\";i:2949;s:17:\"hijri-calendar-m8\";i:2950;s:17:\"hijri-calendar-m9\";i:2951;s:18:\"hijri-calendar-m10\";i:2952;s:18:\"hijri-calendar-m11\";i:2953;s:18:\"hijri-calendar-m12\";i:2954;s:18:\"hebrew-calendar-m1\";i:2955;s:18:\"hebrew-calendar-m2\";i:2956;s:18:\"hebrew-calendar-m3\";i:2957;s:18:\"hebrew-calendar-m4\";i:2958;s:18:\"hebrew-calendar-m5\";i:2959;s:18:\"hebrew-calendar-m6\";i:2960;s:19:\"hebrew-calendar-m6a\";i:2961;s:19:\"hebrew-calendar-m6b\";i:2962;s:18:\"hebrew-calendar-m7\";i:2963;s:18:\"hebrew-calendar-m8\";i:2964;s:18:\"hebrew-calendar-m9\";i:2965;s:19:\"hebrew-calendar-m10\";i:2966;s:19:\"hebrew-calendar-m11\";i:2967;s:19:\"hebrew-calendar-m12\";i:2968;s:22:\"hebrew-calendar-m1-gen\";i:2969;s:22:\"hebrew-calendar-m2-gen\";i:2970;s:22:\"hebrew-calendar-m3-gen\";i:2971;s:22:\"hebrew-calendar-m4-gen\";i:2972;s:22:\"hebrew-calendar-m5-gen\";i:2973;s:22:\"hebrew-calendar-m6-gen\";i:2974;s:23:\"hebrew-calendar-m6a-gen\";i:2975;s:23:\"hebrew-calendar-m6b-gen\";i:2976;s:22:\"hebrew-calendar-m7-gen\";i:2977;s:22:\"hebrew-calendar-m8-gen\";i:2978;s:22:\"hebrew-calendar-m9-gen\";i:2979;s:23:\"hebrew-calendar-m10-gen\";i:2980;s:23:\"hebrew-calendar-m11-gen\";i:2981;s:23:\"hebrew-calendar-m12-gen\";i:2982;s:9:\"signature\";i:2983;s:14:\"signature-anon\";i:2984;s:12:\"timezone-utc\";i:2985;s:11:\"version-api\";i:2986;s:20:\"version-svn-revision\";i:2987;s:20:\"specialpages-summary\";}}'),('es','preload','a:3:{s:8:\"messages\";a:95:{s:9:\"aboutpage\";s:17:\"Project:Acerca de\";s:9:\"aboutsite\";s:22:\"Acerca de {{SITENAME}}\";s:17:\"accesskey-ca-edit\";s:1:\"e\";s:20:\"accesskey-ca-history\";s:1:\"h\";s:23:\"accesskey-ca-nstab-main\";s:1:\"c\";s:17:\"accesskey-ca-talk\";s:1:\"t\";s:25:\"accesskey-n-currentevents\";s:0:\"\";s:16:\"accesskey-n-help\";s:0:\"\";s:32:\"accesskey-n-mainpage-description\";s:1:\"z\";s:18:\"accesskey-n-portal\";s:0:\"\";s:22:\"accesskey-n-randompage\";s:1:\"x\";s:25:\"accesskey-n-recentchanges\";s:1:\"r\";s:23:\"accesskey-n-sitesupport\";N;s:16:\"accesskey-p-logo\";s:0:\"\";s:18:\"accesskey-pt-login\";s:1:\"o\";s:16:\"accesskey-search\";s:1:\"f\";s:25:\"accesskey-search-fulltext\";s:0:\"\";s:19:\"accesskey-search-go\";s:0:\"\";s:21:\"accesskey-t-permalink\";s:0:\"\";s:17:\"accesskey-t-print\";s:1:\"p\";s:31:\"accesskey-t-recentchangeslinked\";s:1:\"k\";s:24:\"accesskey-t-specialpages\";s:1:\"q\";s:25:\"accesskey-t-whatlinkshere\";s:1:\"j\";s:10:\"anonnotice\";s:1:\"-\";s:15:\"colon-separator\";s:6:\":&#32;\";s:13:\"currentevents\";s:10:\"Actualidad\";s:17:\"currentevents-url\";s:18:\"Project:Actualidad\";s:14:\"disclaimerpage\";s:46:\"Project:Limitación general de responsabilidad\";s:11:\"disclaimers\";s:11:\"Aviso legal\";s:4:\"edit\";s:6:\"Editar\";s:4:\"help\";s:5:\"Ayuda\";s:8:\"helppage\";s:15:\"Help:Contenidos\";s:13:\"history_short\";s:9:\"Historial\";s:6:\"jumpto\";s:9:\"Saltar a:\";s:16:\"jumptonavigation\";s:11:\"navegación\";s:12:\"jumptosearch\";s:6:\"buscar\";s:14:\"lastmodifiedat\";s:60:\"Esta página fue modificada por última vez el $1, a las $2.\";s:8:\"mainpage\";s:17:\"Página principal\";s:20:\"mainpage-description\";s:17:\"Página principal\";s:23:\"nav-login-createaccount\";s:30:\"Iniciar sesión / crear cuenta\";s:10:\"navigation\";s:11:\"Navegación\";s:10:\"nstab-main\";s:7:\"Página\";s:15:\"opensearch-desc\";s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";s:14:\"pagecategories\";s:36:\"{{PLURAL:$1|Categoría|Categorías}}\";s:18:\"pagecategorieslink\";s:18:\"Special:Categories\";s:9:\"pagetitle\";s:17:\"$1 - {{SITENAME}}\";s:23:\"pagetitle-view-mainpage\";s:12:\"{{SITENAME}}\";s:9:\"permalink\";s:17:\"Enlace permanente\";s:13:\"personaltools\";s:23:\"Herramientas personales\";s:6:\"portal\";s:22:\"Portal de la comunidad\";s:10:\"portal-url\";s:30:\"Project:Portal de la comunidad\";s:16:\"printableversion\";s:22:\"Versión para imprimir\";s:7:\"privacy\";s:33:\"Política de protección de datos\";s:11:\"privacypage\";s:41:\"Project:Política de protección de datos\";s:10:\"randompage\";s:17:\"Página aleatoria\";s:14:\"randompage-url\";s:14:\"Special:Random\";s:13:\"recentchanges\";s:17:\"Cambios recientes\";s:17:\"recentchanges-url\";s:21:\"Special:RecentChanges\";s:27:\"recentchangeslinked-toolbox\";s:20:\"Cambios relacionados\";s:13:\"retrievedfrom\";s:18:\"Obtenido de «$1»\";s:6:\"search\";s:6:\"Buscar\";s:13:\"searcharticle\";s:2:\"Ir\";s:12:\"searchbutton\";s:6:\"Buscar\";s:7:\"sidebar\";s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";s:14:\"site-atom-feed\";s:15:\"Feed Atom de $1\";s:13:\"site-rss-feed\";s:13:\"$1 Fuente RSS\";s:10:\"sitenotice\";s:1:\"-\";s:12:\"specialpages\";s:19:\"Páginas especiales\";s:7:\"tagline\";s:15:\"De {{SITENAME}}\";s:4:\"talk\";s:10:\"Discusión\";s:7:\"toolbox\";s:12:\"Herramientas\";s:15:\"tooltip-ca-edit\";s:83:\"Puedes editar esta página. Utiliza el botón de previsualización antes de guardar\";s:18:\"tooltip-ca-history\";s:50:\"Versiones anteriores de esta página y sus autores\";s:21:\"tooltip-ca-nstab-main\";s:16:\"Ver el artículo\";s:15:\"tooltip-ca-talk\";s:31:\"Discusión acerca del artículo\";s:23:\"tooltip-n-currentevents\";s:55:\"Información de contexto sobre acontecimientos actuales\";s:14:\"tooltip-n-help\";s:22:\"El lugar para aprender\";s:30:\"tooltip-n-mainpage-description\";s:28:\"Visitar la página principal\";s:16:\"tooltip-n-portal\";s:71:\"Acerca del proyecto, lo que puedes hacer, dónde encontrar información\";s:20:\"tooltip-n-randompage\";s:26:\"Cargar una página al azar\";s:23:\"tooltip-n-recentchanges\";s:37:\"Lista de cambios recientes en el wiki\";s:21:\"tooltip-n-sitesupport\";N;s:14:\"tooltip-p-logo\";s:28:\"Visitar la página principal\";s:20:\"tooltip-p-navigation\";N;s:16:\"tooltip-pt-login\";s:62:\"Te recomendamos iniciar sesión, sin embargo no es obligatorio\";s:14:\"tooltip-search\";s:22:\"Buscar en {{SITENAME}}\";s:23:\"tooltip-search-fulltext\";s:32:\"Busca este texto en las páginas\";s:17:\"tooltip-search-go\";s:48:\"Ir al artículo con este nombre exacto si existe\";s:19:\"tooltip-t-permalink\";s:47:\"Enlace permanente a esta versión de la página\";s:15:\"tooltip-t-print\";s:35:\"Versión imprimible de esta página\";s:29:\"tooltip-t-recentchangeslinked\";s:55:\"Cambios recientes en las páginas que enlazan con ésta\";s:22:\"tooltip-t-specialpages\";s:38:\"Lista de todas las páginas especiales\";s:23:\"tooltip-t-whatlinkshere\";s:54:\"Lista de todas las páginas del wiki que enlazan aquí\";s:5:\"views\";s:6:\"Vistas\";s:13:\"whatlinkshere\";s:19:\"Lo que enlaza aquí\";}s:11:\"dateFormats\";a:12:{s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j M Y\";s:8:\"dmy both\";s:9:\"H:i j M Y\";s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}s:14:\"namespaceNames\";a:17:{i:-2;s:5:\"Medio\";i:-1;s:8:\"Especial\";i:1;s:10:\"Discusión\";i:2;s:7:\"Usuario\";i:3;s:18:\"Usuario_discusión\";i:5;s:13:\"$1_discusión\";i:6;s:7:\"Archivo\";i:7;s:18:\"Archivo_discusión\";i:8;s:9:\"MediaWiki\";i:9;s:20:\"MediaWiki_discusión\";i:10;s:9:\"Plantilla\";i:11;s:20:\"Plantilla_discusión\";i:12;s:5:\"Ayuda\";i:13;s:16:\"Ayuda_discusión\";i:14;s:10:\"Categoría\";i:15;s:21:\"Categoría_discusión\";i:0;s:0:\"\";}}');
/*!40000 ALTER TABLE `peg_l10n_cache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_hitcounter`
--

DROP TABLE IF EXISTS `peg_hitcounter`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_hitcounter` (
  `hc_id` int(10) unsigned NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=25000;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_hitcounter`
--

LOCK TABLES `peg_hitcounter` WRITE;
/*!40000 ALTER TABLE `peg_hitcounter` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_hitcounter` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_change_tag`
--

DROP TABLE IF EXISTS `peg_change_tag`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_change_tag` (
  `ct_rc_id` int(11) default NULL,
  `ct_log_id` int(11) default NULL,
  `ct_rev_id` int(11) default NULL,
  `ct_tag` varbinary(255) NOT NULL,
  `ct_params` blob,
  UNIQUE KEY `change_tag_rc_tag` (`ct_rc_id`,`ct_tag`),
  UNIQUE KEY `change_tag_log_tag` (`ct_log_id`,`ct_tag`),
  UNIQUE KEY `change_tag_rev_tag` (`ct_rev_id`,`ct_tag`),
  KEY `change_tag_tag_id` (`ct_tag`,`ct_rc_id`,`ct_rev_id`,`ct_log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_change_tag`
--

LOCK TABLES `peg_change_tag` WRITE;
/*!40000 ALTER TABLE `peg_change_tag` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_change_tag` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_querycache`
--

DROP TABLE IF EXISTS `fzg_querycache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_querycache` (
  `qc_type` varbinary(32) NOT NULL,
  `qc_value` int(10) unsigned NOT NULL default '0',
  `qc_namespace` int(11) NOT NULL default '0',
  `qc_title` varbinary(255) NOT NULL default '',
  KEY `qc_type` (`qc_type`,`qc_value`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_querycache`
--

LOCK TABLES `fzg_querycache` WRITE;
/*!40000 ALTER TABLE `fzg_querycache` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_querycache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_externallinks`
--

DROP TABLE IF EXISTS `peg_externallinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_externallinks` (
  `el_from` int(10) unsigned NOT NULL default '0',
  `el_to` blob NOT NULL,
  `el_index` blob NOT NULL,
  KEY `el_from` (`el_from`,`el_to`(40)),
  KEY `el_to` (`el_to`(60),`el_from`),
  KEY `el_index` (`el_index`(60))
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_externallinks`
--

LOCK TABLES `peg_externallinks` WRITE;
/*!40000 ALTER TABLE `peg_externallinks` DISABLE KEYS */;
INSERT INTO `peg_externallinks` VALUES (1,'//meta.wikimedia.org/wiki/Help:Contents','http://org.wikimedia.meta./wiki/Help:Contents'),(1,'//meta.wikimedia.org/wiki/Help:Contents','https://org.wikimedia.meta./wiki/Help:Contents'),(1,'//www.mediawiki.org/wiki/Manual:Configuration_settings','http://org.mediawiki.www./wiki/Manual:Configuration_settings'),(1,'//www.mediawiki.org/wiki/Manual:Configuration_settings','https://org.mediawiki.www./wiki/Manual:Configuration_settings'),(1,'//www.mediawiki.org/wiki/Manual:FAQ','http://org.mediawiki.www./wiki/Manual:FAQ'),(1,'//www.mediawiki.org/wiki/Manual:FAQ','https://org.mediawiki.www./wiki/Manual:FAQ'),(1,'https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce','https://org.wikimedia.lists./mailman/listinfo/mediawiki-announce'),(25,'http://www.sqlinform.com/free_online_sw.html','http://com.sqlinform.www./free_online_sw.html'),(17,'http://sqlformat.appspot.com/','http://com.appspot.sqlformat./'),(170,'http://www.oooforum.org/forum/viewtopic.phtml?t=59986','http://org.oooforum.www./forum/viewtopic.phtml?t=59986'),(171,'http://www.oooforum.org/forum/viewtopic.phtml?t=9883','http://org.oooforum.www./forum/viewtopic.phtml?t=9883'),(172,'http://en.wikibooks.org/wiki/OpenOffice.org/Macro','http://org.wikibooks.en./wiki/OpenOffice.org/Macro'),(173,'http://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=30687','http://org.openoffice.forum./en/forum/viewtopic.php?f=20&t=30687'),(177,'http://www.oooforum.org/forum/viewtopic.phtml?t=5057&highlight=frame+controller+model','http://org.oooforum.www./forum/viewtopic.phtml?t=5057&highlight=frame+controller+model'),(178,'http://www.oooforum.org/forum/viewtopic.phtml?t=8481','http://org.oooforum.www./forum/viewtopic.phtml?t=8481'),(13,'http://lucasmanual.com/mywiki/OpenOffice','http://com.lucasmanual./mywiki/OpenOffice'),(13,'http://wiki.openoffice.org/wiki/OOoES/Desarrollo/PyUNO_ES','http://org.openoffice.wiki./wiki/OOoES/Desarrollo/PyUNO_ES'),(13,'http://wiki.openoffice.org/wiki/PyUNO_bridge','http://org.openoffice.wiki./wiki/PyUNO_bridge'),(13,'http://wiki.openoffice.org/wiki/Extensions_development_python','http://org.openoffice.wiki./wiki/Extensions_development_python'),(13,'http://es.diveintopython.net/toc.html','http://net.diveintopython.es./toc.html'),(13,'http://cutter.rexx.com/~dkuhlman/python_101/python_101.html','http://com.rexx.cutter./~dkuhlman/python_101/python_101.html'),(13,'http://beastie.cs.ua.edu/cs150/book/index.html','http://edu.ua.cs.beastie./cs150/book/index.html');
/*!40000 ALTER TABLE `peg_externallinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_change_tag`
--

DROP TABLE IF EXISTS `pvt_change_tag`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_change_tag` (
  `ct_rc_id` int(11) default NULL,
  `ct_log_id` int(11) default NULL,
  `ct_rev_id` int(11) default NULL,
  `ct_tag` varbinary(255) NOT NULL,
  `ct_params` blob,
  UNIQUE KEY `change_tag_rc_tag` (`ct_rc_id`,`ct_tag`),
  UNIQUE KEY `change_tag_log_tag` (`ct_log_id`,`ct_tag`),
  UNIQUE KEY `change_tag_rev_tag` (`ct_rev_id`,`ct_tag`),
  KEY `change_tag_tag_id` (`ct_tag`,`ct_rc_id`,`ct_rev_id`,`ct_log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_change_tag`
--

LOCK TABLES `pvt_change_tag` WRITE;
/*!40000 ALTER TABLE `pvt_change_tag` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_change_tag` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_text`
--

DROP TABLE IF EXISTS `peg_text`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_text` (
  `old_id` int(10) unsigned NOT NULL auto_increment,
  `old_text` mediumblob NOT NULL,
  `old_flags` tinyblob NOT NULL,
  PRIMARY KEY  (`old_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1449 DEFAULT CHARSET=binary MAX_ROWS=10000000 AVG_ROW_LENGTH=10240;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_text`
--

LOCK TABLES `peg_text` WRITE;
/*!40000 ALTER TABLE `peg_text` DISABLE KEYS */;
INSERT INTO `peg_text` VALUES (1,'\'\'\'MediaWiki has been successfully installed.\'\'\'\n\nConsult the [//meta.wikimedia.org/wiki/Help:Contents User\'s Guide] for information on using the wiki software.\n\n== Getting started ==\n* [//www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]\n* [//www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]','utf-8'),(2,'Documentación General','utf-8'),(3,'Documentación General\n\nGestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))','utf-8'),(4,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))','utf-8'),(5,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n\n\'\'\'Vistas\'\'\'\n\n\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\'\'\'Reportes\'\'\'\n\n\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n\'\'\'Procedimientos\'\'\'\n\n\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(6,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\'\'\'Reportes\'\'\'\n\n\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n\'\'\'Procedimientos\'\'\'\n\n\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(7,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(8,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(9,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(10,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n\'\'\'Triggers\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(11,'\'\'\'Documentación General\'\'\'\n\n[[Gestión Retail Aberturas: Bitácora]]\n\n[[Gestión Retail Aberturas]]: Gestión de Magnitudes\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n\'\'\'Triggers\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(12,'\n== 20110112 ==\n\nActivación de Wiki\nDesarrollo y test de trigger Alta_Productos','utf-8'),(13,'\'\'\'Documentación General\'\'\'\n\n== Gestión Retail Aberturas ==\n\n[[Gestión Retail Aberturas: Bitácora]]\n\n== Gestión de Magnitudes ==\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n== Triggers ==\n\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(14,'\n== 20110112 ==\n\nActivación de Wiki\n\nDesarrollo y test de trigger Alta_Productos','utf-8'),(15,'\n== 20110112 ==\n\nActivación de Wiki\n\nDesarrollo y test de [[Trigger:Alta_Productos]]','utf-8'),(16,'\'\'\'Documentación General\'\'\'\n\n== Gestión Retail Aberturas ==\n\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n== Triggers ==\n\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(17,'\'\'\'Documentación General\'\'\'\n\n[[#Gestion de Magnitudes|Gestión de Magnitudes]]\n\n\n== Gestión Retail Aberturas ==\n\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n== Triggers ==\n\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(18,'\'\'\'Documentación General\'\'\'\n\n== Gestión Retail Aberturas ==\n\n\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n=== Triggers ===\n\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(19,'\'\'\'Documentación General\'\'\'\n\n== Gestión Retail Aberturas ==\n\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n=== Triggers ===\n\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(20,'\n== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(21,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n\n\n\'\'\'Vistas\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n\'\'\'Reportes\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(22,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (Coeficiente Elemento * (Ancho + OffsetAncho) * (Alto + OffsetAlto))\n\nML = Metro Lineal\nPrecio Unitario =  Precio determinado por tipo de cliente * (Coeficiente Elemento * (((Ancho + OffsetAncho) * 2) + ((Alto + OffsetAlto) * 2))\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(23,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\nML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\nMG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\nUN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(24,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\nCoeficientes: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1.\nOffset: Por defecto, el valor es 0\n==== Atributos de Productos/Elementos ====\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\nML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\nMG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\nUN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(25,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficientes: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1.\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\nM2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\nML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\nMG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\nUN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(26,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficientes: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1.\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(27,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1.\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(28,'\n== 20110112 ==\n* Activación de Wiki\n* Desarrollo y test de [[Trigger:Alta_Productos]]\n* Modificación de [[Vista:Visindetpre]]','utf-8'),(29,'\n== 20110112 ==\n* Activación de Wiki\n* Desarrollo y test de [[Trigger:Alta_Productos]]\n* Modificación de [[Vista:visindetpre]]','utf-8'),(30,'\n== 20120112 ==\n* Activación de Wiki\n* Desarrollo y test de [[Trigger:Alta_Productos]]\n* Modificación de [[Vista:visindetpre]]\n== 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','utf-8'),(31,'\n== 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\n== 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','utf-8'),(32,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(33,'\n== 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\n== 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','utf-8'),(34,'\n== 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\n== 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.\nEl 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.\nSe procedió a definir por default el valor 0 para el atributo VidQuoteEstado.','utf-8'),(35,'\n== 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\n== 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/>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.\nSe procedió a definir por default el valor 0 para el atributo VidQuoteEstado.','utf-8'),(36,'\n== 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\n== 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/>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.','utf-8'),(37,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(38,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n[[Gestión Retail Aberturas: Pendientes]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(39,'== Gestión Retail Aberturas ==\n[[Gestión Retail Aberturas: Bitácora]]\n\n[[Gestión Retail Aberturas: Pendientes]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(40,'*Controlar Accesos por IP\n*Licensing. Como*s + Precios -> Documentar\n*Transacciones\n*SendTo - PDF','utf-8'),(41,'\n== 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\n== 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\n== 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 FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.','utf-8'),(42,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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 FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.','utf-8'),(43,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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.','utf-8'),(44,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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.','utf-8'),(45,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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== 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== 20120124 ==\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n== 20120125 ==\n* Agregado de Agente Comercial\n** Agregado en TABLA:vidquoten1\n** Agregado en TABLA:contactos\n** Agregado de VISTA:acomercial\n** Modificación de FORM:Contactos.\n*** Agregado de Option\n** Modificación de FORM:Presupuestos>Alta+Pendientes\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.','utf-8'),(46,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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== 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== 20120124 ==\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n== 20120125 ==\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n== 20120127 ==\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].','utf-8'),(47,'== Relaciones ==\n[[VISTA:visproadic]]','utf-8'),(48,'== Relaciones ==\nVISTA:visprodadic\nTABLA:vidquoten2','utf-8'),(49,'== Relaciones ==\n*VISTA:visprodadic\n*TABLA:vidquoten2','utf-8'),(50,'== Relaciones ==\n*[[VISTA:visprodadic]]\n*[[TABLA:vidquoten2]]','utf-8'),(51,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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== 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== 20120124 ==\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n== 20120125 ==\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n== 20120127 ==\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].','utf-8'),(52,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/10000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(53,'=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc\n===== EventoAfterRecordAction\n===== EventoBeforeRecordChange\n===== EventoBeforeReloading\n===== EventoBRADetallePresupuesto\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(54,'=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n===== EventoAfterRecordAction =====\n===== EventoBeforeRecordChange =====\n===== EventoBeforeReloading =====\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(55,'=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n===== EventoAfterRecordAction =====\nFORM:\nEVNT: Test\n\n===== EventoBeforeRecordChange =====\n===== EventoBeforeReloading =====\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(56,'=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n===== EventoAfterRecordAction =====\nFORM:\nEVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(57,'=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(58,'=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(59,'=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(60,'=== Estructuras de Datos ====\nVISTA:visintdetpre\nVISTA:visproadic\nVISTA:viscompodis\nVISTA:viscabdetalla\nVISTA:visdetaobs\nVISTA:visdocpcob\nVISTA:vislineabs\nVISTA:visprestot\nVISTA:visreppres\nVISTA:visrprescmp\nVISTA:vissubxitem\n;VISTA:clientes\n:TABLA:contactos\n;VISTA:proveedores\n:TABLA:contactos\n;VISTA:acomercial\n:TABLA:contactos\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(61,'=== Estructuras de Datos ====\n;[[VISTA:visintdetpre]]\n;[[VISTA:visproadic]]\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n;[[VISTA:visdetaobs]]\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n;[[VISTA:visprestot]]\n;[[VISTA:visreppres]]\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(62,'=== Estructuras de Datos ====\n;[[VISTA:visintdetpre]]\n;[[VISTA:visproadic]]\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n;[[VISTA:visprestot]]\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(63,'=== Estructuras de Datos ===\n;[[VISTA:visintdetpre]]\n;[[VISTA:visproadic]]\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n;[[VISTA:visprestot]]\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(64,'=== Estructuras de Datos ===\n==== Tablas ====\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n;[[VISTA:visproadic]]\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n;[[VISTA:visprestot]]\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(65,'=== Estructuras de Datos ===\n==== Tablas ====\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:visproadic]]\n:TABLA:productos\n:TABLA:composicion\n:VISTA:preciosvigentes\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(66,'=== Estructuras de Datos ===\n==== Tablas ====\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:visproadic]]\n:TABLA:productos\n:TABLA:composicion\n:VISTA:preciosvigentes\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n==== Procedimientos ====\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(67,'=== Estructuras de Datos ===\n==== Tablas ====\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:visproadic]]\n:TABLA:productos\n:TABLA:composicion\n:VISTA:preciosvigentes\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n=== Procedimientos ===\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(68,'=== Estructuras de Datos ===\n==== Tablas ====\n*catinsumos\n*cmoneda\n*composicion\n*composicionqry\n*contactos\n*cpar\n*debugstmt\n*elementos\n*insumos\n*listasprecios\n*listavigente\n*logprecios\n*monedas\n*precios*\n*precios_OLD\n*preciosqry\n*preciosvigact\n*preciosvigentes\n*productos\n*reppresqry\n*transacciones\n*ttransac\n*vidquoten1\n*vidquoten2\n*vidquoten3\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:visproadic]]\n:TABLA:productos\n:TABLA:composicion\n:VISTA:preciosvigentes\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n=== Procedimientos ===\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(69,'=== Estructuras de Datos ===\n==== Tablas ====\n*catinsumos\n*cmoneda\n*composicion\n*composicionqry\n*contactos\n*cpar\n*debugstmt\n*elementos\n*insumos\n*listasprecios\n*logprecios\n*monedas\n*precios\n*preciosqry\n*productos\n*reppresqry\n*transacciones\n*ttransac\n*vidquoten1\n*vidquoten2\n*vidquoten3\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:visproadic]]\n:TABLA:productos\n:TABLA:composicion\n:VISTA:preciosvigentes\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n=== Procedimientos ===\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(70,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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== 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== 20120124 ==\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n== 20120125 ==\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n== 20120127 ==\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n== 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== 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'),(71,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(72,'*<del>Controlar Accesos por IP</del>\n*Licensing. Como*s + Precios -> Documentar\n*Transacciones\n*SendTo - PDF','utf-8'),(73,'*<del>Controlar Accesos por IP</del>\n*Licensing. Como*s + Precios -> Documentar\n*Transacciones\n*<del>SendTo - PDF</del>\n*Parser\n**[\'\'value;value;...\'\']\n**{\'\'expresion\'\'}\n*Librería de Ventanas\n*Gráficos\n*Rutinas Java\n*Pruebas URL Windows\n*Vista de Agentes Comerciales\n*Resguardo diario\n*Eliminar Frame Access Tables by User\n*Hide Database Objects Tables&Queries - Sarraceno','utf-8'),(74,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===','utf-8'),(75,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:FazzGlassGestion\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol','utf-8'),(76,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol','utf-8'),(77,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol','utf-8'),(78,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol','utf-8'),(79,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol','utf-8'),(80,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol','utf-8');
INSERT INTO `peg_text` VALUES (81,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n*** INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol','utf-8'),(82,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \n# Corroborar ACL\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol','utf-8'),(83,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \n# Corroborar ACL\n<pre>\n## SELECT wskey AS Cantidad, CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17)) FROM wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol\n</pre>','utf-8'),(84,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \n# Corroborar ACL\n<pre>\nSELECT\n:wskey AS Cantidad,\n:CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17))\nFROM\n:wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol\n</pre>','utf-8'),(85,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \n# Corroborar ACL\n<pre>\nSELECT\n:wskey AS Cantidad,\n:CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17))\nFROM\n:wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol\n</pre>\n{{key press|Ctrl|A}}','utf-8'),(86,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \n# Corroborar ACL\n<pre>\nSELECT\n:wskey AS Cantidad,\n:CAST(DECODE(wskey,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(17))\nFROM\n:wscontrol\n## SELECT wskey1 AS Cantidad,wskey2 AS Usuarios,CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) FROM wscontrol\n</pre>\n{{tecla|Ctrl|A}}','utf-8'),(87,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \nInsertar Nuevo Servidor\n<pre>\nINSERT INTO	wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"),\n	ENCODE(<Cantidad de Usuarios en formato fill con 0s de 3 dígitos>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	)\n</pre>\nCorroborar ACL\n<pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre>\n{{tecla|Ctrl|A}}','utf-8'),(88,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \nInsertar Nuevo Servidor\n<pre>\nINSERT INTO	wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"),\n	ENCODE(<Cantidad de Usuarios en formato fill con 0s de 3 dígitos>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	)\n</pre>\nEjemplo\n<pre>\nINSERT INTO	wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"2012,\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre>\nCorroborar ACL\n<pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre>\n{{tecla|Ctrl|A}}','utf-8'),(89,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n## INSERT INTO wscontrol (wskey) VALUES (ENCODE(\'\'<MACAddress>\'\',\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"))\n## Alta de Servidor\n###INSERT INTO wscontrol (wskey1,wskey2) VALUES (ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")) \nInsertar Nuevo Servidor\n<pre>\nINSERT INTO	wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"),\n	ENCODE(<Cantidad de Usuarios en formato fill con 0s de 3 dígitos>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	)\n</pre>\nEjemplo\n<pre>\nINSERT INTO	wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre>\nCorroborar ACL\n<pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre>\n{{tecla|Ctrl|A}}','utf-8'),(90,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\nIngreso de Registro en Tabla\n<pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"),\n	ENCODE(<Cantidad de Usuarios en formato fill con 0s de 3 dígitos>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	)\n</pre>\nEjemplo\n<pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre>\nCorroborar ACL\n<pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre>\n{{tecla|Ctrl|A}}','utf-8'),(91,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\nIngreso de Registro en Tabla\n<pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	)\n</pre>\nEjemplo\n<pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre>\nCorroborar ACL\n<pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre>\n{{tecla|Ctrl|A}}','utf-8'),(92,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\nIngreso de Registro en Tabla\n<pre><small>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	)\n</small></pre>\nEjemplo\n<pre><small>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</small></pre>\nCorroborar ACL\n<pre><small>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</small></pre>\n{{tecla|Ctrl|A}}','utf-8'),(93,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\nIngreso de Registro en Tabla\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:\'\'<datasource>\'\'\")\n	)\n</pre></small>\nEjemplo\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\nCorroborar ACL\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(94,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(95,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n\n\'\'\'Procedimientos\'\'\'\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(96,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n</small>\n=== Procedimientos ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Verificar la instalación de GNUAwk\n# Tomar nota de MACAddress del equipo.\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(97,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n</small>\n=== Procedimientos ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| CrearNuevaListaPrecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.CrearNuevaListaPrecios.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Agrega registración al tiempo de generar una nueva lista de precios.\n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(98,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n</small>\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| Nombre\n| Comando\n| Uso\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| align=\"right\"| 500.00\n|-\n| Butter\n| Ice cream\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|}\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n\nFORM: Crear Nueva Lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| DuplicaProductoCompo\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Procedure.DuplicaProductoCompo.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n\nFORM: Copia Composicion\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(99,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n</small>\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n\nFORM: Crear Nueva Lista\n\nFORM: Copia Composicion\n\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(100,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `visreppres`.`VidQuoteID`, `visreppres`.`VidQuoteObra`, `visreppres`.`VidQuoteCliente`, `visreppres`.`VidQuoteFecha`, `visreppres`.`VidQuoteItem`, `visreppres`.`VidQuoteProdCantidad`, `visreppres`.`VidQuoteProdID`, `visreppres`.`VidQuoteDetalle`, `visreppres`.`VidQuotePrecioS`, `clientes`.`RazonSocial`, `clientes`.`Direccion`, `clientes`.`Localidad`, `clientes`.`Provincia` FROM `fzggestion`.`clientes` AS `clientes`, `fzggestion`.`visreppres` AS `visreppres` WHERE `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente` ORDER BY `visreppres`.`VidQuoteID` ASC, `visreppres`.`VidQuoteObra` ASC, `visreppres`.`VidQuoteCliente` ASC, `visreppres`.`VidQuoteItem` ASC\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n</small>\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(101,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n\n\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <pre>\n<pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Presupuesto Individual\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Filtra por Presupuesto. Visreppres\n\n\n\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Productos\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reporte de Productos\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(102,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| style=\"border-spacing:0;\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n\n|-\n| Productos\n| SELECT `productos`.`ProductoID`, `productos`.`CategoriaID`, `productos`.`Descripcion`, `productos`.`Magnitud`, `productos`.`InsumoIMG` FROM `fzggestion`.`productos` `productos` ORDER BY `productos`.`CategoriaID`, `productos`.`ProductoID`\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(103,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| style=\"border-spacing:0;\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(104,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(105,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n\n\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Nombre\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Comando\'\'\'</center>\n| style=\"border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| <center>\'\'\'Uso\'\'\'</center>\n| style=\"border:0.05pt solid #000000;padding:0.0382in;\"| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscabdetalla\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscabdetalla.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.\n\nFORM: Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos, Vidquoten1\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Proveedores\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.proveedores.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Proveedores”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Clientes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.clientes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visualización de Contactos “Clientes”\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Contactos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visreppres\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visreppres.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vislineabs, Visdetaobs\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscompodis\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscompodis.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| \n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Viscoposimpl\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.viscomposimpl.sql\n\n\n\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de los elementos de composicion con información para query\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composición\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visdetaobs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visdetaobs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visintdetpre\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visintdetpre.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visprodadic, Vidquoten2\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vislineabs\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vislineabs.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprodadic\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visproadic.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Productos, Composicion, PreciosVigentes\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vissubxitem\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.vissubxitem.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Subtotal por Item de Presupuesto en tiempo real\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Vidquoten3\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Listavigente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigentes\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigentes.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Listasprecios, Precios\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Preciosvigact\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.preciosvigact.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de lista de precios vigentes con datos de productos para actualización columnar.\n\nFORM: Actualización por tipo de lista\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Preciosvigentes, Productos\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Visprestot\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| FZG.Vista.visprestot.sql\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.0382in;\"| Vista de Presupuestos Totalizados por Cliente\n| style=\"border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.0382in;\"| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(106,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(107,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| style=\"border-spacing:0;\"\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Trigger\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Event\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Table\n| style=\"background-color:#c0c0c0;border-top:0.05pt double #808080;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_ListasPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| listasprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_LogPrecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| logprecios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Precio\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| precios\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| AltaTransaccion\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| transacciones\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten1\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Alta_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| INSERT\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Actualiza_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| UPDATE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| Baja_Item_Presupuesto\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| DELETE\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| vidquoten2\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:none;padding:0.0194in;\"| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(108,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{|\n| Trigger\n| Event\n| Table\n| Statement\n| style=\"background-color:#c0c0c0;border:0.05pt double #808080;padding:0.0194in;\"| Timing\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Alta_Item_Presupuesto\n| INSERT\n| vidquoten2\n| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Actualiza_Item_Presupuesto\n| UPDATE\n| vidquoten2\n| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(109,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <nowiki>BEGIN DECLARE vListaVieja,vListaNueva INT(5); DECLARE vFechaModificacion DATE; DECLARE vHoraModificacion TIME; SET vListaNueva = (SELECT Lista FROM listavigente); SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista); SET vFechaModificacion = CURDATE(); SET vHoraModificacion = CURTIME(); INSERT INTO precios ( `precios`.`Lista`, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, `precios`.`FechaModificacion`, `precios`.`HoraModificacion`)( SELECT vListaNueva, `precios`.`ProductoID`, `precios`.`PrecioProd01`, `precios`.`PrecioProd02`, `precios`.`PrecioProd03`, vFechaModificacion, vHoraModificacion FROM precios WHERE `precios`.`Lista` = vListaVieja); END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Alta_Item_Presupuesto\n| INSERT\n| vidquoten2\n| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Actualiza_Item_Presupuesto\n| UPDATE\n| vidquoten2\n| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(110,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n	DECLARE vListaVieja,vListaNueva INT(5);\n	DECLARE vFechaModificacion DATE;\n	DECLARE vHoraModificacion TIME;\n	SET vListaNueva = (SELECT Lista FROM listavigente);\n	SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista);\n	SET vFechaModificacion = CURDATE();\n	SET vHoraModificacion = CURTIME();\n	INSERT INTO precios (\n		`precios`.`Lista`,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		`precios`.`FechaModificacion`,\n		`precios`.`HoraModificacion`)(\n	SELECT 	vListaNueva,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		vFechaModificacion,\n		vHoraModificacion\n	FROM precios \n	WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| BEGIN DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5); SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`); SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`); SET `NEW`.`FechaModificacion` = CURDATE(); SET `NEW`.`HoraModificacion` = CURTIME(); SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`); IF ISNULL(NEW.CategoriaID) THEN IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista`; SET vPaso=\'A\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`ProveedorID` = NEW.ProveedorID; SET vPaso=\'B\'; END IF; ELSE IF ISNULL(NEW.ProveedorID) THEN UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = NEW.CategoriaID; SET vPaso=\'C\'; ELSE UPDATE `precios`,`productos` SET `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`, `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`, `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`, `precios`.`FechaModificacion` = CURDATE(), `precios`.`HoraModificacion` = CURTIME() WHERE `precios`.`ProductoID` = `productos`.`ProductoID` AND `precios`.`Lista` = `NEW`.`Lista` AND `productos`.`CategoriaID` = vCategoriaID AND `productos`.`ProveedorID` = vProveedorID; SET vPaso=\'D\'; END IF; END IF; SET `NEW`.`RowsMod` = ROW_COUNT(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| BEGIN SET NEW.FechaModificacion = CURDATE(), NEW.HoraModificacion = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| BEGIN SET NEW.TransaccFecha = CURDATE(), NEW.TransaccHora = CURTIME(); END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| BEGIN DELETE FROM vidquoten2 WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID; DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Alta_Item_Presupuesto\n| INSERT\n| vidquoten2\n| BEGIN INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Actualiza_Item_Presupuesto\n| UPDATE\n| vidquoten2\n| <nowiki>BEGIN IF OLD.VidQuoteProdID <> NEW.VidQuoteProdID THEN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; INSERT INTO vidquoten3 ( VidQuoteID, VidQuoteLPre, VidQuoteItem, VidQuoteProdID, VidQuoteProdCantidad, VidQuoteAncho, VidQuoteAlto, VidQuoteElementoID, VidQuotePrecio, VidQuotePrecioP) SELECT NEW.`VidQuoteID`, NEW.`VidQuoteLPre`, NEW.`VidQuoteItem`, NEW.`VidQuoteProdID`, NEW.`VidQuoteProdCantidad`, NEW.`VidQuoteAncho`, NEW.`VidQuoteAlto`, visintdetpre.`ElementoID`, visintdetpre.`PrecioBase`, visintdetpre.`PrecioBase` * NEW.`VidQuoteProdCantidad` FROM visintdetpre WHERE visintdetpre.`ElementoPM`=1 AND visintdetpre.`VidQuoteProdID`=NEW.`VidQuoteProdID`; ELSE UPDATE `fzggestion`.`vidquoten3` AS `T3`,`fzggestion`.`visintdetpre` AS `TV` SET T3.VidQuoteProdCantidad = NEW.`VidQuoteProdCantidad`, T3.VidQuoteAncho = NEW.`VidQuoteAncho`, T3.VidQuoteAlto = NEW.`VidQuoteAlto`, T3.VidQuotePrecio = TV.`PrecioBase`, T3.VidQuotePrecioP = TV.`PrecioBase` * NEW.`VidQuoteProdCantidad` WHERE T3.`VidQuoteID` = TV.`VidQuoteID` AND T3.`VidQuoteItem` = TV.`VidQuoteItem` AND T3.`VidQuoteItem` = NEW.`VidQuoteItem` AND T3.`VidQuoteProdID` = TV.`VidQuoteProdID` AND T3.`VidQuoteElementoID` = TV.`ElementoID`; END IF; END</nowiki>\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| BEGIN DELETE FROM vidquoten3 WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND vidquoten3.VidQuoteItem=OLD.VidQuoteItem; END\n| style=\"border-top:none;border-bottom:0.05pt double #808080;border-left:0.05pt double #808080;border-right:0.05pt double #808080;padding:0.0194in;\"| AFTER\n\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(111,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n	DECLARE vListaVieja,vListaNueva INT(5);\n	DECLARE vFechaModificacion DATE;\n	DECLARE vHoraModificacion TIME;\n	SET vListaNueva = (SELECT Lista FROM listavigente);\n	SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista);\n	SET vFechaModificacion = CURDATE();\n	SET vHoraModificacion = CURTIME();\n	INSERT INTO precios (\n		`precios`.`Lista`,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		`precios`.`FechaModificacion`,\n		`precios`.`HoraModificacion`)(\n	SELECT 	vListaNueva,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		vFechaModificacion,\n		vHoraModificacion\n	FROM precios \n	WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n	DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n	SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n	SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n	SET `NEW`.`FechaModificacion` = CURDATE();\n	SET `NEW`.`HoraModificacion` = CURTIME();\n	SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n	IF ISNULL(NEW.CategoriaID) THEN\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE 	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista`;\n			SET vPaso=\'A\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`ProveedorID` = NEW.ProveedorID;\n			SET vPaso=\'B\';\n		END</pre> IF;\n	ELSE\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = NEW.CategoriaID;\n			SET vPaso=\'C\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = vCategoriaID AND\n					`productos`.`ProveedorID` = vProveedorID;\n			SET vPaso=\'D\';\n		END</pre> IF;\n	END</pre> IF;\n	SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>BEGIN	SET 	NEW.FechaModificacion = CURDATE(),		NEW.HoraModificacion = CURTIME();  END</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>BEGIN	SET 	NEW.FechaModificacion = CURDATE(),		NEW.HoraModificacion = CURTIME();  END</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n						`precios`.`ProductoID`, \n						`precios`.`PrecioProd00`,\n						`precios`.`PrecioProd01`, \n						`precios`.`PrecioProd02`, \n						`precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n	SET	NEW.TransaccFecha = CURDATE(),\n		NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>BEGIN    DELETE FROM vidquoten3    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;  END</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n	DELETE FROM vidquoten4\n    WHERE 	vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n			vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n			vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(112,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n	DECLARE vListaVieja,vListaNueva INT(5);\n	DECLARE vFechaModificacion DATE;\n	DECLARE vHoraModificacion TIME;\n	SET vListaNueva = (SELECT Lista FROM listavigente);\n	SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista);\n	SET vFechaModificacion = CURDATE();\n	SET vHoraModificacion = CURTIME();\n	INSERT INTO precios (\n		`precios`.`Lista`,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		`precios`.`FechaModificacion`,\n		`precios`.`HoraModificacion`)(\n	SELECT 	vListaNueva,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		vFechaModificacion,\n		vHoraModificacion\n	FROM precios \n	WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n	DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n	SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n	SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n	SET `NEW`.`FechaModificacion` = CURDATE();\n	SET `NEW`.`HoraModificacion` = CURTIME();\n	SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n	IF ISNULL(NEW.CategoriaID) THEN\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE 	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista`;\n			SET vPaso=\'A\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`ProveedorID` = NEW.ProveedorID;\n			SET vPaso=\'B\';\n		END IF;\n	ELSE\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = NEW.CategoriaID;\n			SET vPaso=\'C\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = vCategoriaID AND\n					`productos`.`ProveedorID` = vProveedorID;\n			SET vPaso=\'D\';\n		END IF;\n	END IF;\n	SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>BEGIN	SET 	NEW.FechaModificacion = CURDATE(),		NEW.HoraModificacion = CURTIME();  END</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>BEGIN	SET 	NEW.FechaModificacion = CURDATE(),		NEW.HoraModificacion = CURTIME();  END</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n						`precios`.`ProductoID`, \n						`precios`.`PrecioProd00`,\n						`precios`.`PrecioProd01`, \n						`precios`.`PrecioProd02`, \n						`precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n	SET	NEW.TransaccFecha = CURDATE(),\n		NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>BEGIN    DELETE FROM vidquoten3    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;  END</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n	DELETE FROM vidquoten4\n    WHERE 	vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n			vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n			vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(113,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n	DECLARE vListaVieja,vListaNueva INT(5);\n	DECLARE vFechaModificacion DATE;\n	DECLARE vHoraModificacion TIME;\n	SET vListaNueva = (SELECT Lista FROM listavigente);\n	SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista);\n	SET vFechaModificacion = CURDATE();\n	SET vHoraModificacion = CURTIME();\n	INSERT INTO precios (\n		`precios`.`Lista`,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		`precios`.`FechaModificacion`,\n		`precios`.`HoraModificacion`)(\n	SELECT 	vListaNueva,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		vFechaModificacion,\n		vHoraModificacion\n	FROM precios \n	WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n	DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n	SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n	SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n	SET `NEW`.`FechaModificacion` = CURDATE();\n	SET `NEW`.`HoraModificacion` = CURTIME();\n	SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n	IF ISNULL(NEW.CategoriaID) THEN\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE 	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista`;\n			SET vPaso=\'A\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`ProveedorID` = NEW.ProveedorID;\n			SET vPaso=\'B\';\n		END IF;\n	ELSE\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = NEW.CategoriaID;\n			SET vPaso=\'C\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = vCategoriaID AND\n					`productos`.`ProveedorID` = vProveedorID;\n			SET vPaso=\'D\';\n		END IF;\n	END IF;\n	SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n	SET 	NEW.FechaModificacion = CURDATE(),\n		NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n	SET 	NEW.FechaModificacion = CURDATE(),\n		NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n						`precios`.`ProductoID`, \n						`precios`.`PrecioProd00`,\n						`precios`.`PrecioProd01`, \n						`precios`.`PrecioProd02`, \n						`precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n	SET	NEW.TransaccFecha = CURDATE(),\n		NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>BEGIN    DELETE FROM vidquoten3    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;  END</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n	DELETE FROM vidquoten4\n    WHERE 	vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n			vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n			vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(114,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n	DECLARE vListaVieja,vListaNueva INT(5);\n	DECLARE vFechaModificacion DATE;\n	DECLARE vHoraModificacion TIME;\n	SET vListaNueva = (SELECT Lista FROM listavigente);\n	SET vListaVieja = (SELECT MAX(listasprecios.Lista) FROM listasprecios WHERE listasprecios.Lista <> NEW.Lista);\n	SET vFechaModificacion = CURDATE();\n	SET vHoraModificacion = CURTIME();\n	INSERT INTO precios (\n		`precios`.`Lista`,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		`precios`.`FechaModificacion`,\n		`precios`.`HoraModificacion`)(\n	SELECT 	vListaNueva,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		vFechaModificacion,\n		vHoraModificacion\n	FROM precios \n	WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n	DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n	SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n	SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n	SET `NEW`.`FechaModificacion` = CURDATE();\n	SET `NEW`.`HoraModificacion` = CURTIME();\n	SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n	IF ISNULL(NEW.CategoriaID) THEN\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE 	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista`;\n			SET vPaso=\'A\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`ProveedorID` = NEW.ProveedorID;\n			SET vPaso=\'B\';\n		END IF;\n	ELSE\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = NEW.CategoriaID;\n			SET vPaso=\'C\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = vCategoriaID AND\n					`productos`.`ProveedorID` = vProveedorID;\n			SET vPaso=\'D\';\n		END IF;\n	END IF;\n	SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n	SET 	NEW.FechaModificacion = CURDATE(),\n		NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n	SET 	NEW.FechaModificacion = CURDATE(),\n		NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n						`precios`.`ProductoID`, \n						`precios`.`PrecioProd00`,\n						`precios`.`PrecioProd01`, \n						`precios`.`PrecioProd02`, \n						`precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n	SET	NEW.TransaccFecha = CURDATE(),\n		NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n	DELETE FROM vidquoten4\n    WHERE 	vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n			vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n			vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(115,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n	DECLARE vListaVieja,vListaNueva INT(5);\n	DECLARE vFechaModificacion DATE;\n	DECLARE vHoraModificacion TIME;\n	SET vListaNueva = (SELECT Lista FROM listavigente);\n	SET vListaVieja = ( SELECT MAX(listasprecios.Lista) \n				FROM listasprecios \n				WHERE listasprecios.Lista <> NEW.Lista);\n	SET vFechaModificacion = CURDATE();\n	SET vHoraModificacion = CURTIME();\n	INSERT INTO precios (\n		`precios`.`Lista`,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		`precios`.`FechaModificacion`,\n		`precios`.`HoraModificacion`)(\n	SELECT 	vListaNueva,\n		`precios`.`ProductoID`,\n		`precios`.`PrecioProd01`,\n		`precios`.`PrecioProd02`,\n		`precios`.`PrecioProd03`,\n		vFechaModificacion,\n		vHoraModificacion\n	FROM precios \n	WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n	DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n	SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n	SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n	SET `NEW`.`FechaModificacion` = CURDATE();\n	SET `NEW`.`HoraModificacion` = CURTIME();\n	SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n	IF ISNULL(NEW.CategoriaID) THEN\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE 	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista`;\n			SET vPaso=\'A\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`ProveedorID` = NEW.ProveedorID;\n			SET vPaso=\'B\';\n		END IF;\n	ELSE\n		IF ISNULL(NEW.ProveedorID) THEN\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = NEW.CategoriaID;\n			SET vPaso=\'C\';\n		ELSE\n			UPDATE `precios`,`productos`\n			SET 	`precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n				`precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n				`precios`.`FechaModificacion` = CURDATE(),\n				`precios`.`HoraModificacion` = CURTIME()\n			WHERE	`precios`.`ProductoID` = `productos`.`ProductoID` AND\n					`precios`.`Lista` = `NEW`.`Lista` AND\n					`productos`.`CategoriaID` = vCategoriaID AND\n					`productos`.`ProveedorID` = vProveedorID;\n			SET vPaso=\'D\';\n		END IF;\n	END IF;\n	SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n	SET 	NEW.FechaModificacion = CURDATE(),\n		NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n	SET 	NEW.FechaModificacion = CURDATE(),\n		NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n						`precios`.`ProductoID`, \n						`precios`.`PrecioProd00`,\n						`precios`.`PrecioProd01`, \n						`precios`.`PrecioProd02`, \n						`precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n	SET	NEW.TransaccFecha = CURDATE(),\n		NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n	DELETE FROM vidquoten4\n    WHERE 	vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n			vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n			vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(116,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS Limite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03))\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(117,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(118,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey2 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(119,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(120,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n\n<pre><small>\nSELECT\n    vidquoten2.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    vidquoten2.VidQuoteItem AS VidQuoteItem,\n    vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n    vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n    vidquoten2.VidQuoteAncho,\n    vidquoten2.VidQuoteAlto,\n    IF(vidquoten2.VidQuoteAncho > 0\n        ,IF(vidquoten2.VidQuoteAlto > 0\n        ,CONCAT(productos.Descripcion,\" -Dimensión(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"x\",LPAD(CAST(vidquoten2.VidQuoteAlto AS CHAR),4,\"0000\"),\"-\")\n        ,CONCAT(productos.Descripcion,\" -Largo(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"mm-\")\n        )\n    ,productos.Descripcion\n    ) AS Descripcion,\n    vissubxitem.VidQuotePrecioS AS VidQuotePrecioS\nFROM\n    (((vidquoten1\n    JOIN vidquoten2)\n    JOIN productos)\n    JOIN vissubxitem)\nWHERE\n    ((vidquoten1.VidQuoteID = vidquoten2.VidQuoteID) and\n    (productos.ProductoID = vidquoten2.VidQuoteProdID) and\n    (vissubxitem.VidQuoteID = vidquoten2.VidQuoteID) and\n    (vissubxitem.VidQuoteItem = vidquoten2.VidQuoteItem))\n</small></pre>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8');
INSERT INTO `peg_text` VALUES (121,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n\n<small><pre>\nSELECT\n    vidquoten2.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    vidquoten2.VidQuoteItem AS VidQuoteItem,\n    vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n    vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n    vidquoten2.VidQuoteAncho,\n    vidquoten2.VidQuoteAlto,\n    IF(vidquoten2.VidQuoteAncho > 0\n        ,IF(vidquoten2.VidQuoteAlto > 0\n        ,CONCAT(productos.Descripcion,\" -Dimensión(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"x\",LPAD(CAST(vidquoten2.VidQuoteAlto AS CHAR),4,\"0000\"),\"-\")\n        ,CONCAT(productos.Descripcion,\" -Largo(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"mm-\")\n        )\n    ,productos.Descripcion\n    ) AS Descripcion,\n    vissubxitem.VidQuotePrecioS AS VidQuotePrecioS\nFROM\n    (((vidquoten1\n    JOIN vidquoten2)\n    JOIN productos)\n    JOIN vissubxitem)\nWHERE\n    ((vidquoten1.VidQuoteID = vidquoten2.VidQuoteID) and\n    (productos.ProductoID = vidquoten2.VidQuoteProdID) and\n    (vissubxitem.VidQuoteID = vidquoten2.VidQuoteID) and\n    (vissubxitem.VidQuoteItem = vidquoten2.VidQuoteItem))\n</pre></small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(122,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| FZG.Vista.vislineabs.sql\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n==== FZG.Vista.vislineabs.sql ====\n<small><pre>\nSELECT\n    vidquoten2.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    vidquoten2.VidQuoteItem AS VidQuoteItem,\n    vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n    vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n    vidquoten2.VidQuoteAncho,\n    vidquoten2.VidQuoteAlto,\n    IF(vidquoten2.VidQuoteAncho > 0\n        ,IF(vidquoten2.VidQuoteAlto > 0\n        ,CONCAT(productos.Descripcion,\" -Dimensión(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"x\",LPAD(CAST(vidquoten2.VidQuoteAlto AS CHAR),4,\"0000\"),\"-\")\n        ,CONCAT(productos.Descripcion,\" -Largo(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"mm-\")\n        )\n    ,productos.Descripcion\n    ) AS Descripcion,\n    vissubxitem.VidQuotePrecioS AS VidQuotePrecioS\nFROM\n    (((vidquoten1\n    JOIN vidquoten2)\n    JOIN productos)\n    JOIN vissubxitem)\nWHERE\n    ((vidquoten1.VidQuoteID = vidquoten2.VidQuoteID) and\n    (productos.ProductoID = vidquoten2.VidQuoteProdID) and\n    (vissubxitem.VidQuoteID = vidquoten2.VidQuoteID) and\n    (vissubxitem.VidQuoteItem = vidquoten2.VidQuoteItem))\n</pre></small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(123,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n==== FZG.Vista.vislineabs.sql ====\n<small><pre>\nSELECT\n    vidquoten2.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    vidquoten2.VidQuoteItem AS VidQuoteItem,\n    vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n    vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n    vidquoten2.VidQuoteAncho,\n    vidquoten2.VidQuoteAlto,\n    IF(vidquoten2.VidQuoteAncho > 0\n        ,IF(vidquoten2.VidQuoteAlto > 0\n        ,CONCAT(productos.Descripcion,\" -Dimensión(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"x\",LPAD(CAST(vidquoten2.VidQuoteAlto AS CHAR),4,\"0000\"),\"-\")\n        ,CONCAT(productos.Descripcion,\" -Largo(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"mm-\")\n        )\n    ,productos.Descripcion\n    ) AS Descripcion,\n    vissubxitem.VidQuotePrecioS AS VidQuotePrecioS\nFROM\n    (((vidquoten1\n    JOIN vidquoten2)\n    JOIN productos)\n    JOIN vissubxitem)\nWHERE\n    ((vidquoten1.VidQuoteID = vidquoten2.VidQuoteID) and\n    (productos.ProductoID = vidquoten2.VidQuoteProdID) and\n    (vissubxitem.VidQuoteID = vidquoten2.VidQuoteID) and\n    (vissubxitem.VidQuoteItem = vidquoten2.VidQuoteItem))\n</pre></small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(124,'==== FZG.Vista.vislineabs.sql ====\n<small><pre>\nSELECT\n    vidquoten2.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    vidquoten2.VidQuoteItem AS VidQuoteItem,\n    vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n    vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n    vidquoten2.VidQuoteAncho,\n    vidquoten2.VidQuoteAlto,\n    IF(vidquoten2.VidQuoteAncho > 0\n        ,IF(vidquoten2.VidQuoteAlto > 0\n        ,CONCAT(productos.Descripcion,\" -Dimensión(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"x\",LPAD(CAST(vidquoten2.VidQuoteAlto AS CHAR),4,\"0000\"),\"-\")\n        ,CONCAT(productos.Descripcion,\" -Largo(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"mm-\")\n        )\n    ,productos.Descripcion\n    ) AS Descripcion,\n    vissubxitem.VidQuotePrecioS AS VidQuotePrecioS\nFROM\n    (((vidquoten1\n    JOIN vidquoten2)\n    JOIN productos)\n    JOIN vissubxitem)\nWHERE\n    ((vidquoten1.VidQuoteID = vidquoten2.VidQuoteID) and\n    (productos.ProductoID = vidquoten2.VidQuoteProdID) and\n    (vissubxitem.VidQuoteID = vidquoten2.VidQuoteID) and\n    (vissubxitem.VidQuoteItem = vidquoten2.VidQuoteItem))\n</pre></small>','utf-8'),(125,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(126,'==== FZG.Vista.vislineabs.sql ====\n<small><pre>\nSELECT\n    vidquoten2.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    vidquoten2.VidQuoteItem AS VidQuoteItem,\n    vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n    vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n    IF(vidquoten2.VidQuoteAncho > 0\n        ,IF(vidquoten2.VidQuoteAlto > 0\n        ,CONCAT(productos.Descripcion,\" -Dimensión(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"x\",LPAD(CAST(vidquoten2.VidQuoteAlto AS CHAR),4,\"0000\"),\"-\")\n        ,CONCAT(productos.Descripcion,\" -Largo(mm): \",LPAD(CAST(vidquoten2.VidQuoteAncho AS CHAR),4,\"0000\"),\"mm-\")\n        )\n    ,productos.Descripcion\n    ) AS Descripcion,\n    vissubxitem.VidQuotePrecioS AS VidQuotePrecioS\nFROM\n    (((vidquoten1\n    JOIN vidquoten2)\n    JOIN productos)\n    JOIN vissubxitem)\nWHERE\n    ((vidquoten1.VidQuoteID = vidquoten2.VidQuoteID) and\n    (productos.ProductoID = vidquoten2.VidQuoteProdID) and\n    (vissubxitem.VidQuoteID = vidquoten2.VidQuoteID) and\n    (vissubxitem.VidQuoteItem = vidquoten2.VidQuoteItem))\n</pre></small>','utf-8'),(127,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(128,'====== al 20120319 ======\n<small><pre>\nCREATE PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @sql = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fls = \" \"\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @sql = CONCAT(@sql,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @sql;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n====== al 20120301 ======\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @sql = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" `precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @sql = CONCAT(@sql,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @sql;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</small></pre>','utf-8'),(129,'====== al 20120319 ======\n<small><pre>\nCREATE PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @sql = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fls = \" \"\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @sql = CONCAT(@sql,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @sql;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n====== al 20120301 ======\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @sql = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" `precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @sql = CONCAT(@sql,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @sql;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</small></pre>','utf-8'),(130,'====== al 20120319 ======\n<small><pre>\nDELIMITER $$\n\nCREATE PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @sql = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \"\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @sql = CONCAT(@sql,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @sql;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n====== al 20120301 ======\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @sql = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" `precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @sql = CONCAT(@sql,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @sql;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</small></pre>','utf-8'),(131,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| VISTA: visrepprec\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(132,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(133,'<small><pre>\nCREATE VIEW `visrepprec` AS\nSELECT \n    preciosvigentes.ProductoID AS ProductoID,\n    productos.Descripcion AS ProductoDSC,\n    productos.Magnitud AS Magnitud,\n    preciosvigentes.PrecioProd00 AS PrecioProd00,\n    preciosvigentes.PrecioProd01 AS PrecioProd01,\n    preciosvigentes.PrecioProd02 AS PrecioProd02,\n    preciosvigentes.PrecioProd03 AS PrecioProd03,\n    preciosvigentes.FechaModificacion AS FechaModificación\nFROM\n    fzggestion.productos AS productos,\n    fzggestion.preciosvigentes AS preciosvigentes\nWHERE\n    productos.ProductoID = preciosvigentes.ProductoID\n</pre></small>','utf-8'),(134,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| FZG.Vista.precioscmpl.sql\n| Vista de lista de precios completa con datos de productos. FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(135,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| FZG.Vista.precioscmpl.sql\n| Vista de lista de precios completa con datos de productos. FORM: Actualización por tipo de lista\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(136,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [file:///home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion/FZG.Vista.precioscmpl.sql]\n| Vista de lista de precios completa con datos de productos. FORM: Actualización por tipo de lista\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(137,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [media:/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion/FZG.Vista.precioscmpl.sql]\n| Vista de lista de precios completa con datos de productos. FORM: Actualización por tipo de lista\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(138,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[media:/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion/FZG.Vista.precioscmpl.sql|FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. FORM: Actualización por tipo de lista\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(139,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(140,'<small><pre>\nCREATE VIEW `precioscmpl` AS\nSELECT \n	`precios`.`ProductoID` AS ProductoID, \n	`productos`.`Descripcion` AS ProductoDSC, \n	`productos`.`CategoriaID` AS CategoriaID, \n	`productos`.`ProveedorID` AS ProveedorID, \n	`precios`.`PrecioProd00` AS PrecioProd00, \n	`productos`.`CoefP00P01` AS CoefP00P01, \n	`precios`.`PrecioProd01` AS PrecioProd01, \n	`productos`.`CoefP00P02` AS CoefP00P02, \n	`precios`.`PrecioProd02` AS PrecioProd02, \n	`productos`.`CoefP00P03` AS CoefP00P03, \n	`precios`.`PrecioProd03` AS PrecioProd03\nFROM	`fzggestion`.`productos` AS `productos`, \n		`fzggestion`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID`\nORDER BY `precios`.`ProductoID`\n</pre></small>','utf-8'),(141,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| FZG.Vista.viscompcnt.sql\n| Vista de Presupuestos Totalizados por Cliente\n| composicion, \n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(142,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista de Presupuestos Totalizados por Cliente\n| composicion, \n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(143,'<small><pre>\nSELECT\n    composicion.ProductoID AS ProductoID,\n    productos.Descripcion AS ProductoDSC,\n    productos.CategoriaID AS CategoriaID,\n    productos.ProveedorID AS ProveedorID,\n    COUNT(composicion.ProductoID) AS Cantidad,\n    if((COUNT(composicion.ProductoID) > 1),1,0) AS Compuesto\nFROM\n    (productos\n    JOIN composicion)\nWHERE\n    (productos.ProductoID = composicion.ProductoID)\nGROUP BY composicion.ProductoID\n</pre></small>','utf-8'),(144,'<small><pre>\nCREATE VIEW `viscompcnt` AS \nSELECT\n    composicion.ProductoID AS ProductoID,\n    productos.Descripcion AS ProductoDSC,\n    productos.CategoriaID AS CategoriaID,\n    productos.ProveedorID AS ProveedorID,\n    COUNT(composicion.ProductoID) AS Cantidad,\n    if((COUNT(composicion.ProductoID) > 1),1,0) AS Compuesto\nFROM\n    (productos\n    JOIN composicion)\nWHERE\n    (productos.ProductoID = composicion.ProductoID)\nGROUP BY composicion.ProductoID\n</pre></small>','utf-8'),(145,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista de Componentes completa con indicadores de estado de composición\n| composicion, \n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(146,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(147,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n====== MacroProgramming ======\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(148,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(149,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n| Independiente\n|\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(150,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(151,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\")\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)),\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)),\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08))\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(152,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3,\n	wsKey4,\n	wsKey5\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Wintel del Documento>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Unix del Documento>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3,\n	wskey4,\n	wskey5\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\'C:/Archivos/FazzGlass.Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\'),\n	ENCODE(\'/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\')\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	wskey4 AS DirWintel,\n	wskey5 AS DirUnix,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite,\n	CAST(DECODE(wskey4,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirWintel,\n	CAST(DECODE(wskey5,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirUnix\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(153,'== Gestión Retail Aberturas ==\n*[[Gestión Retail Aberturas: Bitácora]]\n*[[Gestión Retail Aberturas: Pendientes]]\n*[[Gestión Retail Aberturas: Relaciones]]\n\n*[[Developing]]\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3,\n	wsKey4,\n	wsKey5\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Wintel del Documento>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Unix del Documento>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3,\n	wskey4,\n	wskey5\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\'C:/Archivos/FazzGlass.Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\'),\n	ENCODE(\'/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\')\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	wskey4 AS DirWintel,\n	wskey5 AS DirUnix,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite,\n	CAST(DECODE(wskey4,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirWintel,\n	CAST(DECODE(wskey5,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirUnix\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(154,'\n{| style=\"border-spacing:0;\"\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|}','utf-8'),(155,'\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|}','utf-8'),(156,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3,\n	wsKey4,\n	wsKey5\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Wintel del Documento>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Unix del Documento>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3,\n	wskey4,\n	wskey5\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\'C:/Archivos/FazzGlass.Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\'),\n	ENCODE(\'/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\')\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	wskey4 AS DirWintel,\n	wskey5 AS DirUnix,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite,\n	CAST(DECODE(wskey4,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirWintel,\n	CAST(DECODE(wskey5,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirUnix\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(157,'Release 20120328\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. En proceso de desarrollo.','utf-8'),(158,'*<del>Controlar Accesos por IP</del>\n*Licensing. Como*s + Precios -> Documentar\n*Transacciones\n*<del>SendTo - PDF</del>\n*Parser\n**[\'\'value;value;...\'\']\n**{\'\'expresion\'\'}\n*Librería de Ventanas\n*Gráficos\n*Rutinas Java\n*Pruebas URL Windows\n*Vista de Agentes Comerciales\n*Resguardo diario\n*Eliminar Frame Access Tables by User\n*Hide Database Objects Tables&Queries - Sarraceno','utf-8'),(159,'\n== 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\n== 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== 20120118 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n== 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== 20120120 ==\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\n== 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== 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== 20120124 ==\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n== 20120125 ==\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n== 20120127 ==\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n== 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== 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'),(160,'=== Estructuras de Datos ===\n==== Tablas ====\n*catinsumos\n*cmoneda\n*composicion\n*composicionqry\n*contactos\n*cpar\n*debugstmt\n*elementos\n*insumos\n*listasprecios\n*logprecios\n*monedas\n*precios\n*preciosqry\n*productos\n*reppresqry\n*transacciones\n*ttransac\n*vidquoten1\n*vidquoten2\n*vidquoten3\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:visproadic]]\n:TABLA:productos\n:TABLA:composicion\n:VISTA:preciosvigentes\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n=== Procedimientos ===\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(161,'#REDIRECCIÓN [[Vista:visintdetpre]]','utf-8'),(162,'Release 20120328\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. En proceso de desarrollo.\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:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.','utf-8'),(163,'== Relaciones Eventos ==\n[[File:/home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.FORMS.Presupuesto.Relaciones.Macros.jpg]]','utf-8'),(164,'== Relaciones Eventos ==\n[[File:file:///home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.FORMS.Presupuesto.Relaciones.Macros.jpg]]','utf-8'),(165,'== Relaciones Eventos ==\n[[File:///home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.FORMS.Presupuesto.Relaciones.Macros.jpg]]','utf-8'),(166,'== Relaciones Eventos ==\n[[File:FZG.FORMS.Presupuesto.Relaciones.Macros.jpg]]','utf-8'),(167,'','utf-8'),(168,'Release 20120328\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.','utf-8'),(169,'Release 20120328\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.','utf-8'),(170,'===== Versión 1 =====\nRelease 20120328\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.','utf-8'),(171,'==== Versión 1 ====\n\'\'\'Release 20120328\'\'\'\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.','utf-8'),(172,'=== Versión 1 ===\n\'\'\'Release 20120328\'\'\'\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.','utf-8'),(173,'\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\n== Reset MW pass ==','utf-8'),(174,'\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\n== Reset MW pass ==\n<pre>\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'somepass\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=\'\'<direccion>\'\'\n\n</pre>','utf-8'),(175,'\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\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>','utf-8'),(176,'=== Versión 1 ===\n\'\'\'Release 20120328\'\'\'\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(177,'=== Versión 1 ===\n\'\'\'Release 20120404\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. En Testing.\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo.Ok.\n\n\'\'\'Release 20120328\'\'\'\n\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(178,'=== Versión 1 ===\n\'\'\'Release 20120404\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. En Testing.\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. 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\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(179,'=== Versión 1 ===\n\'\'\'Release 20120404\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. En Testing.\n* [[TABLE: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\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(180,'=== Versión 1 ===\n\'\'\'Release 20120404\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE: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\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(181,'=== Versión 1 ===\n\'\'\'Release 20120404\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE: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\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(182,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(183,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(184,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Agregado del atributo Reposicion. Modificado. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Agregado del atributo Reposicion. Modificado Ok\n\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(185,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:visproadic]]\n:TABLA:productos\n:TABLA:composicion\n:VISTA:preciosvigentes\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n=== Procedimientos ===\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(186,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".','utf-8'),(187,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.','utf-8'),(188,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n== Atributos ==\nProductoID	char(8) PK \nElementoID	char(8) PK \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8)','utf-8'),(189,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8)\n</pre>','utf-8'),(190,'== Composicion ==\n#TABLA:Composicion\n##TABLA:Productos\n##TABLA:Precios','utf-8'),(191,'== Composicion ==\n#[[TABLA:Composicion]]\n##[[TABLA:Productos]]\n##[[TABLA:Precios]]','utf-8'),(192,'== Composicion ==\n#[[TABLA:composicion]]\n##[[TABLA:productos]]\n##[[TABLA:precios]]','utf-8'),(193,'== Composicion ==\n#[[TABLA:composicion]]\n##[[TABLA:productos]]\n##[[TABLA:precios]]\n== Estructura ==\n<pre>\nProductoID	char(8) \nElementoID	char(8) \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nDescripcion	char(80) \nMagnitud	char(4) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \nPrecioProd00	decimal(12,2) \nPrecioProd01	decimal(12,2) \nPrecioProd02	decimal(12,2) \nPrecioProd03	decimal(12,2) \n</pre>\n== SQL ==\n\n== Uso ==','utf-8'),(194,'== Composicion ==\n#[[TABLA:composicion]]\n##[[TABLA:productos]]\n##[[TABLA:precios]]\n== Estructura ==\n<pre>\nProductoID	char(8) \nElementoID	char(8) \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nDescripcion	char(80) \nMagnitud	char(4) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \nPrecioProd00	decimal(12,2) \nPrecioProd01	decimal(12,2) \nPrecioProd02	decimal(12,2) \nPrecioProd03	decimal(12,2) \n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT 	`composicion`.`ProductoID` AS `ProductoID`,\n	`composicion`.`ElementoID` AS `ElementoID`,\n	`composicion`.`ValorElemento` AS `ValorElemento`,\n	`composicion`.`ElementoPM` AS `ElementoPM`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`Magnitud` AS `Magnitud`,\n	`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n	`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n	`composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n	`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n	`precios`.`PrecioProd00` AS `PrecioProd00`,\n	`precios`.`PrecioProd01` AS `PrecioProd01`,\n	`precios`.`PrecioProd02` AS `PrecioProd02`,\n	`precios`.`PrecioProd03` AS `PrecioProd03` \nFROM 	((`productos` join `composicion`) join `precios`) \nWHERE	((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND\n	(`precios`.`ProductoID` = `productos`.`ProductoID`))\n\n# 20111019\n# Agregado de \n#	`composicion`.`ValorElemento` AS `ValorElemento`,\n#	`composicion`.`ElementoPM` AS `ElementoPM`,\n# al SELECT para permitir tomar el dato en trigger de alta de item de presupuestación y permitir la composición luego.\n# 20111101\n# Cambio de tabla precios x precios\n# Donde figuraba \"precios\" figurará \"preciosvigente\"\n#\n# 20110105\n# Agregado de\n#	`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n#	`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n#	`composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n#	`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n# al SELECT para complejizar el calculo de composición\n</pre>\n\n== Uso ==','utf-8'),(195,'== Composicion ==\n#[[TABLA:composicion]]\n##[[TABLA:productos]]\n##[[TABLA:precios]]\n== Estructura ==\n<pre>\nProductoID	char(8) \nElementoID	char(8) \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nDescripcion	char(80) \nMagnitud	char(4) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \nPrecioProd00	decimal(12,2) \nPrecioProd01	decimal(12,2) \nPrecioProd02	decimal(12,2) \nPrecioProd03	decimal(12,2) \n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT 	`composicion`.`ProductoID` AS `ProductoID`,\n	`composicion`.`ElementoID` AS `ElementoID`,\n	`composicion`.`ValorElemento` AS `ValorElemento`,\n	`composicion`.`ElementoPM` AS `ElementoPM`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`Magnitud` AS `Magnitud`,\n	`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n	`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n	`composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n	`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n	`precios`.`PrecioProd00` AS `PrecioProd00`,\n	`precios`.`PrecioProd01` AS `PrecioProd01`,\n	`precios`.`PrecioProd02` AS `PrecioProd02`,\n	`precios`.`PrecioProd03` AS `PrecioProd03` \nFROM 	((`productos` join `composicion`) join `precios`) \nWHERE	((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND\n	(`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n*20111019\n**Agregado de \"`composicion`.`ValorElemento` AS `ValorElemento`,`composicion`.`ElementoPM` AS `ElementoPM`\" al SELECT para permitir tomar el dato en trigger de alta de item de presupuestación y permitir la composición luego.\n*20111101\n**Cambio de tabla precios x precios. Donde figuraba \"precios\" figurará \"preciosvigente\"\n*20110105\n**Agregado de \"`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,`composicion`.`CoefVanoAncho` AS CoefVanoAncho`,`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\" al SELECT para complejizar el calculo de composición\n*20120301\n**Cambio de referencia a la VISTA:preciosvigente directamente por la TABLA:precios ya que se desafectó el mantenimiento y procesos de gestion de precios vigentes y pasan a tener una única lista de precios.\n\n== Uso ==','utf-8'),(196,'== Composicion ==\n#[[TABLA:composicion]]\n##[[TABLA:productos]]\n##[[TABLA:precios]]\n== Estructura ==\n<pre>\nProductoID	char(8) \nElementoID	char(8) \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nDescripcion	char(80) \nMagnitud	char(4) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \nPrecioProd00	decimal(12,2) \nPrecioProd01	decimal(12,2) \nPrecioProd02	decimal(12,2) \nPrecioProd03	decimal(12,2) \n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT 	`composicion`.`ProductoID` AS `ProductoID`,\n	`composicion`.`ElementoID` AS `ElementoID`,\n	`composicion`.`ValorElemento` AS `ValorElemento`,\n	`composicion`.`ElementoPM` AS `ElementoPM`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`Magnitud` AS `Magnitud`,\n	`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n	`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n	`composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n	`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n	`precios`.`PrecioProd00` AS `PrecioProd00`,\n	`precios`.`PrecioProd01` AS `PrecioProd01`,\n	`precios`.`PrecioProd02` AS `PrecioProd02`,\n	`precios`.`PrecioProd03` AS `PrecioProd03` \nFROM 	((`productos` join `composicion`) join `precios`) \nWHERE	((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND\n	(`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n*20111019\n**Agregado de \"`composicion`.`ValorElemento` AS `ValorElemento`,`composicion`.`ElementoPM` AS `ElementoPM`\" al SELECT para permitir tomar el dato en trigger de alta de item de presupuestación y permitir la composición luego.\n*20111101\n**Cambio de tabla precios x precios. Donde figuraba \"precios\" figurará \"preciosvigente\"\n*20110105\n**Agregado de \"`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,`composicion`.`CoefVanoAncho` AS CoefVanoAncho`,`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\" al SELECT para complejizar el calculo de composición\n*20120301\n**Cambio de referencia a la VISTA:preciosvigente directamente por la TABLA:precios ya que se desafectó el mantenimiento y procesos de gestion de precios vigentes y pasan a tener una única lista de precios.\n\n== Uso ==\nPROC:CalculaPrecioBase','utf-8'),(197,'== Composicion ==\n#[[TABLA:composicion]]\n##[[TABLA:productos]]\n##[[TABLA:precios]]\n== Estructura ==\n<pre>\nProductoID	char(8) \nElementoID	char(8) \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nDescripcion	char(80) \nMagnitud	char(4) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \nPrecioProd00	decimal(12,2) \nPrecioProd01	decimal(12,2) \nPrecioProd02	decimal(12,2) \nPrecioProd03	decimal(12,2) \n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT 	`composicion`.`ProductoID` AS `ProductoID`,\n	`composicion`.`ElementoID` AS `ElementoID`,\n	`composicion`.`ValorElemento` AS `ValorElemento`,\n	`composicion`.`ElementoPM` AS `ElementoPM`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`Magnitud` AS `Magnitud`,\n	`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n	`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n	`composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n	`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n	`precios`.`PrecioProd00` AS `PrecioProd00`,\n	`precios`.`PrecioProd01` AS `PrecioProd01`,\n	`precios`.`PrecioProd02` AS `PrecioProd02`,\n	`precios`.`PrecioProd03` AS `PrecioProd03` \nFROM 	((`productos` join `composicion`) join `precios`) \nWHERE	((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND\n	(`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n*20111019\n**Agregado de \"`composicion`.`ValorElemento` AS `ValorElemento`,`composicion`.`ElementoPM` AS `ElementoPM`\" al SELECT para permitir tomar el dato en trigger de alta de item de presupuestación y permitir la composición luego.\n*20111101\n**Cambio de tabla precios x precios. Donde figuraba \"precios\" figurará \"preciosvigente\"\n*20110105\n**Agregado de \"`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,`composicion`.`CoefVanoAncho` AS CoefVanoAncho`,`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\" al SELECT para complejizar el calculo de composición\n*20120301\n**Cambio de referencia a la VISTA:preciosvigente directamente por la TABLA:precios ya que se desafectó el mantenimiento y procesos de gestion de precios vigentes y pasan a tener una única lista de precios.\n\n== Uso ==\n[[PROC:CalculaPrecioBase]]','utf-8'),(198,'== Composicion ==\n#[[TABLA:composicion]]\n##[[TABLA:productos]]\n##[[TABLA:precios]]\n== Estructura ==\n<pre>\nProductoID	char(8) \nElementoID	char(8) \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nDescripcion	char(80) \nMagnitud	char(4) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \nPrecioProd00	decimal(12,2) \nPrecioProd01	decimal(12,2) \nPrecioProd02	decimal(12,2) \nPrecioProd03	decimal(12,2) \n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT 	`composicion`.`ProductoID` AS `ProductoID`,\n	`composicion`.`ElementoID` AS `ElementoID`,\n	`composicion`.`ValorElemento` AS `ValorElemento`,\n	`composicion`.`ElementoPM` AS `ElementoPM`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`Magnitud` AS `Magnitud`,\n	`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n	`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n	`composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n	`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n	`precios`.`PrecioProd00` AS `PrecioProd00`,\n	`precios`.`PrecioProd01` AS `PrecioProd01`,\n	`precios`.`PrecioProd02` AS `PrecioProd02`,\n	`precios`.`PrecioProd03` AS `PrecioProd03` \nFROM 	((`productos` join `composicion`) join `precios`) \nWHERE	((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND\n	(`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n*20111019\n**Agregado de \"`composicion`.`ValorElemento` AS `ValorElemento`,`composicion`.`ElementoPM` AS `ElementoPM`\" al SELECT para permitir tomar el dato en trigger de alta de item de presupuestación y permitir la composición luego.\n*20111101\n**Cambio de tabla precios x precios. Donde figuraba \"precios\" figurará \"preciosvigente\"\n*20110105\n**Agregado de \"`composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,`composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,`composicion`.`CoefVanoAncho` AS CoefVanoAncho`,`composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\" al SELECT para complejizar el calculo de composición\n*20120301\n**Cambio de referencia a la [[VISTA:preciosvigente]] directamente por la [[TABLA:precios]] ya que se desafectó el mantenimiento y procesos de gestion de precios vigentes y pasan a tener una única lista de precios.\n\n== Uso ==\n[[PROC:CalculaPrecioBase]]','utf-8'),(199,'<pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2)\nBEGIN\n  DECLARE pPrecioBase DECIMAL(10,2);\n  SET pPrecioBase = (SELECT\n	CASE `visprodadic`.`Magnitud`\n	WHEN \'M2\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) *\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000000) *\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'PR\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`) * 2 * `visprodadic`.`CoefVanoAlto`) + \n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`) * 2 * `visprodadic`.`CoefVanoAncho`))\n       / 1000 ) * \n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'ML\'\n	 THEN\n	   (((pAncho+`visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`) / 1000 ) * \n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'MG\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) +\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000) *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	ELSE\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	END AS `PrecioBase`\n	FROM `visprodadic` \n	WHERE `visprodadic`.`ProductoID` = pProducto AND\n		  `visprodadic`.`ElementoID` = pElemento);\n	RETURN pPrecioBase;\nEND$$\n</pre>','utf-8'),(200,'<pre><small>\nDELIMITER $$\n\nCREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2)\nBEGIN\n  DECLARE pPrecioBase DECIMAL(10,2);\n  SET pPrecioBase = (SELECT\n	CASE `visprodadic`.`Magnitud`\n	WHEN \'M2\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) *\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000000) *\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'PR\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`) * 2 * `visprodadic`.`CoefVanoAlto`) + \n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`) * 2 * `visprodadic`.`CoefVanoAncho`))\n       / 1000 ) * \n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'ML\'\n	 THEN\n	   (((pAncho+`visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`) / 1000 ) * \n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'MG\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) +\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000) *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	ELSE\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	END AS `PrecioBase`\n	FROM `visprodadic` \n	WHERE `visprodadic`.`ProductoID` = pProducto AND\n		  `visprodadic`.`ElementoID` = pElemento);\n	RETURN pPrecioBase;\nEND$$\n</small></pre>','utf-8'),(201,'<small><pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2)\nBEGIN\n  DECLARE pPrecioBase DECIMAL(10,2);\n  SET pPrecioBase = (SELECT\n	CASE `visprodadic`.`Magnitud`\n	WHEN \'M2\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) *\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000000) *\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'PR\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`) * 2 * `visprodadic`.`CoefVanoAlto`) + \n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`) * 2 * `visprodadic`.`CoefVanoAncho`))\n       / 1000 ) * \n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'ML\'\n	 THEN\n	   (((pAncho+`visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`) / 1000 ) * \n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'MG\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) +\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000) *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	ELSE\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	END AS `PrecioBase`\n	FROM `visprodadic` \n	WHERE `visprodadic`.`ProductoID` = pProducto AND\n		  `visprodadic`.`ElementoID` = pElemento);\n	RETURN pPrecioBase;\nEND$$\n</pre></small>','utf-8'),(202,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n\n=== Procedimientos ===\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(203,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8)\n</pre>','utf-8'),(204,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(205,'== Composicion ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre><small>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre><small>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(206,'== Composicion ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre><small>\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(207,'== Composicion ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre><small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n== URL ==','utf-8'),(208,'== Composicion ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n== URL ==','utf-8'),(209,'== Composicion ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(210,'== Composicion ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(211,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Agregado del atributo Reposicion. Modificado. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Agregado del atributo Reposicion. Modificado Ok\n* [[FORM:Productos]]. Agregado de control tipo tabla en Filtro para búsqueda rápida. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. <blink>Test</blink>. \n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(212,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Agregado del atributo Reposicion. Modificado. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Agregado del atributo Reposicion. Modificado Ok\n* [[FORM:Productos]]. Agregado de control tipo tabla en Filtro para búsqueda rápida. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. <h1 class=\"blinkytext\">Test</h1>. \n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(213,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Agregado del atributo Reposicion. Modificado. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Agregado del atributo Reposicion. Modificado Ok\n* [[FORM:Productos]]. Agregado de control tipo tabla en Filtro para búsqueda rápida. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:http://www.clker.com/cliparts/H/Z/0/R/f/S/warning-icon-hi.png|frameless|caption]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(214,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Agregado del atributo Reposicion. Modificado. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Agregado del atributo Reposicion. Modificado Ok\n* [[FORM:Productos]]. Agregado de control tipo tabla en Filtro para búsqueda rápida. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|frameless|caption]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(215,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Agregado del atributo Reposicion. Modificado. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Agregado del atributo Reposicion. Modificado Ok\n* [[FORM:Productos]]. Agregado de control tipo tabla en Filtro para búsqueda rápida. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(216,'','utf-8'),(217,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Corrección de los procesos de envío directo de correo al cliente. Modificado. Ok.\n* [[FORM:Presupuesto]]. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Agregado del atributo Reposicion. Modificado. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Agregado del atributo Reposicion. Modificado Ok\n* [[FORM:Productos]]. Agregado de control tipo tabla en Filtro para búsqueda rápida. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|30px]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(218,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|30px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems. [[File:warning-icon-hi.png|30px]]\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(219,'=== Versión 1 ===\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems. [[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(220,'=== Versión 1 ===\n\'\'\'Release 20120424\'\'\'\n* [[FORM:ActualizaPreciosTabular]]. Modificación. Corrección en procedimiento PROC:ActualizaPreciosTabular. Corrección de Formulas.  [[File:warning-icon-hi.png|20px]]\n\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems. [[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(221,'=== Versión 1 ===\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems. [[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(222,'=== Versión 1 ===\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(223,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3,\n	wsKey4,\n	wsKey5\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Wintel del Documento>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Unix del Documento>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3,\n	wskey4,\n	wskey5\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\'C:/Archivos/FazzGlass.Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\'),\n	ENCODE(\'/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\')\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	wskey4 AS DirWintel,\n	wskey5 AS DirUnix,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite,\n	CAST(DECODE(wskey4,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirWintel,\n	CAST(DECODE(wskey5,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirUnix\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(224,'Premarcos y Contramarcos\nVentana Corrediza Tradicional Blanca\nVentana Corrediza Gamma 90° Blanca\nVentana Corrediza Gamma 45° Blanca\nVentana Corrediza Mónaco Top\nVentana Corrediza M-3\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(225,'<pre>\nPremarcos y Contramarcos\nVentana Corrediza Tradicional Blanca\nVentana Corrediza Gamma 90° Blanca\nVentana Corrediza Gamma 45° Blanca\nVentana Corrediza Mónaco Top\nVentana Corrediza M-3\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)\n</pre>','utf-8'),(226,'*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Gamma 90° Blanca\nVentana Corrediza Gamma 45° Blanca\nVentana Corrediza Mónaco Top\nVentana Corrediza M-3\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(227,'*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(228,'Vistas\n\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n\n\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(229,'Vistas\n\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== Estructira básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(230,'Vistas\n\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructira básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(231,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;VISTA:preciosvigact\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visprdparam]]\n:TABLA:productos\n:TABLA:valadicprod\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(232,'<pre>\nCREATE VIEW `visprdparam` AS \nSELECT\n	`productos`.`ProductoID` AS `ProductoID`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`ProductoID` IN (SELECT DISTINCT `valadicprod`.`ProductoID` FROM `valadicprod`) AS `Parametros` \nFROM `productos` \nORDER BY `productos`.`Descripcion\n</pre>','utf-8'),(233,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:VISTA:vissubxitem\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;[[VISTA:preciosvigact]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visprdparam]]\n:TABLA:productos\n:TABLA:valadicprod\n:URL:FZG.Vista.visprdparam.sql\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(234,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:TABLA:vidquoten2\n:VISTA:visprodadic\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:URL:FZG.Vista.viscabdetalla.sql\n:TABLA:contactos\n:TABLA:vidquoten1\n;[[VISTA:visdetaobs]]\n:TABLA:productos\n:TABLA:vidquoten3\n;[[VISTA:viscomposimpl]]\n:TABLA:productos\n:TABLA:composicion\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:TABLA:vidquoten1\n:TABLA:vidquoten2\n:TABLA:productos\n:[[VISTA:vissubxitem]]\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visreppres]]\n:VISTA:vislineabs\n:VISTA:visdetaobs\n;[[VISTA:visrprescmp]]\n;[[VISTA:vissubxitem]]\n:TABLA:vidquoten3\n;[[VISTA:clientes]]\n:TABLA:contactos\n;[[VISTA:proveedores]]\n:URL:FZG.Vista.proveedores.sql \n:TABLA:contactos\n;[[VISTA:acomercial]]\n:TABLA:contactos\n;[[VISTA:preciosvigact]]\n:TABLA:listasprecios\n:TABLA:precios\n:[[VISTA:preciosvigentes]]\n:TABLA:listasprecios\n:TABLA:precios\n;[[VISTA:visprestot]]\n:VISTA:visreppres\n;[[VISTA:visprdparam]]\n:TABLA:productos\n:TABLA:valadicprod\n:URL:FZG.Vista.visprdparam.sql\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(235,'=== Versión 1 ===\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(236,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n;[[VISTA:visintdetpre]]\n:[[TABLA:vidquoten2]]\n:[[VISTA:visprodadic]]\n;[[VISTA:viscompodis]]\n;[[VISTA:viscabdetalla]]\n:[[URL:FZG.Vista.viscabdetalla.sql]]\n:[[TABLA:contactos]]\n:[[TABLA:vidquoten1]]\n;[[VISTA:visdetaobs]]\n:[[TABLA:productos]]\n:[[TABLA:vidquoten3]]\n;[[VISTA:viscomposimpl]]\n:[[TABLA:productos]]\n:[[TABLA:composicion]]\n;[[VISTA:visdocpcob]]\n;[[VISTA:vislineabs]]\n:[[TABLA:vidquoten1]]\n:[[TABLA:vidquoten2]]\n:[[TABLA:productos]]\n:[[VISTA:vissubxitem]]\n;[[VISTA:visprestot]]\n:[[VISTA:visreppres]]\n;[[VISTA:visreppres]]\n:[[VISTA:vislineabs]]\n:[[VISTA:visdetaobs]]\n;[[VISTA:visrprescmp]]\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n;[[VISTA:vissubxitem]]\n:[[TABLA:vidquoten3]]\n;[[VISTA:clientes]]\n:[[TABLA:contactos]]\n;[[VISTA:proveedores]]\n:[[URL:FZG.Vista.proveedores.sql]] \n:[[TABLA:contactos]]\n;[[VISTA:acomercial]]\n:[[TABLA:contactos]]\n;[[VISTA:preciosvigact]]\n:[[TABLA:listasprecios]]\n:[[TABLA:precios]]\n:[[VISTA:preciosvigentes]]\n:[[TABLA:listasprecios]]\n:[[TABLA:precios]]\n;[[VISTA:visprestot]]\n:[[VISTA:visreppres]]\n;[[VISTA:visprdparam]]\n:[[TABLA:productos]]\n:[[TABLA:valadicprod]]\n:[[URL:FZG.Vista.visprdparam.sql]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(237,'\n<pre>\nCREATE VIEW `visrprescmp` AS \nSELECT \n	`visreppres`.`VidQuoteID` AS `VidQuoteID`,\n	`visreppres`.`VidQuoteObra` AS `VidQuoteObra`,\n	`visreppres`.`VidQuoteCliente` AS `VidQuoteCliente`,\n	`visreppres`.`VidQuoteFecha` AS `VidQuoteFecha`,\n	`visreppres`.`VidQuoteItem` AS `VidQuoteItem`,\n	`visreppres`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`visreppres`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`visreppres`.`VidQuoteDetalle` AS `VidQuoteDetalle`,\n	`visreppres`.`VidQuotePrecioS` AS `VidQuotePrecioS`,\n	`clientes`.`RazonSocial` AS `RazonSocial`,\n	`clientes`.`Direccion` AS `Direccion`,\n	`clientes`.`Localidad` AS `Localidad`,\n	`clientes`.`Provincia` AS `Provincia`\nFROM (`clientes` JOIN `visreppres`) \nWHERE 	((`clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`)\n			   AND `visreppres`.`VidQuoteID` IN \n			(SELECT `reppresqry`.`VidQuoteID` \n 			 FROM `reppresqry`))\n ORDER BY 	`visreppres`.`VidQuoteID`,\n				`visreppres`.`VidQuoteObra`,\n				`visreppres`.`VidQuoteCliente`,\n				`visreppres`.`VidQuoteItem\n</pre>','utf-8'),(238,'== Composicion ==\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visrprescmp` AS \nSELECT \n	`visreppres`.`VidQuoteID` AS `VidQuoteID`,\n	`visreppres`.`VidQuoteObra` AS `VidQuoteObra`,\n	`visreppres`.`VidQuoteCliente` AS `VidQuoteCliente`,\n	`visreppres`.`VidQuoteFecha` AS `VidQuoteFecha`,\n	`visreppres`.`VidQuoteItem` AS `VidQuoteItem`,\n	`visreppres`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`visreppres`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`visreppres`.`VidQuoteDetalle` AS `VidQuoteDetalle`,\n	`visreppres`.`VidQuotePrecioS` AS `VidQuotePrecioS`,\n	`clientes`.`RazonSocial` AS `RazonSocial`,\n	`clientes`.`Direccion` AS `Direccion`,\n	`clientes`.`Localidad` AS `Localidad`,\n	`clientes`.`Provincia` AS `Provincia`\nFROM (`clientes` JOIN `visreppres`) \nWHERE 	((`clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`)\n			   AND `visreppres`.`VidQuoteID` IN \n			(SELECT `reppresqry`.`VidQuoteID` \n 			 FROM `reppresqry`))\n ORDER BY 	`visreppres`.`VidQuoteID`,\n				`visreppres`.`VidQuoteObra`,\n				`visreppres`.`VidQuoteCliente`,\n				`visreppres`.`VidQuoteItem\n</pre>\n== Bitácora ==\n== Uso ==\nREPORT:PresupuestosDirecto\n== URL ==','utf-8'),(239,'== Composicion ==\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visrprescmp` AS \nSELECT \n	`visreppres`.`VidQuoteID` AS `VidQuoteID`,\n	`visreppres`.`VidQuoteObra` AS `VidQuoteObra`,\n	`visreppres`.`VidQuoteCliente` AS `VidQuoteCliente`,\n	`visreppres`.`VidQuoteFecha` AS `VidQuoteFecha`,\n	`visreppres`.`VidQuoteItem` AS `VidQuoteItem`,\n	`visreppres`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`visreppres`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`visreppres`.`VidQuoteDetalle` AS `VidQuoteDetalle`,\n	`visreppres`.`VidQuotePrecioS` AS `VidQuotePrecioS`,\n	`clientes`.`RazonSocial` AS `RazonSocial`,\n	`clientes`.`Direccion` AS `Direccion`,\n	`clientes`.`Localidad` AS `Localidad`,\n	`clientes`.`Provincia` AS `Provincia`\nFROM (`clientes` JOIN `visreppres`) \nWHERE 	((`clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`)\n			   AND `visreppres`.`VidQuoteID` IN \n			(SELECT `reppresqry`.`VidQuoteID` \n 			 FROM `reppresqry`))\n ORDER BY 	`visreppres`.`VidQuoteID`,\n				`visreppres`.`VidQuoteObra`,\n				`visreppres`.`VidQuoteCliente`,\n				`visreppres`.`VidQuoteItem\n</pre>\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==','utf-8'),(240,'== Composicion ==\n[[VISTA:visreppres]]\n[[TABLA:clientes]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visrprescmp` AS \nSELECT \n	`visreppres`.`VidQuoteID` AS `VidQuoteID`,\n	`visreppres`.`VidQuoteObra` AS `VidQuoteObra`,\n	`visreppres`.`VidQuoteCliente` AS `VidQuoteCliente`,\n	`visreppres`.`VidQuoteFecha` AS `VidQuoteFecha`,\n	`visreppres`.`VidQuoteItem` AS `VidQuoteItem`,\n	`visreppres`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`visreppres`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`visreppres`.`VidQuoteDetalle` AS `VidQuoteDetalle`,\n	`visreppres`.`VidQuotePrecioS` AS `VidQuotePrecioS`,\n	`clientes`.`RazonSocial` AS `RazonSocial`,\n	`clientes`.`Direccion` AS `Direccion`,\n	`clientes`.`Localidad` AS `Localidad`,\n	`clientes`.`Provincia` AS `Provincia`\nFROM (`clientes` JOIN `visreppres`) \nWHERE 	((`clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`)\n			   AND `visreppres`.`VidQuoteID` IN \n			(SELECT `reppresqry`.`VidQuoteID` \n 			 FROM `reppresqry`))\n ORDER BY 	`visreppres`.`VidQuoteID`,\n				`visreppres`.`VidQuoteObra`,\n				`visreppres`.`VidQuoteCliente`,\n				`visreppres`.`VidQuoteItem\n</pre>\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==','utf-8'),(241,'== Composicion ==\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visrprescmp` AS \nSELECT \n	`visreppres`.`VidQuoteID` AS `VidQuoteID`,\n	`visreppres`.`VidQuoteObra` AS `VidQuoteObra`,\n	`visreppres`.`VidQuoteCliente` AS `VidQuoteCliente`,\n	`visreppres`.`VidQuoteFecha` AS `VidQuoteFecha`,\n	`visreppres`.`VidQuoteItem` AS `VidQuoteItem`,\n	`visreppres`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`visreppres`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`visreppres`.`VidQuoteDetalle` AS `VidQuoteDetalle`,\n	`visreppres`.`VidQuotePrecioS` AS `VidQuotePrecioS`,\n	`clientes`.`RazonSocial` AS `RazonSocial`,\n	`clientes`.`Direccion` AS `Direccion`,\n	`clientes`.`Localidad` AS `Localidad`,\n	`clientes`.`Provincia` AS `Provincia`\nFROM (`clientes` JOIN `visreppres`) \nWHERE 	((`clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`)\n			   AND `visreppres`.`VidQuoteID` IN \n			(SELECT `reppresqry`.`VidQuoteID` \n 			 FROM `reppresqry`))\n ORDER BY 	`visreppres`.`VidQuoteID`,\n				`visreppres`.`VidQuoteObra`,\n				`visreppres`.`VidQuoteCliente`,\n				`visreppres`.`VidQuoteItem\n</pre>\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==','utf-8'),(242,'== Composicion ==\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visrprescmp` AS \nSELECT \n	`visreppres`.`VidQuoteID` AS `VidQuoteID`,\n	`visreppres`.`VidQuoteObra` AS `VidQuoteObra`,\n	`visreppres`.`VidQuoteCliente` AS `VidQuoteCliente`,\n	`visreppres`.`VidQuoteFecha` AS `VidQuoteFecha`,\n	`visreppres`.`VidQuoteItem` AS `VidQuoteItem`,\n	`visreppres`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`visreppres`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`visreppres`.`VidQuoteDetalle` AS `VidQuoteDetalle`,\n	`visreppres`.`VidQuotePrecioS` AS `VidQuotePrecioS`,\n	`clientes`.`RazonSocial` AS `RazonSocial`,\n	`clientes`.`Direccion` AS `Direccion`,\n	`clientes`.`Localidad` AS `Localidad`,\n	`clientes`.`Provincia` AS `Provincia`\nFROM (`clientes` JOIN `visreppres`) \nWHERE 	((`clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`)\n			   AND `visreppres`.`VidQuoteID` IN \n			(SELECT `reppresqry`.`VidQuoteID` \n 			 FROM `reppresqry`))\n ORDER BY 	`visreppres`.`VidQuoteID`,\n				`visreppres`.`VidQuoteObra`,\n				`visreppres`.`VidQuoteCliente`,\n				`visreppres`.`VidQuoteItem\n</pre>\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==\n[[FZG.Vista.visprescmp.sql]]','utf-8'),(243,'== Composicion ==\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW visrprescmp AS\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente AND\n    visreppres.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\nORDER BY visreppres.VidQuoteID ASC ,visreppres.VidQuoteObra ASC ,\n			visreppres.VidQuoteCliente ASC ,visreppres.VidQuoteItem ASC\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==\n[[FZG.Vista.visprescmp.sql]]','utf-8'),(244,'== Composicion ==\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==\n[[FZG.Vista.visprescmp.sql]]','utf-8'),(245,'== Composicion ==\n:[[VISTA:visreppres]]\n:[[TABLA:clientes]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW visrprescmp AS\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente AND\n    visreppres.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\nORDER BY visreppres.VidQuoteID ASC ,visreppres.VidQuoteObra ASC ,\n			visreppres.VidQuoteCliente ASC ,visreppres.VidQuoteItem ASC\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==\n[[FZG.Vista.visprescmp.sql]]','utf-8'),(246,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(247,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(248,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM -> PFIJ-PAÑO FIJO STANDARD 4MM\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(249,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM -> PFIJ-PAÑO FIJO STANDARD 4MM\n** RAJA-STD0-B1-RAJA DELTA 4 MM.csv -> RAJA-STD0-B1-RAJA DELTA 4MM.csv\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.csv -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.csv\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.csv -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.csv\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(250,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(251,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(252,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(253,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(254,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VDRIO.csv\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(255,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VDRIO.csv\n** Todos los que figuran como M3 -> M-3\n\n\n\n\n\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(256,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n\n\n\n\n\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(257,'=== Versión 1 ===\n\'\'\'Release 20120507\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLE:Productos]],[[TABLE:Composicion]] y [[TABLE: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\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(258,'=== Versión 1 ===\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLE:Productos]],[[TABLE:Composicion]] y [[TABLE: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\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(259,'=== Versión 1 ===\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLE:Productos]], [[TABLE:Composicion]] y [[TABLE: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\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(260,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n\n\n\n\n\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(261,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n\n\n\n\n\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(262,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n\n\n\n\n\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(263,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n\n\n\n\n\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(264,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n** Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n\n\n\n\n\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(265,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(266,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 005 ====\nActualiza las tablas de precios\n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(267,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Proceso 005 (SQL) =====\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(268,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Proceso 005 (SQL) =====\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(269,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Proceso 005 (SQL) =====\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(270,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Proceso 005 (SQL) =====\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(271,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso.\n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(272,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(273,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(274,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(275,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(276,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n[[TABLE:Productos]]\n[[TABLE:Modelos]]\n[[TABLE:PreciosTMP]]\n[[TABLE:Precios]]\n[[TABLE:Categorias]]\n[[TABLE:DimensionVal]]\n[[TABLE:Interiores]]\n\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(277,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(278,'\n\n<pre>\nCREATE VIEW `visreppres` AS \nSELECT\n    `vislineabs`.`VidQuoteID` AS `VidQuoteID`,\n    `vislineabs`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vislineabs`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vislineabs`.`VidQuoteFecha` AS `VidQuoteFecha`,`vislineabs`.\n    `VidQuoteItem` AS `VidQuoteItem`,\n    `vislineabs`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `vislineabs`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF(ISNULL(`visdetaobs`.`Observaciones`),\n        `vislineabs`.`Descripcion`,\n        CONCAT(\n            `vislineabs`.`Descripcion`,\n            \' (Incluye \',\n            CONVERT(`visdetaobs`.`Observaciones` using utf8),\')\')) AS `VidQuoteDetalle`,\n    `vislineabs`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (`vislineabs` LEFT JOIN `visdetaobs` ON\n    (((`visdetaobs`.`VidQuoteID` = `vislineabs`.`VidQuoteID`) AND \n    (`visdetaobs`.`VidQuoteItem` = `vislineabs`.`VidQuoteItem`))))\n</pre>','utf-8'),(279,'== Composicion ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visreppres` AS \nSELECT\n    `vislineabs`.`VidQuoteID` AS `VidQuoteID`,\n    `vislineabs`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vislineabs`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vislineabs`.`VidQuoteFecha` AS `VidQuoteFecha`,`vislineabs`.\n    `VidQuoteItem` AS `VidQuoteItem`,\n    `vislineabs`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `vislineabs`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF(ISNULL(`visdetaobs`.`Observaciones`),\n        `vislineabs`.`Descripcion`,\n        CONCAT(\n            `vislineabs`.`Descripcion`,\n            \' (Incluye \',\n            CONVERT(`visdetaobs`.`Observaciones` using utf8),\')\')) AS `VidQuoteDetalle`,\n    `vislineabs`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (`vislineabs` LEFT JOIN `visdetaobs` ON\n    (((`visdetaobs`.`VidQuoteID` = `vislineabs`.`VidQuoteID`) AND \n    (`visdetaobs`.`VidQuoteItem` = `vislineabs`.`VidQuoteItem`))))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(280,'== Composicion ==\n*VISTA:vislineabs\n*VISTA:visdetaobs\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visreppres` AS \nSELECT\n    `vislineabs`.`VidQuoteID` AS `VidQuoteID`,\n    `vislineabs`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vislineabs`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vislineabs`.`VidQuoteFecha` AS `VidQuoteFecha`,`vislineabs`.\n    `VidQuoteItem` AS `VidQuoteItem`,\n    `vislineabs`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `vislineabs`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF(ISNULL(`visdetaobs`.`Observaciones`),\n        `vislineabs`.`Descripcion`,\n        CONCAT(\n            `vislineabs`.`Descripcion`,\n            \' (Incluye \',\n            CONVERT(`visdetaobs`.`Observaciones` using utf8),\')\')) AS `VidQuoteDetalle`,\n    `vislineabs`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (`vislineabs` LEFT JOIN `visdetaobs` ON\n    (((`visdetaobs`.`VidQuoteID` = `vislineabs`.`VidQuoteID`) AND \n    (`visdetaobs`.`VidQuoteItem` = `vislineabs`.`VidQuoteItem`))))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(281,'== Composicion ==\nTABLA:composicion\nTABLA:productos\nTABLA:precios\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT\n    `composicion`.`ProductoID` AS `ProductoID`,\n    `composicion`.`ElementoID` AS `ElementoID`,\n    `composicion`.`ValorElemento` AS `ValorElemento`,\n    `composicion`.`ElementoPM` AS `ElementoPM`,\n    `productos`.`Descripcion` AS `Descripcion`,\n    `productos`.`Magnitud` AS `Magnitud`,\n    `composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n    `composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n    `composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n    `composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n    `precios`.`PrecioProd00` AS `PrecioProd00`,\n    `precios`.`PrecioProd01` AS `PrecioProd01`,\n    `precios`.`PrecioProd02` AS `PrecioProd02`,\n    `precios`.`PrecioProd03` AS `PrecioProd03` \nFROM ((`productos` JOIN `composicion`) JOIN `precios`) \nWHERE\n    ((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND \n    (`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(282,'== Composicion ==\n*TABLA:composicion\n*TABLA:productos\n*TABLA:precios\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT\n    `composicion`.`ProductoID` AS `ProductoID`,\n    `composicion`.`ElementoID` AS `ElementoID`,\n    `composicion`.`ValorElemento` AS `ValorElemento`,\n    `composicion`.`ElementoPM` AS `ElementoPM`,\n    `productos`.`Descripcion` AS `Descripcion`,\n    `productos`.`Magnitud` AS `Magnitud`,\n    `composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n    `composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n    `composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n    `composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n    `precios`.`PrecioProd00` AS `PrecioProd00`,\n    `precios`.`PrecioProd01` AS `PrecioProd01`,\n    `precios`.`PrecioProd02` AS `PrecioProd02`,\n    `precios`.`PrecioProd03` AS `PrecioProd03` \nFROM ((`productos` JOIN `composicion`) JOIN `precios`) \nWHERE\n    ((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND \n    (`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(283,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(284,'== Composicion ==\n*[[VISTA:vislineabs]]\n*[[VISTA:visdetaobs]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visreppres` AS \nSELECT\n    `vislineabs`.`VidQuoteID` AS `VidQuoteID`,\n    `vislineabs`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vislineabs`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vislineabs`.`VidQuoteFecha` AS `VidQuoteFecha`,`vislineabs`.\n    `VidQuoteItem` AS `VidQuoteItem`,\n    `vislineabs`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `vislineabs`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF(ISNULL(`visdetaobs`.`Observaciones`),\n        `vislineabs`.`Descripcion`,\n        CONCAT(\n            `vislineabs`.`Descripcion`,\n            \' (Incluye \',\n            CONVERT(`visdetaobs`.`Observaciones` using utf8),\')\')) AS `VidQuoteDetalle`,\n    `vislineabs`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (`vislineabs` LEFT JOIN `visdetaobs` ON\n    (((`visdetaobs`.`VidQuoteID` = `vislineabs`.`VidQuoteID`) AND \n    (`visdetaobs`.`VidQuoteItem` = `vislineabs`.`VidQuoteItem`))))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(285,'== Composicion ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:productos]]\n*[[VISTA:vissubxitem]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vislineabs` AS \nSELECT \n    `fzggestion`.`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `fzggestion`.`vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `fzggestion`.`vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `fzggestion`.`vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    `fzggestion`.`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAncho` > 0),\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAlto` > 0),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Dimension(mm): \',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'x\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAlto` AS CHAR charset utf8),4,\'0000\'),\n            \'-\'),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Largo(mm): \',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'mm-\')),\n            CONVERT(`fzggestion`.`productos`.`Descripcion` using utf8)) AS `Descripcion`,\n    `vissubxitem`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (((`fzggestion`.`vidquoten1` JOIN \n    `fzggestion`.`vidquoten2`) JOIN \n    `fzggestion`.`productos`) JOIN \n    `fzggestion`.`vissubxitem`) \nWHERE\n    ((`fzggestion`.`vidquoten1`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten2`.`VidQuoteProdID`) AND \n    (`vissubxitem`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`vissubxitem`.`VidQuoteItem` = `fzggestion`.`vidquoten2`.`VidQuoteItem`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(286,'== Composicion ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:productos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`visdetaobs` AS \nSELECT\n    `fzggestion`.`vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten3`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten3`.`VidQuoteIncluyeDet` AS `VidQuoteIncluyeDet`,\n    GROUP_CONCAT(`fzggestion`.`productos`.`Descripcion` SEPARATOR \', \') AS `Observaciones` \nFROM\n    (`fzggestion`.`productos` JOIN `fzggestion`.`vidquoten3`) \nWHERE \n    ((`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten3`.`VidQuoteElementoID`) AND \n    (`fzggestion`.`vidquoten3`.`VidQuoteIncluyeDet` = 1)) \nGROUP BY \n    `fzggestion`.`vidquoten3`.`VidQuoteID`,`fzggestion`.`vidquoten3`.`VidQuoteItem`\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(287,'== Descripción ==\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:productos]]\n*[[VISTA:vissubxitem]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vislineabs` AS \nSELECT \n    `fzggestion`.`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `fzggestion`.`vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `fzggestion`.`vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `fzggestion`.`vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    `fzggestion`.`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAncho` > 0),\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAlto` > 0),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Dimension(mm): \',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'x\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAlto` AS CHAR charset utf8),4,\'0000\'),\n            \'-\'),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Largo(mm): \',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'mm-\')),\n            CONVERT(`fzggestion`.`productos`.`Descripcion` using utf8)) AS `Descripcion`,\n    `vissubxitem`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (((`fzggestion`.`vidquoten1` JOIN \n    `fzggestion`.`vidquoten2`) JOIN \n    `fzggestion`.`productos`) JOIN \n    `fzggestion`.`vissubxitem`) \nWHERE\n    ((`fzggestion`.`vidquoten1`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten2`.`VidQuoteProdID`) AND \n    (`vissubxitem`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`vissubxitem`.`VidQuoteItem` = `fzggestion`.`vidquoten2`.`VidQuoteItem`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(288,'== Descripción ==\nUne todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item \n== Composicion ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:productos]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`visdetaobs` AS \nSELECT\n    `fzggestion`.`vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten3`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten3`.`VidQuoteIncluyeDet` AS `VidQuoteIncluyeDet`,\n    GROUP_CONCAT(`fzggestion`.`productos`.`Descripcion` SEPARATOR \', \') AS `Observaciones` \nFROM\n    (`fzggestion`.`productos` JOIN `fzggestion`.`vidquoten3`) \nWHERE \n    ((`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten3`.`VidQuoteElementoID`) AND \n    (`fzggestion`.`vidquoten3`.`VidQuoteIncluyeDet` = 1)) \nGROUP BY \n    `fzggestion`.`vidquoten3`.`VidQuoteID`,`fzggestion`.`vidquoten3`.`VidQuoteItem`\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(289,'== Descripción ==\nDefine linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item \n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:productos]]\n*[[VISTA:vissubxitem]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vislineabs` AS \nSELECT \n    `fzggestion`.`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `fzggestion`.`vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `fzggestion`.`vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `fzggestion`.`vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    `fzggestion`.`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAncho` > 0),\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAlto` > 0),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Dimension(mm): \',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'x\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAlto` AS CHAR charset utf8),4,\'0000\'),\n            \'-\'),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Largo(mm): \',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'mm-\')),\n            CONVERT(`fzggestion`.`productos`.`Descripcion` using utf8)) AS `Descripcion`,\n    `vissubxitem`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (((`fzggestion`.`vidquoten1` JOIN \n    `fzggestion`.`vidquoten2`) JOIN \n    `fzggestion`.`productos`) JOIN \n    `fzggestion`.`vissubxitem`) \nWHERE\n    ((`fzggestion`.`vidquoten1`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten2`.`VidQuoteProdID`) AND \n    (`vissubxitem`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`vissubxitem`.`VidQuoteItem` = `fzggestion`.`vidquoten2`.`VidQuoteItem`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(290,'== Descripción\nVista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes. \n== Composición ==\n*TABLA:composicion\n*TABLA:productos\n*TABLA:precios\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT\n    `composicion`.`ProductoID` AS `ProductoID`,\n    `composicion`.`ElementoID` AS `ElementoID`,\n    `composicion`.`ValorElemento` AS `ValorElemento`,\n    `composicion`.`ElementoPM` AS `ElementoPM`,\n    `productos`.`Descripcion` AS `Descripcion`,\n    `productos`.`Magnitud` AS `Magnitud`,\n    `composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n    `composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n    `composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n    `composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n    `precios`.`PrecioProd00` AS `PrecioProd00`,\n    `precios`.`PrecioProd01` AS `PrecioProd01`,\n    `precios`.`PrecioProd02` AS `PrecioProd02`,\n    `precios`.`PrecioProd03` AS `PrecioProd03` \nFROM ((`productos` JOIN `composicion`) JOIN `precios`) \nWHERE\n    ((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND \n    (`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(291,'== Descripción ==\nVista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes. \n== Composición ==\n*TABLA:composicion\n*TABLA:productos\n*TABLA:precios\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT\n    `composicion`.`ProductoID` AS `ProductoID`,\n    `composicion`.`ElementoID` AS `ElementoID`,\n    `composicion`.`ValorElemento` AS `ValorElemento`,\n    `composicion`.`ElementoPM` AS `ElementoPM`,\n    `productos`.`Descripcion` AS `Descripcion`,\n    `productos`.`Magnitud` AS `Magnitud`,\n    `composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n    `composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n    `composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n    `composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n    `precios`.`PrecioProd00` AS `PrecioProd00`,\n    `precios`.`PrecioProd01` AS `PrecioProd01`,\n    `precios`.`PrecioProd02` AS `PrecioProd02`,\n    `precios`.`PrecioProd03` AS `PrecioProd03` \nFROM ((`productos` JOIN `composicion`) JOIN `precios`) \nWHERE\n    ((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND \n    (`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(292,'== Descripción ==\nVista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente. \n== Composicion ==\n*[[VISTA:vislineabs]]\n*[[VISTA:visdetaobs]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visreppres` AS \nSELECT\n    `vislineabs`.`VidQuoteID` AS `VidQuoteID`,\n    `vislineabs`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vislineabs`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vislineabs`.`VidQuoteFecha` AS `VidQuoteFecha`,`vislineabs`.\n    `VidQuoteItem` AS `VidQuoteItem`,\n    `vislineabs`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `vislineabs`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF(ISNULL(`visdetaobs`.`Observaciones`),\n        `vislineabs`.`Descripcion`,\n        CONCAT(\n            `vislineabs`.`Descripcion`,\n            \' (Incluye \',\n            CONVERT(`visdetaobs`.`Observaciones` using utf8),\')\')) AS `VidQuoteDetalle`,\n    `vislineabs`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (`vislineabs` LEFT JOIN `visdetaobs` ON\n    (((`visdetaobs`.`VidQuoteID` = `vislineabs`.`VidQuoteID`) AND \n    (`visdetaobs`.`VidQuoteItem` = `vislineabs`.`VidQuoteItem`))))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(293,'== Descripción ==\nDefine linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item \n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:productos]]\n*[[VISTA:vissubxitem]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vislineabs` AS \nSELECT \n    `fzggestion`.`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `fzggestion`.`vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `fzggestion`.`vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `fzggestion`.`vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    `fzggestion`.`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAncho` > 0),\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAlto` > 0),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Dimension(mm):[\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'x\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAlto` AS CHAR charset utf8),4,\'0000\'),\n            \']-\'),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Largo(mm):[\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \']-\')),\n            CONVERT(`fzggestion`.`productos`.`Descripcion` using utf8)) AS `Descripcion`,\n    `vissubxitem`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (((`fzggestion`.`vidquoten1` JOIN \n    `fzggestion`.`vidquoten2`) JOIN \n    `fzggestion`.`productos`) JOIN \n    `fzggestion`.`vissubxitem`) \nWHERE\n    ((`fzggestion`.`vidquoten1`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten2`.`VidQuoteProdID`) AND \n    (`vissubxitem`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`vissubxitem`.`VidQuoteItem` = `fzggestion`.`vidquoten2`.`VidQuoteItem`))\n</pre>\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(294,'== Descripción ==\nCompleta con información estática del cliente para el presupuesto indicado en el registro de [[TABLA:reppresqry]]\n== Composición ==\n*[[VISTA:visreppres]]\n*[[TABLA:clientes]]\n*[[TABLA:reppresqry]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW visrprescmp AS\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente AND\n    visreppres.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\nORDER BY visreppres.VidQuoteID ASC ,visreppres.VidQuoteObra ASC ,\n			visreppres.VidQuoteCliente ASC ,visreppres.VidQuoteItem ASC\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[REPORT:PresupuestosDirecto]]\n\n== URL ==\n[[FZG.Vista.visprescmp.sql]]','utf-8'),(295,'== Descripción ==\nSubtotaliza los productos de los presupuestos\n== Composición ==\n*[[TABLA:vidquoten3]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `vissubxitem` AS\nSELECT `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n       `vidquoten3`.`VidQuoteItem` AS `VidQuoteItem`,\n       sum(`vidquoten3`.`VidQuotePrecioP`) AS `VidQuotePrecioS`\nFROM `vidquoten3`\nGROUP BY `vidquoten3`.`VidQuoteID`,\n         `vidquoten3`.`VidQuoteItem`\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(296,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[[SQL Formater|http://sqlformat.appspot.com/]]\n\n\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(297,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[[http://sqlformat.appspot.com/ SQLFormatBeautify]]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(298,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(299,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nCREATE VIEW `visintdetpre` AS\nSELECT `vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n       `vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n       `vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n       `vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n       `vidquoten2`.`VidQuoteAncho` AS `VidQuoteAncho`,\n       `vidquoten2`.`VidQuoteAlto` AS `VidQuoteAlto`,\n       `visprodadic`.`ElementoID` AS `ElementoID`,\n       `visprodadic`.`ValorElemento` AS `ValorElemento`,\n       `visprodadic`.`ElementoPM` AS `ElementoPM`,\n       `visprodadic`.`Descripcion` AS `Descripcion`,\n       `visprodadic`.`Magnitud` AS `Magnitud`,\n       (CASE `visprodadic`.`Magnitud`\n            WHEN \'M2\' THEN ((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) * ((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 100000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            WHEN \'PR\' THEN (((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * 2) * `visprodadic`.`CoefVanoAlto`) + (((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * `visprodadic`.`CoefVanoAncho`)) / 1000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            WHEN \'ML\' THEN ((((((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * `visprodadic`.`CoefVanoAncho`) / 1000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            WHEN \'MG\' THEN ((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) + ((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            ELSE (`visprodadic`.`ValorElemento` * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n        END) AS `PrecioBase`\nFROM (`visprodadic`\n      JOIN `vidquoten2`)\nWHERE (`visprodadic`.`ProductoID` = `vidquoten2`.`VidQuoteProdID`)\n</pre></small>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(300,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n\n==== Reportes ====\nREPORTE:Presupuestos\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(301,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n\n==== Reportes ====\n[[REPORTE:Presupuestos]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(302,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(303,'== Descripción ==\n== Composición ==\n== SQL ==\n<pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre>\n== Bitácora ==\n== URL ==','utf-8'),(304,'== Descripción ==\n== Composición ==\nSQL Command\n\n== SQL ==\n<pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre>\n== Bitácora ==\n== URL ==','utf-8'),(305,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(306,'== Descripción ==\n== Composición ==\n*[[VISTA:visrprescmp]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== URL ==','utf-8'),(307,'== Descripción ==\nCompleta con información estática del cliente para el presupuesto indicado en el registro de [[TABLA:reppresqry]]\n== Composición ==\n*[[VISTA:visreppres]]\n*[[TABLA:clientes]]\n*[[TABLA:reppresqry]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW visrprescmp AS\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente AND\n    visreppres.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\nORDER BY visreppres.VidQuoteID ASC ,visreppres.VidQuoteObra ASC ,\n			visreppres.VidQuoteCliente ASC ,visreppres.VidQuoteItem ASC\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[REPORTE:PresupuestosDirecto]]\n\n== URL ==\n[[FZG.Vista.visprescmp.sql]]','utf-8'),(308,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n=== Vistas ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(309,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(310,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento)\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3,\n	wsKey4,\n	wsKey5\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Wintel del Documento>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Unix del Documento>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3,\n	wskey4,\n	wskey5\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\'C:/Archivos/FazzGlass.Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\'),\n	ENCODE(\'/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\')\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	wskey4 AS DirWintel,\n	wskey5 AS DirUnix,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite,\n	CAST(DECODE(wskey4,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirWintel,\n	CAST(DECODE(wskey5,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirUnix\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(311,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nCREATE VIEW `visintdetpre` AS\nSELECT `vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n       `vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n       `vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n       `vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n       `vidquoten2`.`VidQuoteAncho` AS `VidQuoteAncho`,\n       `vidquoten2`.`VidQuoteAlto` AS `VidQuoteAlto`,\n       `visprodadic`.`ElementoID` AS `ElementoID`,\n       `visprodadic`.`ValorElemento` AS `ValorElemento`,\n       `visprodadic`.`ElementoPM` AS `ElementoPM`,\n       `visprodadic`.`Descripcion` AS `Descripcion`,\n       `visprodadic`.`Magnitud` AS `Magnitud`,\n       (CASE `visprodadic`.`Magnitud`\n            WHEN \'M2\' THEN ((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) * ((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 100000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            WHEN \'PR\' THEN (((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * 2) * `visprodadic`.`CoefVanoAlto`) + (((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * `visprodadic`.`CoefVanoAncho`)) / 1000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            WHEN \'ML\' THEN ((((((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * `visprodadic`.`CoefVanoAncho`) / 1000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            WHEN \'MG\' THEN ((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) + ((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000) * `visprodadic`.`ValorElemento`) * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n            ELSE (`visprodadic`.`ValorElemento` * (CASE `vidquoten2`.`VidQuoteLPre` WHEN 1 THEN `visprodadic`.`PrecioProd01` WHEN 2 THEN `visprodadic`.`PrecioProd02` WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n        END) AS `PrecioBase`\nFROM (`visprodadic`\n      JOIN `vidquoten2`)\nWHERE (`visprodadic`.`ProductoID` = `vidquoten2`.`VidQuoteProdID`)\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[MACRO:LookupData]]\n*[[MACRO:NewResetListBoxDetalleProducto]]\n\n== URL ==','utf-8'),(312,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nCREATE VIEW `visintdetpre` AS\nSELECT \n	`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n	`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n	`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`vidquoten2`.`VidQuoteAncho` AS `VidQuoteAncho`,\n	`vidquoten2`.`VidQuoteAlto` AS `VidQuoteAlto`,\n	`visprodadic`.`ElementoID` AS `ElementoID`,\n	`visprodadic`.`ValorElemento` AS `ValorElemento`,\n	`visprodadic`.`ElementoPM` AS `ElementoPM`,\n	`visprodadic`.`Descripcion` AS `Descripcion`,\n	`visprodadic`.`Magnitud` AS `Magnitud`,\n	(CASE `visprodadic`.`Magnitud`\n		WHEN \'M2\' THEN \n			((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) * \n			((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000000) * \n			`visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'PR\' THEN \n			(((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * 2) * \n			`visprodadic`.`CoefVanoAlto`) + (((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * \n			`visprodadic`.`CoefVanoAncho`)) / 1000) * `visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'ML\' THEN \n			((((((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * \n			`visprodadic`.`CoefVanoAncho`) / 1000) * `visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'MG\' THEN \n			((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) + \n			((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000) * \n			`visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		ELSE (`visprodadic`.`ValorElemento` * \n				(CASE `vidquoten2`.`VidQuoteLPre` \n					WHEN 1 THEN `visprodadic`.`PrecioProd01` \n					WHEN 2 THEN `visprodadic`.`PrecioProd02` \n					WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n	END) AS `PrecioBase`\nFROM (`visprodadic`\n	JOIN `vidquoten2`)\nWHERE (`visprodadic`.`ProductoID` = `vidquoten2`.`VidQuoteProdID`)\n\n== Bitácora ==\n== Uso ==\n*[[MACRO:LookupData]]\n*[[MACRO:NewResetListBoxDetalleProducto]]\n\n== URL ==','utf-8'),(313,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nCREATE VIEW `visintdetpre` AS\nSELECT \n	`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n	`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n	`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`vidquoten2`.`VidQuoteAncho` AS `VidQuoteAncho`,\n	`vidquoten2`.`VidQuoteAlto` AS `VidQuoteAlto`,\n	`visprodadic`.`ElementoID` AS `ElementoID`,\n	`visprodadic`.`ValorElemento` AS `ValorElemento`,\n	`visprodadic`.`ElementoPM` AS `ElementoPM`,\n	`visprodadic`.`Descripcion` AS `Descripcion`,\n	`visprodadic`.`Magnitud` AS `Magnitud`,\n	(CASE `visprodadic`.`Magnitud`\n		WHEN \'M2\' THEN \n			((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) * \n			((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000000) * \n			`visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'PR\' THEN \n			(((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * 2) * \n			`visprodadic`.`CoefVanoAlto`) + (((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * \n			`visprodadic`.`CoefVanoAncho`)) / 1000) * `visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'ML\' THEN \n			((((((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * \n			`visprodadic`.`CoefVanoAncho`) / 1000) * `visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'MG\' THEN \n			((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) + \n			((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000) * \n			`visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		ELSE (`visprodadic`.`ValorElemento` * \n				(CASE `vidquoten2`.`VidQuoteLPre` \n					WHEN 1 THEN `visprodadic`.`PrecioProd01` \n					WHEN 2 THEN `visprodadic`.`PrecioProd02` \n					WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n	END) AS `PrecioBase`\nFROM (`visprodadic`\n	JOIN `vidquoten2`)\nWHERE (`visprodadic`.`ProductoID` = `vidquoten2`.`VidQuoteProdID`)\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[MACRO:LookupData]]\n*[[MACRO:NewResetListBoxDetalleProducto]]\n\n== URL ==','utf-8'),(314,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprdparam` AS \nSELECT\n	`productos`.`ProductoID` AS `ProductoID`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`ProductoID` IN (SELECT DISTINCT `valadicprod`.`ProductoID` FROM `valadicprod`) AS `Parametros` \nFROM `productos` \nORDER BY `productos`.`Descripcion\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(315,'== Descripción ==\nVista de la tabla de Productos indicando con \"Parametros\" aquellos elementos que tienen parámetros asociados.\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:valadicprod]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprdparam` AS \nSELECT\n	`productos`.`ProductoID` AS `ProductoID`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`ProductoID` IN (SELECT DISTINCT `valadicprod`.`ProductoID` FROM `valadicprod`) AS `Parametros` \nFROM `productos` \nORDER BY `productos`.`Descripcion\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(316,'=== Versión 1 ===\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLE:Productos]], [[TABLE:Composicion]] y [[TABLE: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\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(317,'== Descripción ==\nFunción de cálculo de precio en base a los parametros indicados sin acceder a base de datos de precios, ya con el valor del precio del producto indicado (dependiendo del tipo de cliente)\n== Composición ==\nSolo función de cálculo\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE  FUNCTION `CalculoPrecio`(pAncho INT(4),pAlto INT(4),pPrecioProd DECIMAL(10,2),pMagnitud CHAR(2),pOffsetVanoAlto INT(11),pOffsetVanoAncho INT(11),pCoefVanoAlto DECIMAL(16,8),pCoefVanoAncho DECIMAL(16,8),pValorElemento DECIMAL(16,8)) RETURNS decimal(10,2)\nBEGIN\nDECLARE pPrecioBase DECIMAL(10,2);\n	CASE pMagnitud\n		WHEN \'M2\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) * pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n		WHEN \'PR\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * 2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'ML\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'MG\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) * pValorElemento * pPrecioProd;\n		WHEN \'2H\' THEN SET pPrecioBase = (((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) /1000) * pValorElemento * 2 * pPrecioProd;\n		WHEN \'2W\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho)*pCoefVanoAncho)/1000) * pValorElemento * 2 * pPrecioProd;\n		ELSE SET pPrecioBase = pValorElemento * pPrecioProd;\n	END CASE;\n	RETURN pPrecioBase;\nEND\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(318,'== Descripción ==\nFunción de cálculo de precio en base a los parametros indicados sin acceder a base de datos de precios, ya con el valor del precio del producto indicado (dependiendo del tipo de cliente)\n== Composición ==\nSolo función de cálculo\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nCREATE  FUNCTION `CalculoPrecio`(pAncho INT(4),pAlto INT(4),pPrecioProd DECIMAL(10,2),pMagnitud CHAR(2),pOffsetVanoAlto INT(11),pOffsetVanoAncho INT(11),pCoefVanoAlto DECIMAL(16,8),pCoefVanoAncho DECIMAL(16,8),pValorElemento DECIMAL(16,8)) RETURNS decimal(10,2)\nBEGIN\nDECLARE pPrecioBase DECIMAL(10,2);\n	CASE pMagnitud\n		WHEN \'M2\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) * pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n		WHEN \'PR\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * 2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'ML\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'MG\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) * pValorElemento * pPrecioProd;\n		WHEN \'2H\' THEN SET pPrecioBase = (((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) /1000) * pValorElemento * 2 * pPrecioProd;\n		WHEN \'2W\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho)*pCoefVanoAncho)/1000) * pValorElemento * 2 * pPrecioProd;\n		ELSE SET pPrecioBase = pValorElemento * pPrecioProd;\n	END CASE;\n	RETURN pPrecioBase;\nEND\n</pre></small>\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(319,'== Descripción ==\nCalcula el precio de un producto de acuerdo a parámetros mínimos y accediendo a la base de datos indicada\n== Composición ==\n*[[VISTA:visprodadic]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2)\nBEGIN\n  DECLARE pPrecioBase DECIMAL(10,2);\n  SET pPrecioBase = (SELECT\n	CASE `visprodadic`.`Magnitud`\n	WHEN \'M2\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) *\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000000) *\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'PR\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`) * 2 * `visprodadic`.`CoefVanoAlto`) + \n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`) * 2 * `visprodadic`.`CoefVanoAncho`))\n       / 1000 ) * \n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'ML\'\n	 THEN\n	   (((pAncho+`visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`) / 1000 ) * \n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'MG\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) +\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000) *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	ELSE\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	END AS `PrecioBase`\n	FROM `visprodadic` \n	WHERE `visprodadic`.`ProductoID` = pProducto AND\n		  `visprodadic`.`ElementoID` = pElemento);\n	RETURN pPrecioBase;\nEND$$\n</pre></small>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(320,'== Descripción ==\nCalcula el precio de un producto de acuerdo a parámetros mínimos y accediendo a la base de datos indicada\n== Composición ==\n*[[VISTA:visprodadic]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2)\nBEGIN\n  DECLARE pPrecioBase DECIMAL(10,2);\n  SET pPrecioBase = (SELECT\n	CASE `visprodadic`.`Magnitud`\n	WHEN \'M2\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) *\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000000) *\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'PR\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`) * 2 * `visprodadic`.`CoefVanoAlto`) + \n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`) * 2 * `visprodadic`.`CoefVanoAncho`))\n       / 1000 ) * \n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'ML\'\n	 THEN\n	   (((pAncho+`visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`) / 1000 ) * \n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'MG\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) +\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000) *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	ELSE\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	END AS `PrecioBase`\n	FROM `visprodadic` \n	WHERE `visprodadic`.`ProductoID` = pProducto AND\n		  `visprodadic`.`ElementoID` = pElemento);\n	RETURN pPrecioBase;\nEND$$\n</pre></small>\n== Bitácora ==\n*20120520\n**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\n== Uso ==\n== URL ==','utf-8'),(321,'== Descripción ==\nCalcula el precio de un producto de acuerdo a parámetros mínimos y accediendo a la base de datos indicada\n== Composición ==\n*[[VISTA:visprodadic]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2)\nBEGIN\n  DECLARE pPrecioBase DECIMAL(10,2);\n  SET pPrecioBase = (SELECT\n	CASE `visprodadic`.`Magnitud`\n	WHEN \'M2\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) *\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000000) *\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'PR\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`) * 2 * `visprodadic`.`CoefVanoAlto`) + \n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`) * 2 * `visprodadic`.`CoefVanoAncho`))\n       / 1000 ) * \n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'ML\'\n	 THEN\n	   (((pAncho+`visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`) / 1000 ) * \n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'MG\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) +\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000) *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'2H\'\n	 THEN\n	  (((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) / 1000) * 2 *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'2W\'\n	 THEN\n	  (((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`) / 1000) * 2 *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	ELSE\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	END AS `PrecioBase`\n	FROM `visprodadic` \n	WHERE `visprodadic`.`ProductoID` = pProducto AND\n		  `visprodadic`.`ElementoID` = pElemento);\n	RETURN pPrecioBase;\nEND$$\n</pre></small>\n\n== Bitácora ==\n*20120520\n**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\n== Uso ==\n== URL ==','utf-8'),(322,'== Descripción ==\nVista de la tabla de Productos indicando con \"Parametros\" aquellos elementos que tienen parámetros asociados.\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:valadicprod]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprdparam` AS \nSELECT\n	`productos`.`ProductoID` AS `ProductoID`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`ProductoID` IN (SELECT DISTINCT `valadicprod`.`ProductoID` FROM `valadicprod`) AS `Parametros` \nFROM `productos` \nORDER BY `productos`.`Descripcion\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:MasivoPorElemento]]\n\n== URL ==','utf-8'),(323,'=== Versión 1 ===\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLE:Productos]], [[TABLE:Composicion]] y [[TABLE: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\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(324,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(325,'== Descripción ==\n== Composición ==\nNo Tiene. Solo Función\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculoMedidaReal`(pMedida INT(5),pOffset INT(11),pCoeficiente DECIMAL(16,8)) RETURNS INT(5)\nBEGIN\n	DECLARE pMedidaReal DECIMAL(10,2);\n	SET pMedidaReal = (pMedida+pOffset) * pCoeficiente;\n	RETURN pMedidaReal;\nEND\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(326,'=== Versión 1 ===\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLE:Productos]], [[TABLE:Composicion]] y [[TABLE: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.\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.\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.\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(327,'=== Versión 1 ===\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLE:Productos]], [[TABLE:Composicion]] y [[TABLE:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(328,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3,\n	wsKey4,\n	wsKey5\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Wintel del Documento>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Directorio Unix del Documento>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3,\n	wskey4,\n	wskey5\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\'C:/Archivos/FazzGlass.Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\'),\n	ENCODE(\'/home/sas/Archivos/Documentos/Documentos/FazzGlass/Gestion\',\'sdbc:mysql:odbc:FazzGlassGestion\')\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	wskey4 AS DirWintel,\n	wskey5 AS DirUnix,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite,\n	CAST(DECODE(wskey4,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirWintel,\n	CAST(DECODE(wskey5,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(50)) AS DecDirUnix\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(329,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la TABLA:Productos. URL:Proceso\n\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8');
INSERT INTO `peg_text` VALUES (330,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo URL:Proceso.Precios.ChequeaNombres.scp esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la TABLA:Productos. URL:Proceso.Precios.ChequeaNombres.scp\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". URL:Proceso.Precios.004.csv\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El URL:Proceso.Precios.004.csv necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(331,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo URL:Proceso.Precios.ChequeaNombres.scp esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la TABLA:Productos. URL:Proceso.Precios.ChequeaNombres.scp\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". URL:Proceso.Precios.004.scp\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El URL:Proceso.Precios.004.csv necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos URL:Proceso.Precios.005.scp\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(332,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo [[PROC:Proceso.Precios.ChequeaNombres.scp]] esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la TABLA:Productos. [[PROC:Proceso.Precios.ChequeaNombres.scp]]\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". [[PROC:Proceso.Precios.004.scp]]\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El URL:Proceso.Precios.004.csv necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos [[PROC:Proceso.Precios.005.scp]]\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(333,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles).\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo [[PROC:Proceso.Precios.ChequeaNombres.scp]] esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la [[TABLA:PreciosABT.Productos]]. [[PROC:Proceso.Precios.ChequeaNombres.scp]]\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". [[PROC:Proceso.Precios.004.scp]]\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El [[PROC:Proceso.Precios.004.scp]] necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos [[PROC:Proceso.Precios.005.scp]]\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(334,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** RAJA-STD0-B1-RAJA DELTA 4 MM.pto -> RAJA-STD0-B1-RAJA DELTA 4MM.pto\n** PFIJ-PAÑO FIJO MONACO TOP S-VIDIRO.pto -> PFIJ-PAÑO FIJO MONACO TOP S-VIDRIO.pto\n** VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRO.pto -> VCRR-ATPR-VENTANA CORREDIZA M3 S-VIDRIO.pto\n** POST-POSTIGON FIJO.pto -> POST-POSTIGON FIJO 1 HOJA.pto\n** POST-POSTIGON REGULABLE 1 HOJAS.pto -> POST-POSTIGON REGULABLE 1 HOJA.pto\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) DVH 5+12+5.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) DVH 5+12+5.csv\n** VCRR-NEW1-PUERTA CORREDIZA M5-(RPT) S-VIDRIO.csv -> VCRR-NEW1-PUERTA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 4MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 4MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) 5MM.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) 5MM.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) DVH 4+12+4.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) DVH 4+12+4.csv\n** VCRR-NEW1-VENTANA CORREDIZA M5-(RPT) S-VDRIO.csv -> VCRR-NEW1-VENTANA CORREDIZA M-5(RPT) S-VIDRIO.csv\n** Todos los que figuran como M3 -> M-3\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos.\n* Generación de script para corrección de nombres incorrectamente definidos.\n* 20120524\n** Cambio nuevamente de esquema de Vidrio Repartido. Vuelve al estado anterior. Recreación de todas las fórmulas en todas las solapas de la capa de presentación.\n* 20120601\n** Regeneración de aberturas de PVC por cambio de precios\n** Regeneración de archivo de aberturas M-3 6mm.\n** Regeneración de archivos de Gillotinas por cambio de línea (Novissima por Delta)\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles).\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo [[PROC:Proceso.Precios.ChequeaNombres.scp]] esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la [[TABLA:PreciosABT.Productos]]. [[PROC:Proceso.Precios.ChequeaNombres.scp]]\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". [[PROC:Proceso.Precios.004.scp]]\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El [[PROC:Proceso.Precios.004.scp]] necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos [[PROC:Proceso.Precios.005.scp]]\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(335,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** Ejemplo: PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** Se aplican correcciones al 35%~ de todos los archivos de presupuesto.\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos.\n* 20120522\n** Generación de script para corrección de nombres incorrectamente definidos.\n* 20120524\n** Cambio nuevamente de esquema de Vidrio Repartido. Vuelve al estado anterior. Recreación de todas las fórmulas en todas las solapas de la capa de presentación.\n* 20120601\n** Regeneración de aberturas de PVC por cambio de precios\n** Regeneración de archivo de aberturas M-3 6mm.\n** Regeneración de archivos de Gillotinas por cambio de línea (Novissima por Delta)\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles).\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo [[PROC:Proceso.Precios.ChequeaNombres.scp]] esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la [[TABLA:PreciosABT.Productos]]. [[PROC:Proceso.Precios.ChequeaNombres.scp]]\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". [[PROC:Proceso.Precios.004.scp]]\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El [[PROC:Proceso.Precios.004.scp]] necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos [[PROC:Proceso.Precios.005.scp]]\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(336,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** Ejemplo: PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** Se aplican correcciones al 35%~ de todos los archivos de presupuesto.\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos.\n* 20120515\n** Luego de esfuerzos para ejecutar el proceso en @HOME, se comunica que Lepton se niega a brindar la clave por falta de pago de licencias. Se comunica que a partir del 16 se comenzará a ejecutar esta tarea en @ABT.\n* 20120516\n** Se verifica las carencias de software de oficina en los equipos donde se ejecutarán los procesos en @ABT. Es solucionado.\n** Se detectan incongruencias y se solicita definiciones (rangos, falta de archivos, etc.)\n** Se programa procesos automatizados de generación de archivos.\n* 20120522\n** Generación de script para corrección de nombres incorrectamente definidos.\n* 20120524\n** Cambio nuevamente de esquema de Vidrio Repartido. Vuelve al estado anterior. Recreación de todas las fórmulas en todas las solapas de la capa de presentación.\n* 20120528\n** Se ejecutan las últimas generaciones de archivos en sitio.\n* 20120529\n** Se ejecutan los procesos y se definen algunos cambios de la capa de presentación.\n** Se detectan incoherencias con respecto a los datos de Set2011. Se hace comunicacion telefónica sin respuesta. Se envía un correo solicitando los elementos de decisión. \n\n* 20120530\n** Se Aplican modificaciones a capa de presentación.\n* 20120601\n** Regeneración de aberturas de PVC por cambio de precios\n** Regeneración de archivo de aberturas M-3 6mm.\n** Regeneración de archivos de Gillotinas por cambio de línea (Novissima por Delta)\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles).\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo [[PROC:Proceso.Precios.ChequeaNombres.scp]] esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la [[TABLA:PreciosABT.Productos]]. [[PROC:Proceso.Precios.ChequeaNombres.scp]]\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". [[PROC:Proceso.Precios.004.scp]]\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El [[PROC:Proceso.Precios.004.scp]] necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos [[PROC:Proceso.Precios.005.scp]]\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(337,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** Ejemplo: PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** Se aplican correcciones al 35%~ de todos los archivos de presupuesto.\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos.\n* 20120516\n** Luego de esfuerzos para ejecutar el proceso en @HOME, se comunica que Lepton se niega a brindar la clave por falta de pago de licencias. Se comunica que a partir del 16 se comenzará a ejecutar esta tarea en @ABT.\n* 20120518\n** Se verifica las carencias de software de oficina en los equipos donde se ejecutarán los procesos en @ABT. Es solucionado.\n** Se detectan incongruencias y se solicita definiciones (rangos, falta de archivos, etc.)\n** Se programa procesos automatizados de generación de archivos.\n* 20120522\n** Generación de script para corrección de nombres incorrectamente definidos.\n* 20120524\n** Cambio nuevamente de esquema de Vidrio Repartido. Vuelve al estado anterior. Recreación de todas las fórmulas en todas las solapas de la capa de presentación.\n* 20120528\n** Se ejecutan las últimas generaciones de archivos en sitio.\n* 20120529\n** Se ejecutan los procesos y se definen algunos cambios de la capa de presentación.\n** Se detectan incoherencias con respecto a los datos de Set2011. Se hace comunicacion telefónica sin respuesta. Se envía un correo solicitando los elementos de decisión. \n\n* 20120530\n** Se Aplican modificaciones a capa de presentación.\n* 20120601\n** Regeneración de aberturas de PVC por cambio de precios\n** Regeneración de archivo de aberturas M-3 6mm.\n** Regeneración de archivos de Gillotinas por cambio de línea (Novissima por Delta)\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles).\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo [[PROC:Proceso.Precios.ChequeaNombres.scp]] esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la [[TABLA:PreciosABT.Productos]]. [[PROC:Proceso.Precios.ChequeaNombres.scp]]\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". [[PROC:Proceso.Precios.004.scp]]\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El [[PROC:Proceso.Precios.004.scp]] necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos [[PROC:Proceso.Precios.005.scp]]\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(338,'=== Correcciones Realizadas V3.0 (2012) ===\n* Sobre el estado inicial, de acuerdo a los usuarios, solo era necesario ejecutar el proceso de lista de precios de WM2009 sobre los mismos archivos con procediendo previamente a cambiar la compañía extrusora.\n** El esquema no funciona de esta manera (OSixto)\n* Se procede a solicitar la generación de todos los archivos de acuerdo a las actuales necesidades.\n* Se procede a confeccionar una lista a mano alzada de todos los productos que estarán incluidos dentro de la muestra.\n* Con fecha 20120509 se retira el último de los archivos de presupuesto modelo para proceder a corregir la versión 2.0\n* Se confecciona un SQLScript para automatizar el reemplazo de datos iniciales de Modelos sobre la [[TABLA:ABT.Productos]] de acuerdo a la lista a mano alzada del 20120504 ([[URL:UpgradeDB.V3_0.sql]])\n* Se modifican los atributos de [[TABLA:ABT.Productos]] para mantener un esquema puente con la V2.0.\n* Se genera el \"esquema puente\" entre ambas versiones (Trabajo administrativo manual).\n* Correcciones de forma en los archivos de PresupuestosWM\n** Ejemplo: PFIJ-PAÑO FIJO STANDARD 4 MM.pto -> PFIJ-PAÑO FIJO STANDARD 4MM.pto\n** Se aplican correcciones al 35%~ de todos los archivos de presupuesto.\n* Se modifica el esquema de Vidrio Repartido. Se toma como base la versión 1 y cambia la modalidad de cálculo. No toma datos de proceso sino que es simplemente el calculo por M2.\n* Recodificación y Agregado de Productos para el nuevo esquema de Paños Fijos.\n* 20120516\n** Luego de esfuerzos para ejecutar el proceso en @HOME, se comunica que Lepton se niega a brindar la clave por falta de pago de licencias. Se comunica que a partir del 16 se comenzará a ejecutar esta tarea en @ABT.\n* 20120518\n** Se verifica las carencias de software de oficina en los equipos donde se ejecutarán los procesos en @ABT. Es solucionado.\n** Se detectan incongruencias y se solicita definiciones (rangos, falta de archivos, etc.)\n** Se programa procesos automatizados de generación de archivos.\n* 20120522\n** Generación de script para corrección de nombres incorrectamente definidos.\n* 20120524\n** Cambio nuevamente de esquema de Vidrio Repartido. Vuelve al estado anterior. Recreación de todas las fórmulas en todas las solapas de la capa de presentación.\n* 20120528\n** Se ejecutan las últimas generaciones de archivos en sitio.\n* 20120529\n** Se ejecutan los procesos y se definen algunos cambios de la capa de presentación.\n** Se detectan incoherencias con respecto a los datos de Set2011. Se hace comunicacion telefónica sin respuesta. Se envía un correo solicitando los elementos de decisión. \n* 20120530\n** Se Aplican modificaciones a capa de presentación.\n** Se agregan las solapas correspondientes a los Paños Fijos de cada línea.\n** Se agregan los códigos correspondientes para Paños Fijos (PFIJ) de cada línea\n* 20120601\n** Regeneración de aberturas de PVC por cambio de precios\n** Regeneración de archivo de aberturas M-3 6mm.\n** Regeneración de archivos de Gillotinas por cambio de línea (Novissima por Delta)\n* 20120604\n** Eliminación manual de Dimension altura 2400 para VABR\n\n=== Tablas ===\nTablas que intervienen en el proceso de generación de Listas de Precios\n*[[TABLE:Productos]]\n*[[TABLE:Modelos]]\n*[[TABLE:PreciosTMP]]\n*[[TABLE:Precios]]\n*[[TABLE:Categorias]]\n*[[TABLE:DimensionVal]]\n*[[TABLE:Interiores]]\n\n=== Procesos ===\nLos siguientes son los pasos a seguir:\n\n#Generación de Archivos de Precios\n##A partir del módulo WinPre existente, ejecutar el proceso de cálculo de lista de precios para cada uno de los tipos de productos a incluir dentro de la lista de precios. Este proceso toma los archivos existentes de extensión \".pto\" y los transforma con ese proceso en archivos del tipo \".xls\" con el que luego se transformarán en datos maleables.\n##201205 Uso de AutoHotKey con las macros indicadas\n###Marcar el archivo (sin extensión y copiar el nombre en el portapapeles).\n###Levantar el archivo con WM2009. CTRL:B\n###Ejecutar el proceso de acuerdo a las características del archivo\n###Ejecutar el ajuste de configuración de la salida. CTRL:L\n###Grabar en formato \".XLS\" copiando el nombre almacenado en el portapapeles. CTRL:V\n###Repetir hasta finalizar con todos los archivos.\n##Verificar que el archivo [[PROC:Proceso.Precios.ChequeaNombres.scp]] esté dentro de las normas de Unix (LF)\n###Usar \'\'\'fromdos Proceso.Precios.ChequeaNombres.scp\'\'\'\n####sudo apt-get install tofrodos\n##Corregir los nombres de los archivos de acuerdo a las especificaciones dentro de la [[TABLA:PreciosABT.Productos]]. [[PROC:Proceso.Precios.ChequeaNombres.scp]]\n###Verificar la ejecución de los cambios\n##Ejecutar el proceso de conversión de \".xls\" a formato \".csv\". [[PROC:Proceso.Precios.004.scp]]\n###Verificar la existencia del programa \'\'\'xls2csv\'\'\'\n####sudo apt-get install catdoc\n###El [[PROC:Proceso.Precios.004.scp]] necesita el parámetro de la carpeta donde tomará los archivos\n###Debe existir dentro de la carpeta de ejecución el directorio \"precio.csv\". Si no existe, crearlo.\n##Ejecutar el proceso de agregado a la base de datos [[PROC:Proceso.Precios.005.scp]]\n###Ejecutar el proceso con el parámetro \'\'<direccion IP de la base de datos>\'\'\n\n\n==== Proceso 004 ====\nProceso automático de toma de archivos provenientes de WinMaker en formato XLS y los traduce en formato CSV para que puedan ser tomados normalmente en un archivo único con todos los datos transformados.\n\n===== Port Unix =====\n[[URL:Proceso.Precios.004.scp]]\n\n<small><pre>\n#! /bin/sh\n#\n# Generación de archivo de CSV con precios provenientes desde WinMaker\n#\n# --------------------------------------------------------------------\nrm precios.csv/Lista.Precios.csv\n\n# Expansiones Varias\n# Desafectado 20110803 dado los errores provenientes de Abertec-WinMaker aún no se han solucionado desde 20110505\n\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido RAJA.xls\' \'precios.wm.xls/Rajas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante MAX-AIR vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido PROY.xls\' \'precios.wm.xls/Proyectante NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas PRIMA 45 vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas Aluminio Natural LIVIANA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Ventanas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas EUROPA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas MODENA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas STD vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Puertas Corredizas AT-PREMIUM vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina NOVISSIMA vidrio repartido.xls\'\n#cp \'precios.wm.xls/Vidrio Repartido VCRR-GLLT.xls\' \'precios.wm.xls/Guillotina STD vidrio repartido.xls\'\n\n# Fin Expansiones Varias\n\nfor FILE in precios.wm.xls/*.xls; do\n  echo $FILE\n  base=`basename \"$FILE\" .xls`\n  salida1=\"$base.csv\"\n  xls2csv \"$FILE\" > \"$salida1\"\n# cat Comando.Insert.PreciosTMP.scp >> Lista.Precios1.csv\n\n# Original, a partir de Excel\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# A partir de OpenOffice\n  awk \'BEGIN { FS = \",\" };(NR>6)&&(NF>2) { print \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2)}\' \"$salida1\" >> \"precios.csv/Lista.Precios.csv\"\n\n# awk \'BEGIN { FS = \",\" };(NR>8)&&(NF>2) { print \"(\" \"\\42\"FILENAME\"\\42\" \",\" $1 \",\" substr($3,2,length($3)-2) \"),\" }\' \"$salida1\" >> \"Lista.Precios1.csv\"\n  rm \"$salida1\"\ndone\n</pre></small>\n\n===== Port Wintel =====\n[[URL:Proceso.Precios.004.cmd]]\n\n<small><pre>\necho off\ncls\necho Procesando archivos provenientes de WinMaker....\nPATH=%PATH%;c:\\Abertec\\Precios\nerase c:\\Abertec\\Precios\\precios.csv\\*.csv\nerase c:\\Abertec\\Precios\\precios.csv\\*.txtREM erase *.csv\ncd c:\\Abertec\\Precios\\precios.wm.xls\ndir *.xls /B /N > L_Planillas.txt\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -v sq=\"\\42\" \"{print \\\"xls2csv \\\" sq $0 sq}\" L_Planillas.txt | cmd\n\"C:\\Program Files\\GnuWin32\\bin\\awk\" -f ..\\P_Planillas.awk *.csv > Lista.Precios.txt\nREM erase *.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.csv\nREM erase L_Planillas.txt\nREM rename Lista.Precios.txt Lista.Precios.csv\ncopy Lista.Precios.txt c:\\Abertec\\Precios\\precios.csv\\Lista.Precios.csv\nerase c:\\Abertec\\Precios\\precios.wm.xls\\*.txt\ncls\necho Fin del Proceso 4\npause\n</pre></small>\n\n==== Proceso 005 ====\nActualiza las tablas de precios\nSe lanza desde el proceso [[URL:Proceso.Precios.005.scp]]\n===== Port Unix =====\n<small><pre>\nFicha=`date +%Y%m%d.%H%M`\nSalida=\"Log.Proceso.Precios.005-\"$Ficha\necho $Salida\nmysql -v -B -u sas_admin -p -h $1 abertec  < Proceso.Precios.005.sql > $Salida\n</pre></small>\n===== Port Wintel =====\n<small><pre>\necho off\ncls\necho Procesando Precios...\nPATH=%PATH%;C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\\ncd \\Abertec\\Precios\\precios.csv\nset Salida=Log.Proceso.Precios.005-\nset Salida=%Salida%%date:~6,4%%date:~3,2%%date:~0,2%\n\nREM mysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > %Salida%\nmysql -v -B -u abt_usr -p -h ABT001 abertec  < ..\\Proceso.Precios.005.sql > NUL\n</pre></small>\n===== Proceso 005 (SQL) =====\n[[File:warning-icon-hi.png|20px]] Atención: Verificar el directorio de acceso de los archivos de donde tomará definitivamente los datos el proceso. [[File:warning-icon-hi.png|20px]] \n\n<small><pre>\n-- COM Agregado 20100525.0933\nUSE abertec\nTRUNCATE precios;\n-- FIN Agregado 20100525.0933\nTRUNCATE preciostmp;\n-- Incorpora Archivo Plano de Precios luego de ejecución 004\nLOAD DATA LOCAL INFILE \'/home/sas/Archivos/Documentos/Documentos/CloudOffice/Abertec/Listas.Precios/Listas.Precios.Unificada/precios.csv/Lista.Precios.csv\'\nINTO TABLE preciostmp\nFIELDS TERMINATED BY \',\'\nENCLOSED BY \'\"\'\nLINES TERMINATED BY \'\\n\'\n(ArchivoID, Dimension, Precio);\n-- Define fecha de Cambio de Precio y Estado a \'Activo\'\nUPDATE preciostmp set FechaPrecio = CURRENT_DATE(), EstadoPrecio = \"A\";\n-- Cambia Estado de Precios anteriores a \'Inactivo\'\nUPDATE precios SET EstadoPrecio = \"I\";\n-- Modificación 07.2010 cambia AdaptarWM por Productos\n-- INSERT INTO Precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto)\n-- SELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , -- Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM PreciosTMP AS T1, AdaptarWM AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Arma tabla Precios con la combinación de tablas de PreciosTMP y Productos / AdaptarWM\nINSERT INTO precios (ProductoID, Dimension, Precio, FechaPrecio, EstadoPrecio, ArchivoID, Ancho, Alto) \nSELECT T2.ProductoID, T1.Dimension, T1.Precio, T1.FechaPrecio, T1.EstadoPrecio, T1.ArchivoID, Convert(trim(substr( T1.Dimension, 1, 4 )),UNSIGNED) , Convert(trim(substr( T1.Dimension, LOCATE( \"x\", Dimension ) +2, 4 )),UNSIGNED) FROM preciostmp AS T1, productos AS T2 WHERE T1.ArchivoID = T2.ArchivoID;\n-- Corrige campo Dimensión para hacerlo Fix.\nUPDATE precios set Dimension = CONCAT_WS(\' x \',RIGHT(CONCAT(\"0\",TRIM(Convert(Ancho,CHAR(10)))),4), RIGHT(CONCAT(\"0\",TRIM(Convert(Alto,CHAR(10)))),4));\n-- Fin Proceso.Precios.005\n</pre></small>\n\n==== Otros Procesos ====\n* [[URL:Proceso.Precios.000.scp]]\n** Ejecuta en forma automatizada los procesos 004/005\n<small><pre>\n#! /bin/sh\n# ---------------------------------------------------\n# Proceso de Ejecución de general de adaptación de \n# Lista de Precios p/Abertec. Debe Ingresarse el\n# parámetro Host (IP) para indicar\n# sobre que motor se está haciendo el trabajo\n# ---------------------------------------------------\n./Proceso.Precios.004.scp  \n./Proceso.Precios.004b.scp  \n./Proceso.Precios.005.scp 192.168.0.188  \n./Proceso.Precios.005b.scp 192.168.0.188  \n</pre></small>\n\n* [[URL:Proceso.Precios.004b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.004.scp]] y le incluía un reproceso de Vidrios Repartidos\n* [[URL:Proceso.Precios.005b.scp]]\n** Desafectado. Hacía el mismo proceso que [[URL:Proceso.Precios.005.scp]] y tomaba el SQL script siguiente\n* [[URL:Proceso.Precios.005b.sql]]\n** Actualizaba los valores de Vidrio Repartido con un coeficiente determinado.\n<small><pre>\nUSE abertec;\nUPDATE `abertec`.`precios` SET Precio=Precio*1.07 WHERE  ArchivoID LIKE \'%epartido%\';\n</pre></small>\n\n=== Vistas ===\nBeautify\nhttp://www.sqlinform.com/free_online_sw.html\n==== vistaprecios001 ====\n<pre>\nSELECT \n`precios`.`ProductoID`,\nIFNULL(`productos`.`CategoriaID`,\'\') AS CategoriaID,\nIFNULL(`productos`.`ModeloID`,\'\') AS ModeloID,\nIFNULL(`productos`.`ColorID`,\'\') AS ColorID,\nIFNULL(`productos`.`InteriorID`,\'\') AS InteriorID,\nIFNULL(`productos`.`ColumnaID`,\'\') AS ColumnaID,\n`precios`.`Dimension`,\n`precios`.`Precio`,\n`precios`.`EstadoPrecio`\nFROM `abertec`.`productos` AS `productos`, `abertec`.`precios` AS `precios` \nWHERE `productos`.`ProductoID` = `precios`.`ProductoID` AND\n      `precios`.`EstadoPrecio` = \'A\'\n</pre>\n==== vistaprecios007 ====\n<pre>\nCREATE VIEW `vistaprecios007` AS\nSELECT DISTINCT \n	`t1`.`ProductoID` AS `ProductoID` ,\n	IF((`t1`.`CategoriaID` = \'PCRR\'),\'VCRR\',`t1`.`CategoriaID`) AS `CategoriaID`,\n	`t1`.`ModeloID`AS `ModeloID`,\n	`t1`.`ColorID` AS `ColorID` ,\n	`t1`.`InteriorID` AS `InteriorID` ,\n	`t1`.`ColumnaID` AS `ColumnaID` ,\n	`t1`.`Dimension` AS `Dimension` ,\n	`t1`.`Precio` AS `Precio` ,\n	`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM\n	(`vistaprecios001` `t1` JOIN `dimensionval` `t2`)\nWHERE \n	((`t1`.`CategoriaID` = `t2`.`CategoriaID`)\n	AND(`t1`.`ModeloID` = `t2`.`ModeloID`)\n	AND (`t1`.`ColorID` = `t2`.`ColorID`)\n	AND (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== vistaprecios099 ====\n<pre>\nCREATE VIEW `vistaprecios099` AS\nSELECT DISTINCT \n`t1`.`ProductoID`   AS `ProductoID` ,\n`t1`.`CategoriaID`  AS `CategoriaID`,\n`t1`.`ModeloID`     AS `ModeloID`   ,\n`t1`.`ColorID`      AS `ColorID`    ,\n`t1`.`InteriorID`   AS `InteriorID` ,\n`t1`.`ColumnaID`    AS `ColumnaID`  ,\n`t1`.`Dimension`    AS `Dimension`  ,\n`t1`.`Precio`       AS `Precio`     ,\n`t1`.`EstadoPrecio` AS `EstadoPrecio`\nFROM (`vistaprecios001` `t1`\n     JOIN `dimensionval` `t2`)\nWHERE ((`t1`.`CategoriaID` = `t2`.`CategoriaID`) AND\n      (`t1`.`ModeloID` = `t2`.`ModeloID`) AND\n      (`t1`.`ColorID` = `t2`.`ColorID`) AND\n      (`t1`.`Dimension` = `t2`.`Dimension`))\n</pre>\n\n==== Estructura básica reporte ====\n*Premarcos y Contramarcos\n**Premarco\n**Contramarcos\n***Chico\n***Grande\n**Modena\n***Premarco\n***Contramarco\n*Ventana Corrediza Tradicional Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 90° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Gamma 45° Blanca\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Repartido c/Vidrio\n**Mosquitero\n**G.Común\n**G.Barrio\n*Ventana Corrediza Delta\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+6+4\n****1000x1500 5+6+5\n***PCRR\n****1200x2000 4+6+4\n****1800x2000 5+6+5\n****2000x2000 6+6+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza Mónaco Top\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+9+4\n****1000x1500 5+9+5\n***PCRR\n****1200x2000 4+9+4\n****1800x2000 5+9+5\n****2000x2000 6+9+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-3\n**Simple\n***VCRR\n****0800x0400\n***PCRR\n****1200x2000\n**Vidrio (4mm)\n***VCRR\n****0800x0400 4mm\n****1000x1500 5mm\n***PCRR\n****1200x2000 4mm\n****1800x2000 5mm\n****2000x2000 6mm\n**Repartido c/Vidrio\n**DVH\n***VCRR\n****0800x0400 4+12+4\n****1000x1500 5+12+5\n***PCRR\n****1200x2000 4+12+4\n****1800x2000 5+12+5\n****2000x2000 6+12+6\n**Mosquitero\n**G.Común\n**G.Barrio\nVentana Corrediza M-5\nVentana Corrediza M-3 Vidrio Repartido\nVentana Corrediza M-5 Vidrio Repartido\nVentana de Abrir Mónaco Top\nVentana de Abrir Delta\nVentana de Abrir Gamma\nVentana de Abrir Mediterranea M-3\nVentana de Abrir M-5 Vidrio Repartido\nGuillotina Novíssima\nOjos de Buey\nMedio Sol\nRajas 1/2 Punto Externo\nPostigones Fijos\nPostigones Regulables\nCortinas\nPaños Fijos (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nDVH (Gamma 45°, Gamma 90°, Mónaco Top, M-3, Delta)\nAnodizados\nFrentes Integrales de Placard\nAireador - Rejas\nAccesorios\nVidrios\nPuertas (Tradicional, Gamma 45°, Gamma 90°, Mónaco Top, M-3, M-5, Delta)','utf-8'),(339,'=== Versión 1 ===\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 [[TABLE:Productos]], [[TABLE:Composicion]] y [[TABLE:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLE:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLE:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(340,'=== Versión 1 ===\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(341,'== Descripción ==\nVista de la [[TABLA:composicion]] con el agregado de la descripción del elemento que lo relaciona con la [[TABLA:productos]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `viscomposimpl` AS\nSELECT `composicion`.`ProductoID` AS `ProductoID`,\n       `composicion`.`ElementoID` AS `ElementoID`,\n       `productos`.`Descripcion` AS `Descripcion`,\n       `composicion`.`ValorElemento` AS `ValorElemento`,\n       `composicion`.`ElementoPM` AS `ElementoPM`,\n       CONCAT(	format(`composicion`.`OffsetVanoAncho`,0),\',\',\n		format(`composicion`.`OffsetVanoAlto`,0)) AS `Offset`\nFROM (`productos`\n      JOIN `composicion`)\nWHERE (`productos`.`ProductoID` = `composicion`.`ElementoID`)\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(342,'== Descripción ==\nVista de la [[TABLA:composicion]] con el agregado de la descripción del elemento que lo relaciona con la [[TABLA:productos]]\n== Composición ==\n*[[TABLA:composicion]]\n*[[TABLA:productos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `viscomposimpl` AS\nSELECT `composicion`.`ProductoID` AS `ProductoID`,\n       `composicion`.`ElementoID` AS `ElementoID`,\n       `productos`.`Descripcion` AS `Descripcion`,\n       `composicion`.`ValorElemento` AS `ValorElemento`,\n       `composicion`.`ElementoPM` AS `ElementoPM`,\n       CONCAT(	format(`composicion`.`OffsetVanoAncho`,0),\',\',\n					format(`composicion`.`OffsetVanoAlto`,0)) AS `Offset`,\n       CONCAT(	format(`composicion`.`CoefVanoAncho`,4),\',\',\n					format(`composicion`.`CoefVanoAlto`,4)) AS `CoefWH`\nFROM (`productos`\n      JOIN `composicion`)\nWHERE (`productos`.`ProductoID` = `composicion`.`ElementoID`)\n</pre>\n== Bitácora ==\n*20120608\n**Se agregan las columnas correspondientes a los Coeficientes de Alto y Ancho de acuerdo a la modificación de la estructura de Composicion hecha para la \"Magnitud Galarza\"\n<pre>\n       CONCAT(	format(`composicion`.`CoefVanoAncho`,4),\',\',\n					format(`composicion`.`CoefVanoAlto`,4)) AS `CoefWH`\n</pre>\n== Uso ==\n[[FORM:CopiaComposicion]]\n== URL ==','utf-8'),(343,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* TABLA:cpar\n* TABLA:debugstmt\n* TABLA:elementos\n* TABLA:insumos\n* TABLA:listasprecios\n* TABLA:logprecios\n* TABLA:monedas\n* TABLA:precios\n* TABLA:preciosqry\n* TABLA:productos\n* TABLA:reppresqry\n* TABLA:transacciones\n* TABLA:ttransac\n* TABLA:vidquoten1\n* TABLA:vidquoten2\n* TABLA:vidquoten3\n* TABLA:vidquoten4\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(344,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(345,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]].\n<pre>\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(346,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(347,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(348,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(349,'== Descripción ==\nProductos Activos\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== TRIGGERS ==\n* Alta: [[TRIG:productos.AltaProducto]]\n* Baja: [[TRIG:productos.BajaProducto]]\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(350,'== Descripción ==\nProductos Activos\n== Composición ==\n== Estructura ==\n<pre>\nProductoID	char(8) PK \nCategoriaID	char(4) \nDescripcion	char(80) \nProveedorID	char(4) \nReposicion	int(3) \nMagnitud	char(4) \nCoefP00P01	decimal(6,4) \nCoefP00P02	decimal(6,4) \nCoefP00P03	decimal(6,4) \nProductoPID	varchar(15) \nInsumoIMG	mediumblob \n</pre>\n\n== TRIGGERS ==\n* Alta: [[TRIG:productos.AltaProducto]]\n* Baja: [[TRIG:productos.BajaProducto]]\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(351,'== Descripción ==\nTrigger para INSERT en [[TABLA:productos]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n						`precios`.`ProductoID`, \n						`precios`.`PrecioProd00`,\n						`precios`.`PrecioProd01`, \n						`precios`.`PrecioProd02`, \n						`precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(352,'== Descripción ==\nTrigger para INSERT en [[TABLA:productos]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n						`precios`.`ProductoID`, \n						`precios`.`PrecioProd00`,\n						`precios`.`PrecioProd01`, \n						`precios`.`PrecioProd02`, \n						`precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND$$\n</pre>\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(353,'== Descripción ==\nTrigger para INSERT en [[TABLA:productos]]\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vProductoID CHAR(8);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios ( \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (\n			`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(354,'== Descripción ==\nTrigger para INSERT en [[TABLA:productos]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vProductoID CHAR(8);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios ( \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (\n			`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(355,'== Descripción ==\nTrigger para INSERT en [[TABLA:productos]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vProductoID CHAR(8);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios ( \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (\n			`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Uso ==\n*[[FORM:Productos]]\n*[[FORM:CopiaComposicion]]\n\n== URL ==','utf-8'),(356,'== Descripción ==\nTrigger para INSERT en [[TABLA:productos]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vProductoID CHAR(8);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios ( \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (\n			`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\nEND$$\n</pre>\n\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Uso ==\n*[[FORM:Productos]]\n*[[FORM:CopiaComposicion]]\n\n== URL ==','utf-8'),(357,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(358,'== Descripción ==\nProductos Activos\n== Composición ==\n== Estructura ==\n<pre>\nProductoID	char(8) PK \nCategoriaID	char(4) \nDescripcion	char(80) \nProveedorID	char(4) \nReposicion	int(3) \nMagnitud	char(4) \nCoefP00P01	decimal(6,4) \nCoefP00P02	decimal(6,4) \nCoefP00P03	decimal(6,4) \nProductoPID	varchar(15) \nInsumoIMG	mediumblob \n</pre>\n\n== Triggers ==\n* Alta: [[TRIG:productos.AltaProducto]]\n* Baja: [[TRIG:productos.BajaProducto]]\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(359,'== Descripción ==\nProductos Activos\n== Estructura ==\n<pre>\nProductoID	char(8) PK \nCategoriaID	char(4) \nDescripcion	char(80) \nProveedorID	char(4) \nReposicion	int(3) \nMagnitud	char(4) \nCoefP00P01	decimal(6,4) \nCoefP00P02	decimal(6,4) \nCoefP00P03	decimal(6,4) \nProductoPID	varchar(15) \nInsumoIMG	mediumblob \n</pre>\n\n== Triggers ==\n* Alta: [[TRIG:productos.AltaProducto]]\n* Baja: [[TRIG:productos.BajaProducto]]\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(360,'== Descripción ==\nTrigger Delete en [[TABLA:producto]]\n== Composición ==\n*[[TABLA:precios]]\n*[[TABLA:composicion]]\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Baja_Productos`\nAFTER DELETE ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND$$\n</pre>\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios \n<pre>\nCREATE\nTRIGGER `fzggestion`.`Baja_Productos`\nAFTER DELETE ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND$$\'\'Texto en cursiva\'\'\n</pre>\n== Uso ==\n== URL ==','utf-8'),(361,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n{{tecla|Ctrl|A}}','utf-8'),(362,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== MacroProgramming ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Tipo\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n| <center>\'\'\'Shooter\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Main\n| Sub\n| Lanzador de Chequeos Iniciales\n|\n| Independiente\n|\n|-\n| Hoy\n| Sub\n| Push Fecha actual a campo tipo Fecha\n| FORM: Presupuesto: Ingresos + Pendientes\n|\n|\n|-\n| LookupData\n| Sub\n| Busca datos de precios correspondientes al Producto/Tipo de Cliente y asigna a los campos\n| FORM: Presupuesto: Ingresos + Pendientes\n| </br>FIELD: </br>EVENT:\n|-\n|}\n</small>\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}','utf-8'),(363,'== Composicion ==\nVISTA:visproadic\nTABLA:vidquoten3\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(364,'== Composicion ==\n*VISTA:visproadic->\n*->TABLA:vidquoten3\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(365,'== Descripcion ==\nUna vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior\n== Composicion ==\n*VISTA:visproadic->\n*->TABLA:vidquoten3\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(366,'== Descripcion ==\nUna vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*VISTA:visproadic->\n*->TABLA:vidquoten3\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(367,'== Descripcion ==\nUna vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*[[VISTA:visproadic]]->\n*->[[TABLA:vidquoten3]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(368,'== Descripcion ==\nUna vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*[[VISTA:visproadic]]->\n*->[[TABLA:vidquoten3]]\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(369,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(370,'== Descripción ==\nAgrega componentes de otro producto a un producto existente\n== Composición ==\n* [[TABLA:composicion]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE PROCEDURE `AgregaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg AND\n          `composicion`.`ElementoID` NOT IN \n            (SELECT ElementoID \n            FROM composicion \n            WHERE `composicion`.`ProductoID` = pProductoIDDst)\n    );\nEND\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(371,'== Descripción ==\nAgrega componentes de otro producto a un producto existente\n== Composición ==\n* [[TABLA:composicion]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE PROCEDURE `AgregaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg AND\n          `composicion`.`ElementoID` NOT IN \n            (SELECT ElementoID \n            FROM composicion \n            WHERE `composicion`.`ProductoID` = pProductoIDDst)\n    );\nEND\n</pre>\n== Bitácora ==\n== Uso ==\n* [[MACRO:AgregaComposicion]]\n\n== URL ==','utf-8'),(372,'== Descripción ==\nAgrega componentes de otro producto a un producto existente\n== Composición ==\n* [[TABLA:composicion]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE PROCEDURE `AgregaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg AND\n          `composicion`.`ElementoID` NOT IN \n            (SELECT ElementoID \n            FROM composicion \n            WHERE `composicion`.`ProductoID` = pProductoIDDst)\n    );\nEND\n</pre>\n== Bitácora ==\n== Uso ==\n* [[FORM:CopiaComposicion]]\n* [[MACRO:AgregaComposicion]]\n\n== URL ==','utf-8'),(373,'== Descripción ==\nAgrega componentes de otro producto a un producto existente\n== Composición ==\n* [[TABLA:composicion]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE PROCEDURE `AgregaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg AND\n          `composicion`.`ElementoID` NOT IN \n            (SELECT ElementoID \n            FROM composicion \n            WHERE `composicion`.`ProductoID` = pProductoIDDst)\n    );\nEND\n</pre>\n== Bitácora ==\n* 20120627\n** Agregado como botón en el proceso correspondiente\n\n== Uso ==\n* [[FORM:CopiaComposicion]]\n* [[MACRO:AgregaComposicion]]\n\n== URL ==','utf-8'),(374,'=== Versión 1 ===\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\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.','utf-8'),(375,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(376,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:vireppres]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(377,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(378,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}','utf-8'),(379,'=== Versión 1 ===\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\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\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\n\'\'\'\'Release 20120113\'\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'\'Release 20120118\'\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'\'Release 20120119\'\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'\'Release 20120120\'\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'\'Release 20120122\'\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'\'Release 20120123\'\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'\'Release 20120124\'\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n== 20120125 ==\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n== 20120127 ==\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n== 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== 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'),(380,'=== Versión 1 ===\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\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(381,'== Descripción ==\nPermite la copia o agregado de componentes de un producto a otro, sea este último un producto activo o un nuevo producto\n\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(382,'== Descripción ==\nPermite la copia o agregado de componentes de un producto a otro, sea este último un producto activo o un nuevo producto.\nSe divide en 3 secciones tales como:\n* Filtro\n* Producto Origen\n* Producto Destino\nEn el caso de Producto Destino cuenta con las siguientes características:\nAnaliza la existencia de otro producto con el mismo identificador. Procede previamente a transformar en mayúsculas el código de producto destino.\nEn el caso de existir el producto, solicita la confirmación por parte del usuario y copia la descripción actual del producto destino para facilitar su posible modificación.\nDespliega 2 botones para procesar la información:\nCopia: Si es sobre un producto nuevo, copia toda la estrucutra ([[TABLA:productos]], [[TABLA:composicion]], [[TABLA:precios]]).\nCopia: Si es sobre un producto existente, elimina el anterior y genera una copia de toda la estructura con el código nuevo.\nAgregado: Solo si el producto existe, agrega los componentes del producto original sobre el producto destino, solo de aquellos productos que no se encuentren ya especificados en el producto destino en forma previa.\n== Composición ==\n* TABLA:productos\n* TABLA:composicion\n* TABLA:precios\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(383,'=== Versión 1 ===\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\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(384,'=== Versión 1 ===\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(385,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(386,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(387,'== Descripción ==\nVista Transacciones de CRM\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vistranscrm` AS\n(\nSELECT DISTINCT\n    T1.VidQuoteCliente AS VidQuoteCliente,\n    \'QT\' AS TTransaccion,\n    T2.VidQuoteID AS NTransaccion,\n    T1.VidQuoteObra AS VidQuoteObra,\n    T1.VidQuoteFecha AS VidQuoteFecha,\n    T1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(T2.VidQuotePrecioP) * - 1 AS VidQuotePrecioP\nFROM\n    vidquoten1 AS T1,\n    vidquoten3 AS T2\nWHERE\n    T1.VidQuoteEstado = \'1\' AND T1.VidQuoteID = T2.VidQuoteID\nGROUP BY T2.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC)\nUNION\n(SELECT \n    T3.ClienteAR AS VidQuoteCliente,\n    T3.TTransaccion AS TTransaccion,\n    T3.NTransaccion as NTransaccion,\n    \' \' AS VidQuoteObra,\n    T3.FechaAR AS VidQuoteFecha,\n    \'1\' AS VidQuoteEstado,\n    T3.ImporteAR AS VidQuotePrecioP\nFROM\n    accreceiv AS T3\n)\nORDER BY VidQuoteCliente\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:ConsultaClientesCRM]]\n== URL ==','utf-8'),(388,'== Descripción ==\nVista Transacciones de CRM\n== Composición ==\n*[[vidquoten1]]\n*[[vidquoten3]]\n*[[accreceiv]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vistranscrm` AS\n(\nSELECT DISTINCT\n    T1.VidQuoteCliente AS VidQuoteCliente,\n    \'QT\' AS TTransaccion,\n    T2.VidQuoteID AS NTransaccion,\n    T1.VidQuoteObra AS VidQuoteObra,\n    T1.VidQuoteFecha AS VidQuoteFecha,\n    T1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(T2.VidQuotePrecioP) * - 1 AS VidQuotePrecioP\nFROM\n    vidquoten1 AS T1,\n    vidquoten3 AS T2\nWHERE\n    T1.VidQuoteEstado = \'1\' AND T1.VidQuoteID = T2.VidQuoteID\nGROUP BY T2.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC)\nUNION\n(SELECT \n    T3.ClienteAR AS VidQuoteCliente,\n    T3.TTransaccion AS TTransaccion,\n    T3.NTransaccion as NTransaccion,\n    \' \' AS VidQuoteObra,\n    T3.FechaAR AS VidQuoteFecha,\n    \'1\' AS VidQuoteEstado,\n    T3.ImporteAR AS VidQuotePrecioP\nFROM\n    accreceiv AS T3\n)\nORDER BY VidQuoteCliente\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:ConsultaClientesCRM]]\n== URL ==','utf-8'),(389,'== Descripción ==\nVista Transacciones de CRM\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:accreceiv]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vistranscrm` AS\n(\nSELECT DISTINCT\n    T1.VidQuoteCliente AS VidQuoteCliente,\n    \'QT\' AS TTransaccion,\n    T2.VidQuoteID AS NTransaccion,\n    T1.VidQuoteObra AS VidQuoteObra,\n    T1.VidQuoteFecha AS VidQuoteFecha,\n    T1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(T2.VidQuotePrecioP) * - 1 AS VidQuotePrecioP\nFROM\n    vidquoten1 AS T1,\n    vidquoten3 AS T2\nWHERE\n    T1.VidQuoteEstado = \'1\' AND T1.VidQuoteID = T2.VidQuoteID\nGROUP BY T2.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC)\nUNION\n(SELECT \n    T3.ClienteAR AS VidQuoteCliente,\n    T3.TTransaccion AS TTransaccion,\n    T3.NTransaccion as NTransaccion,\n    \' \' AS VidQuoteObra,\n    T3.FechaAR AS VidQuoteFecha,\n    \'1\' AS VidQuoteEstado,\n    T3.ImporteAR AS VidQuotePrecioP\nFROM\n    accreceiv AS T3\n)\nORDER BY VidQuoteCliente\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:ConsultaClientesCRM]]\n== URL ==','utf-8'),(390,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(391,'== Descripción ==\nVista de la [[TABLA:checkbook]] de los registros in documento destino asociado\n== Composición ==\n*[[TABLA:checkbook]] \n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `chqactivos` AS\nSELECT `CheckBookID` AS `CheckBookID`,\n       `Entidad` AS `Entidad`,\n       `Sucursal` AS `Sucursal`,\n       `DocPropio` AS `DocPropio`,\n       `CuentaOrg` AS `CuentaOrg`,\n       `DocumentoID` AS `DocumentoID`,\n       `FechaDocumento` AS `FechaDocumento`,\n       `ImporteDocumento` AS `ImporteDocumento`,\n       `TDocumentoOrg` AS `TDocumentoOrg`,\n       `NDocumentoOrg` AS `NDocumentoOrg`,\n       `TTransaccOrg` AS `TTransaccOrg`,\n       `NTransaccOrg` AS `NTransaccOrg`,\n       `TTransaccDst` AS `TTransaccDst`,\n       `NTransaccDst` AS `NTransaccDst`\nFROM `checkbook`\nWHERE isnull(`TTransaccDst`)\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:Cheques]]\n== URL ==','utf-8'),(392,'=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\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\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(393,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\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== 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>','utf-8'),(394,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(395,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(396,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Descripción ==\n== Composición ==\n== Estructura ==\n*<pre>\n*</pre>\n== SQL ==\n*<pre>\n*</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(397,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n{pre>\n{/pre>\n== SQL ==\n{pre>\n{/pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n== SQL ==\n*<pre>\n*</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(398,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n{pre>\n{/pre>\n== SQL ==\n{pre>\n{/pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(399,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n{pre>\n{/pre>\n== SQL ==\n{pre>\n{/pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(400,'<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(401,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(402,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(403,'== Descripción ==\nTransacciones de Pagos\n== Composición ==\nTabla Plana + Triggers\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\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== Bitácora ==\n*20120724\n**Alta\n== Uso ==\n== URL ==\n</pre>','utf-8'),(404,'== Descripción ==\nTransacciones de Cobranzas\n== Composición ==\nTabla Plana + Triggers\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `accreceiv` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AR\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAR` date DEFAULT NULL,\n  `FechaAR` date DEFAULT NULL,\n  `FormaAR` char(3) DEFAULT NULL,\n  `ImporteAR` decimal(10,2) DEFAULT NULL,\n  `ClienteAR` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Cobranza`\nBEFORE INSERT ON `fzggestion`.`accreceiv`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAR = CURDATE();\nEND\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(405,'=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(406,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(407,'== Descripción ==\nTipos de Documento\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `tdocumento` (\n  `TDocumentoID` char(2) NOT NULL,\n  `TDocumentoDSC` varchar(45) DEFAULT NULL,\n  `TDocumentoAP` char(1) DEFAULT NULL,\n  `TDocumentoAR` varchar(45) DEFAULT NULL,\n  PRIMARY KEY (`TDocumentoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(408,'== Descripción ==\nTipos de Documento\n== Composición ==\nTabla Plana\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `tdocumento` (\n  `TDocumentoID` char(2) NOT NULL,\n  `TDocumentoDSC` varchar(45) DEFAULT NULL,\n  `TDocumentoAP` char(1) DEFAULT NULL,\n  `TDocumentoAR` varchar(45) DEFAULT NULL,\n  PRIMARY KEY (`TDocumentoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(409,'== Descripción ==\nTipos de Documento\n== Composición ==\nTabla Plana\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `tdocumento` (\n  `TDocumentoID` char(2) NOT NULL,\n  `TDocumentoDSC` varchar(45) DEFAULT NULL,\n  `TDocumentoAP` char(1) DEFAULT NULL,\n  `TDocumentoAR` char(1) DEFAULT NULL,\n  PRIMARY KEY (`TDocumentoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(410,'=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(411,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\n=== Documentación de Usuario ===','utf-8'),(412,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\n=== Documentación de Usuario ===\nWikiUserSpanex','utf-8'),(413,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(414,'Gestión Retail Industria\n\n== Spalnex Gestion ==\nSpanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción civil. Consta de módulos que permiten desde la construcción de productos y servicios hasta el control de la producción de los mismos.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de productos quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar.\nDentro del concepto de Contactos quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(415,'Gestión Retail Industria\n\n== Spalnex Gestion ==\nSpanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción civil. Consta de módulos que permiten desde la construcción de productos y servicios hasta el control de la producción de los mismos.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de productos quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar.\nDentro del concepto de Contactos quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(416,'Gestión Retail Industria\n\n== Spalnex Gestion ==\nSpanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción civil. Consta de módulos que permiten desde la construcción de productos y servicios hasta el control de la producción de los mismos.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de productos quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar.\nDentro del concepto de Contactos quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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 ===\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(417,'Gestión Retail Industria\n\n== Spalnex Gestion ==\nSpanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción civil. Consta de módulos que permiten desde la construcción de productos y servicios hasta el control de la producción de los mismos.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de productos quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar.\nDentro del concepto de Contactos quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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 ===\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(418,'Gestión Retail Industria\n\n== Spalnex Gestion ==\nSpanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción civil. Consta de módulos que permiten desde la construcción de productos y servicios hasta el control de la producción de los mismos.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de productos quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar.\nDentro del concepto de Contactos quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(419,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(420,'== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*[[FormPagos]]\n**[[FormChequeTerceros]]\n**[[FormChequePropios]]\n<pre>\n</pre>\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(421,'== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*[[FormPagos]]\n**[[FormChequeTerceros]]\n**[[FormChequePropios]]\n<pre>\n</pre>\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[OBJETO:txtFormaAP]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(422,'== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*[[FormPagos]]\n**[[FormChequeTerceros]]\n**[[FormChequePropios]]\n<pre>\n</pre>\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[OBJETO:txtFormaAP]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:FormChequePropios]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(423,'== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*[[FormPagos]]\n**[[FormChequeTerceros]]\n**[[FormChequePropios]]\n<pre>\n</pre>\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[OBJETO:txtFormaAP]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:BtnEndosoTerceros]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EndosarTercerosEnGrilla]]\n*[[OBJETO:FormChequePropios]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(424,'== 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'),(425,'== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormPagos\n**FormChequeTerceros\n**FormChequePropios\n<pre>\n</pre>\n\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[OBJETO:txtFormaAP]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:BtnEndosoTerceros]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EndosarTercerosEnGrilla]]\n*[[OBJETO:FormChequePropios]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(426,'== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormPagos\n**FormChequeTerceros\n**FormChequePropios\n\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[OBJETO:txtFormaAP]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:BtnEndosoTerceros]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EndosarTercerosEnGrilla]]\n*[[OBJETO:FormChequePropios]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(427,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n\'\'\'Formularios\'\'\'\n----\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(428,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n*FormCheque\n*Boxes\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n== Bitácora ==\n== Uso ==','utf-8'),(429,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n== Bitácora ==\n== Uso ==','utf-8'),(430,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:BotonEliminaContenido_txtFiltro]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EliminaContenidoCampo]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:OptionBtnAR]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:OpcionCtrlxDoc]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n\n== Bitácora ==\n== Uso ==','utf-8'),(431,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:BotonEliminaContenido_txtFiltro]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EliminaContenidoCampo]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:OptionBtnAR]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:OpcionCtrlxDoc]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:txtFormaAR]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:fmtNDocumentoOrg]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EnviaClienteIDCobranza]]\n*[[OBJETO:FormCheque]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==','utf-8'),(432,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:BotonEliminaContenido_txtFiltro]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EliminaContenidoCampo]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:OptionBtnAR]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:OpcionCtrlxDoc]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:txtFormaAR]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:fmtNDocumentoOrg]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EnviaClienteIDCobranza]]\n*[[OBJETO:FormCheque]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n\n[[GRA:_Relaciones:Formularios|Formularios GRA]]','utf-8'),(433,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:BotonEliminaContenido_txtFiltro]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EliminaContenidoCampo]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:OptionBtnAR]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:OpcionCtrlxDoc]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:txtFormaAR]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:fmtNDocumentoOrg]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EnviaClienteIDCobranza]]\n*[[OBJETO:FormCheque]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n\n[[GRA:_Relaciones|Formularios GRA]]','utf-8'),(434,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:BotonEliminaContenido_txtFiltro]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EliminaContenidoCampo]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:OptionBtnAR]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:OpcionCtrlxDoc]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:txtFormaAR]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:fmtNDocumentoOrg]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EnviaClienteIDCobranza]]\n*[[OBJETO:FormCheque]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n\n[[GRA:_Relaciones#Formularios|Formularios GRA]]','utf-8'),(435,'== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:BotonEliminaContenido_txtFiltro]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EliminaContenidoCampo]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:OptionBtnAR]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:OpcionCtrlxDoc]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:txtFormaAR]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:fmtNDocumentoOrg]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EnviaClienteIDCobranza]]\n*[[OBJETO:FormCheque]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n\n[[GRA:_Relaciones#Formularios|Formularios Gestión Retail Aberturas]]','utf-8'),(436,'== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormPagos\n**FormChequeTerceros\n**FormChequePropios\n\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[OBJETO:txtFormaAP]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:BtnEndosoTerceros]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EndosarTercerosEnGrilla]]\n*[[OBJETO:FormChequePropios]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n== URL ==\n\n[[GRA:_Relaciones#Formularios|Formularios Gestión Retail Aberturas]]','utf-8'),(437,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(438,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n\n\'\'\'Formularios\'\'\'\n----\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(439,'== Descripción ==\nVista de Cheques disponibles para Endosar\n== Composición ==\n[[TABLA:checkbook]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `vischtdisp` AS\nSELECT \'CHT\' AS `TransaccTest`,\n       `checkbook`.`CheckBookID` AS `CheckBookID`,\n       `checkbook`.`Entidad` AS `Entidad`,\n       `checkbook`.`FechaDocumento` AS `FechaDocumento`,\n       `checkbook`.`ImporteDocumento` AS `ImporteDocumento`\nFROM `checkbook`\nWHERE (isnull(`checkbook`.`NTransaccDst`)\n       AND isnull(`checkbook`.`TTransaccDst`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(440,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(441,'== 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== URL ==','utf-8'),(442,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(443,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(444,'== Descripción ==\nBuffer temporario para permitir taggear opciones dentro de la confiormación presupuestaria\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten3tmp` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteItem` int(11) NOT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteProdID` char(8) NOT NULL,\n  `VidQuoteElementoID` char(8) NOT NULL,\n  `VidQuotePrecio` decimal(16,8) DEFAULT NULL,\n  `VidQuotePrecioP` decimal(16,8) DEFAULT NULL,\n  `VidQuoteIncluyeDet` tinyint(1) DEFAULT \'0\',\n  `VidQuoteQuickSelect` tinyint(1) DEFAULT \'0\',\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`,`VidQuoteProdID`,`VidQuoteElementoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20120824\n**Alta de Tabla\n== Uso ==\n*[[FORM:Presupuesto]]\n== URL ==','utf-8'),(445,'=== Versión 1.1 ===\n\'\'\'Release 20120824\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(446,'=== Versión 1.1 ===\n\'\'\'Release 20120824\'\'\'\n* [[SQLChanges|File:///home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.Actualización.Datos.20120702.sql]]\n* [[FORM:Presupuesto]]. Cambio de diseño.\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(447,'=== Versión 1.1 ===\n\'\'\'Release 20120824\'\'\'\n* [[SQLChanges|File://home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.Actualización.Datos.20120702.sql]]\n* [[FORM:Presupuesto]]. Cambio de diseño.\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(448,'=== Versión 1.1 ===\n\'\'\'Release 20120824\'\'\'\n* [[file://home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.Actualización.Datos.20120702.sql]]\n* [[FORM:Presupuesto]]. Cambio de diseño.\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(449,'* Actualizacion DB\n=== Versión 1.1 ===\n\'\'\'Release 20120824\'\'\'\n* [[file://home/sas/Archivos/Documentos/Documentos/CloudOffice/FazzGlass/Gestion/FZG.Actualización.Datos.20120702.sql]]\n* [[FORM:Presupuesto]]. Cambio de diseño.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(450,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120824\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(451,'===20120702===\n====Agregado de atributo de Medicion en Obra====\nALTER TABLE `fzggestion`.`vidquoten1` ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0  AFTER `VidQuoteACom` ;\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear vista vistranscrm====\n====Crear tabla clientescrmqry====\n====Crear vista chqactivos====\n====Crear tabla accpayab====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica Tabla fPago====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña Tabla tdocumento====\n[[TABLA:tdocumento]]\n====Crea Vista vischtdisp====\n====Crea Vista vistotprod====\n====Crea Tabla vidquoten3tmp====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n<pre>\n==== ====','utf-8'),(452,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear vista vistranscrm====\n====Crear tabla clientescrmqry====\n====Crear vista chqactivos====\n====Crear tabla accpayab====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica Tabla fPago====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña Tabla tdocumento====\n[[TABLA:tdocumento]]\n====Crea Vista vischtdisp====\n====Crea Vista vistotprod====\n====Crea Tabla vidquoten3tmp====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n<pre>\n==== ====','utf-8'),(453,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear vista vistranscrm====\n====Crear tabla clientescrmqry====\n====Crear vista chqactivos====\n====Crear tabla accpayab====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica Tabla fPago====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña Tabla tdocumento====\n[[TABLA:tdocumento]]\n====Crea Vista vischtdisp====\n====Crea Vista vistotprod====\n====Crea Tabla vidquoten3tmp====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n====Agregar Nombre de Usuario a las transacciones====\n\'\'\'20120831\'\'\'\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(10) NULL AFTER `HoraModificacion` ;\n</pre>\n==== ====','utf-8'),(454,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear vista vistranscrm====\n====Crear tabla clientescrmqry====\n====Crear vista chqactivos====\n====Crear tabla accpayab====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica Tabla fPago====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña Tabla tdocumento====\n[[TABLA:tdocumento]]\n====Crea Vista vischtdisp====\n====Crea Vista vistotprod====\n====Crea Tabla vidquoten3tmp====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario a las transacciones====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(10) NULL AFTER `HoraModificacion` ;\n</pre>\n\n==== ====','utf-8'),(455,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear vista vistranscrm====\n====Crear tabla clientescrmqry====\n====Crear vista chqactivos====\n====Crear tabla accpayab====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica Tabla fPago====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n[[TABLA:tdocumento]]\n\n====Crea Vista vischtdisp====\n====Crea Vista vistotprod====\n====Crea Tabla vidquoten3tmp====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario a las transacciones====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(10) NULL AFTER `HoraModificacion` ;\n</pre>\n\n==== ====','utf-8'),(456,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear vista vistranscrm====\n====Crear tabla clientescrmqry====\n====Crear vista chqactivos====\n====Crear tabla accpayab====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica Tabla fPago====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea Vista vischtdisp====\n====Crea Vista vistotprod====\n====Crea Tabla vidquoten3tmp====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario a las transacciones====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(10) NULL AFTER `HoraModificacion` ;\n</pre>\n\n==== ====','utf-8'),(457,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario a las transacciones====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(10) NULL AFTER `HoraModificacion` ;\n</pre>\n\n==== ====','utf-8'),(458,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(459,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario a las transacciones====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n==== ====','utf-8'),(460,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario a las transacciones====\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====Modificación de Triggers ====\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\n==== ====','utf-8'),(461,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario a las transacciones====\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====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n\n==== ====','utf-8'),(462,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n\n==== ====','utf-8'),(463,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(464,'== Descripción ==\nTabla de Precios\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== Triggers ==','utf-8'),(465,'== Descripción ==\nTabla de Precios\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== Triggers ==\n* [[TRIG:precios.AltaPrecio]]\n* [[TRIG:precios.ActualizaPrecio]]','utf-8'),(466,'== Descripción ==\nTrigger Alta\n== Composición ==\n* [[TABLA:precios]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\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</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(467,'== Descripción ==\nTrigger Alta\n== Composición ==\n* [[TABLA:precios]]\n\n== SQL ==\n<pre>\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</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(468,'== Descripción ==\nTrigger Update\n== Composición ==\n* [[TABLA:precios]]\n== SQL ==\n<pre>\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== Bitácora ==\n== Uso ==','utf-8'),(469,'== Descripción ==\nTabla de Precios\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE TABLE `precios` (\n  `Lista` int(11) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `PrecioProd00` decimal(12,2) DEFAULT NULL,\n  `PrecioProd01` decimal(12,2) DEFAULT NULL,\n  `PrecioProd02` decimal(12,2) DEFAULT NULL,\n  `PrecioProd03` decimal(12,2) DEFAULT NULL,\n  `FechaEvento` date DEFAULT NULL,\n  `HoraEvento` time DEFAULT NULL,\n  `UserEvento` varchar(20) DEFAULT NULL,\n  PRIMARY KEY (`Lista`,`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\n== Triggers ==\n* [[TRIG:precios.AltaPrecio]]\n* [[TRIG:precios.ActualizaPrecio]]','utf-8'),(470,'== Descripción ==\nTabla de Precios\n== SQL ==\n<pre>\nCREATE TABLE `precios` (\n  `Lista` int(11) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `PrecioProd00` decimal(12,2) DEFAULT NULL,\n  `PrecioProd01` decimal(12,2) DEFAULT NULL,\n  `PrecioProd02` decimal(12,2) DEFAULT NULL,\n  `PrecioProd03` decimal(12,2) DEFAULT NULL,\n  `FechaEvento` date DEFAULT NULL,\n  `HoraEvento` time DEFAULT NULL,\n  `UserEvento` varchar(20) DEFAULT NULL,\n  PRIMARY KEY (`Lista`,`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\n== Triggers ==\n* [[TRIG:precios.AltaPrecio]]\n* [[TRIG:precios.ActualizaPrecio]]','utf-8'),(471,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(472,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:Precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:Productos]], [[TABLA:Composicion]] y [[TABLA:Precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(473,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(474,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\n</pre>\n\n==== ====','utf-8'),(475,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\n\n==== ====','utf-8'),(476,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n==== ====','utf-8'),(477,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(478,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT `contactos`.`ContactoID` AS `ClienteID`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`ListaPrecio` AS `ListaPrecio`,\n       `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable \n== Uso ==\n== URL ==','utf-8'),(479,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(480,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====','utf-8'),(481,'20120902. Cambio para que tome las modificaciones sobre Precios y que siga la rueda\n\n<pre>\nCREATE VIEW `preciosvigentes` AS\nSELECT `precios`.`Lista` AS `Lista`,\n       `precios`.`ProductoID` AS `ProductoID`,\n       `precios`.`PrecioProd00` AS `PrecioProd00`,\n       `precios`.`PrecioProd01` AS `PrecioProd01`,\n       `precios`.`PrecioProd02` AS `PrecioProd02`,\n       `precios`.`PrecioProd03` AS `PrecioProd03`,\n       `precios`.`FechaEvento` AS `FechaModificacion`,\n       `precios`.`HoraEvento` AS `HoraModificacion`,\n       `precios`.`UserEvento` AS `UserModificacion`\nFROM `precios`\n</pre>','utf-8'),(482,'20120902. Cambio para que tome las modificaciones sobre Precios y que siga la rueda \n<pre>\nCREATE VIEW `preciosvigact` AS\nSELECT `preciosvigentes`.`Lista` AS `Lista`,\n       `preciosvigentes`.`ProductoID` AS `ProductoID`,\n       `productos`.`Descripcion` AS `Descripcion`,\n       `productos`.`CategoriaID` AS `CategoriaID`,\n       `productos`.`ProveedorID` AS `ProveedorID`,\n       `preciosvigentes`.`PrecioProd00` AS `PrecioProd00`,\n       `productos`.`CoefP00P01` AS `CoefP00P01`,\n       `preciosvigentes`.`PrecioProd01` AS `PrecioProd01`,\n       `productos`.`CoefP00P02` AS `CoefP00P02`,\n       `preciosvigentes`.`PrecioProd02` AS `PrecioProd02`,\n       `productos`.`CoefP00P03` AS `CoefP00P03`,\n       `preciosvigentes`.`PrecioProd03` AS `PrecioProd03`\nFROM (`productos`\n      JOIN `preciosvigentes`)\nWHERE (`productos`.`ProductoID` = `preciosvigentes`.`ProductoID`)\nORDER BY `preciosvigentes`.`ProductoID\n</pre>','utf-8'),(483,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(484,'== Descripción ==\nTipo de Elementos de Composición\n== Composición ==\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`telemecomp` (\n  `TElementoID` INT(1) NOT NULL ,\n  `TElementoDSC` VARCHAR(45) NULL ,\n  PRIMARY KEY (`TElementoID`) );\n</pre>\n== Bitácora ==\n== Uso ==\nReferencial ElementoPM en [[TABLA:composicion]]\n== URL ==','utf-8'),(485,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====','utf-8'),(486,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:MasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(487,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(488,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(489,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó el.\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(490,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre><small>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    DELETE FROM productos WHERE `productos`.`ProductoID` = pProductoIDDst;\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</small></pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre>\n*20120904\n**Se agrega al actual la cláusula de eliminación de los datos anteriores del producto destino si existiese.\n<pre><small>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</small></pre>\n\n== Uso ==\n== URL ==','utf-8'),(491,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre><small>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    DELETE FROM productos WHERE `productos`.`ProductoID` = pProductoIDDst;\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</small></pre>\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<small><pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n*20120904\n**Se agrega al actual la cláusula de eliminación de los datos anteriores del producto destino si existiese.  Código Previo:\n<small><pre>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Uso ==\n== URL ==','utf-8'),(492,'== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    DELETE FROM productos WHERE `productos`.`ProductoID` = pProductoIDDst;\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<small><pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n*20120904\n**Se agrega al actual la cláusula de eliminación de los datos anteriores del producto destino si existiese.  Código Previo:\n<small><pre>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Uso ==\n== URL ==','utf-8'),(493,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(494,'<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n\n\'\'\'Formularios\'\'\'\n----\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\n\n\n</pre>','utf-8'),(495,'<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n\n\'\'\'Formularios\'\'\'\n----\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\n\n\n</pre>','utf-8'),(496,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n\n\n</pre>','utf-8'),(497,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n== Descripción ==\n== Composición ==\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n\n</pre>','utf-8'),(498,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n== Descripción ==\n== Composición ==\n== Codigo ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(499,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Composición ==\n== Codigo ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(500,'== Descripción ==\nBTN de copia del registro señalado en el [[FORM:CopiaComposicion]] sobre otro producto, existente o no.\n== Composición ==\n== Codigo ==\n<small><pre>\nfunction CopiaComposicion( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim oMensaje As String\nDim vProductoIDOrg As String\nDim vProductoIDDst As String\nDim vProductoDSCDst As String\n\n	\'oForm			= ThisComponent.Drawpage.Forms.getByName(\"FormConsulta\")\n	oForm			= oEvent.Source.Model.Parent\n	oSubForm		= oForm.getByName(\"DetalleProductoOriginal\")\n	oSubFormGrid	= oSubForm.getByName(\"DetalleProductoOriginalGrid\")\n	vProductoIDOrg	= oSubFormGrid.getByName(\"ProductoID\").String\n	vProductoIDDst 	= oForm.getByName(\"fProductoID\").text\n	vProductoDSCDst = oForm.getByName(\"fProductoDSC\").text\n\n	if len(vProductoIDOrg) < 1 Then\n		MsgBox(\"Producto Origen no válido\", 0, \"Error\")\n		CopiaComposicion = False\n	else\n		if len(vProductoIDDst) < 1 Then\n			MsgBox(\"Producto Destino no válido\", 0, \"Error\")\n			CopiaComposicion = False		\n		else\n			if len(vProductoDSCDst) < 1 Then\n				MsgBox(\"Descripción Destino no válida\", 0, \"Error\")\n				CopiaComposicion = False\n			else\n				CopiaComposicion= False\n				oCondicion		= \"ProductoID=\" & chr(39) & vProductoIDDst & chr(39)\n				if QuerySimple(\"Count(*)\",\"HayProductos\",\"productos\",oCondicion,\"Integer\") > 0 Then\n					\'Existe un producto con ese código\n					oMensaje	= \"Existe un producto con el codigo de destino especificado. Si desea Si continua, se eliminarán todos los datos del \"\n					oMensaje	= oMensaje & \" producto anteriormente ingresado. ¿Desea continuar?\"\n					if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n						CopiaComposicion= True	\n					endif\n				else\n					CopiaComposicion= True\n				end if\n				if CopiaComposicion Then\n					oMensaje = \"¿Está seguro de copiar la composicion de \" & vProductoIDOrg & \" a \" & vProductoIDDst & \"?\"\n				   	if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n			       		oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			    		SQLStatement = oConnection.preparestatement(\"CALL DuplicaProductoCompo(?,?,?)\")\n			    		SQLStatement.setstring(1,vProductoIDOrg)\n			    		SQLStatement.setstring(2,vProductoIDDst)\n			    		SQLStatement.setstring(3,vProductoDSCDst)	    			\n			    		SQLStatement.execute()\n						SQLStatement.close()\n						msgBox(\"Verifique los valores Base del nuevo Producto-Composición\", 0, \"Mensaje\")\n			    		oForm.getByName(\"fProductoID\").reset()\n						oForm.getByName(\"fProductoDSC\").reset()\n					else\n						CopiaComposicion= False\n				  	end if\n				end if\n			end if\n		end if\n	end if\nend function\n</pre></small>\n== Bitácora ==\n*20120904\n** Incorporación de preguntas para determinar si copia a pesar de existir previamente otro producto con ese código.\n== Uso ==\n[[FORM:CopiaComposicion]]','utf-8'),(501,'== Descripción ==\nBTN de copia del registro señalado en el [[FORM:CopiaComposicion]] sobre otro producto, existente o no. Hace un call al [[PROC:DuplicaProductoCompo]]\n\n== Composición ==\n== Codigo ==\n<small><pre>\nfunction CopiaComposicion( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim oMensaje As String\nDim vProductoIDOrg As String\nDim vProductoIDDst As String\nDim vProductoDSCDst As String\n\n	\'oForm			= ThisComponent.Drawpage.Forms.getByName(\"FormConsulta\")\n	oForm			= oEvent.Source.Model.Parent\n	oSubForm		= oForm.getByName(\"DetalleProductoOriginal\")\n	oSubFormGrid	= oSubForm.getByName(\"DetalleProductoOriginalGrid\")\n	vProductoIDOrg	= oSubFormGrid.getByName(\"ProductoID\").String\n	vProductoIDDst 	= oForm.getByName(\"fProductoID\").text\n	vProductoDSCDst = oForm.getByName(\"fProductoDSC\").text\n\n	if len(vProductoIDOrg) < 1 Then\n		MsgBox(\"Producto Origen no válido\", 0, \"Error\")\n		CopiaComposicion = False\n	else\n		if len(vProductoIDDst) < 1 Then\n			MsgBox(\"Producto Destino no válido\", 0, \"Error\")\n			CopiaComposicion = False		\n		else\n			if len(vProductoDSCDst) < 1 Then\n				MsgBox(\"Descripción Destino no válida\", 0, \"Error\")\n				CopiaComposicion = False\n			else\n				CopiaComposicion= False\n				oCondicion		= \"ProductoID=\" & chr(39) & vProductoIDDst & chr(39)\n				if QuerySimple(\"Count(*)\",\"HayProductos\",\"productos\",oCondicion,\"Integer\") > 0 Then\n					\'Existe un producto con ese código\n					oMensaje	= \"Existe un producto con el codigo de destino especificado. Si desea Si continua, se eliminarán todos los datos del \"\n					oMensaje	= oMensaje & \" producto anteriormente ingresado. ¿Desea continuar?\"\n					if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n						CopiaComposicion= True	\n					endif\n				else\n					CopiaComposicion= True\n				end if\n				if CopiaComposicion Then\n					oMensaje = \"¿Está seguro de copiar la composicion de \" & vProductoIDOrg & \" a \" & vProductoIDDst & \"?\"\n				   	if MsgBox(SplitMsg(oMensaje,40),MB_YESNO+MB_ICONEXCLAMATION,\"Atención\") = IDYES Then\n			       		oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			    		SQLStatement = oConnection.preparestatement(\"CALL DuplicaProductoCompo(?,?,?)\")\n			    		SQLStatement.setstring(1,vProductoIDOrg)\n			    		SQLStatement.setstring(2,vProductoIDDst)\n			    		SQLStatement.setstring(3,vProductoDSCDst)	    			\n			    		SQLStatement.execute()\n						SQLStatement.close()\n						msgBox(\"Verifique los valores Base del nuevo Producto-Composición\", 0, \"Mensaje\")\n			    		oForm.getByName(\"fProductoID\").reset()\n						oForm.getByName(\"fProductoDSC\").reset()\n					else\n						CopiaComposicion= False\n				  	end if\n				end if\n			end if\n		end if\n	end if\nend function\n</pre></small>\n== Bitácora ==\n*20120904\n** Incorporación de preguntas para determinar si copia a pesar de existir previamente otro producto con ese código.\n== Uso ==\n[[FORM:CopiaComposicion]]','utf-8'),(502,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine PROC:DuplicaProductoCompo en DB====','utf-8'),(503,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====','utf-8'),(504,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(505,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8)\n</pre>\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(506,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nComposicID	int(11) PK AI\nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(507,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n--*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.--\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nComposicID	int(11) PK AI\nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(508,'== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nComposicID	int(11) PK AI\nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8');
INSERT INTO `peg_text` VALUES (509,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \n	ADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID`,\n	ADD COLUMN `vidquoten3col` VARCHAR(45) NULL AFTER `VidQuoteIncluyeDet`,\n   CHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID` ,\n	CHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteComposicID` ,\n	DROP PRIMARY KEY, \n	ADD PRIMARY KEY (\n		`VidQuoteID`,\n		`VidQuoteItem`,\n		`VidQuoteProdID`,\n		`VidQuoteElementoID`,\n		`VidQuoteComposicID`);\n</pre>','utf-8'),(510,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(511,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(512,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>','utf-8'),(513,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`;\nALTER TABLE `fzggestion`.`vidquoten3tmp` CHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID` ;','utf-8'),(514,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`;\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;','utf-8'),(515,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\n\n</pre>','utf-8'),(516,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>','utf-8'),(517,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:AltaItemPresupuestoTmp]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(518,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho).\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma TABLA:composicion para tomar todos los elementos como si fuesen productos y así listar aquellos que tengan más de un componente.\n\n== Composición ==\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(519,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(520,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(521,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Codigo ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(522,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<pre>\nSELECT\n	50 as Presupuesto,\n	1 as Item,\n	\'VCMDG200\' as Prodcuto,\n	2 as Cantidad,\n	R1.ProdCmpID,\n    R1.ComposicID,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`)) AS pVidQuotePrecio,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`) * 2) AS pVidQuotePrecioP\nFROM\n(\n(SELECT \n    U1.ProductoID,\n    U1.ElementoID AS ProdCmpID,\n    U1.ComposicID,\n    U1.ElementoID,\n    U1.ElementoPM,\n    U2.Magnitud,\n    U1.ValorElemento,\n    U1.OffsetVanoAncho,\n    U1.OffsetVanoAlto,\n    U1.CoefVanoAncho,\n    U1.CoefVanoAlto,\n    (CASE (2)\n        WHEN 0 THEN U3.PrecioProd00\n        WHEN 1 THEN U3.PrecioProd01\n        WHEN 2 THEN U3.PrecioProd02\n        WHEN 3 THEN U3.PrecioProd03\n    END) AS PrecioProd\nFROM\n    fzggestion.productos AS U2,\n    fzggestion.composicion AS U1,\n    fzggestion.precios AS U3\nWHERE\n    U2.ProductoID = U1.ElementoID AND \n    U3.ProductoID = U2.ProductoID AND \n    U1.ProductoID = \'VCMDG200\' AND \n    U1.ElementoID = \'VCMDG200\' AND \n    U1.ElementoPM <= 1)\n\nUNION\n\n(SELECT \n    T1.ProductoID,\n    T1.ElementoID AS ProdCmpID,\n    T1.ComposicID,\n    T2.ElementoID,\n    T2.ElementoPM,\n    T3.Magnitud,\n    T1.ValorElemento,        \n    T1.OffsetVanoAncho,\n    T1.OffsetVanoAlto,\n    T1.CoefVanoAncho,\n    T1.CoefVanoAlto,\n    (CASE (2)\n     WHEN 0 THEN `T4`.`PrecioProd00`\n     WHEN 1 THEN `T4`.`PrecioProd01`\n     WHEN 2 THEN `T4`.`PrecioProd02`\n     WHEN 3 THEN `T4`.`PrecioProd03`\n    END) AS PrecioProd\nFROM\n    fzggestion.composicion AS T2,\n    fzggestion.composicion AS T1,\n    fzggestion.productos AS T3,\n    fzggestion.precios AS T4\nWHERE\n    T2.ProductoID = T1.ElementoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID AND \n    T1.ProductoID <> T1.ElementoID AND \n    T2.ElementoPM <= 1 AND \n    T1.ProductoID = \'VCMDG200\' AND \n    T1.ElementoPM <= 1\nORDER BY\n    T1.ProductoID ASC ,\n    T1.ElementoID ASC ,\n    T1.ComposicID ASC ,\n    T2.ElementoID ASC)\n) AS R1\nGROUP BY ProdCmpID,ComposicID\n</pre>\n\n== Bitácora ==\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(523,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<pre>\nSELECT\n	50 as Presupuesto,\n	1 as Item,\n	\'VCMDG200\' as Prodcuto,\n	2 as Cantidad,\n	R1.ProdCmpID,\n    R1.ComposicID,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`)) AS pVidQuotePrecio,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`) * 2) AS pVidQuotePrecioP\nFROM\n(\n(SELECT \n    U1.ProductoID,\n    U1.ElementoID AS ProdCmpID,\n    U1.ComposicID,\n    U1.ElementoID,\n    U1.ElementoPM,\n    U2.Magnitud,\n    U1.ValorElemento,\n    U1.OffsetVanoAncho,\n    U1.OffsetVanoAlto,\n    U1.CoefVanoAncho,\n    U1.CoefVanoAlto,\n    (CASE (2)\n        WHEN 0 THEN U3.PrecioProd00\n        WHEN 1 THEN U3.PrecioProd01\n        WHEN 2 THEN U3.PrecioProd02\n        WHEN 3 THEN U3.PrecioProd03\n    END) AS PrecioProd\nFROM\n    fzggestion.productos AS U2,\n    fzggestion.composicion AS U1,\n    fzggestion.precios AS U3\nWHERE\n    U2.ProductoID = U1.ElementoID AND \n    U3.ProductoID = U2.ProductoID AND \n    U1.ProductoID = \'VCMDG200\' AND \n    U1.ElementoID = \'VCMDG200\' AND \n    U1.ElementoPM <= 1)\n\nUNION\n\n(SELECT \n    T1.ProductoID,\n    T1.ElementoID AS ProdCmpID,\n    T1.ComposicID,\n    T2.ElementoID,\n    T2.ElementoPM,\n    T3.Magnitud,\n    T1.ValorElemento,        \n    T1.OffsetVanoAncho,\n    T1.OffsetVanoAlto,\n    T1.CoefVanoAncho,\n    T1.CoefVanoAlto,\n    (CASE (2)\n     WHEN 0 THEN `T4`.`PrecioProd00`\n     WHEN 1 THEN `T4`.`PrecioProd01`\n     WHEN 2 THEN `T4`.`PrecioProd02`\n     WHEN 3 THEN `T4`.`PrecioProd03`\n    END) AS PrecioProd\nFROM\n    fzggestion.composicion AS T2,\n    fzggestion.composicion AS T1,\n    fzggestion.productos AS T3,\n    fzggestion.precios AS T4\nWHERE\n    T2.ProductoID = T1.ElementoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID AND \n    T1.ProductoID <> T1.ElementoID AND \n    T2.ElementoPM <= 1 AND \n    T1.ProductoID = \'VCMDG200\' AND \n    T1.ElementoPM <= 1\nORDER BY\n    T1.ProductoID ASC ,\n    T1.ElementoID ASC ,\n    T1.ComposicID ASC ,\n    T2.ElementoID ASC)\n) AS R1\nGROUP BY ProdCmpID,ComposicID\n</pre>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(524,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(525,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<small><pre>\nSELECT\n	50 as Presupuesto,\n	1 as Item,\n	\'VCMDG200\' as Prodcuto,\n	2 as Cantidad,\n	R1.ProdCmpID,\n    R1.ComposicID,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`)) AS pVidQuotePrecio,\n	SUM(CalculoPrecio(\n		1200, \n		1400,\n		`R1`.`PrecioProd`,\n		`R1`.`Magnitud`,\n		`R1`.`OffsetVanoAlto`,\n		`R1`.`OffsetVanoAncho`,\n		`R1`.`CoefVanoAlto`,\n		`R1`.`CoefVanoAncho`,\n		`R1`.`ValorElemento`) * 2) AS pVidQuotePrecioP\nFROM\n(\n(SELECT \n    U1.ProductoID,\n    U1.ElementoID AS ProdCmpID,\n    U1.ComposicID,\n    U1.ElementoID,\n    U1.ElementoPM,\n    U2.Magnitud,\n    U1.ValorElemento,\n    U1.OffsetVanoAncho,\n    U1.OffsetVanoAlto,\n    U1.CoefVanoAncho,\n    U1.CoefVanoAlto,\n    (CASE (2)\n        WHEN 0 THEN U3.PrecioProd00\n        WHEN 1 THEN U3.PrecioProd01\n        WHEN 2 THEN U3.PrecioProd02\n        WHEN 3 THEN U3.PrecioProd03\n    END) AS PrecioProd\nFROM\n    fzggestion.productos AS U2,\n    fzggestion.composicion AS U1,\n    fzggestion.precios AS U3\nWHERE\n    U2.ProductoID = U1.ElementoID AND \n    U3.ProductoID = U2.ProductoID AND \n    U1.ProductoID = \'VCMDG200\' AND \n    U1.ElementoID = \'VCMDG200\' AND \n    U1.ElementoPM <= 1)\n\nUNION\n\n(SELECT \n    T1.ProductoID,\n    T1.ElementoID AS ProdCmpID,\n    T1.ComposicID,\n    T2.ElementoID,\n    T2.ElementoPM,\n    T3.Magnitud,\n    T1.ValorElemento,        \n    T1.OffsetVanoAncho,\n    T1.OffsetVanoAlto,\n    T1.CoefVanoAncho,\n    T1.CoefVanoAlto,\n    (CASE (2)\n     WHEN 0 THEN `T4`.`PrecioProd00`\n     WHEN 1 THEN `T4`.`PrecioProd01`\n     WHEN 2 THEN `T4`.`PrecioProd02`\n     WHEN 3 THEN `T4`.`PrecioProd03`\n    END) AS PrecioProd\nFROM\n    fzggestion.composicion AS T2,\n    fzggestion.composicion AS T1,\n    fzggestion.productos AS T3,\n    fzggestion.precios AS T4\nWHERE\n    T2.ProductoID = T1.ElementoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID AND \n    T1.ProductoID <> T1.ElementoID AND \n    T2.ElementoPM <= 1 AND \n    T1.ProductoID = \'VCMDG200\' AND \n    T1.ElementoPM <= 1\nORDER BY\n    T1.ProductoID ASC ,\n    T1.ElementoID ASC ,\n    T1.ComposicID ASC ,\n    T2.ElementoID ASC)\n) AS R1\nGROUP BY ProdCmpID,ComposicID\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(526,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\nBorrador\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5), IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n    SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n    FROM\n		vidquoten3 AS S1\n    WHERE\n        S1.VidQuoteID=pVidQuoteID AND \n        S1.VidQuoteItem=pVidQuoteItem;\n\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n    SELECT\n		pVidQuoteID AS VidQuoteID,\n		pVidQuoteItem AS VidQuoteItem,\n		pVidQuoteProdID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteProdCantidad,\n	 	R1.ComposicID AS VidQuoteComposicID,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS pVidQuotePrecioP\n	FROM\n	(\n	(SELECT \n		 U1.ProductoID,\n		 U1.ElementoID AS ProdCmpID,\n		 U1.ComposicID,\n		 U1.ElementoID,\n		 U1.ElementoPM,\n		 U2.Magnitud,\n		 U1.ValorElemento,\n		 U1.OffsetVanoAncho,\n		 U1.OffsetVanoAlto,\n		 U1.CoefVanoAncho,\n		 U1.CoefVanoAlto,\n		 (CASE (2)\n		     WHEN 0 THEN U3.PrecioProd00\n		     WHEN 1 THEN U3.PrecioProd01\n		     WHEN 2 THEN U3.PrecioProd02\n		     WHEN 3 THEN U3.PrecioProd03\n		 END) AS PrecioProd\n	FROM\n		 fzggestion.productos AS U2,\n		 fzggestion.composicion AS U1,\n		 fzggestion.precios AS U3\n	WHERE\n		 U2.ProductoID = U1.ElementoID AND \n		 U3.ProductoID = U2.ProductoID AND \n		 U1.ProductoID = pVidQuoteProdID AND \n		 U1.ElementoID = pVidQuoteProdID AND \n		 U1.ElementoPM <= 1)\n\n	UNION\n\n	(SELECT \n		 T1.ProductoID,\n		 T1.ElementoID AS ProdCmpID,\n		 T1.ComposicID,\n		 T2.ElementoID,\n		 T2.ElementoPM,\n		 T3.Magnitud,\n		 T1.ValorElemento,        \n		 T1.OffsetVanoAncho,\n		 T1.OffsetVanoAlto,\n		 T1.CoefVanoAncho,\n		 T1.CoefVanoAlto,\n		 (CASE (2)\n		  WHEN 0 THEN `T4`.`PrecioProd00`\n		  WHEN 1 THEN `T4`.`PrecioProd01`\n		  WHEN 2 THEN `T4`.`PrecioProd02`\n		  WHEN 3 THEN `T4`.`PrecioProd03`\n		 END) AS PrecioProd\n	FROM\n		 fzggestion.composicion AS T2,\n		 fzggestion.composicion AS T1,\n		 fzggestion.productos AS T3,\n		 fzggestion.precios AS T4\n	WHERE\n		 T2.ProductoID = T1.ElementoID AND \n		 T3.ProductoID = T2.ElementoID AND \n		 T4.ProductoID = T3.ProductoID AND \n		 T1.ProductoID <> T1.ElementoID AND \n		 T2.ElementoPM <= 1 AND \n		 T1.ProductoID = pVidQuoteProdID AND \n		 T1.ElementoPM <= 1\n	ORDER BY\n		 T1.ProductoID ASC ,\n		 T1.ElementoID ASC ,\n		 T1.ComposicID ASC ,\n		 T2.ElementoID ASC)\n	) AS R1\n    WHERE \n        CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n        NOT IN (SELECT CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n        FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem)\n	GROUP BY ProdCmpID,ComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(527,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT `contactos`.`ContactoID` AS `ClienteID`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`ListaPrecio` AS `ListaPrecio`,\n       `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n       `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable \n== Uso ==\n== URL ==','utf-8'),(528,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(529,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE PROCEDURE `AltaItemPresupuestoTmp` (\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\n\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		R1.VidQuoteID,\n		R1.VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS pVidQuotePrecioP\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		WHERE \n			CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n			NOT IN (SELECT CONCAT(Q1.VidQuoteProdID,Q1.VidQuoteElementoID,LPAD(CAST(Q1.VidQuoteComposicID AS CHAR),3,\'000\'))\n			FROM vidquoten3tmp AS Q1 WHERE Q1.VidQuoteID=pVidQuoteID AND Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY VidQuoteElementoID,VidQuoteComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(530,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.Warning-icon-hi.png\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(531,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(532,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre><small>\n== Bitácora ==\n== Uso ==','utf-8'),(533,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n== Uso ==','utf-8'),(534,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable @sql por @qry. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==','utf-8'),(535,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==','utf-8'),(536,'== Descripción ==\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==\n*[[MACRO:RecalculaPrecios]]\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(537,'== Descripción ==\nCalcula los valores de las diferentes listas de precios vigentes a partir de un valor indicado y los coeficientes de actualización asociados a cada producto.\n\n== Composición ==\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==\n*[[MACRO:RecalculaPrecios]]\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(538,'== Descripción ==\nCalcula los valores de las diferentes listas de precios vigentes a partir de un valor indicado y los coeficientes de actualización asociados a cada producto.\n\n== Composición ==\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==\n*[[MACRO:RecalculaPrecios]]\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(539,'== Descripción ==\nDetecta que Control presiona y dependiendo de ello, ejecuta el calculo a través del [[PROC:ActualizaPreciosTabular]]\n== Composición ==\n== Codigo ==\n<pre>\nfunction RecalculaPrecios( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim strQRYSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim TextoMensaje As String\nDim oBotonSeleccionado As String\nDim oTextoVariable As String\nDim oAccion As String\nDim oFiltro As String\nDim vProductoIDOrg, vProductoIDDst As String\n	RecalculaPrecios = False\n	oForm=oEvent.Source.Model.Parent\n	oBotonSeleccionado=oEvent.Source.Model.Name\n	select case oBotonSeleccionado\n		case \"BotonOpcionATP001\":\n			oTextoVariable=\"Precios en base al Costo\"\n			oAccion=\"1\"\n		case \"BotonOpcionATP002\":\n			oTextoVariable=\"Costo en Base a Precio 1\"\n			oAccion=\"2\"\n		case \"BotonOpcionATP003\":\n			oTextoVariable=\"Costo en Base a Precio 2\"\n			oAccion=\"3\"\n		case \"BotonOpcionATP004\":\n			oTextoVariable=\"Costo en Base a Precio 3\"\n			oAccion=\"4\"	\n	end select\n	TextoMensaje = \"¿Está seguro de modificar los valores de \" & oTextoVariable & \" en base al filtro seleccionado?\"\n 	select case msgBox(TextoMensaje, 1, \"!Atención!\" )\n 		case 1:\n			oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			oFiltro = oForm.Filter\n			if oForm.Filter<>\"\" then\n				oFiltro = ReemplazaStr(oFiltro,\"`ProductoID` IN\",\"`precios`.`ProductoID` IN\")\n			end if\n			\'msgBox(oFiltro)\n			SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosTabular(?,?)\")\n	    	SQLStatement.setstring(1,oFiltro)\n	    	SQLStatement.setstring(2,oAccion)\n	    	SQLStatement.execute()\n			SQLStatement.close()\n			RecalculaPrecios = True\n		case 2:\n			RecalculaPrecios = False\n	end select\n	oForm.reload()\nend function\n</pre>\n== Bitácora ==\n*20120907\n**Última actualización\n== Uso ==\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(540,'== Descripción ==\nDetecta que Control presiona y dependiendo de ello, ejecuta el calculo a través del [[PROC:ActualizaPreciosTabular]]\n== Composición ==\n== Código ==\n<small><pre>\nfunction RecalculaPrecios( oEvent ) as boolean\nDim SQLStatement As Object\nDim strSQLSearch As String\nDim strQRYSearch As String\nDim oConnection As Object\nDim oForm As Object\nDim TextoMensaje As String\nDim oBotonSeleccionado As String\nDim oTextoVariable As String\nDim oAccion As String\nDim oFiltro As String\nDim vProductoIDOrg, vProductoIDDst As String\n	RecalculaPrecios = False\n	oForm=oEvent.Source.Model.Parent\n	oBotonSeleccionado=oEvent.Source.Model.Name\n	select case oBotonSeleccionado\n		case \"BotonOpcionATP001\":\n			oTextoVariable=\"Precios en base al Costo\"\n			oAccion=\"1\"\n		case \"BotonOpcionATP002\":\n			oTextoVariable=\"Costo en Base a Precio 1\"\n			oAccion=\"2\"\n		case \"BotonOpcionATP003\":\n			oTextoVariable=\"Costo en Base a Precio 2\"\n			oAccion=\"3\"\n		case \"BotonOpcionATP004\":\n			oTextoVariable=\"Costo en Base a Precio 3\"\n			oAccion=\"4\"	\n	end select\n	TextoMensaje = \"¿Está seguro de modificar los valores de \" & oTextoVariable & \" en base al filtro seleccionado?\"\n 	select case msgBox(TextoMensaje, 1, \"!Atención!\" )\n 		case 1:\n			oConnection = oEvent.Source.Model.getParent().ActiveConnection\n			oFiltro = oForm.Filter\n			if oForm.Filter<>\"\" then\n				oFiltro = ReemplazaStr(oFiltro,\"`ProductoID` IN\",\"`precios`.`ProductoID` IN\")\n			end if\n			\'msgBox(oFiltro)\n			SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosTabular(?,?)\")\n	    	SQLStatement.setstring(1,oFiltro)\n	    	SQLStatement.setstring(2,oAccion)\n	    	SQLStatement.execute()\n			SQLStatement.close()\n			RecalculaPrecios = True\n		case 2:\n			RecalculaPrecios = False\n	end select\n	oForm.reload()\nend function\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Última actualización\n== Uso ==\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(541,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Composición ==\n== Código ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(542,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=50 AND \n					Q1.VidQuoteItem=3)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(543,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(544,'== Descripción ==\n== Composición ==\n== Código ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM vidquoten3 WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n       VidQuoteIncluyeDet)\n	SELECT\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n       VidQuoteElementoID,\n       VidQuotePrecio,\n       VidQuotePrecioP,\n       VidQuoteIncluyeDet\n	FROM\n        vidquoten3tmp\n    WHERE\n        VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(545,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>','utf-8'),(546,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM','utf-8'),(547,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ResetEdicionItemTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n   DECLARE vVarNum INT(5);\n   SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n   CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\n	DELETE\n	FROM vidquoten3tmp\n	WHERE\n		VidQuoteID=pVidQuoteID AND \n		VidQuoteItem=pVidQuoteItem;\n    SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\nEND$$','utf-8'),(548,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====','utf-8'),(549,'== Descripción ==\nElimina las registraciones temporales al tiempo de pulsar el reset de la operación de edición de componentes en presupuesto.\n== Composición ==\n[[TABLA:vidquoten3tmp]]\n== Código ==\n<small><pre>\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ResetEdicionItemTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n   DECLARE vVarNum INT(5);\n   SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n   CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\n	DELETE\n	FROM vidquoten3tmp\n	WHERE\n		VidQuoteID=pVidQuoteID AND \n		VidQuoteItem=pVidQuoteItem;\n    SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:GrabaItemPresupuestoTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\nEND$$\n</pre></small>\n== Bitácora ==\n*20120908\n**Creación\n== Uso ==\n[[FORM:Presupuesto]]','utf-8'),(550,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomercial]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(551,'== Descripción ==\nElimina las registraciones temporales al tiempo de pulsar el reset de la operación de edición de componentes en presupuesto.\n== Composición ==\n[[TABLA:vidquoten3tmp]]\n== Código ==\n<small><pre>\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ResetEdicionItemTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n   DECLARE vVarNum INT(5);\n   SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n   CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:ResetEdicionItemTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\n	DELETE\n	FROM vidquoten3tmp\n	WHERE\n		VidQuoteID=pVidQuoteID AND \n		VidQuoteItem=pVidQuoteItem;\n    SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:ResetEdicionItemTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\nEND$$\n</pre></small>\n== Bitácora ==\n*20120908\n**Creación\n== Uso ==\n[[FORM:Presupuesto]]','utf-8'),(552,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomerciales]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(553,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de AComerciales.\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `acomerciales` AS\nSELECT `contactos`.`ContactoID` AS `ProveedorID`,\n       `contactos`.`ContactoIDAbrv` AS `Abreviatura`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`AComercialTag` = 1)\n</pre>\n== Bitácora ==\n*20120125\n**Alta Vista\n*20120911\n**Cambio de Condición para reflejar el cambio de estructura de la [[TABLA:contactos]]\n== Uso ==\n*[[FORM:presupuesto]]','utf-8'),(554,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]','utf-8'),(555,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n* [[FORM:Presupuesto]]. Cambios\n** Se habilita la posibilidad de solo consulta para todos los Presupuestos Aprobados con [[MACRO:ControlFormPresupuesto]].\n** Se limita la posibilidad de eliminar Presupuesto / Producto para Presupuestos Aprobados y se habilita el LOC (Last Opportunity Check) con [[MACRO:ConfirmaDeletePresupuesto]]\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomerciales]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(556,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n* [[FORM:Presupuesto]]. Cambios\n** Se habilita la posibilidad de solo consulta para todos los Presupuestos Aprobados con [[MACRO:ControlFormPresupuesto]].\n** Se limita la posibilidad de eliminar Presupuesto / Producto para Presupuestos Aprobados y se habilita el LOC (Last Opportunity Check) con [[MACRO:ConfirmaDeletePresupuesto]]\n** Chequeos [[FORM:Presupuesto]]V1.0.\n***Form:Cabecera\n****[[MACRO:NewResetListBox]]: No es necesario. No se usa más la modificación del contenido del ListBox OTA.\n****[[MACRO:PresupuestoExpirado]]: Optimizar y agregar como función dentro de [[MACRO:ControlFormPresupuesto]]\n****[[MACRO:EventoWhenLoadingFromCabecera]]\n*****Confirmar [[MACRO:ChequeoLicenciaOK]]\n*****Eliminar limpieza ListBox\n*****Asigna default Fecha Presupuesto con [[MACRO:Hoy]]\n*****Eliminar Reset ListBoxes\n\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomerciales]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(557,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n* [[FORM:Presupuesto]]. Cambios\n** Se habilita la posibilidad de solo consulta para todos los Presupuestos Aprobados con [[MACRO:ControlFormPresupuesto]].\n** Se limita la posibilidad de eliminar Presupuesto / Producto para Presupuestos Aprobados y se habilita el LOC (Last Opportunity Check) con [[MACRO:ConfirmaDeletePresupuesto]]\n** Chequeos [[FORM: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\n=== Versión 1 ===\n\'\'\'Release 20120720\'\'\'\n* [[FORM:Pagos]]. Creación.\n* [[TABLA:tdocumento]]. Rediseño. Se incorporan atributos para indicar cuales son los procesos que se incluye el documento para un posterior filtro.\n* [[FORM:ClientesCRM]]. Rediseño. Se reemplaza las tablas y se confecciona a partir de los presupuestos aprobados/pendientes y de las cobranzas.\n* [[FORM:Cobranzas]]. Modificación. Se agrega la posibilidad de asignación por cliente (cuenta corriente).\n* [[TABLA:accpayab]]. Creación.\n\'\'\'Release 20120628\'\'\'\n* [[FORM:Categorias]]. Rediseño. Se rediseña la interfaz de acuerdo a el nuevo lineamiento y se agrega un control de Grid para su mejor visualización.\n* [[FORM:PreciosGeneral]]. Rediseño. Se agrega el Control Grid sobre la [[TABLA:precios]] y los controles de navegación.\n* [[TABLA:vidquoten1]]. Se agrega el atributo para controlar si se efectua la medición en obra.\n\'\'\'Release 20120627\'\'\'\n* [[FORM:CopiaComposicion]]: Modificado: Se generan una nueva forma de copia duplicación de componentes. Se agregan además las funciones de Agregado masivo a partir de otro producto y de control de repetición de producto.\n* [[FORM:Presupuesto]]. Modificado. Se prepara el acceso de los Módulos permitiendo la copia de un módulo predefinido en forma completa.\n* [[FORM:ComposicionMasivoxProducto]]. Modificado. Se agrega un control de navegación para cada grupo de datos: Productos y Elementos.\n\'\'\'Release 20120608\'\'\'\n* [[FORM:Predefinidos]]. Creación. Genera una nueva instancia inicial con presupuestos \"preformateados\" que simulen un nivel inmediato superior al esquema Producto-Elemento-Parámetro que permitiría inicialmente generar anteproyectos. Queda pendiente el ingreso de este grupo como elemento manipulable.[[File:warning-icon-hi.png|20px]]\n* [[TABLA:predefcab]]. Creación\n* [[TABLA:predefdet]]. Creación\n\'\'\'Release 20120515\'\'\'\n* [[FORM:Productos]]. Modificación. Cambio del control de verificación del campo ProductoID. Cambio de Control y verificación en [[TABLA:productos]], [[TABLA:composicion]] y [[TABLA:precios]]. Se habilita función específica de verificación de integridad. Ok\n* [[FORM:Productos]]. Modificación. Corrección de código por bug en función iif en Basic en el evento AfterChangeRecordFORMProductos.\n* [[REPORTE:PresupuestoDirecto]]. Modificación. Agregado de Numéración de páginas para el caso de presupuestos de más de una hoja de extensión.\n* [[PROC:CalculaPrecioBase]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[PROC:CalculoPrecio]]. Incorpora el cálculo de las magnitudes \"2H\" (cálculo en base a la altura indicada multiplicada por 2) y \"2W\" (cálculo en base al ancho indicado multiplicado por 2).\n* [[FORM:MasivoCoeficienteActualizacion]]. Asigna [[MACRO:CambioMasivoCoeficientesPrecios]] y agrega botón de limpieza con [[MACRO:LimpiarMasivoCoeficientesPrecios]]\n* [[PROC:CalculaPrecioBase]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoPrecio]]. Modificación. Se agrega la alternativa dentro de la fórmula de Metro Lineal (ML) que calcule también en caso de:\n** Cuando se realice el calculo de componentes de un producto cuya valorización se debe definir Ancho y Alto (por si tiene elementos con magnitudes de Metro Cuadrado -M2-)\n** Cuando tenga algún componente que se refiera exclusivamente al Alto o Al Ancho, en cuyo caso se debe administrar el uso a través del CoeficienteAncho y CoeficienteAlto.[[File:warning-icon-hi.png|20px]]\n* [[PROC:CalculoMedidaReal]]. Se agrega la función para facilitar el cálculo de la medida real (con respecto al Vano) para la información para Producción.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120507\'\'\'\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección posicion botones ejecución. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Corrección alineamiento lbl Filtro. Ok.\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:Productos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabularXProceso]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:PrecioTabuladoNormal]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXProducto]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:CambioMasivo]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:ComposicionProductos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado de Control de Navegación. Ok\n* [[FORM:GestionMasivaXElementos]]. Modificación. Agregado BoxControls, Activación de filtro. Ok\n\'\'\'Release 20120424\'\'\'\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección de Formulas.[[File:warning-icon-hi.png|20px]]\n\'\'\'Release 20120409\'\'\'\n* [[FORM:Presupuesto]]. Reemplazo de Iconos operativos por gráficos. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Copia de Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Proceso de Filtro de Presupuestos con Boton On/Off. Nuevo. Ok\n* [[FORM:Presupuesto]]. Agregado de Hide/UnHide del Bloque de Parámetros de Elementos. Nuevo. Ok\n* [[TABLA:Precios]]. Reducción de decimales por cálculo automático de precios. Modificado. Ok.\n* [[FORM:Contactos]]. Reemplazo del Formulario por otro Diseño. Nuevo. Ok.\n* [[FORM:Contactos]]. Agregado de Proceso de Sugerencia de Contacto. Nuevo. Ok.\n* [[FORM:PrecioTabularNormal]]. Cambio de formato de campos de precios debido al cambio de estructura. Modificado. Ok.\n* [[FORM:MasivoCoeficientesActualizacion]]. Agregado de Formulario. Nuevo. Ok.\n* [[FORM:Productos]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n** Agregado de Esquema de Filtro.\n** Agregado de Hide/UnHide del Bloque de Filtro.\n* Corrección \"On Error\" en Acceso inicial a DB con 3 repeticiones posibles. Nuevo. Ok.\n* [[FORM:Presupuesto]]. Modificación. Corrección de los procesos de envío directo de correo al cliente. Ok.\n* [[FORM:Presupuesto]]. Modificación. Agregado del proceso de Aprobación de Presupuesto dentro del mismo formulario de ingreso / consulta para facilitar el proceso administrativo. Ok.\n* [[TABLA:Productos]]. Modificación. Agregado del atributo Reposicion. Ok. Enviado a Batch de Actualización de DB.\n* [[FORM:Productos]]. Modificación. Agregado del atributo Reposicion. Ok\n* [[FORM:Productos]]. Nuevo. Agregado de control tipo tabla en Filtro para búsqueda rápida. Ok\n* [[FORM:Presupuesto]]. Cambio de Relación entre DetallePresupuesto / Detalle Producto. Agregado de valores de Alto y Ancho. [[File:warning-icon-hi.png|20px]]\n* [[PROC:AltaItemPresupuesto]]. Modificacion. Cambio de esquema para incorporar subitems.\n* [[PROC:CalculoPrecio]]. Nuevo. Procedimiento para solo establecer el cálculo sin buscar los valores necesarios en [[VISTA:valprodadic]]\n\'\'\'Release 20120328\'\'\'\n* [[FORM:Presupuesto]]. Chequeo de Eliminación de Elemento Básico en Detalle de Producto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Chequeo de incorporación de Elementos restantes. Modificado. Ok\n* [[FORM:Presupuesto]]. Imposibilidad de modificar un Elemento básico en un Presupuesto. Nuevo. Ok\n* [[FORM:Presupuesto]]. Cambio de esquema de Eventos en la cascada de subformularios. Modificado. Ok\n* [[FORM:Presupuesto]]. Incorporación de Botón de Actualización de Precios. Nuevo. Ok.\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PrecioTabularXProceso]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:GestionMasivaPorProducto]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Cambio de Esquema de Filtro Inicial. Nuevo. Ok\n* [[FORM:PreciosGeneral]]. Boton de limpieza campo Filtro. Nuevo. Ok\n* [[FORM:ProductosElementos]]. Eliminación Campo MarkUP. Modificado. Ok.\n* [[FORM:Contactos]]. Rediseño. Nuevo. En proceso de desarrollo.\n* Varios: Corrección de Acceso a URL de imagenes sobreimpresas de botones de acción. Correr carpeta \"Graficos\" como subdirectorio del main.\n\'\'\'Release 20120112\'\'\'\n* Activación de Wiki\n* Desarrollo y test de [[TRIGGER:Alta_Productos]]\n* Modificación de [[VISTA:visindetpre]]\n* Modificación de [[TABLA:composicion]]\n** Default values para Coeficientes Alto/Ancho y Offset Alto/Ancho\n\'\'\'Release 20120113\'\'\'\n* Alta Formulario Presupuesto: Aprobación\n** Por el período de prueba se visualizan todos los valores de VidQuoteEstado.\n* Alta Formulario Presupuestos Aprobados\n* Modificación Formulario Presupuesto: Alta + Pendientes\n** Solo se visualizarán los VidQuoteEstado<>1\n* Modificación de Mantenimiento>Productos\n** Control de ingreso de Magnitudes\n* Test Formulario Presupuesto\n** Errores generados por combinación padre-hijo-nieto en el esquema de VidQuoteEstado<>1.<br/><strike>El error estaba dado porque cuando daba de alta el registro de VidQuoten1 con VidQuoteEstado=NULL, grababa el registro saltaba al subformulario (bug?) pero no tenía referencia posible ya que se encontraba vigente el filtro VidQuoteEstado<>1 y perdía el registro padre, entonces duplicaba los registros hijo y generaba error de insert record por duplicación de clave.<br/>Se procedió a definir por default el valor 0 para el atributo VidQuoteEstado</Strike>\n\'\'\'Release 20120118\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se detecta la incompatibilidad en la integración de Triggers en MySQL - ODBC - LibreOffice.\n** Búsqueda de soluciones a partir de comportamiento de Eventos. Se cambia la gestión de resultados del despliegue de datos de Precios por código asociado al cambio de valores dentro del grid.\n** Se generan las funciones de usuario de Cálculo de Precio\n\'\'\'Release 20120119\'\'\'\n* Continua de 20120118\n** Se procede a eliminar los Triggers asociados a TABLA:vidquoten2\n** Se genera el procedimiento de Alta obligatoria de elementos asociados a producto\n\'\'\'Release 20120120\'\'\'\n* Modificación FORM:Presupuesto>Alta + Pendientes:\n** Se realiza código para reemplazar los Triggers asociados a TABLA:vidquoten2\n*** Se activan los eventos de BeforeAction para controlar la operación y AfterAction para ejecutar la operación. Se confeccionan procedimientos de control de registraciones\n*** Se activan los eventos de para la corrección de atributos de SUBFORM:DetalleProducto\n\'\'\'Release 20120122\'\'\'\n* Modificación de TABLA:contactos. Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación FORM:Contactos: Se agrega el atributo ContactoIDAbrv (\"Abreviatura\").\n* Modificación VISTA:Proveedores: Se agrega el atributo Abreviatura (\"Abreviatura\")\n* Modificación FORM:Productos: Se agregan los atributos Coeficientes Precios 1/2/3 y Proveedor.\n* Modificación FORM:Productos: Se corrige el ListBox de Magnitud y se cambia el ValueList por la consulta de la TABLA:Productos de las magnitudes existentes.\n\'\'\'Release 20120123\'\'\'\n* Control de Procedimiento de Impresión asignada (REPORT:Presupuesto Directo). OK.\n* Investigación sobre com.sun...executeDispatch\n* Investigación sobre Environmental Variables + MAC\n* Investigación sobre ExportToPDF Method.\n\'\'\'Release 20120124\'\'\'\n* Funcionalidad a botón de FORM:Presupuestos>Alta+Pendientes sobre envío de Correo.\n** Se detecta un bug en la integración Thunderbird - LibreOffice Basic: La bandera de \"No mostrar Dialogo\" no funciona.\n\'\'\'Release 20120125\'\'\'\n* Agregado de Agente Comercial\n** Agregado en [[TABLA:vidquoten1]]\n** Agregado en [[TABLA:contactos]]\n** Agregado de [[VISTA:acomerciales]]\n** Modificación de [[FORM:Contactos]].\n*** Agregado de Option\n** Modificación de [[FORM:Presupuestos>Alta+Pendientes]]\n*** Agregado de campo AComercial con Listbox en Abreviatura del ContactoID.\n\'\'\'Release 20120127\'\'\'\n* Modificacion [[TRIGGER:Alta_Producto]]\n** Agrega registro de Producto Básico en [[TABLA:composicion]].\n\'\'\'Release 20120203\'\'\'\n* Generación de [[REPORTE:Composicion.Productos]]\n* Generación de [[REPORTE:Lista.Precios.Vigentes]]\n* Generación de [[REPORTE:Contactos.Resumen]]\n* Modificación de [[REPORTE:Presupuesto]]\n** Ampliar Campo Producto\n** Cambiar variable filtro por \"_\"\n** Cambiar Dirección de Cliente.\n\'\'\'Release 20120206\'\'\'\n* Modificación [[TABLA:productos]]\n** Agregado ProductoPID:VARCHAR(15).\n** Identifica el código puente del proveedor para hacer el pedido correspondiente\n* Modificación [[FORM:productos]]\n** Agregado de campo de código puente','utf-8'),(558,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120901\'\'\'\n* [[FORM:Presupuesto]]. Cambio de diseño.\n* [[TABLA:precios]]. Agrega atributo para identificar el usuario del último cambio.\n* [[FORM:PreciosTabularNormal]]. Modificación. Agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:PreciosGeneral]]. Modificación. Ajustes de forma y agregado de columna de Usuario Evento.\n* [[FORM:ConsumoMasivoPrecios]]. Modificacion. Ajustes de forma y agregado de columnas a la vista de la tabla. Fecha de última modificación y Usuario.\n* [[FORM:Contactos]]. Ajuste y Rediseño. Se colocó el tipo de contacto en primer lugar para poder utilizar la función de sugerencia de código de contacto. Se rediseñó la función de sugerencia de código de contacto para que abarque todos los tipos de contactos.\n* [[VISTA:clientes]]. Cambio de condicion de la [[TABLA:contactos]] por cambio de tipo de variable del tag de clientes y el agregado de Coeficiente de MarkUp.\n* [[TABLA:telemecomp]]. Alta de Tabla.\n* [[FORM:ComposicionMasivoxProducto]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Modificación. Se modificó el orden y el tipo de control de atributo ElementoPM\n* [[FORM:ComposicionProductoElemento]]. Modificacion. Se cambió el tipo de lista de control del atributo ElementoPM\n* [[FORM:CopiaComposicion]]. Corrección. Se actualizó la [[MACRO:CopiaComposicion]] para fijar posicion sobre la decisión de copiar datos anteriores\n* [[PROC:DuplicaProductoCompo]]. Se agrega el parámetro de descripción del producto destino.\n* [[TABLA:composicion]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[FORM:ComposicionMasivoxProducto]]. Se edita para que adapte el ingreso del atributo Composic. Luego de las pruebas de test, la eliminación de un registro de Producto/Elemento similar, eliminaba todos los iguales.\n* [[TABLA:vidquoten3]]. Agrega atributo ComposicID autoincremental para diferenciar aquellos que están duplicados.\n* [[TABLA:vidquoten3tmp]]. Agrega atributo ComposicID para diferenciar aquellos que están duplicados.\n* [[PROC:AltaItemPresupuestoTmp]]. Se revisó e introdujeron los cambios asociados a la incorporación del atributo ComposicID de las [[TABLA:vidquoten3tmp]] y [[TABLA:vidquoten3]]\n* [[PROC:ActualizaPreciosTabular]]. Modificación. Corrección / Verificación de Fórmulas del Release 20120424.[[File:warning-icon-hi.png|20px]]\n* [[PROC:GrabaItemPresupuestoTmp]]. Generación para cerrar el círculo de edición de componentes durante el presupuesto.\n* [[PROC:ResetEdicionItemTmp]]. Creación para eliminar las registraciones temporarias en [[TABLA:vidquoten3tmp]]\n* [[FORM:Presupuesto]]. Cambios\n** Se habilita la posibilidad de solo consulta para todos los Presupuestos Aprobados con [[MACRO:ControlFormPresupuesto]].\n** Se limita la posibilidad de eliminar Presupuesto / Producto para Presupuestos Aprobados y se habilita el LOC (Last Opportunity Check) con [[MACRO:ConfirmaDeletePresupuesto]]\n** Chequeos [[FORM: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\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'),(559,'== Descripción ==\nDespliega cartel indicador de Presupuesto Expirado en [[FORM:Presupuesto]]. Se asocia a [[MACRO:ControlFormPresupuesto]]\n== Composición ==\nTABLA:contactos\nFORM:Presupuesto\n== Código ==\n<pre>\n</pre>\n== Bitácora ==\n*20120911\n**Cambio de macro por diseño de [[FORM:Presupuesto]]\n<small><pre>\nSub PresupuestoExpirado (oEvent As Object)\n\nDim oForm		As Object\nDim oContactoID	As String\nDim oExpirado	As String\nDim oVigencia	As Integer\n\'Dim oFechaPresu As String\n\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")\n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n	if Not(oForm.IsNew) Then\n		oExpirado	= \"\"\n		oCondicion	= \"\"\n		\'oContactoID	= oForm.getByName(\"txtVidQuoteCliente\").CurrentValue\n		\'oFechaPresu	= CDatefromISO(oForm.getByName(\"fmtVidQuoteFecha\").CurrentValue)\n		oContactoID	= oForm.Columns.getByName(\"VidQuoteCliente\").getString()\n		oFecha		= oForm.Columns.getByName(\"VidQuoteFecha\").getDate()\n		oFechaPresu	= DateSerial(oFecha.year,oFecha.Month,oFecha.day)\n		oCondicion	= oCondicion & \"ContactoID=\"&chr(39)& oContactoID &chr(39)\n		oVigencia	= Val(QuerySimple(\"VigenciaDocs\",\"\",\"contactos\",oCondicion,\"Integer\"))\n		oDiferencia	= DateDiff(\"d\",oFechaPresu,date())\n		if oDiferencia > oVigencia Then\n			oForm.getByName(\"Expirado\").setString(\"Expirado\")\n		else\n			oForm.getByName(\"Expirado\").setString(\"Vigente\")\n		end if\n	end if\nend Sub\n</pre></small>\n== Uso ==\n[[FORM:Presupuesto]]\n[[MACRO:ControlFormPresupuesto]]','utf-8'),(560,'== Descripción ==\nDespliega cartel indicador de Presupuesto Expirado en [[FORM:Presupuesto]]. Se asocia a [[MACRO:ControlFormPresupuesto]]\n== Composición ==\n*[[TABLA:contactos]]\n*[[FORM:Presupuesto]]\n\n== Código ==\n<pre>\n</pre>\n== Bitácora ==\n*20120911\n**Cambio de macro por diseño de [[FORM:Presupuesto]]\n<small><pre>\nSub PresupuestoExpirado (oEvent As Object)\n\nDim oForm		As Object\nDim oContactoID	As String\nDim oExpirado	As String\nDim oVigencia	As Integer\n\'Dim oFechaPresu As String\n\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")\n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n	if Not(oForm.IsNew) Then\n		oExpirado	= \"\"\n		oCondicion	= \"\"\n		\'oContactoID	= oForm.getByName(\"txtVidQuoteCliente\").CurrentValue\n		\'oFechaPresu	= CDatefromISO(oForm.getByName(\"fmtVidQuoteFecha\").CurrentValue)\n		oContactoID	= oForm.Columns.getByName(\"VidQuoteCliente\").getString()\n		oFecha		= oForm.Columns.getByName(\"VidQuoteFecha\").getDate()\n		oFechaPresu	= DateSerial(oFecha.year,oFecha.Month,oFecha.day)\n		oCondicion	= oCondicion & \"ContactoID=\"&chr(39)& oContactoID &chr(39)\n		oVigencia	= Val(QuerySimple(\"VigenciaDocs\",\"\",\"contactos\",oCondicion,\"Integer\"))\n		oDiferencia	= DateDiff(\"d\",oFechaPresu,date())\n		if oDiferencia > oVigencia Then\n			oForm.getByName(\"Expirado\").setString(\"Expirado\")\n		else\n			oForm.getByName(\"Expirado\").setString(\"Vigente\")\n		end if\n	end if\nend Sub\n</pre></small>\n== Uso ==\n[[FORM:Presupuesto]]\n[[MACRO:ControlFormPresupuesto]]','utf-8'),(561,'== Descripción ==\nDespliega cartel indicador de Presupuesto Expirado en [[FORM:Presupuesto]]. Se asocia a [[MACRO:ControlFormPresupuesto]]\n== Composición ==\n*[[TABLA:contactos]]\n*[[FORM:Presupuesto]]\n\n== Código ==\n<pre>\n</pre>\n== Bitácora ==\n*20120911\n**Cambio de macro por diseño de [[FORM:Presupuesto]]\n<small><pre>\nSub PresupuestoExpirado (oEvent As Object)\n\nDim oForm		As Object\nDim oContactoID	As String\nDim oExpirado	As String\nDim oVigencia	As Integer\n\'Dim oFechaPresu As String\n\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")\n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n	if Not(oForm.IsNew) Then\n		oExpirado	= \"\"\n		oCondicion	= \"\"\n		\'oContactoID	= oForm.getByName(\"txtVidQuoteCliente\").CurrentValue\n		\'oFechaPresu	= CDatefromISO(oForm.getByName(\"fmtVidQuoteFecha\").CurrentValue)\n		oContactoID	= oForm.Columns.getByName(\"VidQuoteCliente\").getString()\n		oFecha		= oForm.Columns.getByName(\"VidQuoteFecha\").getDate()\n		oFechaPresu	= DateSerial(oFecha.year,oFecha.Month,oFecha.day)\n		oCondicion	= oCondicion & \"ContactoID=\"&chr(39)& oContactoID &chr(39)\n		oVigencia	= Val(QuerySimple(\"VigenciaDocs\",\"\",\"contactos\",oCondicion,\"Integer\"))\n		oDiferencia	= DateDiff(\"d\",oFechaPresu,date())\n		if oDiferencia > oVigencia Then\n			oForm.getByName(\"Expirado\").setString(\"Expirado\")\n		else\n			oForm.getByName(\"Expirado\").setString(\"Vigente\")\n		end if\n	end if\nend Sub\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:ControlFormPresupuesto]]','utf-8'),(562,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(563,'== Descripción ==\nEjecuta controles de:\n*Licencia\n*ListBoxes de Productos\n*Asigna Defaults\n== Composición ==\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Bitácora ==\n*20120912\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Uso ==','utf-8'),(564,'== Descripción ==\nEjecuta controles de:\n*Licencia\n*ListBoxes de Productos\n*Asigna Defaults\n== Composición ==\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Bitácora ==\n*20120912\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(565,'== Descripción ==\nEjecuta controles de:\n*Licencia\n<strike>*ListBoxes de Productos</strike>(20120912)\n*Asigna Defaults\n\n== Composición ==\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Bitácora ==\n*20120912\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(566,'== Descripción ==\nEjecuta controles de:\n*Licencia\n<strike>*ListBoxes de Productos</strike> (20120912)\n*Asigna Defaults\n\n== Composición ==\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Bitácora ==\n*20120912\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(567,'== Descripción ==\nEjecuta controles de:\n*Licencia\n*<strike>ListBoxes de Productos</strike> (20120912)\n*Asigna Defaults\n\n== Composición ==\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Bitácora ==\n*20120912\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(568,'== Descripción ==\nEjecuta controles de:\n*Licencia\n*<strike>ListBoxes de Productos</strike> (20120912)\n*Asigna Defaults\n\n== Composición ==\n*[[MACRO:ChequeoValorLicenciaOK]]\n\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Bitácora ==\n*20120912\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(569,'== Descripción ==\nChequea que haya pasado correctamente el acceso a la base de datos y que no esté en modalidad de desarrollo ([[VARG:oCheckEstadoLicencia]])\n== Composición ==\n== Código ==\n<small><pre>\nFunction ChequeoValorLicenciaOK(oEvent as Object)\n\nDim oMensaje 	As String\n\n	\'MsgBox(\"Licenciamiento= \" & CStr(oEstadoLicenciamientoOK))\n	\'MsgBox(\"Cambio a 0\")\n	\'oEstadoLicenciamientoOK=0\n	if oEstadoLicenciamientoOK=1 Then\n		\'MsgBox(\"Licencia Ok\")\n	else\n		oMensaje = \"\"\n		oMensaje = oMensaje + \"Chequeo de Licencia Erronea.\" + Chr(13)\n		oMensaje = oMensaje + \"Solicite sea instalado nuevamente por CloudOffice (R)\" + Chr(13)\n		oMensaje = oMensaje + \"Mensajes a info@cloudoffice.com.ar\" + Chr(13)\n		MsgBox(oMensaje, 16, \"Error Fatal\")\n		if oCheckEstadoLicencia Then\n			oEvent.Source.ActiveConnection.close()\n			StarDesktop.Terminate()\n		else\n			oEstadoLicenciamientoOK=1\n		end if\n	endif\n	\'MsgBox(\"ChequeoValorLicenciaOK: Fin\")\n\nend Function\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(570,'== Descripción ==\nChequea que haya pasado correctamente el acceso a la base de datos y que no esté en modalidad de desarrollo ([[VARG:oCheckEstadoLicencia]])\n== Composición ==\n== Código ==\n<small><pre>\nFunction ChequeoValorLicenciaOK(oEvent as Object)\n\nDim oMensaje 	As String\n\n	\'MsgBox(\"Licenciamiento= \" & CStr(oEstadoLicenciamientoOK))\n	\'MsgBox(\"Cambio a 0\")\n	\'oEstadoLicenciamientoOK=0\n	if oEstadoLicenciamientoOK=1 Then\n		\'MsgBox(\"Licencia Ok\")\n	else\n		oMensaje = \"\"\n		oMensaje = oMensaje + \"Chequeo de Licencia Erronea.\" + Chr(13)\n		oMensaje = oMensaje + \"Solicite sea instalado nuevamente por CloudOffice (R)\" + Chr(13)\n		oMensaje = oMensaje + \"Mensajes a info@cloudoffice.com.ar\" + Chr(13)\n		MsgBox(oMensaje, 16, \"Error Fatal\")\n		if oCheckEstadoLicencia Then\n			oEvent.Source.ActiveConnection.close()\n			StarDesktop.Terminate()\n		else\n			oEstadoLicenciamientoOK=1\n		end if\n	endif\n	\'MsgBox(\"ChequeoValorLicenciaOK: Fin\")\n\nend Function\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[MACRO:Main]]\n*[[FORM:Presupuesto]]','utf-8'),(571,'== Descripción ==\nChequea que haya pasado correctamente el acceso a la base de datos y que no esté en modalidad de desarrollo ([[VARG:oCheckEstadoLicencia]])\n== Composición ==\n== Código ==\n<small><pre>\nFunction ChequeoValorLicenciaOK(oEvent as Object)\n\nDim oMensaje 	As String\n\n	\'MsgBox(\"Licenciamiento= \" & CStr(oEstadoLicenciamientoOK))\n	\'MsgBox(\"Cambio a 0\")\n	\'oEstadoLicenciamientoOK=0\n	if oEstadoLicenciamientoOK=1 Then\n		\'MsgBox(\"Licencia Ok\")\n	else\n		oMensaje = \"\"\n		oMensaje = oMensaje + \"Chequeo de Licencia Erronea.\" + Chr(13)\n		oMensaje = oMensaje + \"Solicite sea instalado nuevamente por CloudOffice (R)\" + Chr(13)\n		oMensaje = oMensaje + \"Mensajes a info@cloudoffice.com.ar\" + Chr(13)\n		MsgBox(oMensaje, 16, \"Error Fatal\")\n		if oCheckEstadoLicencia Then\n			oEvent.Source.ActiveConnection.close()\n			StarDesktop.Terminate()\n		else\n			oEstadoLicenciamientoOK=1\n		end if\n	endif\n	\'MsgBox(\"ChequeoValorLicenciaOK: Fin\")\n\nend Function\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[MACRO:Main]]\n*[[MACRO:EventoWhenLoadingFromCabecera]]\n*[[FORM:Presupuesto]]','utf-8'),(572,'== Descripción ==\nEjecuta controles de:\n*Licencia\n*<strike>ListBoxes de Productos</strike> (20120912)\n*Asigna Defaults\n\n== Composición ==\n*[[MACRO:ChequeoValorLicenciaOK]]\n\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n== Bitácora ==\n*20120911\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n*20120912\n**Optimización por nuevo diseño de [[FORM:Presupuesto]]\n\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(573,'== Descripción ==\nEjecuta controles de:\n*Licencia\n*<strike>ListBoxes de Productos</strike> (20120912)\n*Asigna Defaults\n\n== Composición ==\n*[[MACRO:ChequeoValorLicenciaOK]]\n\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oForm	 		As Object\n\n	\'EventoWhenLoadingFromCabecera - Inicio\n    ChequeoValorLicenciaOK(oEvent)\n	oForm 	= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n	\'EventoWhenLoadingFromCabecera - Fin\n	\nend Sub\n\'***********************************************************\n</pre></small>\n\n== Bitácora ==\n*20120911\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n*20120912\n**Optimización por nuevo diseño de [[FORM:Presupuesto]]\n\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(574,'== Descripción ==\nEjecuta controles de:\n*Licencia\n*<strike>ListBoxes de Productos</strike> (20120912)\n*Asigna Defaults\n\n== Composición ==\n*[[MACRO:ChequeoValorLicenciaOK]]\n\n== Código ==\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oForm	 		As Object\n\n	\'EventoWhenLoadingFromCabecera - Inicio\n	ChequeoValorLicenciaOK(oEvent)\n	oForm 	= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	\'Inicialización de Tareas y objetos\n	Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n	\'EventoWhenLoadingFromCabecera - Fin\n	\nend Sub\n\'***********************************************************\n</pre></small>\n\n== Bitácora ==\n*20120911\n**Cambio de Diseño [[FORM:Presupuestos]]\n<small><pre>\n\'***********************************************************\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oDocument 		As Object\nDim oForm	 		As Object\nDim oCampo			As Object\nDim oSubForm 		As Object\nDim oSubSubForm 	As Object\nDim oSubSubFormGrid	As Object\nDim oListBox		As Object\n\n    \'ChequeaLicenciaOK\n    \'MsgBox(\"EventoWhenLoadingFromCabecera: Inicio\")\n    \'MsgBox(\"Call ChequeoValorLicenciaOK\")\n    ChequeoValorLicenciaOK(oEvent)\n\n    oDocument 		= ThisComponent\n	oForm 			= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm 		= oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm 	= oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")\n	\n	oListBox 		= oSubSubFormGrid.getByName(\"txtElementoID\")\n	oListBox.ListSource = Array(\"\")\n	oListBox.Refresh\n\n    oEstadoListBoxDetalleProducto	= 0\n    \'Inicialización de Tareas y objetos\n    Hoy(oForm,oForm.getbyname(\"fmtVidQuoteFecha\"))\n    \'MsgBox(\"Call NewResetListBox from EventoWhenLoadingFromCabecera\")\n	NewResetListBoxDetalleProducto(oEvent)\n	\'MsgBox(\"EventoWhenLoadingFromCabecera: Fin\")\n	\nend Sub\n\'***********************************************************\n</pre></small>\n*20120912\n**Optimización por nuevo diseño de [[FORM:Presupuesto]]\n\n== Uso ==\n*[[FORM:Presupuesto]]\n**Form:Cabecera','utf-8'),(575,'== 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'),(576,'== Descripción ==\nFunción para aplicar ante acción de eliminar registro en [[TABLA:vidquoten1]] y [[TABLA:vidquoten2]] dentro de [[FORM:Presupuesto]]\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== Uso ==','utf-8'),(577,'== 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== Uso ==\n*[[FORM:Presupuesto]]\n**EVNT:ConfirmDelete','utf-8'),(578,'== 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'),(579,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\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\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'),(580,'=== Estructuras de Datos ===\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:AltaItemPresupuestoTmp]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(581,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>','utf-8'),(582,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\n* [[FORM:Presupuesto]]. Corrección. El [[CTRL:Presupuesto.ListaProducto]] pasa a depender de [[CTRL:Presupuesto.Cabecera]]\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\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'),(583,'== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n<small><pre>\n</pre></small>\n== Bitácora ==\n*20120914\n**Cambio por rediseño [[FORM:Presupuesto]]\n<small><pre>\nSub EventoBRCDetallePresupuesto (oEvent as Object)\n\nDim oDocument as Object\nDim oForm as Object\nDim oSubForm as Object\nDim oSubSubForm as Object\nDim oSubSubFormGrid as Object\nDim SQLStatement as Variant\nDim oNombreImpControlador as String\nDim oNombreImpFormularios as String\nDim oVidQuoteProdID as String\nDim aVidQuoteProdID as String\nDim oMensaje as String\nDim verifica\nDim strSQLSearch as String\nDim oContadorRegistros as Double\n\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Inicio\")\n	oDocument = ThisComponent\n	oForm = ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm = oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm = oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")  \n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n\n	If (oEvent.Source.ImplementationName=oNombreImpFormularios) Then\n	  	\'MsgBox(\"oEvent.Source.ImplementationName=oNombreImpFormularios\")\n		\'if oEvent.Source.Row = 0 Then\n	    if oEvent.Source.RowCount = 0 Then\n		    oMensaje=\"First Time Call in Loading: \"\n		    oMensaje=oMensaje & oEvent.Source.ImplementationName\n		    \'MsgBox(oMensaje)\n	    else\n	    	\'MsgBox(\"oEvent.Source.RowCount != 0\")\n			if oEvent.Source.RowCount > 0 Then\n			   \n				\'Read of current RowSet from DetallePresupuesto\n				if oEvent.Source.Row <> 0 Then \'First Read of Data\n					\'MRI oSubForm\n					oVidQuoteID=oSubForm.Columns.getByName(\"VidQuoteID\").getInt()\n					oVidQuoteLPre=oSubForm.Columns.getByName(\"VidQuoteLPre\").getInt()\n					oVidQuoteItem=oSubForm.Columns.getByName(\"VidQuoteItem\").getInt()\n					oVidQuoteProdID=oSubForm.Columns.getByName(\"VidQuoteProdID\").getString()\n					oVidQuoteProdCantidad=oSubForm.Columns.getByName(\"VidQuoteProdCantidad\").getInt()\n					oVidQuoteAncho=oSubForm.Columns.getByName(\"VidQuoteAncho\").getInt()\n					oVidQuoteAlto=oSubForm.Columns.getByName(\"VidQuoteAlto\").getInt()\n			\n					Select Case oEstadoRegistroDetallePresupuesto\n					    Case 1		\'It is an Elements massive insert\n							\'VidQuoteN3	massive insert\n							\'MsgBox(\"BP001\")\n							oConnection = oEvent.Source.ActiveConnection\n							SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteLPre)\n							SQLStatement.setint(3,oVidQuoteItem)\n							SQLStatement.setstring(4,oVidQuoteProdID)\n							SQLStatement.setstring(5,oVidQuoteProdCantidad)	    \n							SQLStatement.setint(6,oVidQuoteAncho)\n							SQLStatement.setint(7,oVidQuoteAlto)\n							SQLStatement.execute()\n							SQLStatement.close()\n							\n							\'VidQuoteN4 massive insert\n							oMensaje = \"\"\n							oMensaje = oMensaje & \"BP002\"\n							oMensaje = oMensaje & \"Presupuesto: \" & CStr(oVidQuoteID) & Chr(13)\n							oMensaje = oMensaje & \"Item       : \" & CStr(oVidQuoteItem) & Chr(13)\n							oMensaje = oMensaje & \"Producto   : \" & oVidQuoteProdID & Chr(13)\n							oMensaje = oMensaje & \"Elemento   : \" & \"12345678\" & Chr(13)\n							\'MsgBox(oMensaje)\n							\n							SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteItem)\n							SQLStatement.setstring(3,oVidQuoteProdID)\n							SQLStatement.setstring(4,\"12345678\")\n							\'Set pCondicion for Procedure Inheritance depending on previous REM	    \n							SQLStatement.setint(5,2)\n							\'\n							SQLStatement.execute()\n							\'MsgBox(\"BP003\")\n							SQLStatement.close()\n				\n						Case 2		\'It is an Product Quote Data update\n							strSQLSearch = \"SELECT Count(*) FROM vidquoten3 WHERE \"\n							strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n							strSQLSearch = strSQLSearch & \" AND \"\n							strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n							\n							oConnection = oEvent.Source.ActiveConnection       \n							SQLStatement = oConnection.createStatement()\n							verifica = SQLStatement.executeQuery(strSQLSearch)\n							verifica.Next()						\'Lee la primera línea del query\n							oContadorRegistros=verifica.GetDouble(1)			\'Valor Anterior\n							SQLStatement.close()\n				\n							if oContadorRegistros > 0 Then\n							\n								strSQLSearch = \"SELECT VidQuoteProdID FROM vidquoten3 WHERE \"\n								strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n								strSQLSearch = strSQLSearch & \" AND \"\n								strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n								strSQLSearch = strSQLSearch & \" GROUP BY VidQuoteID,VidQuoteItem\"\n							\n								oConnection = oEvent.Source.ActiveConnection        \n							    SQLStatement = oConnection.createStatement()\n							    verifica = SQLStatement.executeQuery(strSQLSearch)\n							    verifica.Next()						\'Lee la primera línea del query\n							    aVidQuoteProdID=verifica.GetString(1)			\'Valor Anterior\n							    SQLStatement.close()		 \n							 \n							    if aVidQuoteProdID <> oVidQuoteProdID Then 	\'Check if the same product code\n							    \n									\'Delete previous records due to change product code\n								  			\n									strSQLSearch = \"DELETE FROM vidquoten3 WHERE \"\n									strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									strSQLSearch = strSQLSearch & \" AND \"\n									strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n									\n									\'Insert New records -Elements- with new Quote Product Code\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setstring(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									SQLStatement.close()\n									\n									\'VidQuoteN4 massive insert with new Quote Product Code\n									\n									SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteItem)\n									SQLStatement.setstring(3,oVidQuoteProdID)\n									SQLStatement.setstring(4,\"12345678\")	    \n									SQLStatement.setint(5,2)\n									SQLStatement.execute()\n									SQLStatement.close()\n							\n							    else\n							   		\'It is the same Product Code. Update VidQuoten3 Columns except Product Code\n							   		\n									\'strSQLSearch = \"\"\n									\'strSQLSearch = strSQLSearch & \"UPDATE vidquoten3 AS T3 SET \"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteProdCantidad = \" & CStr(oVidQuoteProdCantidad) & \",\"			\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAncho = \" & CStr(oVidQuoteAncho) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAlto = \"  & CStr(oVidQuoteAlto) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecio = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre),\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecioP = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre) * \"&CStr(oVidQuoteProdCantidad)\n									\'strSQLSearch = strSQLSearch & \" WHERE \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									\'strSQLSearch = strSQLSearch & \" AND \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosProductoProposal(?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setint(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									\'SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n								end if\n								MsgBox(\"Recuerde revisar/actualizar valores adicionales\")\n							end if\n							\'MsgBox(\"Fin IF Nº4\")\n						Case 3\n							\'MsgBox(\"Elimina\"). Design and Complete MakingUp by TriggerTiger\n					end Select\n				end if\n				oEstadoRegistroDetallePresupuesto=0\n				\'MsgBox(\"Fin Case\")\n			end if\n			\'MsgBox(\"Fin IF Nº3\")\n		end if\n		\'MsgBox(\"Fin IF Nº2\")\n	end if\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Fin\")\nend Sub\n</pre></small>\n== Uso ==','utf-8'),(584,'== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n<small><pre>\n</pre></small>\n== Bitácora ==\n*20120914\n**Cambio por rediseño [[FORM:Presupuesto]]\n<small><pre>\nSub EventoBRCDetallePresupuesto (oEvent as Object)\n\nDim oDocument as Object\nDim oForm as Object\nDim oSubForm as Object\nDim oSubSubForm as Object\nDim oSubSubFormGrid as Object\nDim SQLStatement as Variant\nDim oNombreImpControlador as String\nDim oNombreImpFormularios as String\nDim oVidQuoteProdID as String\nDim aVidQuoteProdID as String\nDim oMensaje as String\nDim verifica\nDim strSQLSearch as String\nDim oContadorRegistros as Double\n\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Inicio\")\n	oDocument = ThisComponent\n	oForm = ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm = oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm = oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")  \n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n\n	If (oEvent.Source.ImplementationName=oNombreImpFormularios) Then\n	  	\'MsgBox(\"oEvent.Source.ImplementationName=oNombreImpFormularios\")\n		\'if oEvent.Source.Row = 0 Then\n	    if oEvent.Source.RowCount = 0 Then\n		    oMensaje=\"First Time Call in Loading: \"\n		    oMensaje=oMensaje & oEvent.Source.ImplementationName\n		    \'MsgBox(oMensaje)\n	    else\n	    	\'MsgBox(\"oEvent.Source.RowCount != 0\")\n			if oEvent.Source.RowCount > 0 Then\n			   \n				\'Read of current RowSet from DetallePresupuesto\n				if oEvent.Source.Row <> 0 Then \'First Read of Data\n					\'MRI oSubForm\n					oVidQuoteID=oSubForm.Columns.getByName(\"VidQuoteID\").getInt()\n					oVidQuoteLPre=oSubForm.Columns.getByName(\"VidQuoteLPre\").getInt()\n					oVidQuoteItem=oSubForm.Columns.getByName(\"VidQuoteItem\").getInt()\n					oVidQuoteProdID=oSubForm.Columns.getByName(\"VidQuoteProdID\").getString()\n					oVidQuoteProdCantidad=oSubForm.Columns.getByName(\"VidQuoteProdCantidad\").getInt()\n					oVidQuoteAncho=oSubForm.Columns.getByName(\"VidQuoteAncho\").getInt()\n					oVidQuoteAlto=oSubForm.Columns.getByName(\"VidQuoteAlto\").getInt()\n			\n					Select Case oEstadoRegistroDetallePresupuesto\n					    Case 1		\'It is an Elements massive insert\n							\'VidQuoteN3	massive insert\n							\'MsgBox(\"BP001\")\n							oConnection = oEvent.Source.ActiveConnection\n							SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteLPre)\n							SQLStatement.setint(3,oVidQuoteItem)\n							SQLStatement.setstring(4,oVidQuoteProdID)\n							SQLStatement.setstring(5,oVidQuoteProdCantidad)	    \n							SQLStatement.setint(6,oVidQuoteAncho)\n							SQLStatement.setint(7,oVidQuoteAlto)\n							SQLStatement.execute()\n							SQLStatement.close()\n							\n							\'VidQuoteN4 massive insert\n							oMensaje = \"\"\n							oMensaje = oMensaje & \"BP002\"\n							oMensaje = oMensaje & \"Presupuesto: \" & CStr(oVidQuoteID) & Chr(13)\n							oMensaje = oMensaje & \"Item       : \" & CStr(oVidQuoteItem) & Chr(13)\n							oMensaje = oMensaje & \"Producto   : \" & oVidQuoteProdID & Chr(13)\n							oMensaje = oMensaje & \"Elemento   : \" & \"12345678\" & Chr(13)\n							\'MsgBox(oMensaje)\n							\n							SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteItem)\n							SQLStatement.setstring(3,oVidQuoteProdID)\n							SQLStatement.setstring(4,\"12345678\")\n							\'Set pCondicion for Procedure Inheritance depending on previous REM	    \n							SQLStatement.setint(5,2)\n							\'\n							SQLStatement.execute()\n							\'MsgBox(\"BP003\")\n							SQLStatement.close()\n				\n						Case 2		\'It is an Product Quote Data update\n							strSQLSearch = \"SELECT Count(*) FROM vidquoten3 WHERE \"\n							strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n							strSQLSearch = strSQLSearch & \" AND \"\n							strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n							\n							oConnection = oEvent.Source.ActiveConnection       \n							SQLStatement = oConnection.createStatement()\n							verifica = SQLStatement.executeQuery(strSQLSearch)\n							verifica.Next()						\'Lee la primera línea del query\n							oContadorRegistros=verifica.GetDouble(1)			\'Valor Anterior\n							SQLStatement.close()\n				\n							if oContadorRegistros > 0 Then\n							\n								strSQLSearch = \"SELECT VidQuoteProdID FROM vidquoten3 WHERE \"\n								strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n								strSQLSearch = strSQLSearch & \" AND \"\n								strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n								strSQLSearch = strSQLSearch & \" GROUP BY VidQuoteID,VidQuoteItem\"\n							\n								oConnection = oEvent.Source.ActiveConnection        \n							    SQLStatement = oConnection.createStatement()\n							    verifica = SQLStatement.executeQuery(strSQLSearch)\n							    verifica.Next()						\'Lee la primera línea del query\n							    aVidQuoteProdID=verifica.GetString(1)			\'Valor Anterior\n							    SQLStatement.close()		 \n							 \n							    if aVidQuoteProdID <> oVidQuoteProdID Then 	\'Check if the same product code\n							    \n									\'Delete previous records due to change product code\n								  			\n									strSQLSearch = \"DELETE FROM vidquoten3 WHERE \"\n									strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									strSQLSearch = strSQLSearch & \" AND \"\n									strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n									\n									\'Insert New records -Elements- with new Quote Product Code\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setstring(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									SQLStatement.close()\n									\n									\'VidQuoteN4 massive insert with new Quote Product Code\n									\n									SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteItem)\n									SQLStatement.setstring(3,oVidQuoteProdID)\n									SQLStatement.setstring(4,\"12345678\")	    \n									SQLStatement.setint(5,2)\n									SQLStatement.execute()\n									SQLStatement.close()\n							\n							    else\n							   		\'It is the same Product Code. Update VidQuoten3 Columns except Product Code\n							   		\n									\'strSQLSearch = \"\"\n									\'strSQLSearch = strSQLSearch & \"UPDATE vidquoten3 AS T3 SET \"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteProdCantidad = \" & CStr(oVidQuoteProdCantidad) & \",\"			\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAncho = \" & CStr(oVidQuoteAncho) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAlto = \"  & CStr(oVidQuoteAlto) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecio = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre),\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecioP = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre) * \"&CStr(oVidQuoteProdCantidad)\n									\'strSQLSearch = strSQLSearch & \" WHERE \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									\'strSQLSearch = strSQLSearch & \" AND \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosProductoProposal(?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setint(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									\'SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n								end if\n								MsgBox(\"Recuerde revisar/actualizar valores adicionales\")\n							end if\n							\'MsgBox(\"Fin IF Nº4\")\n						Case 3\n							\'MsgBox(\"Elimina\"). Design and Complete MakingUp by TriggerTiger\n					end Select\n				end if\n				oEstadoRegistroDetallePresupuesto=0\n				\'MsgBox(\"Fin Case\")\n			end if\n			\'MsgBox(\"Fin IF Nº3\")\n		end if\n		\'MsgBox(\"Fin IF Nº2\")\n	end if\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Fin\")\nend Sub\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(585,'== Descripción ==\nEjecuta las acciones adicionales a cada operación sobre los registros de [[TABLA:vidquoten2]] más allá de la acción en si sobre esos registros dentro del [[FORM:Presupuesto]]:\n*1:Insertar\n*2:Modificar\n*3:Eliminar\n\n== Biblioteca ==\n== Composición ==\n== Código ==\n<small><pre>\n</pre></small>\n== Bitácora ==\n*20120914\n**Cambio por rediseño [[FORM:Presupuesto]]\n<small><pre>\nSub EventoBRCDetallePresupuesto (oEvent as Object)\n\nDim oDocument as Object\nDim oForm as Object\nDim oSubForm as Object\nDim oSubSubForm as Object\nDim oSubSubFormGrid as Object\nDim SQLStatement as Variant\nDim oNombreImpControlador as String\nDim oNombreImpFormularios as String\nDim oVidQuoteProdID as String\nDim aVidQuoteProdID as String\nDim oMensaje as String\nDim verifica\nDim strSQLSearch as String\nDim oContadorRegistros as Double\n\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Inicio\")\n	oDocument = ThisComponent\n	oForm = ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm = oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm = oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")  \n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n\n	If (oEvent.Source.ImplementationName=oNombreImpFormularios) Then\n	  	\'MsgBox(\"oEvent.Source.ImplementationName=oNombreImpFormularios\")\n		\'if oEvent.Source.Row = 0 Then\n	    if oEvent.Source.RowCount = 0 Then\n		    oMensaje=\"First Time Call in Loading: \"\n		    oMensaje=oMensaje & oEvent.Source.ImplementationName\n		    \'MsgBox(oMensaje)\n	    else\n	    	\'MsgBox(\"oEvent.Source.RowCount != 0\")\n			if oEvent.Source.RowCount > 0 Then\n			   \n				\'Read of current RowSet from DetallePresupuesto\n				if oEvent.Source.Row <> 0 Then \'First Read of Data\n					\'MRI oSubForm\n					oVidQuoteID=oSubForm.Columns.getByName(\"VidQuoteID\").getInt()\n					oVidQuoteLPre=oSubForm.Columns.getByName(\"VidQuoteLPre\").getInt()\n					oVidQuoteItem=oSubForm.Columns.getByName(\"VidQuoteItem\").getInt()\n					oVidQuoteProdID=oSubForm.Columns.getByName(\"VidQuoteProdID\").getString()\n					oVidQuoteProdCantidad=oSubForm.Columns.getByName(\"VidQuoteProdCantidad\").getInt()\n					oVidQuoteAncho=oSubForm.Columns.getByName(\"VidQuoteAncho\").getInt()\n					oVidQuoteAlto=oSubForm.Columns.getByName(\"VidQuoteAlto\").getInt()\n			\n					Select Case oEstadoRegistroDetallePresupuesto\n					    Case 1		\'It is an Elements massive insert\n							\'VidQuoteN3	massive insert\n							\'MsgBox(\"BP001\")\n							oConnection = oEvent.Source.ActiveConnection\n							SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteLPre)\n							SQLStatement.setint(3,oVidQuoteItem)\n							SQLStatement.setstring(4,oVidQuoteProdID)\n							SQLStatement.setstring(5,oVidQuoteProdCantidad)	    \n							SQLStatement.setint(6,oVidQuoteAncho)\n							SQLStatement.setint(7,oVidQuoteAlto)\n							SQLStatement.execute()\n							SQLStatement.close()\n							\n							\'VidQuoteN4 massive insert\n							oMensaje = \"\"\n							oMensaje = oMensaje & \"BP002\"\n							oMensaje = oMensaje & \"Presupuesto: \" & CStr(oVidQuoteID) & Chr(13)\n							oMensaje = oMensaje & \"Item       : \" & CStr(oVidQuoteItem) & Chr(13)\n							oMensaje = oMensaje & \"Producto   : \" & oVidQuoteProdID & Chr(13)\n							oMensaje = oMensaje & \"Elemento   : \" & \"12345678\" & Chr(13)\n							\'MsgBox(oMensaje)\n							\n							SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteItem)\n							SQLStatement.setstring(3,oVidQuoteProdID)\n							SQLStatement.setstring(4,\"12345678\")\n							\'Set pCondicion for Procedure Inheritance depending on previous REM	    \n							SQLStatement.setint(5,2)\n							\'\n							SQLStatement.execute()\n							\'MsgBox(\"BP003\")\n							SQLStatement.close()\n				\n						Case 2		\'It is an Product Quote Data update\n							strSQLSearch = \"SELECT Count(*) FROM vidquoten3 WHERE \"\n							strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n							strSQLSearch = strSQLSearch & \" AND \"\n							strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n							\n							oConnection = oEvent.Source.ActiveConnection       \n							SQLStatement = oConnection.createStatement()\n							verifica = SQLStatement.executeQuery(strSQLSearch)\n							verifica.Next()						\'Lee la primera línea del query\n							oContadorRegistros=verifica.GetDouble(1)			\'Valor Anterior\n							SQLStatement.close()\n				\n							if oContadorRegistros > 0 Then\n							\n								strSQLSearch = \"SELECT VidQuoteProdID FROM vidquoten3 WHERE \"\n								strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n								strSQLSearch = strSQLSearch & \" AND \"\n								strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n								strSQLSearch = strSQLSearch & \" GROUP BY VidQuoteID,VidQuoteItem\"\n							\n								oConnection = oEvent.Source.ActiveConnection        \n							    SQLStatement = oConnection.createStatement()\n							    verifica = SQLStatement.executeQuery(strSQLSearch)\n							    verifica.Next()						\'Lee la primera línea del query\n							    aVidQuoteProdID=verifica.GetString(1)			\'Valor Anterior\n							    SQLStatement.close()		 \n							 \n							    if aVidQuoteProdID <> oVidQuoteProdID Then 	\'Check if the same product code\n							    \n									\'Delete previous records due to change product code\n								  			\n									strSQLSearch = \"DELETE FROM vidquoten3 WHERE \"\n									strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									strSQLSearch = strSQLSearch & \" AND \"\n									strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n									\n									\'Insert New records -Elements- with new Quote Product Code\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setstring(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									SQLStatement.close()\n									\n									\'VidQuoteN4 massive insert with new Quote Product Code\n									\n									SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteItem)\n									SQLStatement.setstring(3,oVidQuoteProdID)\n									SQLStatement.setstring(4,\"12345678\")	    \n									SQLStatement.setint(5,2)\n									SQLStatement.execute()\n									SQLStatement.close()\n							\n							    else\n							   		\'It is the same Product Code. Update VidQuoten3 Columns except Product Code\n							   		\n									\'strSQLSearch = \"\"\n									\'strSQLSearch = strSQLSearch & \"UPDATE vidquoten3 AS T3 SET \"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteProdCantidad = \" & CStr(oVidQuoteProdCantidad) & \",\"			\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAncho = \" & CStr(oVidQuoteAncho) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAlto = \"  & CStr(oVidQuoteAlto) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecio = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre),\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecioP = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre) * \"&CStr(oVidQuoteProdCantidad)\n									\'strSQLSearch = strSQLSearch & \" WHERE \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									\'strSQLSearch = strSQLSearch & \" AND \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosProductoProposal(?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setint(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									\'SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n								end if\n								MsgBox(\"Recuerde revisar/actualizar valores adicionales\")\n							end if\n							\'MsgBox(\"Fin IF Nº4\")\n						Case 3\n							\'MsgBox(\"Elimina\"). Design and Complete MakingUp by TriggerTiger\n					end Select\n				end if\n				oEstadoRegistroDetallePresupuesto=0\n				\'MsgBox(\"Fin Case\")\n			end if\n			\'MsgBox(\"Fin IF Nº3\")\n		end if\n		\'MsgBox(\"Fin IF Nº2\")\n	end if\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Fin\")\nend Sub\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(586,'== Descripción ==\nEjecuta las acciones adicionales a cada operación sobre los registros de [[TABLA:vidquoten2]] más allá de la acción en si sobre esos registros dentro del [[FORM:Presupuesto]]:\n*1:Insertar\n*2:Modificar\n*3:Eliminar\n\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n\n== Composición ==\n== Código ==\n<small><pre>\n</pre></small>\n== Bitácora ==\n*20120914\n**Cambio por rediseño [[FORM:Presupuesto]]\n<small><pre>\nSub EventoBRCDetallePresupuesto (oEvent as Object)\n\nDim oDocument as Object\nDim oForm as Object\nDim oSubForm as Object\nDim oSubSubForm as Object\nDim oSubSubFormGrid as Object\nDim SQLStatement as Variant\nDim oNombreImpControlador as String\nDim oNombreImpFormularios as String\nDim oVidQuoteProdID as String\nDim aVidQuoteProdID as String\nDim oMensaje as String\nDim verifica\nDim strSQLSearch as String\nDim oContadorRegistros as Double\n\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Inicio\")\n	oDocument = ThisComponent\n	oForm = ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm = oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm = oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")  \n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n\n	If (oEvent.Source.ImplementationName=oNombreImpFormularios) Then\n	  	\'MsgBox(\"oEvent.Source.ImplementationName=oNombreImpFormularios\")\n		\'if oEvent.Source.Row = 0 Then\n	    if oEvent.Source.RowCount = 0 Then\n		    oMensaje=\"First Time Call in Loading: \"\n		    oMensaje=oMensaje & oEvent.Source.ImplementationName\n		    \'MsgBox(oMensaje)\n	    else\n	    	\'MsgBox(\"oEvent.Source.RowCount != 0\")\n			if oEvent.Source.RowCount > 0 Then\n			   \n				\'Read of current RowSet from DetallePresupuesto\n				if oEvent.Source.Row <> 0 Then \'First Read of Data\n					\'MRI oSubForm\n					oVidQuoteID=oSubForm.Columns.getByName(\"VidQuoteID\").getInt()\n					oVidQuoteLPre=oSubForm.Columns.getByName(\"VidQuoteLPre\").getInt()\n					oVidQuoteItem=oSubForm.Columns.getByName(\"VidQuoteItem\").getInt()\n					oVidQuoteProdID=oSubForm.Columns.getByName(\"VidQuoteProdID\").getString()\n					oVidQuoteProdCantidad=oSubForm.Columns.getByName(\"VidQuoteProdCantidad\").getInt()\n					oVidQuoteAncho=oSubForm.Columns.getByName(\"VidQuoteAncho\").getInt()\n					oVidQuoteAlto=oSubForm.Columns.getByName(\"VidQuoteAlto\").getInt()\n			\n					Select Case oEstadoRegistroDetallePresupuesto\n					    Case 1		\'It is an Elements massive insert\n							\'VidQuoteN3	massive insert\n							\'MsgBox(\"BP001\")\n							oConnection = oEvent.Source.ActiveConnection\n							SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteLPre)\n							SQLStatement.setint(3,oVidQuoteItem)\n							SQLStatement.setstring(4,oVidQuoteProdID)\n							SQLStatement.setstring(5,oVidQuoteProdCantidad)	    \n							SQLStatement.setint(6,oVidQuoteAncho)\n							SQLStatement.setint(7,oVidQuoteAlto)\n							SQLStatement.execute()\n							SQLStatement.close()\n							\n							\'VidQuoteN4 massive insert\n							oMensaje = \"\"\n							oMensaje = oMensaje & \"BP002\"\n							oMensaje = oMensaje & \"Presupuesto: \" & CStr(oVidQuoteID) & Chr(13)\n							oMensaje = oMensaje & \"Item       : \" & CStr(oVidQuoteItem) & Chr(13)\n							oMensaje = oMensaje & \"Producto   : \" & oVidQuoteProdID & Chr(13)\n							oMensaje = oMensaje & \"Elemento   : \" & \"12345678\" & Chr(13)\n							\'MsgBox(oMensaje)\n							\n							SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteItem)\n							SQLStatement.setstring(3,oVidQuoteProdID)\n							SQLStatement.setstring(4,\"12345678\")\n							\'Set pCondicion for Procedure Inheritance depending on previous REM	    \n							SQLStatement.setint(5,2)\n							\'\n							SQLStatement.execute()\n							\'MsgBox(\"BP003\")\n							SQLStatement.close()\n				\n						Case 2		\'It is an Product Quote Data update\n							strSQLSearch = \"SELECT Count(*) FROM vidquoten3 WHERE \"\n							strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n							strSQLSearch = strSQLSearch & \" AND \"\n							strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n							\n							oConnection = oEvent.Source.ActiveConnection       \n							SQLStatement = oConnection.createStatement()\n							verifica = SQLStatement.executeQuery(strSQLSearch)\n							verifica.Next()						\'Lee la primera línea del query\n							oContadorRegistros=verifica.GetDouble(1)			\'Valor Anterior\n							SQLStatement.close()\n				\n							if oContadorRegistros > 0 Then\n							\n								strSQLSearch = \"SELECT VidQuoteProdID FROM vidquoten3 WHERE \"\n								strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n								strSQLSearch = strSQLSearch & \" AND \"\n								strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n								strSQLSearch = strSQLSearch & \" GROUP BY VidQuoteID,VidQuoteItem\"\n							\n								oConnection = oEvent.Source.ActiveConnection        \n							    SQLStatement = oConnection.createStatement()\n							    verifica = SQLStatement.executeQuery(strSQLSearch)\n							    verifica.Next()						\'Lee la primera línea del query\n							    aVidQuoteProdID=verifica.GetString(1)			\'Valor Anterior\n							    SQLStatement.close()		 \n							 \n							    if aVidQuoteProdID <> oVidQuoteProdID Then 	\'Check if the same product code\n							    \n									\'Delete previous records due to change product code\n								  			\n									strSQLSearch = \"DELETE FROM vidquoten3 WHERE \"\n									strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									strSQLSearch = strSQLSearch & \" AND \"\n									strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n									\n									\'Insert New records -Elements- with new Quote Product Code\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setstring(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									SQLStatement.close()\n									\n									\'VidQuoteN4 massive insert with new Quote Product Code\n									\n									SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteItem)\n									SQLStatement.setstring(3,oVidQuoteProdID)\n									SQLStatement.setstring(4,\"12345678\")	    \n									SQLStatement.setint(5,2)\n									SQLStatement.execute()\n									SQLStatement.close()\n							\n							    else\n							   		\'It is the same Product Code. Update VidQuoten3 Columns except Product Code\n							   		\n									\'strSQLSearch = \"\"\n									\'strSQLSearch = strSQLSearch & \"UPDATE vidquoten3 AS T3 SET \"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteProdCantidad = \" & CStr(oVidQuoteProdCantidad) & \",\"			\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAncho = \" & CStr(oVidQuoteAncho) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAlto = \"  & CStr(oVidQuoteAlto) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecio = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre),\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecioP = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre) * \"&CStr(oVidQuoteProdCantidad)\n									\'strSQLSearch = strSQLSearch & \" WHERE \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									\'strSQLSearch = strSQLSearch & \" AND \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosProductoProposal(?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setint(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									\'SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n								end if\n								MsgBox(\"Recuerde revisar/actualizar valores adicionales\")\n							end if\n							\'MsgBox(\"Fin IF Nº4\")\n						Case 3\n							\'MsgBox(\"Elimina\"). Design and Complete MakingUp by TriggerTiger\n					end Select\n				end if\n				oEstadoRegistroDetallePresupuesto=0\n				\'MsgBox(\"Fin Case\")\n			end if\n			\'MsgBox(\"Fin IF Nº3\")\n		end if\n		\'MsgBox(\"Fin IF Nº2\")\n	end if\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Fin\")\nend Sub\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(587,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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\'\'\'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\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'),(588,'* [[Actualizacion DB]]\n[[Título del enlace]]=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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\'\'\'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\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'),(589,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\nAgregar atributo que responde al imagen asociada al contacto.\n<pre>\nALTER TABLE `fzggestion`.`contactos` ADD COLUMN `ImgContacto` BLOB NULL  AFTER `VigenciaDocs` ;\n</pre>','utf-8'),(590,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de AComerciales.\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `acomerciales` AS\nSELECT `contactos`.`ContactoID` AS `AComercialID`,\n       `contactos`.`ContactoIDAbrv` AS `Abreviatura`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`Notas` AS `Notas`,\n       `contactos`.`ImgContacto` AS `LogoAC`\nFROM `contactos`\nWHERE (`contactos`.`AComercialTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120125\n**Alta Vista\n*20120911\n**Cambio de Condición para reflejar el cambio de estructura de la [[TABLA:contactos]]\n== Uso ==\n*[[FORM:presupuesto]]','utf-8'),(591,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de AComerciales.\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `acomerciales` AS\nSELECT `contactos`.`ContactoID` AS `AComercialID`,\n       `contactos`.`ContactoIDAbrv` AS `Abreviatura`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`Notas` AS `Notas`,\n       `contactos`.`ImgContacto` AS `LogoAC`\nFROM `contactos`\nWHERE (`contactos`.`AComercialTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120125\n**Alta Vista\n*20120911\n**Cambio de Condición para reflejar el cambio de estructura de la [[TABLA:contactos]]\n*20120917\n**Cambia denominación ID y agrega el atributo de \"ImgContacto\" como \"LogoAC\"\n\n== Uso ==\n*[[FORM:presupuesto]]','utf-8'),(592,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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\'\'\'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\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'),(593,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de AComerciales.\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `acomerciales` AS\nSELECT `contactos`.`ContactoID` AS `AComercialID`,\n       `contactos`.`ContactoIDAbrv` AS `Abreviatura`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n       `contactos`.`Notas` AS `Notas`,\n       `contactos`.`ImgContacto` AS `LogoAC`\nFROM `contactos`\nWHERE (`contactos`.`AComercialTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120125\n**Alta Vista\n*20120911\n**Cambio de Condición para reflejar el cambio de estructura de la [[TABLA:contactos]]\n*20120917\n**Cambia denominación ID y agrega el atributo de \"ImgContacto\" como \"LogoAC\"\n\n== Uso ==\n*[[FORM:presupuesto]]','utf-8'),(594,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT \n    `contactos`.`ContactoID` AS `ClienteID`,\n    `contactos`.`RazonSocial` AS `RazonSocial`,\n    `contactos`.`Direccion` AS `Direccion`,\n    `contactos`.`Localidad` AS `Localidad`,\n    `contactos`.`Provincia` AS `Provincia`,\n    `contactos`.`Pais` AS `Pais`,\n    `contactos`.`CPostal` AS `CPostal`,\n    `contactos`.`CUIT` AS `CUIT`,\n    `contactos`.`Area` AS `Area`,\n    `contactos`.`Telefono1` AS `Telefono1`,\n    `contactos`.`Telefono2` AS `Telefono2`,\n    `contactos`.`Telefono3` AS `Telefono3`,\n    `contactos`.`TelefonoM` AS `TelefonoM`,\n    `contactos`.`TelefonoF` AS `TelefonoF`,\n    `contactos`.`Correo1` AS `Correo1`,\n    `contactos`.`Correo2` AS `Correo2`,\n    `contactos`.`NContacto` AS `NContacto`,\n    `contactos`.`AContacto` AS `AContacto`,\n    `contactos`.`ListaPrecio` AS `ListaPrecio`,\n    `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n    `contactos`.`VigenciaDocs` AS `VigenciaDocs`,\n    `contactos`.`ImgContacto` AS `ImgContacto`,\n    `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable \n== Uso ==\n== URL ==','utf-8'),(595,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT \n    `contactos`.`ContactoID` AS `ClienteID`,\n    `contactos`.`RazonSocial` AS `RazonSocial`,\n    `contactos`.`Direccion` AS `Direccion`,\n    `contactos`.`Localidad` AS `Localidad`,\n    `contactos`.`Provincia` AS `Provincia`,\n    `contactos`.`Pais` AS `Pais`,\n    `contactos`.`CPostal` AS `CPostal`,\n    `contactos`.`CUIT` AS `CUIT`,\n    `contactos`.`Area` AS `Area`,\n    `contactos`.`Telefono1` AS `Telefono1`,\n    `contactos`.`Telefono2` AS `Telefono2`,\n    `contactos`.`Telefono3` AS `Telefono3`,\n    `contactos`.`TelefonoM` AS `TelefonoM`,\n    `contactos`.`TelefonoF` AS `TelefonoF`,\n    `contactos`.`Correo1` AS `Correo1`,\n    `contactos`.`Correo2` AS `Correo2`,\n    `contactos`.`NContacto` AS `NContacto`,\n    `contactos`.`AContacto` AS `AContacto`,\n    `contactos`.`ListaPrecio` AS `ListaPrecio`,\n    `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n    `contactos`.`VigenciaDocs` AS `VigenciaDocs`,\n    `contactos`.`ImgContacto` AS `ImgContacto`,\n    `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable\n*20120917\n**Agregado de atributos de Logo, Vigencia y Coeficiente a la vista.\n\n== Uso ==\n== URL ==','utf-8'),(596,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT \n    `contactos`.`ContactoID` AS `ClienteID`,\n    `contactos`.`RazonSocial` AS `RazonSocial`,\n    `contactos`.`Direccion` AS `Direccion`,\n    `contactos`.`Localidad` AS `Localidad`,\n    `contactos`.`Provincia` AS `Provincia`,\n    `contactos`.`Pais` AS `Pais`,\n    `contactos`.`CPostal` AS `CPostal`,\n    `contactos`.`CUIT` AS `CUIT`,\n    `contactos`.`Area` AS `Area`,\n    `contactos`.`Telefono1` AS `Telefono1`,\n    `contactos`.`Telefono2` AS `Telefono2`,\n    `contactos`.`Telefono3` AS `Telefono3`,\n    `contactos`.`TelefonoM` AS `TelefonoM`,\n    `contactos`.`TelefonoF` AS `TelefonoF`,\n    `contactos`.`Correo1` AS `Correo1`,\n    `contactos`.`Correo2` AS `Correo2`,\n    `contactos`.`NContacto` AS `NContacto`,\n    `contactos`.`AContacto` AS `AContacto`,\n    `contactos`.`ListaPrecio` AS `ListaPrecio`,\n    `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n    `contactos`.`VigenciaDocs` AS `VigenciaDocs`,\n    `contactos`.`ImgContacto` AS `ImgContacto`,\n    `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable\n*20120917\n**Agregado de atributos de Logo, Vigencia y Coeficiente a la vista.\n\n== Uso ==\nFORM:Presupuesto\n\n== URL ==','utf-8'),(597,'== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT \n    `contactos`.`ContactoID` AS `ClienteID`,\n    `contactos`.`RazonSocial` AS `RazonSocial`,\n    `contactos`.`Direccion` AS `Direccion`,\n    `contactos`.`Localidad` AS `Localidad`,\n    `contactos`.`Provincia` AS `Provincia`,\n    `contactos`.`Pais` AS `Pais`,\n    `contactos`.`CPostal` AS `CPostal`,\n    `contactos`.`CUIT` AS `CUIT`,\n    `contactos`.`Area` AS `Area`,\n    `contactos`.`Telefono1` AS `Telefono1`,\n    `contactos`.`Telefono2` AS `Telefono2`,\n    `contactos`.`Telefono3` AS `Telefono3`,\n    `contactos`.`TelefonoM` AS `TelefonoM`,\n    `contactos`.`TelefonoF` AS `TelefonoF`,\n    `contactos`.`Correo1` AS `Correo1`,\n    `contactos`.`Correo2` AS `Correo2`,\n    `contactos`.`NContacto` AS `NContacto`,\n    `contactos`.`AContacto` AS `AContacto`,\n    `contactos`.`ListaPrecio` AS `ListaPrecio`,\n    `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n    `contactos`.`VigenciaDocs` AS `VigenciaDocs`,\n    `contactos`.`ImgContacto` AS `ImgContacto`,\n    `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable\n*20120917\n**Agregado de atributos de Logo, Vigencia y Coeficiente a la vista.\n\n== Uso ==\n*[[FORM:Presupuesto]]\n\n== URL ==','utf-8'),(598,'== Descripcion ==\nUna vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*[[VISTA:visproadic]]->\n*->[[TABLA:vidquoten3]]\n== SQL ==\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n\n== Uso ==\n*MACR:EventoBRCDetallePresupuesto\n\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(599,'== Descripcion ==\nUna vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*[[VISTA:visproadic]]->\n*->[[TABLA:vidquoten3]]\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2)\nBEGIN\n    DECLARE vVarNum INT(5);\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:AltaItemPresupuestoTmp\",\"/\",\n        CAST(pVidQuoteID AS CHAR),\"-\",\n        CAST(pVidQuoteLPre AS CHAR),\"-\",\n        CAST(pVidQuoteItem AS CHAR),\"-\",\n        pVidQuoteProdID,\"-\",\n        CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n        CAST(pVidQuoteAncho AS CHAR),\"-\",\n        CAST(pVidQuoteAlto AS CHAR),\"-\",\n        CAST(pCoeficienteMU AS CHAR)\n        ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(600,'== Descripcion ==\n<strike>Una vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.</strike>\nUna vez que ingresa los datos básicos de un producto, inserta en [[TABLA:vidquoten3]] los componentes del producto señalado (solo los elementos básicos). Divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*[[VISTA:visproadic]]->\n*->[[TABLA:vidquoten3]]\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2)\nBEGIN\n    DECLARE vVarNum INT(5);\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:AltaItemPresupuestoTmp\",\"/\",\n        CAST(pVidQuoteID AS CHAR),\"-\",\n        CAST(pVidQuoteLPre AS CHAR),\"-\",\n        CAST(pVidQuoteItem AS CHAR),\"-\",\n        pVidQuoteProdID,\"-\",\n        CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n        CAST(pVidQuoteAncho AS CHAR),\"-\",\n        CAST(pVidQuoteAlto AS CHAR),\"-\",\n        CAST(pCoeficienteMU AS CHAR)\n        ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(601,'== Descripcion ==\n<strike>Una vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.</strike> \'\'\'20120917\'\'\'\nUna vez que ingresa los datos básicos de un producto, inserta en [[TABLA:vidquoten3]] los componentes del producto señalado (solo los elementos básicos). Divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*[[VISTA:visproadic]]->\n*->[[TABLA:vidquoten3]]\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2)\nBEGIN\n    DECLARE vVarNum INT(5);\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:AltaItemPresupuestoTmp\",\"/\",\n        CAST(pVidQuoteID AS CHAR),\"-\",\n        CAST(pVidQuoteLPre AS CHAR),\"-\",\n        CAST(pVidQuoteItem AS CHAR),\"-\",\n        pVidQuoteProdID,\"-\",\n        CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n        CAST(pVidQuoteAncho AS CHAR),\"-\",\n        CAST(pVidQuoteAlto AS CHAR),\"-\",\n        CAST(pCoeficienteMU AS CHAR)\n        ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(602,'== Descripcion ==\n<strike>Una vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.</strike> \'\'\'20120917\'\'\'\nUna vez que ingresa los datos básicos de un producto, inserta en [[TABLA:vidquoten3]] los componentes del producto señalado (solo los elementos básicos). Divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*<strike>[[VISTA:visproadic]]-></strike>\n*[[TABLA:productos]]->\n*[[TABLA:precios]]->\n*[[TABLA:componentes]]->\n*->[[TABLA:vidquoten3]]\n\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2)\nBEGIN\n    DECLARE vVarNum INT(5);\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:AltaItemPresupuestoTmp\",\"/\",\n        CAST(pVidQuoteID AS CHAR),\"-\",\n        CAST(pVidQuoteLPre AS CHAR),\"-\",\n        CAST(pVidQuoteItem AS CHAR),\"-\",\n        pVidQuoteProdID,\"-\",\n        CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n        CAST(pVidQuoteAncho AS CHAR),\"-\",\n        CAST(pVidQuoteAlto AS CHAR),\"-\",\n        CAST(pCoeficienteMU AS CHAR)\n        ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(603,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras Tipo]]\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:AltaItemPresupuestoTmp]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(604,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:AltaItemPresupuestoTmp]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]\n===== BotonEnviarCorreoPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== BotonImprimirPresupuesto =====\n*FORM:Presupuesto#Cabecera\n*EVNT:MouseButtonPressed\n===== CambioEstadoItem =====\n===== ConfirmeEliminarProducto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n*FORM:Presupuesto#DetalleProducto\n*EVNT:ConfirmDeletion\n===== DateStampPrecioUpdate =====\n===== DebugAcc =====\n*FORM:\n*EVNT: Test\n\n===== EventoAfterRecordAction =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeRecordChange =====\n*FORM:\n*EVNT: Test\n\n===== EventoBeforeReloading =====\n*FORM:\n*EVNT: Test\n\n===== EventoBRADetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordAction\n\n===== EventoBRCDetallePresupuesto =====\n*FORM:Presupuesto#DetallePresupuesto\n*EVNT:BeforeRecordChange\n===== EventoWhenLoadingFormCabecera =====\n===== EventoWhenLoading =====\n*FORM:Presupuesto#Cabecera\n*EVNT:WhenLoading\n===== EventoWhenReloading =====\n===== GeneraNuevoDefaultListaPrecio =====\n===== Hoy =====\n===== LookupData =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:AfterUpdating\n===== Main =====\n*FORM:Presupuesto#Forms\n*EVNT:MainForDebug \n===== MouseAdentro =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:Test \n===== NewProductoListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:MouseButtonPressed \n===== NewResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetallePresupuesto =====\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetalleProducto\n*EVNT:BeforeReloading\n*FORM:Presupuesto#DetallePresupuestoGrid\n*EVNT:AfterUpdating\n===== ProdDetaProdDSCListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A\n===== ProdDetaProdIDListbox =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A \n===== ResetListBoxDetalleProducto =====\n*FORM:Presupuesto#DetalleProductoGrid\n*EVNT:N/A','utf-8'),(605,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio\n*[[SQLCODE0001]]','utf-8'),(606,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio\n#*[[SQLCODE0001]]','utf-8'),(607,'<pre>\nSELECT \n    T1.VidQuoteID,\n    T1.VidQuoteItem,\n    T1.VidQuoteProdID,\n    T1.VidQuoteElementoID,\n    T1.VidQuoteComposicID,\n    T1.VidQuotePrecio,\n    T1.VidQuotePrecioP,\n    T2.OffsetVanoAncho,\n    T2.OffsetVanoAlto,\n    T2.CoefVanoAncho,\n    T2.CoefVanoAlto,\n    T3.PrecioProd01,\n    T3.PrecioProd02,\n    T3.PrecioProd03,\n    T4.Magnitud\nFROM\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4\nWHERE\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID\nORDER BY \n    T1.VidQuoteID ASC , \n    T1.VidQuoteItem ASC\n</pre>','utf-8'),(608,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio sin la indicación del tipo de lista\n#*[[SQLCODE0001]]','utf-8'),(609,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio sin la indicación del tipo de lista\n#*[[SQLCODE0001]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] \n#*[[SQLCODE0002]]','utf-8'),(610,'<pre>\nSET @Lista = 2;\nSET @Ancho =1000;\nSET @Alto = 1000;\nSET @Cantidad = 1;\nSET @Coeficiente = 1;\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        @Ancho, \n                        @Alto,\n                        (CASE (@Lista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * @Coeficiente,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        @Ancho, \n                        @Alto,\n                        (CASE (@Lista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * @Coeficiente * @Cantidad \nWHERE\n    T1.VidQuoteProdID = T1.VidQuoteElementoID AND \n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID\n</pre>','utf-8'),(611,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio sin la indicación del tipo de lista\n#*[[SQLCODE0001]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado\n#*[[SQLCODE0002]]','utf-8'),(612,'<pre>\nSET @Presupuesto = 50;\nSET @PresupuestoItem = 3;\nSET @Lista = 2;\nSET @Ancho =1000;\nSET @Alto = 1000;\nSET @Cantidad = 2;\nSET @Coeficiente = 1;\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        @Ancho, \n                        @Alto,\n                        (CASE (@Lista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * @Coeficiente,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        @Ancho, \n                        @Alto,\n                        (CASE (@Lista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * @Coeficiente * @Cantidad \nWHERE\n    T1.VidQuoteID = @Presupuesto AND\n    T1.VidQuoteItem = @PresupuestoItem AND\n    T1.VidQuoteProdID = T1.VidQuoteElementoID AND \n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID\n</pre>','utf-8'),(613,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio sin la indicación del tipo de lista\n#*[[SQLCODE0001]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto=Elemento\n#*[[SQLCODE0002]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto<>Elemento\n#*[[SQLCODE0003]]\n\n\nSET @Presupuesto = 50;\nSET @PresupuestoItem = 3;\nSET @Lista = 1;\nSET @Ancho =1000;\nSET @Alto = 1000;\nSET @Cantidad = 1;\nSET @Coeficiente = 1;\nSELECT \n    V1.VidQuoteID,\n    V1.VidQuoteItem,\n    V1.VidQuoteProdID,\n    V1.VidQuoteElementoID,\n    V1.VidQuoteComposicID,\n    V3.ElementoID,\n    V3.ElementoPM,\n    SUM(CalculoPrecio(\n        @Ancho, \n        @Alto,\n        (CASE (@Lista)\n          WHEN 0 THEN V4.PrecioProd00\n          WHEN 1 THEN V4.PrecioProd01\n          WHEN 2 THEN V4.PrecioProd02\n          WHEN 3 THEN V4.PrecioProd03\n        END),\n        V5.Magnitud,\n        V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n        V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n        V2.CoefVanoAlto * V3.CoefVanoAlto,\n        V2.CoefVanoAncho * V3.CoefVanoAncho,\n        V2.ValorElemento * V3.ValorElemento)) * @Coeficiente AS VidQuotePrecio,\n    SUM(CalculoPrecio(\n        @Ancho, \n        @Alto,\n        (CASE (@Lista)\n          WHEN 0 THEN V4.PrecioProd00\n          WHEN 1 THEN V4.PrecioProd01\n          WHEN 2 THEN V4.PrecioProd02\n          WHEN 3 THEN V4.PrecioProd03\n        END),\n        V5.Magnitud,\n        V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n        V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n        V2.CoefVanoAlto * V3.CoefVanoAlto,\n        V2.CoefVanoAncho * V3.CoefVanoAncho,\n        V2.ValorElemento * V3.ValorElemento)) * @Coeficiente * @Cantidad AS VidQuotePrecioP, \n    V5.Magnitud\nFROM\n    fzggestion.composicion AS V3,\n    fzggestion.composicion AS V2,\n    fzggestion.vidquoten3 AS V1,\n    fzggestion.precios AS V4,\n    fzggestion.productos AS V5\nWHERE\n    V3.ProductoID = V2.ElementoID AND \n    V2.ProductoID = V1.VidQuoteProdID AND \n    V2.ElementoID = V1.VidQuoteElementoID AND \n    V2.ComposicID = V1.VidQuoteComposicID AND \n    V4.ProductoID = V3.ElementoID AND \n    V5.ProductoID = V4.ProductoID AND \n    V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n    V3.ElementoPM = 0\nGROUP BY V1.VidQuoteElementoID , V1.VidQuoteComposicID','utf-8'),(614,'<pre>\nSET @Presupuesto = 50;\nSET @PresupuestoItem = 3;\nSET @Lista = 1;\nSET @Ancho =1000;\nSET @Alto = 1000;\nSET @Cantidad = 1;\nSET @Coeficiente = 1;\nSELECT \n    V1.VidQuoteID,\n    V1.VidQuoteItem,\n    V1.VidQuoteProdID,\n    V1.VidQuoteElementoID,\n    V1.VidQuoteComposicID,\n    V3.ElementoID,\n    V3.ElementoPM,\n    SUM(CalculoPrecio(\n        @Ancho, \n        @Alto,\n        (CASE (@Lista)\n          WHEN 0 THEN V4.PrecioProd00\n          WHEN 1 THEN V4.PrecioProd01\n          WHEN 2 THEN V4.PrecioProd02\n          WHEN 3 THEN V4.PrecioProd03\n        END),\n        V5.Magnitud,\n        V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n        V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n        V2.CoefVanoAlto * V3.CoefVanoAlto,\n        V2.CoefVanoAncho * V3.CoefVanoAncho,\n        V2.ValorElemento * V3.ValorElemento)) * @Coeficiente AS VidQuotePrecio,\n    SUM(CalculoPrecio(\n        @Ancho, \n        @Alto,\n        (CASE (@Lista)\n          WHEN 0 THEN V4.PrecioProd00\n          WHEN 1 THEN V4.PrecioProd01\n          WHEN 2 THEN V4.PrecioProd02\n          WHEN 3 THEN V4.PrecioProd03\n        END),\n        V5.Magnitud,\n        V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n        V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n        V2.CoefVanoAlto * V3.CoefVanoAlto,\n        V2.CoefVanoAncho * V3.CoefVanoAncho,\n        V2.ValorElemento * V3.ValorElemento)) * @Coeficiente * @Cantidad AS VidQuotePrecioP, \n    V5.Magnitud\nFROM\n    fzggestion.composicion AS V3,\n    fzggestion.composicion AS V2,\n    fzggestion.vidquoten3 AS V1,\n    fzggestion.precios AS V4,\n    fzggestion.productos AS V5\nWHERE\n    V3.ProductoID = V2.ElementoID AND \n    V2.ProductoID = V1.VidQuoteProdID AND \n    V2.ElementoID = V1.VidQuoteElementoID AND \n    V2.ComposicID = V1.VidQuoteComposicID AND \n    V4.ProductoID = V3.ElementoID AND \n    V5.ProductoID = V4.ProductoID AND \n    V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n    V3.ElementoPM = 0\nGROUP BY V1.VidQuoteElementoID , V1.VidQuoteComposicID\n</pre>','utf-8'),(615,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio sin la indicación del tipo de lista\n#*[[SQLCODE0001]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto=Elemento\n#*[[SQLCODE0002]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto<>Elemento\n#*[[SQLCODE0003]]','utf-8'),(616,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio sin la indicación del tipo de lista\n#*[[SQLCODE0001]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto=Elemento\n#*[[SQLCODE0002]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto<>Elemento\n#*[[SQLCODE0003]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado.\n#*[[SQLCODE0004]]','utf-8'),(617,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>','utf-8'),(618,'<small><pre>\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        @Ancho, \n                        @Alto,\n                        (CASE (@Lista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * @Coeficiente,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        @Ancho, \n                        @Alto,\n                        (CASE (@Lista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * @Coeficiente * @Cantidad \nWHERE\n    T1.VidQuoteID = @Presupuesto AND\n    T1.VidQuoteItem = @PresupuestoItem AND\n    T1.VidQuoteProdID = T1.VidQuoteElementoID AND \n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T3.ProductoID = T2.ElementoID AND \n    T4.ProductoID = T3.ProductoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            @Ancho, \n            @Alto,\n            (CASE (@Lista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * @Coeficiente AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            @Ancho, \n            @Alto,\n            (CASE (@Lista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * @Coeficiente * @Cantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5\n    WHERE\n        V1.VidQuoteID = @Presupuesto AND\n        V1.VidQuoteItem = @PresupuestoItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY V1.VidQuoteElementoID , V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND \n    W1.VidQuoteID = @Presupuesto AND\n    W1.VidQuoteItem = @PresupuestoItem AND\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\nEND\n</pre></small>','utf-8'),(619,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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\'\'\'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'),(620,'== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\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'),(621,'== Descripción ==\nEjecuta la llamada al [[PROC:ActualizaPreciosPresupuesto]] con los parámetros del Presupuesto indicado.\n\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\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'),(622,'== 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>\n< /pre>< /small>\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'),(623,'== Descripción ==\nActualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n*[[TABLA:composicion]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto`(IN pVidQuoteID INT(5), IN pVidQuoteLista INT(1), IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4,\n    vidquoten2 AS T5\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * T5.VidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T5.VidQuoteID = T1.VidQuoteID AND \n    T5.VidQuoteItem = T1.VidQuoteItem AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * V6.VidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5,\n        fzggestion.vidquoten2 AS V6\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n        V6.VidQuoteID = V1.VidQuoteID AND \n        V6.VidQuoteItem = V1.VidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\n-- ----------------------------------------------------------\n-- Update Precios Resume on vidquoten2\n-- ----------------------------------------------------------\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n*2012\n*20120921\n**Actualización de acuerdo al cambio de diseño de [[FORM:Presupuesto]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto_OLD`(IN pVidQuoteID INT(5))\nBEGIN\n	UPDATE vidquoten3 AS T5,\n    (\n    SELECT\n		T4.VidQuoteProdID,\n      T4.VidQuoteElementoID,\n		T4.VidQuoteProdCantidad,\n		T4.VidQuoteAncho,\n		T4.VidQuoteAlto,\n      T4.PrecioProd,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento)) AS VidQuotePrecio,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento) * T4.VidQuoteProdCantidad) AS VidQuotePrecioP\n	FROM\n	((SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T2.ValorElemento AS ValorElemento,\n		 T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T2.CoefVanoAncho AS CoefVanoAncho,\n		 T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteProdID AND T2.ElementoID = T1.VidQuoteElementoID }\n	WHERE\n		 T1.VidQuoteProdID=VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	UNION\n	(SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T3.ValorElemento * T2.ValorElemento AS ValorElemento,\n		 T3.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T3.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T3.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n		 T3.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteElementoID },\n		 fzggestion.visprodadic AS T3\n	WHERE\n		 T3.ProductoID = T1.VidQuoteProdID AND \n		 T3.ElementoID = T1.VidQuoteElementoID AND \n		 T1.VidQuoteProdID <> T1.VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	ORDER BY VidQuoteProdID,VidQuoteElementoID,ElementoID) AS T4\n	GROUP BY VidQuoteProdID,VidQuoteElementoID) AS T6\n	SET T5.VidQuotePrecio = T6.VidQuotePrecio, T5.VidQuotePrecioP = T6.VidQuotePrecioP\n	WHERE\n		 T5.VidQuoteID = pVidQuoteID AND \n		 T5.VidQuoteProdID = T6.VidQuoteProdID AND \n		 T5.VidQuoteElementoID = T6.VidQuoteElementoID;\nEND\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]','utf-8'),(624,'== 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'),(625,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====','utf-8'),(626,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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:ActualizarItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Alta_Item_Presupuesto]]. Creación para reemplazar la actividad BEFORE UPDATE sobre la [[TABLA:vidquoten2]] en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\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'),(627,'== Descripción ==\nEjecuta las acciones adicionales a cada operación sobre los registros de [[TABLA:vidquoten2]] más allá de la acción en si sobre esos registros dentro del [[FORM:Presupuesto]]:\n*1:Insertar\n*2:Modificar\n*3:Eliminar\n\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoBRCDetallePresupuesto (oEvent as Object)\n\nDim oDocument as Object\nDim oForm as Object\nDim oSubForm as Object\nDim oSubSubForm as Object\nDim oSubSubFormGrid as Object\nDim SQLStatement as Variant\nDim oNombreImpControlador as String\nDim oNombreImpFormularios as String\nDim oVidQuoteProdID as String\nDim aVidQuoteProdID as String\nDim oMensaje as String\nDim verifica\nDim strSQLSearch as String\nDim oContadorRegistros as Double\n\n	\'EventoBRCDetallePresupuesto: Inicio\n	\'MRI oEvent\n	oMensaje	= \"\"\n	oMensaje	= oMensaje & \"RowCount: \" & CStr(oEvent.Source.RowCount) + chr(13)\n	oMensaje	= oMensaje & \"Row: \" & CStr(oEvent.Source.Row) + chr(13)\n	oMensaje	= oMensaje & oEvent.Source.ImplementationName + chr(13)\n	\'MsgBox oMensaje\n	\'Situado en SubForm:Productos\n	\n	if oEstadoRegistroDetallePresupuesto <> 0 Then\n		oForm 					= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n		oSubFormAgente			= oForm.getByName(\"DataAgente\")	\n		oSubFormGrid 			= oForm.getByName(\"Productos\").getByName(\"ProductosGrid\")  \n		oNombreImpControlador	=\"org.openoffice.comp.svx.FormController\"\n		oNombreImpFormularios	=\"com.sun.star.comp.forms.ODatabaseForm\"\n	\n		If (oEvent.Source.ImplementationName=oNombreImpFormularios) Then\n		    if oEvent.Source.RowCount = 0 Then\n			    oMensaje=\"First Time Call in Loading: \"\n			    oMensaje=oMensaje & oEvent.Source.ImplementationName\n			    \'MsgBox(oMensaje)\n		    else\n		    	\'oEvent.Source.RowCount != 0					Just plain cycle of RowSet View\n				if oEvent.Source.RowCount > 0 Then\n				   \n					\'Read of current RowSet from DetallePresupuesto\n					if oEvent.Source.Row <> 0 Then \'First Read of Data\n						\'MRI oForm.getByName(\"Productos\").getByName(\"ProductosGrid\")\n					\n						\'It suppose Form data was commited into record\n						oVidQuoteID				= oForm.getByName(\"Productos\").getByName(\"ProductosGrid\").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						oVidQuoteItem			= oForm.getByName(\"Productos\").getByName(\"ProductosGrid\").getByName(\"fmtVidQuoteItem\").CurrentValue\n						oVidQuoteProdID			= oForm.getByName(\"Productos\").getByName(\"ProductosGrid\").getByName(\"txtVidQuoteProdID\").CurrentValue					\n						oVidQuoteProdCantidad	= oForm.getByName(\"Productos\").getByName(\"ProductosGrid\").getByName(\"fmtVidQuoteProdCantidad\").CurrentValue\n						oVidQuoteAncho			= oForm.getByName(\"Productos\").getByName(\"ProductosGrid\").getByName(\"fmtVidQuoteAncho\").CurrentValue					\n						oVidQuoteAlto			= oForm.getByName(\"Productos\").getByName(\"ProductosGrid\").getByName(\"fmtVidQuoteAlto\").CurrentValue\n\n						oMensaje	= \"\"\n						oMensaje	= oMensaje & \"RowCount: \" & CStr(oEvent.Source.RowCount) + chr(13)\n						oMensaje	= oMensaje & \"Row: \" & CStr(oEvent.Source.Row) + chr(13)\n						oMensaje	= oMensaje & \"New: \" & CStr(oEvent.Source.IsNew) + chr(13)\n						oMensaje	= oMensaje & \"Upd: \" & CStr(oEvent.Source.IsModified) + chr(13)\n						oMensaje	= oMensaje & oEvent.Source.ImplementationName + chr(13)\n						\'MsgBox oMensaje\n						Select Case oEstadoRegistroDetallePresupuesto\n						    Case 1								\'It is an Elements massive insert\n								\'VidQuoteN3	massive insert\n								\'MsgBox(\"BP001\")\n								oConnection = oEvent.Source.ActiveConnection\n								SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?,?)\")\n								SQLStatement.setInt(1,oVidQuoteID)\n								SQLStatement.setInt(2,oVidQuoteLPre)\n								SQLStatement.setInt(3,oVidQuoteItem)\n								SQLStatement.setString(4,oVidQuoteProdID)\n								SQLStatement.setString(5,oVidQuoteProdCantidad)	    \n								SQLStatement.setInt(6,oVidQuoteAncho)\n								SQLStatement.setInt(7,oVidQuoteAlto)\n								SQLStatement.setDouble(8,oVidQuoteCoefCL*oVidQuoteCoefAC)						\n								SQLStatement.execute()\n								SQLStatement.close()\n								\n								oForm.getByName(\"Productos\").getByName(\"ComponentesDisplay\").reload()\n								oSubTotProducto	= oForm.getByName(\"Productos\").getByName(\"ComponentesDisplay\").getByName(\"SubTotalProducto\").getByName(\"fmtSubTotalProducto\").CurrentValue\n								oForm.getByName(\"Productos\").getByName(\"ProductosGrid\").getByName(\"fmtVidQuotePrecio\").BoundField.UpdateDouble(oSubTotProducto)\n								oForm.getByName(\"Productos\").UpdateRow()								\n							Case 2		\'It is an Product Quote Data update. Complete by Trigger\n								\'MsgBox(\"BP002\")\n								oForm.getByName(\"Productos\").getByName(\"ComponentesDisplay\").reload()\n						\'		\'MsgBox(\"Fin IF Nº4\")\n							Case 3\n								\'Complete by Trigger\n						end Select\n					end if\n					oEstadoRegistroDetallePresupuesto=0\n					\'MsgBox(\"Fin Case\")\n				end if\n				\'MsgBox(\"Fin IF Nº3\")\n			end if\n			\'MsgBox(\"Fin IF Nº2\")\n		end if\n		\'MsgBox(\"EventoBRCDetallePresupuesto: Fin\")\n	end if\nend Sub\n</pre></small>\n\n== Bitácora ==\n*20120914\n**Cambio por rediseño [[FORM:Presupuesto]]\n<small><pre>\nSub EventoBRCDetallePresupuesto (oEvent as Object)\n\nDim oDocument as Object\nDim oForm as Object\nDim oSubForm as Object\nDim oSubSubForm as Object\nDim oSubSubFormGrid as Object\nDim SQLStatement as Variant\nDim oNombreImpControlador as String\nDim oNombreImpFormularios as String\nDim oVidQuoteProdID as String\nDim aVidQuoteProdID as String\nDim oMensaje as String\nDim verifica\nDim strSQLSearch as String\nDim oContadorRegistros as Double\n\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Inicio\")\n	oDocument = ThisComponent\n	oForm = ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm = oForm.getByName(\"CabeceraAmpliada\").getByName(\"DetallePresupuesto\")\n	oSubSubForm = oSubForm.getByName(\"DetalleProducto\")\n	oSubSubFormGrid = oSubSubForm.getByName(\"DetalleProductoGrid\")  \n	oNombreImpControlador=\"org.openoffice.comp.svx.FormController\"\n	oNombreImpFormularios=\"com.sun.star.comp.forms.ODatabaseForm\"\n\n	If (oEvent.Source.ImplementationName=oNombreImpFormularios) Then\n	  	\'MsgBox(\"oEvent.Source.ImplementationName=oNombreImpFormularios\")\n		\'if oEvent.Source.Row = 0 Then\n	    if oEvent.Source.RowCount = 0 Then\n		    oMensaje=\"First Time Call in Loading: \"\n		    oMensaje=oMensaje & oEvent.Source.ImplementationName\n		    \'MsgBox(oMensaje)\n	    else\n	    	\'MsgBox(\"oEvent.Source.RowCount != 0\")\n			if oEvent.Source.RowCount > 0 Then\n			   \n				\'Read of current RowSet from DetallePresupuesto\n				if oEvent.Source.Row <> 0 Then \'First Read of Data\n					\'MRI oSubForm\n					oVidQuoteID=oSubForm.Columns.getByName(\"VidQuoteID\").getInt()\n					oVidQuoteLPre=oSubForm.Columns.getByName(\"VidQuoteLPre\").getInt()\n					oVidQuoteItem=oSubForm.Columns.getByName(\"VidQuoteItem\").getInt()\n					oVidQuoteProdID=oSubForm.Columns.getByName(\"VidQuoteProdID\").getString()\n					oVidQuoteProdCantidad=oSubForm.Columns.getByName(\"VidQuoteProdCantidad\").getInt()\n					oVidQuoteAncho=oSubForm.Columns.getByName(\"VidQuoteAncho\").getInt()\n					oVidQuoteAlto=oSubForm.Columns.getByName(\"VidQuoteAlto\").getInt()\n			\n					Select Case oEstadoRegistroDetallePresupuesto\n					    Case 1		\'It is an Elements massive insert\n							\'VidQuoteN3	massive insert\n							\'MsgBox(\"BP001\")\n							oConnection = oEvent.Source.ActiveConnection\n							SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteLPre)\n							SQLStatement.setint(3,oVidQuoteItem)\n							SQLStatement.setstring(4,oVidQuoteProdID)\n							SQLStatement.setstring(5,oVidQuoteProdCantidad)	    \n							SQLStatement.setint(6,oVidQuoteAncho)\n							SQLStatement.setint(7,oVidQuoteAlto)\n							SQLStatement.execute()\n							SQLStatement.close()\n							\n							\'VidQuoteN4 massive insert\n							oMensaje = \"\"\n							oMensaje = oMensaje & \"BP002\"\n							oMensaje = oMensaje & \"Presupuesto: \" & CStr(oVidQuoteID) & Chr(13)\n							oMensaje = oMensaje & \"Item       : \" & CStr(oVidQuoteItem) & Chr(13)\n							oMensaje = oMensaje & \"Producto   : \" & oVidQuoteProdID & Chr(13)\n							oMensaje = oMensaje & \"Elemento   : \" & \"12345678\" & Chr(13)\n							\'MsgBox(oMensaje)\n							\n							SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n							SQLStatement.setint(1,oVidQuoteID)\n							SQLStatement.setint(2,oVidQuoteItem)\n							SQLStatement.setstring(3,oVidQuoteProdID)\n							SQLStatement.setstring(4,\"12345678\")\n							\'Set pCondicion for Procedure Inheritance depending on previous REM	    \n							SQLStatement.setint(5,2)\n							\'\n							SQLStatement.execute()\n							\'MsgBox(\"BP003\")\n							SQLStatement.close()\n				\n						Case 2		\'It is an Product Quote Data update\n							strSQLSearch = \"SELECT Count(*) FROM vidquoten3 WHERE \"\n							strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n							strSQLSearch = strSQLSearch & \" AND \"\n							strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n							\n							oConnection = oEvent.Source.ActiveConnection       \n							SQLStatement = oConnection.createStatement()\n							verifica = SQLStatement.executeQuery(strSQLSearch)\n							verifica.Next()						\'Lee la primera línea del query\n							oContadorRegistros=verifica.GetDouble(1)			\'Valor Anterior\n							SQLStatement.close()\n				\n							if oContadorRegistros > 0 Then\n							\n								strSQLSearch = \"SELECT VidQuoteProdID FROM vidquoten3 WHERE \"\n								strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n								strSQLSearch = strSQLSearch & \" AND \"\n								strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n								strSQLSearch = strSQLSearch & \" GROUP BY VidQuoteID,VidQuoteItem\"\n							\n								oConnection = oEvent.Source.ActiveConnection        \n							    SQLStatement = oConnection.createStatement()\n							    verifica = SQLStatement.executeQuery(strSQLSearch)\n							    verifica.Next()						\'Lee la primera línea del query\n							    aVidQuoteProdID=verifica.GetString(1)			\'Valor Anterior\n							    SQLStatement.close()		 \n							 \n							    if aVidQuoteProdID <> oVidQuoteProdID Then 	\'Check if the same product code\n							    \n									\'Delete previous records due to change product code\n								  			\n									strSQLSearch = \"DELETE FROM vidquoten3 WHERE \"\n									strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									strSQLSearch = strSQLSearch & \" AND \"\n									strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n									\n									\'Insert New records -Elements- with new Quote Product Code\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.preparestatement(\"CALL AltaItemPresupuesto (?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setstring(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									SQLStatement.close()\n									\n									\'VidQuoteN4 massive insert with new Quote Product Code\n									\n									SQLStatement = oConnection.preparestatement(\"CALL AltaParamItemPresupuesto (?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteItem)\n									SQLStatement.setstring(3,oVidQuoteProdID)\n									SQLStatement.setstring(4,\"12345678\")	    \n									SQLStatement.setint(5,2)\n									SQLStatement.execute()\n									SQLStatement.close()\n							\n							    else\n							   		\'It is the same Product Code. Update VidQuoten3 Columns except Product Code\n							   		\n									\'strSQLSearch = \"\"\n									\'strSQLSearch = strSQLSearch & \"UPDATE vidquoten3 AS T3 SET \"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteProdCantidad = \" & CStr(oVidQuoteProdCantidad) & \",\"			\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAncho = \" & CStr(oVidQuoteAncho) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuoteAlto = \"  & CStr(oVidQuoteAlto) & \",\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecio = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre),\"\n									\'strSQLSearch = strSQLSearch & \"T3.VidQuotePrecioP = CalculaPrecioBase(T3.VidQuoteProdID,T3.VidQuoteElementoID,\"&CStr(oVidQuoteAncho)&\",\"&CStr(oVidQuoteAlto)&\",T3.VidQuoteLPre) * \"&CStr(oVidQuoteProdCantidad)\n									\'strSQLSearch = strSQLSearch & \" WHERE \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteID=\" & CStr(oVidQuoteID)\n									\'strSQLSearch = strSQLSearch & \" AND \"\n									\'strSQLSearch = strSQLSearch & \"VidQuoteItem=\" & CStr(oVidQuoteItem)\n									\n									oConnection = oEvent.Source.ActiveConnection\n									SQLStatement = oConnection.createStatement()\n									SQLStatement = oConnection.preparestatement(\"CALL ActualizaPreciosProductoProposal(?,?,?,?,?,?,?)\")\n									SQLStatement.setint(1,oVidQuoteID)\n									SQLStatement.setint(2,oVidQuoteLPre)\n									SQLStatement.setint(3,oVidQuoteItem)\n									SQLStatement.setstring(4,oVidQuoteProdID)\n									SQLStatement.setint(5,oVidQuoteProdCantidad)\n									SQLStatement.setint(6,oVidQuoteAncho)\n									SQLStatement.setint(7,oVidQuoteAlto)\n									SQLStatement.execute()\n									\'SQLStatement.executeUpdate(strSQLSearch)\n									SQLStatement.close()\n								end if\n								MsgBox(\"Recuerde revisar/actualizar valores adicionales\")\n							end if\n							\'MsgBox(\"Fin IF Nº4\")\n						Case 3\n							\'MsgBox(\"Elimina\"). Design and Complete MakingUp by TriggerTiger\n					end Select\n				end if\n				oEstadoRegistroDetallePresupuesto=0\n				\'MsgBox(\"Fin Case\")\n			end if\n			\'MsgBox(\"Fin IF Nº3\")\n		end if\n		\'MsgBox(\"Fin IF Nº2\")\n	end if\n	\'MsgBox(\"EventoBRCDetallePresupuesto: Fin\")\nend Sub\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(628,'== Descripción ==\nActualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n*[[TABLA:composicion]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto`(IN pVidQuoteID INT(5), IN pVidQuoteLista INT(1), IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4,\n    vidquoten2 AS T5\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * T5.VidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T5.VidQuoteID = T1.VidQuoteID AND \n    T5.VidQuoteItem = T1.VidQuoteItem AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * V6.VidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5,\n        fzggestion.vidquoten2 AS V6\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n        V6.VidQuoteID = V1.VidQuoteID AND \n        V6.VidQuoteItem = V1.VidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\n-- ----------------------------------------------------------\n-- Update Precios Resume on vidquoten2\n-- ----------------------------------------------------------\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n*2012\n*20120921\n**Actualización de acuerdo al cambio de diseño de [[FORM:Presupuesto]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto_OLD`(IN pVidQuoteID INT(5))\nBEGIN\n	UPDATE vidquoten3 AS T5,\n    (\n    SELECT\n		T4.VidQuoteProdID,\n      T4.VidQuoteElementoID,\n		T4.VidQuoteProdCantidad,\n		T4.VidQuoteAncho,\n		T4.VidQuoteAlto,\n      T4.PrecioProd,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento)) AS VidQuotePrecio,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento) * T4.VidQuoteProdCantidad) AS VidQuotePrecioP\n	FROM\n	((SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T2.ValorElemento AS ValorElemento,\n		 T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T2.CoefVanoAncho AS CoefVanoAncho,\n		 T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteProdID AND T2.ElementoID = T1.VidQuoteElementoID }\n	WHERE\n		 T1.VidQuoteProdID=VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	UNION\n	(SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T3.ValorElemento * T2.ValorElemento AS ValorElemento,\n		 T3.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T3.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T3.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n		 T3.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteElementoID },\n		 fzggestion.visprodadic AS T3\n	WHERE\n		 T3.ProductoID = T1.VidQuoteProdID AND \n		 T3.ElementoID = T1.VidQuoteElementoID AND \n		 T1.VidQuoteProdID <> T1.VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	ORDER BY VidQuoteProdID,VidQuoteElementoID,ElementoID) AS T4\n	GROUP BY VidQuoteProdID,VidQuoteElementoID) AS T6\n	SET T5.VidQuotePrecio = T6.VidQuotePrecio, T5.VidQuotePrecioP = T6.VidQuotePrecioP\n	WHERE\n		 T5.VidQuoteID = pVidQuoteID AND \n		 T5.VidQuoteProdID = T6.VidQuoteProdID AND \n		 T5.VidQuoteElementoID = T6.VidQuoteElementoID;\nEND\n</pre></small>\n*20120925\n**Reestructura actualización del atributo de precio debido a que se incorpora el [[TRIG:Actualiza_Item_Presupuesto]] y produce un dead-lock al gestionar las mismas tablas. Se modifica el [[TRIG:Actualiza_Item_Presupuesto]] y se hace un UPDATE falso para forzar el Trigger de actualización a hacer el recálculo.\n<small><pre>\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]','utf-8'),(629,'== Descripción ==\nActualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n*[[TABLA:composicion]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto`(IN pVidQuoteID INT(5), IN pVidQuoteLista INT(1), IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4,\n    vidquoten2 AS T5\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * T5.VidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T5.VidQuoteID = T1.VidQuoteID AND \n    T5.VidQuoteItem = T1.VidQuoteItem AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * V6.VidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5,\n        fzggestion.vidquoten2 AS V6\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n        V6.VidQuoteID = V1.VidQuoteID AND \n        V6.VidQuoteItem = V1.VidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\n-- ----------------------------------------------------------\n-- Update Precios Resume on vidquoten2\n-- ----------------------------------------------------------\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n*20120921\n**Actualización de acuerdo al cambio de diseño de [[FORM:Presupuesto]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto_OLD`(IN pVidQuoteID INT(5))\nBEGIN\n	UPDATE vidquoten3 AS T5,\n    (\n    SELECT\n		T4.VidQuoteProdID,\n      T4.VidQuoteElementoID,\n		T4.VidQuoteProdCantidad,\n		T4.VidQuoteAncho,\n		T4.VidQuoteAlto,\n      T4.PrecioProd,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento)) AS VidQuotePrecio,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento) * T4.VidQuoteProdCantidad) AS VidQuotePrecioP\n	FROM\n	((SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T2.ValorElemento AS ValorElemento,\n		 T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T2.CoefVanoAncho AS CoefVanoAncho,\n		 T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteProdID AND T2.ElementoID = T1.VidQuoteElementoID }\n	WHERE\n		 T1.VidQuoteProdID=VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	UNION\n	(SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T3.ValorElemento * T2.ValorElemento AS ValorElemento,\n		 T3.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T3.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T3.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n		 T3.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteElementoID },\n		 fzggestion.visprodadic AS T3\n	WHERE\n		 T3.ProductoID = T1.VidQuoteProdID AND \n		 T3.ElementoID = T1.VidQuoteElementoID AND \n		 T1.VidQuoteProdID <> T1.VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	ORDER BY VidQuoteProdID,VidQuoteElementoID,ElementoID) AS T4\n	GROUP BY VidQuoteProdID,VidQuoteElementoID) AS T6\n	SET T5.VidQuotePrecio = T6.VidQuotePrecio, T5.VidQuotePrecioP = T6.VidQuotePrecioP\n	WHERE\n		 T5.VidQuoteID = pVidQuoteID AND \n		 T5.VidQuoteProdID = T6.VidQuoteProdID AND \n		 T5.VidQuoteElementoID = T6.VidQuoteElementoID;\nEND\n</pre></small>\n*20120925\n**Reestructura actualización del atributo de precio debido a que se incorpora el [[TRIG:Actualiza_Item_Presupuesto]] y produce un dead-lock al gestionar las mismas tablas. Se modifica el [[TRIG:Actualiza_Item_Presupuesto]] y se hace un UPDATE falso para forzar el Trigger de actualización a hacer el recálculo.\n<small><pre>\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]','utf-8'),(630,'== Descripción ==\nActualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n*[[TABLA:composicion]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto`(\n    IN pVidQuoteID INT(5),\n--    IN pVidQuoteItem INT(5),\n    IN pVidQuoteLista INT(1),\n    IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4,\n    vidquoten2 AS T5\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * T5.VidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n--    T1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),T1.VidQuoteItem,pVidQuoteItem) AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T5.VidQuoteID = T1.VidQuoteID AND \n    T5.VidQuoteItem = T1.VidQuoteItem AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * V6.VidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5,\n        fzggestion.vidquoten2 AS V6\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n--       V1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),V1.VidQuoteItem,pVidQuoteItem) AND\n        V6.VidQuoteID = V1.VidQuoteID AND \n        V6.VidQuoteItem = V1.VidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\n-- ----------------------------------------------------------\n-- Update Precios Resumen on vidquoten2. No effect on others\n-- fields than VidQuotePrecio\n-- ----------------------------------------------------------\nUPDATE\n    vidquoten2 AS T1\nSET\n    T1.VidQuoteProdCantidad=T1.VidQuoteProdCantidad\nWHERE\n    T1.VidQuoteID = pVidQuoteID;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120921\n**Actualización de acuerdo al cambio de diseño de [[FORM:Presupuesto]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto_OLD`(IN pVidQuoteID INT(5))\nBEGIN\n	UPDATE vidquoten3 AS T5,\n    (\n    SELECT\n		T4.VidQuoteProdID,\n      T4.VidQuoteElementoID,\n		T4.VidQuoteProdCantidad,\n		T4.VidQuoteAncho,\n		T4.VidQuoteAlto,\n      T4.PrecioProd,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento)) AS VidQuotePrecio,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento) * T4.VidQuoteProdCantidad) AS VidQuotePrecioP\n	FROM\n	((SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T2.ValorElemento AS ValorElemento,\n		 T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T2.CoefVanoAncho AS CoefVanoAncho,\n		 T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteProdID AND T2.ElementoID = T1.VidQuoteElementoID }\n	WHERE\n		 T1.VidQuoteProdID=VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	UNION\n	(SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T3.ValorElemento * T2.ValorElemento AS ValorElemento,\n		 T3.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T3.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T3.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n		 T3.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteElementoID },\n		 fzggestion.visprodadic AS T3\n	WHERE\n		 T3.ProductoID = T1.VidQuoteProdID AND \n		 T3.ElementoID = T1.VidQuoteElementoID AND \n		 T1.VidQuoteProdID <> T1.VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	ORDER BY VidQuoteProdID,VidQuoteElementoID,ElementoID) AS T4\n	GROUP BY VidQuoteProdID,VidQuoteElementoID) AS T6\n	SET T5.VidQuotePrecio = T6.VidQuotePrecio, T5.VidQuotePrecioP = T6.VidQuotePrecioP\n	WHERE\n		 T5.VidQuoteID = pVidQuoteID AND \n		 T5.VidQuoteProdID = T6.VidQuoteProdID AND \n		 T5.VidQuoteElementoID = T6.VidQuoteElementoID;\nEND\n</pre></small>\n*20120925\n**Reestructura actualización del atributo de precio debido a que se incorpora el [[TRIG:Actualiza_Item_Presupuesto]] y produce un dead-lock al gestionar las mismas tablas. Se modifica el [[TRIG:Actualiza_Item_Presupuesto]] y se hace un UPDATE falso para forzar el Trigger de actualización a hacer el recálculo.\n<small><pre>\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]','utf-8'),(631,'== Descripción ==\nActualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente. Luego de actualizar los precios a nivel Elemento, procede a actualizar los precios del detalle del presupuesto invocando un UPDATE ficticio para que ejecute sin Dead-Lock a través del [[TRIG:Actualiza_Item_Presupuesto]]\n\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n*[[TABLA:composicion]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto`(\n    IN pVidQuoteID INT(5),\n--    IN pVidQuoteItem INT(5),\n    IN pVidQuoteLista INT(1),\n    IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4,\n    vidquoten2 AS T5\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * T5.VidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n--    T1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),T1.VidQuoteItem,pVidQuoteItem) AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T5.VidQuoteID = T1.VidQuoteID AND \n    T5.VidQuoteItem = T1.VidQuoteItem AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * V6.VidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5,\n        fzggestion.vidquoten2 AS V6\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n--       V1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),V1.VidQuoteItem,pVidQuoteItem) AND\n        V6.VidQuoteID = V1.VidQuoteID AND \n        V6.VidQuoteItem = V1.VidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\n-- ----------------------------------------------------------\n-- Update Precios Resumen on vidquoten2. No effect on others\n-- fields than VidQuotePrecio\n-- ----------------------------------------------------------\nUPDATE\n    vidquoten2 AS T1\nSET\n    T1.VidQuoteProdCantidad=T1.VidQuoteProdCantidad\nWHERE\n    T1.VidQuoteID = pVidQuoteID;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120921\n**Actualización de acuerdo al cambio de diseño de [[FORM:Presupuesto]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto_OLD`(IN pVidQuoteID INT(5))\nBEGIN\n	UPDATE vidquoten3 AS T5,\n    (\n    SELECT\n		T4.VidQuoteProdID,\n      T4.VidQuoteElementoID,\n		T4.VidQuoteProdCantidad,\n		T4.VidQuoteAncho,\n		T4.VidQuoteAlto,\n      T4.PrecioProd,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento)) AS VidQuotePrecio,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento) * T4.VidQuoteProdCantidad) AS VidQuotePrecioP\n	FROM\n	((SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T2.ValorElemento AS ValorElemento,\n		 T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T2.CoefVanoAncho AS CoefVanoAncho,\n		 T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteProdID AND T2.ElementoID = T1.VidQuoteElementoID }\n	WHERE\n		 T1.VidQuoteProdID=VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	UNION\n	(SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T3.ValorElemento * T2.ValorElemento AS ValorElemento,\n		 T3.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T3.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T3.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n		 T3.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteElementoID },\n		 fzggestion.visprodadic AS T3\n	WHERE\n		 T3.ProductoID = T1.VidQuoteProdID AND \n		 T3.ElementoID = T1.VidQuoteElementoID AND \n		 T1.VidQuoteProdID <> T1.VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	ORDER BY VidQuoteProdID,VidQuoteElementoID,ElementoID) AS T4\n	GROUP BY VidQuoteProdID,VidQuoteElementoID) AS T6\n	SET T5.VidQuotePrecio = T6.VidQuotePrecio, T5.VidQuotePrecioP = T6.VidQuotePrecioP\n	WHERE\n		 T5.VidQuoteID = pVidQuoteID AND \n		 T5.VidQuoteProdID = T6.VidQuoteProdID AND \n		 T5.VidQuoteElementoID = T6.VidQuoteElementoID;\nEND\n</pre></small>\n*20120925\n**Reestructura actualización del atributo de precio debido a que se incorpora el [[TRIG:Actualiza_Item_Presupuesto]] y produce un dead-lock al gestionar las mismas tablas. Se modifica el [[TRIG:Actualiza_Item_Presupuesto]] y se hace un UPDATE falso para forzar el Trigger de actualización a hacer el recálculo.\n<small><pre>\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]','utf-8'),(632,'== Descripción ==\nActualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente. Luego de actualizar los precios a nivel Elemento, procede a actualizar los precios del detalle del presupuesto invocando un UPDATE ficticio para que ejecute sin Dead-Lock a través del [[TRIG:Actualiza_Item_Presupuesto]]\n\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n*[[TABLA:composicion]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto`(\n    IN pVidQuoteID INT(5),\n--    IN pVidQuoteItem INT(5),\n    IN pVidQuoteLista INT(1),\n    IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4,\n    vidquoten2 AS T5\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * T5.VidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n--    T1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),T1.VidQuoteItem,pVidQuoteItem) AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T5.VidQuoteID = T1.VidQuoteID AND \n    T5.VidQuoteItem = T1.VidQuoteItem AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * V6.VidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5,\n        fzggestion.vidquoten2 AS V6\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n--       V1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),V1.VidQuoteItem,pVidQuoteItem) AND\n        V6.VidQuoteID = V1.VidQuoteID AND \n        V6.VidQuoteItem = V1.VidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\n-- ----------------------------------------------------------\n-- Update Precios Resumen on vidquoten2. No effect on others\n-- fields than VidQuotePrecio\n-- ----------------------------------------------------------\nUPDATE\n    vidquoten2 AS T1\nSET\n    T1.VidQuoteProdCantidad=T1.VidQuoteProdCantidad\nWHERE\n    T1.VidQuoteID = pVidQuoteID;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120921\n**Actualización de acuerdo al cambio de diseño de [[FORM:Presupuesto]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto_OLD`(IN pVidQuoteID INT(5))\nBEGIN\n	UPDATE vidquoten3 AS T5,\n    (\n    SELECT\n		T4.VidQuoteProdID,\n      T4.VidQuoteElementoID,\n		T4.VidQuoteProdCantidad,\n		T4.VidQuoteAncho,\n		T4.VidQuoteAlto,\n      T4.PrecioProd,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento)) AS VidQuotePrecio,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento) * T4.VidQuoteProdCantidad) AS VidQuotePrecioP\n	FROM\n	((SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T2.ValorElemento AS ValorElemento,\n		 T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T2.CoefVanoAncho AS CoefVanoAncho,\n		 T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteProdID AND T2.ElementoID = T1.VidQuoteElementoID }\n	WHERE\n		 T1.VidQuoteProdID=VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	UNION\n	(SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T3.ValorElemento * T2.ValorElemento AS ValorElemento,\n		 T3.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T3.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T3.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n		 T3.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteElementoID },\n		 fzggestion.visprodadic AS T3\n	WHERE\n		 T3.ProductoID = T1.VidQuoteProdID AND \n		 T3.ElementoID = T1.VidQuoteElementoID AND \n		 T1.VidQuoteProdID <> T1.VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	ORDER BY VidQuoteProdID,VidQuoteElementoID,ElementoID) AS T4\n	GROUP BY VidQuoteProdID,VidQuoteElementoID) AS T6\n	SET T5.VidQuotePrecio = T6.VidQuotePrecio, T5.VidQuotePrecioP = T6.VidQuotePrecioP\n	WHERE\n		 T5.VidQuoteID = pVidQuoteID AND \n		 T5.VidQuoteProdID = T6.VidQuoteProdID AND \n		 T5.VidQuoteElementoID = T6.VidQuoteElementoID;\nEND\n</pre></small>\n*20120925\n**Reestructura actualización del atributo de precio debido a que se incorpora el [[TRIG:Actualiza_Item_Presupuesto]] y produce un dead-lock al gestionar las mismas tablas. Se modifica el [[TRIG:Actualiza_Item_Presupuesto]] y se hace un UPDATE falso para forzar el Trigger de actualización a hacer el recálculo.\n<small><pre>\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]\n*[[TRIG:Actualiza_Item_Presupuesto]]','utf-8'),(633,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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:ActualizarItemPresupuesto]]. Correcciones y Test\n* [[TRIG:Alta_Item_Presupuesto]]. Creación para reemplazar la actividad BEFORE UPDATE sobre la [[TABLA:vidquoten2]] en [[MACRO:EventoBRCDetallePresupuesto]]. Cuando activa el UPDATE, la [[MACRO:EventoBRCDetallePresupuesto]] solo refresca la [[TABLA:vidquoten3]]\n* [[TRIG:Actualiza_Item_Presupuesto]]. Creación en el evento SQL BEFORE UPDATE sobre [[TABLA:vidquoten2]]\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'),(634,'== Descripción ==\nTrigger del evento BEFORE UPDATE de [[TABLA:vidquoten2]]\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n== Código ==\n<small><pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n--             CALL DebugCheckPoint(\n--                 CONCAT(\n--                 \"TRIG:Actualiza_Item_Presupuesto\",\"/OLD/\",\n--                 CAST(OLD.VidQuoteID AS CHAR),\"-\",\n--                 CAST(@Lista AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteItem AS CHAR),\"-\",\n--                 OLD.VidQuoteProdID,\"-\",\n--                 CAST(OLD.VidQuoteProdCantidad AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteAncho AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteAlto AS CHAR),\"-\",\n--                 CAST(OLD.VidQuotePrecio AS CHAR),\"-\",\n--                 CAST(@CoeficienteCL*@CoeficienteAC AS CHAR)\n--                 ));\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n --        CALL DebugCheckPoint(\n --            CONCAT(\n --            \"TRIG:Actualiza_Item_Presupuesto\",\"/NEW/\",\n --            CAST(NEW.VidQuoteID AS CHAR),\"-\",\n --            CAST(@Lista AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteItem AS CHAR),\"-\",\n --            NEW.VidQuoteProdID,\"-\",\n --            CAST(NEW.VidQuoteProdCantidad AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteAncho AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteAlto AS CHAR),\"-\",\n --            CAST(NEW.VidQuotePrecio AS CHAR),\"-\",\n --            CAST(@CoeficienteCL*@CoeficienteAC AS CHAR)\n --            ));\n    END IF;\nEND$$\n</pre></small>\n== Bitácora ==\n*20120925\n**Lanzamiento debido a nuevo diseño de FORM:Presupuesto.\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(635,'== Descripción ==\nTrigger del evento BEFORE UPDATE de [[TABLA:vidquoten2]]\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[PROC:AltaItemPresupuesto]]\n\n== Código ==\n<small><pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n--             CALL DebugCheckPoint(\n--                 CONCAT(\n--                 \"TRIG:Actualiza_Item_Presupuesto\",\"/OLD/\",\n--                 CAST(OLD.VidQuoteID AS CHAR),\"-\",\n--                 CAST(@Lista AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteItem AS CHAR),\"-\",\n--                 OLD.VidQuoteProdID,\"-\",\n--                 CAST(OLD.VidQuoteProdCantidad AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteAncho AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteAlto AS CHAR),\"-\",\n--                 CAST(OLD.VidQuotePrecio AS CHAR),\"-\",\n--                 CAST(@CoeficienteCL*@CoeficienteAC AS CHAR)\n--                 ));\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n --        CALL DebugCheckPoint(\n --            CONCAT(\n --            \"TRIG:Actualiza_Item_Presupuesto\",\"/NEW/\",\n --            CAST(NEW.VidQuoteID AS CHAR),\"-\",\n --            CAST(@Lista AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteItem AS CHAR),\"-\",\n --            NEW.VidQuoteProdID,\"-\",\n --            CAST(NEW.VidQuoteProdCantidad AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteAncho AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteAlto AS CHAR),\"-\",\n --            CAST(NEW.VidQuotePrecio AS CHAR),\"-\",\n --            CAST(@CoeficienteCL*@CoeficienteAC AS CHAR)\n --            ));\n    END IF;\nEND$$\n</pre></small>\n== Bitácora ==\n*20120925\n**Lanzamiento debido a nuevo diseño de FORM:Presupuesto.\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(636,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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:ActualizarItemPresupuesto]]. 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\'\'\'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'),(637,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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\'\'\'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'),(638,'== Descripción ==\nTrigger del evento BEFORE UPDATE de [[TABLA:vidquoten2]]\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:ActualizaItemPresupuesto]]\n\n== Código ==\n<small><pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n--             CALL DebugCheckPoint(\n--                 CONCAT(\n--                 \"TRIG:Actualiza_Item_Presupuesto\",\"/OLD/\",\n--                 CAST(OLD.VidQuoteID AS CHAR),\"-\",\n--                 CAST(@Lista AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteItem AS CHAR),\"-\",\n--                 OLD.VidQuoteProdID,\"-\",\n--                 CAST(OLD.VidQuoteProdCantidad AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteAncho AS CHAR),\"-\",\n--                 CAST(OLD.VidQuoteAlto AS CHAR),\"-\",\n--                 CAST(OLD.VidQuotePrecio AS CHAR),\"-\",\n--                 CAST(@CoeficienteCL*@CoeficienteAC AS CHAR)\n--                 ));\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n --        CALL DebugCheckPoint(\n --            CONCAT(\n --            \"TRIG:Actualiza_Item_Presupuesto\",\"/NEW/\",\n --            CAST(NEW.VidQuoteID AS CHAR),\"-\",\n --            CAST(@Lista AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteItem AS CHAR),\"-\",\n --            NEW.VidQuoteProdID,\"-\",\n --            CAST(NEW.VidQuoteProdCantidad AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteAncho AS CHAR),\"-\",\n --            CAST(NEW.VidQuoteAlto AS CHAR),\"-\",\n --            CAST(NEW.VidQuotePrecio AS CHAR),\"-\",\n --            CAST(@CoeficienteCL*@CoeficienteAC AS CHAR)\n --            ));\n    END IF;\nEND$$\n</pre></small>\n== Bitácora ==\n*20120925\n**Lanzamiento debido a nuevo diseño de FORM:Presupuesto.\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(639,'== Descripción ==\nActualiza los precios unitario y subtotal en la TABLA:vidquoten3 de un Producto determinado para todos sus componentes.\n== Composición ==\n*[[TABLA:composicion]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaItemPresupuesto`(\n    IN pVidQuoteID INT(5),\n    IN pVidQuoteItem INT(5),\n    IN pVidQuoteProdCantidad INT(5),\n    IN pVidQuoteAncho INT(5),\n    IN pVidQuoteAlto INT(5),\n    IN pVidQuoteLista INT(1),\n    IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\n-- SET\n-- @pVidQuoteID = 50,\n-- @pVidQuoteItem = 3,\n-- @pVidQuoteProdCantidad = 1,\n-- @pVidQuoteAncho = 1000,\n-- @pVidQuoteAlto = 1000,\n-- @pVidQuoteLista = 1,\n-- @pCoeficienteAC = 1.0;\n-- CALL DebugCheckPoint(\n--     CONCAT(\n--     \"PROC:ActualizaItemPresupuesto\",\"/VAR/\",\n--     CAST(pVidQuoteID AS CHAR),\"-\",\n--     CAST(pVidQuoteLista AS CHAR),\"-\",\n--     CAST(pVidQuoteItem AS CHAR),\"-\",\n--     CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n--     CAST(pVidQuoteAncho AS CHAR),\"-\",\n--     CAST(pVidQuoteAlto AS CHAR),\"-\",\n--     CAST(pCoeficienteAC AS CHAR)\n--     ));\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        pVidQuoteAncho, \n                        pVidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        pVidQuoteAncho, \n                        pVidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * pVidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteItem = pVidQuoteItem AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            pVidQuoteAncho, \n            pVidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            pVidQuoteAncho, \n            pVidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * pVidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n        V1.VidQuoteItem = pVidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\nEND\n</pre></small>\n== Bitácora ==\n*20120921\n**Alta ante rediseño de [[FORM:Presupuesto]]\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[TRIG:Actualiza_Item_Presupuesto]]','utf-8'),(640,'== Descripción ==\nActualiza los precios unitario y subtotal en la [[TABLA:vidquoten3]] de un Producto determinado para todos sus componentes.\n\n== Composición ==\n*[[TABLA:composicion]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaItemPresupuesto`(\n    IN pVidQuoteID INT(5),\n    IN pVidQuoteItem INT(5),\n    IN pVidQuoteProdCantidad INT(5),\n    IN pVidQuoteAncho INT(5),\n    IN pVidQuoteAlto INT(5),\n    IN pVidQuoteLista INT(1),\n    IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\n-- SET\n-- @pVidQuoteID = 50,\n-- @pVidQuoteItem = 3,\n-- @pVidQuoteProdCantidad = 1,\n-- @pVidQuoteAncho = 1000,\n-- @pVidQuoteAlto = 1000,\n-- @pVidQuoteLista = 1,\n-- @pCoeficienteAC = 1.0;\n-- CALL DebugCheckPoint(\n--     CONCAT(\n--     \"PROC:ActualizaItemPresupuesto\",\"/VAR/\",\n--     CAST(pVidQuoteID AS CHAR),\"-\",\n--     CAST(pVidQuoteLista AS CHAR),\"-\",\n--     CAST(pVidQuoteItem AS CHAR),\"-\",\n--     CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n--     CAST(pVidQuoteAncho AS CHAR),\"-\",\n--     CAST(pVidQuoteAlto AS CHAR),\"-\",\n--     CAST(pCoeficienteAC AS CHAR)\n--     ));\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        pVidQuoteAncho, \n                        pVidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        pVidQuoteAncho, \n                        pVidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * pVidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteItem = pVidQuoteItem AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            pVidQuoteAncho, \n            pVidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            pVidQuoteAncho, \n            pVidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * pVidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n        V1.VidQuoteItem = pVidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\nEND\n</pre></small>\n== Bitácora ==\n*20120921\n**Alta ante rediseño de [[FORM:Presupuesto]]\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[TRIG:Actualiza_Item_Presupuesto]]','utf-8'),(641,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912\'\'\'\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\'\'\'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'),(642,'== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n<small><pre>\n</pre></small>\n== Bitácora ==\n*20120409\n**Alta para [[FORM:Presupuesto.v1.0]]\n<small><pre>\ndelimiter $$\n\nCREATE PROCEDURE `CopiaPresupuesto` (IN pVidQuoteID INT(5))\n\nBEGIN\n\nINSERT INTO vidquoten1 (\n`VidQuoteID`,\n`VidQuoteObra`,\n`VidQuoteCliente`,\n`VidQuoteFecha`,\n`VidQuoteValidez`,\n`VidQuoteFechaEst`,\n`VidQuoteEstado`,\n`VidQuoteACom`)\nSELECT\nNULL,\n`vidquoten1`.`VidQuoteObra`,\n`vidquoten1`.`VidQuoteCliente`,\n`vidquoten1`.`VidQuoteFecha`,\n`vidquoten1`.`VidQuoteValidez`,\n`vidquoten1`.`VidQuoteFechaEst`,\n`vidquoten1`.`VidQuoteEstado`,\n`vidquoten1`.`VidQuoteACom`\nFROM `fzggestion`.`vidquoten1`\nWHERE `vidquoten1`.`VidQuoteID`= pVidQuoteID;\n\nSET @npr = LAST_INSERT_ID();\n\nINSERT INTO `fzggestion`.`vidquoten2`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuotePrecio`,\n`VidQuoteDetalle`)\nSELECT\n@npr,\n`vidquoten2`.`VidQuoteLPre`,\n`vidquoten2`.`VidQuoteItem`,\n`vidquoten2`.`VidQuoteProdID`,\n`vidquoten2`.`VidQuoteProdCantidad`,\n`vidquoten2`.`VidQuoteAncho`,\n`vidquoten2`.`VidQuoteAlto`,\n`vidquoten2`.`VidQuotePrecio`,\n`vidquoten2`.`VidQuoteDetalle`\nFROM `fzggestion`.`vidquoten2`\nWHERE `vidquoten2`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten3`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuoteElementoID`,\n`VidQuotePrecio`,\n`VidQuotePrecioP`,\n`VidQuoteIncluyeDet`)\nSELECT\n@npr,\n`vidquoten3`.`VidQuoteLPre`,\n`vidquoten3`.`VidQuoteItem`,\n`vidquoten3`.`VidQuoteProdID`,\n`vidquoten3`.`VidQuoteProdCantidad`,\n`vidquoten3`.`VidQuoteAncho`,\n`vidquoten3`.`VidQuoteAlto`,\n`vidquoten3`.`VidQuoteElementoID`,\n`vidquoten3`.`VidQuotePrecio`,\n`vidquoten3`.`VidQuotePrecioP`,\n`vidquoten3`.`VidQuoteIncluyeDet`\nFROM `fzggestion`.`vidquoten3`\nWHERE `vidquoten3`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten4`\n(`VidQuoteID`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteElementoID`,\n`VidQuoteValorID`,\n`VidQuoteVTipo`,\n`VidQuoteVNecesario`,\n`VidQuoteVEntero`,\n`VidQuoteVDecimal`,\n`VidQuoteVTexto`)\nSELECT\n@npr,\n`vidquoten4`.`VidQuoteItem`,\n`vidquoten4`.`VidQuoteProdID`,\n`vidquoten4`.`VidQuoteElementoID`,\n`vidquoten4`.`VidQuoteValorID`,\n`vidquoten4`.`VidQuoteVTipo`,\n`vidquoten4`.`VidQuoteVNecesario`,\n`vidquoten4`.`VidQuoteVEntero`,\n`vidquoten4`.`VidQuoteVDecimal`,\n`vidquoten4`.`VidQuoteVTexto`\nFROM `fzggestion`.`vidquoten4`\nWHERE `vidquoten4`.`VidQuoteID`= pVidQuoteID;\nEND$$\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:PresupuestoCopia]]','utf-8'),(643,'== Descripción ==\nCopia la información de un presupuesto seleccionado a otro nuevo.\n== Composición ==\n[[TABLA:vidquoten1]]\n[[TABLA:vidquoten2]]\n[[TABLA:vidquoten3]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `CopiaPresupuesto`(IN pVidQuoteID INT(5))\nBEGIN\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself\n    -- ------------------------------------------------------\n    INSERT INTO vidquoten1 (\n    `VidQuoteID`,\n    `VidQuoteObra`,\n    `VidQuoteCliente`,\n    `VidQuoteFecha`,\n    `VidQuoteFechaEst`,\n    `VidQuoteEstado`,\n    `VidQuoteACom`,\n    `VidQuoteMedCheck`)\n    SELECT\n    NULL,\n    `vidquoten1`.`VidQuoteObra`,\n    `vidquoten1`.`VidQuoteCliente`,\n    `vidquoten1`.`VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteFechaEst`,\n    `vidquoten1`.`VidQuoteEstado`,\n    `vidquoten1`.`VidQuoteACom`,\n    `vidquoten1`.`VidQuoteMedCheck`\n    FROM `vidquoten1`\n    WHERE `vidquoten1`.`VidQuoteID`= pVidQuoteID;\n    -- ------------------------------------------------------\n    -- Take ID generated by AI\n    -- ------------------------------------------------------\n    SET @npr = LAST_INSERT_ID();\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself with @npr\n    -- ------------------------------------------------------\n    INSERT INTO `fzggestion`.`vidquoten2`\n    (`VidQuoteID`,\n    `VidQuoteItem`,\n    `VidQuotePredID`,\n    `VidQuoteProdID`,\n    `VidQuoteProdCantidad`,\n    `VidQuoteAncho`,\n    `VidQuoteAlto`,\n    `VidQuotePrecio`,\n    `VidQuoteDetalle`)\n    SELECT\n    @npr,\n    `vidquoten2`.`VidQuoteItem`,\n    `vidquoten2`.`VidQuotePredID`,\n    `vidquoten2`.`VidQuoteProdID`,\n    `vidquoten2`.`VidQuoteProdCantidad`,\n    `vidquoten2`.`VidQuoteAncho`,\n    `vidquoten2`.`VidQuoteAlto`,\n    `vidquoten2`.`VidQuotePrecio`,\n    `vidquoten2`.`VidQuoteDetalle`\n    FROM `vidquoten2`\n    WHERE `vidquoten2`.`VidQuoteID`= pVidQuoteID;\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself with @npr\n    -- ------------------------------------------------------\n    INSERT INTO `vidquoten3`\n    (`VidQuoteID`,\n    `VidQuoteItem`,\n    `VidQuoteProdID`,\n    `VidQuoteElementoID`,\n    `VidQuoteComposicID`,\n    `VidQuoteProdCantidad`,\n    `VidQuoteAncho`,\n    `VidQuoteAlto`,\n    `VidQuotePrecio`,\n    `VidQuotePrecioP`,\n    `VidQuoteIncluyeDet`)\n    SELECT\n    @npr,\n    `vidquoten3`.`VidQuoteItem`,\n    `vidquoten3`.`VidQuoteProdID`,\n    `vidquoten3`.`VidQuoteElementoID`,\n    `vidquoten3`.`VidQuoteComposicID`,\n    `vidquoten3`.`VidQuoteProdCantidad`,\n    `vidquoten3`.`VidQuoteAncho`,\n    `vidquoten3`.`VidQuoteAlto`,\n    `vidquoten3`.`VidQuotePrecio`,\n    `vidquoten3`.`VidQuotePrecioP`,\n    `vidquoten3`.`VidQuoteIncluyeDet`\n    FROM `fzggestion`.`vidquoten3`\n    WHERE `vidquoten3`.`VidQuoteID`= pVidQuoteID;\nEND\n</pre></small>\n== Bitácora ==\n*20120409\n**Alta para [[FORM:Presupuesto.v1.0]]\n<small><pre>\ndelimiter $$\n\nCREATE PROCEDURE `CopiaPresupuesto` (IN pVidQuoteID INT(5))\n\nBEGIN\n\nINSERT INTO vidquoten1 (\n`VidQuoteID`,\n`VidQuoteObra`,\n`VidQuoteCliente`,\n`VidQuoteFecha`,\n`VidQuoteValidez`,\n`VidQuoteFechaEst`,\n`VidQuoteEstado`,\n`VidQuoteACom`)\nSELECT\nNULL,\n`vidquoten1`.`VidQuoteObra`,\n`vidquoten1`.`VidQuoteCliente`,\n`vidquoten1`.`VidQuoteFecha`,\n`vidquoten1`.`VidQuoteValidez`,\n`vidquoten1`.`VidQuoteFechaEst`,\n`vidquoten1`.`VidQuoteEstado`,\n`vidquoten1`.`VidQuoteACom`\nFROM `fzggestion`.`vidquoten1`\nWHERE `vidquoten1`.`VidQuoteID`= pVidQuoteID;\n\nSET @npr = LAST_INSERT_ID();\n\nINSERT INTO `fzggestion`.`vidquoten2`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuotePrecio`,\n`VidQuoteDetalle`)\nSELECT\n@npr,\n`vidquoten2`.`VidQuoteLPre`,\n`vidquoten2`.`VidQuoteItem`,\n`vidquoten2`.`VidQuoteProdID`,\n`vidquoten2`.`VidQuoteProdCantidad`,\n`vidquoten2`.`VidQuoteAncho`,\n`vidquoten2`.`VidQuoteAlto`,\n`vidquoten2`.`VidQuotePrecio`,\n`vidquoten2`.`VidQuoteDetalle`\nFROM `fzggestion`.`vidquoten2`\nWHERE `vidquoten2`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten3`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuoteElementoID`,\n`VidQuotePrecio`,\n`VidQuotePrecioP`,\n`VidQuoteIncluyeDet`)\nSELECT\n@npr,\n`vidquoten3`.`VidQuoteLPre`,\n`vidquoten3`.`VidQuoteItem`,\n`vidquoten3`.`VidQuoteProdID`,\n`vidquoten3`.`VidQuoteProdCantidad`,\n`vidquoten3`.`VidQuoteAncho`,\n`vidquoten3`.`VidQuoteAlto`,\n`vidquoten3`.`VidQuoteElementoID`,\n`vidquoten3`.`VidQuotePrecio`,\n`vidquoten3`.`VidQuotePrecioP`,\n`vidquoten3`.`VidQuoteIncluyeDet`\nFROM `fzggestion`.`vidquoten3`\nWHERE `vidquoten3`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten4`\n(`VidQuoteID`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteElementoID`,\n`VidQuoteValorID`,\n`VidQuoteVTipo`,\n`VidQuoteVNecesario`,\n`VidQuoteVEntero`,\n`VidQuoteVDecimal`,\n`VidQuoteVTexto`)\nSELECT\n@npr,\n`vidquoten4`.`VidQuoteItem`,\n`vidquoten4`.`VidQuoteProdID`,\n`vidquoten4`.`VidQuoteElementoID`,\n`vidquoten4`.`VidQuoteValorID`,\n`vidquoten4`.`VidQuoteVTipo`,\n`vidquoten4`.`VidQuoteVNecesario`,\n`vidquoten4`.`VidQuoteVEntero`,\n`vidquoten4`.`VidQuoteVDecimal`,\n`vidquoten4`.`VidQuoteVTexto`\nFROM `fzggestion`.`vidquoten4`\nWHERE `vidquoten4`.`VidQuoteID`= pVidQuoteID;\nEND$$\n</pre></small>\n*20120925\n**Actualización de los atributos a utilizar y eliminación provisoria de la información de [[TABLA:vidquoten4]]\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:PresupuestoCopia]]','utf-8'),(644,'== Descripción ==\nCopia la información de un presupuesto seleccionado a otro nuevo.\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `CopiaPresupuesto`(IN pVidQuoteID INT(5))\nBEGIN\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself\n    -- ------------------------------------------------------\n    INSERT INTO vidquoten1 (\n    `VidQuoteID`,\n    `VidQuoteObra`,\n    `VidQuoteCliente`,\n    `VidQuoteFecha`,\n    `VidQuoteFechaEst`,\n    `VidQuoteEstado`,\n    `VidQuoteACom`,\n    `VidQuoteMedCheck`)\n    SELECT\n    NULL,\n    `vidquoten1`.`VidQuoteObra`,\n    `vidquoten1`.`VidQuoteCliente`,\n    `vidquoten1`.`VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteFechaEst`,\n    `vidquoten1`.`VidQuoteEstado`,\n    `vidquoten1`.`VidQuoteACom`,\n    `vidquoten1`.`VidQuoteMedCheck`\n    FROM `vidquoten1`\n    WHERE `vidquoten1`.`VidQuoteID`= pVidQuoteID;\n    -- ------------------------------------------------------\n    -- Take ID generated by AI\n    -- ------------------------------------------------------\n    SET @npr = LAST_INSERT_ID();\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself with @npr\n    -- ------------------------------------------------------\n    INSERT INTO `fzggestion`.`vidquoten2`\n    (`VidQuoteID`,\n    `VidQuoteItem`,\n    `VidQuotePredID`,\n    `VidQuoteProdID`,\n    `VidQuoteProdCantidad`,\n    `VidQuoteAncho`,\n    `VidQuoteAlto`,\n    `VidQuotePrecio`,\n    `VidQuoteDetalle`)\n    SELECT\n    @npr,\n    `vidquoten2`.`VidQuoteItem`,\n    `vidquoten2`.`VidQuotePredID`,\n    `vidquoten2`.`VidQuoteProdID`,\n    `vidquoten2`.`VidQuoteProdCantidad`,\n    `vidquoten2`.`VidQuoteAncho`,\n    `vidquoten2`.`VidQuoteAlto`,\n    `vidquoten2`.`VidQuotePrecio`,\n    `vidquoten2`.`VidQuoteDetalle`\n    FROM `vidquoten2`\n    WHERE `vidquoten2`.`VidQuoteID`= pVidQuoteID;\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself with @npr\n    -- ------------------------------------------------------\n    INSERT INTO `vidquoten3`\n    (`VidQuoteID`,\n    `VidQuoteItem`,\n    `VidQuoteProdID`,\n    `VidQuoteElementoID`,\n    `VidQuoteComposicID`,\n    `VidQuoteProdCantidad`,\n    `VidQuoteAncho`,\n    `VidQuoteAlto`,\n    `VidQuotePrecio`,\n    `VidQuotePrecioP`,\n    `VidQuoteIncluyeDet`)\n    SELECT\n    @npr,\n    `vidquoten3`.`VidQuoteItem`,\n    `vidquoten3`.`VidQuoteProdID`,\n    `vidquoten3`.`VidQuoteElementoID`,\n    `vidquoten3`.`VidQuoteComposicID`,\n    `vidquoten3`.`VidQuoteProdCantidad`,\n    `vidquoten3`.`VidQuoteAncho`,\n    `vidquoten3`.`VidQuoteAlto`,\n    `vidquoten3`.`VidQuotePrecio`,\n    `vidquoten3`.`VidQuotePrecioP`,\n    `vidquoten3`.`VidQuoteIncluyeDet`\n    FROM `fzggestion`.`vidquoten3`\n    WHERE `vidquoten3`.`VidQuoteID`= pVidQuoteID;\nEND\n</pre></small>\n== Bitácora ==\n*20120409\n**Alta para [[FORM:Presupuesto.v1.0]]\n<small><pre>\ndelimiter $$\n\nCREATE PROCEDURE `CopiaPresupuesto` (IN pVidQuoteID INT(5))\n\nBEGIN\n\nINSERT INTO vidquoten1 (\n`VidQuoteID`,\n`VidQuoteObra`,\n`VidQuoteCliente`,\n`VidQuoteFecha`,\n`VidQuoteValidez`,\n`VidQuoteFechaEst`,\n`VidQuoteEstado`,\n`VidQuoteACom`)\nSELECT\nNULL,\n`vidquoten1`.`VidQuoteObra`,\n`vidquoten1`.`VidQuoteCliente`,\n`vidquoten1`.`VidQuoteFecha`,\n`vidquoten1`.`VidQuoteValidez`,\n`vidquoten1`.`VidQuoteFechaEst`,\n`vidquoten1`.`VidQuoteEstado`,\n`vidquoten1`.`VidQuoteACom`\nFROM `fzggestion`.`vidquoten1`\nWHERE `vidquoten1`.`VidQuoteID`= pVidQuoteID;\n\nSET @npr = LAST_INSERT_ID();\n\nINSERT INTO `fzggestion`.`vidquoten2`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuotePrecio`,\n`VidQuoteDetalle`)\nSELECT\n@npr,\n`vidquoten2`.`VidQuoteLPre`,\n`vidquoten2`.`VidQuoteItem`,\n`vidquoten2`.`VidQuoteProdID`,\n`vidquoten2`.`VidQuoteProdCantidad`,\n`vidquoten2`.`VidQuoteAncho`,\n`vidquoten2`.`VidQuoteAlto`,\n`vidquoten2`.`VidQuotePrecio`,\n`vidquoten2`.`VidQuoteDetalle`\nFROM `fzggestion`.`vidquoten2`\nWHERE `vidquoten2`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten3`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuoteElementoID`,\n`VidQuotePrecio`,\n`VidQuotePrecioP`,\n`VidQuoteIncluyeDet`)\nSELECT\n@npr,\n`vidquoten3`.`VidQuoteLPre`,\n`vidquoten3`.`VidQuoteItem`,\n`vidquoten3`.`VidQuoteProdID`,\n`vidquoten3`.`VidQuoteProdCantidad`,\n`vidquoten3`.`VidQuoteAncho`,\n`vidquoten3`.`VidQuoteAlto`,\n`vidquoten3`.`VidQuoteElementoID`,\n`vidquoten3`.`VidQuotePrecio`,\n`vidquoten3`.`VidQuotePrecioP`,\n`vidquoten3`.`VidQuoteIncluyeDet`\nFROM `fzggestion`.`vidquoten3`\nWHERE `vidquoten3`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten4`\n(`VidQuoteID`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteElementoID`,\n`VidQuoteValorID`,\n`VidQuoteVTipo`,\n`VidQuoteVNecesario`,\n`VidQuoteVEntero`,\n`VidQuoteVDecimal`,\n`VidQuoteVTexto`)\nSELECT\n@npr,\n`vidquoten4`.`VidQuoteItem`,\n`vidquoten4`.`VidQuoteProdID`,\n`vidquoten4`.`VidQuoteElementoID`,\n`vidquoten4`.`VidQuoteValorID`,\n`vidquoten4`.`VidQuoteVTipo`,\n`vidquoten4`.`VidQuoteVNecesario`,\n`vidquoten4`.`VidQuoteVEntero`,\n`vidquoten4`.`VidQuoteVDecimal`,\n`vidquoten4`.`VidQuoteVTexto`\nFROM `fzggestion`.`vidquoten4`\nWHERE `vidquoten4`.`VidQuoteID`= pVidQuoteID;\nEND$$\n</pre></small>\n*20120925\n**Actualización de los atributos a utilizar y eliminación provisoria de la información de [[TABLA:vidquoten4]]\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:PresupuestoCopia]]','utf-8'),(645,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(646,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n20120926.1616 [[File:checked.png|20px]]\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(647,'','utf-8'),(648,'===20120702===\n====Agregado de atributo de Medicion en Obra====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteMedCheck` CHAR(1) NULL DEFAULT 0 AFTER `VidQuoteACom`;\n</pre>\n*20120926.1616 [[File:checked.png|20px]]\n\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(649,'===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\n====Actualización de dato de Vigencia de Documentos====\n<pre>\nALTER TABLE `fzggestion`.`contactos`\n	CHANGE COLUMN `CoeficienteAC` `CoeficienteAC` DECIMAL(5,2) NULL DEFAULT 1,\n	CHANGE COLUMN `VigenciaDocs` `VigenciaDocs` INT(2) NULL DEFAULT 15;\nUPDATE `fzggestion`.`contactos`\n	SET `VigenciaDocs` = 15\n	WHERE `VigenciaDocs`= 0 OR ISNULL(`VigenciaDocs`);\n</pre>\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(650,'===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\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\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(651,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n <nowiki>[[File:warning-icon.png|20px]]</nowiki>    [[File:warning-icon.png|20px]]\n[[File:checked.png|20px]]','utf-8'),(652,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n <nowiki>[[File:warning-icon.png|20px]]</nowiki>\n[[File:warning-icon-hi.png|20px]]\n[[File:checked.png|20px]]','utf-8'),(653,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n[File:warning-icon-hi.png|20px] [[File:warning-icon-hi.png|20px]]\n[File:checked.png|20px] [[File:checked.png|20px]]','utf-8'),(654,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*[File:warning-icon-hi.png|20px] [[File:warning-icon-hi.png|20px]]\n*[File:checked.png|20px] [[File:checked.png|20px]]','utf-8'),(655,'===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\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\n====Actualización de datos para el control de Cobranzas====\nALTER TABLE `fzggestion`.`accreceiv` \n	ADD COLUMN `ClienteAR` CHAR(8) NULL DEFAULT NULL  AFTER `ImporteAR`,\n	DROP PRIMARY KEY,\n	ADD PRIMARY KEY (`TTransaccion`, `NTransaccion`);\n*20120926.1651 [[File:checked.png|20px]]\n\n====Crear [[VISTA:vistranscrm]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(656,'===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\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\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]]====\n====Crear [[TABLA:clientescrmqry]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(657,'===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\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\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]]====\n====Crear [[VISTA:chqactivos]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(658,'===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\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\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]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(659,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*[File:warning-icon-hi.png|20px]] [[File:warning-icon-hi.png|20px]]\n*[File:checked.png|20px]] [[File:checked.png|20px]]','utf-8'),(660,'===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\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\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]]====\n====Crear [[TABLA:accpayab]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(661,'== Descripción ==\nTabla temporaria para almacenar los datos del cliente \n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `clientescrmqry` (\n  `idclientesCRMqry` int(11) NOT NULL AUTO_INCREMENT,\n  `ClienteID` char(8) DEFAULT NULL,\n  `FechaIni` date DEFAULT NULL,\n  `FechaFin` date DEFAULT NULL,\n  PRIMARY KEY (`idclientesCRMqry`)\n) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:ClienteCRM]]\n== URL ==','utf-8'),(662,'===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\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\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]]====\n<pre>\ndelimiter $$\nCREATE TABLE `accpayab` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AP\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAP` date DEFAULT NULL,\n  `FechaAP` date DEFAULT NULL,\n  `FormaAP` char(3) DEFAULT NULL,\n  `ImporteAP` decimal(10,2) DEFAULT NULL,\n  `ProveedAP` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `DDocumentoOrg` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Pago`\nBEFORE INSERT ON `fzggestion`.`accpayab`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAP = CURDATE();\nEND\n$$\n</pre>\n====Modifica [[TABLA:fPago]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(663,'===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\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\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]]====\n<pre>\nALTER TABLE `fzggestion`.`fpago`\n	ADD COLUMN `FPagoAR` CHAR(1) NULL AFTER `FPagoDSC`,\n	ADD COLUMN `FPagoAP` CHAR(1) NULL AFTER `FPagoAR`;\n</pre>\n====Rediseña [[TABLA:tdocumento]]====\n\n====Crea [[VISTA:vischtdisp]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(664,'===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\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\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]]====\n====Crea [[VISTA:vistotprod]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(665,'===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\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\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]]====\n====Crea [[TABLA:vidquoten3tmp]====\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(666,'===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\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\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]====\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(667,'===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\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\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]]====\n\n====Reemplazar todos los ElementoPM en Componentes por los nuevos valores====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(668,'== Descripción ==\nBuffer temporario para permitir taggear opciones dentro de la confiormación presupuestaria\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten3tmp` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteItem` int(11) NOT NULL,\n  `VidQuoteProdID` char(8) NOT NULL,\n  `VidQuoteElementoID` char(8) NOT NULL,\n  `VidQuoteComposicID` int(11) NOT NULL,\n  `VidQuoteElementoPM` int(1) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(16,8) DEFAULT NULL,\n  `VidQuotePrecioP` decimal(16,8) DEFAULT NULL,\n  `VidQuoteIncluyeDet` tinyint(1) DEFAULT \'0\',\n  `VidQuoteQuickSelect` tinyint(1) DEFAULT \'0\',\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`,`VidQuoteProdID`,`VidQuoteElementoID`,`VidQuoteComposicID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n*20120824\n**Alta de Tabla\n== Uso ==\n*[[FORM:Presupuesto]]\n== URL ==','utf-8'),(669,'===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\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\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====\n<pre>\nUPDATE fzggestion.composicion SET ElementoPM=2 WHERE ElementoPM=0;\nUPDATE fzggestion.composicion SET ElementoPM=0 WHERE ElementoPM=1;\n</pre>\n\'\'\'20120831\'\'\'\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(670,'===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\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\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====\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]]\n\'\'\'20120831\'\'\'\n\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(671,'===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\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\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]]\n\'\'\'20120831\'\'\'\n\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(672,'===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\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\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]]\n===20120831===\n\n====Agregar Nombre de Usuario [[TABLA:precios]]====\n<pre>\nALTER TABLE `fzggestion`.`precios` \n	ADD COLUMN `UserModificacion` VARCHAR(20) NULL AFTER `HoraModificacion` ;\nALTER TABLE `fzggestion`.`precios` \n	CHANGE COLUMN `FechaModificacion` `FechaEvento` DATE NULL DEFAULT NULL,\n	CHANGE COLUMN `HoraModificacion` `HoraEvento` TIME NULL DEFAULT NULL,\n	CHANGE COLUMN `UserModificacion` `UserEvento` VARCHAR(20) NULL DEFAULT NULL;\n</pre>\n\n====Modificación de Triggers [[TABLA:precios]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(673,'===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\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\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]]\n===20120831===\n\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]]====\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Alta_Precio`\nBEFORE INSERT ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Precio`\nBEFORE UPDATE ON `fzggestion`.`precios`\nFOR EACH ROW\nBEGIN\n	SET\n	NEW.FechaEvento = CURDATE(),\n	NEW.HoraEvento = CURTIME(),\n	NEW.UserEvento	= USER();\nEND$$\n</pre>\n====Modificacion de Estructura [[TABLA:contactos]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8');
INSERT INTO `peg_text` VALUES (674,'===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\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\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]]\n===20120831===\n\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]]====\n<pre>\nUPDATE contactos SET ClienteTag=1 WHERE ClienteTag=\"x\";\nUPDATE contactos SET ProveedorTag=1 WHERE ProveedorTag=\"x\";\nUPDATE contactos SET AComercialTag=1 WHERE AComercialTag=\"x\";\nUPDATE contactos SET OtrosTag=1 WHERE OtrosTag=\"x\";\nALTER TABLE `fzggestion`.`contactos` \n	CHANGE COLUMN `ClienteTag` `ClienteTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `ProveedorTag` `ProveedorTag` INT(1) NULL DEFAULT NULL, \n	CHANGE COLUMN `AComercialTag` `AComercialTag` INT(1) NULL DEFAULT NULL,\n	CHANGE COLUMN `OtrosTag` `OtrosTag` INT(1) NULL DEFAULT NULL;\n</pre>\nVerificar los casos que no coincidan con los prefijos establecidos: 0->Cliente, 3->Proveedor, 5->Otros, 8->Agentes Comerciales\n\n====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(675,'===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\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\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]]\n===20120831===\n\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====Cambio de Condición para [[VISTA:clientes]]====\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(676,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]','utf-8'),(677,'===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\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\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]]\n===20120831===\n\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]]====\n\n====Alta de Tabla [[TABLA:telemecomp]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(678,'===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\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\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]]\n===20120831===\n\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]]====\n====Actualizar Routine [[PROC:DuplicaProductoCompo]] en DB====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(679,'===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\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\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]]\n===20120831===\n\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====\n====Agregar atributo ComposicID a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(680,'===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\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\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]]\n===20120831===\n\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]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteLPre` `VidQuoteLPre` INT(1) NULL DEFAULT NULL AFTER `VidQuoteElementoID;\n\nALTER TABLE `fzggestion`.`vidquoten3`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ComposicID a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(681,'===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\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\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]]\n===20120831===\n\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]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` \nCHANGE COLUMN `VidQuoteElementoID` `VidQuoteElementoID` CHAR(8) NOT NULL AFTER `VidQuoteProdID`,\nCHANGE COLUMN `VidQuoteProdCantidad` `VidQuoteProdCantidad` INT(5) NULL DEFAULT NULL  AFTER `VidQuoteElementoID`;\n\nALTER TABLE `fzggestion`.`vidquoten3tmp`\nADD COLUMN `VidQuoteComposicID` INT NOT NULL AFTER `VidQuoteElementoID` ,\nDROP PRIMARY KEY , ADD PRIMARY KEY (`VidQuoteID`,\n                                    `VidQuoteItem`,\n                                    `VidQuoteProdID`,\n                                    `VidQuoteElementoID`,\n                                    `VidQuoteComposicID`) ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3tmp]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(682,'===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\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\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]]\n===20120831===\n\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]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====','utf-8'),(683,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n* [[PROC:AltaItemPresupuesto]]\n* [[PROC:AltaItemPresupuestoTmp]]\n* [[PROC:CalculoPrecio]]\n* [[PROC:CalculoMedidaReal]]\n* [[PROC:DuplicaProductoCompo]]\n* [[PROC:AgregaProductoCompo]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]','utf-8'),(684,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]','utf-8'),(685,'#Lista [[TABLA:vidquoten3]] con todos los elementos para poder calcular el precio sin la indicación del tipo de lista\n#*[[SQLCODE0001]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto=Elemento\n#*[[SQLCODE0002]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado para Producto<>Elemento\n#*[[SQLCODE0003]]\n#Actualiza los precios de elementos en [[TABLA:vidquoten3]] para un Presupuesto e Item determinado.\n#*[[SQLCODE0004]]\n#Genera una estructura que representa el layout de impresión de presupuestos individuales utilizando [[TABLA:vidquoten1]] [[TABLA:vidquoten2]] [[TABLA:vidquoten3]] en forma conjunta con [[TABLA:productos]].\n#*[[SQLCODE0005]]','utf-8'),(686,'<small><pre>\nSELECT \n    vidquoten2.VidQuoteID AS ID,\n    vidquoten2.VidQuoteItem AS Item,\n    vidquoten2.VidQuoteProdCantidad AS Cant,\n    vidquoten2.VidQuoteProdID AS ProdID,\n    CASE\n        WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n            CONCAT(\'Dimension(mm): [\',\n            LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n            LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n        WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n            CONCAT(\'Largo(mm): [\',\n            LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n        ELSE\n            \'\'\n    END AS Dimension,\n    vidquoten2.VidQuotePrecio AS Precio,\n    vidquoten1.VidQuoteFecha AS Fecha,\n    vidquoten1.VidQuoteCliente AS Cliente,\n    vidquoten3.VidQuoteElementoID AS ElementoID,\n    vidquoten3.VidQuoteComposicID AS ComposicID,\n    vidquoten3.VidQuoteIncluyeDet AS Incluye,\n    productos.Descripcion AS DesG,\n    IF(vidquoten3.VidQuoteIncluyeDet = 1,\n        productos_1.Descripcion,\n        \'\') AS DesP\nFROM\n    vidquoten1 AS vidquoten1,\n    vidquoten2 AS vidquoten2,\n    vidquoten3 AS vidquoten3,\n    productos AS productos,\n    productos AS productos_1\nWHERE\n    vidquoten3.VidQuoteIncluyeDet = 1 AND \n    vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n    vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n    vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n    productos.ProductoID = vidquoten3.VidQuoteProdID AND \n    productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n    vidquoten2.VidQuoteID = 50\n\nUNION\nSELECT \n    vidquoten2.VidQuoteID AS ID,\n    vidquoten2.VidQuoteItem AS Item,\n    vidquoten2.VidQuoteProdCantidad AS Cant,\n    vidquoten2.VidQuoteProdID AS ProdID,\n    CASE\n        WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n            CONCAT(\'Dimension(mm): [\',\n            LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n            LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n        WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n            CONCAT(\'Largo(mm): [\',\n            LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n        ELSE\n            \'\'\n    END AS Dimension,\n    vidquoten2.VidQuotePrecio AS Precio,\n    vidquoten1.VidQuoteFecha AS Fecha,\n    vidquoten1.VidQuoteCliente AS Cliente,\n    vidquoten3.VidQuoteElementoID AS ElementoID,\n    vidquoten3.VidQuoteComposicID AS ComposicID,\n    vidquoten3.VidQuoteIncluyeDet AS Incluye,\n    productos.Descripcion AS DesG,\n    IF(vidquoten3.VidQuoteIncluyeDet = 1,\n        productos_1.Descripcion,\n        \'\') AS DesP\nFROM\n    vidquoten1 AS vidquoten1,\n    vidquoten2 AS vidquoten2,\n    vidquoten3 AS vidquoten3,\n    productos AS productos,\n    productos AS productos_1\nWHERE\n    vidquoten2.VidQuoteID = 50 AND\n    vidquoten3.VidQuoteIncluyeDet = 0 AND\n    vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n    vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n    vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n    productos.ProductoID = vidquoten3.VidQuoteProdID AND \n    productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n    vidquoten2.VidQuoteItem NOT IN (\n        SELECT \n            vidquoten2.VidQuoteItem AS Item\n        FROM\n            vidquoten2 AS vidquoten2,\n            vidquoten3 AS vidquoten3\n        WHERE\n            vidquoten3.VidQuoteIncluyeDet = 1 AND\n            vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n            vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n            vidquoten2.VidQuoteID = 50\n        GROUP BY\n            vidquoten2.VidQuoteItem)\n</pre></small>','utf-8'),(687,'== Descripción ==\nA partir de la ejecución, se indica en [[TABLA:reppresqry]] el presupuesto fetcheado en ese momento. Se hace una combinación a partir de la [[TABLA:vidquoten2]] combinada con [[TABLA:vidquoten3]] tomando en 2 partes (por la diferencia entre el [[CTRL:VidQuoteIncluyeDet]]) seleccionando todos los registro en la 1º parte y en la segunda todos aquellos que que no tengan el valor del [[CTRL:VidQuoteIncluyeDet]] = 0 y que no se encuentren dentro de la primera parte. Se agregan para completar el cuadro los datos complementarios de [[TABLA:vidquoten1]] [[TABLA:productos]] [[TABLA:clientes]] y un totalizador por presupuesto que no es posible de generar dentro de la 4º forma normal con las tablas al tiempo de ejecuación del reporte propiamente dicho.\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:productos]]\n*[[TABLA:clientes]]\n*[[TABLA:reppresqry]]\n== SQL ==\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n== Bitácora ==\n*20121002\n**Cambio de Estructura por Requerimiento. Query anterior:\n<small><pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre></small>\n== URL ==','utf-8'),(688,'== Descripción ==\nA partir de la ejecución, se indica en [[TABLA:reppresqry]] el presupuesto fetcheado en ese momento. Se hace una combinación a partir de la [[TABLA:vidquoten2]] combinada con [[TABLA:vidquoten3]] tomando en 2 partes (por la diferencia entre el [[CTRL:VidQuoteIncluyeDet]]) seleccionando todos los registro en la 1º parte y en la segunda todos aquellos que que no tengan el valor del [[CTRL:VidQuoteIncluyeDet]] = 0 y que no se encuentren dentro de la primera parte. Se agregan para completar el cuadro los datos complementarios de [[TABLA:vidquoten1]] [[TABLA:productos]] [[VISTA:clientes]] y un totalizador por presupuesto que no es posible de generar dentro de la 4º forma normal con las tablas al tiempo de ejecuación del reporte propiamente dicho.\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:productos]]\n*[[VISTA:clientes]]\n*[[TABLA:reppresqry]]\n== SQL ==\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n== Bitácora ==\n*20121002\n**Cambio de Estructura por Requerimiento. Query anterior:\n<small><pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre></small>\n== URL ==','utf-8'),(689,'== Descripción ==\nA partir de la ejecución, se indica en [[TABLA:reppresqry]] el presupuesto fetcheado en ese momento. Se hace una combinación a partir de la [[TABLA:vidquoten2]] combinada con [[TABLA:vidquoten3]] tomando en 2 partes (por la diferencia entre el [[CTRL:VidQuoteIncluyeDet]]) seleccionando todos los registro en la 1º parte y en la segunda todos aquellos que que no tengan el valor del [[CTRL:VidQuoteIncluyeDet]] = 0 y que no se encuentren dentro de la primera parte. Se agregan para completar el cuadro los datos complementarios de [[TABLA:vidquoten1]], [[TABLA:productos]], [[VISTA:clientes]] y un totalizador por presupuesto que no es posible de generar dentro de la 4º forma normal con las tablas al tiempo de ejecuación del reporte propiamente dicho.\n\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:productos]]\n*[[VISTA:clientes]]\n*[[TABLA:reppresqry]]\n== SQL ==\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n== Bitácora ==\n*20121002\n**Cambio de Estructura por Requerimiento. Query anterior:\n<small><pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre></small>\n== URL ==','utf-8'),(690,'== Descripción ==\nTabla temporaria para almacenar un número de presupuesto asociado y transferir la info entre procesos no continuos\n== Composición ==\nTABLA:reppresqry\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\nCREATE TABLE `reppresqry` (\n  `VidQuoteID` int(11) NOT NULL,\n  PRIMARY KEY (`VidQuoteID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n< /pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[REPORT:Presupuesto]]\n== URL ==','utf-8'),(691,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\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== 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|707325105\n|FZG\n|FZG010\n|}\nUPDATE user \nSET user_password = CONCAT(\':A:\', MD5(\'<password>\')) \nWHERE TRIM(CAST(user_email AS CHAR(40)))=<direccion>\n</pre>','utf-8'),(692,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\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== 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|707325105\n|FZG\n|FZG010\n|}','utf-8'),(693,'== Descripción ==\nTraslada las modificaciones hechas sobre la [[TABLA:vidquoten3tmp]] a la definitiva [[TABLA:vidquoten3]]\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquotenetmp]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM\n        vidquoten3 \n    WHERE\n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\n	-- -------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        VidQuoteIncluyeDet)\n	SELECT\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        IF(VidQuoteProdID=VidQuoteElementoID,\n            0,\n            VidQuoteIncluyeDet)\n            AS VidQuoteIncluyeDet\n    FROM\n        vidquoten3tmp AS T1\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND \n        T1.VidQuoteItem=pVidQuoteItem AND \n        T1.VidQuoteQuickSelect=1;\n	-- -------------------------------------------------------------\n	DELETE FROM\n        vidquoten3tmp\n    WHERE \n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n*20121002\n**Gestión interna de corrección automático ante los [[CTRL:VidQuoteIncluyeDet]]. Anterior:\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM vidquoten3 WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n       VidQuoteIncluyeDet)\n	SELECT\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n       VidQuoteElementoID,\n       VidQuotePrecio,\n       VidQuotePrecioP,\n       VidQuoteIncluyeDet\n	FROM\n        vidquoten3tmp\n    WHERE\n        VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonEditarComponentes]]','utf-8'),(694,'== Descripción ==\nTraslada las modificaciones hechas sobre la [[TABLA:vidquoten3tmp]] a la definitiva [[TABLA:vidquoten3]]\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM\n        vidquoten3 \n    WHERE\n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\n	-- -------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        VidQuoteIncluyeDet)\n	SELECT\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        IF(VidQuoteProdID=VidQuoteElementoID,\n            0,\n            VidQuoteIncluyeDet)\n            AS VidQuoteIncluyeDet\n    FROM\n        vidquoten3tmp AS T1\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND \n        T1.VidQuoteItem=pVidQuoteItem AND \n        T1.VidQuoteQuickSelect=1;\n	-- -------------------------------------------------------------\n	DELETE FROM\n        vidquoten3tmp\n    WHERE \n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n*20121002\n**Gestión interna de corrección automático ante los [[CTRL:VidQuoteIncluyeDet]]. Anterior:\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM vidquoten3 WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n       VidQuoteIncluyeDet)\n	SELECT\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n       VidQuoteElementoID,\n       VidQuotePrecio,\n       VidQuotePrecioP,\n       VidQuoteIncluyeDet\n	FROM\n        vidquoten3tmp\n    WHERE\n        VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonEditarComponentes]]','utf-8'),(695,'== 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'),(696,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[REPORTE:Presupuestos]]\n*[[REPORTE:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]','utf-8'),(697,'#REDIRECCIÓN [[RPRT:PresupuestosDirecto]]','utf-8'),(698,'#REDIRECCIÓN [[RPRT:Presupuestos]]','utf-8'),(699,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]','utf-8'),(700,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912 - 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\'\'\'Release 20120912\'\'\'\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\'\'\'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'),(701,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\n\'\'\'Release 20120912 - 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\'\'\'Release 20120912\'\'\'\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\'\'\'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'),(702,'===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\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\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]]\n===20120831===\n\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]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3tmp` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Agregar atributo ElementoPM a [[TABLA:vidquoten3]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]]====','utf-8'),(703,'== Descripción ==\nTraslada las modificaciones hechas sobre la [[TABLA:vidquoten3tmp]] a la definitiva [[TABLA:vidquoten3]]\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM\n        vidquoten3 \n    WHERE\n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\n	-- -------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        VidQuoteIncluyeDet)\n	SELECT\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        IF(VidQuoteProdID=VidQuoteElementoID,\n            0,\n            VidQuoteIncluyeDet)\n            AS VidQuoteIncluyeDet\n    FROM\n        vidquoten3tmp AS T1\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND \n        T1.VidQuoteItem=pVidQuoteItem AND \n        T1.VidQuoteQuickSelect=1;\n	-- -------------------------------------------------------------\n	DELETE FROM\n        vidquoten3tmp\n    WHERE \n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n*20121002\n**Gestión interna de corrección automático ante los [[CTRL:VidQuoteIncluyeDet]]. Modifica el valor proveniente del formulario para el atributo cuando el código de producto y código de elemento son iguales (porque no corresponde agregarlo ya que ya está incluido el text dentro de la descripción del producto. Anterior:\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM vidquoten3 WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n       VidQuoteIncluyeDet)\n	SELECT\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n       VidQuoteElementoID,\n       VidQuotePrecio,\n       VidQuotePrecioP,\n       VidQuoteIncluyeDet\n	FROM\n        vidquoten3tmp\n    WHERE\n        VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonEditarComponentes]]','utf-8'),(704,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\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\'\'\'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'),(705,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\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====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'),(706,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\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====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'),(707,'* [[Actualizacion DB]]\n=== Versión 1.1 ===\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'),(708,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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'),(709,'===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\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\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]]\n===20120831===\n\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]]====\n<pre>\nALTER TABLE `fzggestion`.`vidquoten3` ADD COLUMN `VidQuoteElementoPM` INT(1) NULL  AFTER `VidQuoteComposicID` ;\n</pre>\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]]====','utf-8'),(710,'===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\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\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]]\n===20120831===\n\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*[[File:checked.png|20px]]\n\n====Reemplazar el código de [[PROC:GrabaItemPresupuestoTmp]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]]====','utf-8'),(711,'===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\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\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]]\n===20120831===\n\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]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]]====','utf-8'),(712,'===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\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\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]]\n===20120831===\n\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]] y [[PROC:AltaItemPresupuestoTmp]]====\nIncluye las modificaciones de inclusión de ElementoPM\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]','utf-8'),(713,'===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\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\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]]\n===20120831===\n\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]]====\nIncluye las modificaciones de inclusión de ElementoPM\n*20121004.1625[[File:checked.png|20px]]\n\n====Crea [[PROC:ResetEdicionItemTmp]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]','utf-8'),(714,'===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\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\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]]\n===20120831===\n\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]]====\n====Cambiar [[VISTA:acomerciales]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]','utf-8'),(715,'===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\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\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]]\n===20120831===\n\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]]====\nRefleja el cambio de la estructura de la [[TABLA:contactos]]\n====Agregar en [[TABLA:contactos]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]','utf-8'),(716,'===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\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\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]]\n===20120831===\n\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]]====\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====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]','utf-8'),(717,'===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\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\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]]\n===20120831===\n\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\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]]====\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]','utf-8'),(718,'== Descripción ==\nTrigger del evento BEFORE UPDATE de [[TABLA:vidquoten2]]\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:ActualizaItemPresupuesto]]\n\n== Código ==\n<small><pre>\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND$$\n</pre></small>\n\n== Bitácora ==\n*20120925\n**Lanzamiento debido a nuevo diseño de FORM:Presupuesto.\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(719,'===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\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\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]]\n===20120831===\n\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\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n\n====Renovación del [[PROC:ActualizaPreciosPresupuesto]]====\n====Renovación del [[PROC:ActualizaItemPresupuesto]]====\n====Renovación del [[PROC:CopiaPresupuesto]]====\n====Cambios estructura del [[PROC:GrabaItemPresupuestoTmp]][[File:checked.png|20px]]====\n*20121004.1625 [[File:checked.png|20px]]','utf-8'),(720,'===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\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\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]]\n===20120831===\n\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\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n\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]]','utf-8'),(721,'===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\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\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]]\n===20120831===\n\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\n====Alta del [[TRIG:Actualiza_Item_Presupuesto]][[File:checked.png|20px]]====\n*20121004.1718 [[File:checked.png|20px]]\n\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]]','utf-8'),(722,'== Descripcion ==\n<strike>Una vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.</strike> \'\'\'20120917\'\'\'\nUna vez que ingresa los datos básicos de un producto, inserta en [[TABLA:vidquoten3]] los componentes del producto señalado (solo los elementos básicos). Divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*<strike>[[VISTA:visproadic]]-></strike>\n*[[TABLA:productos]]->\n*[[TABLA:precios]]->\n*[[TABLA:componentes]]->\n*->[[TABLA:vidquoten3]]\n\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(723,'===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\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\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]]\n===20120831===\n\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]]','utf-8'),(724,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121005====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\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'),(725,'===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\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\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]]\n===20120831===\n\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\n===201201005===','utf-8'),(726,'===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\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\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]]\n===20120831===\n\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\n===201201005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====','utf-8'),(727,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=50 AND \n					Q1.VidQuoteItem=3)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n*20121009\n**Error de Change Management al subir el programa de TEST con los parámetros de prueba. Condición de la [[TABLA:vidquoten3tmp]] tipo \"SELECT IN\" para incorporar solo los registros que ya no existan en la [[TABLA:vidquoten3tmp]]\n<small><pre>\nQ1.VidQuoteID=50 AND \nQ1.VidQuoteItem=3\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(728,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n*20121009\n**Error de Change Management al subir el programa de TEST con los parámetros de prueba. Condición de la [[TABLA:vidquoten3tmp]] tipo \"SELECT IN\" para incorporar solo los registros que ya no existan en la [[TABLA:vidquoten3tmp]]\n<small><pre>\nQ1.VidQuoteID=50 AND \nQ1.VidQuoteItem=3\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(729,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121005====\n=====Problemas Conocidos=====\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.\n\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'),(730,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121005====\n=====Problemas Conocidos=====\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\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'),(731,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n--     INSERT INTO debugstmt (Fecha,Hora,Texto) \n-- 		VALUES (\n-- 			CURDATE(),\n-- 			CURTIME(),\n-- 			CONCAT(\n-- 				CAST(pVidQuoteID AS CHAR),\"-\",\n-- 				CAST(pVidQuoteLPre AS CHAR),\"-\",\n-- 				CAST(pVidQuoteItem AS CHAR),\"-\",\n-- 				pVidQuoteProdID,\"-\",\n-- 				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAncho AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAlto AS CHAR)\n-- 				)\n-- 			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Prev - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Past - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuoteElementoPM,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n    CALL DebugCheckPoint(\"Past Inserta Registros VQ3 anteriores\");\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (pVidQuoteLPre)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n-- 			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\n    -- --------------------------------------------------------------------------------\n    -- Joint Para completar info de ElementoPM\n    -- --------------------------------------------------------------------------------\n    UPDATE\n        vidquoten3tmp AS T1,\n        composicion AS T2\n    SET\n        T1.VidQuoteElementoPM = T2.ElementoPM\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND\n        ISNULL(T1.VidQuoteElementoPM) AND\n        T1.VidQuoteProdID=T2.ProductoID AND\n        T1.VidQuoteElementoID=T2.ElementoID AND\n        T1.VidQuoteComposicID=T2.ComposicID;\nEND\n\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n*20121009\n**Error de Change Management al subir el programa de TEST con los parámetros de prueba. Condición de la [[TABLA:vidquoten3tmp]] tipo \"SELECT IN\" para incorporar solo los registros que ya no existan en la [[TABLA:vidquoten3tmp]]\n<small><pre>\nQ1.VidQuoteID=50 AND \nQ1.VidQuoteItem=3\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(732,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la TABLA:vidquoten3tmp las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n--     INSERT INTO debugstmt (Fecha,Hora,Texto) \n-- 		VALUES (\n-- 			CURDATE(),\n-- 			CURTIME(),\n-- 			CONCAT(\n-- 				CAST(pVidQuoteID AS CHAR),\"-\",\n-- 				CAST(pVidQuoteLPre AS CHAR),\"-\",\n-- 				CAST(pVidQuoteItem AS CHAR),\"-\",\n-- 				pVidQuoteProdID,\"-\",\n-- 				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAncho AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAlto AS CHAR)\n-- 				)\n-- 			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Prev - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Past - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuoteElementoPM,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n    CALL DebugCheckPoint(\"Past Inserta Registros VQ3 anteriores\");\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (pVidQuoteLPre)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n-- 			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\n    -- --------------------------------------------------------------------------------\n    -- Joint Para completar info de ElementoPM\n    -- --------------------------------------------------------------------------------\n    UPDATE\n        vidquoten3tmp AS T1,\n        composicion AS T2\n    SET\n        T1.VidQuoteElementoPM = T2.ElementoPM\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND\n        ISNULL(T1.VidQuoteElementoPM) AND\n        T1.VidQuoteProdID=T2.ProductoID AND\n        T1.VidQuoteElementoID=T2.ElementoID AND\n        T1.VidQuoteComposicID=T2.ComposicID;\nEND\n\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n*20121009\n**Error de Change Management al subir el programa de TEST con los parámetros de prueba. Condición de la [[TABLA:vidquoten3tmp]] tipo \"SELECT IN\" para incorporar solo los registros que ya no existan en la [[TABLA:vidquoten3tmp]]. También se agrega la salvaguarda de grabación de ElementoPM en el caso de no integral y los errores de parámetros de prueba para [[PARM:pVidQuoteLPre]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(733,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la [[TABLA:vidquoten3tmp]] las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n--     INSERT INTO debugstmt (Fecha,Hora,Texto) \n-- 		VALUES (\n-- 			CURDATE(),\n-- 			CURTIME(),\n-- 			CONCAT(\n-- 				CAST(pVidQuoteID AS CHAR),\"-\",\n-- 				CAST(pVidQuoteLPre AS CHAR),\"-\",\n-- 				CAST(pVidQuoteItem AS CHAR),\"-\",\n-- 				pVidQuoteProdID,\"-\",\n-- 				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAncho AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAlto AS CHAR)\n-- 				)\n-- 			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Prev - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Past - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuoteElementoPM,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n    CALL DebugCheckPoint(\"Past Inserta Registros VQ3 anteriores\");\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (pVidQuoteLPre)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n-- 			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\n    -- --------------------------------------------------------------------------------\n    -- Joint Para completar info de ElementoPM\n    -- --------------------------------------------------------------------------------\n    UPDATE\n        vidquoten3tmp AS T1,\n        composicion AS T2\n    SET\n        T1.VidQuoteElementoPM = T2.ElementoPM\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND\n        ISNULL(T1.VidQuoteElementoPM) AND\n        T1.VidQuoteProdID=T2.ProductoID AND\n        T1.VidQuoteElementoID=T2.ElementoID AND\n        T1.VidQuoteComposicID=T2.ComposicID;\nEND\n\n</pre><small>\n\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n*20121009\n**Error de Change Management al subir el programa de TEST con los parámetros de prueba. Condición de la [[TABLA:vidquoten3tmp]] tipo \"SELECT IN\" para incorporar solo los registros que ya no existan en la [[TABLA:vidquoten3tmp]]. También se agrega la salvaguarda de grabación de ElementoPM en el caso de no integral y los errores de parámetros de prueba para [[PARM:pVidQuoteLPre]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(734,'== Descripción ==\nVista de Proveedores de la [[TABLA:contactos]]\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `proveedores` AS\nSELECT `contactos`.`ContactoID` AS `ProveedorID`,\n       `contactos`.`ContactoIDAbrv` AS `Abreviatura`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ProveedorTag` = \'1\')\n</pre>\n== Bitácora ==\n*20121017\n**Corrección del tag antiguo (x) por el nuevo tag (1) sobre @FZG\n== Uso ==\n[[FORM:Productos]]\n== URL ==','utf-8'),(735,'== Descripción ==\nFunción de cálculo de precio en base a los parametros indicados sin acceder a base de datos de precios, ya con el valor del precio del producto indicado (dependiendo del tipo de cliente)\n== Composición ==\nSolo función de cálculo\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nCREATE  FUNCTION `CalculoPrecio`(pAncho INT(4),pAlto INT(4),pPrecioProd DECIMAL(10,2),pMagnitud CHAR(2),pOffsetVanoAlto INT(11),pOffsetVanoAncho INT(11),pCoefVanoAlto DECIMAL(16,8),pCoefVanoAncho DECIMAL(16,8),pValorElemento DECIMAL(16,8)) RETURNS decimal(10,2)\nBEGIN\nDECLARE pPrecioBase DECIMAL(10,2);\n	CASE pMagnitud\n		WHEN \'M2\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) * pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n		WHEN \'PR\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * 2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'ML\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'MG\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) * pValorElemento * pPrecioProd;\n		WHEN \'2H\' THEN SET pPrecioBase = (((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) /1000) * pValorElemento * 2 * pPrecioProd;\n		WHEN \'2W\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho)*pCoefVanoAncho)/1000) * pValorElemento * 2 * pPrecioProd;\n		ELSE SET pPrecioBase = pValorElemento * pPrecioProd;\n	END CASE;\n	RETURN pPrecioBase;\nEND\n</pre></small>\n\n== Bitácora ==\n*20121017\n**Agregado de las nuevas magnitudes aplicables al ALto y al ANcho.\n\n== Uso ==\n== URL ==','utf-8'),(736,'== Descripción ==\nFunción de cálculo de precio en base a los parametros indicados sin acceder a base de datos de precios, ya con el valor del precio del producto indicado (dependiendo del tipo de cliente)\n== Composición ==\nSolo función de cálculo\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE FUNCTION `CalculoPrecio`(\n	pAncho INT(4),\n	pAlto INT(4),\n	pPrecioProd DECIMAL(10,2),\n	pMagnitud CHAR(2),\n	pOffsetVanoAlto INT(11),\n	pOffsetVanoAncho INT(11),\n	pCoefVanoAlto DECIMAL(16,8),\n	pCoefVanoAncho DECIMAL(16,8),\n	pValorElemento DECIMAL(16,8))\n		RETURNS decimal(10,2)\nBEGIN\n	DECLARE pPrecioBase DECIMAL(10,2);\n	CASE pMagnitud\n		WHEN \'M2\' THEN \n			SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) *\n			pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n		WHEN \'PR\' THEN\n			SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * \n			2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'ML\' THEN\n			SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'AL\' THEN \n			SET pPrecioBase = (((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'AN\' THEN \n			SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'MG\' THEN \n			SET pPrecioBase = ((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) *\n			pValorElemento * pPrecioProd;\n	  ELSE \n		SET pPrecioBase = pValorElemento * pPrecioProd;\n	END CASE;\n	RETURN pPrecioBase;\nEND\n</pre></small>\n\n== Bitácora ==\n*20121017\n**Agregado de las nuevas magnitudes aplicables al ALto y al ANcho. Anterior:\n<small><pre>\nCREATE  FUNCTION `CalculoPrecio`(pAncho INT(4),pAlto INT(4),pPrecioProd DECIMAL(10,2),pMagnitud CHAR(2),pOffsetVanoAlto INT(11),pOffsetVanoAncho INT(11),pCoefVanoAlto DECIMAL(16,8),pCoefVanoAncho DECIMAL(16,8),pValorElemento DECIMAL(16,8)) RETURNS decimal(10,2)\nBEGIN\nDECLARE pPrecioBase DECIMAL(10,2);\n	CASE pMagnitud\n		WHEN \'M2\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) * pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n		WHEN \'PR\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * 2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'ML\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'MG\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) * pValorElemento * pPrecioProd;\n		WHEN \'2H\' THEN SET pPrecioBase = (((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) /1000) * pValorElemento * 2 * pPrecioProd;\n		WHEN \'2W\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho)*pCoefVanoAncho)/1000) * pValorElemento * 2 * pPrecioProd;\n		ELSE SET pPrecioBase = pValorElemento * pPrecioProd;\n	END CASE;\n	RETURN pPrecioBase;\nEND\n</pre></small>\n== Uso ==\n== URL ==','utf-8'),(737,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121005====\n=====Problemas Conocidos=====\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\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'),(738,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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\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'),(739,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Bitácora]]\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(740,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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====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'),(741,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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====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'),(742,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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\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'),(743,'== Developing ==\n*[[Developing]]\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(744,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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\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'),(745,'== 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'),(746,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]\n*[[MACRO:SugerenciaContactoID]]','utf-8'),(747,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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:txtVidQuoteACom@Presupuesto]]\n\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'),(748,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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\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'),(749,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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\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'),(750,'== Descripción ==\nEvento que ejecuta cuando carga el [[FORM:Presupuesto.Cabecera]]\n== Biblioteca ==\n*[[FazzGlassMcr]]\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oForm	 		As Object\n\n	ChequeoValorLicenciaOK(oEvent)\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm	= oForm.getByName(\"Productos\")\n	Hoy(oForm,oForm.getbyname(\"datVidQuoteFecha\"))\n	\n	oSubForm.getByName(\"ComponentesDisplay\").getByName(\"ComponentesDisplayGrid\").setPropertyValue(\"EnableVisible\",True)\n	oSubForm.getByName(\"ComponentesSimple\").getByName(\"ComponentesSimpleGrid\").setPropertyValue(\"EnableVisible\",False)\n	oSubForm.getByName(\"ComponentesSimple\").getByName(\"SubTotalProducto\").getByName(\"Total\").setPropertyValue(\"EnableVisible\",False)	\n	\nend Sub\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]\n**[[FORM:Presupuesto.Cabecera]]\n***[[EVENTO:WhenLoading]]','utf-8'),(751,'== Descripción ==\nEvento que ejecuta cuando carga el [[FORM:Presupuesto.Cabecera]]\n== Biblioteca ==\n*[[FazzGlassMcr]]\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oForm	 		As Object\n\n	ChequeoValorLicenciaOK(oEvent)\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm	= oForm.getByName(\"Productos\")\n	Hoy(oForm,oForm.getbyname(\"datVidQuoteFecha\"))\n	\n	oSubForm.getByName(\"ComponentesDisplay\").getByName(\"ComponentesDisplayGrid\").setPropertyValue(\"EnableVisible\",True)\n	oSubForm.getByName(\"ComponentesSimple\").getByName(\"ComponentesSimpleGrid\").setPropertyValue(\"EnableVisible\",False)\n	oSubForm.getByName(\"ComponentesSimple\").getByName(\"SubTotalProducto\").getByName(\"Total\").setPropertyValue(\"EnableVisible\",False)	\n	\nend Sub\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]\n**[[FORM:Presupuesto.Cabecera]]\n***[[EVENTO:Presupuesto.Cabecera.WhenLoading]]','utf-8'),(752,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121024====\n=====Problemas Conocidos=====\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====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\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\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'),(753,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:clientes]]\n== Estructura ==\n<small><pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre></small>\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n== Uso ==','utf-8'),(754,'== Descripción ==\nImprime el informe individual por cliente seleccionado de los antecedentes de transacciones. La ejecución proviene del [[FORM:ConsultaCRM]] y [[FORM:PosicionCRM]]\n== Composición ==\n[[TABLA:vidquoten1]]\n[[TABLA:vidquoten3]]\n[[TABLA:clientes]]\n[[TABLA:clientescrmqry]]\n== Estructura ==\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    T2.RazonSocial,\n    T1.TTransaccion,\n    T1.NTransaccion,\n    T1.VidQuoteFecha,\n    T1.VidQuoteObra,\n    T1.VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1,\n\n    clientes as T2\nWHERE\n    T1.VidQuoteCliente = T2.ClienteID\n    AND\n    T1.VidQuoteCliente IN (\n        SELECT \n            clienteID\n        FROM\n            clientescrmqry)\nORDER BY T1.VidQuoteCliente, T1.VidQuoteFecha\n</pre></small>\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(755,'== Descripción ==\nImprime el informe individual por cliente seleccionado de los antecedentes de transacciones. La ejecución proviene del [[FORM:ConsultaCRM]] y [[FORM:PosicionCRM]]\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:clientes]]\n*[[TABLA:clientescrmqry]]\n\n== Estructura ==\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    T2.RazonSocial,\n    T1.TTransaccion,\n    T1.NTransaccion,\n    T1.VidQuoteFecha,\n    T1.VidQuoteObra,\n    T1.VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1,\n\n    clientes as T2\nWHERE\n    T1.VidQuoteCliente = T2.ClienteID\n    AND\n    T1.VidQuoteCliente IN (\n        SELECT \n            clienteID\n        FROM\n            clientescrmqry)\nORDER BY T1.VidQuoteCliente, T1.VidQuoteFecha\n</pre></small>\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(756,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121024====\n=====Problemas Conocidos=====\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\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\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\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'),(757,'== Descripción ==\nDespliega información de la posición del cliente ante la gestión. Toma los datos provenientes de [[TABLA:vidquoten1]] para tomar los datos básicos de los presupuestos aprobados y la [[TABLA:accreceiv]] de donde obtiene la información correspondiente a las cobranzas. El totalizador de la deuda se encuentra detallado en Código Relacionado\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:accreceiv]]\n== Estructura ==\n== Código Relacionado ==\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small>\n== Bitácora ==\n*20121023\n**Se elimina el acceso a la [[VISTA:vistranscrm]] y se reemplaza por los datos reflejados en Código Relacionado\n== Uso ==','utf-8'),(758,'== Descripción ==\nDespliega información de la posición del cliente ante la gestión. Toma los datos provenientes de [[TABLA:vidquoten1]] para tomar los datos básicos de los presupuestos aprobados y la [[TABLA:accreceiv]] de donde obtiene la información correspondiente a las cobranzas. El totalizador de la deuda se encuentra detallado en Código Relacionado.\n\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:accreceiv]]\n== Estructura ==\n== Código Relacionado ==\n=== Detalle ===\n#Sumariza los productos elementos indicados en [[TABLA:vidquoten3]] para todos aquellos presupuestos que estén aprobados. Une los presupuestos (Ordenes de Trabajo: OT) con las cobranzas realizadas.\n#Sumariza los valores resultantes por cliente.\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small>\n== Bitácora ==\n*20121023\n**Se elimina el acceso a la [[VISTA:vistranscrm]] y se reemplaza por los datos reflejados en Código Relacionado\n== Uso ==','utf-8'),(759,'== Descripción ==\nDespliega información de la posición del cliente ante la gestión. Toma los datos provenientes de [[TABLA:vidquoten1]] para tomar los datos básicos de los presupuestos aprobados y la [[TABLA:accreceiv]] de donde obtiene la información correspondiente a las cobranzas. El totalizador de la deuda se encuentra detallado en Código Relacionado.\n\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:accreceiv]]\n== Estructura ==\n== Código Relacionado ==\n=== Detalle ===\n#Sumariza los productos elementos indicados en [[TABLA:vidquoten3]] para todos aquellos presupuestos que estén aprobados, indicados en [[TABLA:vidquoten1]]. Une los presupuestos (Ordenes de Trabajo: OT) con las cobranzas realizadas.\n#Sumariza los valores resultantes por cliente.\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small>\n\n== Bitácora ==\n*20121023\n**Se elimina el acceso a la [[VISTA:vistranscrm]] y se reemplaza por los datos reflejados en Código Relacionado\n== Uso ==','utf-8'),(760,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121024====\n=====Problemas Conocidos=====\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\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\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\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'),(761,'== Descripción ==\nDefinicion de Tabla de acceso Magnitudes con las formulas para la versión 2\n== Composición ==\n== Estructura ==\n<pre>\nCREATE TABLE `magnitudes` (\n  `MagnitudID` char(2) NOT NULL,\n  `MagnitudDSC` varchar(45) DEFAULT NULL,\n  `MagnitudCLC` varchar(300) DEFAULT NULL,\n  PRIMARY KEY (`MagnitudID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n*20121018\n**Alta de Tabla\n== Uso ==\n== URL ==','utf-8'),(762,'== Descripción ==\nDefinicion de Tabla de acceso Magnitudes con las formulas para la versión 2\n== Composición ==\n== Estructura ==\n<pre>\nCREATE TABLE `magnitudes` (\n  `MagnitudID` char(2) NOT NULL,\n  `MagnitudDSC` varchar(45) DEFAULT NULL,\n  `MagnitudCLC` varchar(300) DEFAULT NULL,\n  PRIMARY KEY (`MagnitudID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n*20121018\n**Alta de Tabla\n*20121022\n**Insert Datos\n<pre>\nINSERT INTO `magnitudes` VALUES (\'AL\',\'Alto\',NULL),(\'AN\',\'Ancho\',NULL),(\'KG\',\'Kilogramo\',NULL),(\'M2\',\'Metro Cuadrado\',NULL),(\'MG\',\'Magnitud Galarza\',NULL),(\'ML\',\'Metro Lineal\',NULL),(\'PR\',\'Perimetro\',NULL),(\'UN\',\'Unidad\',\'y…™Ä®�HRø×�óÆ�G|¬^Ôñ}�L��\\\'ª3ý0”æË…¨9�Â…r£�©z¤?yª3®Fßª:ðÍ�\');\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(763,'== Descripción ==\nDefinicion de Tabla de acceso Magnitudes con las formulas para la versión 2\n== Composición ==\n== Estructura ==\n<pre>\nCREATE TABLE `magnitudes` (\n  `MagnitudID` char(2) NOT NULL,\n  `MagnitudDSC` varchar(45) DEFAULT NULL,\n  `MagnitudCLC` varchar(300) DEFAULT NULL,\n  PRIMARY KEY (`MagnitudID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n*20121018\n**Alta de Tabla\n*20121022\n**Insert Datos\n<pre>\nINSERT INTO `magnitudes` \nVALUES\n(\'AL\',\'Alto\',NULL),\n(\'AN\',\'Ancho\',NULL),\n(\'KG\',\'Kilogramo\',NULL),\n(\'M2\',\'Metro Cuadrado\',NULL),\n(\'MG\',\'Magnitud Galarza\',NULL),\n(\'ML\',\'Metro Lineal\',NULL),\n(\'PR\',\'Perimetro\',NULL),\n(\'UN\',\'Unidad\',\'y…™Ä®�HRø×�óÆ�G|¬^Ôñ}�L��\\\'ª3ý0”æË…¨9�Â…r£�©z¤?yª3®Fßª:ðÍ�\');\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(764,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Subrutinas ===\n*[[MACRO:PresupuestoExpirado]]\n*[[MACRO:SugerenciaContactoID]]','utf-8'),(765,'== Developing ==\n*[[Developing]]\n*[[SpanexDraw]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| Presupuesto\n| <pre>\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente\nORDER BY \n    visreppres.VidQuoteID ASC ,\n    visreppres.VidQuoteObra ASC ,\n    visreppres.VidQuoteCliente ASC ,\n    visreppres.VidQuoteItem ASC \n</pre>\n| Reporte de Presupuesto Individual\n| Filtra por Presupuesto. Visreppres\n|-\n| Productos\n| <pre>SELECT \n    productos.ProductoID,\n    productos.CategoriaID,\n    productos.Descripcion,\n    productos.Magnitud,\n    productos.InsumoIMG\nFROM\n    fzggestion.productos productos\nORDER BY \n    productos.CategoriaID,\n    productos.ProductoID</pre>\n| Reporte de Productos\n|-\n| Listado de Precios Vigentes\n| [[VISTA: visrepprec]]\n| Reporte de Precios Vigentes\n| \n|}\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(766,'*[[TABLA:projects]]\n*[[TABLA:secciones]]','utf-8'),(767,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `project` (\n  `ProjectID` int(11) NOT NULL AUTO_INCREMENT,\n  `ProjectDSC` varchar(20) DEFAULT NULL,\n  `ProjectSite` varchar(45) DEFAULT NULL,\n  `ProjectDate` date DEFAULT NULL,\n  PRIMARY KEY (`ProjectID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(768,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `secciones` (\n  `SeccionID` int(11) NOT NULL,\n  `SeccionW` int(11) DEFAULT NULL,\n  `SeccionH` int(11) DEFAULT NULL,\n  PRIMARY KEY (`SeccionID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(769,'*[[TABLA:projects]]\n*[[TABLA:secciones]]\n*[[TABLA:frames]]','utf-8'),(770,'== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `frames` (\n  `FramePRJ` int(11) NOT NULL,\n  `FrameSEC` int(11) NOT NULL,\n  `FrameID` int(11) NOT NULL AUTO_INCREMENT,\n  `FrameDSC` varchar(45) DEFAULT NULL,\n  `FrameW` int(11) NOT NULL,\n  `FrameH` int(11) NOT NULL,\n  `FrameProdID` char(8) NOT NULL,\n  PRIMARY KEY (`FrameID`,`FramePRJ`,`FrameSEC`,`FrameProdID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n*20121025\n**Alta de Tabla\n== Uso ==\n== URL ==','utf-8'),(771,'== Descripción ==\nDefine los límites y contenidos de un frame dentro de una sección y dentro de un proyecto.\n\n== Composición ==\n== Estructura ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `frames` (\n  `FramePRJ` int(11) NOT NULL,\n  `FrameSEC` int(11) NOT NULL,\n  `FrameID` int(11) NOT NULL AUTO_INCREMENT,\n  `FrameDSC` varchar(45) DEFAULT NULL,\n  `FrameW` int(11) NOT NULL,\n  `FrameH` int(11) NOT NULL,\n  `FrameProdID` char(8) NOT NULL,\n  PRIMARY KEY (`FrameID`,`FramePRJ`,`FrameSEC`,`FrameProdID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n*20121025\n**Alta de Tabla\n== Uso ==\n== URL ==','utf-8'),(772,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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====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'),(773,'===201201005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\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'),(774,'===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'),(775,'===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'),(776,'== Descripción ==\nEsquema de Cabecera de Registración de Presupuesto\n== Composición ==\n== Estructura ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten1` (\n  `VidQuoteID` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuoteObra` char(20) DEFAULT NULL,\n  `VidQuoteCliente` char(8) NOT NULL,\n  `VidQuoteFecha` date DEFAULT NULL,\n  `VidQuoteFechaEst` date DEFAULT NULL,\n  `VidQuoteEstado` char(1) DEFAULT \'0\',\n  `VidQuoteACom` char(4) NOT NULL,\n  `VidQuoteMedCheck` char(1) DEFAULT \'0\',\n  PRIMARY KEY (`VidQuoteID`)\n) ENGINE=MyISAM AUTO_INCREMENT=72 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten1`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END\n$$\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n*20121026\n**Alta de esta documentación\n**Modificación de la estructura. Agregado de control de NOTNULL para los atributos de Cliente y Agente Comercial\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== Uso ==\n*[[FORM:Presupuesto]]\n*[[RPRT:Presupuesto]]\n== URL ==','utf-8'),(777,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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. Se agregan los controles de límites para los atributos de Ancho y Alto dentro de [[FORM:Presupuestos.Productos]]. El esquema funciona haciendo un llamado al [[MACRO:CheckValidMeasure]] ante los eventos de ItemChange de ambas columnas. Se modifica también el esquema de [[MACRO:EventoBRCDetallePresupuesto]] transfiriendo la ejecución del alta de registraciones en [[TABLA:vidquoten3]] a traves de [[MACRO:AltaProductoPresupuesto]] que se ejecuta luego de la acción de alta, captada inicialmente por [[MACRO:EventoBRADetallePresupuesto]], donde efectua el chequeo [[MACRO:CheckValidMeasure]] y luego de validada traslada el control a [[MACRO:EventoARADetallePresupuesto]], donde efectua el agregado de registros. Mientras, esa función se desafecta de [[MACRO:EventoBRCDetallePresupuesto]]. Esto permite que el control de refresco de Subtotal lo haga aún si presiona el ícono de grabar sin pasar sin efectuar el commit luego de presionar el último [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'),(778,'== Descripción ==\nEvento que ejecuta cuando carga el [[FORM:Presupuesto.Cabecera]]\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoWhenLoadingFormCabecera (oEvent as Object)\n    \nDim oForm	 		As Object\n\n	ChequeoValorLicenciaOK(oEvent)\n	oForm		= ThisComponent.Drawpage.Forms.getByName(\"Cabecera\")  \n	oSubForm	= oForm.getByName(\"Productos\")\n	Hoy(oForm,oForm.getbyname(\"datVidQuoteFecha\"))\n	\n	oSubForm.getByName(\"ComponentesDisplay\").getByName(\"ComponentesDisplayGrid\").setPropertyValue(\"EnableVisible\",True)\n	oSubForm.getByName(\"ComponentesSimple\").getByName(\"ComponentesSimpleGrid\").setPropertyValue(\"EnableVisible\",False)\n	oSubForm.getByName(\"ComponentesSimple\").getByName(\"SubTotalProducto\").getByName(\"Total\").setPropertyValue(\"EnableVisible\",False)	\n	\nend Sub\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]\n**[[FORM:Presupuesto.Cabecera]]\n***[[EVENTO:Presupuesto.Cabecera.WhenLoading]]','utf-8'),(779,'== Descripción ==\nEjecutor del Evento Before Record Action del [[FORM:Presupuesto.Productos]]. Principalmente setea la variable de entorno para que pueda ser tomada por otros procesos y ejecuta el proceso que chequea los atributos/columnas de Ancho y Alto.\n== Biblioteca ==\n[[LBRR:FazzGlassMcr]]\n== Composición ==\n== Código ==\n<small><pre>\n</pre></small>\n== Bitácora ==\n*20121026\n**Previa\n*20121026\n**Cambio de modalidad de Sub a Function para poder controlar y mantener en el misma fila columna. Se agrega el control de flujo a traves de [[MACRO:CheckValidMeasure]] a aplicar para detectar antes de efectuar el grabado del registro.\n== Uso ==','utf-8'),(780,'== Descripción ==\nEjecutor del Evento Before Record Action del [[FORM:Presupuesto.Productos]]. Principalmente setea la variable de entorno para que pueda ser tomada por otros procesos y ejecuta el proceso que chequea los atributos/columnas de Ancho y Alto.\n== Biblioteca ==\n[[LIBR:FazzGlassMcr]]\n\n== Composición ==\n== Código ==\n<small><pre>\n</pre></small>\n== Bitácora ==\n*20121026\n**Previa\n*20121026\n**Cambio de modalidad de Sub a Function para poder controlar y mantener en el misma fila columna. Se agrega el control de flujo a traves de [[MACRO:CheckValidMeasure]] a aplicar para detectar antes de efectuar el grabado del registro.\n== Uso ==','utf-8'),(781,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(782,'*[[MACRO:AccesaMRIStarDesktop]]\n*[[MACRO:AccesaMRIThisComponent]]\n*[[MACRO:AccesaMRIThisDatabaseDocument]]\n*[[MACRO:AfterUpdateElementoDProducto]]\n*[[MACRO:ApruebaPresupuesto]]\n*[[MACRO:BotonAbrirPredefinidos]]\n*[[MACRO:BotonEnviarCorreoPresupuesto]]\n*[[MACRO:BotonImprimirPresupuesto]]\n*[[MACRO:CheckLicenceOK]]\n*[[MACRO:DateStampPrecioUpdate]]\n*[[MACRO:EscondeBarras]]\n*[[MACRO:EventoAfterRecordAction]]\n*[[MACRO:EventoARADetallePresupuesto]]\n*[[MACRO:EventoBeforeRecordChange]]\n*[[MACRO:EventoBeforeReloading]]\n*[[MACRO:EventoBRADetalleProducto]]\n*[[MACRO:EventoBRAProductosCore]]\n*[[MACRO:EventoBRCDetallePresupuesto]]\n*[[MACRO:EventoBRCDetalleProducto]]\n*[[MACRO:EventoWhenLoadingFormCabecera]]\n*[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[MACRO:EventoWhenLoading]]\n*[[MACRO:EventoWhenReloading]]\n*[[MACRO:GeneraNuevoDefaultListaPrecio]]\n*[[MACRO:GrabaScriptBkp]]\n*[[MACRO:Hoy]]\n*[[MACRO:LayoutIn]]\n*[[MACRO:LayoutOut]]\n*[[MACRO:LookupData]]\n*[[MACRO:Main]]\n*[[MACRO:NewProductoListbox]]\n*[[MACRO:NewResetListBoxDetalleProducto]]\n*[[MACRO:onClickOpenForm]]\n*[[MACRO:OpenForm]]\n*[[MACRO:OpenMainMenu]]\n*[[MACRO:OptionBtnAR]]\n*[[MACRO:OptionBtnOrdenChq]]\n*[[MACRO:PresupuestoCopia]]\n*[[MACRO:PresupuestoExpirado]]\n*[[MACRO:ReporteClientesCRM]]\n*[[MACRO:ResguardoInicializa]]\n*[[MACRO:ResguardoSalir]]\n*[[MACRO:SugerenciaImporteCheque]]\n*[[MACRO:Sugerencio]]\n*[[MACRO:TestMRI]]\n*[[MACRO:Test]]\n*[[MACRO:TestThisComponent]]\n*[[MACRO:TestThisControl]]\n*[[MACRO:VisibleDetalleElementoGrid]]\n*[[MACRO:VisibleFiltroPresupuesto]]\n*[[MACRO:ActivaFiltroCheques]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ActivaFiltroPredefinidos]]\n*[[MACRO:ActivaFiltroPresupuesto]]\n*[[MACRO:ActivaFiltroProductosGeneral]]\n*[[MACRO:ActivaNuevaListaPrecio]]\n*[[MACRO:AfterRecordChangeFORMProductos]]\n*[[MACRO:AgregaComposicion]]\n*[[MACRO:AplicarCambioMasivoPrecios]]\n*[[MACRO:ARAEndosoCheque]]\n*[[MACRO:BotonSeleccionaPredefinido]]\n*[[MACRO:BRAEndosoCheque]]\n*[[MACRO:CambioMasivoCoeficientesPrecios]]\n*[[MACRO:CentrarMensaje]]\n*[[MACRO:ChangeFieldtxtProductoIDFORMCopiaComp]]\n*[[MACRO:ChangeFieldtxtProductoIDFORMProductos]]\n*[[MACRO:ChequeoProductoRepetido]]\n*[[MACRO:ChequeoValorLicenciaOK]]\n*[[MACRO:ConfirmeEliminarDetalleProducto]]\n*[[MACRO:ConfirmeEliminarLogPrecio]]\n*[[MACRO:ConfirmeEliminarProductoCore]]\n*[[MACRO:ConfirmeEliminarProducto]]\n*[[MACRO:CopiaComposicion]]\n*[[MACRO:DateTodbDate]]\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:EnviaQryPresupuesto]]\n*[[MACRO:EventoBRADetallePresupuesto]]\n*[[MACRO:FileAttributeString]]\n*[[MACRO:GeneraFechaListaPrecio]]\n*[[MACRO:GeneraResguardo]]\n*[[MACRO:ImprimeQryPresupuesto]]\n*[[MACRO:LimpiarMasivoCoeficientesPrecios]]\n*[[MACRO:QuerySimple]]\n*[[MACRO:RecalculaPrecios]]\n*[[MACRO:ReemplazaStr]]\n*[[MACRO:ResguardoEjecutar]]\n*[[MACRO:RestituyeFiltroOriginal]]\n*[[MACRO:SwitchBarras]]\n*[[MACRO:SwitchCheckboxParam]]\n*[[MACRO:TextoStatusBar]]','utf-8'),(783,'*[[MACRO:ActivaFiltroValoresGeneral]]\n*[[MACRO:ActivaRelacionForm]]\n*[[MACRO:ActualizaDB]]\n*[[MACRO:ActualizaRegistroCheckBox]]\n*[[MACRO:AltaProductoPresupuesto]]\n*[[MACRO:AprobacionPresupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]\n*[[MACRO:BotonContactosExpress]]\n*[[MACRO:BotonEditarComponentes]]\n*[[MACRO:CheckValidMeasure]]\n*[[MACRO:ConfirmaDeletePresupuesto]]\n*[[MACRO:ControlFormPresupuesto]]\n*[[MACRO:ControlLista]]\n*[[MACRO:CopiaComponenteSimple]]\n*[[MACRO:DefineAccionForm]]\n*[[MACRO:DespliegaGrid]]\n*[[MACRO:DespliegaListBox]]\n*[[MACRO:EndosarTercerosEnGrilla]]\n*[[MACRO:EnviaClienteIDCobranza]]\n*[[MACRO:EventoWhenReceivingFocus]]\n*[[MACRO:FiltroPlusText]]\n*[[MACRO:iiif]]\n*[[MACRO:MenuArbol]]\n*[[MACRO:MuestraSubForm]]\n*[[MACRO:OptionBtnAP]]\n*[[MACRO:RecalculaSubTotalProductoTmp]]\n*[[MACRO:ResetFiltroProductoFORMPresupuesto]]\n*[[MACRO:RoundN]]\n*[[MACRO:SelectC_selectionChanged]]\n*[[MACRO:SelectS_getSelection]]\n*[[MACRO:SelectS_select]]\n*[[MACRO:SplitMsg]]\n*[[MACRO:SugerenciaContactoID]]\n*[[MACRO:Tree_disposing]]\n*[[MACRO:Tree_requestChildNodes]]\n*[[MACRO:Tree_treeCollapsed]]\n*[[MACRO:Tree_treeCollapsing]]\n*[[MACRO:Tree_treeExpanded]]\n*[[MACRO:Tree_treeExpanding]]\n*[[MACRO:VisibleIngresoCheque]]','utf-8'),(784,'*[[MACRO:AccesaMRIStarDesktop]]\n*[[MACRO:AccesaMRIThisComponent]]\n*[[MACRO:AccesaMRIThisDatabaseDocument]]\n*[[MACRO:ActivaFiltroCheques]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ActivaFiltroPredefinidos]]\n*[[MACRO:ActivaFiltroPresupuesto]]\n*[[MACRO:ActivaFiltroProductosGeneral]]\n*[[MACRO:ActivaNuevaListaPrecio]]\n*[[MACRO:AfterRecordChangeFORMProductos]]\n*[[MACRO:AfterUpdateElementoDProducto]]\n*[[MACRO:AgregaComposicion]]\n*[[MACRO:AplicarCambioMasivoPrecios]]\n*[[MACRO:ApruebaPresupuesto]]\n*[[MACRO:ARAEndosoCheque]]\n*[[MACRO:BotonAbrirPredefinidos]]\n*[[MACRO:BotonEnviarCorreoPresupuesto]]\n*[[MACRO:BotonImprimirPresupuesto]]\n*[[MACRO:BotonSeleccionaPredefinido]]\n*[[MACRO:BRAEndosoCheque]]\n*[[MACRO:CambioMasivoCoeficientesPrecios]]\n*[[MACRO:CentrarMensaje]]\n*[[MACRO:ChangeFieldtxtProductoIDFORMCopiaComp]]\n*[[MACRO:ChangeFieldtxtProductoIDFORMProductos]]\n*[[MACRO:CheckLicenceOK]]\n*[[MACRO:ChequeoProductoRepetido]]\n*[[MACRO:ChequeoValorLicenciaOK]]\n*[[MACRO:ConfirmeEliminarDetalleProducto]]\n*[[MACRO:ConfirmeEliminarLogPrecio]]\n*[[MACRO:ConfirmeEliminarProducto]]\n*[[MACRO:ConfirmeEliminarProductoCore]]\n*[[MACRO:CopiaComposicion]]\n*[[MACRO:DateStampPrecioUpdate]]\n*[[MACRO:DateTodbDate]]\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:EnviaQryPresupuesto]]\n*[[MACRO:EscondeBarras]]\n*[[MACRO:EventoAfterRecordAction]]\n*[[MACRO:EventoARADetallePresupuesto]]\n*[[MACRO:EventoBeforeRecordChange]]\n*[[MACRO:EventoBeforeReloading]]\n*[[MACRO:EventoBRADetallePresupuesto]]\n*[[MACRO:EventoBRADetalleProducto]]\n*[[MACRO:EventoBRAProductosCore]]\n*[[MACRO:EventoBRCDetallePresupuesto]]\n*[[MACRO:EventoBRCDetalleProducto]]\n*[[MACRO:EventoWhenLoading]]\n*[[MACRO:EventoWhenLoadingFormCabecera]]\n*[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[MACRO:EventoWhenReloading]]\n*[[MACRO:FileAttributeString]]\n*[[MACRO:GeneraFechaListaPrecio]]\n*[[MACRO:GeneraNuevoDefaultListaPrecio]]\n*[[MACRO:GeneraResguardo]]\n*[[MACRO:GrabaScriptBkp]]\n*[[MACRO:Hoy]]\n*[[MACRO:ImprimeQryPresupuesto]]\n*[[MACRO:LayoutIn]]\n*[[MACRO:LayoutOut]]\n*[[MACRO:LimpiarMasivoCoeficientesPrecios]]\n*[[MACRO:LookupData]]\n*[[MACRO:Main]]\n*[[MACRO:NewProductoListbox]]\n*[[MACRO:NewResetListBoxDetalleProducto]]\n*[[MACRO:onClickOpenForm]]\n*[[MACRO:OpenForm]]\n*[[MACRO:OpenMainMenu]]\n*[[MACRO:OptionBtnAR]]\n*[[MACRO:OptionBtnOrdenChq]]\n*[[MACRO:PresupuestoCopia]]\n*[[MACRO:PresupuestoExpirado]]\n*[[MACRO:QuerySimple]]\n*[[MACRO:RecalculaPrecios]]\n*[[MACRO:ReemplazaStr]]\n*[[MACRO:ReporteClientesCRM]]\n*[[MACRO:ResguardoEjecutar]]\n*[[MACRO:ResguardoInicializa]]\n*[[MACRO:ResguardoSalir]]\n*[[MACRO:RestituyeFiltroOriginal]]\n*[[MACRO:SugerenciaImporteCheque]]\n*[[MACRO:Sugerencio]]\n*[[MACRO:SwitchBarras]]\n*[[MACRO:SwitchCheckboxParam]]\n*[[MACRO:Test]]\n*[[MACRO:TestMRI]]\n*[[MACRO:TestThisComponent]]\n*[[MACRO:TestThisControl]]\n*[[MACRO:TextoStatusBar]]\n*[[MACRO:VisibleDetalleElementoGrid]]\n*[[MACRO:VisibleFiltroPresupuesto]]','utf-8'),(785,'== Developing ==\n*[[Developing]]\n*[[SpanexDraw]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Observaciones\'\'\'</center>\n|-\n| CrearNuevaListaPrecios\n| FZG.Procedure.CrearNuevaListaPrecios.sql\n| FORM: Crear Nueva Lista\n| Agrega registración al tiempo de generar una nueva lista de precios.\n|-\n| DuplicaProductoCompo\n| FZG.Procedure.DuplicaProductoCompo.sql\n| FORM: Copia Composicion\n| Copia las registraciones de un producto dentro de la tabla de composición con el atrubuto ProductoID diferente al original.\n|-\n| ActualizaPreciosTabular\n| [[FZG.Procedure.ActualizaPreciosTabular.sql]]\n| FORM: Actualiza Precios Tabular\n| Cambio Masivo de Precios de acuerdo al criterio de búsqueda ingresado en el formulario\n|}\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(786,'== Developing ==\n*[[Developing]]\n*[[SpanexDraw]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(787,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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. 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]]\nEs 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 \nControl 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');
INSERT INTO `peg_text` VALUES (788,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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. 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'),(789,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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'),(790,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\n{{tecla|Ctrl|A}}\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(791,'*Modificar FORM:Productos para incluir vista Grid. \'\'\'20121017\'\'\'','utf-8'),(792,'*\'\'\'20121017\'\'\'\n**Modificar FORM:Productos para incluir vista Grid.','utf-8'),(793,'*\'\'\'20121017\'\'\'\n**Modificar [[FORM:Productos]] para incluir vista Grid.\n**Cambiar Control Magnitud en [[FORM:Productos]] para que impacte en la nueva [[TABLA:Magnitudes]]\n**No permitir el cambio de layout del [[FORM:Presupuestos.ProductosGrid]]\n*\'\'\'20101024\'\'\'\n**Veriicar comportamiento aleatorio en la eliminación de registros en [[FORM:Presupuestos.Productos]]\n**Análisis de los precios que se despliegan en los controles de grid en [[FORM:Presupuesto]] con Warning.','utf-8'),(794,'== 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'),(795,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121030====\n=====Problemas Conocidos=====\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'),(796,'== Descripción ==\nEjecuta las operaciones al marcar el VidQuoteEstado dentro de un presupuesto.\n== Biblioteca ==\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]]\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== Uso ==','utf-8'),(797,'== Descripción ==\nEjecuta las operaciones al marcar el VidQuoteEstado dentro de un presupuesto.\n== Biblioteca ==\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 ==','utf-8'),(798,'== 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 ==','utf-8'),(799,'== 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.ItemChange]]','utf-8'),(800,'== 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.ItemChange]]','utf-8'),(801,'== 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'),(802,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\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\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'),(803,'*\'\'\'20121002\'\'\'\n**Agregar un \"MAILTO\" sobre un InputBox como Adicional\n**Agregar un PushButton para identificar valores con IVA\n**Agregar una Magnitud tipo RANGO.\n*\'\'\'20121017\'\'\'\n**Modificar [[FORM:Productos]] para incluir vista Grid.\n**Cambiar Control Magnitud en [[FORM:Productos]] para que impacte en la nueva [[TABLA:Magnitudes]]\n**No permitir el cambio de layout del [[FORM:Presupuestos.ProductosGrid]]\n*\'\'\'20101024\'\'\'\n**Veriicar comportamiento aleatorio en la eliminación de registros en [[FORM:Presupuestos.Productos]]\n**Análisis de los precios que se despliegan en los controles de grid en [[FORM:Presupuesto]] con Warning.','utf-8'),(804,'*[[MACRO:CuadroPrueba]]\n*[[MACRO:CuadroPrueba1]]\n*[[MACRO:CuadroPrueba2]]\n*[[MACRO:EventoAfterUpdatingProductoID]]\n*[[MACRO:EventoBeforeUpdating]]\n*[[MACRO:EventoChanged]]\n*[[MACRO:EventoExecAction]]\n*[[MACRO:EventoItemStatusChanged]]\n*[[MACRO:PruebaDraw]]\n*[[MACRO:ShowToolbars]]\n*[[MACRO:StartDocument]]\n*[[MACRO:XGridSelection_disposing]]\n*[[MACRO:XGridSelection_selectionChanged]]','utf-8'),(805,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(\"e0cb4ec8dae3\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"005\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20120531\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(806,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]','utf-8'),(807,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\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\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(808,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(809,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(810,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\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== 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|707325105\n|FZG\n|FZG010\n|-\n|8504178836\n|MMV\n|ADMIN\n|}','utf-8'),(811,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\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== 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|707325105\n|FZG\n|FZG010\n|-\n|161523437\n|MMV\n|ADMIN\n|}','utf-8'),(812,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\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== 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|}','utf-8'),(813,'== Descripción ==\nA partir de la ejecución, se indica en [[TABLA:reppresqry]] el presupuesto fetcheado en ese momento. Se hace una combinación a partir de la [[TABLA:vidquoten2]] combinada con [[TABLA:vidquoten3]] tomando en 2 partes (por la diferencia entre el [[CTRL:VidQuoteIncluyeDet]]) seleccionando todos los registro en la 1º parte y en la segunda todos aquellos que que no tengan el valor del [[CTRL:VidQuoteIncluyeDet]] = 0 y que no se encuentren dentro de la primera parte. Se agregan para completar el cuadro los datos complementarios de [[TABLA:vidquoten1]], [[TABLA:productos]], [[VISTA:clientes]] y un totalizador por presupuesto que no es posible de generar dentro de la 4º forma normal con las tablas al tiempo de ejecuación del reporte propiamente dicho.\n\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:productos]]\n*[[VISTA:clientes]]\n*[[TABLA:reppresqry]]\n== SQL ==\n\n== Bitácora ==\n*20121101\n**CheckStatus\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n*20121002\n**Cambio de Estructura por Requerimiento. Query anterior:\n<small><pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre></small>\n== URL ==','utf-8'),(814,'== Descripción ==\nA partir de la ejecución, se indica en [[TABLA:reppresqry]] el presupuesto fetcheado en ese momento. Se hace una combinación a partir de la [[TABLA:vidquoten2]] combinada con [[TABLA:vidquoten3]] tomando en 2 partes (por la diferencia entre el [[CTRL:VidQuoteIncluyeDet]]) seleccionando todos los registro en la 1º parte y en la segunda todos aquellos que que no tengan el valor del [[CTRL:VidQuoteIncluyeDet]] = 0 y que no se encuentren dentro de la primera parte. Se agregan para completar el cuadro los datos complementarios de [[TABLA:vidquoten1]], [[TABLA:productos]], [[VISTA:clientes]] y un totalizador por presupuesto que no es posible de generar dentro de la 4º forma normal con las tablas al tiempo de ejecuación del reporte propiamente dicho.\n\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:productos]]\n*[[VISTA:clientes]]\n*[[TABLA:reppresqry]]\n== SQL ==\n\n== Bitácora ==\n*20121122\n**Cambio de formato visualización de Dimension a solicitud de FZG. Anterior:\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n*20121101\n**CheckStatus\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n*20121002\n**Cambio de Estructura por Requerimiento. Query anterior:\n<small><pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre></small>\n== URL ==','utf-8'),(815,'== Descripción ==\nA partir de la ejecución, se indica en [[TABLA:reppresqry]] el presupuesto fetcheado en ese momento. Se hace una combinación a partir de la [[TABLA:vidquoten2]] combinada con [[TABLA:vidquoten3]] tomando en 2 partes (por la diferencia entre el [[CTRL:VidQuoteIncluyeDet]]) seleccionando todos los registro en la 1º parte y en la segunda todos aquellos que que no tengan el valor del [[CTRL:VidQuoteIncluyeDet]] = 0 y que no se encuentren dentro de la primera parte. Se agregan para completar el cuadro los datos complementarios de [[TABLA:vidquoten1]], [[TABLA:productos]], [[VISTA:clientes]] y un totalizador por presupuesto que no es posible de generar dentro de la 4º forma normal con las tablas al tiempo de ejecuación del reporte propiamente dicho.\n\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:productos]]\n*[[VISTA:clientes]]\n*[[TABLA:reppresqry]]\n== SQL ==\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\'x\',\n                CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\'x\',\n                CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n== Bitácora ==\n*20121122\n**Cambio de formato visualización de Dimension a solicitud de FZG. Anterior:\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n*20121101\n**CheckStatus\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n*20121002\n**Cambio de Estructura por Requerimiento. Query anterior:\n<small><pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre></small>\n== URL ==','utf-8'),(816,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:bocetoscab]]\n* [[TABLA:bocetosdet]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:moduloscab]]\n* [[TABLA:modulosdet]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(817,'== Descripción ==\nCabecera de Módulos de Producto\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\ndelimiter $$\n\nCREATE TABLE `moduloscab` (\n  `ModuloID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloDSC` varchar(80) NOT NULL,\n  `ModuloVW` int(5) DEFAULT \'0\',\n  `ModuloVH` int(5) DEFAULT \'0\',\n  `ModuloIMG` blob,\n  `ModuloATH` varchar(10) NOT NULL,\n  `ModuloFec` date NOT NULL,\n  PRIMARY KEY (`ModuloID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n< /pre>\n== Bitácora ==\n*20121121\n**Alta\n== Uso ==\n== URL ==','utf-8'),(818,'== Descripción ==\nCabecera de Módulos de Producto\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `moduloscab` (\n  `ModuloID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloDSC` varchar(80) NOT NULL,\n  `ModuloVW` int(5) DEFAULT \'0\',\n  `ModuloVH` int(5) DEFAULT \'0\',\n  `ModuloIMG` blob,\n  `ModuloATH` varchar(10) NOT NULL,\n  `ModuloFec` date NOT NULL,\n  PRIMARY KEY (`ModuloID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121121\n**Alta\n== Uso ==\n== URL ==','utf-8'),(819,'\n\n== Descripción ==\nDetalle de Modulos\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulosdet` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `SubSetAncho` int(5) DEFAULT \'1\',\n  `SubSetAlto` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  PRIMARY KEY (`ModuloID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121121\n**Alta\n== Uso ==\n== URL ==','utf-8'),(820,'== Descripción ==\nDetalle de Modulos\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulosdet` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `SubSetAncho` int(5) DEFAULT \'1\',\n  `SubSetAlto` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  PRIMARY KEY (`ModuloID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121121\n**Alta\n== Uso ==\n== URL ==','utf-8'),(821,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:bocetoscab]]\n* [[TABLA:bocetosdet]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:moduloscab]]\n* [[TABLA:modulosdet]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(822,'== 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== Composición ==\n[[TABLA:modulosdet]]\n[[TABLA:moduloscab]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW vischeckmod AS\nSELECT \n    modulosdet.ModuloID,\n    \'W\' AS Dimension,\n    modulosdet.SubSetAncho AS SubSet,\n    Sum(modulosdet.AnchoPredef) AS DimCalculo,\n    moduloscab.ModuloVW as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAncho IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAncho\nUNION\nSELECT \n    modulosdet.ModuloID,\n    \'H\' AS Dimension,\n    modulosdet.SubSetAlto AS SubSet,\n    Sum(modulosdet.AltoPredef) AS DimCalculo,\n    moduloscab.ModuloVH as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAlto IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAlto\n</pre>\n== Bitácora ==\n*20121127\n**Alta Vista.\n== Uso ==\n== URL ==','utf-8'),(823,'== 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== Composición ==\n*[[TABLA:modulosdet]]\n*[[TABLA:moduloscab]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW vischeckmod AS\nSELECT \n    modulosdet.ModuloID,\n    \'W\' AS Dimension,\n    modulosdet.SubSetAncho AS SubSet,\n    Sum(modulosdet.AnchoPredef) AS DimCalculo,\n    moduloscab.ModuloVW as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAncho IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAncho\nUNION\nSELECT \n    modulosdet.ModuloID,\n    \'H\' AS Dimension,\n    modulosdet.SubSetAlto AS SubSet,\n    Sum(modulosdet.AltoPredef) AS DimCalculo,\n    moduloscab.ModuloVH as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAlto IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAlto\n</pre>\n== Bitácora ==\n*20121127\n**Alta Vista.\n== Uso ==\n== URL ==','utf-8'),(824,'== 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:modulosdet]] que tengan valores significativos dentro de los atributos SubSet\'\'xxxxx\'\' y los agrupa sumarizando los valores indicados dentro de \'\'xxxxx\'\'Predef, que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\n*[[TABLA:modulosdet]]\n*[[TABLA:moduloscab]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW vischeckmod AS\nSELECT \n    modulosdet.ModuloID,\n    \'W\' AS Dimension,\n    modulosdet.SubSetAncho AS SubSet,\n    Sum(modulosdet.AnchoPredef) AS DimCalculo,\n    moduloscab.ModuloVW as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAncho IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAncho\nUNION\nSELECT \n    modulosdet.ModuloID,\n    \'H\' AS Dimension,\n    modulosdet.SubSetAlto AS SubSet,\n    Sum(modulosdet.AltoPredef) AS DimCalculo,\n    moduloscab.ModuloVH as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAlto IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAlto\n</pre>\n== Bitácora ==\n*20121127\n**Alta Vista.\n== Uso ==\n== URL ==','utf-8'),(825,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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===Composicion===\n===Modulos===\n===Bocetos===\n===Precios===\n===Contactos===\n===Valores===\n\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(826,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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===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===Precios===\n===Contactos===\n===Valores===\n\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(827,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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===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'),(828,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(829,'===20121201===\n====Actualización de [[TABLA:Productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST , \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 `Presentacion` VARCHAR(45) NULL  AFTER `MagCmpZ ;\n</pre>\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'),(830,'===20121201===\n====Actualización de [[TABLA:Productos]]====\n<pre>\nALTER TABLE `fzggestion`.`productos` \nADD COLUMN `ProductoGen` CHAR(8) NULL  FIRST , \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` ;\n</pre>\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'),(831,'===20121201===\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` ;\n</pre>\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'),(832,'===20121201===\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\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'),(833,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121201====\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 20121030====\n=====Problemas Conocidos=====\n*Aleatoriamente no elimina registros y cuando se visualiza o refresca la tabla, hace shutdown de la sesión\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'),(834,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n=== Versión 1.1 ===\n====Release 20121201====\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 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'),(835,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\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=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\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'),(836,'','utf-8'),(837,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\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=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\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:SpanexGestion.FORM.Modulos.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'),(838,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\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=====Correcciones y Agregados=====\n*[[FORM:Modulos]]. Rediseño del originario [[FORM:Predefinidos]] y puesta en producción.\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'),(839,'== Descripción ==\n== Composición ==\n== Imagen ==\n\n[[File:SpanexGestion.FORM.Modulos.png]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(840,'== Descripción ==\n== Composición ==\n== Imagen ==\n\n[[File:SpanexGestion.FORM.Modulos.png|200px]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(841,'== Descripción ==\n== Composición ==\n== Imagen ==\n\n[[File:SpanexGestion.FORM.Modulos.png|400px]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(842,'== Descripción ==\nProceso de Definición de un módulo o modelo o kit de producto cuyos elementos no sean dependientes en forma taxativa a un vano o espacio de trabajo determinado sino que esté incluido en el mismo\n== Composición ==\n*[[TABLA:moduloscab]]\n*[[TABLA:modulosdet]]\n== Imagen ==\n[[File:SpanexGestion.FORM.Modulos.png|400px]]\n== Estructura ==\n*FormModulos\n**FormComponentes\n== Código Relacionado ==\n*[[MACRO:ControlBotonesFormModulos]]\n*[[MACRO:ConfirmaDeleteModulo]]\n== Bitácora ==\n*20121130\n**Alta de Formulario\n== Uso ==','utf-8'),(843,'===20121201===\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\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'),(844,'===20121201===\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuesto]]====\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'),(845,'===20121201===\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuestos]]====\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'),(846,'== Descripción ==\nChequea los campos de dimensiones dentro del [[FORM:Presupuesto]]\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==','utf-8'),(847,'== 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>\n< /pre>< /small>\n== Bitácora ==\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== Uso ==','utf-8'),(848,'== 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>\n</pre></small>\n\n== Bitácora ==\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== Uso ==','utf-8'),(849,'== 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*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== Uso ==','utf-8'),(850,'== 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*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'),(851,'== 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'),(852,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:bocetoscab]]\n* [[TABLA:bocetosdet]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:moduloscab]]\n* [[TABLA:modulosdet]]\n* [[TABLA:modulossbs]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(853,'== Descripción ==\nDetalle de SubConjuntos de \"lineas de control\" tendidas para el chequeo de las dimensiones de vano para módulos\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulossbs` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL,\n  `SubSetTP` char(1) NOT NULL,\n  `SubSetNO` int(2) NOT NULL,\n  PRIMARY KEY (`ModuloID`,`ComposicID`,`ProductoID`,`SubSetTP`,`SubSetNO`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121205\n**Alta\n== Uso ==\n== URL ==','utf-8'),(854,'== Descripción ==\nDetalle de SubConjuntos de \"lineas de control\" tendidas para el chequeo de las dimensiones de vano para módulos. Se utiliza en forma conjunta con su tabla padre [[TABLA:modulosdet]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulossbs` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL,\n  `SubSetTP` char(1) NOT NULL,\n  `SubSetNO` int(2) NOT NULL,\n  PRIMARY KEY (`ModuloID`,`ComposicID`,`ProductoID`,`SubSetTP`,`SubSetNO`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121205\n**Alta\n== Uso ==\n== URL ==','utf-8'),(855,'== Descripción ==\nDetalle de información de Modulos. Se relaciona jerárquicamente hacia arriba con [[TABLA:moduloscab]] y hacia abajo con [[TABLA:modulossbs]]\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulosdet` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  `PosX` int(5) DEFAULT \'0\',\n  `PosY` int(5) DEFAULT \'0\',\n  PRIMARY KEY (`ModuloID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121205\n**Cambio de esquema para albergar varias ocurrencias de subconjuntos de \"lineas de control\" para el chequeo de las dimensiones. Se elimina el trigger de automatización de ingreso ya que solo agrega líneas a la [[TABLA:modulossbs]] Anterior estructura:\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulosdet` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `SubSetAncho` int(5) DEFAULT \'1\',\n  `SubSetAlto` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  PRIMARY KEY (`ModuloID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Modifica_Modulo`\nBEFORE UPDATE ON `fzggestion`.`modulosdet`\nFOR EACH ROW\nBEGIN\n    SET\n    NEW.SubSetAncho = IF(NEW.SubSetAncho=0,NULL,NEW.SubSetAncho),\n    NEW.SubSetAlto  = IF(NEW.SubSetAlto=0,NULL,NEW.SubSetAlto);\nEND\n$$\n\n</pre>\n*20121121\n**Alta\n== Uso ==\n== URL ==','utf-8'),(856,'===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]]\n*Alta de [[TABLA:modulosdet]]\n*Alta de [[TABLA:modulossbs]]\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuestos]]====\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'),(857,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\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=====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====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'),(858,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[WikiSpanexSupport]]','utf-8'),(859,'\'\'\'Listado de tickets\'\'\'\n\n*FZG.000001\n**//Sofia//Se corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente.\n***Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n***Se investiga.\n***Se resuelve revisar el equipamiento in-situ.','utf-8'),(860,'[[Categoria:TABLAS]]\n== Descripción ==\nTransacciones de Cobranzas\n== Composición ==\nTabla Plana + Triggers\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `accreceiv` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AR\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAR` date DEFAULT NULL,\n  `FechaAR` date DEFAULT NULL,\n  `FormaAR` char(3) DEFAULT NULL,\n  `ImporteAR` decimal(10,2) DEFAULT NULL,\n  `ClienteAR` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Cobranza`\nBEFORE INSERT ON `fzggestion`.`accreceiv`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAR = CURDATE();\nEND\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(861,'[[Category:TABLAS]]\n== Descripción ==\nTransacciones de Cobranzas\n== Composición ==\nTabla Plana + Triggers\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `accreceiv` (\n  `TTransaccion` char(2) NOT NULL DEFAULT \'AR\',\n  `NTransaccion` int(11) NOT NULL AUTO_INCREMENT,\n  `FechaAutAR` date DEFAULT NULL,\n  `FechaAR` date DEFAULT NULL,\n  `FormaAR` char(3) DEFAULT NULL,\n  `ImporteAR` decimal(10,2) DEFAULT NULL,\n  `ClienteAR` char(8) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  PRIMARY KEY (`TTransaccion`,`NTransaccion`)\n) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=latin1$$\n\nCREATE TRIGGER `fzggestion`.`Alta_Cobranza`\nBEFORE INSERT ON `fzggestion`.`accreceiv`\nFOR EACH ROW\nBEGIN\n	SET NEW.FechaAutAR = CURDATE();\nEND\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(862,'[[Category:TABLAS]]\n== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.\n\n== Atributos ==\n<pre>\nProductoID	char(8) PK \nElementoID	char(8) PK \nComposicID	int(11) PK AI\nValorElemento	decimal(16,8) \nElementoPM	int(1) \nOffsetVanoAncho	int(11) \nOffsetVanoAlto	int(11) \nCoefVanoAncho	decimal(16,8) \nCoefVanoAlto	decimal(16,8) \n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(863,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\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*[[TCKT:000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\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====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'),(864,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n[[Category:TABLAS]]\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*[[TCKT:000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\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====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'),(865,'===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*[[TCKT:000001]]. Se corrompe el archivo manifiest.rdf propio de la instalación del equipamiento laptop.\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====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'),(866,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:Tablas]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[WikiSpanexSupport]]','utf-8'),(867,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[WikiSpanexSupport]]','utf-8'),(868,'= Indice de Tablas =','utf-8'),(869,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[WikiSpanexSupport]]','utf-8'),(870,'Glosario de Tablas de la Aplicación','utf-8'),(871,'[[Category:TABLAS]]\n== Descripción ==\nDetalle de SubConjuntos de \"lineas de control\" tendidas para el chequeo de las dimensiones de vano para módulos. Se utiliza en forma conjunta con su tabla padre [[TABLA:modulosdet]]\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulossbs` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL,\n  `SubSetTP` char(1) NOT NULL,\n  `SubSetNO` int(2) NOT NULL,\n  PRIMARY KEY (`ModuloID`,`ComposicID`,`ProductoID`,`SubSetTP`,`SubSetNO`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121205\n**Alta\n== Uso ==\n== URL ==','utf-8'),(872,'[[Category:TABLAS]]\n== Descripción ==\nDefinicion de Tabla de acceso Magnitudes con las formulas para la versión 2\n== Composición ==\n== Estructura ==\n<pre>\nCREATE TABLE `magnitudes` (\n  `MagnitudID` char(2) NOT NULL,\n  `MagnitudDSC` varchar(45) DEFAULT NULL,\n  `MagnitudCLC` varchar(300) DEFAULT NULL,\n  PRIMARY KEY (`MagnitudID`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n*20121018\n**Alta de Tabla\n*20121022\n**Insert Datos\n<pre>\nINSERT INTO `magnitudes` \nVALUES\n(\'AL\',\'Alto\',NULL),\n(\'AN\',\'Ancho\',NULL),\n(\'KG\',\'Kilogramo\',NULL),\n(\'M2\',\'Metro Cuadrado\',NULL),\n(\'MG\',\'Magnitud Galarza\',NULL),\n(\'ML\',\'Metro Lineal\',NULL),\n(\'PR\',\'Perimetro\',NULL),\n(\'UN\',\'Unidad\',\'y…™Ä®�HRø×�óÆ�G|¬^Ôñ}�L��\\\'ª3ý0”æË…¨9�Â…r£�©z¤?yª3®Fßª:ðÍ�\');\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(873,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[WikiSpanexSupport]]','utf-8'),(874,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n==== xxxxxx ====\nAutor:\nFecha:\nSoporte:\n=====Incidente=====\n=====WorkAround=====\n=====Resolucion=====\n</pre>','utf-8'),(875,'\'\'\'Listado de tickets\'\'\'\n\n==== FZG.000001 ====\nAutor: Sofia\nFecha: 20121205\nSoporte: SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n***Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n***Se investiga.\n***Se resuelve revisar el equipamiento in-situ.\n=====Resolucion=====','utf-8'),(876,'\'\'\'Listado de tickets\'\'\'\n\n==== FZG.000001 ====\nAutor: Sofia\n\nFecha: 20121205\n\nSoporte: SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolucion=====','utf-8'),(877,'\'\'\'Listado de tickets\'\'\'\n\n==== FZG.000001 ====\n\'\'\'Autor\'\'\': Sofia\n\n\'\'\'Fecha\'\'\': 20121205\n\n\'\'\'Soporte\'\'\': SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolucion=====','utf-8'),(878,'\'\'\'Listado de tickets\'\'\'\n[[TKT:FZG.000001]]\n==== FZG.000001 ====\n\'\'\'Autor\'\'\': Sofia\n\n\'\'\'Fecha\'\'\': 20121205\n\n\'\'\'Soporte\'\'\': SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolucion=====','utf-8'),(879,'====Data TKT====\n\'\'\'Autor:\'\'\' Sofia\n\n\'\'\'Fecha:\'\'\' 20121205\n\n\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolucion=====','utf-8'),(880,'====Data TKT====\n\'\'\'Usuario:\'\'\' Sofia\n\n\'\'\'Fecha:\'\'\' 20121205\n\n\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolucion=====','utf-8'),(881,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n====Data TKT====\n\'\'\'Usuario:\'\'\' \n\n\'\'\'Fecha:\'\'\' \n\n\'\'\'Soporte:\'\'\' \n=====Incidente=====\n\n=====WorkAround=====\n\n=====Resolución=====\n\n</pre>','utf-8'),(882,'====Data TKT====\n\'\'\'Usuario:\'\'\' Sofia\n\n\'\'\'Fecha:\'\'\' 20121205\n\n\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====','utf-8'),(883,'[[Category:TKT]]\n====Data TKT====\n\'\'\'Usuario:\'\'\' Sofia\n\n\'\'\'Fecha:\'\'\' 20121205\n\n\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====','utf-8'),(884,'','utf-8'),(885,'[[Category:TKT]]\n====Data TKT====\n\'\'\'Usuario:\'\'\' Sofia\n\n\'\'\'Fecha:\'\'\' 20121205\n\n\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====\n\n=====Observaciones=====','utf-8'),(886,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n====Data TKT====\n\'\'\'Usuario:\'\'\' \n\n\'\'\'Fecha:\'\'\' \n\n\'\'\'Soporte:\'\'\' \n=====Incidente=====\n\n=====WorkAround=====\n\n=====Resolución=====\n\n=====Observaciones=====\n\n</pre>','utf-8'),(887,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 20121205\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====\n\n=====Observaciones=====','utf-8'),(888,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Observaciones=====\n</pre>','utf-8'),(889,'==Tablas, Vistas==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Observaciones=====\n</pre>','utf-8'),(890,'==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Observaciones=====\n</pre>','utf-8'),(891,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[:Category:TKT|SpanexSupport]]','utf-8'),(892,'Lista de Tickets de Soporte','utf-8'),(893,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n*[[Spanex:Estructuras]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[:Category:TKT|SpanexSupport]]','utf-8'),(894,'[[:Category:TABLAS|Tablas]]\n[[:Category:VISTAS|Vistas]]\n[[:Category:MACROS|Macros]]\n[[:Category:RPRT|Informes]]','utf-8'),(895,'===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]','utf-8'),(896,'[[Category:VISTAS]]\n== Descripción ==\n\n<span style=\"background:#EE6622\"> En proceso de evaluación. Queda desafectada temporariamente de la base a efectos del procedimiento de Resguardo. </span>\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:modulosdet]] que tengan valores significativos dentro de los atributos SubSet\'\'xxxxx\'\' y los agrupa sumarizando los valores indicados dentro de \'\'xxxxx\'\'Predef, que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\n*[[TABLA:modulosdet]]\n*[[TABLA:moduloscab]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW vischeckmod AS\nSELECT \n    modulosdet.ModuloID,\n    \'W\' AS Dimension,\n    modulosdet.SubSetAncho AS SubSet,\n    Sum(modulosdet.AnchoPredef) AS DimCalculo,\n    moduloscab.ModuloVW as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAncho IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAncho\nUNION\nSELECT \n    modulosdet.ModuloID,\n    \'H\' AS Dimension,\n    modulosdet.SubSetAlto AS SubSet,\n    Sum(modulosdet.AltoPredef) AS DimCalculo,\n    moduloscab.ModuloVH as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAlto IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAlto\n</pre>\n== Bitácora ==\n*20121127\n**Alta Vista.\n== Uso ==\n== URL ==','utf-8'),(897,'[[Category:VISTAS]]\n== Descripción ==\n\n<span style=\"background:#EE6622\"> \'\'\'En proceso de evaluación. Queda desafectada temporariamente de la base a efectos del procedimiento de Resguardo.\'\'\' </span>\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:modulosdet]] que tengan valores significativos dentro de los atributos SubSet\'\'xxxxx\'\' y los agrupa sumarizando los valores indicados dentro de \'\'xxxxx\'\'Predef, que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\n*[[TABLA:modulosdet]]\n*[[TABLA:moduloscab]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW vischeckmod AS\nSELECT \n    modulosdet.ModuloID,\n    \'W\' AS Dimension,\n    modulosdet.SubSetAncho AS SubSet,\n    Sum(modulosdet.AnchoPredef) AS DimCalculo,\n    moduloscab.ModuloVW as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAncho IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAncho\nUNION\nSELECT \n    modulosdet.ModuloID,\n    \'H\' AS Dimension,\n    modulosdet.SubSetAlto AS SubSet,\n    Sum(modulosdet.AltoPredef) AS DimCalculo,\n    moduloscab.ModuloVH as DimPredef\nFROM\n    fzggestion.modulosdet AS modulosdet,\n    fzggestion.moduloscab AS moduloscab\nWHERE\n    modulosdet.ModuloID = moduloscab.ModuloID AND\n    modulosdet.SubSetAlto IS NOT NULL\nGROUP BY\n    modulosdet.SubSetAlto\n</pre>\n== Bitácora ==\n*20121127\n**Alta Vista.\n== Uso ==\n== URL ==','utf-8'),(898,'Listado de Vistas','utf-8'),(899,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 20121205\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====\n*Se verificó el problema.\n*Dado que el equipo nunca se apagaba y tenía colocado el OpenOffice Quick Loader, mantenía el error de conexión que se produce cuando pierde la conexión con el motor de DBMS.\n*Se procedió a quitar el OpenOffice QuickLoader de los programas de inicio. Se reinició y funcionó.\n\n=====Observaciones=====','utf-8'),(900,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 20121205\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====\n*Se verificó el problema.\n*Dado que el equipo nunca se apagaba y tenía colocado el OpenOffice Quick Loader, mantenía el error de conexión que se produce cuando pierde la conexión con el motor de DBMS.\n*Se procedió a quitar el OpenOffice QuickLoader de los programas de inicio. Se reinició y funcionó.\n*Ticket Cerrado\n\n=====Observaciones=====','utf-8'),(901,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 20121205\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====\n*Se verificó el problema.\n*Dado que el equipo nunca se apagaba y tenía colocado el OpenOffice Quick Loader, mantenía el error de conexión que se produce cuando pierde la conexión con el motor de DBMS.\n*Se procedió a quitar el OpenOffice QuickLoader de los programas de inicio. Se reinició y funcionó.\n=====Resolución=====\n*Cerrado\n\n=====Observaciones=====','utf-8'),(902,'==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==Formularios==\n<pre>\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====\n</pre>','utf-8'),(903,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====','utf-8'),(904,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121206.1700\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*Al tiempo de ejecutar un presupuesto, en apariencia, cuando se define restricciones en el offset de un elemento anidado dentro de la composición el calculo del mismo, hecho en forma directa con el offset restado del valor original no da lo mismo.\nProducto:VANO0002 con DVH 4+9+4 Incoloro versus el mismo DVH 4+9+4 como producto solo para las dimensiones 400x1650 y 350x1600\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n*Pendiente\n=====Observaciones=====','utf-8'),(905,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121206.1800\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====.\n*Generar el siguiente procedimiento:\n**Sobre todos los productos que tengan como componente los productos con descripción \"Biselado\", generar 4 registros adicionales colocando como valores dentro de los coeficientes de ancho y alto los valores .5/0 1/0 0/.5 0/1\n**Idem para Pulido\n**Para los productos que tengan como componente \"Travesaño\" agregar otro de las mismas características pero que sea otro producto identificativo con \"Parante\"\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n*Pendiente\n=====Observaciones=====\nSolo hacer el procedure y presentarlo.','utf-8'),(906,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121206.1800\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*Generar el siguiente procedimiento:\n**Sobre todos los productos que tengan como componente los productos con descripción \"Biselado\", generar 4 registros adicionales colocando como valores dentro de los coeficientes de ancho y alto los valores .5/0 1/0 0/.5 0/1\n**Idem para Pulido\n**Para los productos que tengan como componente \"Travesaño\" agregar otro de las mismas características pero que sea otro producto identificativo con \"Parante\"\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n*Pendiente\n=====Observaciones=====\nSolo hacer el procedure y presentarlo.','utf-8'),(907,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 20121205\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nSe corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente\n=====WorkAround=====\n*Se consulta sobre la acción en el resto de los equipos. Se verifican que funcionan correctamente.\n*Se investiga.\n*Se resuelve revisar el equipamiento in-situ.\n=====Resolución=====\n*Se verificó el problema.\n*Dado que el equipo nunca se apagaba y tenía colocado el OpenOffice Quick Loader, mantenía el error de conexión que se produce cuando pierde la conexión con el motor de DBMS.\n*Se procedió a quitar el OpenOffice QuickLoader de los programas de inicio. Se reinició y funcionó.\n=====Resolución=====\n*Cerrado\n=====Observaciones=====','utf-8'),(908,'Tickets de soporte cerrados.','utf-8'),(909,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121206.1600\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nCuando carga un producto con la facilidad del filtro, pasa directamente al campo de Altura y en apariencia quiere pasar al otro campo generando el error correspondiente por no ingresarle el dato de dimensionamiento\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\nPendiente\n=====Observaciones=====','utf-8'),(910,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121206.1630\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*El \"ascensor\" de ComponenteSimpleGrid desaparece aleatoriamente\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\nPendiente\n=====Observaciones=====','utf-8'),(911,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n*[[Spanex:Estructuras]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n[[:Category:TKT|SpanexSupport -> Pendientes]]\n[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(912,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n*[[Spanex:Estructuras]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[Tabla:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(913,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 201212070930\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nMensaje de error solicitando información de feedback para Oracle OpenOffice.\n=====WorkAround=====\n=====Resolución=====\nContinuación y cancelación del pedido de información de Oracle\n=====Estado=====\nFinalizado\n=====Observaciones=====','utf-8'),(914,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 201212070930\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nMensaje de error solicitando información de feedback para Oracle OpenOffice.\nthunderlink://messageid=SNT002-W398146B91F00276402D8EBD440@phx.gbl\n\n=====WorkAround=====\n=====Resolución=====\nContinuación y cancelación del pedido de información de Oracle\n=====Estado=====\nFinalizado\n=====Observaciones=====','utf-8'),(915,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 201212070930\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nMensaje de error solicitando información de feedback para Oracle OpenOffice.\n[[thunderlink://messageid=SNT002-W398146B91F00276402D8EBD440@phx.gbl]]\n\n=====WorkAround=====\n=====Resolución=====\nContinuación y cancelación del pedido de información de Oracle\n=====Estado=====\nFinalizado\n=====Observaciones=====','utf-8'),(916,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 201212070930\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*Mensaje de error solicitando información de feedback para Oracle OpenOffice.\n*[[thunderlink://messageid=SNT002-W398146B91F00276402D8EBD440@phx.gbl]]\n\n=====WorkAround=====\n=====Resolución=====\nContinuación y cancelación del pedido de información de Oracle\n=====Estado=====\nFinalizado\n=====Observaciones=====','utf-8'),(917,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 201212070930\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*Mensaje de error solicitando información de feedback para Oracle OpenOffice.\n*[[thunderlink://messageid=SNT002-W398146B91F00276402D8EBD440@phx.gbl|Mensaje]]\n\n=====WorkAround=====\n=====Resolución=====\nContinuación y cancelación del pedido de información de Oracle\n=====Estado=====\nFinalizado\n=====Observaciones=====','utf-8'),(918,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Sofia\n*\'\'\'Fecha:\'\'\' 201212070930\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*Mensaje de error solicitando información de feedback para Oracle OpenOffice.\n*[[thunderlink://messageid=SNT002-W398146B91F00276402D8EBD440@phx.gbl]]\n\n=====WorkAround=====\n=====Resolución=====\nContinuación y cancelación del pedido de información de Oracle\n=====Estado=====\nFinalizado\n=====Observaciones=====','utf-8'),(919,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121206.1700\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*Al tiempo de ejecutar un presupuesto, en apariencia, cuando se define restricciones en el offset de un elemento anidado dentro de la composición el calculo del mismo, hecho en forma directa con el offset restado del valor original no da lo mismo.\nProducto:VANO0002 con DVH 4+9+4 Incoloro versus el mismo DVH 4+9+4 como producto solo para las dimensiones 400x1650 y 350x1600\n=====WorkAround=====\n=====Resolución=====\n*Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional.\n*Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]\n*Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]] debido a que no se propagaba las características indicadas en los elementos que tenían un nivel adicional de composición. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n=====Estado=====\n*Finalizado\n=====Observaciones=====\n*20121208.0014\n**Falta impactar las modificaciones en la base operativa.','utf-8'),(920,'== Descripcion ==\n<strike>Una vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.</strike> \'\'\'20120917\'\'\'\nUna vez que ingresa los datos básicos de un producto, inserta en [[TABLA:vidquoten3]] los componentes del producto señalado (solo los elementos básicos). Divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n\n== Composicion ==\n*<strike>[[VISTA:visproadic]]-></strike>\n*[[TABLA:productos]]->\n*[[TABLA:precios]]->\n*[[TABLA:componentes]]->\n*->[[TABLA:vidquoten3]]\n\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n*20121208\n**Se detecta errores en el cálculo combinado por la falta de propagación de atributos de componentes con niveles adicionales de composición (DVH, etc). Anterior:\n\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(921,'== Descripcion ==\n<strike>Una vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.</strike> \'\'\'20120917\'\'\'\nUna vez que ingresa los datos básicos de un producto, inserta en [[TABLA:vidquoten3]] los componentes del producto señalado (solo los elementos básicos). Divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n== Composicion ==\n*<strike>[[VISTA:visproadic]]-></strike>\n*[[TABLA:productos]]->\n*[[TABLA:precios]]->\n*[[TABLA:componentes]]->\n*->[[TABLA:vidquoten3]]\n== SQL ==\n<small><pre>\nDROP PROCEDURE `AltaItemPresupuesto`;\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n    CALL DebugCheckPoint(\n        CONCAT(\n            CAST(pVidQuoteID AS CHAR),\"-\",\n            CAST(pVidQuoteLPre AS CHAR),\"-\",\n            CAST(pVidQuoteItem AS CHAR),\"-\",\n            pVidQuoteProdID,\"-\",\n            CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n            CAST(pVidQuoteAncho AS CHAR),\"-\",\n            CAST(pVidQuoteAlto AS CHAR),\"-\",\n            CAST(pCoeficienteMU AS CHAR)\n            )\n        );\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n			CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n			CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n			U1.ProductoID,\n			U1.ElementoID AS ProdCmpID,\n			U1.ComposicID,\n			U1.ElementoID,\n			U1.ElementoPM,\n			U2.Magnitud,\n			U1.ValorElemento,\n			U1.OffsetVanoAncho,\n			U1.OffsetVanoAlto,\n			U1.CoefVanoAncho,\n			U1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN U3.PrecioProd00\n				WHEN 1 THEN U3.PrecioProd01\n				WHEN 2 THEN U3.PrecioProd02\n				WHEN 3 THEN U3.PrecioProd03\n			END) AS PrecioProd\n		FROM\n			fzggestion.productos AS U2,\n			fzggestion.composicion AS U1,\n			fzggestion.precios AS U3\n		WHERE\n			U2.ProductoID = U1.ElementoID AND \n			U3.ProductoID = U2.ProductoID AND \n			U1.ProductoID = pVidQuoteProdID AND \n			U1.ElementoID = pVidQuoteProdID AND \n			U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento * T2.ValorElemento AS ValorElemento,        \n			T1.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n			T1.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n			T1.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n			T1.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND$$\n</pre></small>\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n*20121208\n**Se detecta errores en el cálculo combinado por la falta de propagación de atributos de componentes con niveles adicionales de composición (DVH, etc). Anterior:\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(922,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121206.1700\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\n*Al tiempo de ejecutar un presupuesto, en apariencia, cuando se define restricciones en el offset de un elemento anidado dentro de la composición el calculo del mismo, hecho en forma directa con el offset restado del valor original no da lo mismo.\nProducto:VANO0002 con DVH 4+9+4 Incoloro versus el mismo DVH 4+9+4 como producto solo para las dimensiones 400x1650 y 350x1600\n=====WorkAround=====\n=====Resolución=====\n*Se detecta que no se propagan las características de los elementos componentes con niveles de composición adicional.\n*Se hizo tarea de cosmética sobre [[PROC:CalculoPrecio]]\n*Se modificaron los [[PROC:AltaItemPresupuesto]] y [[PROC:AltaItemPresupuestoTmp]] debido a que no se propagaba las características indicadas en los elementos que tenían un nivel adicional de composición. Se procedió a:\n**Multiplicar los coeficientes\n**Sumar los Offset\n=====Estado=====\n*Finalizado. 20121207.1930\n\n=====Observaciones=====\n*20121208.0014\n**Falta impactar las modificaciones en la base operativa.','utf-8'),(923,'== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la [[TABLA:vidquoten3tmp]] las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\nDROP PROCEDURE `AltaItemPresupuestoTmp`;\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n--     INSERT INTO debugstmt (Fecha,Hora,Texto) \n-- 		VALUES (\n-- 			CURDATE(),\n-- 			CURTIME(),\n-- 			CONCAT(\n-- 				CAST(pVidQuoteID AS CHAR),\"-\",\n-- 				CAST(pVidQuoteLPre AS CHAR),\"-\",\n-- 				CAST(pVidQuoteItem AS CHAR),\"-\",\n-- 				pVidQuoteProdID,\"-\",\n-- 				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAncho AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAlto AS CHAR)\n-- 				)\n-- 			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Prev - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Past - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuoteElementoPM,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n    CALL DebugCheckPoint(\"Past Inserta Registros VQ3 anteriores\");\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n			U1.ProductoID,\n			U1.ElementoID AS ProdCmpID,\n			U1.ComposicID,\n			U1.ElementoID,\n			U1.ElementoPM,\n			U2.Magnitud,\n			U1.ValorElemento,\n			U1.OffsetVanoAncho,\n			U1.OffsetVanoAlto,\n			U1.CoefVanoAncho,\n			U1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN U3.PrecioProd00\n				WHEN 1 THEN U3.PrecioProd01\n				WHEN 2 THEN U3.PrecioProd02\n				WHEN 3 THEN U3.PrecioProd03\n			END) AS PrecioProd\n		FROM\n			fzggestion.productos AS U2,\n			fzggestion.composicion AS U1,\n			fzggestion.precios AS U3\n		WHERE\n			U2.ProductoID = U1.ElementoID AND \n			U3.ProductoID = U2.ProductoID AND \n			U1.ProductoID = pVidQuoteProdID AND \n			U1.ElementoID = pVidQuoteProdID AND \n			U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n-- 			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento * T2.ValorElemento AS ValorElemento,        \n			T1.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n			T1.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n			T1.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n			T1.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\n    -- --------------------------------------------------------------------------------\n    -- Joint Para completar info de ElementoPM\n    -- --------------------------------------------------------------------------------\n    UPDATE\n        vidquoten3tmp AS T1,\n        composicion AS T2\n    SET\n        T1.VidQuoteElementoPM = T2.ElementoPM\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND\n        ISNULL(T1.VidQuoteElementoPM) AND\n        T1.VidQuoteProdID=T2.ProductoID AND\n        T1.VidQuoteElementoID=T2.ElementoID AND\n        T1.VidQuoteComposicID=T2.ComposicID;\nEND$$\n</pre><small>\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n*20121009\n**Error de Change Management al subir el programa de TEST con los parámetros de prueba. Condición de la [[TABLA:vidquoten3tmp]] tipo \"SELECT IN\" para incorporar solo los registros que ya no existan en la [[TABLA:vidquoten3tmp]]. También se agrega la salvaguarda de grabación de ElementoPM en el caso de no integral y los errores de parámetros de prueba para [[PARM:pVidQuoteLPre]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n*20121207\n**Se detecta errores en el cálculo combinado por la falta de propagación de atributos de componentes con niveles adicionales de composición (DVH, etc). Anterior: \n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n--     INSERT INTO debugstmt (Fecha,Hora,Texto) \n-- 		VALUES (\n-- 			CURDATE(),\n-- 			CURTIME(),\n-- 			CONCAT(\n-- 				CAST(pVidQuoteID AS CHAR),\"-\",\n-- 				CAST(pVidQuoteLPre AS CHAR),\"-\",\n-- 				CAST(pVidQuoteItem AS CHAR),\"-\",\n-- 				pVidQuoteProdID,\"-\",\n-- 				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAncho AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAlto AS CHAR)\n-- 				)\n-- 			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Prev - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Past - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuoteElementoPM,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n    CALL DebugCheckPoint(\"Past Inserta Registros VQ3 anteriores\");\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (pVidQuoteLPre)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n-- 			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\n    -- --------------------------------------------------------------------------------\n    -- Joint Para completar info de ElementoPM\n    -- --------------------------------------------------------------------------------\n    UPDATE\n        vidquoten3tmp AS T1,\n        composicion AS T2\n    SET\n        T1.VidQuoteElementoPM = T2.ElementoPM\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND\n        ISNULL(T1.VidQuoteElementoPM) AND\n        T1.VidQuoteProdID=T2.ProductoID AND\n        T1.VidQuoteElementoID=T2.ElementoID AND\n        T1.VidQuoteComposicID=T2.ComposicID;\nEND\n</pre><small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(924,'===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\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====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'),(925,'===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\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\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'),(926,'===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\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\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'),(927,'#REDIRECCIÓN [[TKT:FZG.000006]]','utf-8'),(928,'#REDIRECCIÓN [[TKT:FZG.000002]]','utf-8'),(929,'#REDIRECCIÓN [[TKT:FZG.000003]]','utf-8'),(930,'#REDIRECCIÓN [[TKT:FZG.000004]]','utf-8'),(931,'#REDIRECCIÓN [[TKT:FZG.000005]]','utf-8'),(932,'Lista de Tickets de Soporte Pendientes','utf-8'),(933,'[[Category:PROC]]\n== Descripción ==\nFunción de cálculo de precio en base a los parametros indicados sin acceder a base de datos de precios, ya con el valor del precio del producto indicado (dependiendo del tipo de cliente)\n== Composición ==\nSolo función de cálculo\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE FUNCTION `CalculoPrecio`(\n	pAncho INT(4),\n	pAlto INT(4),\n	pPrecioProd DECIMAL(10,2),\n	pMagnitud CHAR(2),\n	pOffsetVanoAlto INT(11),\n	pOffsetVanoAncho INT(11),\n	pCoefVanoAlto DECIMAL(16,8),\n	pCoefVanoAncho DECIMAL(16,8),\n	pValorElemento DECIMAL(16,8))\n		RETURNS decimal(10,2)\nBEGIN\n	DECLARE pPrecioBase DECIMAL(10,2);\n	CASE pMagnitud\n		WHEN \'M2\' THEN \n			SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) *\n			pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n		WHEN \'PR\' THEN\n			SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * \n			2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'ML\' THEN\n			SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'AL\' THEN \n			SET pPrecioBase = (((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'AN\' THEN \n			SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'MG\' THEN \n			SET pPrecioBase = ((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) *\n			pValorElemento * pPrecioProd;\n	  ELSE \n		SET pPrecioBase = pValorElemento * pPrecioProd;\n	END CASE;\n	RETURN pPrecioBase;\nEND\n</pre></small>\n\n== Bitácora ==\n*20121017\n**Agregado de las nuevas magnitudes aplicables al ALto y al ANcho. Anterior:\n<small><pre>\nCREATE  FUNCTION `CalculoPrecio`(pAncho INT(4),pAlto INT(4),pPrecioProd DECIMAL(10,2),pMagnitud CHAR(2),pOffsetVanoAlto INT(11),pOffsetVanoAncho INT(11),pCoefVanoAlto DECIMAL(16,8),pCoefVanoAncho DECIMAL(16,8),pValorElemento DECIMAL(16,8)) RETURNS decimal(10,2)\nBEGIN\nDECLARE pPrecioBase DECIMAL(10,2);\n	CASE pMagnitud\n		WHEN \'M2\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) * pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n		WHEN \'PR\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * 2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'ML\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n		WHEN \'MG\' THEN SET pPrecioBase = ((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) * pValorElemento * pPrecioProd;\n		WHEN \'2H\' THEN SET pPrecioBase = (((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) /1000) * pValorElemento * 2 * pPrecioProd;\n		WHEN \'2W\' THEN SET pPrecioBase = (((pAncho+pOffsetVanoAncho)*pCoefVanoAncho)/1000) * pValorElemento * 2 * pPrecioProd;\n		ELSE SET pPrecioBase = pValorElemento * pPrecioProd;\n	END CASE;\n	RETURN pPrecioBase;\nEND\n</pre></small>\n== Uso ==\n== URL ==','utf-8'),(934,'Lista de Procedimientos SQL','utf-8'),(935,'===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]','utf-8'),(936,'Lista de Macros','utf-8'),(937,'Lista de Informes','utf-8'),(938,'[[Category:PROC]]\n== Descripcion ==\n<strike>Una vez que ingresa los datos básicos de un producto, verifica que este producto tenga alguna composicion (solo los elementos básicos). Si la tiene, divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de la [[VISTA:visprodadic]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.</strike> \'\'\'20120917\'\'\'\nUna vez que ingresa los datos básicos de un producto, inserta en [[TABLA:vidquoten3]] los componentes del producto señalado (solo los elementos básicos). Divide el proceso en 2 partes\n#Une 2 grupos de datos dentro del mismo subconjunto\n##Todos los productos-elementos de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y que sea \"propiamente dichos\" (cuyo código de producto sea igual al código de elemento)\n##Todos los productos-elementos de de [[TABLA:componentes]], [[TABLA:productos]] y [[TABLA:precios]] cuyo codigo de producto sea igual al código de producto madre y el código de producto sea diferente al codigo de elemento.\n###Incluye todos los productos-elementos de un nivel inferior. Esto se realiza seleccionando los elementos de la composicion como si fuesen productos y esos productos son la clave de búsqueda dentro de la misma tabla de composición.\n== Composicion ==\n*<strike>[[VISTA:visproadic]]-></strike>\n*[[TABLA:productos]]->\n*[[TABLA:precios]]->\n*[[TABLA:componentes]]->\n*->[[TABLA:vidquoten3]]\n== SQL ==\n<small><pre>\nDROP PROCEDURE `AltaItemPresupuesto`;\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n    CALL DebugCheckPoint(\n        CONCAT(\n            CAST(pVidQuoteID AS CHAR),\"-\",\n            CAST(pVidQuoteLPre AS CHAR),\"-\",\n            CAST(pVidQuoteItem AS CHAR),\"-\",\n            pVidQuoteProdID,\"-\",\n            CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n            CAST(pVidQuoteAncho AS CHAR),\"-\",\n            CAST(pVidQuoteAlto AS CHAR),\"-\",\n            CAST(pCoeficienteMU AS CHAR)\n            )\n        );\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n			CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n			CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n			U1.ProductoID,\n			U1.ElementoID AS ProdCmpID,\n			U1.ComposicID,\n			U1.ElementoID,\n			U1.ElementoPM,\n			U2.Magnitud,\n			U1.ValorElemento,\n			U1.OffsetVanoAncho,\n			U1.OffsetVanoAlto,\n			U1.CoefVanoAncho,\n			U1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN U3.PrecioProd00\n				WHEN 1 THEN U3.PrecioProd01\n				WHEN 2 THEN U3.PrecioProd02\n				WHEN 3 THEN U3.PrecioProd03\n			END) AS PrecioProd\n		FROM\n			fzggestion.productos AS U2,\n			fzggestion.composicion AS U1,\n			fzggestion.precios AS U3\n		WHERE\n			U2.ProductoID = U1.ElementoID AND \n			U3.ProductoID = U2.ProductoID AND \n			U1.ProductoID = pVidQuoteProdID AND \n			U1.ElementoID = pVidQuoteProdID AND \n			U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento * T2.ValorElemento AS ValorElemento,        \n			T1.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n			T1.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n			T1.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n			T1.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND$$\n</pre></small>\n== Bitácora ==\n*20120419\n**Cambio de esquema para colocar el cálculo de subitems.\n*20120917\n**Cambio de diseño [[FORM:Presupuesto]]\n<small><pre>\ndelimiter |\nCREATE PROCEDURE AltaItemPresupuesto (IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5)) \nBEGIN\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteLPre,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteAncho,\n		VidQuoteAlto,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteLPre,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		pVidQuoteAncho,\n		pVidQuoteAlto,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND;|		\n</pre></small>\n*20121208\n**Se detecta errores en el cálculo combinado por la falta de propagación de atributos de componentes con niveles adicionales de composición (DVH, etc). Anterior:\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuesto`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n      VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n      R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n         CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM = 0)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM = 0 AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM = 0\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n== Uso ==\n*[[MACRO:EventoBRCDetallePresupuesto]]\n== URL ==\nFZG.Procedure.AltaItemPresupuesto.sql','utf-8'),(939,'[[Category:PROC]]\n== Descripción ==\nEl procedimiento está en función de la edición de los elementos de un producto compuesto durante la confección de un presupuesto.\nAgrega a la [[TABLA:vidquoten3tmp]] las registraciones correspondientes al producto a editar. Las características del proceso son las siguientes:\n*Selecciona registros de la [[TABLA:composicion]] que corresponde al producto seleccionado y agrega aquellos registros que no existan en la selececión original (Alta de producto)\n**Selecciona los registros de la [[TABLA:composicion]] cuyo elemento es igual al producto (producto propiamente dicho). Este punto se explicita para que no entre en loop\n**Selecciona los registros de la [[TABLA:composicion]] cuyos elementos son diferentes al producto (adicionales Básicos, Simple y Completo).\n***Dado que permite un grado de profundidad adicional, toma tanto los registros componentes sino también todos aquellos que están referenciados como elemento componente.\n***Establece una relación con las [[TABLA:productos]] y [[TABLA:precios]].\n***Establece una relación anidada con la misma [[TABLA:composicion]] para tomar todos los elementos como si fuesen productos y así tener en cuenta la definición en aquellos que tengan más de un componente y poder calcular el precio de acuerdo a los parámetros definidos\n**Agrega los datos resultantes a la [[TABLA:vidquoten3tmp]] previo borrado de los datos anteriores dentro de la tabla temporal para mantener la integridad de la operación para proceder a la edición. No se deben agregar aquellos registros ya existentes en la [[TABLA:vidquoten3]]\n\n== Composición ==\n* [[TABLA:composicion]]\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\nDROP PROCEDURE `AltaItemPresupuestoTmp`;\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n--     INSERT INTO debugstmt (Fecha,Hora,Texto) \n-- 		VALUES (\n-- 			CURDATE(),\n-- 			CURTIME(),\n-- 			CONCAT(\n-- 				CAST(pVidQuoteID AS CHAR),\"-\",\n-- 				CAST(pVidQuoteLPre AS CHAR),\"-\",\n-- 				CAST(pVidQuoteItem AS CHAR),\"-\",\n-- 				pVidQuoteProdID,\"-\",\n-- 				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAncho AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAlto AS CHAR)\n-- 				)\n-- 			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Prev - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Past - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuoteElementoPM,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n    CALL DebugCheckPoint(\"Past Inserta Registros VQ3 anteriores\");\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n			U1.ProductoID,\n			U1.ElementoID AS ProdCmpID,\n			U1.ComposicID,\n			U1.ElementoID,\n			U1.ElementoPM,\n			U2.Magnitud,\n			U1.ValorElemento,\n			U1.OffsetVanoAncho,\n			U1.OffsetVanoAlto,\n			U1.CoefVanoAncho,\n			U1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN U3.PrecioProd00\n				WHEN 1 THEN U3.PrecioProd01\n				WHEN 2 THEN U3.PrecioProd02\n				WHEN 3 THEN U3.PrecioProd03\n			END) AS PrecioProd\n		FROM\n			fzggestion.productos AS U2,\n			fzggestion.composicion AS U1,\n			fzggestion.precios AS U3\n		WHERE\n			U2.ProductoID = U1.ElementoID AND \n			U3.ProductoID = U2.ProductoID AND \n			U1.ProductoID = pVidQuoteProdID AND \n			U1.ElementoID = pVidQuoteProdID AND \n			U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n-- 			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento * T2.ValorElemento AS ValorElemento,        \n			T1.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n			T1.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n			T1.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n			T1.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\n    -- --------------------------------------------------------------------------------\n    -- Joint Para completar info de ElementoPM\n    -- --------------------------------------------------------------------------------\n    UPDATE\n        vidquoten3tmp AS T1,\n        composicion AS T2\n    SET\n        T1.VidQuoteElementoPM = T2.ElementoPM\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND\n        ISNULL(T1.VidQuoteElementoPM) AND\n        T1.VidQuoteProdID=T2.ProductoID AND\n        T1.VidQuoteElementoID=T2.ElementoID AND\n        T1.VidQuoteComposicID=T2.ComposicID;\nEND$$\n</pre><small>\n== Bitácora ==\n*20120904\n**Código Anterior\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteLPre INT(1), IN pVidQuoteItem INT(5), IN pVidQuoteProdID CHAR(8), IN pVidQuoteProdCantidad INT(5), IN pVidQuoteAncho INT(5), IN pVidQuoteAlto INT(5))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) VALUES (CURDATE(),CURTIME(),CONCAT(CAST(pVidQuoteID AS CHAR),\"-\",CAST(pVidQuoteLPre AS CHAR),\"-\",CAST(pVidQuoteItem AS CHAR),\"-\",pVidQuoteProdID,\"-\",CAST(pVidQuoteProdCantidad AS CHAR),\"-\",CAST(pVidQuoteAncho AS CHAR),\"-\",CAST(pVidQuoteAlto AS CHAR)));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n    INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID,\n		pVidQuoteItem,\n		pVidQuoteProdID,\n		pVidQuoteProdCantidad,\n		`T3`.`ProdCmpID`,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`)) AS pVidQuotePrecio,\n		SUM(CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`T3`.`PrecioProd`,\n			`T3`.`Magnitud`,\n			`T3`.`OffsetVanoAlto`,\n			`T3`.`OffsetVanoAncho`,\n			`T3`.`CoefVanoAlto`,\n			`T3`.`CoefVanoAncho`,\n			`T3`.`ValorElemento`) * pVidQuoteProdCantidad) AS pVidQuotePrecioP\n	FROM\n		(\n		SELECT\n		`T1`.`ProductoID` AS ProductoID,\n		`T1`.`ProductoID` AS ProdCmpID,\n		`T1`.`ElementoID`,\n		`T1`.`ValorElemento`,\n		`T1`.`Descripcion`,\n		`T1`.`Magnitud`,\n		`T1`.`OffsetVanoAncho`,\n		`T1`.`OffsetVanoAlto`,\n		`T1`.`CoefVanoAncho`,\n		`T1`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T1`.`PrecioProd00`\n		 WHEN 1 THEN `T1`.`PrecioProd01`\n		 WHEN 2 THEN `T1`.`PrecioProd02`\n		 WHEN 3 THEN `T1`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T1\n		WHERE ProductoID=pVidQuoteProdID AND ElementoID=pVidQuoteProdID AND ElementoPM<=1\n		UNION\n		SELECT \n		pVidQuoteProdID AS ProductoID,\n		`T2`.`ProductoID` AS ProdCmpID,\n		`T2`.`ElementoID`,\n		`T2`.`ValorElemento`,\n		`T2`.`Descripcion`,\n		`T2`.`Magnitud`,\n		`T2`.`OffsetVanoAncho`,\n		`T2`.`OffsetVanoAlto`,\n		`T2`.`CoefVanoAncho`,\n		`T2`.`CoefVanoAlto`,\n		(CASE (pVidQuoteLPre)\n		 WHEN 0 THEN `T2`.`PrecioProd00`\n		 WHEN 1 THEN `T2`.`PrecioProd01`\n		 WHEN 2 THEN `T2`.`PrecioProd02`\n		 WHEN 3 THEN `T2`.`PrecioProd03`\n		END) AS PrecioProd\n		FROM visprodadic AS T2\n		WHERE ProductoID IN \n			 (SELECT ElementoID \n			  FROM visprodadic \n			  WHERE ProductoID=pVidQuoteProdID AND ElementoID<>pVidQuoteProdID AND ElementoPM<=1\n		 )\n		) AS T3\n	GROUP BY ProdCmpID;\nEND\n</pre></small>\n*20121009\n**Error de Change Management al subir el programa de TEST con los parámetros de prueba. Condición de la [[TABLA:vidquoten3tmp]] tipo \"SELECT IN\" para incorporar solo los registros que ya no existan en la [[TABLA:vidquoten3tmp]]. También se agrega la salvaguarda de grabación de ElementoPM en el caso de no integral y los errores de parámetros de prueba para [[PARM:pVidQuoteLPre]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n			CONCAT(\n				CAST(pVidQuoteID AS CHAR),\"-\",\n				CAST(pVidQuoteLPre AS CHAR),\"-\",\n				CAST(pVidQuoteItem AS CHAR),\"-\",\n				pVidQuoteProdID,\"-\",\n				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n				CAST(pVidQuoteAncho AS CHAR),\"-\",\n				CAST(pVidQuoteAlto AS CHAR)\n				)\n			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (2)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (2)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\nEND\n</pre></small>\n*20121207\n**Se detecta errores en el cálculo combinado por la falta de propagación de atributos de componentes con niveles adicionales de composición (DVH, etc). Anterior: \n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `AltaItemPresupuestoTmp`(\n	IN pVidQuoteID INT(5), \n	IN pVidQuoteLPre INT(1), \n	IN pVidQuoteItem INT(5), \n	IN pVidQuoteProdID CHAR(8), \n	IN pVidQuoteProdCantidad INT(5), \n	IN pVidQuoteAncho INT(5), \n	IN pVidQuoteAlto INT(5), \n	IN pCoeficienteMU DECIMAL(5,2),\n	IN pQuickSelect INT(1))\nBEGIN\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registro de Auditoria\n	-- --------------------------------------------------------------------------------\n--     INSERT INTO debugstmt (Fecha,Hora,Texto) \n-- 		VALUES (\n-- 			CURDATE(),\n-- 			CURTIME(),\n-- 			CONCAT(\n-- 				CAST(pVidQuoteID AS CHAR),\"-\",\n-- 				CAST(pVidQuoteLPre AS CHAR),\"-\",\n-- 				CAST(pVidQuoteItem AS CHAR),\"-\",\n-- 				pVidQuoteProdID,\"-\",\n-- 				CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAncho AS CHAR),\"-\",\n-- 				CAST(pVidQuoteAlto AS CHAR)\n-- 				)\n-- 			);\n	-- --------------------------------------------------------------------------------\n	-- Elimina residuos de ediciones anteriores\n	-- --------------------------------------------------------------------------------\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Prev - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n    DELETE FROM vidquoten3tmp WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n--     CALL DebugCheckPoint(\n--         CONCAT(\n--         \"Past - \",\n--         \"pVidQuoteID:\",\n--         CAST(pVidQuoteID AS CHAR),\"-\",\n--         \"pVidQuoteItem:\",\n--         CAST(pVidQuoteItem AS CHAR),\"-\",\n--         \"Delete Count:\",\n--         (SELECT CAST(Count(*) AS CHAR) \n--             FROM vidquoten3tmp \n--             WHERE\n--                 VidQuoteID=pVidQuoteID AND \n--                 VidQuoteItem=pVidQuoteItem)\n--         ));\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones anteriores del mismo Producto/Item\n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n		VidQuoteIncluyeDet,\n		VidQuoteQuickSelect)\n	SELECT\n		S1.VidQuoteID,\n		S1.VidQuoteItem,\n		S1.VidQuoteProdID,\n		S1.VidQuoteProdCantidad,\n		S1.VidQuoteElementoID,\n		S1.VidQuoteComposicID,\n		S1.VidQuoteElementoPM,\n		S1.VidQuotePrecio,\n		S1.VidQuotePrecioP,\n		S1.VidQuoteIncluyeDet,\n		1 AS VidQuoteQuickSelect\n	FROM\n		vidquoten3 AS S1\n	WHERE\n		S1.VidQuoteID=pVidQuoteID AND \n		S1.VidQuoteItem=pVidQuoteItem;\n    CALL DebugCheckPoint(\"Past Inserta Registros VQ3 anteriores\");\n	-- --------------------------------------------------------------------------------\n	-- Inserta Registraciones pausibles de incorporar de acuerdo al tipo de \n	-- --------------------------------------------------------------------------------\n	INSERT INTO vidquoten3tmp (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuoteComposicID,\n		VidQuoteElementoPM,\n		VidQuotePrecio,\n		VidQuotePrecioP)\n	SELECT\n		pVidQuoteID as VidQuoteID,\n		pVidQuoteItem as VidQuoteItem,\n		R1.ProductoID AS VidQuoteProdID,\n		pVidQuoteProdCantidad AS VidQuoteProdCantidad,\n		R1.ProdCmpID AS VidQuoteElementoID,\n		R1.ComposicID AS VidQuoteComposicID,\n		R1.ElementoPM AS VidQuoteElementoPM,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pCoeficienteMU) AS VidQuotePrecio,\n		SUM(\n          CalculoPrecio(\n			pVidQuoteAncho, \n			pVidQuoteAlto,\n			`R1`.`PrecioProd`,\n			`R1`.`Magnitud`,\n			`R1`.`OffsetVanoAlto`,\n			`R1`.`OffsetVanoAncho`,\n			`R1`.`CoefVanoAlto`,\n			`R1`.`CoefVanoAncho`,\n			`R1`.`ValorElemento`) * pVidQuoteProdCantidad * pCoeficienteMU) AS VidQuotePrecioP\n\n	FROM\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion iguales al producto \n		-- --------------------------------------------------------------------------------\n		((\n		SELECT \n		U1.ProductoID,\n		U1.ElementoID AS ProdCmpID,\n		U1.ComposicID,\n		U1.ElementoID,\n		U1.ElementoPM,\n		U2.Magnitud,\n		U1.ValorElemento,\n		U1.OffsetVanoAncho,\n		U1.OffsetVanoAlto,\n		U1.CoefVanoAncho,\n		U1.CoefVanoAlto,\n		(CASE (pVidQuoteLPre)\n		  WHEN 0 THEN U3.PrecioProd00\n		  WHEN 1 THEN U3.PrecioProd01\n		  WHEN 2 THEN U3.PrecioProd02\n		  WHEN 3 THEN U3.PrecioProd03\n		END) AS PrecioProd\n		FROM\n		fzggestion.productos AS U2,\n		fzggestion.composicion AS U1,\n		fzggestion.precios AS U3\n		WHERE\n		U2.ProductoID = U1.ElementoID AND \n		U3.ProductoID = U2.ProductoID AND \n		U1.ProductoID = pVidQuoteProdID AND \n		U1.ElementoID = pVidQuoteProdID AND \n		U1.ElementoPM <= pQuickSelect)\n		-- --------------------------------------------------------------------------------\n		UNION\n		-- --------------------------------------------------------------------------------\n		-- Selecciona elementos de composicion diferentes al producto\n		-- --------------------------------------------------------------------------------\n		(\n		SELECT \n			T1.ProductoID,\n			T1.ElementoID AS ProdCmpID,\n			T1.ComposicID,\n			T2.ElementoID,\n			T1.ElementoPM,\n-- 			T2.ElementoPM,\n			T3.Magnitud,\n			T1.ValorElemento,        \n			T1.OffsetVanoAncho,\n			T1.OffsetVanoAlto,\n			T1.CoefVanoAncho,\n			T1.CoefVanoAlto,\n			(CASE (pVidQuoteLPre)\n				WHEN 0 THEN `T4`.`PrecioProd00`\n				WHEN 1 THEN `T4`.`PrecioProd01`\n				WHEN 2 THEN `T4`.`PrecioProd02`\n				WHEN 3 THEN `T4`.`PrecioProd03`\n			END) AS PrecioProd\n		FROM\n			fzggestion.composicion AS T2,\n			fzggestion.composicion AS T1,\n			fzggestion.productos AS T3,\n			fzggestion.precios AS T4\n		WHERE\n			T2.ProductoID = T1.ElementoID AND \n			T3.ProductoID = T2.ElementoID AND \n			T4.ProductoID = T3.ProductoID AND \n			T1.ProductoID <> T1.ElementoID AND \n			T2.ElementoPM <= pQuickSelect AND \n			T1.ProductoID = pVidQuoteProdID AND \n			T1.ElementoPM <= pQuickSelect\n		ORDER BY\n			T1.ProductoID ASC ,\n			T1.ElementoID ASC ,\n			T1.ComposicID ASC ,\n			T2.ElementoID ASC)\n		-- --------------------------------------------------------------------------------\n		-- R1 es el sinónimo de la union de las tablas \n		-- --------------------------------------------------------------------------------\n		) AS R1\n      WHERE\n			CONCAT(R1.ProductoID,R1.ProdCmpID,LPAD(CAST(R1.ComposicID AS CHAR),3,\'000\'))\n      	NOT IN (\n				SELECT\n					CONCAT(VidQuoteProdID,VidQuoteElementoID,LPAD(CAST(VidQuoteComposicID AS CHAR),3,\'000\'))\n				FROM\n					vidquoten3tmp AS Q1 \n				WHERE \n					Q1.VidQuoteID=pVidQuoteID AND \n					Q1.VidQuoteItem=pVidQuoteItem)\n		GROUP BY\n			VidQuoteElementoID,\n			VidQuoteComposicID;\n    -- --------------------------------------------------------------------------------\n    -- Joint Para completar info de ElementoPM\n    -- --------------------------------------------------------------------------------\n    UPDATE\n        vidquoten3tmp AS T1,\n        composicion AS T2\n    SET\n        T1.VidQuoteElementoPM = T2.ElementoPM\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND\n        ISNULL(T1.VidQuoteElementoPM) AND\n        T1.VidQuoteProdID=T2.ProductoID AND\n        T1.VidQuoteElementoID=T2.ElementoID AND\n        T1.VidQuoteComposicID=T2.ComposicID;\nEND\n</pre><small>\n\n== Uso ==\n* [[MACRO:BotonEditarComponentes]]\n* [[FORM:Presupuesto]]','utf-8'),(940,'===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\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuestos]]====\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'),(941,'==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==Formularios==\n<pre>\n[[Category:FORM]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n==Macros==\n<pre>\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====\n</pre>','utf-8'),(942,'==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==Formularios==\n<pre>\n[[Category:FORM]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n==Macros==\n<pre>\n[[Category:MACRO]]\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====\n</pre>','utf-8'),(943,'[[Category:TABLAS]]\n== Descripción ==\nContainer de cabecera de bocetos\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetoscab` (\n  `BocetoID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloID` char(8) NOT NULL,\n  `BocetoDSC` varchar(80) NOT NULL,\n  `BocetoVW` varchar(45) DEFAULT NULL,\n  `BocetoVH` varchar(45) DEFAULT NULL,\n  `BocetoIMG` blob,\n  `BocetoATH` varchar(10) NOT NULL,\n  `BocetoFec` date NOT NULL,\n  `BocetoEstado` int(1) NOT NULL DEFAULT \'0\',\n  PRIMARY KEY (`BocetoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(944,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:moduloscab]]\n* [[TABLA:modulosdet]]\n* [[TABLA:modulossbs]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8');
INSERT INTO `peg_text` VALUES (945,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:accreceiv]]\n* [[TABLA:accpayab]]\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(946,'[[Category:TABLAS]]\n== Descripción ==\nTransacciones de Pagos\n== Composición ==\nTabla Plana + Triggers\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\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== Bitácora ==\n*20120724\n**Alta\n== Uso ==\n== URL ==\n</pre>','utf-8'),(947,'[[Category:TABLAS]]\n== Descripción ==\nContainer de Detalle de Productos de un Boceto\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetosdet` (\n  `BocetoID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  `PosX` int(5) DEFAULT \'0\',\n  `PosY` int(5) DEFAULT \'0\',\n  PRIMARY KEY (`BocetoID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n*20121201\n**Alta\n== URL ==','utf-8'),(948,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicion]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:magnitudes]]\n* [[TABLA:monedas]]\n* [[TABLA:precios]]\n* [[TABLA:preciosqry]]\n* [[TABLA:productos]]\n* [[TABLA:reppresqry]]\n* [[TABLA:tdocumento]]\n* [[TABLA:telemecomp]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(949,'[[Category:TABLAS]]\n== Descripción ==\nContainer de subconjunto de lineas de control de Bocetos\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetossbs` (\n  `BocetoID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL,\n  `SubSetTP` char(1) NOT NULL,\n  `SubSetNO` int(2) NOT NULL,\n  PRIMARY KEY (`BocetoID`,`ComposicID`,`ProductoID`,`SubSetTP`,`SubSetNO`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(950,'[[Category:TABLAS]]\n== Descripción ==\nCabecera de Módulos de Producto\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `moduloscab` (\n  `ModuloID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloDSC` varchar(80) NOT NULL,\n  `ModuloVW` int(5) DEFAULT \'0\',\n  `ModuloVH` int(5) DEFAULT \'0\',\n  `ModuloIMG` blob,\n  `ModuloATH` varchar(10) NOT NULL,\n  `ModuloFec` date NOT NULL,\n  PRIMARY KEY (`ModuloID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121121\n**Alta\n== Uso ==\n== URL ==','utf-8'),(951,'[[Category:TABLAS]]\n== Descripción ==\nDetalle de información de Modulos. Se relaciona jerárquicamente hacia arriba con [[TABLA:moduloscab]] y hacia abajo con [[TABLA:modulossbs]]\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulosdet` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  `PosX` int(5) DEFAULT \'0\',\n  `PosY` int(5) DEFAULT \'0\',\n  PRIMARY KEY (`ModuloID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20121205\n**Cambio de esquema para albergar varias ocurrencias de subconjuntos de \"lineas de control\" para el chequeo de las dimensiones. Se elimina el trigger de automatización de ingreso ya que solo agrega líneas a la [[TABLA:modulossbs]] Anterior estructura:\n<pre>\ndelimiter $$\n\nCREATE TABLE `modulosdet` (\n  `ModuloID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `SubSetAncho` int(5) DEFAULT \'1\',\n  `SubSetAlto` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  PRIMARY KEY (`ModuloID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Modifica_Modulo`\nBEFORE UPDATE ON `fzggestion`.`modulosdet`\nFOR EACH ROW\nBEGIN\n    SET\n    NEW.SubSetAncho = IF(NEW.SubSetAncho=0,NULL,NEW.SubSetAncho),\n    NEW.SubSetAlto  = IF(NEW.SubSetAlto=0,NULL,NEW.SubSetAlto);\nEND\n$$\n\n</pre>\n*20121121\n**Alta\n== Uso ==\n== URL ==','utf-8'),(952,'[[Category:TABLAS]]\n== Descripción ==\nTabla de Precios\n== SQL ==\n<pre>\nCREATE TABLE `precios` (\n  `Lista` int(11) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `PrecioProd00` decimal(12,2) DEFAULT NULL,\n  `PrecioProd01` decimal(12,2) DEFAULT NULL,\n  `PrecioProd02` decimal(12,2) DEFAULT NULL,\n  `PrecioProd03` decimal(12,2) DEFAULT NULL,\n  `FechaEvento` date DEFAULT NULL,\n  `HoraEvento` time DEFAULT NULL,\n  `UserEvento` varchar(20) DEFAULT NULL,\n  PRIMARY KEY (`Lista`,`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\n== Triggers ==\n* [[TRIG:precios.AltaPrecio]]\n* [[TRIG:precios.ActualizaPrecio]]','utf-8'),(953,'[[Category:TABLAS]]\n== Descripción ==\nProductos Activos\n== Estructura ==\n<pre>\nProductoID	char(8) PK \nCategoriaID	char(4) \nDescripcion	char(80) \nProveedorID	char(4) \nReposicion	int(3) \nMagnitud	char(4) \nCoefP00P01	decimal(6,4) \nCoefP00P02	decimal(6,4) \nCoefP00P03	decimal(6,4) \nProductoPID	varchar(15) \nInsumoIMG	mediumblob \n</pre>\n\n== Triggers ==\n* Alta: [[TRIG:productos.AltaProducto]]\n* Baja: [[TRIG:productos.BajaProducto]]\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(954,'[[Category:TABLAS]]\n== Descripción ==\nTabla temporaria para almacenar un número de presupuesto asociado y transferir la info entre procesos no continuos\n== Composición ==\nTABLA:reppresqry\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\nCREATE TABLE `reppresqry` (\n  `VidQuoteID` int(11) NOT NULL,\n  PRIMARY KEY (`VidQuoteID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n< /pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[REPORT:Presupuesto]]\n== URL ==','utf-8'),(955,'[[Category:TABLAS]]\n== Descripción ==\nTipos de Documento\n== Composición ==\nTabla Plana\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `tdocumento` (\n  `TDocumentoID` char(2) NOT NULL,\n  `TDocumentoDSC` varchar(45) DEFAULT NULL,\n  `TDocumentoAP` char(1) DEFAULT NULL,\n  `TDocumentoAR` char(1) DEFAULT NULL,\n  PRIMARY KEY (`TDocumentoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>','utf-8'),(956,'[[Category:TABLAS]]\n== Descripción ==\nTipo de Elementos de Composición\n== Composición ==\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`telemecomp` (\n  `TElementoID` INT(1) NOT NULL ,\n  `TElementoDSC` VARCHAR(45) NULL ,\n  PRIMARY KEY (`TElementoID`) );\n</pre>\n== Bitácora ==\n== Uso ==\nReferencial ElementoPM en [[TABLA:composicion]]\n== URL ==','utf-8'),(957,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:preciosqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten1]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten3]]\n* [[TABLA:vidquoten3tmp]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(958,'[[Category:TABLAS]]\n== Descripción ==\nEsquema de Cabecera de Registración de Presupuesto\n== Composición ==\n== Estructura ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten1` (\n  `VidQuoteID` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuoteObra` char(20) DEFAULT NULL,\n  `VidQuoteCliente` char(8) NOT NULL,\n  `VidQuoteFecha` date DEFAULT NULL,\n  `VidQuoteFechaEst` date DEFAULT NULL,\n  `VidQuoteEstado` char(1) DEFAULT \'0\',\n  `VidQuoteACom` char(4) NOT NULL,\n  `VidQuoteMedCheck` char(1) DEFAULT \'0\',\n  PRIMARY KEY (`VidQuoteID`)\n) ENGINE=MyISAM AUTO_INCREMENT=72 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten1`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END\n$$\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n*20121026\n**Alta de esta documentación\n**Modificación de la estructura. Agregado de control de NOTNULL para los atributos de Cliente y Agente Comercial\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== Uso ==\n*[[FORM:Presupuesto]]\n*[[RPRT:Presupuesto]]\n== URL ==','utf-8'),(959,'[[Category:TABLAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(960,'[[Category:TABLAS]]\n== Descripción ==\nBuffer temporario para permitir taggear opciones dentro de la confiormación presupuestaria\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten3tmp` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteItem` int(11) NOT NULL,\n  `VidQuoteProdID` char(8) NOT NULL,\n  `VidQuoteElementoID` char(8) NOT NULL,\n  `VidQuoteComposicID` int(11) NOT NULL,\n  `VidQuoteElementoPM` int(1) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(16,8) DEFAULT NULL,\n  `VidQuotePrecioP` decimal(16,8) DEFAULT NULL,\n  `VidQuoteIncluyeDet` tinyint(1) DEFAULT \'0\',\n  `VidQuoteQuickSelect` tinyint(1) DEFAULT \'0\',\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`,`VidQuoteProdID`,`VidQuoteElementoID`,`VidQuoteComposicID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20120824\n**Alta de Tabla\n== Uso ==\n*[[FORM:Presupuesto]]\n== URL ==','utf-8'),(961,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:composicionqry]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:debugstmt]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:preciosqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten2]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(962,'[[Category:TABLAS]]\n== Descripción ==\n== Composición ==\n== SQL ==\n<pre>\nCREATE TABLE `listavsdim` (\n  `ListaID` int(11) NOT NULL AUTO_INCREMENT,\n  `ListaDimensionGRP` int(11) NOT NULL,\n  `ListaActiva` int(11) NOT NULL DEFAULT \'0\',\n  PRIMARY KEY (`ListaID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1;\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(963,'[[Category:TABLAS]]\n== Descripción ==\nDefinicion de Tabla de acceso Magnitudes con las formulas para la versión 2\n== Composición ==\n== Estructura ==\n<pre>\nCREATE TABLE `magnitudes` (\n  `MagnitudID` char(2) NOT NULL,\n  `MagnitudDSC` varchar(45) DEFAULT NULL,\n  `MagnitudCLC` varchar(300) DEFAULT NULL,\n  PRIMARY KEY (`MagnitudID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n*20121018\n**Alta de Tabla\n*20121022\n**Insert Datos\n<pre>\nINSERT INTO `magnitudes` \nVALUES\n(\'AL\',\'Alto\',NULL),\n(\'AN\',\'Ancho\',NULL),\n(\'KG\',\'Kilogramo\',NULL),\n(\'M2\',\'Metro Cuadrado\',NULL),\n(\'MG\',\'Magnitud Galarza\',NULL),\n(\'ML\',\'Metro Lineal\',NULL),\n(\'PR\',\'Perimetro\',NULL),\n(\'UN\',\'Unidad\',\'y…™Ä®�HRø×�óÆ�G|¬^Ôñ}�L��\\\'ª3ý0”æË…¨9�Â…r£�©z¤?yª3®Fßª:ðÍ�\');\n</pre>\n\n== Uso ==\n== URL ==','utf-8'),(964,'[[Category:TABLAS]]\n== Descripción ==\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `listaatrib` (\n  `ListaAtribGRP` int(11) NOT NULL,\n  `ListaAtribProdID` char(8) NOT NULL,\n  `ListaAtribCol` int(11) NOT NULL,\n  `ListaAtribActiva` int(11) NOT NULL DEFAULT \'0\',\n  PRIMARY KEY (`ListaAtribGRP`,`ListaAtribCol`,`ListaAtribActiva`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(965,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n*[[Spanex:Estructuras]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[TABLA:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\n=== ACL ===\n# Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n# Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n\'\'\'Ingreso de Registro en Tabla\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\'\'\'Ejemplo\'\'\'\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n\'\'\'Corroborar ACL\'\'\'\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n\'\'\'Alargar ACL 1 mes más\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n\'\'\'Cambiar Fecha ACL\'\'\'\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n{{tecla|Ctrl|A}}\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(966,'[[Category:TABLAS]]\n== Descripción ==\nContainer del registro de consulta de [[TABLA:composicion]]\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `composicionqry` (\n  `QueryID` int(11) NOT NULL AUTO_INCREMENT,\n  `ProductoID` char(8) DEFAULT NULL,\n  `ElementoID` char(8) DEFAULT NULL,\n  `ValorElemento` decimal(16,8) DEFAULT NULL,\n  `ElementoPM` int(1) DEFAULT \'0\',\n  `OffsetVanoAncho` int(11) DEFAULT \'0\',\n  `OffsetVanoAlto` int(11) DEFAULT \'0\',\n  `ProductoIDOrg` char(8) DEFAULT NULL,\n  `ProductoIDDst` char(8) DEFAULT NULL,\n  PRIMARY KEY (`QueryID`)\n) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(967,'== Descripción ==\nTabla de ayuda de procedimientos y funciones de la base de datos de Spanex. Actua como snapshot a través del [[PROC:DebugCheckPoint]]\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `debugstmt` (\n  `iddebugstmt` int(11) NOT NULL AUTO_INCREMENT,\n  `Fecha` date DEFAULT NULL,\n  `Hora` time DEFAULT NULL,\n  `Texto` varchar(800) DEFAULT NULL,\n  PRIMARY KEY (`iddebugstmt`)\n) ENGINE=MyISAM AUTO_INCREMENT=1172 DEFAULT CHARSET=latin1$$\n[[Category:TABLAS]]\n</pre>\n== Bitácora ==\n== Uso ==\n[[PROC:DebugCheckPoint]]\n== URL ==','utf-8'),(968,'[[Category:PROC]]\n== Descripción ==\nProcedimiento de registración en Runtime de MySQL RDBMS\n== Composición ==\n== Código ==\n<small><pre>\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DebugCheckPoint`(IN pTexto VARCHAR(500))\nBEGIN\n    INSERT INTO debugstmt (Fecha,Hora,Texto) \n		VALUES (\n			CURDATE(),\n			CURTIME(),\n 			pTexto);\nEND$$\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(969,'== Descripción ==\nTabla de ayuda de procedimientos y funciones de la base de datos de Spanex. Actua como snapshot a través del [[PROC:DebugCheckPoint]]\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `debugstmt` (\n  `iddebugstmt` int(11) NOT NULL AUTO_INCREMENT,\n  `Fecha` date DEFAULT NULL,\n  `Hora` time DEFAULT NULL,\n  `Texto` varchar(800) DEFAULT NULL,\n  PRIMARY KEY (`iddebugstmt`)\n) ENGINE=MyISAM AUTO_INCREMENT=1172 DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[PROC:DebugCheckPoint]]\n== URL ==','utf-8'),(970,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(971,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:logprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:preciosqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(972,'','utf-8'),(973,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n\n[[File:Esquema.Tablas.Presupuesto.jpg]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(974,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(975,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\nsiendo los atributos de relación con el nivel superior con VidQuoteID, mientras que hacia el nivel inferior con VidQuoteID+VidQuoteItem+VidQuoteProdID\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(976,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\n\nsiendo los atributos de relación con el nivel superior con VidQuoteID, mientras que hacia el nivel inferior con VidQuoteID+VidQuoteItem+VidQuoteProdID\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(977,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\n\nsiendo los atributos de relación con el nivel superior con VidQuoteID, mientras que hacia el nivel inferior con VidQuoteID+VidQuoteItem+VidQuoteProdID\n\n== Composición ==\n#Triggers\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n</pre>\n== Triggers ==\n<pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(978,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\n\nsiendo los atributos de relación con el nivel superior con VidQuoteID, mientras que hacia el nivel inferior con VidQuoteID+VidQuoteItem+VidQuoteProdID\n\n== Composición ==\n[[#Triggers]]\n\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n</pre>\n== Triggers ==\n<pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(979,'[[Category:VISTAS]]\n== Descripción ==\nVista de Tabla de Contactos solo con el Tag de AComerciales.\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `acomerciales` AS\nSELECT `contactos`.`ContactoID` AS `AComercialID`,\n       `contactos`.`ContactoIDAbrv` AS `Abreviatura`,\n       `contactos`.`RazonSocial` AS `RazonSocial`,\n       `contactos`.`Direccion` AS `Direccion`,\n       `contactos`.`Localidad` AS `Localidad`,\n       `contactos`.`Provincia` AS `Provincia`,\n       `contactos`.`Pais` AS `Pais`,\n       `contactos`.`CPostal` AS `CPostal`,\n       `contactos`.`CUIT` AS `CUIT`,\n       `contactos`.`Area` AS `Area`,\n       `contactos`.`Telefono1` AS `Telefono1`,\n       `contactos`.`Telefono2` AS `Telefono2`,\n       `contactos`.`Telefono3` AS `Telefono3`,\n       `contactos`.`TelefonoM` AS `TelefonoM`,\n       `contactos`.`TelefonoF` AS `TelefonoF`,\n       `contactos`.`Correo1` AS `Correo1`,\n       `contactos`.`Correo2` AS `Correo2`,\n       `contactos`.`NContacto` AS `NContacto`,\n       `contactos`.`AContacto` AS `AContacto`,\n       `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n       `contactos`.`Notas` AS `Notas`,\n       `contactos`.`ImgContacto` AS `LogoAC`\nFROM `contactos`\nWHERE (`contactos`.`AComercialTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120125\n**Alta Vista\n*20120911\n**Cambio de Condición para reflejar el cambio de estructura de la [[TABLA:contactos]]\n*20120917\n**Cambia denominación ID y agrega el atributo de \"ImgContacto\" como \"LogoAC\"\n\n== Uso ==\n*[[FORM:presupuesto]]','utf-8'),(980,'[[Category:VISTAS]]\n== Descripción ==\nVista de Tabla de Contactos solo con el Tag de Clientes\n== Composición ==\n*[[TABLA:contactos]]\n== SQL ==\n<pre>\nCREATE VIEW `clientes` AS\nSELECT \n    `contactos`.`ContactoID` AS `ClienteID`,\n    `contactos`.`RazonSocial` AS `RazonSocial`,\n    `contactos`.`Direccion` AS `Direccion`,\n    `contactos`.`Localidad` AS `Localidad`,\n    `contactos`.`Provincia` AS `Provincia`,\n    `contactos`.`Pais` AS `Pais`,\n    `contactos`.`CPostal` AS `CPostal`,\n    `contactos`.`CUIT` AS `CUIT`,\n    `contactos`.`Area` AS `Area`,\n    `contactos`.`Telefono1` AS `Telefono1`,\n    `contactos`.`Telefono2` AS `Telefono2`,\n    `contactos`.`Telefono3` AS `Telefono3`,\n    `contactos`.`TelefonoM` AS `TelefonoM`,\n    `contactos`.`TelefonoF` AS `TelefonoF`,\n    `contactos`.`Correo1` AS `Correo1`,\n    `contactos`.`Correo2` AS `Correo2`,\n    `contactos`.`NContacto` AS `NContacto`,\n    `contactos`.`AContacto` AS `AContacto`,\n    `contactos`.`ListaPrecio` AS `ListaPrecio`,\n    `contactos`.`CoeficienteAC` AS `CoeficienteAC`,\n    `contactos`.`VigenciaDocs` AS `VigenciaDocs`,\n    `contactos`.`ImgContacto` AS `ImgContacto`,\n    `contactos`.`Notas` AS `Notas`\nFROM `contactos`\nWHERE (`contactos`.`ClienteTag` = 1)\n</pre>\n\n== Bitácora ==\n*20120831\n**Cambio de Condición por cambio de tipo de variable\n*20120917\n**Agregado de atributos de Logo, Vigencia y Coeficiente a la vista.\n\n== Uso ==\n*[[FORM:Presupuesto]]\n\n== URL ==','utf-8'),(981,'[[Category:VISTAS]]\n== Descripción ==\nVista de la [[TABLA:checkbook]] de los registros in documento destino asociado\n== Composición ==\n*[[TABLA:checkbook]] \n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `chqactivos` AS\nSELECT `CheckBookID` AS `CheckBookID`,\n       `Entidad` AS `Entidad`,\n       `Sucursal` AS `Sucursal`,\n       `DocPropio` AS `DocPropio`,\n       `CuentaOrg` AS `CuentaOrg`,\n       `DocumentoID` AS `DocumentoID`,\n       `FechaDocumento` AS `FechaDocumento`,\n       `ImporteDocumento` AS `ImporteDocumento`,\n       `TDocumentoOrg` AS `TDocumentoOrg`,\n       `NDocumentoOrg` AS `NDocumentoOrg`,\n       `TTransaccOrg` AS `TTransaccOrg`,\n       `NTransaccOrg` AS `NTransaccOrg`,\n       `TTransaccDst` AS `TTransaccDst`,\n       `NTransaccDst` AS `NTransaccDst`\nFROM `checkbook`\nWHERE isnull(`TTransaccDst`)\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:Cheques]]\n== URL ==','utf-8'),(982,'[[Category:TABLAS]]\n== Descripción ==\nContainer de libro de cheques \n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `checkbook` (\n  `CheckBookID` int(11) NOT NULL AUTO_INCREMENT,\n  `Entidad` char(3) DEFAULT NULL,\n  `Sucursal` varchar(45) DEFAULT NULL,\n  `DocPropio` char(1) DEFAULT NULL,\n  `CuentaOrg` varchar(20) DEFAULT NULL,\n  `DocumentoID` int(11) DEFAULT NULL,\n  `FechaDocumento` date DEFAULT NULL,\n  `ImporteDocumento` decimal(19,2) DEFAULT NULL,\n  `TDocumentoOrg` char(2) DEFAULT NULL,\n  `NDocumentoOrg` int(11) DEFAULT NULL,\n  `TTransaccOrg` char(2) DEFAULT NULL,\n  `NTransaccOrg` int(11) DEFAULT NULL,\n  `TTransaccDst` varchar(2) DEFAULT NULL,\n  `NTransaccDst` int(11) DEFAULT NULL,\n  PRIMARY KEY (`CheckBookID`)\n) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\n[[FORM:Cheques]]\n== URL ==','utf-8'),(983,'===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 TABLA:logprecios====\ndrop table `fzggestion`.`logprecios`;\n\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuestos]]====\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'),(984,'===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 TABLA:logprecios====\n<pre>\ndrop table `fzggestion`.`logprecios`;\n</pre>\n\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuestos]]====\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'),(985,'===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 TABLA:logprecios====\n<pre>\ndrop table `fzggestion`.`logprecios`;\n</pre>\n====Baja TABLA:precios_old====\n<pre>\ndrop table `fzggestion`.`precios_old`;\n</pre>\n====Baja TABLA:predefcab====\n<pre>\ndrop table `fzggestion`.`predefcab`;\n</pre>\n====Baja TABLA:predefdet====\n<pre>\ndrop table `fzggestion`.`predefdet`;\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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuestos]]====\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'),(986,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:preciosqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:acomerciales]]\n*[[VISTA:clientes]]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:preciosvigact]]\n*[[VISTA:preciosvigentes]]\n*[[VISTA:proveedores]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(987,'[[Category:TABLAS]]\n== Descripción ==\nContainer de datos de licenciamiento. \n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `wscontrol` (\n  `wsid` int(11) NOT NULL AUTO_INCREMENT,\n  `wskey1` varchar(30) DEFAULT NULL,\n  `wskey2` varchar(30) DEFAULT NULL,\n  `wskey3` varchar(30) DEFAULT NULL,\n  `wstest` varchar(30) DEFAULT NULL,\n  PRIMARY KEY (`wsid`)\n) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\nSolo en acceso a [[MACRO:Main]] con las siguientes características:\n#Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n#Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n===Ingreso de Registro en Tabla===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n===Ejemplo===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n===Corroborar ACL===\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n===Alargar ACL 1 mes más===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n===Cambiar Fecha ACL===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n== URL ==','utf-8'),(988,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[:Categoría:TABLAS|Tablas]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n*[[Spanex:Estructuras]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[TABLA:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(989,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[Spanex:Estructuras]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Pendientes]]\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[TABLA:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(990,'[[Category:TABLAS]]\n== Descripción ==\nContainer de información de personas físicas y jurídicas\n== Composición ==\nExiste una \"composición\" interna que esta dada a la fecha por las agrupaciones:\n*Clientes\n*Proveedores\n*Agentes Comerciales\n*Otros\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `contactos` (\n  `ContactoID` char(8) NOT NULL,\n  `RazonSocial` varchar(45) DEFAULT NULL,\n  `Direccion` varchar(45) DEFAULT NULL,\n  `Localidad` varchar(45) DEFAULT NULL,\n  `Provincia` varchar(45) DEFAULT NULL,\n  `Pais` varchar(20) DEFAULT NULL,\n  `CPostal` varchar(7) DEFAULT NULL,\n  `CUIT` varchar(13) DEFAULT NULL,\n  `Area` varchar(20) DEFAULT NULL,\n  `Telefono1` varchar(15) DEFAULT NULL,\n  `Telefono2` varchar(15) DEFAULT NULL,\n  `Telefono3` varchar(15) DEFAULT NULL,\n  `TelefonoM` varchar(15) DEFAULT NULL,\n  `TelefonoF` varchar(15) DEFAULT NULL,\n  `Correo1` varchar(40) DEFAULT NULL,\n  `Correo2` varchar(40) DEFAULT NULL,\n  `NContacto` varchar(40) DEFAULT NULL,\n  `AContacto` varchar(40) DEFAULT NULL,\n  `ListaPrecio` int(1) DEFAULT NULL,\n  `Notas` varchar(240) DEFAULT NULL,\n  `ClienteTag` int(1) DEFAULT NULL,\n  `ProveedorTag` int(1) DEFAULT NULL,\n  `AComercialTag` int(1) DEFAULT NULL,\n  `OtrosTag` int(1) DEFAULT NULL,\n  `ContactoIDAbrv` char(4) DEFAULT NULL,\n  `CoeficienteAC` decimal(5,2) DEFAULT \'1.00\',\n  `VigenciaDocs` int(2) DEFAULT \'15\',\n  `ImgContacto` blob,\n  PRIMARY KEY (`ContactoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n\n</pre>\n== Bitácora ==\n== Uso ==\nEstá asociada a esta tabla las [[VISTA:clientes]] y [[VISTA:proveedores]] y [[VISTA:acomerciales]]\n== URL ==','utf-8'),(991,'[[Category:TABLAS]]\n== Descripción ==\nContainer de información de personas físicas y jurídicas\n== Composición ==\nExiste una \"composición\" interna que esta dada a la fecha por las agrupaciones:\n*Clientes [[VISTA:clientes]]\n*Proveedores [[VISTA:proveedores]]\n*Agentes Comerciales [[VISTA:acomerciales]]\n*Otros\n\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `contactos` (\n  `ContactoID` char(8) NOT NULL,\n  `RazonSocial` varchar(45) DEFAULT NULL,\n  `Direccion` varchar(45) DEFAULT NULL,\n  `Localidad` varchar(45) DEFAULT NULL,\n  `Provincia` varchar(45) DEFAULT NULL,\n  `Pais` varchar(20) DEFAULT NULL,\n  `CPostal` varchar(7) DEFAULT NULL,\n  `CUIT` varchar(13) DEFAULT NULL,\n  `Area` varchar(20) DEFAULT NULL,\n  `Telefono1` varchar(15) DEFAULT NULL,\n  `Telefono2` varchar(15) DEFAULT NULL,\n  `Telefono3` varchar(15) DEFAULT NULL,\n  `TelefonoM` varchar(15) DEFAULT NULL,\n  `TelefonoF` varchar(15) DEFAULT NULL,\n  `Correo1` varchar(40) DEFAULT NULL,\n  `Correo2` varchar(40) DEFAULT NULL,\n  `NContacto` varchar(40) DEFAULT NULL,\n  `AContacto` varchar(40) DEFAULT NULL,\n  `ListaPrecio` int(1) DEFAULT NULL,\n  `Notas` varchar(240) DEFAULT NULL,\n  `ClienteTag` int(1) DEFAULT NULL,\n  `ProveedorTag` int(1) DEFAULT NULL,\n  `AComercialTag` int(1) DEFAULT NULL,\n  `OtrosTag` int(1) DEFAULT NULL,\n  `ContactoIDAbrv` char(4) DEFAULT NULL,\n  `CoeficienteAC` decimal(5,2) DEFAULT \'1.00\',\n  `VigenciaDocs` int(2) DEFAULT \'15\',\n  `ImgContacto` blob,\n  PRIMARY KEY (`ContactoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n\n</pre>\n== Bitácora ==\n== Uso ==\nEstá asociada a esta tabla las [[VISTA:clientes]] y [[VISTA:proveedores]] y [[VISTA:acomerciales]]\n== URL ==','utf-8'),(992,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n==== Tablas ====\n* [[TABLA:catinsumos]]\n* [[TABLA:cmoneda]]\n* [[TABLA:contactos]]\n* [[TABLA:cpar]]\n* [[TABLA:elementos]]\n* [[TABLA:insumos]]\n* [[TABLA:listasprecios]]\n* [[TABLA:monedas]]\n* [[TABLA:preciosqry]]\n* [[TABLA:transacciones]]\n* [[TABLA:ttransac]]\n* [[TABLA:vidquoten4]]\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(993,'===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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n====Actualización de [[RPRT:Presupuestos]]====\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'),(994,'===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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\n\n====Actualización de [[RPRT:Presupuestos]]====\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'),(995,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n*[[VISTA:visprestot]]\n*[[VISTA:visprodadic]]\n*[[VISTA:visreppres]]\n*[[VISTA:visrprescmp]]\n*[[VISTA:vissubxitem]]\n*[[VISTA:chqactivos]]\n*[[VISTA:vischtdisp]]\n*[[VISTA:vischeckmod]]\n*[[VISTA:vistotprod]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(996,'[[Category:VISTAS]]\n== Descripción ==\nVista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes. \n== Composición ==\n*TABLA:composicion\n*TABLA:productos\n*TABLA:precios\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprodadic` AS \nSELECT\n    `composicion`.`ProductoID` AS `ProductoID`,\n    `composicion`.`ElementoID` AS `ElementoID`,\n    `composicion`.`ValorElemento` AS `ValorElemento`,\n    `composicion`.`ElementoPM` AS `ElementoPM`,\n    `productos`.`Descripcion` AS `Descripcion`,\n    `productos`.`Magnitud` AS `Magnitud`,\n    `composicion`.`OffsetVanoAncho` AS `OffsetVanoAncho`,\n    `composicion`.`OffsetVanoAlto` AS `OffsetVanoAlto`,\n    `composicion`.`CoefVanoAncho` AS `CoefVanoAncho`,\n    `composicion`.`CoefVanoAlto` AS `CoefVanoAlto`,\n    `precios`.`PrecioProd00` AS `PrecioProd00`,\n    `precios`.`PrecioProd01` AS `PrecioProd01`,\n    `precios`.`PrecioProd02` AS `PrecioProd02`,\n    `precios`.`PrecioProd03` AS `PrecioProd03` \nFROM ((`productos` JOIN `composicion`) JOIN `precios`) \nWHERE\n    ((`productos`.`ProductoID` = `composicion`.`ElementoID`) AND \n    (`precios`.`ProductoID` = `productos`.`ProductoID`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(997,'[[Category:VISTAS]]\n== Descripción ==\nVista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente. \n== Composicion ==\n*[[VISTA:vislineabs]]\n*[[VISTA:visdetaobs]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visreppres` AS \nSELECT\n    `vislineabs`.`VidQuoteID` AS `VidQuoteID`,\n    `vislineabs`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vislineabs`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vislineabs`.`VidQuoteFecha` AS `VidQuoteFecha`,`vislineabs`.\n    `VidQuoteItem` AS `VidQuoteItem`,\n    `vislineabs`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `vislineabs`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF(ISNULL(`visdetaobs`.`Observaciones`),\n        `vislineabs`.`Descripcion`,\n        CONCAT(\n            `vislineabs`.`Descripcion`,\n            \' (Incluye \',\n            CONVERT(`visdetaobs`.`Observaciones` using utf8),\')\')) AS `VidQuoteDetalle`,\n    `vislineabs`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (`vislineabs` LEFT JOIN `visdetaobs` ON\n    (((`visdetaobs`.`VidQuoteID` = `vislineabs`.`VidQuoteID`) AND \n    (`visdetaobs`.`VidQuoteItem` = `vislineabs`.`VidQuoteItem`))))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(998,'[[Category:VISTAS]]\n== Descripción ==\nCompleta con información estática del cliente para el presupuesto indicado en el registro de [[TABLA:reppresqry]]\n== Composición ==\n*[[VISTA:visreppres]]\n*[[TABLA:clientes]]\n*[[TABLA:reppresqry]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW visrprescmp AS\nSELECT \n    visreppres.VidQuoteID,\n    visreppres.VidQuoteObra,\n    visreppres.VidQuoteCliente,\n    visreppres.VidQuoteFecha,\n    visreppres.VidQuoteItem,\n    visreppres.VidQuoteProdCantidad,\n    visreppres.VidQuoteProdID,\n    visreppres.VidQuoteDetalle,\n    visreppres.VidQuotePrecioS,\n    clientes.RazonSocial,\n    clientes.Direccion,\n    clientes.Localidad,\n    clientes.Provincia\nFROM\n    fzggestion.clientes AS clientes,\n    fzggestion.visreppres AS visreppres\nWHERE\n    clientes.ClienteID = visreppres.VidQuoteCliente AND\n    visreppres.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\nORDER BY visreppres.VidQuoteID ASC ,visreppres.VidQuoteObra ASC ,\n			visreppres.VidQuoteCliente ASC ,visreppres.VidQuoteItem ASC\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[REPORTE:PresupuestosDirecto]]\n\n== URL ==\n[[FZG.Vista.visprescmp.sql]]','utf-8'),(999,'[[Category:VISTAS]]\n== Descripción ==\nSubtotaliza los productos de los presupuestos\n== Composición ==\n*[[TABLA:vidquoten3]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `vissubxitem` AS\nSELECT `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n       `vidquoten3`.`VidQuoteItem` AS `VidQuoteItem`,\n       sum(`vidquoten3`.`VidQuotePrecioP`) AS `VidQuotePrecioS`\nFROM `vidquoten3`\nGROUP BY `vidquoten3`.`VidQuoteID`,\n         `vidquoten3`.`VidQuoteItem`\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1000,'[[Category:VISTAS]]\n== Descripción ==\nVista de Cheques disponibles para Endosar\n== Composición ==\n[[TABLA:checkbook]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `vischtdisp` AS\nSELECT \'CHT\' AS `TransaccTest`,\n       `checkbook`.`CheckBookID` AS `CheckBookID`,\n       `checkbook`.`Entidad` AS `Entidad`,\n       `checkbook`.`FechaDocumento` AS `FechaDocumento`,\n       `checkbook`.`ImporteDocumento` AS `ImporteDocumento`\nFROM `checkbook`\nWHERE (isnull(`checkbook`.`NTransaccDst`)\n       AND isnull(`checkbook`.`TTransaccDst`))\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1001,'[[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== URL ==','utf-8'),(1002,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n*[[VISTA:listavigente]]\n*[[VISTA:precioscmpl]]\n*[[VISTA:viscabdetalla]]\n*[[VISTA:viscompcnt]]\n*[[VISTA:viscompodis]]\n*[[VISTA:viscomposimpl]]\n*[[VISTA:visdetaobs]]\n*[[VISTA:visdocpcob]]\n*[[VISTA:vistranscrm]]\n*[[VISTA:visintdetpre]]\n*[[VISTA:vislineabs]]\n*[[VISTA:visprdparam]]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(1003,'[[Category:VISTAS]]\n== Descripción ==\nVista Transacciones de CRM\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:accreceiv]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vistranscrm` AS\n(\nSELECT DISTINCT\n    T1.VidQuoteCliente AS VidQuoteCliente,\n    \'QT\' AS TTransaccion,\n    T2.VidQuoteID AS NTransaccion,\n    T1.VidQuoteObra AS VidQuoteObra,\n    T1.VidQuoteFecha AS VidQuoteFecha,\n    T1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(T2.VidQuotePrecioP) * - 1 AS VidQuotePrecioP\nFROM\n    vidquoten1 AS T1,\n    vidquoten3 AS T2\nWHERE\n    T1.VidQuoteEstado = \'1\' AND T1.VidQuoteID = T2.VidQuoteID\nGROUP BY T2.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC)\nUNION\n(SELECT \n    T3.ClienteAR AS VidQuoteCliente,\n    T3.TTransaccion AS TTransaccion,\n    T3.NTransaccion as NTransaccion,\n    \' \' AS VidQuoteObra,\n    T3.FechaAR AS VidQuoteFecha,\n    \'1\' AS VidQuoteEstado,\n    T3.ImporteAR AS VidQuotePrecioP\nFROM\n    accreceiv AS T3\n)\nORDER BY VidQuoteCliente\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:ConsultaClientesCRM]]\n== URL ==','utf-8'),(1004,'[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nCREATE VIEW `visintdetpre` AS\nSELECT \n	`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n	`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n	`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n	`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n	`vidquoten2`.`VidQuoteAncho` AS `VidQuoteAncho`,\n	`vidquoten2`.`VidQuoteAlto` AS `VidQuoteAlto`,\n	`visprodadic`.`ElementoID` AS `ElementoID`,\n	`visprodadic`.`ValorElemento` AS `ValorElemento`,\n	`visprodadic`.`ElementoPM` AS `ElementoPM`,\n	`visprodadic`.`Descripcion` AS `Descripcion`,\n	`visprodadic`.`Magnitud` AS `Magnitud`,\n	(CASE `visprodadic`.`Magnitud`\n		WHEN \'M2\' THEN \n			((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) * \n			((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000000) * \n			`visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'PR\' THEN \n			(((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * 2) * \n			`visprodadic`.`CoefVanoAlto`) + (((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * \n			`visprodadic`.`CoefVanoAncho`)) / 1000) * `visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'ML\' THEN \n			((((((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * 2) * \n			`visprodadic`.`CoefVanoAncho`) / 1000) * `visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		WHEN \'MG\' THEN \n			((((((`vidquoten2`.`VidQuoteAlto` + `visprodadic`.`OffsetVanoAlto`) * `visprodadic`.`CoefVanoAlto`) + \n			((`vidquoten2`.`VidQuoteAncho` + `visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`)) / 1000) * \n			`visprodadic`.`ValorElemento`) * \n			(CASE `vidquoten2`.`VidQuoteLPre` \n				WHEN 1 THEN `visprodadic`.`PrecioProd01` \n				WHEN 2 THEN `visprodadic`.`PrecioProd02` \n				WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n		ELSE (`visprodadic`.`ValorElemento` * \n				(CASE `vidquoten2`.`VidQuoteLPre` \n					WHEN 1 THEN `visprodadic`.`PrecioProd01` \n					WHEN 2 THEN `visprodadic`.`PrecioProd02` \n					WHEN 3 THEN `visprodadic`.`PrecioProd03` END))\n	END) AS `PrecioBase`\nFROM (`visprodadic`\n	JOIN `vidquoten2`)\nWHERE (`visprodadic`.`ProductoID` = `vidquoten2`.`VidQuoteProdID`)\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[MACRO:LookupData]]\n*[[MACRO:NewResetListBoxDetalleProducto]]\n\n== URL ==','utf-8'),(1005,'[[Category:VISTAS]]\n== Descripción ==\nDefine linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item \n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:productos]]\n*[[VISTA:vissubxitem]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`vislineabs` AS \nSELECT \n    `fzggestion`.`vidquoten2`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `fzggestion`.`vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `fzggestion`.`vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `fzggestion`.`vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    `fzggestion`.`vidquoten2`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdCantidad` AS `VidQuoteProdCantidad`,\n    `fzggestion`.`vidquoten2`.`VidQuoteProdID` AS `VidQuoteProdID`,\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAncho` > 0),\n    IF((`fzggestion`.`vidquoten2`.`VidQuoteAlto` > 0),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Dimension(mm):[\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \'x\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAlto` AS CHAR charset utf8),4,\'0000\'),\n            \']-\'),\n        CONCAT(CONVERT(`fzggestion`.`productos`.`Descripcion` USING utf8),\n            \' -Largo(mm):[\',\n            LPAD(CAST(`fzggestion`.`vidquoten2`.`VidQuoteAncho` AS CHAR charset utf8),4,\'0000\'),\n            \']-\')),\n            CONVERT(`fzggestion`.`productos`.`Descripcion` using utf8)) AS `Descripcion`,\n    `vissubxitem`.`VidQuotePrecioS` AS `VidQuotePrecioS` \nFROM\n    (((`fzggestion`.`vidquoten1` JOIN \n    `fzggestion`.`vidquoten2`) JOIN \n    `fzggestion`.`productos`) JOIN \n    `fzggestion`.`vissubxitem`) \nWHERE\n    ((`fzggestion`.`vidquoten1`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten2`.`VidQuoteProdID`) AND \n    (`vissubxitem`.`VidQuoteID` = `fzggestion`.`vidquoten2`.`VidQuoteID`) AND \n    (`vissubxitem`.`VidQuoteItem` = `fzggestion`.`vidquoten2`.`VidQuoteItem`))\n</pre>\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1006,'[[Category:VISTAS]]\n== Descripción ==\nVista de la tabla de Productos indicando con \"Parametros\" aquellos elementos que tienen parámetros asociados.\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:valadicprod]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `visprdparam` AS \nSELECT\n	`productos`.`ProductoID` AS `ProductoID`,\n	`productos`.`Descripcion` AS `Descripcion`,\n	`productos`.`ProductoID` IN (SELECT DISTINCT `valadicprod`.`ProductoID` FROM `valadicprod`) AS `Parametros` \nFROM `productos` \nORDER BY `productos`.`Descripcion\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:MasivoPorElemento]]\n\n== URL ==','utf-8'),(1007,'[[Category:VISTAS]]\n== Descripción ==\nUne todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item \n== Composicion ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:productos]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `fzggestion`.`visdetaobs` AS \nSELECT\n    `fzggestion`.`vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `fzggestion`.`vidquoten3`.`VidQuoteItem` AS `VidQuoteItem`,\n    `fzggestion`.`vidquoten3`.`VidQuoteIncluyeDet` AS `VidQuoteIncluyeDet`,\n    GROUP_CONCAT(`fzggestion`.`productos`.`Descripcion` SEPARATOR \', \') AS `Observaciones` \nFROM\n    (`fzggestion`.`productos` JOIN `fzggestion`.`vidquoten3`) \nWHERE \n    ((`fzggestion`.`productos`.`ProductoID` = `fzggestion`.`vidquoten3`.`VidQuoteElementoID`) AND \n    (`fzggestion`.`vidquoten3`.`VidQuoteIncluyeDet` = 1)) \nGROUP BY \n    `fzggestion`.`vidquoten3`.`VidQuoteID`,`fzggestion`.`vidquoten3`.`VidQuoteItem`\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1008,'[[Category:VISTAS]]\n== Descripción ==\nVista de la [[TABLA:composicion]] con el agregado de la descripción del elemento que lo relaciona con la [[TABLA:productos]]\n== Composición ==\n*[[TABLA:composicion]]\n*[[TABLA:productos]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE VIEW `viscomposimpl` AS\nSELECT `composicion`.`ProductoID` AS `ProductoID`,\n       `composicion`.`ElementoID` AS `ElementoID`,\n       `productos`.`Descripcion` AS `Descripcion`,\n       `composicion`.`ValorElemento` AS `ValorElemento`,\n       `composicion`.`ElementoPM` AS `ElementoPM`,\n       CONCAT(	format(`composicion`.`OffsetVanoAncho`,0),\',\',\n					format(`composicion`.`OffsetVanoAlto`,0)) AS `Offset`,\n       CONCAT(	format(`composicion`.`CoefVanoAncho`,4),\',\',\n					format(`composicion`.`CoefVanoAlto`,4)) AS `CoefWH`\nFROM (`productos`\n      JOIN `composicion`)\nWHERE (`productos`.`ProductoID` = `composicion`.`ElementoID`)\n</pre>\n== Bitácora ==\n*20120608\n**Se agregan las columnas correspondientes a los Coeficientes de Alto y Ancho de acuerdo a la modificación de la estructura de Composicion hecha para la \"Magnitud Galarza\"\n<pre>\n       CONCAT(	format(`composicion`.`CoefVanoAncho`,4),\',\',\n					format(`composicion`.`CoefVanoAlto`,4)) AS `CoefWH`\n</pre>\n== Uso ==\n[[FORM:CopiaComposicion]]\n== URL ==','utf-8'),(1009,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Procedimientos ===\n*[[PROC:ActualizaItemPresupuesto]]\n*[[PROC:ActualizaPreciosPresupuesto]]\n*[[PROC:ActualizaPreciosTabular]]\n*[[PROC:AgregaProductoCompo]]\n*[[PROC:AltaItemPresupuesto]]\n*[[PROC:AltaItemPresupuestoTmp]]\n*[[PROC:CalculaPrecioBase]]\n*[[PROC:CalculoMedidaReal]]\n*[[PROC:CalculoPrecio]]\n*[[PROC:CopiaPresupuesto]]\n*[[PROC:DuplicaProductoCompo]]\n*[[PROC:GrabaItemPresupuestoTmp]]\n*[[PROC:ResetEdicionItemTmp]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(1010,'==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==Formularios==\n<pre>\n[[Category:FORM]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n==Macros, Procedimientos, Funciones==\n<pre>\n[[Category:MACRO]]\n[[Category:PROC]]\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====\n</pre>','utf-8'),(1011,'[[Category:PROC]]\n== Descripción ==\nActualiza los precios unitario y subtotal en la [[TABLA:vidquoten3]] de un Producto determinado para todos sus componentes.\n\n== Composición ==\n*[[TABLA:composicion]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaItemPresupuesto`(\n    IN pVidQuoteID INT(5),\n    IN pVidQuoteItem INT(5),\n    IN pVidQuoteProdCantidad INT(5),\n    IN pVidQuoteAncho INT(5),\n    IN pVidQuoteAlto INT(5),\n    IN pVidQuoteLista INT(1),\n    IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\n-- SET\n-- @pVidQuoteID = 50,\n-- @pVidQuoteItem = 3,\n-- @pVidQuoteProdCantidad = 1,\n-- @pVidQuoteAncho = 1000,\n-- @pVidQuoteAlto = 1000,\n-- @pVidQuoteLista = 1,\n-- @pCoeficienteAC = 1.0;\n-- CALL DebugCheckPoint(\n--     CONCAT(\n--     \"PROC:ActualizaItemPresupuesto\",\"/VAR/\",\n--     CAST(pVidQuoteID AS CHAR),\"-\",\n--     CAST(pVidQuoteLista AS CHAR),\"-\",\n--     CAST(pVidQuoteItem AS CHAR),\"-\",\n--     CAST(pVidQuoteProdCantidad AS CHAR),\"-\",\n--     CAST(pVidQuoteAncho AS CHAR),\"-\",\n--     CAST(pVidQuoteAlto AS CHAR),\"-\",\n--     CAST(pCoeficienteAC AS CHAR)\n--     ));\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        pVidQuoteAncho, \n                        pVidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        pVidQuoteAncho, \n                        pVidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * pVidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteItem = pVidQuoteItem AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            pVidQuoteAncho, \n            pVidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            pVidQuoteAncho, \n            pVidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * pVidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n        V1.VidQuoteItem = pVidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\nEND\n</pre></small>\n== Bitácora ==\n*20120921\n**Alta ante rediseño de [[FORM:Presupuesto]]\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[TRIG:Actualiza_Item_Presupuesto]]','utf-8'),(1012,'[[Category:PROC]]\n== Descripción ==\nActualizador de precios de un presupuesto indicado. Toma toda la información existente y la actualiza de acuerdo a la lista de precios vigente. Luego de actualizar los precios a nivel Elemento, procede a actualizar los precios del detalle del presupuesto invocando un UPDATE ficticio para que ejecute sin Dead-Lock a través del [[TRIG:Actualiza_Item_Presupuesto]]\n\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n*[[TABLA:composicion]]\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto`(\n    IN pVidQuoteID INT(5),\n--    IN pVidQuoteItem INT(5),\n    IN pVidQuoteLista INT(1),\n    IN pCoeficienteAC DECIMAL(10,5))\nBEGIN\n-- ----------------------------------------------------\n-- Update from tables with ProductoID=ElementoID\n-- ----------------------------------------------------\nUPDATE\n    composicion AS T2,\n    vidquoten3 AS T1,\n    precios AS T3,\n    productos AS T4,\n    vidquoten2 AS T5\nSET \n    T1.VidQuotePrecio = CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC,\n    T1.VidQuotePrecioP= CalculoPrecio(\n                        T5.VidQuoteAncho, \n                        T5.VidQuoteAlto,\n                        (CASE (pVidQuoteLista)\n                          WHEN 0 THEN T3.PrecioProd00\n                          WHEN 1 THEN T3.PrecioProd01\n                          WHEN 2 THEN T3.PrecioProd02\n                          WHEN 3 THEN T3.PrecioProd03\n                        END),\n                        T4.Magnitud,\n                        T2.OffsetVanoAlto,\n                        T2.OffsetVanoAncho,\n                        T2.CoefVanoAlto,\n                        T2.CoefVanoAncho,\n                        T2.ValorElemento) * pCoeficienteAC * T5.VidQuoteProdCantidad \nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n--    T1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),T1.VidQuoteItem,pVidQuoteItem) AND\n    T2.ProductoID = T1.VidQuoteProdID AND \n    T2.ElementoID = T1.VidQuoteElementoID AND \n    T2.ComposicID = T1.VidQuoteComposicID AND \n    T4.ProductoID = T3.ProductoID AND \n    T5.VidQuoteID = T1.VidQuoteID AND \n    T5.VidQuoteItem = T1.VidQuoteItem AND \n    T3.ProductoID = T2.ElementoID AND \n    T1.VidQuoteProdID = T1.VidQuoteElementoID;\n-- ----------------------------------------------------\n-- Update from tables with ProductoID<>ElementoID\n-- ----------------------------------------------------\nUPDATE\n    vidquoten3 AS W1,\n    (SELECT \n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteProdID,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC AS VidQuotePrecio,\n        SUM(CalculoPrecio(\n            V6.VidQuoteAncho, \n            V6.VidQuoteAlto,\n            (CASE (pVidQuoteLista)\n              WHEN 0 THEN V4.PrecioProd00\n              WHEN 1 THEN V4.PrecioProd01\n              WHEN 2 THEN V4.PrecioProd02\n              WHEN 3 THEN V4.PrecioProd03\n            END),\n            V5.Magnitud,\n            V2.OffsetVanoAlto + V3.OffsetVanoAlto,\n            V2.OffsetVanoAncho + V3.OffsetVanoAncho,\n            V2.CoefVanoAlto * V3.CoefVanoAlto,\n            V2.CoefVanoAncho * V3.CoefVanoAncho,\n            V2.ValorElemento * V3.ValorElemento)) * pCoeficienteAC * V6.VidQuoteProdCantidad AS VidQuotePrecioP\n    FROM\n        fzggestion.composicion AS V3,\n        fzggestion.composicion AS V2,\n        fzggestion.vidquoten3 AS V1,\n        fzggestion.precios AS V4,\n        fzggestion.productos AS V5,\n        fzggestion.vidquoten2 AS V6\n    WHERE\n        V1.VidQuoteID = pVidQuoteID AND\n--       V1.VidQuoteItem = IF(ISNULL(pVidQuoteItem),V1.VidQuoteItem,pVidQuoteItem) AND\n        V6.VidQuoteID = V1.VidQuoteID AND \n        V6.VidQuoteItem = V1.VidQuoteItem AND\n        V3.ProductoID = V2.ElementoID AND \n        V2.ProductoID = V1.VidQuoteProdID AND \n        V2.ElementoID = V1.VidQuoteElementoID AND \n        V2.ComposicID = V1.VidQuoteComposicID AND \n        V4.ProductoID = V3.ElementoID AND \n        V5.ProductoID = V4.ProductoID AND \n        V1.VidQuoteProdID <> V1.VidQuoteElementoID AND \n        V3.ElementoPM = 0\n    GROUP BY\n        V1.VidQuoteID,\n        V1.VidQuoteItem,\n        V1.VidQuoteElementoID,\n        V1.VidQuoteComposicID) AS W2\nSET\n    W1.VidQuotePrecio = W2.VidQuotePrecio,\n    W1.VidQuotePrecioP = W2.VidQuotePrecioP\nWHERE\n    -- ----------------------------------------------------------\n    -- Join between result of calculating prices and vidquoten3\n    -- ----------------------------------------------------------\n    W2.VidQuoteID = W1.VidQuoteID AND \n    W2.VidQuoteItem = W1.VidQuoteItem AND \n    W2.VidQuoteProdID = W1.VidQuoteProdID AND \n    W2.VidQuoteElementoID = W1.VidQuoteElementoID AND \n    W2.VidQuoteComposicID = W1.VidQuoteComposicID AND\n    -- ----------------------------------------------------------\n    -- Select what Qoute will be affected\n    -- ----------------------------------------------------------\n    W1.VidQuoteID = pVidQuoteID AND\n    -- ----------------------------------------------------------\n    -- Select records not PPD\n    -- ----------------------------------------------------------\n    W1.VidQuoteProdID <> W1.VidQuoteElementoID;\n-- ----------------------------------------------------------\n-- Update Precios Resumen on vidquoten2. No effect on others\n-- fields than VidQuotePrecio\n-- ----------------------------------------------------------\nUPDATE\n    vidquoten2 AS T1\nSET\n    T1.VidQuoteProdCantidad=T1.VidQuoteProdCantidad\nWHERE\n    T1.VidQuoteID = pVidQuoteID;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120921\n**Actualización de acuerdo al cambio de diseño de [[FORM:Presupuesto]]\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosPresupuesto_OLD`(IN pVidQuoteID INT(5))\nBEGIN\n	UPDATE vidquoten3 AS T5,\n    (\n    SELECT\n		T4.VidQuoteProdID,\n      T4.VidQuoteElementoID,\n		T4.VidQuoteProdCantidad,\n		T4.VidQuoteAncho,\n		T4.VidQuoteAlto,\n      T4.PrecioProd,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento)) AS VidQuotePrecio,\n		SUM(CalculoPrecio(\n			T4.VidQuoteAncho, \n			T4.VidQuoteAlto,\n			T4.PrecioProd,\n			T4.Magnitud,\n			T4.OffsetVanoAlto,\n			T4.OffsetVanoAncho,\n			T4.CoefVanoAlto,\n			T4.CoefVanoAncho,\n			T4.ValorElemento) * T4.VidQuoteProdCantidad) AS VidQuotePrecioP\n	FROM\n	((SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T2.ValorElemento AS ValorElemento,\n		 T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T2.CoefVanoAncho AS CoefVanoAncho,\n		 T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteProdID AND T2.ElementoID = T1.VidQuoteElementoID }\n	WHERE\n		 T1.VidQuoteProdID=VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	UNION\n	(SELECT \n		 T1.VidQuoteLPre AS VidQuoteLPre,\n		 T1.VidQuoteProdID AS VidQuoteProdID,\n		 T1.VidQuoteElementoID AS VidQuoteElementoID,\n		 T2.ElementoID AS ElementoID,\n		 T1.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n		 T1.VidQuoteAncho AS VidQuoteAncho,\n		 T1.VidQuoteAlto AS VidQuoteAlto,\n		 T2.Magnitud,\n		 T3.ValorElemento * T2.ValorElemento AS ValorElemento,\n		 T3.OffsetVanoAncho + T2.OffsetVanoAncho AS OffsetVanoAncho,\n		 T3.OffsetVanoAlto + T2.OffsetVanoAlto AS OffsetVanoAlto,\n		 T3.CoefVanoAncho * T2.CoefVanoAncho AS CoefVanoAncho,\n		 T3.CoefVanoAlto * T2.CoefVanoAlto AS CoefVanoAlto,\n		(CASE (T1.VidQuoteLPre)\n		     WHEN 0 THEN T2.`PrecioProd00`\n			WHEN 1 THEN T2.`PrecioProd01`\n			WHEN 2 THEN T2.`PrecioProd02`\n			WHEN 3 THEN T2.`PrecioProd03`\n			END) AS PrecioProd\n	FROM\n		 { OJ fzggestion.visprodadic AS T2\n		     RIGHT OUTER JOIN\n		 fzggestion.vidquoten3 AS T1 ON T2.ProductoID = T1.VidQuoteElementoID },\n		 fzggestion.visprodadic AS T3\n	WHERE\n		 T3.ProductoID = T1.VidQuoteProdID AND \n		 T3.ElementoID = T1.VidQuoteElementoID AND \n		 T1.VidQuoteProdID <> T1.VidQuoteElementoID AND T1.VidQuoteID = pVidQuoteID)\n	ORDER BY VidQuoteProdID,VidQuoteElementoID,ElementoID) AS T4\n	GROUP BY VidQuoteProdID,VidQuoteElementoID) AS T6\n	SET T5.VidQuotePrecio = T6.VidQuotePrecio, T5.VidQuotePrecioP = T6.VidQuotePrecioP\n	WHERE\n		 T5.VidQuoteID = pVidQuoteID AND \n		 T5.VidQuoteProdID = T6.VidQuoteProdID AND \n		 T5.VidQuoteElementoID = T6.VidQuoteElementoID;\nEND\n</pre></small>\n*20120925\n**Reestructura actualización del atributo de precio debido a que se incorpora el [[TRIG:Actualiza_Item_Presupuesto]] y produce un dead-lock al gestionar las mismas tablas. Se modifica el [[TRIG:Actualiza_Item_Presupuesto]] y se hace un UPDATE falso para forzar el Trigger de actualización a hacer el recálculo.\n<small><pre>\nUPDATE\n    vidquoten2 AS T1,\n    (SELECT \n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdCantidad,\n        VidQuoteProdID,\n        SUM(VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten3\n    GROUP BY\n        VidQuoteID,\n        VidQuoteItem) AS T2\nSET\n    T1.VidQuotePrecio=T2.VidQuotePrecioP\nWHERE\n    T1.VidQuoteID = pVidQuoteID AND\n    T1.VidQuoteID = T2.VidQuoteID AND\n    T1.VidQuoteItem = T2.VidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]\n*[[TRIG:Actualiza_Item_Presupuesto]]','utf-8'),(1013,'[[Category:PROC]]\n== Descripción ==\nCalcula los valores de las diferentes listas de precios vigentes a partir de un valor indicado y los coeficientes de actualización asociados a cada producto.\n\n== Composición ==\n*[[TABLA:precios]]\n*[[TABLA:productos]]\n\n== Codigo ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ActualizaPreciosTabular`(IN pFiltro VARCHAR(300), IN pAccion VARCHAR(2))\nBEGIN\n	SET @wcn = \" `precios`.`ProductoID`=`productos`.`ProductoID` AND `precios`.`Lista` = (SELECT Lista FROM listavigente)\";\n	SET @qry = \"UPDATE precios,productos SET \";\n    CASE pAccion\n		WHEN \"1\" THEN \n			BEGIN\n				SET @fld = \" \";\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd01` = `precios`.`PrecioProd00` * `productos`.`CoefP00P01`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd02` = `precios`.`PrecioProd00` * `productos`.`CoefP00P02`,\");\n				SET @fld = CONCAT(@fld,\"`precios`.`PrecioProd03` = `precios`.`PrecioProd00` * `productos`.`CoefP00P03`\");\n			END;\n		WHEN \"2\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd01` / `productos`.`CoefP00P01`\";\n		WHEN \"3\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd02` / `productos`.`CoefP00P02`\";\n		WHEN \"4\" THEN SET @fld = \" `precios`.`PrecioProd00` = `precios`.`PrecioProd03` / `productos`.`CoefP00P03`\";\n	END CASE;\n	IF pFiltro <> \"\" THEN SET @wcn = CONCAT(@wcn,\" AND \",pFiltro);\n	END IF;\n	SET @qry = CONCAT(@qry,@fld,\" WHERE \",@wcn);\n	PREPARE stmt FROM @qry;\n	EXECUTE stmt;\n	DEALLOCATE PREPARE stmt;\nEND\n</pre></small>\n\n== Bitácora ==\n*20120907\n**Se corrige la línea \'\'\'SET @fld = \" \"\'\'\' debido a que estaba tipeado \'\'\'@fls\'\'\'\n**Se cambia la variable \'\'\'@sql\'\'\' por \'\'\'@qry\'\'\'. Aparentemente la nueva versión de la DB toma la variable @sql como una constante del sistema\n\n== Uso ==\n*[[MACRO:RecalculaPrecios]]\n*[[FORM:PreciosTabularxProcesos]]','utf-8'),(1014,'[[Category:PROC]]\n== Descripción ==\nAgrega componentes de otro producto a un producto existente\n== Composición ==\n* [[TABLA:composicion]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE PROCEDURE `AgregaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg AND\n          `composicion`.`ElementoID` NOT IN \n            (SELECT ElementoID \n            FROM composicion \n            WHERE `composicion`.`ProductoID` = pProductoIDDst)\n    );\nEND\n</pre>\n== Bitácora ==\n* 20120627\n** Agregado como botón en el proceso correspondiente\n\n== Uso ==\n* [[FORM:CopiaComposicion]]\n* [[MACRO:AgregaComposicion]]\n\n== URL ==','utf-8'),(1015,'[[Category:PROC]]\n== Descripción ==\nCalcula el precio de un producto de acuerdo a parámetros mínimos y accediendo a la base de datos indicada\n== Composición ==\n*[[VISTA:visprodadic]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculaPrecioBase`(pProducto VARCHAR(8), pElemento VARCHAR(8), pAncho INT(5), pAlto INT(5), pLista INT(1)) RETURNS DECIMAL(10,2)\nBEGIN\n  DECLARE pPrecioBase DECIMAL(10,2);\n  SET pPrecioBase = (SELECT\n	CASE `visprodadic`.`Magnitud`\n	WHEN \'M2\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) *\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000000) *\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'PR\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`) * 2 * `visprodadic`.`CoefVanoAlto`) + \n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`) * 2 * `visprodadic`.`CoefVanoAncho`))\n       / 1000 ) * \n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'ML\'\n	 THEN\n	   (((pAncho+`visprodadic`.`OffsetVanoAncho`) * `visprodadic`.`CoefVanoAncho`) / 1000 ) * \n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'MG\'\n	 THEN\n	  ((((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) +\n	  ((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`))/1000) *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'2H\'\n	 THEN\n	  (((pAlto+`visprodadic`.`OffsetVanoAlto`)*`visprodadic`.`CoefVanoAlto`) / 1000) * 2 *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	WHEN \'2W\'\n	 THEN\n	  (((pAncho+`visprodadic`.`OffsetVanoAncho`)*`visprodadic`.`CoefVanoAncho`) / 1000) * 2 *\n	  `visprodadic`.`ValorElemento` *\n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	ELSE\n	   `visprodadic`.`ValorElemento` * \n	   (CASE (pLista)\n	    WHEN 1 THEN `visprodadic`.`PrecioProd01`\n	    WHEN 2 THEN `visprodadic`.`PrecioProd02`\n	    WHEN 3 THEN `visprodadic`.`PrecioProd03`\n	    END)\n	END AS `PrecioBase`\n	FROM `visprodadic` \n	WHERE `visprodadic`.`ProductoID` = pProducto AND\n		  `visprodadic`.`ElementoID` = pElemento);\n	RETURN pPrecioBase;\nEND$$\n</pre></small>\n\n== Bitácora ==\n*20120520\n**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\n== Uso ==\n== URL ==','utf-8'),(1016,'[[Category:PROC]]\n== Descripción ==\n== Composición ==\nNo Tiene. Solo Función\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nDELIMITER $$\n\nCREATE FUNCTION `CalculoMedidaReal`(pMedida INT(5),pOffset INT(11),pCoeficiente DECIMAL(16,8)) RETURNS INT(5)\nBEGIN\n	DECLARE pMedidaReal DECIMAL(10,2);\n	SET pMedidaReal = (pMedida+pOffset) * pCoeficiente;\n	RETURN pMedidaReal;\nEND\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1017,'[[Category:PROC]]\n== Descripción ==\nCopia la información de un presupuesto seleccionado a otro nuevo.\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `CopiaPresupuesto`(IN pVidQuoteID INT(5))\nBEGIN\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself\n    -- ------------------------------------------------------\n    INSERT INTO vidquoten1 (\n    `VidQuoteID`,\n    `VidQuoteObra`,\n    `VidQuoteCliente`,\n    `VidQuoteFecha`,\n    `VidQuoteFechaEst`,\n    `VidQuoteEstado`,\n    `VidQuoteACom`,\n    `VidQuoteMedCheck`)\n    SELECT\n    NULL,\n    `vidquoten1`.`VidQuoteObra`,\n    `vidquoten1`.`VidQuoteCliente`,\n    `vidquoten1`.`VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteFechaEst`,\n    `vidquoten1`.`VidQuoteEstado`,\n    `vidquoten1`.`VidQuoteACom`,\n    `vidquoten1`.`VidQuoteMedCheck`\n    FROM `vidquoten1`\n    WHERE `vidquoten1`.`VidQuoteID`= pVidQuoteID;\n    -- ------------------------------------------------------\n    -- Take ID generated by AI\n    -- ------------------------------------------------------\n    SET @npr = LAST_INSERT_ID();\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself with @npr\n    -- ------------------------------------------------------\n    INSERT INTO `fzggestion`.`vidquoten2`\n    (`VidQuoteID`,\n    `VidQuoteItem`,\n    `VidQuotePredID`,\n    `VidQuoteProdID`,\n    `VidQuoteProdCantidad`,\n    `VidQuoteAncho`,\n    `VidQuoteAlto`,\n    `VidQuotePrecio`,\n    `VidQuoteDetalle`)\n    SELECT\n    @npr,\n    `vidquoten2`.`VidQuoteItem`,\n    `vidquoten2`.`VidQuotePredID`,\n    `vidquoten2`.`VidQuoteProdID`,\n    `vidquoten2`.`VidQuoteProdCantidad`,\n    `vidquoten2`.`VidQuoteAncho`,\n    `vidquoten2`.`VidQuoteAlto`,\n    `vidquoten2`.`VidQuotePrecio`,\n    `vidquoten2`.`VidQuoteDetalle`\n    FROM `vidquoten2`\n    WHERE `vidquoten2`.`VidQuoteID`= pVidQuoteID;\n    -- ------------------------------------------------------\n    -- Insert from parameter QuoteID into itself with @npr\n    -- ------------------------------------------------------\n    INSERT INTO `vidquoten3`\n    (`VidQuoteID`,\n    `VidQuoteItem`,\n    `VidQuoteProdID`,\n    `VidQuoteElementoID`,\n    `VidQuoteComposicID`,\n    `VidQuoteProdCantidad`,\n    `VidQuoteAncho`,\n    `VidQuoteAlto`,\n    `VidQuotePrecio`,\n    `VidQuotePrecioP`,\n    `VidQuoteIncluyeDet`)\n    SELECT\n    @npr,\n    `vidquoten3`.`VidQuoteItem`,\n    `vidquoten3`.`VidQuoteProdID`,\n    `vidquoten3`.`VidQuoteElementoID`,\n    `vidquoten3`.`VidQuoteComposicID`,\n    `vidquoten3`.`VidQuoteProdCantidad`,\n    `vidquoten3`.`VidQuoteAncho`,\n    `vidquoten3`.`VidQuoteAlto`,\n    `vidquoten3`.`VidQuotePrecio`,\n    `vidquoten3`.`VidQuotePrecioP`,\n    `vidquoten3`.`VidQuoteIncluyeDet`\n    FROM `fzggestion`.`vidquoten3`\n    WHERE `vidquoten3`.`VidQuoteID`= pVidQuoteID;\nEND\n</pre></small>\n== Bitácora ==\n*20120409\n**Alta para [[FORM:Presupuesto.v1.0]]\n<small><pre>\ndelimiter $$\n\nCREATE PROCEDURE `CopiaPresupuesto` (IN pVidQuoteID INT(5))\n\nBEGIN\n\nINSERT INTO vidquoten1 (\n`VidQuoteID`,\n`VidQuoteObra`,\n`VidQuoteCliente`,\n`VidQuoteFecha`,\n`VidQuoteValidez`,\n`VidQuoteFechaEst`,\n`VidQuoteEstado`,\n`VidQuoteACom`)\nSELECT\nNULL,\n`vidquoten1`.`VidQuoteObra`,\n`vidquoten1`.`VidQuoteCliente`,\n`vidquoten1`.`VidQuoteFecha`,\n`vidquoten1`.`VidQuoteValidez`,\n`vidquoten1`.`VidQuoteFechaEst`,\n`vidquoten1`.`VidQuoteEstado`,\n`vidquoten1`.`VidQuoteACom`\nFROM `fzggestion`.`vidquoten1`\nWHERE `vidquoten1`.`VidQuoteID`= pVidQuoteID;\n\nSET @npr = LAST_INSERT_ID();\n\nINSERT INTO `fzggestion`.`vidquoten2`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuotePrecio`,\n`VidQuoteDetalle`)\nSELECT\n@npr,\n`vidquoten2`.`VidQuoteLPre`,\n`vidquoten2`.`VidQuoteItem`,\n`vidquoten2`.`VidQuoteProdID`,\n`vidquoten2`.`VidQuoteProdCantidad`,\n`vidquoten2`.`VidQuoteAncho`,\n`vidquoten2`.`VidQuoteAlto`,\n`vidquoten2`.`VidQuotePrecio`,\n`vidquoten2`.`VidQuoteDetalle`\nFROM `fzggestion`.`vidquoten2`\nWHERE `vidquoten2`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten3`\n(`VidQuoteID`,\n`VidQuoteLPre`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteProdCantidad`,\n`VidQuoteAncho`,\n`VidQuoteAlto`,\n`VidQuoteElementoID`,\n`VidQuotePrecio`,\n`VidQuotePrecioP`,\n`VidQuoteIncluyeDet`)\nSELECT\n@npr,\n`vidquoten3`.`VidQuoteLPre`,\n`vidquoten3`.`VidQuoteItem`,\n`vidquoten3`.`VidQuoteProdID`,\n`vidquoten3`.`VidQuoteProdCantidad`,\n`vidquoten3`.`VidQuoteAncho`,\n`vidquoten3`.`VidQuoteAlto`,\n`vidquoten3`.`VidQuoteElementoID`,\n`vidquoten3`.`VidQuotePrecio`,\n`vidquoten3`.`VidQuotePrecioP`,\n`vidquoten3`.`VidQuoteIncluyeDet`\nFROM `fzggestion`.`vidquoten3`\nWHERE `vidquoten3`.`VidQuoteID`= pVidQuoteID;\n\nINSERT INTO `fzggestion`.`vidquoten4`\n(`VidQuoteID`,\n`VidQuoteItem`,\n`VidQuoteProdID`,\n`VidQuoteElementoID`,\n`VidQuoteValorID`,\n`VidQuoteVTipo`,\n`VidQuoteVNecesario`,\n`VidQuoteVEntero`,\n`VidQuoteVDecimal`,\n`VidQuoteVTexto`)\nSELECT\n@npr,\n`vidquoten4`.`VidQuoteItem`,\n`vidquoten4`.`VidQuoteProdID`,\n`vidquoten4`.`VidQuoteElementoID`,\n`vidquoten4`.`VidQuoteValorID`,\n`vidquoten4`.`VidQuoteVTipo`,\n`vidquoten4`.`VidQuoteVNecesario`,\n`vidquoten4`.`VidQuoteVEntero`,\n`vidquoten4`.`VidQuoteVDecimal`,\n`vidquoten4`.`VidQuoteVTexto`\nFROM `fzggestion`.`vidquoten4`\nWHERE `vidquoten4`.`VidQuoteID`= pVidQuoteID;\nEND$$\n</pre></small>\n*20120925\n**Actualización de los atributos a utilizar y eliminación provisoria de la información de [[TABLA:vidquoten4]]\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:PresupuestoCopia]]','utf-8'),(1018,'[[Category:PROC]]\n== Descripción ==\nDuplica la composición de un producto sobre otro producto. Ya que existe el [[TRIG:productos.alta]] sobre la [[TABLA:productos]] que genera en forma automática los registros de [[TABLA:precios]] y [[TABLA:composicion]] ante el alta de un producto, se eliminan los correspondientes a la [[TABLA:composicion]]\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    DELETE FROM productos WHERE `productos`.`ProductoID` = pProductoIDDst;\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Bitácora ==\n*20100608\n**Al tiempo de reformular el [[FORM:CopiaComposicion]], se modifica el procedimiento que depende del [[BTN:Copiar]] del [[FORM:CopiaComposicion]]. Código Previo:\n<small><pre>\nDELIMITER $$\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8))\nBEGIN\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`\n	FROM `fzggestion`.`composicion`\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n*20120904\n**Se agrega al actual la cláusula de eliminación de los datos anteriores del producto destino si existiese.  Código Previo:\n<small><pre>\nDELIMITER $$\n\nCREATE PROCEDURE `DuplicaProductoCompo`(IN pProductoIDOrg VARCHAR(8), IN pProductoIDDst VARCHAR(8), IN pProductoDSC VARCHAR(80))\nBEGIN\n    INSERT INTO productos\n        (`productos`.`ProductoID`,\n        `productos`.`CategoriaID`,\n        `productos`.`Descripcion`,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`)(\n	SELECT\n        pProductoIDDst,\n        `productos`.`CategoriaID`,\n        pProductoDSC,\n        `productos`.`ProveedorID`,\n        `productos`.`Reposicion`,\n        `productos`.`Magnitud`,\n        `productos`.`CoefP00P01`,\n        `productos`.`CoefP00P02`,\n        `productos`.`CoefP00P03`,\n        `productos`.`ProductoPID`,\n        `productos`.`InsumoIMG`\n	FROM productos\n	WHERE `productos`.`ProductoID` = pProductoIDOrg);\n	DELETE FROM composicion WHERE ProductoID = pProductoIDDst;\n	INSERT INTO composicion (\n		`composicion`.`ProductoID`,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`)(\n	SELECT\n		pProductoIDDst,\n		`composicion`.`ElementoID`,\n		`composicion`.`ValorElemento`,\n		`composicion`.`ElementoPM`,\n		`composicion`.`OffsetVanoAncho`,\n		`composicion`.`OffsetVanoAlto`,\n		`composicion`.`CoefVanoAncho`,\n		`composicion`.`CoefVanoAlto`\n	FROM composicion\n	WHERE `composicion`.`ProductoID` = pProductoIDOrg);\nEND\n</pre></small>\n\n== Uso ==\n== URL ==','utf-8'),(1019,'[[Category:PROC]]\n== Descripción ==\nTraslada las modificaciones hechas sobre la [[TABLA:vidquoten3tmp]] a la definitiva [[TABLA:vidquoten3]]\n== Composición ==\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten3tmp]]\n\n== Código ==\n<small><pre>\n-- --------------------------------------------------------------------------------\n-- Routine DDL\n-- Note: comments before and after the routine body will not be stored by the server\n-- --------------------------------------------------------------------------------\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM\n        vidquoten3 \n    WHERE\n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\n	-- -------------------------------------------------------------\n	INSERT INTO vidquoten3 (\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        VidQuoteIncluyeDet)\n	SELECT\n        VidQuoteID,\n        VidQuoteItem,\n        VidQuoteProdID,\n        VidQuoteProdCantidad,\n        VidQuoteElementoID,\n        VidQuoteComposicID,\n        VidQuoteElementoPM,\n        VidQuotePrecio,\n        VidQuotePrecioP,\n        IF(VidQuoteProdID=VidQuoteElementoID,\n            0,\n            VidQuoteIncluyeDet)\n            AS VidQuoteIncluyeDet\n    FROM\n        vidquoten3tmp AS T1\n    WHERE\n        T1.VidQuoteID=pVidQuoteID AND \n        T1.VidQuoteItem=pVidQuoteItem AND \n        T1.VidQuoteQuickSelect=1;\n	-- -------------------------------------------------------------\n	DELETE FROM\n        vidquoten3tmp\n    WHERE \n        VidQuoteID=pVidQuoteID AND \n        VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n== Bitácora ==\n*20121002\n**Gestión interna de corrección automático ante los [[CTRL:VidQuoteIncluyeDet]]. Modifica el valor proveniente del formulario para el atributo cuando el código de producto y código de elemento son iguales (porque no corresponde agregarlo ya que ya está incluido el text dentro de la descripción del producto. Anterior:\n<small><pre>\nDELIMITER $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `GrabaItemPresupuestoTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n    DELETE FROM vidquoten3 WHERE VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\n	INSERT INTO vidquoten3 (\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n		VidQuoteElementoID,\n		VidQuotePrecio,\n		VidQuotePrecioP,\n       VidQuoteIncluyeDet)\n	SELECT\n		VidQuoteID,\n		VidQuoteItem,\n		VidQuoteProdID,\n		VidQuoteProdCantidad,\n       VidQuoteElementoID,\n       VidQuotePrecio,\n       VidQuotePrecioP,\n       VidQuoteIncluyeDet\n	FROM\n        vidquoten3tmp\n    WHERE\n        VidQuoteID=pVidQuoteID AND VidQuoteItem=pVidQuoteItem;\nEND\n</pre></small>\n\n== Uso ==\n*[[FORM:Presupuesto]]\n*[[MACRO:BotonEditarComponentes]]','utf-8'),(1020,'[[Category:PROC]]\n== Descripción ==\nElimina las registraciones temporales al tiempo de pulsar el reset de la operación de edición de componentes en presupuesto.\n== Composición ==\n[[TABLA:vidquoten3tmp]]\n== Código ==\n<small><pre>\ndelimiter $$\n\nCREATE DEFINER=`sas_admin`@`%` PROCEDURE `ResetEdicionItemTmp`(IN pVidQuoteID INT(5), IN pVidQuoteItem INT(5))\nBEGIN\n   DECLARE vVarNum INT(5);\n   SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n   CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:ResetEdicionItemTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\n	DELETE\n	FROM vidquoten3tmp\n	WHERE\n		VidQuoteID=pVidQuoteID AND \n		VidQuoteItem=pVidQuoteItem;\n    SET vVarNum = (\n        SELECT COUNT(*) FROM vidquoten3\n        WHERE \n            VidQuoteID=pVidQuoteID AND \n            VidQuoteItem=pVidQuoteItem);\n    CALL DebugCheckPoint(\n        CONCAT(\n        \"PROC:ResetEdicionItemTmp\",\"/\",\n        \"Cantidad Registros DELETE: \",\n        CAST(vVarNum AS CHAR)\n        ));\nEND$$\n</pre></small>\n== Bitácora ==\n*20120908\n**Creación\n== Uso ==\n[[FORM:Presupuesto]]','utf-8'),(1021,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]\n\n=== Bibliotecas ===\n*[[LIBR:FazzGlassMcr]]\n*[[LIBR:SpanexB]]\n*[[LIBR:SpanexC]]','utf-8'),(1022,'===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]','utf-8'),(1023,'[[Category:LIBR]]\n*[[MACRO:AccesaMRIStarDesktop]]\n*[[MACRO:AccesaMRIThisComponent]]\n*[[MACRO:AccesaMRIThisDatabaseDocument]]\n*[[MACRO:ActivaFiltroCheques]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ActivaFiltroPredefinidos]]\n*[[MACRO:ActivaFiltroPresupuesto]]\n*[[MACRO:ActivaFiltroProductosGeneral]]\n*[[MACRO:ActivaNuevaListaPrecio]]\n*[[MACRO:AfterRecordChangeFORMProductos]]\n*[[MACRO:AfterUpdateElementoDProducto]]\n*[[MACRO:AgregaComposicion]]\n*[[MACRO:AplicarCambioMasivoPrecios]]\n*[[MACRO:ApruebaPresupuesto]]\n*[[MACRO:ARAEndosoCheque]]\n*[[MACRO:BotonAbrirPredefinidos]]\n*[[MACRO:BotonEnviarCorreoPresupuesto]]\n*[[MACRO:BotonImprimirPresupuesto]]\n*[[MACRO:BotonSeleccionaPredefinido]]\n*[[MACRO:BRAEndosoCheque]]\n*[[MACRO:CambioMasivoCoeficientesPrecios]]\n*[[MACRO:CentrarMensaje]]\n*[[MACRO:ChangeFieldtxtProductoIDFORMCopiaComp]]\n*[[MACRO:ChangeFieldtxtProductoIDFORMProductos]]\n*[[MACRO:CheckLicenceOK]]\n*[[MACRO:ChequeoProductoRepetido]]\n*[[MACRO:ChequeoValorLicenciaOK]]\n*[[MACRO:ConfirmeEliminarDetalleProducto]]\n*[[MACRO:ConfirmeEliminarLogPrecio]]\n*[[MACRO:ConfirmeEliminarProducto]]\n*[[MACRO:ConfirmeEliminarProductoCore]]\n*[[MACRO:CopiaComposicion]]\n*[[MACRO:DateStampPrecioUpdate]]\n*[[MACRO:DateTodbDate]]\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:EnviaQryPresupuesto]]\n*[[MACRO:EscondeBarras]]\n*[[MACRO:EventoAfterRecordAction]]\n*[[MACRO:EventoARADetallePresupuesto]]\n*[[MACRO:EventoBeforeRecordChange]]\n*[[MACRO:EventoBeforeReloading]]\n*[[MACRO:EventoBRADetallePresupuesto]]\n*[[MACRO:EventoBRADetalleProducto]]\n*[[MACRO:EventoBRAProductosCore]]\n*[[MACRO:EventoBRCDetallePresupuesto]]\n*[[MACRO:EventoBRCDetalleProducto]]\n*[[MACRO:EventoWhenLoading]]\n*[[MACRO:EventoWhenLoadingFormCabecera]]\n*[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[MACRO:EventoWhenReloading]]\n*[[MACRO:FileAttributeString]]\n*[[MACRO:GeneraFechaListaPrecio]]\n*[[MACRO:GeneraNuevoDefaultListaPrecio]]\n*[[MACRO:GeneraResguardo]]\n*[[MACRO:GrabaScriptBkp]]\n*[[MACRO:Hoy]]\n*[[MACRO:ImprimeQryPresupuesto]]\n*[[MACRO:LayoutIn]]\n*[[MACRO:LayoutOut]]\n*[[MACRO:LimpiarMasivoCoeficientesPrecios]]\n*[[MACRO:LookupData]]\n*[[MACRO:Main]]\n*[[MACRO:NewProductoListbox]]\n*[[MACRO:NewResetListBoxDetalleProducto]]\n*[[MACRO:onClickOpenForm]]\n*[[MACRO:OpenForm]]\n*[[MACRO:OpenMainMenu]]\n*[[MACRO:OptionBtnAR]]\n*[[MACRO:OptionBtnOrdenChq]]\n*[[MACRO:PresupuestoCopia]]\n*[[MACRO:PresupuestoExpirado]]\n*[[MACRO:QuerySimple]]\n*[[MACRO:RecalculaPrecios]]\n*[[MACRO:ReemplazaStr]]\n*[[MACRO:ReporteClientesCRM]]\n*[[MACRO:ResguardoEjecutar]]\n*[[MACRO:ResguardoInicializa]]\n*[[MACRO:ResguardoSalir]]\n*[[MACRO:RestituyeFiltroOriginal]]\n*[[MACRO:SugerenciaImporteCheque]]\n*[[MACRO:Sugerencio]]\n*[[MACRO:SwitchBarras]]\n*[[MACRO:SwitchCheckboxParam]]\n*[[MACRO:Test]]\n*[[MACRO:TestMRI]]\n*[[MACRO:TestThisComponent]]\n*[[MACRO:TestThisControl]]\n*[[MACRO:TextoStatusBar]]\n*[[MACRO:VisibleDetalleElementoGrid]]\n*[[MACRO:VisibleFiltroPresupuesto]]','utf-8'),(1024,'[[Category:LIBR]]\n*[[MACRO:ActivaFiltroValoresGeneral]]\n*[[MACRO:ActivaRelacionForm]]\n*[[MACRO:ActualizaDB]]\n*[[MACRO:ActualizaRegistroCheckBox]]\n*[[MACRO:AltaProductoPresupuesto]]\n*[[MACRO:AprobacionPresupuesto]]\n*[[MACRO:BotonActualizarPresupuesto]]\n*[[MACRO:BotonContactosExpress]]\n*[[MACRO:BotonEditarComponentes]]\n*[[MACRO:CheckValidMeasure]]\n*[[MACRO:ConfirmaDeletePresupuesto]]\n*[[MACRO:ControlFormPresupuesto]]\n*[[MACRO:ControlLista]]\n*[[MACRO:CopiaComponenteSimple]]\n*[[MACRO:DefineAccionForm]]\n*[[MACRO:DespliegaGrid]]\n*[[MACRO:DespliegaListBox]]\n*[[MACRO:EndosarTercerosEnGrilla]]\n*[[MACRO:EnviaClienteIDCobranza]]\n*[[MACRO:EventoWhenReceivingFocus]]\n*[[MACRO:FiltroPlusText]]\n*[[MACRO:iiif]]\n*[[MACRO:MenuArbol]]\n*[[MACRO:MuestraSubForm]]\n*[[MACRO:OptionBtnAP]]\n*[[MACRO:RecalculaSubTotalProductoTmp]]\n*[[MACRO:ResetFiltroProductoFORMPresupuesto]]\n*[[MACRO:RoundN]]\n*[[MACRO:SelectC_selectionChanged]]\n*[[MACRO:SelectS_getSelection]]\n*[[MACRO:SelectS_select]]\n*[[MACRO:SplitMsg]]\n*[[MACRO:SugerenciaContactoID]]\n*[[MACRO:Tree_disposing]]\n*[[MACRO:Tree_requestChildNodes]]\n*[[MACRO:Tree_treeCollapsed]]\n*[[MACRO:Tree_treeCollapsing]]\n*[[MACRO:Tree_treeExpanded]]\n*[[MACRO:Tree_treeExpanding]]\n*[[MACRO:VisibleIngresoCheque]]','utf-8'),(1025,'[[Category:LIBR]]\n*[[MACRO:CuadroPrueba]]\n*[[MACRO:CuadroPrueba1]]\n*[[MACRO:CuadroPrueba2]]\n*[[MACRO:EventoAfterUpdatingProductoID]]\n*[[MACRO:EventoBeforeUpdating]]\n*[[MACRO:EventoChanged]]\n*[[MACRO:EventoExecAction]]\n*[[MACRO:EventoItemStatusChanged]]\n*[[MACRO:PruebaDraw]]\n*[[MACRO:ShowToolbars]]\n*[[MACRO:StartDocument]]\n*[[MACRO:XGridSelection_disposing]]\n*[[MACRO:XGridSelection_selectionChanged]]','utf-8'),(1026,'Lista de Bibliotecas asociadas','utf-8'),(1027,'=== Estructuras de Datos ===\n==== Estructuras Tipo ====\n[[Estructuras SQL]]\n\n===== Template Layout General =====\n* [[TEMP:LayoutGeneral]]\n\n==== Vistas ====\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]','utf-8'),(1028,'[[Category:RPRT]]\n== Descripción ==\nA partir de la ejecución, se indica en [[TABLA:reppresqry]] el presupuesto fetcheado en ese momento. Se hace una combinación a partir de la [[TABLA:vidquoten2]] combinada con [[TABLA:vidquoten3]] tomando en 2 partes (por la diferencia entre el [[CTRL:VidQuoteIncluyeDet]]) seleccionando todos los registro en la 1º parte y en la segunda todos aquellos que que no tengan el valor del [[CTRL:VidQuoteIncluyeDet]] = 0 y que no se encuentren dentro de la primera parte. Se agregan para completar el cuadro los datos complementarios de [[TABLA:vidquoten1]], [[TABLA:productos]], [[VISTA:clientes]] y un totalizador por presupuesto que no es posible de generar dentro de la 4º forma normal con las tablas al tiempo de ejecuación del reporte propiamente dicho.\n\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:productos]]\n*[[VISTA:clientes]]\n*[[TABLA:reppresqry]]\n== SQL ==\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\'x\',\n                CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\'x\',\n                CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n== Bitácora ==\n*20121122\n**Cambio de formato visualización de Dimension a solicitud de FZG. Anterior:\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n*20121101\n**CheckStatus\n<small><pre>\nSELECT \n    U2.VidQuoteID,\n    U2.VidQuoteItem,\n    U2.VidQuoteProdCantidad,\n    U2.VidQuoteProdID,\n    U2.Dimension,\n    U2.Precio,\n    U2.VidQuoteFecha,\n    U2.VidQuoteCliente,\n    U2.VidQuoteObra,\n    U2.RazonSocial,\n    U2.Direccion,\n    U2.Localidad,\n    U2.Provincia,\n    U2.VidQuoteElementoID,\n    U2.VidQuoteComposicID,\n    U2.VidQuoteIncluyeDet,\n    U2.DescripcionGral,\n    U2.DescripcionElemento,\n    U1.PrecioPresup\nFROM\n-- -----------------------------------\n    (\n    SELECT\n        VidQuoteID,\n        SUM(VidQuotePrecio) AS PrecioPresup\n    FROM\n        vidquoten2\n    WHERE\n        VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)) AS U1,\n-- -----------------------------------\n    (\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten3.VidQuoteIncluyeDet = 1 AND \n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND\n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND \n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n    UNION\n    SELECT \n        vidquoten2.VidQuoteID AS VidQuoteID,\n        vidquoten2.VidQuoteItem AS VidQuoteItem,\n        vidquoten2.VidQuoteProdCantidad AS VidQuoteProdCantidad,\n        vidquoten2.VidQuoteProdID AS VidQuoteProdID,\n        CASE\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Dimension(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\'x\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAlto` AS CHAR),4,\'0000\'),\']\')\n            WHEN `vidquoten2`.`VidQuoteAlto` > 0 THEN\n                CONCAT(\'Largo(mm): [\',\n                LPAD(CAST(`vidquoten2`.`VidQuoteAncho` AS CHAR),4,\'0000\'),\']\')\n            ELSE\n                \'\'\n        END AS Dimension,\n        vidquoten2.VidQuotePrecio AS Precio,\n        vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n        vidquoten1.VidQuoteObra AS VidQuoteObra,\n        clientes.RazonSocial AS RazonSocial,\n        clientes.Direccion AS Direccion,\n        clientes.Localidad AS Localidad,\n        clientes.Provincia AS Provincia,\n        vidquoten3.VidQuoteElementoID AS VidQuoteElementoID,\n        vidquoten3.VidQuoteComposicID AS VidQuoteComposicID,\n        vidquoten3.VidQuoteIncluyeDet AS VidQuoteIncluyeDet,\n        productos.Descripcion AS DescripcionGral,\n        IF(vidquoten3.VidQuoteIncluyeDet = 1,\n            productos_1.Descripcion,\n            \'\') AS DescripcionElemento\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten2 AS vidquoten2,\n        vidquoten3 AS vidquoten3,\n        productos AS productos,\n        productos AS productos_1,\n        clientes AS clientes\n    WHERE\n        vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry) AND\n        vidquoten3.VidQuoteIncluyeDet = 0 AND\n        vidquoten1.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n        vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n        vidquoten1.VidQuoteCliente = clientes.ClienteID AND\n        productos.ProductoID = vidquoten3.VidQuoteProdID AND \n        productos_1.ProductoID = vidquoten3.VidQuoteElementoID AND\n        vidquoten2.VidQuoteItem NOT IN (\n            SELECT \n                vidquoten2.VidQuoteItem AS VidQuoteItem\n            FROM\n                vidquoten2 AS vidquoten2,\n                vidquoten3 AS vidquoten3\n            WHERE\n                vidquoten3.VidQuoteIncluyeDet = 1 AND\n                vidquoten3.VidQuoteID = vidquoten2.VidQuoteID AND \n                vidquoten3.VidQuoteItem = vidquoten2.VidQuoteItem AND \n                vidquoten2.VidQuoteID IN (SELECT VidQuoteID FROM reppresqry)\n            GROUP BY\n                vidquoten2.VidQuoteItem)\n    ) AS U2 \n-- -----------------------------------\nWHERE\n    U1.VidQuoteID=U2.VidQuoteID\n</pre></small>\n*20121002\n**Cambio de Estructura por Requerimiento. Query anterior:\n<small><pre>\nSELECT \n    `visreppres`.`VidQuoteID`,\n    `visreppres`.`VidQuoteObra`,\n    `visreppres`.`VidQuoteCliente`,\n    `visreppres`.`VidQuoteFecha`,\n    `visreppres`.`VidQuoteItem`,\n    `visreppres`.`VidQuoteProdCantidad`,\n    `visreppres`.`VidQuoteProdID`,\n    `visreppres`.`VidQuoteDetalle`,\n    `visreppres`.`VidQuotePrecioS`,\n    `clientes`.`RazonSocial`,\n    `clientes`.`Direccion`,\n    `clientes`.`Localidad`,\n    `clientes`.`Provincia`\nFROM\n    `fzggestion`.`clientes` AS `clientes`,\n    `fzggestion`.`visreppres` AS `visreppres`\nWHERE\n    `clientes`.`ClienteID` = `visreppres`.`VidQuoteCliente`\nORDER BY \n    `visreppres`.`VidQuoteID` ASC,\n    `visreppres`.`VidQuoteObra` ASC,\n    `visreppres`.`VidQuoteCliente` ASC,\n    `visreppres`.`VidQuoteItem` ASC\n</pre></small>\n== URL ==','utf-8'),(1029,'[[Category:RPRT]]\n== Descripción ==\n== Composición ==\n*[[VISTA:visrprescmp]]\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== URL ==','utf-8'),(1030,'[[Category:RPRT]]\n== Descripción ==\nImprime el informe individual por cliente seleccionado de los antecedentes de transacciones. La ejecución proviene del [[FORM:ConsultaCRM]] y [[FORM:PosicionCRM]]\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:clientes]]\n*[[TABLA:clientescrmqry]]\n\n== Estructura ==\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    T2.RazonSocial,\n    T1.TTransaccion,\n    T1.NTransaccion,\n    T1.VidQuoteFecha,\n    T1.VidQuoteObra,\n    T1.VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1,\n\n    clientes as T2\nWHERE\n    T1.VidQuoteCliente = T2.ClienteID\n    AND\n    T1.VidQuoteCliente IN (\n        SELECT \n            clienteID\n        FROM\n            clientescrmqry)\nORDER BY T1.VidQuoteCliente, T1.VidQuoteFecha\n</pre></small>\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(1031,'[[Category:RPRT]]\n== Descripción ==\nImprime el informe individual por cliente seleccionado de los antecedentes de transacciones. La ejecución proviene del [[FORM:ConsultaCRM]] y [[FORM:PosicionCRM]]\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[VISTA:clientes]]\n*[[TABLA:clientescrmqry]]\n\n== Estructura ==\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    T2.RazonSocial,\n    T1.TTransaccion,\n    T1.NTransaccion,\n    T1.VidQuoteFecha,\n    T1.VidQuoteObra,\n    T1.VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1,\n\n    clientes as T2\nWHERE\n    T1.VidQuoteCliente = T2.ClienteID\n    AND\n    T1.VidQuoteCliente IN (\n        SELECT \n            clienteID\n        FROM\n            clientescrmqry)\nORDER BY T1.VidQuoteCliente, T1.VidQuoteFecha\n</pre></small>\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(1032,'http://ayuda.cloudoffice.com.ar/index.php?title=<pagina>&action=edit\n==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n\n==Formularios==\n<pre>\n[[Category:FORM]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n==Macros, Procedimientos, Funciones==\n<pre>\n[[Category:MACRO]]\n[[Category:PROC]]\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====\n</pre>','utf-8'),(1033,'===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]\n*[[Estructuras SQL|CódigoSQL]]','utf-8'),(1034,'===== Referencias =====\n*[[TEMP:LayoutGeneral|Templates de Layout]]\n[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]','utf-8'),(1035,'===== Referencias =====\n*[[TEMP:LayoutGeneral|Templates de Layout]]\n*[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]\n\n==== Reportes ====\n*[[RPRT:Presupuestos]]\n*[[RPRT:PresupuestosDirecto]]\n*[[RPRT:IndividualCRM]]','utf-8'),(1036,'===== Referencias =====\n*[[TEMP:LayoutGeneral|Templates de Layout]]\n*[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>\n\n=== Objetos ===\n==== Formularios ====\n*[[FORM:Presupuesto]]\n*[[FORM:CopiaComposicion]]\n*[[FORM:Pagos]]\n*[[FORM:Cobranzas]]','utf-8'),(1037,'[[Category:FORM]]\n== Descripción ==\nPermite la copia o agregado de componentes de un producto a otro, sea este último un producto activo o un nuevo producto.\nSe divide en 3 secciones tales como:\n* Filtro\n* Producto Origen\n* Producto Destino\nEn el caso de Producto Destino cuenta con las siguientes características:\nAnaliza la existencia de otro producto con el mismo identificador. Procede previamente a transformar en mayúsculas el código de producto destino.\nEn el caso de existir el producto, solicita la confirmación por parte del usuario y copia la descripción actual del producto destino para facilitar su posible modificación.\nDespliega 2 botones para procesar la información:\nCopia: Si es sobre un producto nuevo, copia toda la estrucutra ([[TABLA:productos]], [[TABLA:composicion]], [[TABLA:precios]]).\nCopia: Si es sobre un producto existente, elimina el anterior y genera una copia de toda la estructura con el código nuevo.\nAgregado: Solo si el producto existe, agrega los componentes del producto original sobre el producto destino, solo de aquellos productos que no se encuentren ya especificados en el producto destino en forma previa.\n== Composición ==\n* TABLA:productos\n* TABLA:composicion\n* TABLA:precios\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1038,'[[Category:FORM]]\n== Descripción ==\nIngresa registraciones que representan pagos de proveedores y gastos \n== Composición ==\n*[[TABLA:accpayab]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormPagos\n**FormChequeTerceros\n**FormChequePropios\n\n== Código Relacionado ==\n*[[OBJETO:FormPago]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:FormPago]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMPagos]]\n*[[OBJETO:txtFormaAP]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:BtnEndosoTerceros]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EndosarTercerosEnGrilla]]\n*[[OBJETO:FormChequePropios]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n== URL ==\n\n[[GRA:_Relaciones#Formularios|Formularios Gestión Retail Aberturas]]','utf-8'),(1039,'[[Category:FORM]]\n== Descripción ==\nGestión de Cotizaciones.\nEl formularios\n[[File:FZG.FORMS.Presupuesto.Relaciones.Macros.jpg]]\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(1040,'[[Category:FORM]]\n== Descripción ==\nGestion de registraciones que representan cobranzas sobre trabajos realizados\n== Composición ==\n*[[TABLA:accreceiv]]\n*[[TABLA:checkbook]]\n== Estructura ==\n*FormCobranzas\n**FormCheque\n**Boxes\n\n== Código Relacionado ==\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:WhenLoading]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EventoWhenLoadingFORMCobranzas]]\n*[[OBJETO:FormCobranzas]]\n**[[EVENTO:AfterRecordChange]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:BotonEliminaContenido_txtFiltro]]\n**[[EVENTO:MouseButtonPressed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:EliminaContenidoCampo]]\n*[[OBJETO:txtFiltro]]\n**[[EVENTO:Changed]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:ActivaFiltroProductosGeneral]]\n*[[OBJETO:OptionBtnAR]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:OpcionCtrlxDoc]]\n**[[EVENTO:ItemStatusChanged]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:OpcionCtrlxCliente]]\n*[[OBJETO:txtFormaAR]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:VisibleIngresoCheque]]\n*[[OBJETO:fmtNDocumentoOrg]]\n**[[EVENTO:Changed]]\n***[[MODULO:SpanexB]]\n****[[MACRO:EnviaClienteIDCobranza]]\n*[[OBJETO:FormCheque]]\n**[[EVENTO:AfterReseting]]\n***[[MODULO:FazzGlassMcr]]\n****[[MACRO:SugerenciaImporteCheque]]\n\n== Bitácora ==\n== Uso ==\n\n[[GRA:_Relaciones#Formularios|Formularios Gestión Retail Aberturas]]','utf-8'),(1041,'===== Referencias =====\n*[[TEMP:LayoutGeneral|Templates de Layout]]\n*[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>','utf-8'),(1042,'===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:FORMS|Formularios]]\n*[[:Category:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]\n*[[Estructuras SQL|CódigoSQL]]','utf-8'),(1043,'Lista de Formularios asociados','utf-8'),(1044,'===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:FORM|Formularios]]\n*[[:Category:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]\n*[[Estructuras SQL|CódigoSQL]]','utf-8'),(1045,'Lista de Formularios Asociados','utf-8'),(1046,'*\'\'\'20120901\'\'\'\n**<del>Controlar Accesos por IP</del>\n**Licensing. Como*s + Precios -> Documentar\n**Transacciones\n**<del>SendTo - PDF</del>\n**Parser\n***[\'\'value;value;...\'\']\n***{\'\'expresion\'\'}\n**Librería de Ventanas\n**Gráficos\n**Rutinas Java\n**Pruebas URL Windows\n**Vista de Agentes Comerciales\n**Resguardo diario\n**Eliminar Frame Access Tables by User\n**Hide Database Objects Tables&Queries - Sarraceno\n*\'\'\'20121002\'\'\'\n**Agregar un \"MAILTO\" sobre un InputBox como Adicional\n**Agregar un PushButton para identificar valores con IVA\n**Agregar una Magnitud tipo RANGO.\n*\'\'\'20121017\'\'\'\n**Modificar [[FORM:Productos]] para incluir vista Grid.\n**Cambiar Control Magnitud en [[FORM:Productos]] para que impacte en la nueva [[TABLA:Magnitudes]]\n**No permitir el cambio de layout del [[FORM:Presupuestos.ProductosGrid]]\n*\'\'\'20101024\'\'\'\n**Veriicar comportamiento aleatorio en la eliminación de registros en [[FORM:Presupuestos.Productos]]\n**Análisis de los precios que se despliegan en los controles de grid en [[FORM:Presupuesto]] con Warning.','utf-8'),(1047,'== Developing ==\n*[[Developing]]\n*[[Pendientes]]\n*[[SpanexDraw]]\n*[[Spanex:Estructuras]]\n\n== Gestión Retail Aberturas (Spanex) ==\n*[[GRA: Relaciones]]\n*[[GRA: Releases]]\n*[[GRA: PreciosABT]]\n\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[TABLA:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1048,'== 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\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[TABLA:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n|-\n| Alta_ListasPrecios\n| INSERT\n| listasprecios\n| <pre>BEGIN\n   DECLARE vListaVieja,vListaNueva INT(5);\n   DECLARE vFechaModificacion DATE;\n   DECLARE vHoraModificacion TIME;\n   SET vListaNueva = (SELECT Lista FROM listavigente);\n   SET vListaVieja = (SELECT MAX(listasprecios.Lista) \n                      FROM listasprecios \n                      WHERE listasprecios.Lista <> NEW.Lista);\n   SET vFechaModificacion = CURDATE();\n   SET vHoraModificacion = CURTIME();\n   INSERT INTO precios (\n      `precios`.`Lista`,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      `precios`.`FechaModificacion`,\n      `precios`.`HoraModificacion`)(\n   SELECT    vListaNueva,\n      `precios`.`ProductoID`,\n      `precios`.`PrecioProd01`,\n      `precios`.`PrecioProd02`,\n      `precios`.`PrecioProd03`,\n      vFechaModificacion,\n      vHoraModificacion\n   FROM precios \n   WHERE `precios`.`Lista` = vListaVieja);\nEND</pre>\n| AFTER\n\n|-\n| Alta_LogPrecios\n| INSERT\n| logprecios\n| <pre>BEGIN\n   DECLARE vCategoriaID,vProveedorID,vPaso VARCHAR(5);\n   SET vCategoriaID = IF(ISNULL(`NEW`.`CategoriaID`),\' \',`NEW`.`CategoriaID`);\n   SET vProveedorID = IF(ISNULL(`NEW`.`ProveedorID`),\' \',`NEW`.`ProveedorID`);\n   SET `NEW`.`FechaModificacion` = CURDATE();\n   SET `NEW`.`HoraModificacion` = CURTIME();\n   SET `NEW`.`Lista` = (SELECT max(`listasprecios`.`Lista`) FROM `listasprecios`);\n   IF ISNULL(NEW.CategoriaID) THEN\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE    `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista`;\n         SET vPaso=\'A\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`ProveedorID` = NEW.ProveedorID;\n         SET vPaso=\'B\';\n      END IF;\n   ELSE\n      IF ISNULL(NEW.ProveedorID) THEN\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   `precios`.`ProductoID` = `productos`.`ProductoID` AND\n               `precios`.`Lista` = `NEW`.`Lista` AND\n               `productos`.`CategoriaID` = NEW.CategoriaID;\n         SET vPaso=\'C\';\n      ELSE\n         UPDATE `precios`,`productos`\n         SET    `precios`.`PrecioProd01` = `precios`.`PrecioProd01` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd02` = `precios`.`PrecioProd02` * `NEW`.`Coeficiente`,\n            `precios`.`PrecioProd03` = `precios`.`PrecioProd03` * `NEW`.`Coeficiente`,\n            `precios`.`FechaModificacion` = CURDATE(),\n            `precios`.`HoraModificacion` = CURTIME()\n         WHERE   \n            `precios`.`ProductoID` = `productos`.`ProductoID` AND\n            `precios`.`Lista` = `NEW`.`Lista` AND\n            `productos`.`CategoriaID` = vCategoriaID AND\n            `productos`.`ProveedorID` = vProveedorID;\n         SET vPaso=\'D\';\n      END IF;\n   END IF;\n   SET `NEW`.`RowsMod` = ROW_COUNT();\nEND</pre>\n| BEFORE\n\n|-\n| Alta_Precio\n| INSERT\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Actualiza_Precio\n| UPDATE\n| precios\n| <pre>\'BEGIN\n   SET    NEW.FechaModificacion = CURDATE(),\n      NEW.HoraModificacion = CURTIME();\n  END\'</pre>\n| BEFORE\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1049,'== 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\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[TABLA:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Triggers ===\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Trigger\'\'\'</center>\n| <center>\'\'\'Event\'\'\'</center>\n| <center>\'\'\'Table\'\'\'</center>\n| <center>\'\'\'Statement\'\'\'</center>\n| <center>\'\'\'Timing\'\'\'</center>\n\n\n|-\n| Alta_Productos\n| INSERT\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n                  `precios`.`ProductoID`, \n                  `precios`.`PrecioProd00`,\n                  `precios`.`PrecioProd01`, \n                  `precios`.`PrecioProd02`, \n                  `precios`.`PrecioProd03`)\n           VALUES(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n                     `composicion`.`ElementoID`,\n                     `composicion`.`ValorElemento`,\n                     `composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1, 1);\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Productos\n| DELETE\n| productos\n| <pre>BEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND</pre>\n| AFTER\n\n|-\n| AltaTransaccion\n| INSERT\n| transacciones\n| <pre>BEGIN\n   SET   NEW.TransaccFecha = CURDATE(),\n      NEW.TransaccHora = CURTIME();\nEND</pre>\n| BEFORE\n\n|-\n| Baja_Presupuesto\n| DELETE\n| vidquoten1\n| <pre>BEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END</pre>\n| AFTER\n\n|-\n| Baja_Item_Presupuesto\n| DELETE\n| vidquoten2\n| <pre>\'BEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n     vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\'</pre>\n| AFTER\n\n|-\n| Baja_Elemento_Presupuesto\n| DELETE\n| vidquoten3\n| <pre>BEGIN\n   DELETE FROM vidquoten4\n    WHERE    vidquoten4.VidQuoteID=OLD.VidQuoteID AND\n         vidquoten4.VidQuoteItem=OLD.VidQuoteItem AND\n         vidquoten4.VidQuoteElementoID=OLD.VidQuoteElementoID;\nEND</pre>\n| AFTER\n|}\n</small>\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1050,'== Lanzador ==\nAlta\n\n== Composición ==\n* [[TABLA:precios]]\n\n== SQL ==\n<pre>\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</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(1051,'[[Category:TRIG]]\n== Lanzador ==\nAlta\n== Composición ==\n* [[TABLA:precios]]\n== SQL ==\n<pre>\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</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(1052,'===Estructuras de Trabajo===\n*[[:Category:TABLAS|Tablas]]\n**[[:Category:TRIG|Triggers]]\n*[[:Category:VISTAS|Vistas]]\n*[[:Category:FORM|Formularios]]\n*[[:Category:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]\n*[[Estructuras SQL|CódigoSQL]]','utf-8'),(1053,'Lista de Triggers Activos','utf-8'),(1054,'[[Category:TRIG]]\n== Lanzador ==\nUpdate\n== Composición ==\n*[[TABLA:precios]]\n== SQL ==\n<pre>\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== Bitácora ==\n== Uso ==','utf-8'),(1055,'http://ayuda.cloudoffice.com.ar/index.php?title=<pagina>&action=edit\n==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Triggers==\n[[Category:TRIG]]\n== Lanzador ==\n== Composición ==\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n\n==Formularios==\n<pre>\n[[Category:FORM]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n==Macros, Procedimientos, Funciones==\n<pre>\n[[Category:MACRO]]\n[[Category:PROC]]\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====\n</pre>','utf-8'),(1056,'http://ayuda.cloudoffice.com.ar/index.php?title=<pagina>&action=edit\n==Tablas, Vistas==\n<pre>\n[[Category:TABLAS]]\n[[Category:VISTAS]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n< pre>\n< /pre>\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n== URL ==\n</pre>\n==Triggers==\n<pre>\n[[Category:TRIG]]\n== Lanzador ==\n== Composición ==\n== SQL ==\n< pre>\n< /pre>\n== Bitácora ==\n== Uso ==\n</pre>\n==Formularios==\n<pre>\n[[Category:FORM]]\n== Descripción ==\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n</pre>\n\n==Macros, Procedimientos, Funciones==\n<pre>\n[[Category:MACRO]]\n[[Category:PROC]]\n== Descripción ==\n== Biblioteca ==\n== Composición ==\n== Código ==\n< small>< pre>\n< /pre>< /small>\n== Bitácora ==\n== Uso ==\n</pre>\n\n==SqlCode==\n<pre>\n< small>< pre>\n< /pre>< /small>\n</pre>\n==Iconos Layout==\n*File:warning-icon-hi.png|20px [[File:warning-icon-hi.png|20px]]\n*File:checked.png|20px [[File:checked.png|20px]]\n==Tickets Soporte==\n<pre>\n[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' \n*\'\'\'Fecha:\'\'\' \n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\n=====Observaciones=====\n</pre>','utf-8'),(1057,'[[Category:TRIG]]\n== Lanzador ==\nAlta\n== Composición ==\n*[[TABLA:precios]]\n== SQL ==\n<pre>\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</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(1058,'== Lanzador ==\nInsert\n\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vProductoID CHAR(8);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios ( \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (\n			`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\nEND$$\n</pre>\n\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Uso ==\n*[[FORM:Productos]]\n*[[FORM:CopiaComposicion]]\n\n== URL ==','utf-8'),(1059,'== Lanzador ==\nDelete\n\n== Composición ==\n*[[TABLA:precios]]\n*[[TABLA:composicion]]\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Baja_Productos`\nAFTER DELETE ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND$$\n</pre>\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios \n<pre>\nCREATE\nTRIGGER `fzggestion`.`Baja_Productos`\nAFTER DELETE ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND$$\'\'Texto en cursiva\'\'\n</pre>\n== Uso ==\n== URL ==','utf-8'),(1060,'[[Category:TRIG]]\n== Lanzador ==\nDelete\n== Composición ==\n*[[TABLA:precios]]\n*[[TABLA:composicion]]\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Baja_Productos`\nAFTER DELETE ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND$$\n</pre>\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios \n<pre>\nCREATE\nTRIGGER `fzggestion`.`Baja_Productos`\nAFTER DELETE ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = OLD.ProductoID;\n    DELETE FROM precios WHERE ProductoID=OLD.ProductoID AND Lista=vLista;\n    DELETE FROM composicion WHERE ProductoID=OLD.ProductoID OR ElementoID=OLD.ProductoID;\nEND$$\'\'Texto en cursiva\'\'\n</pre>\n== Uso ==\n== URL ==','utf-8'),(1061,'[[Category:TRIG]]\n== Lanzador ==\nInsert\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:composicion]]\n\n== Estructura ==\n<pre>\n</pre>\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vProductoID CHAR(8);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios ( \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (\n			`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\nEND$$\n</pre>\n\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n\n== Uso ==\n*[[FORM:Productos]]\n*[[FORM:CopiaComposicion]]\n\n== URL ==','utf-8'),(1062,'#REDIRECCIÓN [[TRIG:productos.Baja Producto]]','utf-8'),(1063,'[[Category:TABLAS]]\n== Descripción ==\nProductos Activos\n== Estructura ==\n<pre>\nProductoID	char(8) PK \nCategoriaID	char(4) \nDescripcion	char(80) \nProveedorID	char(4) \nReposicion	int(3) \nMagnitud	char(4) \nCoefP00P01	decimal(6,4) \nCoefP00P02	decimal(6,4) \nCoefP00P03	decimal(6,4) \nProductoPID	varchar(15) \nInsumoIMG	mediumblob \n</pre>\n== Triggers ==\n* Alta: [[TRIG:productos.Alta_Producto]]\n* Baja: [[TRIG:productos.Baja_Producto]]\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1064,'[[Category:TABLAS]]\n== Descripción ==\nTabla de Precios\n== SQL ==\n<pre>\nCREATE TABLE `precios` (\n  `Lista` int(11) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `PrecioProd00` decimal(12,2) DEFAULT NULL,\n  `PrecioProd01` decimal(12,2) DEFAULT NULL,\n  `PrecioProd02` decimal(12,2) DEFAULT NULL,\n  `PrecioProd03` decimal(12,2) DEFAULT NULL,\n  `FechaEvento` date DEFAULT NULL,\n  `HoraEvento` time DEFAULT NULL,\n  `UserEvento` varchar(20) DEFAULT NULL,\n  PRIMARY KEY (`Lista`,`ProductoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\n== Triggers ==\n*Insert:[[TRIG:precios.AltaPrecio]]\n*Update:[[TRIG:precios.ActualizaPrecio]]','utf-8'),(1065,'[[Category:TRIG]]\n== Lanzador ==\nInsert\n== Composición ==\n* [[TABLA:productos]]\n* [[TABLA:precios]]\n* [[TABLA:composicion]]\n== SQL ==\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vProductoID CHAR(8);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios ( \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (\n			`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\nEND$$\n</pre>\n== Bitácora ==\n*20120608\n**Limpieza de esquema anterior de gestión de precios\n<pre>\nCREATE TRIGGER `fzggestion`.`Alta_Productos`\nBEFORE INSERT ON `fzggestion`.`productos`\nFOR EACH ROW\nBEGIN\n    DECLARE vLista INT(5);\n    DECLARE vProductoID CHAR(8);\n    SET vLista = (SELECT Lista FROM listavigente);\n    SET vProductoID = NEW.ProductoID;\n    INSERT INTO precios (`precios`.`Lista`, \n			`precios`.`ProductoID`, \n			`precios`.`PrecioProd00`,\n			`precios`.`PrecioProd01`, \n			`precios`.`PrecioProd02`, \n			`precios`.`PrecioProd03`)\n			VALUES\n			(vLista, vProductoID, 0, 0, 0, 0);\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n			`composicion`.`ElementoID`,\n			`composicion`.`ValorElemento`,\n			`composicion`.`ElementoPM`)\n			VALUES\n			(vProductoID,vProductoID,1, 1);\n</pre>\n== Uso ==\n*[[FORM:Productos]]\n*[[FORM:CopiaComposicion]]\n== URL ==','utf-8'),(1066,'#REDIRECCIÓN [[TRIG:productos.Alta Producto]]','utf-8'),(1067,'[[Category:TABLAS]]\n== Descripción ==\nProductos Activos\n== Estructura ==\n<pre>\nProductoID	char(8) PK \nCategoriaID	char(4) \nDescripcion	char(80) \nProveedorID	char(4) \nReposicion	int(3) \nMagnitud	char(4) \nCoefP00P01	decimal(6,4) \nCoefP00P02	decimal(6,4) \nCoefP00P03	decimal(6,4) \nProductoPID	varchar(15) \nInsumoIMG	mediumblob \n</pre>\n== Triggers ==\n*Insert:[[TRIG:productos.Alta_Producto]]\n*Delete:[[TRIG:productos.Baja_Producto]]\n\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1068,'[[Category:TABLAS]]\n== Descripción ==\nProductos Activos\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== Uso ==\n== URL ==','utf-8'),(1069,'[[Category:TABLAS]]\n== Descripción ==\nEsquema de Cabecera de Registración de Presupuesto\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten1` (\n  `VidQuoteID` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuoteObra` char(20) DEFAULT NULL,\n  `VidQuoteCliente` char(8) DEFAULT NULL,\n  `VidQuoteFecha` date DEFAULT NULL,\n  `VidQuoteFechaEst` date DEFAULT NULL,\n  `VidQuoteEstado` char(1) DEFAULT \'0\',\n  `VidQuoteACom` char(4) DEFAULT NULL,\n  `VidQuoteMedCheck` char(1) DEFAULT \'0\',\n  PRIMARY KEY (`VidQuoteID`)\n) ENGINE=MyISAM AUTO_INCREMENT=191 DEFAULT CHARSET=latin1$$\n</pre>\n== Triggers ==\n*Delete:[[TRIG:vidquoten1.Baja_Presupuesto]]\n== Bitácora ==\n*20121026\n**Alta de esta documentación\n**Modificación de la estructura. Agregado de control de NOTNULL para los atributos de Cliente y Agente Comercial\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== Uso ==\n*[[FORM:Presupuesto]]\n*[[RPRT:Presupuesto]]\n== URL ==','utf-8'),(1070,'[[Category:TRIG]]\n== Lanzador ==\nDelete\n== Composición ==\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n== SQL ==\n<pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten1`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten2\n    WHERE vidquoten2.VidQuoteID=OLD.VidQuoteID;\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(1071,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\n\nsiendo los atributos de relación con el nivel superior con VidQuoteID, mientras que hacia el nivel inferior con VidQuoteID+VidQuoteItem+VidQuoteProdID\n\n== Composición ==\n[[#Triggers]]\n\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n</pre>\n== Triggers ==\n*Delete:[[TRIG:vidquoten2.]]\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(1072,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\n\nsiendo los atributos de relación con el nivel superior con VidQuoteID, mientras que hacia el nivel inferior con VidQuoteID+VidQuoteItem+VidQuoteProdID\n\n== Composición ==\n[[#Triggers]]\n\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n</pre>\n== Triggers ==\n*Delete:[[TRIG:vidquoten2.Baja_Item_Presupuesto]]\n</pre>\n\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(1073,'[[Category:TRIG]]\n== Lanzador ==\nDelete\n== Composición ==\n[[TABLA:vidquoten2]]\n[[TABLA:vidquoten3]]\n== SQL ==\n<pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(1074,'[[Category:TRIG]]\n== Lanzador ==\nDelete\n== Composición ==\n*[[TABLA:vidquoten2]]\n*[[TABLA:vidquoten3]]\n\n== SQL ==\n<pre>\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Item_Presupuesto`\nAFTER DELETE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    DELETE FROM vidquoten3\n    WHERE vidquoten3.VidQuoteID=OLD.VidQuoteID AND\n	  vidquoten3.VidQuoteItem=OLD.VidQuoteItem;\n  END\n$$\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(1075,'[[Category:TABLAS]]\n== Descripción ==\nContainer del Detalle de Productos de Presupuestos. Se relaciona al resto de las tablas de registraciones de Presupuestos de la siguiente manera:\n[[File:Esquema.Tablas.Presupuesto.jpg|200px]]\n\nsiendo los atributos de relación con el nivel superior con VidQuoteID, mientras que hacia el nivel inferior con VidQuoteID+VidQuoteItem+VidQuoteProdID\n\n== Composición ==\n[[#Triggers]]\n\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `vidquoten2` (\n  `VidQuoteID` int(11) NOT NULL,\n  `VidQuoteLPre` int(1) DEFAULT NULL,\n  `VidQuoteItem` int(11) NOT NULL AUTO_INCREMENT,\n  `VidQuotePredID` char(8) DEFAULT NULL,\n  `VidQuoteProdID` char(8) DEFAULT NULL,\n  `VidQuoteProdCantidad` int(5) DEFAULT NULL,\n  `VidQuoteAncho` int(5) DEFAULT NULL,\n  `VidQuoteAlto` int(5) DEFAULT NULL,\n  `VidQuotePrecio` decimal(10,2) DEFAULT NULL,\n  `VidQuoteDetalle` varchar(100) DEFAULT NULL,\n  PRIMARY KEY (`VidQuoteID`,`VidQuoteItem`)\n) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Actualiza_Item_Presupuesto`\nBEFORE UPDATE ON `fzggestion`.`vidquoten2`\nFOR EACH ROW\nBEGIN\n    -- --------------------------------------------------------\n    -- Changes on Price, change previous other attributes\n    -- --------------------------------------------------------\n    IF OLD.VidQuotePrecio = NEW.VidQuotePrecio THEN\n        SELECT VidQuoteCliente,VidQuoteACom INTO @Cliente,@AComercial FROM vidquoten1 WHERE vidquoten1.VidQuoteID = OLD.VidQuoteID;\n        SELECT CoeficienteAC INTO @CoeficienteAC from acomerciales WHERE acomerciales.Abreviatura = @AComercial;\n        SELECT CoeficienteAC,ListaPrecio INTO @CoeficienteCL,@Lista from clientes WHERE clientes.ClienteID = @Cliente;\n        CASE\n        WHEN NEW.VidQuoteProdID <> OLD.VidQuoteProdID THEN\n            -- --------------------------------------------------------\n            -- Changes on ProdID, change previous other attributes\n            -- --------------------------------------------------------\n            DELETE\n                FROM vidquoten3\n                WHERE\n                    vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                    vidquoten3.VidQuoteItem = OLD.VidQuoteItem;\n            CALL AltaItemPresupuesto(\n                OLD.VidQuoteID,\n                @Lista,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdID,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @CoeficienteCL*@CoeficienteAC);\n        WHEN NEW.VidQuoteProdCantidad <> OLD.VidQuoteProdCantidad OR\n             NEW.VidQuoteAncho <> OLD.VidQuoteAncho OR\n             NEW.VidQuoteAlto <> OLD.VidQuoteAlto THEN\n            -- --------------------------------------------------------\n            -- Suppose Changes other attributes\n            -- --------------------------------------------------------\n            CALL ActualizaItemPresupuesto(\n                OLD.VidQuoteID,\n                OLD.VidQuoteItem,\n                NEW.VidQuoteProdCantidad,\n                NEW.VidQuoteAncho,\n                NEW.VidQuoteAlto,\n                @Lista,\n                @CoeficienteCL*@CoeficienteAC);\n        ELSE\n                SET @fly = NULL;\n        END CASE;\n        SET NEW.VidQuotePrecio = \n            (SELECT SUM(VidQuotePrecioP) AS VidQuotePrecioP\n            FROM\n                vidquoten3\n            WHERE\n                vidquoten3.VidQuoteID = OLD.VidQuoteID AND\n                vidquoten3.VidQuoteItem = OLD.VidQuoteItem\n            GROUP BY\n                VidQuoteID,VidQuoteItem);\n    END IF;\nEND\n$$\n</pre>\n== Triggers ==\n*Delete:[[TRIG:vidquoten2.Baja_Item_Presupuesto]]\n\n== Bitácora ==\n== Uso ==\n[[FORM:Presupuesto]]\n== URL ==','utf-8'),(1076,'== 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\n=== Gestión de Magnitudes ===\n\n==== Definiciones ====\n*Coeficiente: Por defecto, el valor es 1. Si necesita sumar al valor original, el coeficiente tiene que tener la parte entera al menos en 1. En el caso de magnitudes no estándar, los valores del precio del producto puede estar incluido en el mismo, por lo que hay que verificar en este caso los valores que se ingresen en la [[TABLA:precios]]\n*Offset: Por defecto, el valor es 0\n\n==== Atributos de Productos/Elementos ====\n* M2 = Metro Cuadrado\nPrecio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho)*Coeficiente Ancho) * ((Alto + OffsetAlto)*Coeficiente Alto))/100000) * Coeficiente Elemento)\n\n* ML = Metro Lineal\n<Del>Precio Unitario = Precio determinado por tipo de cliente * (((((Ancho + OffsetAncho) * 2 * Coeficiente Ancho) + ((Alto + OffsetAlto) * 2 * Coeficiente Alto)) / 1000) * Coeficiente Elemento).</Del>\n\n* MG = Magnitud Galarza\nPrecio Unitario = Precio determinado por tipo de cliente * ((((Alto + OffsetAlto) * CoeficienteAlto) + (Ancho + OffsetAncho) * CoeficienteAncho)) / 1000) * Coeficiente Elemento)\n\n* UN = Unidad\nPrecio Unitario = Precio determinado por tipo de cliente * Coeficiente Elemento\n\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1077,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== Productos ====\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 y 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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1078,'El concepto de Magnitud está relacionado con la forma de cálculo de un producto al tiempo de una cotización. Generalmente se encuentra asociado a otros atributos/conceptos en el momento del cálculo:\n*[[ATRIB:productos.OffSetAncho]]: Valor a adicionar a la dimensión dada por el Ancho\n*[[ATRIB:productos.OffSetAlto]]: Valor a adicionar a la dimensión dada por el Alto\n*[[ATRIB:productos.CoefAncho]]: Valor a multiplicar a la dimensión dada por el Ancho\n*[[ATRIB:productos.CoefAlto]]: Valor a multiplicar a la dimensión dada por el Alto\n*[[ATRIB:productos.ValorElemento]]: Valor a multiplicar al resultado de aplicar la magnitud y es diferente de 1 (uno) cuando se pretende duplicar o eliminar o \"atravesar\" el valor de un producto\n\nEste concepto, en resumen, indica cuales van a ser los parámetros a tener en cuenta y como va a ser la forma de calcular el precio del producto.\nLos valores posibles al momento son los siguientes (los elementos del algoritmo llevan el prefijo \'p\' de \"parámetro\"):\n\n\'\'\'M2:Metro Cuadrado\'\'\'\n\"Alto por Ancho\"\n((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) * pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n\'\'\'PR:Perímetro\'\'\'\n\"Suma de los lados\"\n((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * 2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n\'\'\'ML:Metro Lineal\'\'\'\n\"Largo del producto\"\n(((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n\'\'\'AN:Solo el Ancho indicado\'\'\'\n\"Ancho del Producto solo cuando tiene que propagarse en caso de composición\"\n(((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n\'\'\'AL:Solo el Alto indicado\'\'\'\n\"Ancho del Producto solo cuando tiene que propagarse en caso de composición\"\n(((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) / 1000 ) * pValorElemento * pPrecioProd;\n\'\'\'MG:Magnitud Galarza\'\'\'\n\"Valor del algoritmo resultante de aplicar el valor del peso del producto, generalmente aluminio por la medida estándar 1000x1000\"\n((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) * pValorElemento * pPrecioProd;\n\'\'\'UN:Unidades\'\'\'\n\"Precio por cantidad\"\npValorElemento * pPrecioProd;','utf-8'),(1079,'El concepto de Magnitud está relacionado con la forma de cálculo de un producto al tiempo de una cotización. Generalmente se encuentra asociado a otros atributos/conceptos en el momento del cálculo:\n*[[ATRIB:productos.OffSetAncho]]: Valor a adicionar a la dimensión dada por el Ancho\n*[[ATRIB:productos.OffSetAlto]]: Valor a adicionar a la dimensión dada por el Alto\n*[[ATRIB:productos.CoefAncho]]: Valor a multiplicar a la dimensión dada por el Ancho\n*[[ATRIB:productos.CoefAlto]]: Valor a multiplicar a la dimensión dada por el Alto\n*[[ATRIB:productos.ValorElemento]]: Valor a multiplicar al resultado de aplicar la magnitud y es diferente de 1 (uno) cuando se pretende duplicar o eliminar o \"atravesar\" el valor de un producto\n\nEste concepto, en resumen, indica cuales van a ser los parámetros a tener en cuenta y como va a ser la forma de calcular el precio del producto.\nLos valores posibles al momento son los siguientes (los elementos del algoritmo llevan el prefijo \'p\' de \"parámetro\"):\n\n*\'\'\'M2:Metro Cuadrado\'\'\'\n\"Alto por Ancho\"\n((((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) * ((pAncho+pOffsetVanoAncho) * pCoefVanoAncho))/1000000) *	pValorElemento * pPrecioProd;\n*\'\'\'PR:Perímetro\'\'\'\n\"Suma de los lados\"\n((((pAlto+pOffsetVanoAlto) * 2 * pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho) * 2 * pCoefVanoAncho)) / 1000 ) * pValorElemento * pPrecioProd;\n*\'\'\'ML:Metro Lineal\'\'\'\n\"Largo del producto\"\n(((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n*\'\'\'AN:Solo el Ancho indicado\'\'\'\n\"Ancho del Producto solo cuando tiene que propagarse en caso de composición\"\n(((pAncho+pOffsetVanoAncho) * pCoefVanoAncho) / 1000 ) * pValorElemento * pPrecioProd;\n*\'\'\'AL:Solo el Alto indicado\'\'\'\n\"Ancho del Producto solo cuando tiene que propagarse en caso de composición\"\n(((pAlto+pOffsetVanoAlto) * pCoefVanoAlto) / 1000 ) * pValorElemento * pPrecioProd;\n*\'\'\'MG:Magnitud Galarza\'\'\'\n\"Valor del algoritmo resultante de aplicar el valor del peso del producto, generalmente aluminio por la medida estándar 1000x1000\"\n((((pAlto+pOffsetVanoAlto)*pCoefVanoAlto) + ((pAncho+pOffsetVanoAncho)*pCoefVanoAncho))/1000) * pValorElemento * pPrecioProd;\n*\'\'\'UN:Unidades\'\'\'\n\"Precio por cantidad\"\npValorElemento * pPrecioProd;','utf-8'),(1080,'== 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\n=== Reportes ===\n<small>\n</small>\n\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1081,'== 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\n=== Procedimientos ===\n<small>\n</small>\n\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\n=== Documentación de Usuario ===\n[[WikiUserSpanex]]\n=== Soporte-Bitacora ===\n*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1082,'== 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*[[:Category:TKT|SpanexSupport -> Pendientes]]\n*[[:Category:TKTOut|SpanexSupport -> Finalizados]]','utf-8'),(1083,'[[Category:VISTAS]]\n== Descripción ==\n\n<span style=\"background:#EE6622\"> \'\'\'En proceso de evaluación. Queda desafectada temporariamente de la base a efectos del procedimiento de Resguardo.\'\'\' </span>\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:modulosdet]] que tengan valores significativos dentro de los atributos SubSet\'\'xxxxx\'\' y los agrupa sumarizando los valores indicados dentro de \'\'xxxxx\'\'Predef, que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\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== Uso ==\n== URL ==','utf-8'),(1084,'[[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:modulosdet]] que tengan valores significativos dentro de los atributos SubSet\'\'xxxxx\'\' y los agrupa sumarizando los valores indicados dentro de \'\'xxxxx\'\'Predef, que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\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== Uso ==\n== URL ==','utf-8'),(1085,'[[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:modulosdet]] que tengan valores significativos dentro de los atributos SubSet\'\'xxxxx\'\' y los agrupa sumarizando los valores indicados dentro de \'\'xxxxx\'\'Predef, que representan los valores originales de dimensionamiento interno.\n\n== Composición ==\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\n== Uso ==\n== URL ==','utf-8'),(1086,'[[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:modulosdet]] que tengan valores significativos dentro de los atributos SubSet\'\'xxxxx\'\' y los agrupa sumarizando los valores indicados dentro de \'\'xxxxx\'\'Predef, 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\n== Uso ==\n== URL ==','utf-8'),(1087,'[[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\n== Uso ==\n== URL ==','utf-8'),(1088,'[[Category:TABLAS]]\n== Descripción ==\nContainer de cabecera de bocetos. Es parte del conjunto de la estructura \'\'\'Bocetos\'\'\'\n*[[TABLA:bocetoscab]]\n**[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetoscab` (\n  `BocetoID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloID` char(8) NOT NULL,\n  `BocetoDSC` varchar(80) NOT NULL,\n  `BocetoVW` varchar(45) DEFAULT NULL,\n  `BocetoVH` varchar(45) DEFAULT NULL,\n  `BocetoIMG` blob,\n  `BocetoATH` varchar(10) NOT NULL,\n  `BocetoFec` date NOT NULL,\n  `BocetoEstado` int(1) NOT NULL DEFAULT \'0\',\n  PRIMARY KEY (`BocetoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(1089,'[[Category:TABLAS]]\n== Descripción ==\nContainer de cabecera de bocetos. Es parte del conjunto de la estructura \'\'\'Bocetos\'\'\'\n\n*[[TABLA:bocetoscab]]\n**[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetoscab` (\n  `BocetoID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloID` char(8) NOT NULL,\n  `BocetoDSC` varchar(80) NOT NULL,\n  `BocetoVW` varchar(45) DEFAULT NULL,\n  `BocetoVH` varchar(45) DEFAULT NULL,\n  `BocetoIMG` blob,\n  `BocetoATH` varchar(10) NOT NULL,\n  `BocetoFec` date NOT NULL,\n  `BocetoEstado` int(1) NOT NULL DEFAULT \'0\',\n  PRIMARY KEY (`BocetoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(1090,'[[Category:TABLAS]]\n== Descripción ==\nContainer de cabecera de bocetos. Es parte del conjunto de la estructura \'\'\'Bocetos\'\'\'\n\n*[[TABLA:bocetoscab]]\n**[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetoscab` (\n  `BocetoID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloID` char(8) NOT NULL,\n  `BocetoDSC` varchar(80) NOT NULL,\n  `BocetoVW` varchar(45) DEFAULT NULL,\n  `BocetoVH` varchar(45) DEFAULT NULL,\n  `BocetoIMG` blob,\n  `BocetoATH` varchar(10) NOT NULL,\n  `BocetoFec` date NOT NULL,\n  `BocetoEstado` int(1) NOT NULL DEFAULT \'0\',\n  PRIMARY KEY (`BocetoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n== Triggers ==\n*Alta\n**[[TRIG:bocetoscab.Baja_Boceto]]\n<pre>\ndelimiter $$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(1091,'[[Category:TRIG]]\n== Lanzador ==\n*Alta\n== Composición ==\n*[[TABLA:bocetoscab]]\n*[[TABLA:bocetosdet]]\n*[[TABLA:bocetossbs]]\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\n    DELETE\n        FROM bocetossbs\n        WHERE bocetossbs.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n== Bitácora ==\n*20121218\n**Agregado de eliminación de registraciones en [[TABLA:bocetossbs]]\n== Uso ==','utf-8'),(1092,'[[Category:TABLAS]]\n== Descripción ==\nContainer de cabecera de bocetos. Es parte del conjunto de la estructura \'\'\'Bocetos\'\'\'\n\n*[[TABLA:bocetoscab]]\n**[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetoscab` (\n  `BocetoID` char(8) NOT NULL DEFAULT \'\',\n  `ModuloID` char(8) NOT NULL,\n  `BocetoDSC` varchar(80) NOT NULL,\n  `BocetoVW` varchar(45) DEFAULT NULL,\n  `BocetoVH` varchar(45) DEFAULT NULL,\n  `BocetoIMG` blob,\n  `BocetoATH` varchar(10) NOT NULL,\n  `BocetoFec` date NOT NULL,\n  `BocetoEstado` int(1) NOT NULL DEFAULT \'0\',\n  PRIMARY KEY (`BocetoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n== Triggers ==\n*Alta\n**[[TRIG:bocetoscab.Baja_Boceto]]\n\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(1093,'[[Category:TABLAS]]\n== Descripción ==\nContainer de cabecera de bocetos. Es parte del conjunto de la estructura \'\'\'Bocetos\'\'\'\n\n*[[TABLA:bocetoscab]]\n**[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetoscab` (\n  `ModuloID` char(8) NOT NULL DEFAULT \'\',\n  `BocetoID` char(8) NOT NULL DEFAULT \'\',\n  `BocetoDSC` varchar(80) NOT NULL,\n  `BocetoVW` int(5) DEFAULT \'0\',\n  `BocetoVH` int(5) DEFAULT \'0\',\n  `BocetoIMG` blob,\n  `BocetoATH` varchar(10) NOT NULL,\n  `BocetoFec` date NOT NULL,\n  PRIMARY KEY (`BocetoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Triggers ==\n*Alta\n**[[TRIG:bocetoscab.Baja_Boceto]]\n\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(1094,'[[Category:TABLAS]]\n== Descripción ==\nContainer de Detalle de Productos de un Boceto\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetosdet` (\n  `BocetoID` char(8) NOT NULL,\n  `ProductoID` char(8) NOT NULL,\n  `ComposicID` int(5) NOT NULL AUTO_INCREMENT,\n  `CantidadPR` int(5) DEFAULT NULL,\n  `AnchoPredef` int(5) DEFAULT NULL,\n  `AltoPredef` int(5) DEFAULT NULL,\n  `DimensionChg` int(5) DEFAULT \'1\',\n  `CantidadChg` int(5) DEFAULT \'1\',\n  `ProductoChg` int(5) DEFAULT \'1\',\n  `ProductoVsb` int(5) DEFAULT \'1\',\n  `PosX` int(5) DEFAULT \'0\',\n  `PosY` int(5) DEFAULT \'0\',\n  PRIMARY KEY (`BocetoID`,`ProductoID`,`ComposicID`)\n) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1$$\n</pre>\n== Triggers ==\n*Baja\n**[[TRIG:bocetosdet.Baja_BocetosDet]]\n\n== Bitácora ==\n== Uso ==\n*20121201\n**Alta\n== URL ==','utf-8'),(1095,'[[Category:TRIG]]\n== Lanzador ==\n*Alta\n== Composición ==\n*[[TABLA:bocetoscab]]\n*[[TABLA:bocetosdet]]\n*[[TABLA:bocetossbs]]\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_Boceto`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n\n== Bitácora ==\n*20121218\n**Agregado de eliminación de registraciones en [[TABLA:bocetossbs]]\n== Uso ==','utf-8'),(1096,'[[Category:TRIG]]\n== Lanzador ==\n*Alta\n== Composición ==\n*[[TABLA:bocetoscab]]\n*[[TABLA:bocetosdet]]\n*[[TABLA:bocetossbs]]\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_BocetosCab`\nAFTER DELETE ON `fzggestion`.`bocetoscab`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetosdet\n        WHERE bocetosdet.BocetoID=OLD.BocetoID;\nEND\n$$\n</pre>\n\n== Bitácora ==\n*20121218\n**Agregado de eliminación de registraciones en [[TABLA:bocetossbs]]\n== Uso ==','utf-8'),(1097,'#REDIRECCIÓN [[TRIG:bocetoscab.Baja BocetosCab]]','utf-8'),(1098,'[[Category:TABLAS]]\n== Descripción ==\nContainer de cabecera de bocetos. Es parte del conjunto de la estructura \'\'\'Bocetos\'\'\'\n\n*[[TABLA:bocetoscab]]\n**[[TABLA:bocetosdet]]\n***[[TABLA:bocetossbs]]\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `bocetoscab` (\n  `ModuloID` char(8) NOT NULL DEFAULT \'\',\n  `BocetoID` char(8) NOT NULL DEFAULT \'\',\n  `BocetoDSC` varchar(80) NOT NULL,\n  `BocetoVW` int(5) DEFAULT \'0\',\n  `BocetoVH` int(5) DEFAULT \'0\',\n  `BocetoIMG` blob,\n  `BocetoATH` varchar(10) NOT NULL,\n  `BocetoFec` date NOT NULL,\n  PRIMARY KEY (`BocetoID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Triggers ==\n*Alta\n**[[TRIG:bocetoscab.Baja_BocetosCab]]\n\n== Bitácora ==\n*20121201\n**Alta\n== Uso ==\n== URL ==','utf-8'),(1099,'[[Category:TRIG]]\n== Lanzador ==\n== Composición ==\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==','utf-8'),(1100,'[[Category:TRIG]]\n== Lanzador ==\n== Composición ==\n== SQL ==\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_BocetosDet`\nAFTER DELETE ON `fzggestion`.`bocetosdet`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetossbs\n        WHERE bocetossbs.BocetoID=OLD.BocetoID;\nEND$$\n</pre>\n\n== Bitácora ==\n== Uso ==','utf-8'),(1101,'[[Category:TRIG]]\n== Lanzador ==\n*Baja\n\n== Composición ==\n== SQL ==\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_BocetosDet`\nAFTER DELETE ON `fzggestion`.`bocetosdet`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetossbs\n        WHERE bocetossbs.BocetoID=OLD.BocetoID;\nEND$$\n</pre>\n\n== Bitácora ==\n== Uso ==','utf-8'),(1102,'[[Category:TRIG]]\n== Lanzador ==\n*Baja\n\n== Composición ==\n*[[TABLA:bocetosdet]]\n*[[TABLA:bocetossbs]]\n\n== SQL ==\n<pre>\nDELIMITER $$\n\nUSE `fzggestion`$$\n\nCREATE\nDEFINER=`sas_admin`@`%`\nTRIGGER `fzggestion`.`Baja_BocetosDet`\nAFTER DELETE ON `fzggestion`.`bocetosdet`\nFOR EACH ROW\nBEGIN\n    DELETE\n        FROM bocetossbs\n        WHERE bocetossbs.BocetoID=OLD.BocetoID;\nEND$$\n</pre>\n\n== Bitácora ==\n== Uso ==','utf-8'),(1103,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121218.1730\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nCopia de Registraciones de DVH para dividirlas en DVH p/ventanas corredizas y DVH para Paños Fijos\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\nPendiente\n=====Observaciones=====\nPreparar el SQL para subirlo a producción.Reemplazar la \"V\" por \"P\" en el código para los de Paño Fijo','utf-8'),(1104,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== Embed multiple components into a single Window ===\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\n\n\n\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== 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|}','utf-8'),(1105,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\n\n\n\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|}','utf-8'),(1106,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== TopWindow having MenuBar ====\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\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|}','utf-8'),(1107,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== TopWindow having MenuBar ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre>\n===== Corrección del Thread =====\n<pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre>\n\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\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|}','utf-8'),(1108,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== TopWindow having MenuBar ====\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n*\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre>\n===== Corrección del Thread =====\n<pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre>\n\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\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|}','utf-8'),(1109,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== TopWindow having MenuBar ====\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n*\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<small><pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre>\n===== Corrección del Thread =====\n<pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre></small>\n\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\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|}','utf-8'),(1110,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== TopWindow having MenuBar ====\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n*\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<small><pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre>\n===== Corrección del Thread =====\n<pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre></small>\n\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<small><pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre></small>\n\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|}','utf-8'),(1111,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n==== TopWindow having MenuBar ====\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n*\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<small><pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre></small>\n===== Corrección del Thread =====\n<small><pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre></small>\n\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<small><pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre></small>\n\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|}','utf-8'),(1112,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121218.1730\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nCopia de Registraciones de DVH para dividirlas en DVH p/ventanas corredizas y DVH para Paños Fijos\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\nFinalizado\n\n=====Observaciones=====\nPreparar el SQL para subirlo a producción.Reemplazar la \"V\" por \"P\" en el código para los de Paño Fijo','utf-8'),(1113,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121218.1730\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nCopia de Registraciones de DVH para dividirlas en DVH p/ventanas corredizas y DVH para Paños Fijos\n=====WorkAround=====\n=====Resolución=====\n<small><pre>\nDROP TABLE `fzggestion`.`proddvh`;\n\nCREATE TABLE proddvh\nSELECT CONCAT(\'P\', SUBSTR(`productos`.`ProductoID`, 2)) AS ProductoID,\n       `productos`.`CategoriaID`,\n       CONCAT(TRIM(`productos`.`Descripcion`),\" p/Paño Fijo\") AS Descripcion,\n       `productos`.`ProveedorID`,\n       `productos`.`Reposicion`,\n       `productos`.`Magnitud`,\n       `productos`.`MagnitudIN`,\n       `productos`.`CoefP00P01`,\n       `productos`.`CoefP00P02`,\n       `productos`.`CoefP00P03`,\n       `productos`.`ProductoPID`,\n       `productos`.`InsumoIMG`,\n       `productos`.`Presentacion`,\n       `productos`.`ProductoProy`\nFROM productos\nWHERE Descripcion LIKE \'DVH%\';\n\nDROP TABLE `fzggestion`.`compdvh`;\n\nCREATE TABLE compdvh\nSELECT CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)) AS ProductoID,\n       IF(`composicion`.`ProductoID`=`composicion`.`ElementoID`,\n			CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)),\n			`composicion`.`ElementoID`) AS ElementoID,\n       `composicion`.`ComposicID`,\n       `composicion`.`ValorElemento`,\n       `composicion`.`ElementoPM`,\n       `composicion`.`OffsetVanoAncho`,\n       `composicion`.`OffsetVanoAlto`,\n       `composicion`.`CoefVanoAncho`,\n       `composicion`.`CoefVanoAlto`\nFROM `fzggestion`.`productos` AS `productos`,\n     `fzggestion`.`composicion` AS `composicion`\nWHERE `productos`.`ProductoID` = `composicion`.`ProductoID`\n  AND `productos`.`Descripcion` LIKE \'DVH%\';\n\n-- INSERT de registros generados\n\nINSERT INTO `fzggestion`.`productos`\n(`ProductoGen`,\n`ProductoDflt`,\n`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`MagCmpX`,\n`MagCmpY`,\n`MagCmpZ`,\n`MagCmpW`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\n`proddvh`.`ProductoGen`,\n`proddvh`.`ProductoDflt`,\n`proddvh`.`ProductoID`,\n`proddvh`.`CategoriaID`,\n`proddvh`.`Descripcion`,\n`proddvh`.`ProveedorID`,\n`proddvh`.`Reposicion`,\n`proddvh`.`Magnitud`,\n`proddvh`.`MagnitudIN`,\n`proddvh`.`CoefP00P01`,\n`proddvh`.`CoefP00P02`,\n`proddvh`.`CoefP00P03`,\n`proddvh`.`ProductoPID`,\n`proddvh`.`InsumoIMG`,\n`proddvh`.`MagCmpX`,\n`proddvh`.`MagCmpY`,\n`proddvh`.`MagCmpZ`,\n`proddvh`.`MagCmpW`,\n`proddvh`.`Presentacion`,\n`proddvh`.`ProductoProy`\nFROM `fzggestion`.`proddvh`;\n\n-- DELETE de Registros Automáticos de Composicion\n\nDELETE\nFROM composicion\nWHERE ProductoID IN\n    (SELECT ProductoID\n     FROM proddvh);\n\n-- INSERT de Registros Automáticos de Composicion en base a los anteriores.\n\nINSERT INTO `fzggestion`.`composicion`\n(`ProductoID`,\n`ElementoID`,\n`ComposicID`,\n`ValorElemento`,\n`ElementoPM`,\n`OffsetVanoAncho`,\n`OffsetVanoAlto`,\n`CoefVanoAncho`,\n`CoefVanoAlto`)\nSELECT\n`compdvh`.`ProductoID`,\n`compdvh`.`ElementoID`,\n`compdvh`.`ComposicID`,\n`compdvh`.`ValorElemento`,\n`compdvh`.`ElementoPM`,\n`compdvh`.`OffsetVanoAncho`,\n`compdvh`.`OffsetVanoAlto`,\n`compdvh`.`CoefVanoAncho`,\n`compdvh`.`CoefVanoAlto`\nFROM `fzggestion`.`compdvh`;\n</pre></small>\n\n=====Estado=====\nFinalizado\n\n=====Observaciones=====\nPreparar el SQL para subirlo a producción.Reemplazar la \"V\" por \"P\" en el código para los de Paño Fijo','utf-8'),(1114,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121218.1730\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nCopia de Registraciones de DVH para dividirlas en DVH p/ventanas corredizas y DVH para Paños Fijos\n=====WorkAround=====\n=====Resolución=====\n<small><pre>\nDROP TABLE `fzggestion`.`proddvh`;\n\nCREATE TABLE proddvh\nSELECT CONCAT(\'P\', SUBSTR(`productos`.`ProductoID`, 2)) AS ProductoID,\n       `productos`.`CategoriaID`,\n       CONCAT(TRIM(`productos`.`Descripcion`),\" p/Paño Fijo\") AS Descripcion,\n       `productos`.`ProveedorID`,\n       `productos`.`Reposicion`,\n       `productos`.`Magnitud`,\n       `productos`.`MagnitudIN`,\n       `productos`.`CoefP00P01`,\n       `productos`.`CoefP00P02`,\n       `productos`.`CoefP00P03`,\n       `productos`.`ProductoPID`,\n       `productos`.`InsumoIMG`,\n       `productos`.`Presentacion`,\n       `productos`.`ProductoProy`\nFROM productos\nWHERE Descripcion LIKE \'DVH%\';\n\nDROP TABLE `fzggestion`.`compdvh`;\n\nCREATE TABLE compdvh\nSELECT CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)) AS ProductoID,\n       IF(`composicion`.`ProductoID`=`composicion`.`ElementoID`,\n			CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)),\n			`composicion`.`ElementoID`) AS ElementoID,\n       `composicion`.`ComposicID`,\n       `composicion`.`ValorElemento`,\n       `composicion`.`ElementoPM`,\n       `composicion`.`OffsetVanoAncho`,\n       `composicion`.`OffsetVanoAlto`,\n       `composicion`.`CoefVanoAncho`,\n       `composicion`.`CoefVanoAlto`\nFROM `fzggestion`.`productos` AS `productos`,\n     `fzggestion`.`composicion` AS `composicion`\nWHERE `productos`.`ProductoID` = `composicion`.`ProductoID`\n  AND `productos`.`Descripcion` LIKE \'DVH%\';\n\n-- INSERT de registros generados\n\nINSERT INTO `fzggestion`.`productos`\n(`ProductoGen`,\n`ProductoDflt`,\n`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`MagCmpX`,\n`MagCmpY`,\n`MagCmpZ`,\n`MagCmpW`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\n`proddvh`.`ProductoGen`,\n`proddvh`.`ProductoDflt`,\n`proddvh`.`ProductoID`,\n`proddvh`.`CategoriaID`,\n`proddvh`.`Descripcion`,\n`proddvh`.`ProveedorID`,\n`proddvh`.`Reposicion`,\n`proddvh`.`Magnitud`,\n`proddvh`.`MagnitudIN`,\n`proddvh`.`CoefP00P01`,\n`proddvh`.`CoefP00P02`,\n`proddvh`.`CoefP00P03`,\n`proddvh`.`ProductoPID`,\n`proddvh`.`InsumoIMG`,\n`proddvh`.`MagCmpX`,\n`proddvh`.`MagCmpY`,\n`proddvh`.`MagCmpZ`,\n`proddvh`.`MagCmpW`,\n`proddvh`.`Presentacion`,\n`proddvh`.`ProductoProy`\nFROM `fzggestion`.`proddvh`;\n\n-- DELETE de Registros Automáticos de Composicion\n\nDELETE\nFROM composicion\nWHERE ProductoID IN\n    (SELECT ProductoID\n     FROM proddvh);\n\n-- INSERT de Registros Automáticos de Composicion en base a los anteriores.\n\nINSERT INTO `fzggestion`.`composicion`\n(`ProductoID`,\n`ElementoID`,\n`ComposicID`,\n`ValorElemento`,\n`ElementoPM`,\n`OffsetVanoAncho`,\n`OffsetVanoAlto`,\n`CoefVanoAncho`,\n`CoefVanoAlto`)\nSELECT\n`compdvh`.`ProductoID`,\n`compdvh`.`ElementoID`,\n`compdvh`.`ComposicID`,\n`compdvh`.`ValorElemento`,\n`compdvh`.`ElementoPM`,\n`compdvh`.`OffsetVanoAncho`,\n`compdvh`.`OffsetVanoAlto`,\n`compdvh`.`CoefVanoAncho`,\n`compdvh`.`CoefVanoAlto`\nFROM `fzggestion`.`compdvh`;\n</pre></small>\n\n=====Estado=====\nFinalizado\n\n=====Observaciones=====\nPreparar el SQL para subirlo a producción.Reemplazar la \"V\" por \"P\" en el código para los de Paño Fijo','utf-8'),(1115,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121218.1730\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nCopia de Registraciones de DVH para dividirlas en DVH p/ventanas corredizas y DVH para Paños Fijos\n=====WorkAround=====\n=====Resolución=====\n*20130102\n<small><pre>\nDROP TABLE `fzggestion`.`proddvh`;\n\nCREATE TABLE proddvh\nSELECT CONCAT(\'P\', SUBSTR(`productos`.`ProductoID`, 2)) AS ProductoID,\n       `productos`.`CategoriaID`,\n       CONCAT(TRIM(`productos`.`Descripcion`),\" p/Paño Fijo\") AS Descripcion,\n       `productos`.`ProveedorID`,\n       `productos`.`Reposicion`,\n       `productos`.`Magnitud`,\n       `productos`.`MagnitudIN`,\n       `productos`.`CoefP00P01`,\n       `productos`.`CoefP00P02`,\n       `productos`.`CoefP00P03`,\n       `productos`.`ProductoPID`,\n       `productos`.`InsumoIMG`,\n       `productos`.`Presentacion`,\n       `productos`.`ProductoProy`\nFROM productos\nWHERE Descripcion LIKE \'DVH%\';\n\nDROP TABLE `fzggestion`.`compdvh`;\n\nCREATE TABLE compdvh\nSELECT CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)) AS ProductoID,\n       IF(`composicion`.`ProductoID`=`composicion`.`ElementoID`,\n			CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)),\n			`composicion`.`ElementoID`) AS ElementoID,\n       `composicion`.`ComposicID`,\n       `composicion`.`ValorElemento`,\n       `composicion`.`ElementoPM`,\n       `composicion`.`OffsetVanoAncho`,\n       `composicion`.`OffsetVanoAlto`,\n       `composicion`.`CoefVanoAncho`,\n       `composicion`.`CoefVanoAlto`\nFROM `fzggestion`.`productos` AS `productos`,\n     `fzggestion`.`composicion` AS `composicion`\nWHERE `productos`.`ProductoID` = `composicion`.`ProductoID`\n  AND `productos`.`Descripcion` LIKE \'DVH%\';\n\n-- INSERT de registros generados\n\nINSERT INTO `fzggestion`.`productos`\n(`ProductoGen`,\n`ProductoDflt`,\n`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`MagCmpX`,\n`MagCmpY`,\n`MagCmpZ`,\n`MagCmpW`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\n`proddvh`.`ProductoGen`,\n`proddvh`.`ProductoDflt`,\n`proddvh`.`ProductoID`,\n`proddvh`.`CategoriaID`,\n`proddvh`.`Descripcion`,\n`proddvh`.`ProveedorID`,\n`proddvh`.`Reposicion`,\n`proddvh`.`Magnitud`,\n`proddvh`.`MagnitudIN`,\n`proddvh`.`CoefP00P01`,\n`proddvh`.`CoefP00P02`,\n`proddvh`.`CoefP00P03`,\n`proddvh`.`ProductoPID`,\n`proddvh`.`InsumoIMG`,\n`proddvh`.`MagCmpX`,\n`proddvh`.`MagCmpY`,\n`proddvh`.`MagCmpZ`,\n`proddvh`.`MagCmpW`,\n`proddvh`.`Presentacion`,\n`proddvh`.`ProductoProy`\nFROM `fzggestion`.`proddvh`;\n\n-- DELETE de Registros Automáticos de Composicion\n\nDELETE\nFROM composicion\nWHERE ProductoID IN\n    (SELECT ProductoID\n     FROM proddvh);\n\n-- INSERT de Registros Automáticos de Composicion en base a los anteriores.\n\nINSERT INTO `fzggestion`.`composicion`\n(`ProductoID`,\n`ElementoID`,\n`ComposicID`,\n`ValorElemento`,\n`ElementoPM`,\n`OffsetVanoAncho`,\n`OffsetVanoAlto`,\n`CoefVanoAncho`,\n`CoefVanoAlto`)\nSELECT\n`compdvh`.`ProductoID`,\n`compdvh`.`ElementoID`,\n`compdvh`.`ComposicID`,\n`compdvh`.`ValorElemento`,\n`compdvh`.`ElementoPM`,\n`compdvh`.`OffsetVanoAncho`,\n`compdvh`.`OffsetVanoAlto`,\n`compdvh`.`CoefVanoAncho`,\n`compdvh`.`CoefVanoAlto`\nFROM `fzggestion`.`compdvh`;\n</pre></small>\n\n=====Estado=====\nFinalizado\n\n=====Observaciones=====\nPreparar el SQL para subirlo a producción.Reemplazar la \"V\" por \"P\" en el código para los de Paño Fijo','utf-8'),(1116,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n\n==== TopWindow having MenuBar ====\n[[Category:OOBasicCode]]\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n*\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<small><pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre></small>\n===== Corrección del Thread =====\n<small><pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre></small>\n\n==== Embed multiple components into a single Window ====\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<small><pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre></small>\n\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|}','utf-8'),(1117,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n\n==== TopWindow having MenuBar ====\n[[Category:OOBasicCode]]\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n*\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<small><pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre></small>\n===== Corrección del Thread =====\n<small><pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre></small>\n\n==== Embed multiple components into a single Window ====\n[[Category:OOBasicCode]]\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<small><pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre></small>\n\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|}','utf-8'),(1118,'Lista de CodeSnipets en OOBasic','utf-8'),(1119,'===== Referencias =====\n*Crear nueva página\n<pre>\nhttp://ayuda.cloudoffice.com.ar/index.php?title=\n</pre>\n*[[TEMP:LayoutGeneral|Templates de Layout]]\n*[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>','utf-8'),(1120,'===== Referencias =====\n*Crear nueva página\n<pre>\nhttp://ayuda.cloudoffice.com.ar/index.php?title=  &action=edit\n</pre>\n*[[TEMP:LayoutGeneral|Templates de Layout]]\n*[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>','utf-8'),(1121,'[[Category:OOBasicCode]]\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=59986\n*\'\'\'Nota\'\'\': Ver [[#Corrección del Thread|Corrección del Thread]] \n<small><pre>\nSub Main\nOn Error GoTo Handler\nDim oNewFrame As Object, oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\n \n  oNewMenuBar = CreateMenuBar()\n  oNewMenuBar.removeItem(0,oNewMenuBar.getItemCount())\n  oNewMenuBar.insertItem(0,\"~Menu\",0,0)\n  oNewPopMenu = CreatePopMenu()\n  oNewPopMenu.insertItem(1,\"~Pop\", 0,0)\n  oMenuListener = CreateUnoListener(\"MenuListener_\", _\n    \"com.sun.star.awt.XMenuListener\")\n  oNewPopMenu.addMenuListener(oMenuListener)\n  oNewMenuBar.setPopupMenu(0,oNewPopMenu)\n  oNewWindow.setMenuBar(oNewMenuBar)\n \n  oNewEdit = CreateCtrWithProp( _\n    \"Edit\",oNewToolkit,oNewWindow,MakeRect(0,0,150,oNewWindow.OutputSize.Height), _\n    array(\"MultiLine\",\"VScroll\"), array(true,true))\n  oNewEdit.setText(\"string...\")\n  oFrames = StarDesktop.getFrames()\n  oNewFrame = CreateNewFrame( oNewWindow, \"New Frame\" )\n  oNewFrame.setPropertyValue(\"Title\",\"title\")\n  AddTopFrame( oNewFrame )\n  Exit Sub\nHandler:\n  msgBox \"error\"\nEnd Sub\n\n\nSub MenuListener_highlight()\nEnd Sub\n\nSub MenuListener_select( ev )\n  Select Case ev.MenuId\n  Case 1\n    msgBox \"Pop\"\n  End Select\nEnd Sub\n\nSub MenuListener_activate( ev )\nEnd Sub\n\nSub MenuListener_deactivate()\nEnd Sub\n\nSub MenuListener_disposing()\nEnd Sub\n\n\nFunction CreateMenuBar() As Object\n  CreateMenuBar = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXMenuBar\",GetDefaultContext)\nEnd Function\n\n\nFunction CreatePopMenu() As Object\n  CreatePopMenu = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"stardiv.Toolkit.VCLXPopupMenu\",GetDefaultContext)\nEnd Function\n\n\nFunction GetToolkit()\n  GetToolkit = GetProcessServiceManager. _\n    createInstanceWithContext( _\n    \"com.sun.star.awt.Toolkit\",GetDefaultContext)\nEnd Function\n\n\nSub AddTopFrame( oLocFrame As Object )\n  StarDesktop.getFrames().append( oLocFrame )\nEnd Sub\n\n\nFunction CreateNewFrame( oLocWindow As Object, sLocFrameName As String ) As Object\nDim oLocNewFrame As Object\n  oLocNewFrame = GetProcessServiceManager.createInstance(\"com.sun.star.frame.Frame\")\n  With oLocNewFrame\n    .initialize(oLocWindow)\n    .setCreator(StarDesktop)\n    .setName(sLocFrameName)\n  End With\n  CreateNewFrame = oLocNewFrame\nEnd Function\n\n\nFunction CreateWindow( oLocToolkit As Object, _\n  aLocRect As com.sun.star.awt.Rectangle ) As com.sun.star.awt.WindowDescriptor\nDim oLocWinDesc\n  oLocWinDesc = createUnoStruct(\"com.sun.star.awt.WindowDescriptor\")\n  With oLocWinDesc\n    .Type = com.sun.star.awt.WindowClass.TOP\n    \'.WindowServiceName = \"window\"\n    \'.ParentIndex = -1\n    .Bounds = aLocRect\n  End With\n  With com.sun.star.awt.WindowAttribute\n    oLocWinDesc.WindowAttributes = _\n      .MOVEABLE + .CLOSEABLE + .BORDER + .SHOW + .SIZEABLE\n  End With\n  CreateWindow = oLocToolkit.createWindow(oLocWinDesc)\nEnd Function\n\n\nFunction CreateCtrWithProp( CtrType, oToolkit, oWindow, aPosSize, aPropNames, aPropValues )\nDim oCtr As Object, oCtrModel As Object\n  oCtr = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType )\n  oCtrModel = createUnoService(\"com.sun.star.awt.UnoControl\" & CtrType & \"Model\" )\n  oCtrModel.setPropertyValues( aPropNames, aPropValues )\n  With oCtr\n    .setModel(oCtrModel)\n    .createPeer( oToolkit, oWindow )\n    .setPosSize( aPosSize.X, aPosSize.Y, aPosSize.Width, aPosSize.Height, _\n        com.sun.star.awt.PosSize.POSSIZE )\n  End With\n  CreateCtrWithProp() = oCtr \'model can be got from returned value\nEnd Function\n\n\nFunction MakeRect( nX As Long, nY As Long, _\n  nWidth As Long, nHeight As Long ) As com.sun.star.awt.Rectangle\nDim oLocRect\n  oLocRect = createUnoStruct(\"com.sun.star.awt.Rectangle\")\n  With oLocRect\n    .X = nX\n    .Y = nY\n    .Width = nWidth\n    .Height = nHeight\n  End With\n  MakeRect() = oLocRect\nEnd Function\n</pre></small>\n===== Corrección del Thread =====\n<small><pre>\nGlobal oNewFrame\nSub Main\nOn Error GoTo Handler\nDim oNewToolkit\nDim oNewWindow As Object\nDim oNewMenuBar As Object, oNewPopMenu As Object\n  oNewToolkit = GetToolkit\n  oNewWindow = CreateWindow( oNewToolkit, MakeRect(50,50,150,150) )\noTWL = createUnoListener(\"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\")\noNewWindow.addTopWindowListener(oTWL)\n...\nEnd Sub\n\n...\n\nSub TopWindowListener_windowClosing(oEventObject)\n  oNewFrame.close(True)\nEnd Sub\nSub TopWindowListener_windowClosed(oEventObject)\nEnd Sub\nSub TopWindowListener_windowMinimized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowNormalized(oEventObject)\nEnd Sub\nSub TopWindowListener_windowActivated(oEventObject)\nEnd Sub\nSub TopWindowListener_windowDeactivated(oEventObject)\nEnd Sub\nSub TopWindowListener_disposing(oEventObject)\nEnd Sub \n</pre></small>','utf-8'),(1122,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n\n==== Embed multiple components into a single Window ====\n[[Category:OOBasicCode]]\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<small><pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre></small>\n\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|}','utf-8'),(1123,'[[Category:OOBasicCode]]\n\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=9883\n<small><pre>\nREM  *****  BASIC  *****\n\nglobal component1\nglobal component2\n\nSub Main\n   On Error goto Main_error\n   \n   \' Set the globals to Null initially, so that the TopWindowListener can\n   \' recognize whether or not they point to valid items, and only run as\n   \' appropriate.\n   component1 = Null\n   component2 = Null\n   \n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oTopWindow = CreateTopWindow( oAwtToolkit, 100, 200, 800, 700 )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oTopWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Create a TopWindowListener\n   \' This is necessary to close the OOo Component frames when the window closes,\n   \' which is necessary so that OOo doesn\'t crash.  See details in\n   \' TopWindowListener_windowClosing().\n   oTopWindowListener = CreateUnoListener( \"TopWindowListener_\", \"com.sun.star.awt.XTopWindowListener\" )\n   \n   \' Add the TopWindowListener to the top-level window\n   oTopWindow.addTopWindowListener(oTopWindowListener)\n   \n   \' Change the background color of the window to baby blue.\n   oTopWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oTopWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Create a sub-window.\n   oSubWindow1 = CreateSubWindow( oAwtToolkit, oTopWindow, 100, 200, 300, 400 )\n   \n   \' Create a sub-frame.\n\n   oSubFrame1 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame1.initialize( oSubWindow1 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame1.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame1)\n   \n   \n   \n   \' Create another sub-window.\n   oSubWindow2 = CreateSubWindow( oAwtToolkit, oTopWindow, 450, 200, 300, 400 )\n   \n   \' Create another sub-frame.\n   oSubFrame2 = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oSubFrame2.initialize( oSubWindow2 )\n   \' Tell the frame that its parent is the Desktop.\n   oSubFrame2.setCreator( oFrame )\n   \n   \' add subframe to main frame\n   oFrame.getFrames().append(oSubFrame2)\n   \n\n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oTopWindow, \"Meow\", \"file:///c:/tmp/test-small.jpg\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Now all the windows and sub-windows should be added, sizes set, etc.,\n   \' So now, load items into them...\n   \n   \' Load something into the first frame (oSubFrame1, which we put to the left)\n   component1 = oSubFrame1.loadComponentFromURL( \"private:factory/simpress\", \"_self\", 0, Array() )\n\n   \' Load something into the second frame (oSubFrame2, which we put to the right)\n   component2 = oSubFrame2.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   Exit Sub\n   \nMain_error:\n\n    MsgBox (\"Main: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n   \nEnd Sub\n\n\nSub TopWindowListener_windowOpened(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowClosing(oEventObject)\n   \' In here, we need to close the components using the XClosable interface,\n   \' rather than letting the system automatically \'dispose()\' of them.\n   \' The class documentation says that if XCloseable is supported, then it\n   \' should be used in lieu of \'dispose()\'.\n   \'\n   \' Tests of this window handler suggest that XCloseable /must/ be used -- if\n   \' it isn\'t, then OpenOffice crashes.\n   \'\n   \' Also note: these components must be closed /very/ quickly!  Introducing\n   \' any sort of delay before closing them [even \'wait(100)\'] causes OOo to\n   \' crash.\n   \n   \' if the first component exists, close it.\n   if not isNull(component1) then\n      component1.close(false)\n   end if\n   \n   \' if the second component exists, close it.\n   if not isNull(component2) then\n      component2.close(false)\n   end if\nEnd Sub\n\nSub TopWindowListener_windowClosed(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowMinimized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowNormalized(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowActivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_windowDeactivated(oEventObject)\n   \' do nothing\nEnd Sub\n\nSub TopWindowListener_disposing(oEventObject)\n   \' do nothing\nEnd Sub\n\n\n\nFunction CreateTopWindow( oAwtToolkit, x, y, w, h )\n\n   On Error goto CreateTopWindow_Error\n   \n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = null\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n\'      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\n   \n   Exit Function\n\nCreateTopWindow_Error:\n\n    MsgBox (\"CreateTopWindow: There has been an error in \" & sMacroName & \". \" & chr(10) _\n      & \"Error text is: \" & Error(Err) & chr(10) _\n      & \"Line number: \" & Erl, 48, \"Error Message\")\n\nEnd Function\n\n\n\' This method is almost-identical to \"CreateTopWindow\", above, except that the\n\' WindowClass is set to CONTAINER, and the window\'s parent is set to \'parentWindow\'.\n\' For details on what everything is and how it works, see \"CreateTopWindow\".\nFunction CreateSubWindow( oAwtToolkit, parentWindow, x, y, w, h )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' is a container that may contain other components. It is not a top window.\n      .Type = com.sun.star.awt.WindowClass.CONTAINER\n     \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n     \n      \' specifies the parent of the component.\n      .Parent = parentWindow\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n\'      .ParentIndex = -1\n     \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( x, y, w, h )\n     \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n\n   CreateSubWindow = oXWindowPeer\nEnd Function\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional cImageFile, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cLabel ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   \n   If Not IsMissing( cImageFile ) Then\n      oButtonModel.ImageURL = cImageFile\n   EndIf\n   \n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from Danny\'s library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre></small>','utf-8'),(1124,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n\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|}','utf-8'),(1125,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n[http://ayuda.cloudoffice.com.ar/index.php?title=Categor%C3%ADa:OOBasicCode|CodeSnipets]\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|}','utf-8'),(1126,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n[[:Category:OOBasicCode]]\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|}','utf-8'),(1127,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n[[:Category:OOBasicCode|OOBasic CodeSnippets]]\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|}','utf-8'),(1128,'== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\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|}','utf-8'),(1129,'[[Category:OOBasicCode]]\n\'\'\'Site:\'\'\' http://en.wikibooks.org/wiki/OpenOffice.org/Macro\n<pre>\nsub Main\nrem ----------------------------------------------------------------------\nrem define variables\ndim document   as object\ndim dispatcher as object\nrem ----------------------------------------------------------------------\nrem get access to the document\ndocument   = ThisComponent.CurrentController.Frame\ndispatcher = createUnoService(\"com.sun.star.frame.DispatchHelper\")\n \nrem ----------------------------------------------------------------------\ndim args1(2) as new com.sun.star.beans.PropertyValue\nargs1(0).Name = \"Zoom.Value\"\nargs1(0).Value = 75\nargs1(1).Name = \"Zoom.ValueSet\"\nargs1(1).Value = 28703\nargs1(2).Name = \"Zoom.Type\"\nargs1(2).Value = 0\n \ndispatcher.executeDispatch(document, \".uno:Zoom\", \"\", 0, args1())\n\nend sub\n</pre>','utf-8'),(1130,'[[Category:OOBasicCode]]\n<pre>\nSub Doczoom\n   Dim Doc As Object\n   Dim Settings As Object\n   \n   Doc=ThisComponent\n   Settings=Doc.CurrentController.viewSettings\n   \n   With Settings\n      .zoomType=3 \'\n      .ZoomValue=10\n   End With\nEnd Sub\n</pre>','utf-8'),(1131,'[[Category:OOBasicCode]]\n\'\'\'site:\'\'\' http://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=30687\n<pre>\nSub Doczoom\n   Dim Doc As Object\n   Dim Settings As Object\n   \n   Doc=ThisComponent\n   Settings=Doc.CurrentController.viewSettings\n   \n   With Settings\n      .zoomType=3 \'\n      .ZoomValue=10\n   End With\nEnd Sub\n</pre>','utf-8'),(1132,'','utf-8'),(1133,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n[[Image:OOBasicCode.window.png|Ventana]]\n\n    Window\n        ContainerWindow\n        ComponentWindow\n        Show and hide\n        Enabling and disabling\n        Size \nContainerWindow Edit\n\nI want to access from the frame.\n\n  oContainerWindow = oFrame.getContainerWindow () \n\nComponentWindow Edit\n\nI want to access from the frame in the same way.\n\n  oComponentWindow = oFrame.getComponentWindow () \n\nShow and hide Edit\n\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\nEnabling and disabling Edit\n\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled) \n\nSize Edit\n\nGets the location and size of the ContainerWindow, I want to change.\n\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1134,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n[[Image:OOBasicCode.window.png|Ventana]]\n==ContainerWindow==\nI want to access from the frame.\n<pre>\n  oContainerWindow = oFrame.getContainerWindow () \n</pre>\n==ComponentWindow==\nI want to access from the frame in the same way.\n<pre>\n  oComponentWindow = oFrame.getComponentWindow ()\n</pre>\n==Show and hide=\n<pre>\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n</pre>\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\n==Enabling and disabling==\n<pre>\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled)\n</pre>\n==Size==\nGets the location and size of the ContainerWindow, I want to change.\n<pre>\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n</pre>\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1135,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n[[Image:OOBasicCode.window.png|Ventana]]\n==ContainerWindow==\nI want to access from the frame.\n<pre>\n  oContainerWindow = oFrame.getContainerWindow () \n</pre>\n==ComponentWindow==\nI want to access from the frame in the same way.\n<pre>\n  oComponentWindow = oFrame.getComponentWindow ()\n</pre>\n==Show and hide==\n<pre>\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n</pre>\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\n==Enabling and disabling==\n<pre>\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled)\n</pre>\n==Size==\nGets the location and size of the ContainerWindow, I want to change.\n<pre>\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n</pre>\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1136,'','utf-8'),(1137,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n[[Image:OOBasicCode.window.png|Ventana]]\n[[Image:FCMFrame.png|Frame]]\n==ContainerWindow==\nI want to access from the frame.\n<pre>\n  oContainerWindow = oFrame.getContainerWindow () \n</pre>\n==ComponentWindow==\nI want to access from the frame in the same way.\n<pre>\n  oComponentWindow = oFrame.getComponentWindow ()\n</pre>\n==Show and hide==\n<pre>\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n</pre>\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\n==Enabling and disabling==\n<pre>\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled)\n</pre>\n==Size==\nGets the location and size of the ContainerWindow, I want to change.\n<pre>\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n</pre>\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1138,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n[[Image:OOBasicCode.window.png|Ventana]]\n[[Image:FCMFrame.png|Frame|200px]]\n==ContainerWindow==\nI want to access from the frame.\n<pre>\n  oContainerWindow = oFrame.getContainerWindow () \n</pre>\n==ComponentWindow==\nI want to access from the frame in the same way.\n<pre>\n  oComponentWindow = oFrame.getComponentWindow ()\n</pre>\n==Show and hide==\n<pre>\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n</pre>\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\n==Enabling and disabling==\n<pre>\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled)\n</pre>\n==Size==\nGets the location and size of the ContainerWindow, I want to change.\n<pre>\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n</pre>\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1139,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n[[Image:OOBasicCode.window.png|Ventana|600px]]\n[[Image:FCMFrame.png|Frame|600px]]\n==ContainerWindow==\nI want to access from the frame.\n<pre>\n  oContainerWindow = oFrame.getContainerWindow () \n</pre>\n==ComponentWindow==\nI want to access from the frame in the same way.\n<pre>\n  oComponentWindow = oFrame.getComponentWindow ()\n</pre>\n==Show and hide==\n<pre>\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n</pre>\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\n==Enabling and disabling==\n<pre>\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled)\n</pre>\n==Size==\nGets the location and size of the ContainerWindow, I want to change.\n<pre>\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n</pre>\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1140,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n[[Image:OOBasicCode.window.png|Ventana|200px]]\n[[Image:FCMFrame.png|Frame|600px]]\n==ContainerWindow==\nI want to access from the frame.\n<pre>\n  oContainerWindow = oFrame.getContainerWindow () \n</pre>\n==ComponentWindow==\nI want to access from the frame in the same way.\n<pre>\n  oComponentWindow = oFrame.getComponentWindow ()\n</pre>\n==Show and hide==\n<pre>\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n</pre>\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\n==Enabling and disabling==\n<pre>\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled)\n</pre>\n==Size==\nGets the location and size of the ContainerWindow, I want to change.\n<pre>\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n</pre>\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1141,'=Window=\nWhen the document is displayed, the frame, ComponentWindow ContainerWindow and contains therein the border of the window. Part of the green and blue portions of the part ContainerWindow, blue is ComponentWindow. Then, the frame will be in the frame.\n\n[[Image:OOBasicCode.window.png|Ventana|200px]]\n\n[[Image:FCMFrame.png|Frame|600px]]\n==ContainerWindow==\nI want to access from the frame.\n<pre>\n  oContainerWindow = oFrame.getContainerWindow () \n</pre>\n==ComponentWindow==\nI want to access from the frame in the same way.\n<pre>\n  oComponentWindow = oFrame.getComponentWindow ()\n</pre>\n==Show and hide==\n<pre>\n    Returns the display state () boolean isVisible\n    Toggles the visibility ([in] boolean Visible) void setVisible \n</pre>\nAlso be hidden ComponentWindow that are included and to hide the ContainerWindow. Moreover, the entire window will be hidden if you hide ContainerWindow.\n==Enabling and disabling==\n<pre>\n    Returns the state () boolean isEnabled\n    Enable and disable void setEnable ([in] boolean bEnabled)\n</pre>\n==Size==\nGets the location and size of the ContainerWindow, I want to change.\n<pre>\n    com.sun.star.awt.Size getPosSize Returns the size and position ()\n    We set the size of void setPosSize ([in] long X, [in] long Y, [in] long Width, [in] long Height, [in] short Flags) position and \n</pre>\nSpecified from the constant com.sun.star.awt.PosSize the Flags. You can specify the size of the particular coordinates or specify the add X, Y, WIDTH, HEIGHT, POS, SIZE, of POSSIZE.','utf-8'),(1142,'===== Referencias =====\n*Crear nueva página\n<pre>\nhttp://ayuda.cloudoffice.com.ar/index.php?title=  &action=edit\nhttp://webcache.googleusercontent.com/search?q=cache:SMXgJL3UaPAJ:www.oooforum.org/forum/viewtopic.phtml%3Ft%3D\n</pre>\n*[[TEMP:LayoutGeneral|Templates de Layout]]\n*[http://sqlformat.appspot.com/ SQLFormatBeautify]\n\n<small>\n{| class=\"wikitable\"\n| <center>\'\'\'Nombre\'\'\'</center>\n| <center>\'\'\'Comando\'\'\'</center>\n| <center>\'\'\'Uso\'\'\'</center>\n| <center>\'\'\'Cross\'\'\'</center>\n\n|-\n| Viscabdetalla\n| FZG.Vista.viscabdetalla.sql\n| Vista utilizada para agregar la información de cual es la lista de precios a utilizar para el cliente del presupuesto en tiempo real.FORM: Presupuesto\n| Contactos, Vidquoten1\n\n|-\n| Proveedores\n| FZG.Vista.proveedores.sql\n| Visualización de Contactos “Proveedores”\n| Contactos\n\n|-\n| Clientes\n| FZG.Vista.clientes.sql\n| Visualización de Contactos “Clientes”\n| Contactos\n\n|-\n| Visreppres\n| FZG.Vista.visreppres.sql\n| Vista Reporte Presupuesto Individual. Para generar una línea completa con la información de detalle de los presupuestos con las combinaciones de información a incluir en el mismo. No contiene la información estática del cliente.\n| Vislineabs, Visdetaobs\n\n|-\n| Viscompodis\n| FZG.Vista.viscompodis.sql\n| Vista de productos (DISTINCT productos) dentro de la tabla de composición ordenada por alfabéticamente.\n| \n\n|-\n| Viscoposimpl\n| FZG.Vista.viscomposimpl.sql\n| Vista de los elementos de composicion con información para query\n| Productos, Composición\n\n|-\n| Visdetaobs\n| FZG.Vista.visdetaobs.sql\n| Une todas las Observaciones de cada item para los casos que se encuentren señaladas con la Descripción del Producto-Item\n| Productos, Vidquoten3\n\n|-\n| Visintdetpre\n| FZG.Vista.visintdetpre.sql\n| Reducción de vista Visprodadic aplicable al cálculo de presupuesto con los datos en tiempo real del presupuesto activo en formulario y calculando el precio correcto de acuerdo al cliente y el cálculo del valor del elemento de acuerdo al los valores de Alto y Ancho del Vano en tiempo real\n| Visprodadic, Vidquoten2\n\n|-\n| Vislineabs\n| [[FZG.Vista.vislineabs.sql]]\n| Define linea básica para reporte teniendo como base Vidquoten2, agregando la información de la cabecera + datos de descrpción de producto + el subtotal por Producto-Item\n| Vidquoten1, Vidquoten2, Productos, Vissubxitem\n\n|-\n| Visprodadic\n| FZG.Vista.visproadic.sql\n| Vista de tabla de componentes con la información de cada elemento como producto y de los precios vigentes.\n| Productos, Composicion, PreciosVigentes\n\n|-\n| Vissubxitem\n| FZG.Vista.vissubxitem.sql\n| Subtotal por Item de Presupuesto en tiempo real\n| Vidquoten3\n\n|-\n| Listavigente\n| \n| Selecciona solo el primer registro ordenado en forma descendente de la tabla de listasprecios\n| Listasprecios\n\n|-\n| Preciosvigentes\n| FZG.Vista.preciosvigentes.sql\n| Es la selección de la tabla de precios referenciando el mayor valor dentro de la tabla de listasprecios\n| Listasprecios, Precios\n\n|-\n| Preciosvigact\n| FZG.Vista.preciosvigact.sql\n| Vista de lista de precios vigentes con datos de productos para actualización columnar.FORM: Actualización por tipo de lista\n| Preciosvigentes, Productos\n\n|-\n| Precioscmpl\n| [[FZG.Vista.precioscmpl.sql]]\n| Vista de lista de precios completa con datos de productos. [[FORM: Precios Tabular x Proceso]]\n| Precios, Productos\n\n|-\n| Visprestot\n| FZG.Vista.visprestot.sql\n| Vista de Presupuestos Totalizados por Cliente\n| Visreppres\n\n|-\n| Viscompcnt\n| [[FZG.Vista.viscompcnt.sql]]\n| Vista resumen de Componentes completa con indicadores de estado de composición\n| composicion, producto\n|}</small>','utf-8'),(1143,'[[Category:OOBasicCode]]\n\'\'\'Site\'\'\':http://www.oooforum.org/forum/viewtopic.phtml?t=5057&highlight=frame+controller+model\n\'\'\'Autor\'\'\':DannyB\n\nThere are three objects that you typically associate with a document. There is:\n1. the document model\n2. the document controller\n3. the document frame.\n\nWhen you need to do something to a document, you need one of these three objects. Which one of the three you need depends on what you intend to do.\n\nCalling loadComponentFromURL() always gives you the document model object. OOo Basic also has a \"variable\" called ThisComponent which returns the document model of the document that contains the currently running macro code. So using either technique: loadComponentFromURL() or ThisComponent, always results in the document model.\n\nSometimes, for instnace, to use the Dispatcher, you need the document frame. Other times, you need the document controller (for instance, to manipulate which shapes of a drawing are selected).\n\nThe following three functions from my library are how I easily move between the three different objects.\n<pre>\n\'############################################################\n\'   API navigation convenience\n\'############################################################\n\n\n\'----------\n\' This will always return the document\'s controller.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentController( oDoc As Object ) As Object\n   Dim oCtrl As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...then get the controller from that.\n      oCtrl = oDoc.getCurrentController()\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oCtrl = oDoc\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      oFrame = oDoc\n      \' ...then get the controller from the frame.\n      oCtrl = oFrame.getController()\n   \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocController called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentController() = oCtrl\nEnd Function\n\n\n\'----------\n\' This will always return the document\'s frame.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentFrame( oDoc As Object ) As Object\n   Dim oFrame As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...then get the controller from that.\n      oCtrl = oDoc.getCurrentController()\n      \' ...then get the frame from the controller.\n      oFrame = oCtrl.getFrame()\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      oCtrl = oDoc\n      \' ...then get the frame from the controller.\n      oFrame = oCtrl.getFrame()\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oFrame = oDoc\n   \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocumentFrame called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentFrame() = oFrame\nEnd Function\n\n\n\'----------\n\' This will always return the document\'s model.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentModel( oDoc As Object ) As Object\n   Dim oDocModel As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oDocModel = oDoc\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      oCtrl = oDoc\n      \' ...then get the model from the controller.\n      oDocModel = oCtrl.getModel()\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      oFrame = oDoc\n      \' ...then get the controller from the frame.\n      oCtrl = oFrame.getController()\n      \' ...then get the model from the controller.\n      oDocModel = oCtrl.getModel()\n      \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocumentModel called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentModel() = oDocModel\nEnd Function\n</pre>\nNow I can do something like...\n<pre>\noDoc = loadComponentFromURL( ..... )	\n</pre>\nThen later, I need the frame, I can just call...\n<pre>\noDocFrame = GetDocumentFrame( oDoc )	\n</pre>\nThe above code provides three functions...\n<pre>	\nFunction GetDocumentModel     ( oDoc As Object ) As Object\nFunction GetDocumentController( oDoc As Object ) As Object\nFunction GetDocumentFrame     ( oDoc As Object ) As Object	\n</pre>\nAll three functions accept any of the model, frame or controller. Each function will \"convert\" to the desired object. For instance, if I need the model, I\'ll call GetDocumentModel(), but I can pass it the model, the frame or the controller. (Obviously, if I pass the document model to GetDocumentModel(), it doesn\'t have to do anything but just return what I gave it.)\n\nWhere these routines are really useful is in writing more general subroutines. I could write a routine to, say, copy to the clipboard. The routine takes a single parameter oDoc. But you could pass in any of the three objects (model, controller, frame). This makes my clipboardCopy() function easier to call. You just pass it whichever of the three document objects that you conveniently have on hand. If internally, the clipboardCopy() function needs a Frame, then it will use my GetDocumentFrame() function to get the frame from whichever one of the three you passed it.\n\nHope this is helpful to someone.','utf-8'),(1144,'[[Category:OOBasicCode]]\n*\'\'\'Site\'\'\':http://www.oooforum.org/forum/viewtopic.phtml?t=5057&highlight=frame+controller+model\n*\'\'\'Autor\'\'\':DannyB\n\nThere are three objects that you typically associate with a document. There is:\n#the document model\n#the document controller\n#the document frame.\n\nWhen you need to do something to a document, you need one of these three objects. Which one of the three you need depends on what you intend to do.\n\nCalling loadComponentFromURL() always gives you the document model object. OOo Basic also has a \"variable\" called ThisComponent which returns the document model of the document that contains the currently running macro code. So using either technique: loadComponentFromURL() or ThisComponent, always results in the document model.\n\nSometimes, for instnace, to use the Dispatcher, you need the document frame. Other times, you need the document controller (for instance, to manipulate which shapes of a drawing are selected).\n\nThe following three functions from my library are how I easily move between the three different objects.\n<pre>\n\'############################################################\n\'   API navigation convenience\n\'############################################################\n\n\n\'----------\n\' This will always return the document\'s controller.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentController( oDoc As Object ) As Object\n   Dim oCtrl As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...then get the controller from that.\n      oCtrl = oDoc.getCurrentController()\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oCtrl = oDoc\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      oFrame = oDoc\n      \' ...then get the controller from the frame.\n      oCtrl = oFrame.getController()\n   \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocController called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentController() = oCtrl\nEnd Function\n\n\n\'----------\n\' This will always return the document\'s frame.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentFrame( oDoc As Object ) As Object\n   Dim oFrame As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...then get the controller from that.\n      oCtrl = oDoc.getCurrentController()\n      \' ...then get the frame from the controller.\n      oFrame = oCtrl.getFrame()\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      oCtrl = oDoc\n      \' ...then get the frame from the controller.\n      oFrame = oCtrl.getFrame()\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oFrame = oDoc\n   \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocumentFrame called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentFrame() = oFrame\nEnd Function\n\n\n\'----------\n\' This will always return the document\'s model.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentModel( oDoc As Object ) As Object\n   Dim oDocModel As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oDocModel = oDoc\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      oCtrl = oDoc\n      \' ...then get the model from the controller.\n      oDocModel = oCtrl.getModel()\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      oFrame = oDoc\n      \' ...then get the controller from the frame.\n      oCtrl = oFrame.getController()\n      \' ...then get the model from the controller.\n      oDocModel = oCtrl.getModel()\n      \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocumentModel called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentModel() = oDocModel\nEnd Function\n</pre>\nNow I can do something like...\n<pre>\noDoc = loadComponentFromURL( ..... )	\n</pre>\nThen later, I need the frame, I can just call...\n<pre>\noDocFrame = GetDocumentFrame( oDoc )	\n</pre>\nThe above code provides three functions...\n<pre>	\nFunction GetDocumentModel     ( oDoc As Object ) As Object\nFunction GetDocumentController( oDoc As Object ) As Object\nFunction GetDocumentFrame     ( oDoc As Object ) As Object	\n</pre>\nAll three functions accept any of the model, frame or controller. Each function will \"convert\" to the desired object. For instance, if I need the model, I\'ll call GetDocumentModel(), but I can pass it the model, the frame or the controller. (Obviously, if I pass the document model to GetDocumentModel(), it doesn\'t have to do anything but just return what I gave it.)\n\nWhere these routines are really useful is in writing more general subroutines. I could write a routine to, say, copy to the clipboard. The routine takes a single parameter oDoc. But you could pass in any of the three objects (model, controller, frame). This makes my clipboardCopy() function easier to call. You just pass it whichever of the three document objects that you conveniently have on hand. If internally, the clipboardCopy() function needs a Frame, then it will use my GetDocumentFrame() function to get the frame from whichever one of the three you passed it.\n\nHope this is helpful to someone.','utf-8'),(1145,'[[Category:OOBasicCode]]\n*\'\'\'Site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=5057&highlight=frame+controller+model\n*\'\'\'Autor\'\'\': DannyB\n\nThere are three objects that you typically associate with a document. There is:\n#the document model\n#the document controller\n#the document frame.\n\nWhen you need to do something to a document, you need one of these three objects. Which one of the three you need depends on what you intend to do.\n\nCalling loadComponentFromURL() always gives you the document model object. OOo Basic also has a \"variable\" called ThisComponent which returns the document model of the document that contains the currently running macro code. So using either technique: loadComponentFromURL() or ThisComponent, always results in the document model.\n\nSometimes, for instnace, to use the Dispatcher, you need the document frame. Other times, you need the document controller (for instance, to manipulate which shapes of a drawing are selected).\n\nThe following three functions from my library are how I easily move between the three different objects.\n<pre>\n\'############################################################\n\'   API navigation convenience\n\'############################################################\n\n\n\'----------\n\' This will always return the document\'s controller.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentController( oDoc As Object ) As Object\n   Dim oCtrl As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...then get the controller from that.\n      oCtrl = oDoc.getCurrentController()\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oCtrl = oDoc\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      oFrame = oDoc\n      \' ...then get the controller from the frame.\n      oCtrl = oFrame.getController()\n   \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocController called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentController() = oCtrl\nEnd Function\n\n\n\'----------\n\' This will always return the document\'s frame.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentFrame( oDoc As Object ) As Object\n   Dim oFrame As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...then get the controller from that.\n      oCtrl = oDoc.getCurrentController()\n      \' ...then get the frame from the controller.\n      oFrame = oCtrl.getFrame()\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      oCtrl = oDoc\n      \' ...then get the frame from the controller.\n      oFrame = oCtrl.getFrame()\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oFrame = oDoc\n   \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocumentFrame called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentFrame() = oFrame\nEnd Function\n\n\n\'----------\n\' This will always return the document\'s model.\n\' Pass in any one of...\n\'   * the document\'s model (subclass of com.sun.star.document.OfficeDocument)\n\'   * the document\'s controller\n\'   * the document\'s frame\nFunction GetDocumentModel( oDoc As Object ) As Object\n   Dim oDocModel As Object\n   \n   \' If the caller gave us the document model...\n   If oDoc.supportsService( \"com.sun.star.document.OfficeDocument\" ) Then\n      \' ...thanks!  That\'s just what we wanted!\n      oDocModel = oDoc\n\n   \' If the caller gave us a document controller...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XController\" ) Then\n      oCtrl = oDoc\n      \' ...then get the model from the controller.\n      oDocModel = oCtrl.getModel()\n   \n   \' If the caller gave us the document frame...\n   ElseIf HasUnoInterfaces( oDoc, \"com.sun.star.frame.XFrame\" ) Then\n      oFrame = oDoc\n      \' ...then get the controller from the frame.\n      oCtrl = oFrame.getController()\n      \' ...then get the model from the controller.\n      oDocModel = oCtrl.getModel()\n      \n   Else\n      \' The caller did not give us what we expected!\n      MsgBox( \"GetDocumentModel called with incorrect parameter.\" )\n   EndIf\n   \n   GetDocumentModel() = oDocModel\nEnd Function\n</pre>\nNow I can do something like...\n<pre>\noDoc = loadComponentFromURL( ..... )	\n</pre>\nThen later, I need the frame, I can just call...\n<pre>\noDocFrame = GetDocumentFrame( oDoc )	\n</pre>\nThe above code provides three functions...\n<pre>	\nFunction GetDocumentModel     ( oDoc As Object ) As Object\nFunction GetDocumentController( oDoc As Object ) As Object\nFunction GetDocumentFrame     ( oDoc As Object ) As Object	\n</pre>\nAll three functions accept any of the model, frame or controller. Each function will \"convert\" to the desired object. For instance, if I need the model, I\'ll call GetDocumentModel(), but I can pass it the model, the frame or the controller. (Obviously, if I pass the document model to GetDocumentModel(), it doesn\'t have to do anything but just return what I gave it.)\n\nWhere these routines are really useful is in writing more general subroutines. I could write a routine to, say, copy to the clipboard. The routine takes a single parameter oDoc. But you could pass in any of the three objects (model, controller, frame). This makes my clipboardCopy() function easier to call. You just pass it whichever of the three document objects that you conveniently have on hand. If internally, the clipboardCopy() function needs a Frame, then it will use my GetDocumentFrame() function to get the frame from whichever one of the three you passed it.\n\nHope this is helpful to someone.','utf-8'),(1146,'[[Category:OOBasicCode]]\nsite: \nautor: DannyB\n	\nIt is interesting to look at all the stuff in the API under....\n\ncom.sun.star.awt.*\n\n\nIt is possible to create new windows, add menu bars to them, and draw any kind of graphics within your window. You can put new controls in your window.\n\nIn fact, a window created by a component using the AWT toolkit would look and feel just like the native windows of Calc, Writer, Impress, Draw.\n\nHere is a fun test program to exercise what I have learned there. Just copy, paste and run. I apologize that this is way more comments than actual lines of code. The code would be quite short if you removed the comments.\n\n<pre>\nSub Main\n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oWindow = CreateTopWindow( oAwtToolkit )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Change the background color of the window to baby blue.\n   oWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Note that if you wanted to, you could now load a component\n   \'  into your newly created window!\n\'   oFrame.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oWindow, \"Meow\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Create a menu.\n\'   CreateMenuBar( oWindow )\n\' menubar to be provided later....\n\' okay, well maybe not, see below...\nEnd Sub\n\n\n\n\nFunction CreateTopWindow( oAwtToolkit )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n      \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n      \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = 0\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n      .ParentIndex = -1\n      \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( 100, 200, 300, 400 )\n      \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\nEnd Function\n\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cName ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from my library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\nWhen I provide the MenuBar implementation, it will be painfully obvious that you need a real programming language (i.e. not Basic). Well, this is probably true if you are going to implement a full blown office component anyway.\n\nHere is my proposed menubar implementation. But it doesn\'t seem to work properly in Basic.\n\nI believe the problem is that you cannot setMenuBar() to an object created by CreateUnoListener. Like I said, you need a language that lets you create real objects.\n\nIf you study it, I think you can see the idea behind it.\n\n<pre>	\n\n\'##################################################\n\nGlobal oAppleMenu\nGlobal oOrangeMenu\n\nSub CreateMenuBar( oWindow )\n   oMenubar = CreateUnoListener( \"MyMenuBar_\", \"com.sun.star.awt.XMenu\" )\n   oAppleMenu = CreateUnoListener( \"AppleMenu_\", \"com.sun.star.awt.XPopupMenu\" )\n   oOrangeMenu = CreateUnoListener( \"OrangeMenu_\", \"com.sun.star.awt.XPopupMenu\" )\n   oWindow.setMenuBar( oMenubar )\nEnd Sub\n\n\' Our menu bar is hardcoded.\n\' Menu: Apple\n\'  has items:  Apple Pie, Apple Juice\n\' Menu: Orange\n\'  has items:  Orange Juice, Orange JellO\n\n\'##################################################\n\'   My Menu Bar interface\n\'\n\'##################################################\n\'   com.sun.star.awt.XMenuBar\n\'\n\'   An interface like this just plain needs to\n\'    be written in a language other than Baisc!\n\'##################################################\n\nSub MyMenuBar_addMenuListener( xListener )\nEnd Sub\n\nSub MyMenuBar_removeMenuListener( xListener )\nEnd Sub\n\n\' This trivial implementation of the interface\n\'  does NOT support inserting or removing items.\n\nSub MyMenuBar_insertItem( nItemId, cText, nItemStyle, nPos )\nEnd Sub\n\nSub MyMenuBar_removeItem( nPos, nCount )\nEnd Sub\n\n\' This joke implementation of the interface\n\'  has hardcoded the contents of the menu bar.\n\' Calling insertItem or removeItem does not change\n\'  what the following routines return.\n\nFunction MyMenuBar_getItemCount()\n   \' We have two menus.\n   MyMenuBar_getItemCount = 2\nEnd Function\n\nFunction MyMenuBar_getItemId( nPos )\n   MyMenuBar_getItemId = nPos\nEnd Function\n\nFunction MyMenuBar_getItemPos( nItemId )\n   MyMenuBar_getItemPos = nItemId\nEnd Function\n\nSub MyMenuBar_enableItem( nItemId, bEnable )\nEnd Sub\n\nFunction MyMenuBar_isItemEnabled( nItemId )\n   MyMenuBar_isItemEnabled = True\nEnd Function\n\nSub MyMenuBar_setItemText( nItemId, cText )\nEnd Sub\n\nFunction MyMenuBar_getItemText( nItemId )\n   cItemName = \"\"\n   If nItemId = 1 Then\n      cItemName = \"Apple\"\n   ElseIf nItemId = 2 Then\n      cItemName = \"Orange\"\n   EndIf\n   MyMenuBar_getItemText = cItemName\nEnd Function\n\nSub MyMenuBar_setPopupMenu( nItemId, oXPopupMenu )\nEnd Sub\n\nFunction MyMenuBar_getPopupMenu( nItemId )\n   Dim oPopupMenu As Object\n   If nItemId = 1 Then\n      oPopupMenu = oAppleMenu\n   ElseIf nItemId = 2 Then\n      oPopupMenu = oOrangeMenu\n   EndIf\n   MyMenuBar_getPopupMenu = oPopupMenu\nEnd Function\n\n\n\'##################################################\n\'   com.sun.star.awt.XPopupMenu\n\'##################################################\n\nSub AppleMenu_addMenuListener( xListener )\nEnd Sub\n\nSub AppleMenu_removeMenuListener( xListener )\nEnd Sub\n\n\' This trivial implementation of the interface\n\'  does NOT support inserting or removing items.\n\nSub AppleMenu_insertItem( nItemId, cText, nItemStyle, nPos )\nEnd Sub\n\nSub AppleMenu_removeItem( nPos, nCount )\nEnd Sub\n\n\' This joke implementation of the interface\n\'  has hardcoded the contents of the menu bar.\n\' Calling insertItem or removeItem does not change\n\'  what the following routines return.\n\nFunction AppleMenu_getItemCount()\n   \' We have two menus.\n   AppleMenu_getItemCount = 2\nEnd Function\n\nFunction AppleMenu_getItemId( nPos )\n   AppleMenu_getItemId = nPos\nEnd Function\n\nFunction AppleMenu_getItemPos( nItemId )\n   AppleMenu_getItemPos = nItemId\nEnd Function\n\nSub AppleMenu_enableItem( nItemId, bEnable )\nEnd Sub\n\nFunction AppleMenu_isItemEnabled( nItemId )\n   AppleMenu_isItemEnabled = True\nEnd Function\n\nSub AppleMenu_setItemText( nItemId, cText )\nEnd Sub\n\nFunction AppleMenu_getItemText( nItemId )\n   cItemName = \"\"\n   If nItemId = 1 Then\n      cItemName = \"Apple Pie\"\n   ElseIf nItemId = 2 Then\n      cItemName = \"Apple Juice\"\n   EndIf\n   AppleMenu_getItemText = cItemName\nEnd Function\n\nSub AppleMenu_setPopupMenu( nItemId, oXPopupMenu )\nEnd Sub\n\nFunction AppleMenu_getPopupMenu( nItemId )\n   Dim oPopupMenu As Object\n   AppleMenu_getPopupMenu = oPopupMenu\nEnd Function\n\nSub AppleMenu_insertSeparator( nPos )\nEnd Sub\n\nSub AppleMenu_setDefaultItem( nItemId )\nEnd Sub\n\nFunction AppleMenu_getDefaultItem()\n   AppleMenu_getDefaultItem = 1\nEnd Function\n\nSub AppleMenu_checkItem( nItemId, bCheckmark )\nEnd Sub\n\nFunction AppleMenu_isItemChecked( nItemId )\n   AppleMenu_isItemChecked = False\nEnd Function\n\nFunction AppleMenu_execute( oWindowPeerParent, oAreaRect, nDirection )\n   AppleMenu_execute = 0\nEnd Function\n\n\n\n\'##################################################\n\'   com.sun.star.awt.XPopupMenu\n\'##################################################\n\nSub OrangeMenu_addMenuListener( xListener )\nEnd Sub\n\nSub OrangeMenu_removeMenuListener( xListener )\nEnd Sub\n\n\' This trivial implementation of the interface\n\'  does NOT support inserting or removing items.\n\nSub OrangeMenu_insertItem( nItemId, cText, nItemStyle, nPos )\nEnd Sub\n\nSub OrangeMenu_removeItem( nPos, nCount )\nEnd Sub\n\n\' This joke implementation of the interface\n\'  has hardcoded the contents of the menu bar.\n\' Calling insertItem or removeItem does not change\n\'  what the following routines return.\n\nFunction OrangeMenu_getItemCount()\n   \' We have two menus.\n   OrangeMenu_getItemCount = 2\nEnd Function\n\nFunction OrangeMenu_getItemId( nPos )\n   OrangeMenu_getItemId = nPos\nEnd Function\n\nFunction OrangeMenu_getItemPos( nItemId )\n   OrangeMenu_getItemPos = nItemId\nEnd Function\n\nSub OrangeMenu_enableItem( nItemId, bEnable )\nEnd Sub\n\nFunction OrangeMenu_isItemEnabled( nItemId )\n   OrangeMenu_isItemEnabled = True\nEnd Function\n\nSub OrangeMenu_setItemText( nItemId, cText )\nEnd Sub\n\nFunction OrangeMenu_getItemText( nItemId )\n   cItemName = \"\"\n   If nItemId = 1 Then\n      cItemName = \"Orange Juice\"\n   ElseIf nItemId = 2 Then\n      cItemName = \"Orange JellO\"\n   EndIf\n   OrangeMenu_getItemText = cItemName\nEnd Function\n\nSub OrangeMenu_setPopupMenu( nItemId, oXPopupMenu )\nEnd Sub\n\nFunction OrangeMenu_getPopupMenu( nItemId )\n   Dim oPopupMenu As Object\n   OrangeMenu_getPopupMenu = oPopupMenu\nEnd Function\n\nSub OrangeMenu_insertSeparator( nPos )\nEnd Sub\n\nSub OrangeMenu_setDefaultItem( nItemId )\nEnd Sub\n\nFunction OrangeMenu_getDefaultItem()\n   OrangeMenu_getDefaultItem = 1\nEnd Function\n\nSub OrangeMenu_checkItem( nItemId, bCheckmark )\nEnd Sub\n\nFunction OrangeMenu_isItemChecked( nItemId )\n   OrangeMenu_isItemChecked = False\nEnd Function\n\nFunction OrangeMenu_execute( oWindowPeerParent, oAreaRect, nDirection )\n   OrangeMenu_execute = 0\nEnd Function\n</pre>\n\n\'\'\'Atención, probablemente tenga errores\'\'\'\n\nyour first macro stops at his position\n\' .Parent = 0\n\'.Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n.Parent = oAwtToolkit.getDesktopWindow()\n\nwith the error message\n\ncom.sun.star.lang.IllegalArgumentException\nMEssage; illegal value given.\n\nThenew macro stops at\noWindow.setMenuBar( oMenubar )\n\nwith the message Argument is not optional.','utf-8'),(1147,'[[Category:OOBasicCode]]\n*\'\'\'site\'\'\': http://www.oooforum.org/forum/viewtopic.phtml?t=8481\n*\'\'\'autor\'\'\': DannyB\n	\nIt is interesting to look at all the stuff in the API under....\n\ncom.sun.star.awt.*\n\n\nIt is possible to create new windows, add menu bars to them, and draw any kind of graphics within your window. You can put new controls in your window.\n\nIn fact, a window created by a component using the AWT toolkit would look and feel just like the native windows of Calc, Writer, Impress, Draw.\n\nHere is a fun test program to exercise what I have learned there. Just copy, paste and run. I apologize that this is way more comments than actual lines of code. The code would be quite short if you removed the comments.\n\n<pre>\nSub Main\n   \' Get an AWT toolkit.\n   \' OOo\'s AWT, not a Java AWT.\n   oAwtToolkit = CreateUnoService( \"com.sun.star.awt.Toolkit\" )\n   \n   \' Create a top level window.\n   oWindow = CreateTopWindow( oAwtToolkit )\n   \n   \' At this point, you should check out the interfaces\n   \'  and all of the methods that they give you for\n   \'  manipulating this new oWindow.\n   \' See comment in CreateTopWindow() below.\n   \n   \' Change the background color of the window to baby blue.\n   oWindow.setBackground( RGB( 240, 240, 255 ) )\n   \n   \' At this point, if you stop the program, you will have a\n   \'  new OOo window on the screen, but you cannot do anything\n   \'  with it.  You cannot even close it!\n   \' In fact, you have to kill the OOo process, as even OOo\n   \'  cannot close this window since it has no Frame and\n   \'  therefore is not integrated into the desktop environment.\n   \' So I had to go on writing additional code....\n   \n   \' Create a new frame.\n   oFrame = CreateUnoService( \"com.sun.star.frame.Frame\" )\n   \' Initialize this frame with our new window.\n   oFrame.initialize( oWindow )\n   \' Tell the frame that its parent is the Desktop.\n   oFrame.setCreator( StarDesktop )\n   \n   \' At this point you have a window that can be resized, moved, or closed.\n   \n   \' Note that if you wanted to, you could now load a component\n   \'  into your newly created window!\n\'   oFrame.loadComponentFromURL( \"private:factory/scalc\", \"_self\", 0, Array() )\n   \n   \' Create a new button.\n   oBtnCtrl = MakeButtonCtrl( oAwtToolkit, oWindow, \"Meow\",_\n         MakeRectangle( 20, 30, 100, 40 ) )\n   \n   \' Create a menu.\n\'   CreateMenuBar( oWindow )\n\' menubar to be provided later....\n\' okay, well maybe not, see below...\nEnd Sub\n\n\n\n\nFunction CreateTopWindow( oAwtToolkit )\n   oWindowDesc = CreateUnoStruct( \"com.sun.star.awt.WindowDescriptor\" )\n   With oWindowDesc\n      \' specifies a top level window on the desktop. It is also a container.\n      .Type = com.sun.star.awt.WindowClass.TOP\n      \' is a modal top level window on the desktop. It is also a container.\n\'      .Type = com.sun.star.awt.WindowClass.MODALTOP\n      \' is a container that may contain other components. It is not a top window.\n\'      .Type = com.sun.star.awt.WindowClass.CONTAINER\n      \' is the simplest window. It can be a container.\n\'      .Type = com.sun.star.awt.WindowClass.SIMPLE\n      \n      \' specifies the name of the component service.\n      \' A zero length name means that the vcl creates a blank top,\n      \'  a container, or a simple window.\n      .WindowServiceName = \"\"\n      \n      \' specifies the parent of the component.\n      \' If Parent == 0 && ParentIndex == -1 , then the window is on the desktop.\n\'      .Parent = 0\n\'      .Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n      .Parent = oAwtToolkit.getDesktopWindow()\n      \' specifies the index of the parent window, if available.\n      \' If Parent == 0 and this struct is a member of an array,\n      \'  then this is the offset from the beginning of the array to the parent.\n      \'  A value of -1 means desktop.\n      .ParentIndex = -1\n      \n      \' specifies the position and size of the window.\n      \' This member is ignored if the window attribute is\n      \'  WindowAttribute::FULLSIZE .\n      .Bounds = MakeRectangle( 100, 200, 300, 400 )\n      \n      \' specifies the window attributes.\n      .WindowAttributes = 0\n      \' specifies that the window is initially visible.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SHOW\n      \' specifies that the window fills the complete desktop area.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.FULLSIZE\n      \' specifies that the window is optimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.OPTIMUMSIZE\n      \' specifies that the window is minimum size.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MINSIZE\n      \' specifies that the window has visible borders.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.BORDER\n      \' specifies that the size of the window can be changed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SIZEABLE\n      \' specifies that the window can be moved by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.MOVEABLE\n      \' specifies that the window can be closed by the user.\n      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.CLOSEABLE\n      \'[ DEPRECATED ] specifies that the window should support the XSystemDependentWindowPeer interface.\n\'      .WindowAttributes = .WindowAttributes + com.sun.star.awt.WindowAttribute.SYSTEMDEPENDENT\n   End With\n   \n   oXWindowPeer = oAwtToolkit.createWindow( oWindowDesc )\n   \n   \' Look at the capabilities that these interfaces give you\n   \'  for manipulating your newly created window.\n   \' Interfaces supported by oXWindowPeer...\n   \'  com.sun.star.awt.XTopWindow\n   \'  com.sun.star.awt.XWindow\n   \'  com.sun.star.awt.XWindowPeer\n   \'  com.sun.star.awt.XVclContainer\n   \'  com.sun.star.awt.XVclContainerPeer\n   \'  com.sun.star.awt.XVclWindowPeer\n   \'  com.sun.star.awt.XLayoutConstraints\n   \'  com.sun.star.awt.XView\n   \'  com.sun.star.awt.XDevice\n   \'  com.sun.star.lang.XEventListener\n   \'  com.sun.star.lang.XComponent\n   \'  com.sun.star.lang.XTypeProvider\n   \'  com.sun.star.accessibility.XAccessible\n   \'\n   \' Properties...\n   \'  <object> MenuBar\n   \'  <array>  Windows\n   \'  <array>  Group\n   \'  <object> PosSize\n   \'  Boolean  Visible\n   \'  Boolean  Enable\n   \'  <object> Toolkit\n   \'  <object> Pointer\n   \'  Long     Background\n   \'  Boolean  DesignMode\n   \'  Long     Foreground\n   \'  <object> ControlFont\n   \'  <object> MinimumSize\n   \'  <object> PreferredSize\n   \'  <object> AccessibleContext\n   \'  <object> Graphics\n   \'  <object> Size\n   \'  <object> Info\n   \'  <array>  FontDescriptors\n   \n   CreateTopWindow = oXWindowPeer\nEnd Function\n\n\n\n\n\nFunction MakeButtonCtrl( oAwtToolkit, oWindow, Optional cLabel, Optional oPosSizeRect )\n   \' Create a new button model.\n   oButtonModel = CreateUnoService( \"com.sun.star.awt.UnoControlButtonModel\" )\n   \n   \' Create a new button control.\n   oButtonCtrl = CreateUnoService( \"com.sun.star.awt.UnoControlButton\" )\n   \n   \' Tell the control that it has a model.\n   oButtonCtrl.setModel( oButtonModel )\n   \n   \' Tell the control to create its window peer.\n   \' (To understand what this means, it is helpful to\n   \'  read some Java documention about how Java\'s AWT works\n   \'  even though we\'re not working with Java AWT here.)\n   \' Basically, this puts something visible onto the window.\n   oButtonCtrl.createPeer( oAwtToolkit, oWindow )\n   \n   If Not IsMissing( cName ) Then\n      oButtonModel.Label = cLabel\n   EndIf\n   If Not IsMissing( oPosSizeRect ) Then\n      oButtonCtrl.setPosSize( _\n                  oPosSizeRect.X, oPosSizeRect.Y,_\n                  oPosSizeRect.Width, oPosSizeRect.Height,_\n                  com.sun.star.awt.PosSize.POSSIZE )\n   EndIf\n   \n   MakeButtonCtrl = oButtonCtrl\nEnd Function\n\n\n\' ripped from my library....\n\nFunction MakeRectangle( ByVal nX As Long, ByVal nY As Long,_\n                  ByVal nWidth As Long, ByVal nHeight As Long ) As com.sun.star.awt.Rectangle\n   oRectangle = createUnoStruct( \"com.sun.star.awt.Rectangle\" )\n   With oRectangle\n      .X = nX\n      .Y = nY\n      .Width = nWidth\n      .Height = nHeight\n   End With\n   MakeRectangle() = oRectangle\nEnd Function\n</pre>\n\nWhen I provide the MenuBar implementation, it will be painfully obvious that you need a real programming language (i.e. not Basic). Well, this is probably true if you are going to implement a full blown office component anyway.\n\nHere is my proposed menubar implementation. But it doesn\'t seem to work properly in Basic.\n\nI believe the problem is that you cannot setMenuBar() to an object created by CreateUnoListener. Like I said, you need a language that lets you create real objects.\n\nIf you study it, I think you can see the idea behind it.\n\n<pre>	\n\n\'##################################################\n\nGlobal oAppleMenu\nGlobal oOrangeMenu\n\nSub CreateMenuBar( oWindow )\n   oMenubar = CreateUnoListener( \"MyMenuBar_\", \"com.sun.star.awt.XMenu\" )\n   oAppleMenu = CreateUnoListener( \"AppleMenu_\", \"com.sun.star.awt.XPopupMenu\" )\n   oOrangeMenu = CreateUnoListener( \"OrangeMenu_\", \"com.sun.star.awt.XPopupMenu\" )\n   oWindow.setMenuBar( oMenubar )\nEnd Sub\n\n\' Our menu bar is hardcoded.\n\' Menu: Apple\n\'  has items:  Apple Pie, Apple Juice\n\' Menu: Orange\n\'  has items:  Orange Juice, Orange JellO\n\n\'##################################################\n\'   My Menu Bar interface\n\'\n\'##################################################\n\'   com.sun.star.awt.XMenuBar\n\'\n\'   An interface like this just plain needs to\n\'    be written in a language other than Baisc!\n\'##################################################\n\nSub MyMenuBar_addMenuListener( xListener )\nEnd Sub\n\nSub MyMenuBar_removeMenuListener( xListener )\nEnd Sub\n\n\' This trivial implementation of the interface\n\'  does NOT support inserting or removing items.\n\nSub MyMenuBar_insertItem( nItemId, cText, nItemStyle, nPos )\nEnd Sub\n\nSub MyMenuBar_removeItem( nPos, nCount )\nEnd Sub\n\n\' This joke implementation of the interface\n\'  has hardcoded the contents of the menu bar.\n\' Calling insertItem or removeItem does not change\n\'  what the following routines return.\n\nFunction MyMenuBar_getItemCount()\n   \' We have two menus.\n   MyMenuBar_getItemCount = 2\nEnd Function\n\nFunction MyMenuBar_getItemId( nPos )\n   MyMenuBar_getItemId = nPos\nEnd Function\n\nFunction MyMenuBar_getItemPos( nItemId )\n   MyMenuBar_getItemPos = nItemId\nEnd Function\n\nSub MyMenuBar_enableItem( nItemId, bEnable )\nEnd Sub\n\nFunction MyMenuBar_isItemEnabled( nItemId )\n   MyMenuBar_isItemEnabled = True\nEnd Function\n\nSub MyMenuBar_setItemText( nItemId, cText )\nEnd Sub\n\nFunction MyMenuBar_getItemText( nItemId )\n   cItemName = \"\"\n   If nItemId = 1 Then\n      cItemName = \"Apple\"\n   ElseIf nItemId = 2 Then\n      cItemName = \"Orange\"\n   EndIf\n   MyMenuBar_getItemText = cItemName\nEnd Function\n\nSub MyMenuBar_setPopupMenu( nItemId, oXPopupMenu )\nEnd Sub\n\nFunction MyMenuBar_getPopupMenu( nItemId )\n   Dim oPopupMenu As Object\n   If nItemId = 1 Then\n      oPopupMenu = oAppleMenu\n   ElseIf nItemId = 2 Then\n      oPopupMenu = oOrangeMenu\n   EndIf\n   MyMenuBar_getPopupMenu = oPopupMenu\nEnd Function\n\n\n\'##################################################\n\'   com.sun.star.awt.XPopupMenu\n\'##################################################\n\nSub AppleMenu_addMenuListener( xListener )\nEnd Sub\n\nSub AppleMenu_removeMenuListener( xListener )\nEnd Sub\n\n\' This trivial implementation of the interface\n\'  does NOT support inserting or removing items.\n\nSub AppleMenu_insertItem( nItemId, cText, nItemStyle, nPos )\nEnd Sub\n\nSub AppleMenu_removeItem( nPos, nCount )\nEnd Sub\n\n\' This joke implementation of the interface\n\'  has hardcoded the contents of the menu bar.\n\' Calling insertItem or removeItem does not change\n\'  what the following routines return.\n\nFunction AppleMenu_getItemCount()\n   \' We have two menus.\n   AppleMenu_getItemCount = 2\nEnd Function\n\nFunction AppleMenu_getItemId( nPos )\n   AppleMenu_getItemId = nPos\nEnd Function\n\nFunction AppleMenu_getItemPos( nItemId )\n   AppleMenu_getItemPos = nItemId\nEnd Function\n\nSub AppleMenu_enableItem( nItemId, bEnable )\nEnd Sub\n\nFunction AppleMenu_isItemEnabled( nItemId )\n   AppleMenu_isItemEnabled = True\nEnd Function\n\nSub AppleMenu_setItemText( nItemId, cText )\nEnd Sub\n\nFunction AppleMenu_getItemText( nItemId )\n   cItemName = \"\"\n   If nItemId = 1 Then\n      cItemName = \"Apple Pie\"\n   ElseIf nItemId = 2 Then\n      cItemName = \"Apple Juice\"\n   EndIf\n   AppleMenu_getItemText = cItemName\nEnd Function\n\nSub AppleMenu_setPopupMenu( nItemId, oXPopupMenu )\nEnd Sub\n\nFunction AppleMenu_getPopupMenu( nItemId )\n   Dim oPopupMenu As Object\n   AppleMenu_getPopupMenu = oPopupMenu\nEnd Function\n\nSub AppleMenu_insertSeparator( nPos )\nEnd Sub\n\nSub AppleMenu_setDefaultItem( nItemId )\nEnd Sub\n\nFunction AppleMenu_getDefaultItem()\n   AppleMenu_getDefaultItem = 1\nEnd Function\n\nSub AppleMenu_checkItem( nItemId, bCheckmark )\nEnd Sub\n\nFunction AppleMenu_isItemChecked( nItemId )\n   AppleMenu_isItemChecked = False\nEnd Function\n\nFunction AppleMenu_execute( oWindowPeerParent, oAreaRect, nDirection )\n   AppleMenu_execute = 0\nEnd Function\n\n\n\n\'##################################################\n\'   com.sun.star.awt.XPopupMenu\n\'##################################################\n\nSub OrangeMenu_addMenuListener( xListener )\nEnd Sub\n\nSub OrangeMenu_removeMenuListener( xListener )\nEnd Sub\n\n\' This trivial implementation of the interface\n\'  does NOT support inserting or removing items.\n\nSub OrangeMenu_insertItem( nItemId, cText, nItemStyle, nPos )\nEnd Sub\n\nSub OrangeMenu_removeItem( nPos, nCount )\nEnd Sub\n\n\' This joke implementation of the interface\n\'  has hardcoded the contents of the menu bar.\n\' Calling insertItem or removeItem does not change\n\'  what the following routines return.\n\nFunction OrangeMenu_getItemCount()\n   \' We have two menus.\n   OrangeMenu_getItemCount = 2\nEnd Function\n\nFunction OrangeMenu_getItemId( nPos )\n   OrangeMenu_getItemId = nPos\nEnd Function\n\nFunction OrangeMenu_getItemPos( nItemId )\n   OrangeMenu_getItemPos = nItemId\nEnd Function\n\nSub OrangeMenu_enableItem( nItemId, bEnable )\nEnd Sub\n\nFunction OrangeMenu_isItemEnabled( nItemId )\n   OrangeMenu_isItemEnabled = True\nEnd Function\n\nSub OrangeMenu_setItemText( nItemId, cText )\nEnd Sub\n\nFunction OrangeMenu_getItemText( nItemId )\n   cItemName = \"\"\n   If nItemId = 1 Then\n      cItemName = \"Orange Juice\"\n   ElseIf nItemId = 2 Then\n      cItemName = \"Orange JellO\"\n   EndIf\n   OrangeMenu_getItemText = cItemName\nEnd Function\n\nSub OrangeMenu_setPopupMenu( nItemId, oXPopupMenu )\nEnd Sub\n\nFunction OrangeMenu_getPopupMenu( nItemId )\n   Dim oPopupMenu As Object\n   OrangeMenu_getPopupMenu = oPopupMenu\nEnd Function\n\nSub OrangeMenu_insertSeparator( nPos )\nEnd Sub\n\nSub OrangeMenu_setDefaultItem( nItemId )\nEnd Sub\n\nFunction OrangeMenu_getDefaultItem()\n   OrangeMenu_getDefaultItem = 1\nEnd Function\n\nSub OrangeMenu_checkItem( nItemId, bCheckmark )\nEnd Sub\n\nFunction OrangeMenu_isItemChecked( nItemId )\n   OrangeMenu_isItemChecked = False\nEnd Function\n\nFunction OrangeMenu_execute( oWindowPeerParent, oAreaRect, nDirection )\n   OrangeMenu_execute = 0\nEnd Function\n</pre>\n\n\'\'\'Atención, probablemente tenga errores\'\'\'\n\nyour first macro stops at his position\n\' .Parent = 0\n\'.Parent = createUnoValue( \"com.sun.star.awt.XWindowPeer\", 0 )\n.Parent = oAwtToolkit.getDesktopWindow()\n\nwith the error message\n\ncom.sun.star.lang.IllegalArgumentException\nMEssage; illegal value given.\n\nThenew macro stops at\noWindow.setMenuBar( oMenubar )\n\nwith the message Argument is not optional.','utf-8'),(1148,'[[Category:TKTOut]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' Lucas\n*\'\'\'Fecha:\'\'\' 20121218.1730\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nCopia de Registraciones de DVH para dividirlas en DVH p/ventanas corredizas y DVH para Paños Fijos\n=====WorkAround=====\n=====Resolución=====\n*20130110\n<small><pre>\nINSERT INTO `fzggestion`.`proddvh`\n(`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\n`productos`.`ProductoID`,\n`productos`.`CategoriaID`,\nCONCAT(TRIM(`productos`.`Descripcion`),\" p/2 Hojas\"),\n`productos`.`ProveedorID`,\n`productos`.`Reposicion`,\n`productos`.`Magnitud`,\n`productos`.`MagnitudIN`,\n`productos`.`CoefP00P01`,\n`productos`.`CoefP00P02`,\n`productos`.`CoefP00P03`,\n`productos`.`ProductoPID`,\n`productos`.`InsumoIMG`,\n`productos`.`Presentacion`,\n`productos`.`ProductoProy`\nFROM `fzggestion`.`productos`\nWHERE Descripcion LIKE \"DVH%\";\n\n\nINSERT INTO `fzggestion`.`proddvh`\n(`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\nCONCAT(\'P\', SUBSTR(`productos`.`ProductoID`, 2)) AS ProductoID,\n`productos`.`CategoriaID`,\nCONCAT(TRIM(`productos`.`Descripcion`),\" p/Paño Fijo\"),\n`productos`.`ProveedorID`,\n`productos`.`Reposicion`,\n`productos`.`Magnitud`,\n`productos`.`MagnitudIN`,\n`productos`.`CoefP00P01`,\n`productos`.`CoefP00P02`,\n`productos`.`CoefP00P03`,\n`productos`.`ProductoPID`,\n`productos`.`InsumoIMG`,\n`productos`.`Presentacion`,\n`productos`.`ProductoProy`\nFROM `fzggestion`.`productos`\nWHERE Descripcion LIKE \"DVH%\";\n\nINSERT INTO `fzggestion`.`proddvh`\n(`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\nCONCAT(\'Q\', SUBSTR(`productos`.`ProductoID`, 2)) AS ProductoID,\n`productos`.`CategoriaID`,\nCONCAT(TRIM(`productos`.`Descripcion`),\" p/3 Hojas\"),\n`productos`.`ProveedorID`,\n`productos`.`Reposicion`,\n`productos`.`Magnitud`,\n`productos`.`MagnitudIN`,\n`productos`.`CoefP00P01`,\n`productos`.`CoefP00P02`,\n`productos`.`CoefP00P03`,\n`productos`.`ProductoPID`,\n`productos`.`InsumoIMG`,\n`productos`.`Presentacion`,\n`productos`.`ProductoProy`\nFROM `fzggestion`.`productos`\nWHERE Descripcion LIKE \"DVH%\";\n\nINSERT INTO `fzggestion`.`proddvh`\n(`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\nCONCAT(\'R\', SUBSTR(`productos`.`ProductoID`, 2)) AS ProductoID,\n`productos`.`CategoriaID`,\nCONCAT(TRIM(`productos`.`Descripcion`),\" p/4 Hojas\"),\n`productos`.`ProveedorID`,\n`productos`.`Reposicion`,\n`productos`.`Magnitud`,\n`productos`.`MagnitudIN`,\n`productos`.`CoefP00P01`,\n`productos`.`CoefP00P02`,\n`productos`.`CoefP00P03`,\n`productos`.`ProductoPID`,\n`productos`.`InsumoIMG`,\n`productos`.`Presentacion`,\n`productos`.`ProductoProy`\nFROM `fzggestion`.`productos`\nWHERE Descripcion LIKE \"DVH%\";\n</pre></small>\n*20130102\n<small><pre>\nDROP TABLE `fzggestion`.`proddvh`;\n\nCREATE TABLE proddvh\nSELECT CONCAT(\'P\', SUBSTR(`productos`.`ProductoID`, 2)) AS ProductoID,\n       `productos`.`CategoriaID`,\n       CONCAT(TRIM(`productos`.`Descripcion`),\" p/Paño Fijo\") AS Descripcion,\n       `productos`.`ProveedorID`,\n       `productos`.`Reposicion`,\n       `productos`.`Magnitud`,\n       `productos`.`MagnitudIN`,\n       `productos`.`CoefP00P01`,\n       `productos`.`CoefP00P02`,\n       `productos`.`CoefP00P03`,\n       `productos`.`ProductoPID`,\n       `productos`.`InsumoIMG`,\n       `productos`.`Presentacion`,\n       `productos`.`ProductoProy`\nFROM productos\nWHERE Descripcion LIKE \'DVH%\';\n\nDROP TABLE `fzggestion`.`compdvh`;\n\nCREATE TABLE compdvh\nSELECT CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)) AS ProductoID,\n       IF(`composicion`.`ProductoID`=`composicion`.`ElementoID`,\n			CONCAT(\'P\', SUBSTR(`composicion`.`ProductoID`, 2)),\n			`composicion`.`ElementoID`) AS ElementoID,\n       `composicion`.`ComposicID`,\n       `composicion`.`ValorElemento`,\n       `composicion`.`ElementoPM`,\n       `composicion`.`OffsetVanoAncho`,\n       `composicion`.`OffsetVanoAlto`,\n       `composicion`.`CoefVanoAncho`,\n       `composicion`.`CoefVanoAlto`\nFROM `fzggestion`.`productos` AS `productos`,\n     `fzggestion`.`composicion` AS `composicion`\nWHERE `productos`.`ProductoID` = `composicion`.`ProductoID`\n  AND `productos`.`Descripcion` LIKE \'DVH%\';\n\n-- INSERT de registros generados\n\nINSERT INTO `fzggestion`.`productos`\n(`ProductoGen`,\n`ProductoDflt`,\n`ProductoID`,\n`CategoriaID`,\n`Descripcion`,\n`ProveedorID`,\n`Reposicion`,\n`Magnitud`,\n`MagnitudIN`,\n`CoefP00P01`,\n`CoefP00P02`,\n`CoefP00P03`,\n`ProductoPID`,\n`InsumoIMG`,\n`MagCmpX`,\n`MagCmpY`,\n`MagCmpZ`,\n`MagCmpW`,\n`Presentacion`,\n`ProductoProy`)\nSELECT\n`proddvh`.`ProductoGen`,\n`proddvh`.`ProductoDflt`,\n`proddvh`.`ProductoID`,\n`proddvh`.`CategoriaID`,\n`proddvh`.`Descripcion`,\n`proddvh`.`ProveedorID`,\n`proddvh`.`Reposicion`,\n`proddvh`.`Magnitud`,\n`proddvh`.`MagnitudIN`,\n`proddvh`.`CoefP00P01`,\n`proddvh`.`CoefP00P02`,\n`proddvh`.`CoefP00P03`,\n`proddvh`.`ProductoPID`,\n`proddvh`.`InsumoIMG`,\n`proddvh`.`MagCmpX`,\n`proddvh`.`MagCmpY`,\n`proddvh`.`MagCmpZ`,\n`proddvh`.`MagCmpW`,\n`proddvh`.`Presentacion`,\n`proddvh`.`ProductoProy`\nFROM `fzggestion`.`proddvh`;\n\n-- DELETE de Registros Automáticos de Composicion\n\nDELETE\nFROM composicion\nWHERE ProductoID IN\n    (SELECT ProductoID\n     FROM proddvh);\n\n-- INSERT de Registros Automáticos de Composicion en base a los anteriores.\n\nINSERT INTO `fzggestion`.`composicion`\n(`ProductoID`,\n`ElementoID`,\n`ComposicID`,\n`ValorElemento`,\n`ElementoPM`,\n`OffsetVanoAncho`,\n`OffsetVanoAlto`,\n`CoefVanoAncho`,\n`CoefVanoAlto`)\nSELECT\n`compdvh`.`ProductoID`,\n`compdvh`.`ElementoID`,\n`compdvh`.`ComposicID`,\n`compdvh`.`ValorElemento`,\n`compdvh`.`ElementoPM`,\n`compdvh`.`OffsetVanoAncho`,\n`compdvh`.`OffsetVanoAlto`,\n`compdvh`.`CoefVanoAncho`,\n`compdvh`.`CoefVanoAlto`\nFROM `fzggestion`.`compdvh`;\n</pre></small>\n\n=====Estado=====\nFinalizado\n\n=====Observaciones=====\nPreparar el SQL para subirlo a producción.Reemplazar la \"V\" por \"P\" en el código para los de Paño Fijo','utf-8'),(1149,'===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\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]]\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'),(1150,'[[Category:VISTAS]]\n== Descripción ==\nVista de Cantidad de Componentes de un Producto\n== Composición ==\n*[[TABLA:composicion]]\n*[[TABLA:productos]]\n== SQL ==\n<pre>\nCREATE \n    ALGORITHM = UNDEFINED \n    DEFINER = `sas_admin`@`%` \n    SQL SECURITY DEFINER\nVIEW `viscompcnt` AS\n    SELECT \n        `composicion`.`ProductoID` AS `ProductoID`,\n        `productos`.`Descripcion` AS `ProductoDSC`,\n        `productos`.`CategoriaID` AS `CategoriaID`,\n        `productos`.`ProveedorID` AS `ProveedorID`,\n        COUNT(`composicion`.`ProductoID`) AS `Cantidad`,\n		CASE\n			WHEN COUNT(*) > 1 THEN 1\n			ELSE 0\n		END AS `Compuesto`\n    FROM\n        `productos`,`composicion`\n    WHERE\n        `productos`.`ProductoID` = `composicion`.`ProductoID`\n    GROUP BY `composicion`.`ProductoID`\n</pre>\n== Bitácora ==\n== Uso ==\n*[[FORM:CopiaComposicion]]\n== URL ==','utf-8'),(1151,'===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\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\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'),(1152,'== Notes ==\n\n== KnowledgeBase ==\n=== OOBasic / LOBasic / StarOffice Basic ===\n*[[:Category:OOBasicCode|OOBasic CodeSnippets]]\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|}','utf-8'),(1153,'== Notes ==\n*ProductoGen\nProducto Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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==== 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|}','utf-8'),(1154,'== Notes ==\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore --accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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==== 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|}','utf-8'),(1155,'== Notes ==\n\n=== Acceso a \"OpenOffice\" Server para PyUNO ===\n<pre>\nlibreoffice3.4 --nodefault --nologo --minimized --norestore \\\n--accept=\"socket,host=localhost,port=2002;urp;\" --invisible\n</pre>\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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==== 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|}','utf-8'),(1156,'== 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\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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==== 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|}','utf-8'),(1157,'== 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 ===\nnetstat -tul\n\n=== Descripción Nuevo Productos ===\n*ProductoGen\nProducto Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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==== 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|}','utf-8'),(1158,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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==== 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|}','utf-8'),(1159,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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=== PyUNO ===\n*[[OpenOffice/Python|http://lucasmanual.com/mywiki/OpenOffice]]\n\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|}','utf-8'),(1160,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice|OpenOffice/Python]]\n\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|}','utf-8'),(1161,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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=== PyUNO ===\n*[[http://lucasmanual.com/mywiki/OpenOffice OpenOffice/Python]]\n\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|}','utf-8'),(1162,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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=== 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==== 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|}','utf-8'),(1163,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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=== 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==== 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|}','utf-8'),(1164,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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=== 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==== 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|}','utf-8'),(1165,'== 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 Generado. Representa el Producto generado por un módulo. No puede ser igual a ProductoID a menos que responda en forma individual / a si mismo\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=== 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|}','utf-8'),(1166,'== 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=== 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|}','utf-8'),(1167,'===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\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\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'),(1168,'[[Category:VISTAS]]\n== Descripción ==\nReservorio de productos sumando los generados a partir de los bocetos y que han conformado módulos.\nEn el caso de la [[TABLA:modulos]] se completan los atributos faltantes que \n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:modulos]]\n== SQL ==\n<pre>\nCREATE VIEW productosdisp AS\n    SELECT \n        ProductoGen,\n        ProductoDflt,\n        \'1\' AS ComponentesUT,\n        ProductoID,\n        CategoriaID,\n        Descripcion,\n        ProveedorID,\n        Reposicion,\n        Magnitud,\n        MagnitudIN,\n        CoefP00P01,\n        CoefP00P02,\n        CoefP00P03,\n        ProductoPID,\n        InsumoIMG,\n        MagCmpX,\n        MagCmpY,\n        MagCmpZ,\n        MagCmpW\n    FROM\n        productos \n    UNION\n	SELECT \n        ModuloID AS ProductoGen,\n        \'1\' as ProductoDflt,\n        \'0\' AS ComponentesUT,\n        ModuloID AS ProductoID,\n        \'MOD\' AS CategoriaID,\n        ModuloDSC AS Descripcion,\n        \'FAZZ\' AS ProveedorID,\n        0 AS Reposicion,\n        \'UN\' AS Magnitud,\n        \'UN\' AS MagnitudIN,\n        1.35 AS CoefP00P01,\n        1.38 AS CoefP00P02,\n        1.41 AS CoefP00P03,\n        ModuloID AS ProductoPID,\n        ModuloIMG AS InsumoIMG,\n        ModuloVW AS MagCmpX,\n        ModuloVH AS MagCmpY,\n        0 AS MagCmpZ,\n        0 AS MagCmpW\n    FROM\n        moduloscab\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1169,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== 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.\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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1170,'Gestión Retail Industria\n\n== Spalnex 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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de \'\'\'Productos\'\'\' quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar como así también, aquellos que puedan ser comercializados por si solos.\nDentro del concepto de \'\'\'Contactos\'\'\' quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\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\n==== 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1171,'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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\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==== 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1172,'','utf-8'),(1173,'','utf-8'),(1174,'','utf-8'),(1175,'','utf-8'),(1176,'','utf-8'),(1177,'','utf-8'),(1178,'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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\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==== 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===== Bocetos =====\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 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.jpg|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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1179,'','utf-8'),(1180,'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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\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==== 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===== Bocetos =====\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\n[[Archivo:FZG.DOCS.Proceso.Modulo.to.Producto.jpg|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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1181,'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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\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==== 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===== Bocetos =====\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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1182,'','utf-8');
INSERT INTO `peg_text` VALUES (1183,'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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\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==== 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===== Bocetos =====\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1184,'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.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\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==== 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===== Bocetos / Módulos =====\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1185,'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===== Bocetos / Módulos =====\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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'),(1186,'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===== Bocetos / Módulos =====\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'),(1187,'','utf-8'),(1188,'===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\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]]\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'),(1189,'===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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\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` ;\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'),(1190,'[[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== Uso ==\n== URL ==','utf-8'),(1191,'===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\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'),(1192,'===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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\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\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'),(1193,'[[Category:FORM]]\n== Descripción ==\nGestión de Datos de Productos.\n=== Características ===\n*Ingreso de registros\n**Cuando se confirma un código de producto, el mismo se copia en forma automática al código de producto genérico.\n**Cuando se confirma el registro\n***El [[ATTR:CompoEdita]] se completa con 0 para indicar que es un producto que no se genera automáticamente y que tiene posibilidad de gestionar componentes.\n***El [[ATTR:ProductoOr]] se completa con 1 para indicar que es un producto que no se genera automáticamente y que el origen de generación es el formulario en si.\n== Composición ==\n*[[TABLA:Productos]]\n*[[TABLA:Categorias]]\n*[[TABLA:Proveedores]]\n*[[TABLA:Magnitudes]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\nChangeFieldtxtProductoIDFORMProductos','utf-8'),(1194,'[[Category:FORM]]\n== Descripción ==\nGestión de Datos de Productos.\n=== Características ===\n*Ingreso de registros\n**Cuando se confirma un código de producto, el mismo se copia en forma automática al código de producto genérico.\n**Cuando se confirma el registro\n***El [[ATTR:CompoEdita]] se completa con 0 para indicar que es un producto que no se genera automáticamente y que tiene posibilidad de gestionar componentes.\n***El [[ATTR:ProductoOr]] se completa con 1 para indicar que es un producto que no se genera automáticamente y que el origen de generación es el formulario en si.\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:categorias]]\n*[[TABLA:proveedores]]\n*[[TABLA:magnitudes]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\nChangeFieldtxtProductoIDFORMProductos','utf-8'),(1195,'[[Category:FORM]]\n== Descripción ==\nGestión de Datos de Productos.\n=== Características ===\n*Ingreso de registros\n**Cuando se confirma un código de producto, el mismo se copia en forma automática al código de producto genérico.\n**Cuando se confirma el registro\n***El [[ATTR:CompoEdita]] se completa con 0 para indicar que es un producto que no se genera automáticamente y que tiene posibilidad de gestionar componentes.\n***El [[ATTR:ProductoOr]] se completa con 1 para indicar que es un producto que no se genera automáticamente y que el origen de generación es el formulario en si.\n*Eliminación de registros\n**Elimina los correspondientes enlaces en [[TABLA:precios]] y [[TABLA:componentes]]\n\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:categorias]]\n*[[TABLA:proveedores]]\n*[[TABLA:magnitudes]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\nChangeFieldtxtProductoIDFORMProductos','utf-8'),(1196,'[[Category:FORM]]\n== Descripción ==\nGestión de Datos de Productos.\n=== Características ===\n*Ingreso de registros\n**Cuando se confirma un código de producto, el mismo se copia en forma automática al código de producto genérico.\n**Cuando se confirma el registro\n***El [[ATTR:CompoEdita]] se completa con 0 para indicar que es un producto que no se genera automáticamente y que tiene posibilidad de gestionar componentes.\n***El [[ATTR:ProductoOr]] se completa con 1 para indicar que es un producto que no se genera automáticamente y que el origen de generación es el formulario en si.\n*Eliminación de registros\n**Elimina los correspondientes enlaces en [[TABLA:precios]] y [[TABLA:composicion]]\n\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:categorias]]\n*[[TABLA:proveedores]]\n*[[TABLA:magnitudes]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\nChangeFieldtxtProductoIDFORMProductos','utf-8'),(1197,'[[Category:FORM]]\n== Descripción ==\nGestión de Datos de Productos.\n=== Características ===\n*Ingreso de registros\n**Cuando se confirma un código de producto, el mismo se copia en forma automática al código de producto genérico.\n**Cuando se confirma el registro\n***El [[ATTR:CompoEdita]] se completa con 0 para indicar que es un producto que no se genera automáticamente y que tiene posibilidad de gestionar componentes.\n***El [[ATTR:ProductoOr]] se completa con 1 para indicar que es un producto que no se genera automáticamente y que el origen de generación es el formulario en si.\n*Eliminación de registros\n**Elimina los correspondientes enlaces en [[TABLA:precios]] y [[TABLA:composicion]]\n\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:categorias]]\n*[[TABLA:proveedores]]\n*[[TABLA:magnitudes]]\n*[[TABLA:composicion]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==\n\n\nChangeFieldtxtProductoIDFORMProductos','utf-8'),(1198,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' SAS\n*\'\'\'Fecha:\'\'\' 20130311\n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\nCuando ingresa un código de producto ingual a uno ya existente dentro de composicion, debiera de agregar alguna descripción que se sumaría a la descripción del producto/elemento\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\nPendiente\n=====Observaciones=====','utf-8'),(1199,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' SAS\n*\'\'\'Fecha:\'\'\' 20130308\n*\'\'\'Soporte:\'\'\' \n=====Incidente=====\nNo deja posibilidad de retorno cuando equivoca el salto en prespuesto para saber que magnitudes ingresa\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\nPendiente\n=====Observaciones=====','utf-8'),(1200,'Lista de Tickets de Soporte Pendientes\n=== Crear Ticket ===\n<pre>\nhttp://ayuda.cloudoffice.com.ar/index.php?title=TKT:XXX.99999&action=edit\n</pre>','utf-8'),(1201,'*[[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:MACROS|Macros]]\n*[[:Category:RPRT|Informes]]\n*[[:Category:PROC|Procedimientos]]\n*[[:Category:LIBR|Bibliotecas]]\n*[[Estructuras SQL|CódigoSQL]]','utf-8'),(1202,'[[Category:TKT]]\n====Data TKT====\n*\'\'\'Usuario:\'\'\' SAS\n*\'\'\'Fecha:\'\'\' 20130306\n*\'\'\'Soporte:\'\'\' SAS\n=====Incidente=====\nGenerar log de eliminación de productos\n=====WorkAround=====\n=====Resolución=====\n=====Estado=====\nPendiente\n=====Observaciones=====','utf-8'),(1203,'== 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=== 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'),(1204,'===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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\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:componentes]]====\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'),(1205,'===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\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'),(1206,'===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\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'),(1207,'===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` ;\nUPDATE productos\nSET \n    ProductoGen = ProductoID,\n    ProductoDflt= 1\n</pre>\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'),(1208,'[[Category:TABLAS]]\n== Relaciones ==\n[[VISTA:visproadic]]\n== Reglas ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.\n\n== SQL ==\n<pre>\nCREATE TABLE `composicion` (\n  `ProductoID` char(8) NOT NULL,\n  `ElementoID` char(8) NOT NULL,\n  `ComposicID` int(11) NOT NULL AUTO_INCREMENT,\n  `ValorElemento` decimal(16,8) DEFAULT \'1.00000000\',\n  `ElementoPM` int(1) DEFAULT \'0\',\n  `OffsetVanoAncho` int(11) DEFAULT \'0\',\n  `OffsetVanoAlto` int(11) DEFAULT \'0\',\n  `CoefVanoAncho` decimal(16,8) DEFAULT \'1.00000000\',\n  `CoefVanoAlto` decimal(16,8) DEFAULT \'1.00000000\',\n  `ComposicOBS` varchar(25) DEFAULT NULL,\n  PRIMARY KEY (`ProductoID`,`ElementoID`,`ComposicID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(1209,'[[Category:TABLAS]]\n== Relaciones ==\n[[VISTA:visproadic]]\n== Estructura ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.\n\n== SQL ==\n<pre>\nCREATE TABLE `composicion` (\n  `ProductoID` char(8) NOT NULL,\n  `ElementoID` char(8) NOT NULL,\n  `ComposicID` int(11) NOT NULL AUTO_INCREMENT,\n  `ValorElemento` decimal(16,8) DEFAULT \'1.00000000\',\n  `ElementoPM` int(1) DEFAULT \'0\',\n  `OffsetVanoAncho` int(11) DEFAULT \'0\',\n  `OffsetVanoAlto` int(11) DEFAULT \'0\',\n  `CoefVanoAncho` decimal(16,8) DEFAULT \'1.00000000\',\n  `CoefVanoAlto` decimal(16,8) DEFAULT \'1.00000000\',\n  `ComposicOBS` varchar(25) DEFAULT NULL,\n  PRIMARY KEY (`ProductoID`,`ElementoID`,`ComposicID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(1210,'[[Category:TABLAS]]\n== Composición ==\n[[VISTA:visproadic]]\n\n== Estructura ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.\n\n== SQL ==\n<pre>\nCREATE TABLE `composicion` (\n  `ProductoID` char(8) NOT NULL,\n  `ElementoID` char(8) NOT NULL,\n  `ComposicID` int(11) NOT NULL AUTO_INCREMENT,\n  `ValorElemento` decimal(16,8) DEFAULT \'1.00000000\',\n  `ElementoPM` int(1) DEFAULT \'0\',\n  `OffsetVanoAncho` int(11) DEFAULT \'0\',\n  `OffsetVanoAlto` int(11) DEFAULT \'0\',\n  `CoefVanoAncho` decimal(16,8) DEFAULT \'1.00000000\',\n  `CoefVanoAlto` decimal(16,8) DEFAULT \'1.00000000\',\n  `ComposicOBS` varchar(25) DEFAULT NULL,\n  PRIMARY KEY (`ProductoID`,`ElementoID`,`ComposicID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(1211,'[[Category:TABLAS]]\n== Composición ==\n[[VISTA:visproadic]]\n\n== Estructura ==\n*Cada acción de alta de [[TABLA:productos]] genera un registro en [[TABLA:composicion]] para poder copiar y tener el concepto del \"Producto Propiamente Dicho\".\n*El registro copiado de la acción anterior tiene tanto el producto como el elemento iguales y marca al atributo ElementoPM (Elemento Primordial) en 1 indicando que ese es un elemento básico.\n*Los registros de elementos de productos puede no tener el \"Producto Propiamente Dicho\".\n*Para que pueda ofrecer el cálculo de un elemento compuesto, la definición del producto \"elemento compuesto\" no debería tener la redundancia de origen, o sea, tanto el producto como el elemento iguales.\n*La asignación de valores de Coeficientes (Generales y de Ancho/Alto) y Offset para \"elementos compuestos\" no será tomado en cuenta. Solo se tomará como válido provisoriamente los Coeficientes y Offset de la elemento resultante.\n*Pueden repetirse el conjunto Producto-Elemento ya que por cada repetición se agrega un identificativo no visible.\n\n== SQL ==\n<pre>\nCREATE TABLE `composicion` (\n  `ProductoID` char(8) NOT NULL,\n  `ElementoID` char(8) NOT NULL,\n  `ComposicID` int(11) NOT NULL AUTO_INCREMENT,\n  `ValorElemento` decimal(16,8) DEFAULT \'1.00000000\',\n  `ElementoPM` int(1) DEFAULT \'0\',\n  `OffsetVanoAncho` int(11) DEFAULT \'0\',\n  `OffsetVanoAlto` int(11) DEFAULT \'0\',\n  `CoefVanoAncho` decimal(16,8) DEFAULT \'1.00000000\',\n  `CoefVanoAlto` decimal(16,8) DEFAULT \'1.00000000\',\n  `ComposicOBS` varchar(25) DEFAULT NULL,\n  PRIMARY KEY (`ProductoID`,`ElementoID`,`ComposicID`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n*20120904\n**Agrega atributo ComposicID AutoIncremental que hace diferenciar aquellos productos que tienen la dupla PK Producto/Elemento iguales.\n*20130322\n**Agrega atributo ComposicOBS que permite describir de mejor forma aquellos productos que tienen la dupla PK Producto/Elemento iguales.','utf-8'),(1212,'===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.[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'),(1213,'===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'),(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'),(1321,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\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'),(1322,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*[[BTCR:20131007]].[[FORM:ConsultaClientesCRM]]. Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]]\n\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'),(1323,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007\n*:Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n== Uso ==','utf-8'),(1324,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007\n*:Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n*:<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n== Uso ==','utf-8'),(1325,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007\n*:Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n== Uso ==','utf-8'),(1326,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007\n:Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n\n== Uso ==','utf-8'),(1327,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007:Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n\n== Uso ==','utf-8'),(1328,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n*:<code> SELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</code>\n\n== Uso ==','utf-8'),(1329,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n\n== Uso ==','utf-8'),(1330,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*: Se cambian las referencias con los subformularios de ClienteID a ContactoID\n\n== Uso ==','utf-8'),(1331,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*: Se cambian las referencias con los subformularios de ClienteID a ContactoID\n\n== Uso ==','utf-8'),(1332,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[TABLA:contactos]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten2]]\n*[[TABLA:accreceiv]]\n\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*: Se cambian las referencias con los subformularios de ClienteID a ContactoID\n\n== Uso ==','utf-8'),(1333,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n*[[FORM:ConsultaClientesCRM.SFPresupuestos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*: Se cambian las referencias con los subformularios de ClienteID a ContactoID\n\n== Uso ==','utf-8'),(1334,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n<dd>\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*: Se cambian las referencias con los subformularios de ClienteID a ContactoID\n\n== Uso ==','utf-8'),(1335,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n<dd>\n<pre>\nSELECT DISTINCT \n    `vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    SUM( `vidquoten3`.`VidQuotePrecioP` ) AS `VidQuotePrecioP` \nFROM { OJ `fzggestion`.`vidquoten1` AS `vidquoten1` \n    RIGHT OUTER JOIN `fzggestion`.`vidquoten3` AS `vidquoten3`\n    ON `vidquoten1`.`VidQuoteID` = `vidquoten3`.`VidQuoteID` } \nWHERE `vidquoten1`.`VidQuoteEstado` = \'1\' \nGROUP BY `vidquoten3`.`VidQuoteID` \nORDER BY `VidQuoteCliente` ASC, `VidQuoteID` ASC\n</pre>\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*: Se cambian las referencias con los subformularios de ClienteID a ContactoID\n*: Se cambia la rutina asociada al atributo txtFiltro de [[MACR:ActivaFiltroProductosGeneral]] a [[MACR:ActivaFiltroContactos]]\n== Uso ==','utf-8'),(1336,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n<dd>\n<pre>\nSELECT DISTINCT \n    `vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    SUM( `vidquoten3`.`VidQuotePrecioP` ) AS `VidQuotePrecioP` \nFROM { OJ `fzggestion`.`vidquoten1` AS `vidquoten1` \n    RIGHT OUTER JOIN `fzggestion`.`vidquoten3` AS `vidquoten3`\n    ON `vidquoten1`.`VidQuoteID` = `vidquoten3`.`VidQuoteID` } \nWHERE `vidquoten1`.`VidQuoteEstado` = \'1\' \nGROUP BY `vidquoten3`.`VidQuoteID` \nORDER BY `VidQuoteCliente` ASC, `VidQuoteID` ASC\n</pre>\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n*20131007\n*: Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<dl>\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre>\n*: Se cambian las referencias con los subformularios de ClienteID a ContactoID\n*: Se cambia la rutina asociada al atributo txtFiltro de [[MACR:ActivaFiltroProductosGeneral]] a [[MACR:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1337,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n<dl>\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></dl>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n<dd>\n<pre>\nSELECT DISTINCT \n    `vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    SUM( `vidquoten3`.`VidQuotePrecioP` ) AS `VidQuotePrecioP` \nFROM { OJ `fzggestion`.`vidquoten1` AS `vidquoten1` \n    RIGHT OUTER JOIN `fzggestion`.`vidquoten3` AS `vidquoten3`\n    ON `vidquoten1`.`VidQuoteID` = `vidquoten3`.`VidQuoteID` } \nWHERE `vidquoten1`.`VidQuoteEstado` = \'1\' \nGROUP BY `vidquoten3`.`VidQuoteID` \nORDER BY `VidQuoteCliente` ASC, `VidQuoteID` ASC\n</pre>\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n*20131007\n**Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<dl>\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></dl>\n*20131007 (mismo día anterior)\n**Se cambian las referencias con los subformularios de ClienteID a ContactoID\n**Se cambia la rutina asociada al atributo txtFiltro de [[MACR:ActivaFiltroProductosGeneral]] a [[MACR:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1338,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*[[BTCR:20131007]].[[FORM:ConsultaClientesCRM]]. Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]]. [[FORM:ConsultaClientesCRM#Bitácora.20131007]]\n\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'),(1339,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n<dl>\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></dl>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n<dd>\n<pre>\nSELECT DISTINCT \n    `vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    SUM( `vidquoten3`.`VidQuotePrecioP` ) AS `VidQuotePrecioP` \nFROM { OJ `fzggestion`.`vidquoten1` AS `vidquoten1` \n    RIGHT OUTER JOIN `fzggestion`.`vidquoten3` AS `vidquoten3`\n    ON `vidquoten1`.`VidQuoteID` = `vidquoten3`.`VidQuoteID` } \nWHERE `vidquoten1`.`VidQuoteEstado` = \'1\' \nGROUP BY `vidquoten3`.`VidQuoteID` \nORDER BY `VidQuoteCliente` ASC, `VidQuoteID` ASC\n</pre>\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n==== Bitácora.20131007 ====\n*Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<dl>\n<dd>\n<pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></dl>\n*Se cambian las referencias con los subformularios de ClienteID a ContactoID\n*Se cambia la rutina asociada al atributo txtFiltro de [[MACR:ActivaFiltroProductosGeneral]] a [[MACR:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1340,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n\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'),(1341,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok\n**Contactos>Contactos. 20131008.ok\n\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n\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'),(1342,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*[[FORM:PosicionCRM.MainForm]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre>\n</dl>\n*[[FORM:PosicionCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre>\n</dl>\n*[[FORM:PosicionCRM.SFCobranzas]]\n*[[FORM:PosicionCRM.SubFormSaldo]]\n*[[FORM:PosicionCRM.SubFormCliente]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:clientes]]\n\n== Estructura ==\n<small><pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre></small>\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n== Uso ==','utf-8'),(1343,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*[[FORM:PosicionCRM.MainForm]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre>\n</dl>\n**[[FORM:PosicionCRM.SFPresupuesto]]\n***[[TABLA:vidquoten1]]\n***[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre>\n</dl>\n**[[FORM:PosicionCRM.SFCobranzas]]\n***[[TABLA:accreceiv]]\n**[[FORM:PosicionCRM.SubFormSaldo]]\n***[[TABLA:vidquoten1]]\n***[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n</dl>\n*[[FORM:PosicionCRM.SubFormCliente]]\n*[[TABLA:vidquoten1]]\n*[[TABLA:vidquoten3]]\n*[[TABLA:clientes]]\n\n== Estructura ==\n<small><pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre></small>\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n== Uso ==','utf-8'),(1344,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*[[FORM:PosicionCRM.MainForm]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre>\n</dl>\n:*[[FORM:PosicionCRM.SFPresupuesto]]\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre>\n</dl>\n:*[[FORM:PosicionCRM.SFCobranzas]]\n::*[[TABLA:accreceiv]]\n:*[[FORM:PosicionCRM.SubFormSaldo]]\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n</dl>\n:*======FORM:PosicionCRM.SubFormCliente======\n::*[[TABLA:contactos]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ContactoID,\n    NContacto,\n    RazonSocial,\n    Direccion,\n    Localidad,\n    ClienteTag,\n    Telefono1,\n    Correo1\nFROM\n    fzggestion.contactos AS contactos\nWHERE\n    ClienteTag = 1\nORDER BY ContactoID ASC\n</pre>\n</dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n==== Bitácora.20131008 ====\n* Se realiza el cambio del data source del [[FORM:PosicionCRM.SubFormCliente]] cambiando la VISTA:clientes por el SQLCode descripto [[FORM:PosicionCRM#Composicion|anteriormente]]\n\n== Uso ==','utf-8'),(1345,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*FORM:PosicionCRM.MainForm\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre>\n</dl>\n:*FORM:PosicionCRM.SFPresupuesto\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre>\n</dl>\n:*FORM:PosicionCRM.SFCobranzas\n::*[[TABLA:accreceiv]]\n:*FORM:PosicionCRM.SubFormSaldo\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n</dl>\n:*FORM:PosicionCRM.SubFormCliente\n::*[[TABLA:contactos]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ContactoID,\n    NContacto,\n    RazonSocial,\n    Direccion,\n    Localidad,\n    ClienteTag,\n    Telefono1,\n    Correo1\nFROM\n    fzggestion.contactos AS contactos\nWHERE\n    ClienteTag = 1\nORDER BY ContactoID ASC\n</pre>\n</dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n==== Bitácora.20131008 ====\n* Se realiza el cambio del data source del [[FORM:PosicionCRM.SubFormCliente]] cambiando la VISTA:clientes por el SQLCode descripto [[FORM:PosicionCRM#Composicion|anteriormente]]\n\n== Uso ==','utf-8'),(1346,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*FORM:PosicionCRM.MainForm\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre>\n</dl>\n:*FORM:PosicionCRM.SFPresupuesto\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre>\n</dl>\n:*FORM:PosicionCRM.SFCobranzas\n::*[[TABLA:accreceiv]]\n:*FORM:PosicionCRM.SubFormSaldo\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n</dl>\n:*FORM:PosicionCRM.SubFormCliente\n::*[[TABLA:contactos]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ContactoID,\n    NContacto,\n    RazonSocial,\n    Direccion,\n    Localidad,\n    ClienteTag,\n    Telefono1,\n    Correo1\nFROM\n    fzggestion.contactos AS contactos\nWHERE\n    ClienteTag = 1\nORDER BY ContactoID ASC\n</pre>\n</dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n==== Bitácora.20131008 ====\n* Se elimina el SubForm SFPresupuesto (puede haber quedado en forma residual de copiar otro Formulario\n* Se elimina el SubForm SFCobranzas (puede haber quedado en forma residual de copiar otro Formulario\n* Se realiza el cambio del data source del [[FORM:PosicionCRM.SubFormCliente]] cambiando la VISTA:clientes por el SQLCode descripto [[FORM:PosicionCRM#Composicion|anteriormente]].\n** Se cambian las referencias en el DataGrid debido al cambio de datasource\n* Se cambia la activación de por contenido del atributo txtFiltro de [[MACRO:ActivaFiltroProductosGeneral]] a [[MACRO:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1347,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*FORM:PosicionCRM.MainForm\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n:*FORM:PosicionCRM.SubFormSaldo\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n</dl>\n:*FORM:PosicionCRM.SubFormCliente\n::*[[TABLA:contactos]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ContactoID,\n    NContacto,\n    RazonSocial,\n    Direccion,\n    Localidad,\n    ClienteTag,\n    Telefono1,\n    Correo1\nFROM\n    fzggestion.contactos AS contactos\nWHERE\n    ClienteTag = 1\nORDER BY ContactoID ASC\n</pre>\n</dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n==== Bitácora.20131008 ====\n* Se elimina el SubForm SFPresupuesto (puede haber quedado en forma residual de copiar otro Formulario\n</pre>\n</dl>\n:*FORM:PosicionCRM.SFPresupuesto\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre>\n</dl>\n* Se elimina el SubForm SFCobranzas (puede haber quedado en forma residual de copiar otro Formulario\n**FORM:PosicionCRM.SFCobranzas\n***[[TABLA:accreceiv]]\n* Se realiza el cambio del data source del [[FORM:PosicionCRM.SubFormCliente]] cambiando la VISTA:clientes por el SQLCode descripto [[FORM:PosicionCRM#Composicion|anteriormente]].\n** Se cambian las referencias en el DataGrid debido al cambio de datasource\n* Se cambia la activación de por contenido del atributo txtFiltro de [[MACRO:ActivaFiltroProductosGeneral]] a [[MACRO:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1348,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*FORM:PosicionCRM.MainForm\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n:*FORM:PosicionCRM.SubFormSaldo\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre>\n</dl>\n:*FORM:PosicionCRM.SubFormCliente\n::*[[TABLA:contactos]]\n<dl>\n<dd>\n<pre>\nSELECT \n    ContactoID,\n    NContacto,\n    RazonSocial,\n    Direccion,\n    Localidad,\n    ClienteTag,\n    Telefono1,\n    Correo1\nFROM\n    fzggestion.contactos AS contactos\nWHERE\n    ClienteTag = 1\nORDER BY ContactoID ASC\n</pre>\n</dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n==== Bitácora.20131008 ====\n* Se elimina el SubForm SFPresupuesto (puede haber quedado en forma residual de copiar otro Formulario\n**FORM:PosicionCRM.SFPresupuesto\n***[[TABLA:vidquoten1]]\n***[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<small><pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre></small>\n</dl>\n* Se elimina el SubForm SFCobranzas (puede haber quedado en forma residual de copiar otro Formulario\n**FORM:PosicionCRM.SFCobranzas\n***[[TABLA:accreceiv]]\n* Se realiza el cambio del data source del [[FORM:PosicionCRM.SubFormCliente]] cambiando la VISTA:clientes por el SQLCode descripto [[FORM:PosicionCRM#Composicion|anteriormente]].\n** Se cambian las referencias en el DataGrid debido al cambio de datasource\n* Se cambia la activación de por contenido del atributo txtFiltro de [[MACRO:ActivaFiltroProductosGeneral]] a [[MACRO:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1349,'== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*FORM:PosicionCRM.MainForm\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl><dd>\n<small><pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre></small>\n</dl>\n:*FORM:PosicionCRM.SubFormSaldo\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small>\n</dl>\n:*FORM:PosicionCRM.SubFormCliente\n::*[[TABLA:contactos]]\n<dl>\n<dd>\n<small><pre>\nSELECT \n    ContactoID,\n    NContacto,\n    RazonSocial,\n    Direccion,\n    Localidad,\n    ClienteTag,\n    Telefono1,\n    Correo1\nFROM\n    fzggestion.contactos AS contactos\nWHERE\n    ClienteTag = 1\nORDER BY ContactoID ASC\n</pre></small>\n</dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n==== Bitácora.20131008 ====\n* Se elimina el SubForm SFPresupuesto (puede haber quedado en forma residual de copiar otro Formulario\n**FORM:PosicionCRM.SFPresupuesto\n***[[TABLA:vidquoten1]]\n***[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<small><pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre></small>\n</dl>\n* Se elimina el SubForm SFCobranzas (puede haber quedado en forma residual de copiar otro Formulario\n**FORM:PosicionCRM.SFCobranzas\n***[[TABLA:accreceiv]]\n* Se realiza el cambio del data source del [[FORM:PosicionCRM.SubFormCliente]] cambiando la VISTA:clientes por el SQLCode descripto [[FORM:PosicionCRM#Composicion|anteriormente]].\n** Se cambian las referencias en el DataGrid debido al cambio de datasource\n* Se cambia la activación de por contenido del atributo txtFiltro de [[MACRO:ActivaFiltroProductosGeneral]] a [[MACRO:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1350,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n<dl><dd>\n<small><pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></small></dl>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n<dl><dd>\n<small><pre>\nSELECT DISTINCT \n    `vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    SUM( `vidquoten3`.`VidQuotePrecioP` ) AS `VidQuotePrecioP` \nFROM { OJ `fzggestion`.`vidquoten1` AS `vidquoten1` \n    RIGHT OUTER JOIN `fzggestion`.`vidquoten3` AS `vidquoten3`\n    ON `vidquoten1`.`VidQuoteID` = `vidquoten3`.`VidQuoteID` } \nWHERE `vidquoten1`.`VidQuoteEstado` = \'1\' \nGROUP BY `vidquoten3`.`VidQuoteID` \nORDER BY `VidQuoteCliente` ASC, `VidQuoteID` ASC\n</pre></small></dl>\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dl><dd>\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small></dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n==== Bitácora.20131007 ====\n*Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<dl><dd>\n<small><pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></small></dl>\n*Se cambian las referencias con los subformularios de ClienteID a ContactoID\n*Se cambia la rutina asociada al atributo txtFiltro de [[MACR:ActivaFiltroProductosGeneral]] a [[MACR:ActivaFiltroContactos]]\n\n== Uso ==','utf-8'),(1351,'[[Category:FORM]]\n== Descripción ==\nVisualización del Resumen de Saldos de CRM. Comparación de saldos de presupuestos aprobados versus cobranzas\n== Composición ==\n*FORM:PosicionCRM.MainForm\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten3]]\n<dl><dd>\n<small><pre>\nSELECT \n    ClienteID,\n    TDocumentOrg,\n    NDocumentoOrg,\n    FechaOp,\n    SUM(ImporteDeu) AS SaldoDeudor,\n    SUM(ImporteAcr) AS SaldoAcreedor,\n    SUM(ImporteDeu)-SUM(ImporteAcr) AS Saldo\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente AS ClienteID,\n        \'OT\' AS TDocumentOrg,\n        vidquoten3.VidQuoteID AS NDocumentoOrg,\n        vidquoten1.VidQuoteFecha AS FechaOp,\n        SUM(vidquoten3.VidQuotePrecioP) AS ImporteDeu,\n        0 AS ImporteAcr\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP BY ClienteID,NDocumentoOrg)\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) AS ClienteID,\n        `accreceiv`.`TDocumentoOrg`,\n        `accreceiv`.`NDocumentoOrg`,\n        `accreceiv`.`FechaAR` AS FechaOp,\n        0 AS ImporteDeu,\n        `accreceiv`.`ImporteAR` AS ImporteAcr\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY ClienteID\n</pre></small>\n</dl>\n:*FORM:PosicionCRM.SubFormSaldo\n::*[[TABLA:vidquoten1]]\n::*[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small>\n</dl>\n:*FORM:PosicionCRM.SubFormCliente\n::*[[TABLA:contactos]]\n<dl>\n<dd>\n<small><pre>\nSELECT \n    ContactoID,\n    NContacto,\n    RazonSocial,\n    Direccion,\n    Localidad,\n    ClienteTag,\n    Telefono1,\n    Correo1\nFROM\n    fzggestion.contactos AS contactos\nWHERE\n    ClienteTag = 1\nORDER BY ContactoID ASC\n</pre></small>\n</dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:ReporteClientesCRM]]\n== Bitácora ==\n==== Bitácora.20131008 ====\n* Se elimina el SubForm SFPresupuesto (puede haber quedado en forma residual de copiar otro Formulario\n**FORM:PosicionCRM.SFPresupuesto\n***[[TABLA:vidquoten1]]\n***[[TABLA:vidquoten3]]\n<dl>\n<dd>\n<small><pre>\nSELECT DISTINCT\n    vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n    vidquoten3.VidQuoteID AS VidQuoteID,\n    vidquoten1.VidQuoteObra AS VidQuoteObra,\n    vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n    vidquoten1.VidQuoteEstado AS VidQuoteEstado,\n    SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\nFROM\n    { OJ fzggestion.vidquoten1 AS vidquoten1\n        RIGHT OUTER JOIN\n    fzggestion.vidquoten3 AS vidquoten3 \n        ON vidquoten1.VidQuoteID = vidquoten3.VidQuoteID }\nWHERE\n    vidquoten1.VidQuoteEstado = \'1\'\nGROUP BY vidquoten3.VidQuoteID\nORDER BY VidQuoteCliente ASC , VidQuoteID ASC\n</pre></small>\n</dl>\n* Se elimina el SubForm SFCobranzas (puede haber quedado en forma residual de copiar otro Formulario\n**FORM:PosicionCRM.SFCobranzas\n***[[TABLA:accreceiv]]\n* Se realiza el cambio del data source del [[FORM:PosicionCRM.SubFormCliente]] cambiando la VISTA:clientes por el SQLCode descripto [[FORM:PosicionCRM#Composicion|anteriormente]].\n** Se cambian las referencias en el DataGrid debido al cambio de datasource\n* Se cambia la activación de por contenido del atributo txtFiltro de [[MACRO:ActivaFiltroProductosGeneral]] a [[MACRO:ActivaFiltroContactos]]\n\n== Uso ==','utf-8');
INSERT INTO `peg_text` VALUES (1352,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok\n**Contactos>Contactos. 20131008.ok\n**Contactos>Posicion CRM. 20131008.ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131007]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid.\n\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'),(1353,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok\n**Contactos>Contactos. 20131008.ok\n**Contactos>Posicion CRM. 20131008.ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid.\n\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'),(1354,'[[Category:FORM]]\n== Descripción ==\nDetalle de Eventos y sucesos registrables para ampliar la información histórica de los clientes\n== Composición ==\n*FORM:BitacoraCRM.BitacoraResumen\n:*[[TABLA:bitacoracrm]]\n:*[[TABLA:contactos]]\n<dl><dd><small><pre>\nSELECT \n    bitacoracrm.BitacoraID,\n    bitacoracrm.BitacoraCT,\n    contactos.RazonSocial,\n    bitacoracrm.BitacoraQT,\n    bitacoracrm.BitacoraFecha,\n    bitacoracrm.BitacoraHora,\n    bitacoracrm.BitacoraUsr,\n    LEFT(BitacoraTexto, 45) AS BitacoraTexto\nFROM\n    fzggestion.bitacoracrm AS bitacoracrm,\n    fzggestion.contactos AS contactos\nWHERE\n    bitacoracrm.BitacoraCT = contactos.ContactoID\n</pre></small></dl>\n:*FORM:BitacoraCRM.BitacoraDetalle\n::*[[TABLA:bitacoracrm]]\n== Código Relacionado ==\n== Bitácora ==\n== Uso ==','utf-8'),(1355,'[[Category:FORM]]\n== Descripción ==\nDetalle de Eventos y sucesos registrables para ampliar la información histórica de los clientes\n== Composición ==\n*FORM:BitacoraCRM.BitacoraResumen\n:*[[TABLA:bitacoracrm]]\n:*[[TABLA:contactos]]\n<dl><dd><small><pre>\nSELECT \n    bitacoracrm.BitacoraID,\n    bitacoracrm.BitacoraCT,\n    contactos.RazonSocial,\n    bitacoracrm.BitacoraQT,\n    bitacoracrm.BitacoraFecha,\n    bitacoracrm.BitacoraHora,\n    bitacoracrm.BitacoraUsr,\n    LEFT(BitacoraTexto, 45) AS BitacoraTexto\nFROM\n    fzggestion.bitacoracrm AS bitacoracrm,\n    fzggestion.contactos AS contactos\nWHERE\n    bitacoracrm.BitacoraCT = contactos.ContactoID\n</pre></small></dl>\n:*FORM:BitacoraCRM.BitacoraDetalle\n::*[[TABLA:bitacoracrm]]\n== Código Relacionado ==\n== Bitácora ==\n==== BitácoraCRM.20131008 ====\n* Se cambió el nombre del atributo BitacoraCT por ContactoCT para poder hacer uso del [[MACRO:ActivaFiltroContacto]] en vez del [[MACRO:ActivaFiltroProductosGeneral]] que estaba siendo usado erróneamente.\n* Se cambió los link de referencia entre [[FORM:BitacoraCRM.BitacoraResumen]] y [[FORMBitacoraCRM.BitacoraDetalle]]\n\n== Uso ==','utf-8'),(1356,'[[Category:FORM]]\n== Descripción ==\nDetalle de Eventos y sucesos registrables para ampliar la información histórica de los clientes\n== Composición ==\n*FORM:BitacoraCRM.BitacoraResumen\n:*[[TABLA:bitacoracrm]]\n:*[[TABLA:contactos]]\n<dl><dd><small><pre>\nSELECT \n    bitacoracrm.BitacoraID,\n    bitacoracrm.BitacoraCT AS ContactoID,\n    contactos.RazonSocial,\n    bitacoracrm.BitacoraQT,\n    bitacoracrm.BitacoraFecha,\n    bitacoracrm.BitacoraHora,\n    bitacoracrm.BitacoraUsr,\n    LEFT(BitacoraTexto, 45) AS BitacoraTexto\nFROM\n    fzggestion.bitacoracrm AS bitacoracrm,\n    fzggestion.contactos AS contactos\nWHERE\n    bitacoracrm.BitacoraCT = contactos.ContactoID\n</pre></small></dl>\n:*FORM:BitacoraCRM.BitacoraDetalle\n::*[[TABLA:bitacoracrm]]\n\n== Código Relacionado ==\n== Bitácora ==\n==== BitácoraCRM.20131008 ====\n* Se cambió el nombre del atributo BitacoraCT por ContactoCT para poder hacer uso del [[MACRO:ActivaFiltroContacto]] en vez del [[MACRO:ActivaFiltroProductosGeneral]] que estaba siendo usado erróneamente.\n* Se cambió los link de referencia entre [[FORM:BitacoraCRM.BitacoraResumen]] y [[FORMBitacoraCRM.BitacoraDetalle]]\n\n== Uso ==','utf-8'),(1357,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.ok.\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta.\n\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'),(1358,'[[Category:MACRO]]\n== Descripción ==\nDefine el filtro para el Formulario correspondiente de acuerdo al atributo genérico txtFiltro y le aplica la serie de atributos en forma de filtro.\n== Biblioteca ==\nFazzGlassMcr\n== Composición ==\n== Código ==\n<small><pre>\nfunction ActivaFiltroProductosGeneral (oEvent) as boolean\n\nDim strQRYSearch As String\nDim oFiltroDB	As String\nDim oConnection As Object\nDim oForm 		As Object\nDim oControl	As String\nDim oFiltro		As String\n\n	TextoStatusBar(\"Aguarde un momento. Consulta en curso\")\n	oForm 		= oEvent.Source.Model.Parent\n	oControl	= oEvent.Source.Model.Name\n	oFiltro		= oForm.getByName(oControl).CurrentValue\n	oFiltroDB	= \"\"\n	if trim(oFiltro) <> \"\" Then\n		oFiltroDB	= oFiltroDB & \"`ProductoID` IN (SELECT productos.ProductoID FROM productos WHERE ProductoID LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR ProveedorID LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR Descripcion LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR CategoriaID LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\')\"\n	end if\n	oForm.Filter	= oFiltroDB\n	\'MsgBox(oForm.Filter)\n	oForm.reload()\n	TextoStatusBar(\"\")\nend function\n\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(1359,'[[Category:MACRO]]\n== Descripción ==\nDefine el filtro para el Formulario correspondiente de acuerdo al atributo genérico txtFiltro y le aplica la serie de atributos en forma de filtro.\n== Biblioteca ==\n[[LIBR:FazzGlassMcr]]\n\n== Composición ==\n== Código ==\n<small><pre>\nfunction ActivaFiltroProductosGeneral (oEvent) as boolean\n\nDim strQRYSearch As String\nDim oFiltroDB	As String\nDim oConnection As Object\nDim oForm 		As Object\nDim oControl	As String\nDim oFiltro		As String\n\n	TextoStatusBar(\"Aguarde un momento. Consulta en curso\")\n	oForm 		= oEvent.Source.Model.Parent\n	oControl	= oEvent.Source.Model.Name\n	oFiltro		= oForm.getByName(oControl).CurrentValue\n	oFiltroDB	= \"\"\n	if trim(oFiltro) <> \"\" Then\n		oFiltroDB	= oFiltroDB & \"`ProductoID` IN (SELECT productos.ProductoID FROM productos WHERE ProductoID LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR ProveedorID LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR Descripcion LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR CategoriaID LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\')\"\n	end if\n	oForm.Filter	= oFiltroDB\n	\'MsgBox(oForm.Filter)\n	oForm.reload()\n	TextoStatusBar(\"\")\nend function\n\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(1360,'[[Category:MACRO]]\n== Descripción ==\nDefine el filtro para el Formulario correspondiente de acuerdo al atributo genérico txtFiltro y le aplica la serie de atributos en forma de filtro en tablas asociadas a la [[TABLA:contactos]]\n== Biblioteca ==\n[[LIBR:FazzGlassMcr]]\n== Composición ==\n== Código ==\n<small><pre>\nfunction ActivaFiltroContactos (oEvent) as boolean\n\nDim strQRYSearch As String\nDim oFiltroDB	As String\nDim oConnection As Object\nDim oForm 		As Object\nDim oControl	As String\nDim oFiltro		As String\n\n	TextoStatusBar(\"Aguarde un momento. Consulta en curso\")\n	oForm 		= oEvent.Source.Model.Parent\n	oControl	= oEvent.Source.Model.Name\n	oFiltro		= Trim(oForm.getByName(oControl).CurrentValue)\n	oFiltroDB	= \"\"\n	if trim(oFiltro) <> \"\" Then\n		oFiltroDB	= oFiltroDB & \"`ContactoID` IN (SELECT ContactoID FROM contactos WHERE ContactoID LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"\' OR RazonSocial LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR Direccion LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR Localidad LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR Provincia LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\')\"\n	end if\n	oForm.Filter	= oFiltroDB\n	\'MsgBox(oForm.Filter)\n	oForm.reload()\n	TextoStatusBar(\"\")\nend function\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:BitacoraCRM]]\n*[[FORM:PosicionCRM]]\n*[[FORM:ConsultaClientesCRM]]','utf-8'),(1361,'[[Category:FORM]]\n== Descripción ==\nDetalle de Eventos y sucesos registrables para ampliar la información histórica de los clientes\n== Composición ==\n*FORM:BitacoraCRM.BitacoraResumen\n:*[[TABLA:bitacoracrm]]\n:*[[TABLA:contactos]]\n<dl><dd><small><pre>\nSELECT \n    bitacoracrm.BitacoraID,\n    bitacoracrm.BitacoraCT AS ContactoID,\n    contactos.RazonSocial,\n    bitacoracrm.BitacoraQT,\n    bitacoracrm.BitacoraFecha,\n    bitacoracrm.BitacoraHora,\n    bitacoracrm.BitacoraUsr,\n    LEFT(BitacoraTexto, 45) AS BitacoraTexto\nFROM\n    fzggestion.bitacoracrm AS bitacoracrm,\n    fzggestion.contactos AS contactos\nWHERE\n    bitacoracrm.BitacoraCT = contactos.ContactoID\n</pre></small></dl>\n:*FORM:BitacoraCRM.BitacoraDetalle\n::*[[TABLA:bitacoracrm]]\n\n== Código Relacionado ==\n== Bitácora ==\n==== BitácoraCRM.20131008 ====\n* Se cambió el nombre del atributo BitacoraCT por ContactoCT para poder hacer uso del [[MACRO:ActivaFiltroContactos]] en vez del [[MACRO:ActivaFiltroProductosGeneral]] que estaba siendo usado erróneamente.\n* Se cambió los link de referencia entre [[FORM:BitacoraCRM.BitacoraResumen]] y [[FORMBitacoraCRM.BitacoraDetalle]]\n\n== Uso ==','utf-8'),(1362,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta.\n\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'),(1363,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro.\n\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'),(1364,'[[Category:FORM]]\n== Descripción ==\nDetalle de Eventos y sucesos registrables para ampliar la información histórica de los clientes\n== Composición ==\n*FORM:BitacoraCRM.BitacoraResumen\n:*[[TABLA:bitacoracrm]]\n:*[[TABLA:contactos]]\n<dl><dd><small><pre>\nSELECT \n    bitacoracrm.BitacoraID,\n    bitacoracrm.BitacoraCT AS ContactoID,\n    contactos.RazonSocial,\n    bitacoracrm.BitacoraQT,\n    bitacoracrm.BitacoraFecha,\n    bitacoracrm.BitacoraHora,\n    bitacoracrm.BitacoraUsr,\n    LEFT(BitacoraTexto, 45) AS BitacoraTexto\nFROM\n    fzggestion.bitacoracrm AS bitacoracrm,\n    fzggestion.contactos AS contactos\nWHERE\n    bitacoracrm.BitacoraCT = contactos.ContactoID\n</pre></small></dl>\n:*FORM:BitacoraCRM.BitacoraDetalle\n::*[[TABLA:bitacoracrm]]\n\n== Código Relacionado ==\n== Bitácora ==\n==== BitácoraCRM.20131008 ====\n* Se cambió el nombre del atributo BitacoraCT por ContactoCT para poder hacer uso del [[MACRO:ActivaFiltroContactos]] en vez del [[MACRO:ActivaFiltroProductosGeneral]] que estaba siendo usado erróneamente.\n* Se cambió los link de referencia entre [[FORM:BitacoraCRM.BitacoraResumen]] y [[FORMBitacoraCRM.BitacoraDetalle]]\n==== BitácoraCRM.20131017 ====\n* Se reestructuró el FORM dado que no funcionaba correctamente.\n* Se elimina la cascada de los formularios estableciendo un único formulario.\n* Se cambia el uso del evento para el filtro de [[MACRO:ActivaFiltroContactos]] a [[MACRO:ActivaFiltroBitacoras]] ya que cambia el origen de datos a la [[TABLA:bitacoraCRM]] en forma directa.\n* Al ser un FORM que solo tiene habilitado el alta de registraciones, para evitar que puedan efectuar ingresos en el doble estándar (Formulario PPD y Grid), cuando se produce el foco sobre el Grid, se aplican los eventos [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]] para activar y desactivar ingresos.\n\n== Uso ==','utf-8'),(1365,'[[Category:FORM]]\n== Descripción ==\nDetalle de Eventos y sucesos registrables para ampliar la información histórica de los clientes\n== Composición ==\n*[[TABLA:bitacoracrm]]\n*[[TABLA:contactos]]\n== Código Relacionado ==\n== Bitácora ==\n==== BitácoraCRM.20131008 ====\n* Se cambió el nombre del atributo BitacoraCT por ContactoCT para poder hacer uso del [[MACRO:ActivaFiltroContactos]] en vez del [[MACRO:ActivaFiltroProductosGeneral]] que estaba siendo usado erróneamente.\n* Se cambió los link de referencia entre [[FORM:BitacoraCRM.BitacoraResumen]] y [[FORMBitacoraCRM.BitacoraDetalle]]\n==== BitácoraCRM.20131017 ====\n* Se reestructuró el FORM dado que no funcionaba correctamente.\n* Se elimina la cascada de los formularios estableciendo un único formulario.\n* Se cambia el uso del evento para el filtro de [[MACRO:ActivaFiltroContactos]] a [[MACRO:ActivaFiltroBitacoras]] ya que cambia el origen de datos a la [[TABLA:bitacoraCRM]] en forma directa.\n* Al ser un FORM que solo tiene habilitado el alta de registraciones, para evitar que puedan efectuar ingresos en el doble estándar (Formulario PPD y Grid), cuando se produce el foco sobre el Grid, se aplican los eventos [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]] para activar y desactivar ingresos.\n* Composición anterior:\n**FORM:BitacoraCRM.BitacoraResumen\n**FORM:BitacoraCRM.BitacoraDetalle\n:*[[TABLA:bitacoracrm]]\n:*[[TABLA:contactos]]\n<dl><dd><small><pre>\nSELECT \n    bitacoracrm.BitacoraID,\n    bitacoracrm.BitacoraCT AS ContactoID,\n    contactos.RazonSocial,\n    bitacoracrm.BitacoraQT,\n    bitacoracrm.BitacoraFecha,\n    bitacoracrm.BitacoraHora,\n    bitacoracrm.BitacoraUsr,\n    LEFT(BitacoraTexto, 45) AS BitacoraTexto\nFROM\n    fzggestion.bitacoracrm AS bitacoracrm,\n    fzggestion.contactos AS contactos\nWHERE\n    bitacoracrm.BitacoraCT = contactos.ContactoID\n</pre></small></dl>\n\n== Uso ==','utf-8'),(1366,'[[Category:MACRO]]\n== Descripción ==\nActiva filtro sobre ActiveCommand en formularios\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n== Composición ==\n*[[TABLA:bitacoracrm]]\n*[[TABLA:contactos]]\n== Código ==\n<small><pre>\nfunction ActivaFiltroBitacoras (oEvent) as boolean\n\nDim strQRYSearch 	As String\nDim oFiltroDB			As String\nDim oConnection 	As Object\nDim oForm 				As Object\nDim oControl			As String\nDim oFiltro				As String\n\n	TextoStatusBar(\"Aguarde un momento. Consulta en curso\")\n	oForm 		= oEvent.Source.Model.Parent\n	oControl	= oEvent.Source.Model.Name\n	oFiltro		= Trim(oForm.getByName(oControl).CurrentValue)\n	oFiltroDB	= \"\"\n	if trim(oFiltro) <> \"\" Then\n		oFiltroDB	= oFiltroDB & \"BitacoraCT IN (\"\n		oFiltroDB	= oFiltroDB & \"SELECT BitacoraCT FROM \"\n		oFiltroDB	= oFiltroDB & \"(SELECT \"\n		oFiltroDB	= oFiltroDB & \"T2.BitacoraCT,\"\n		oFiltroDB	= oFiltroDB & \"T1.RazonSocial,\"\n		oFiltroDB	= oFiltroDB & \"T2.BitacoraAT,\"\n		oFiltroDB	= oFiltroDB & \"T2.BitacoraQT,\"\n		oFiltroDB	= oFiltroDB & \"T2.BitacoraTexto \"\n		oFiltroDB	= oFiltroDB & \"FROM \"\n		oFiltroDB	= oFiltroDB & \"contactos AS T1,\"\n		oFiltroDB	= oFiltroDB & \"bitacoracrm AS T2 \"\n		oFiltroDB	= oFiltroDB & \"WHERE \"\n		oFiltroDB	= oFiltroDB & \"T1.ContactoID = T2.BitacoraCT AND (\"\n		oFiltroDB	= oFiltroDB & \"T2.BitacoraCT LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR T1.RazonSocial LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR T2.BitacoraAT LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\' OR T2.BitacoraTexto LIKE \'%\"\n		oFiltroDB	= oFiltroDB & oFiltro\n		oFiltroDB	= oFiltroDB & \"%\')) AS T3)\"\n		\'InputBox(\"Query:\", \"Test\", oFiltroDB)\n	end if\n	oForm.Filter	= oFiltroDB\n	oForm.reload()\n	TextoStatusBar(\"\")\nend function\n</pre></small>\n== Bitácora ==\n== Uso ==\n[[FORM:BitacoraCRM]]','utf-8'),(1367,'[[Category:MACRO]]\n== Descripción ==\nDesactiva la posibilidad de insertar registros\n== Biblioteca ==\n[[LIBR:SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoWRFBitacoraGrid (oEvent as Object)\n	\'TestMRI\n	\'MRI oEvent.Source.Model.Parent\n	oForm	= ThisComponent.DrawPage.Forms.getByIndex(0)\n	ThisComponent.DrawPage.Forms.getByIndex(0).AllowInserts = False\n	oForm.reload()\nend Sub \n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:BitacoraCRM]]','utf-8'),(1368,'[[Category:MACRO]]\n== Descripción ==\nReactiva la posibilidad de insertar registros \n== Biblioteca ==\n[[LIBR:SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoWLFBitacoraGrid (oEvent as Object)\n	\'TestMRI\n	\'MRI oEvent.Source.Model.Parent\n	oForm	= ThisComponent.DrawPage.Forms.getByIndex(0)\n	oForm.AllowInserts = True\n	oForm.reload()\nend Sub \n</pre></small>\n== Bitácora ==\n== Uso ==\n[[FORM:BitacoraCRM]]','utf-8'),(1369,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.Ok.\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:Contactos]] a un query de los clientes que tengan movimiento.\n\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'),(1370,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n<dl><dd>\n<small><pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></small></dl>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n<dl><dd>\n<small><pre>\nSELECT DISTINCT \n    `vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    SUM( `vidquoten3`.`VidQuotePrecioP` ) AS `VidQuotePrecioP` \nFROM { OJ `fzggestion`.`vidquoten1` AS `vidquoten1` \n    RIGHT OUTER JOIN `fzggestion`.`vidquoten3` AS `vidquoten3`\n    ON `vidquoten1`.`VidQuoteID` = `vidquoten3`.`VidQuoteID` } \nWHERE `vidquoten1`.`VidQuoteEstado` = \'1\' \nGROUP BY `vidquoten3`.`VidQuoteID` \nORDER BY `VidQuoteCliente` ASC, `VidQuoteID` ASC\n</pre></small></dl>\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dl><dd>\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small></dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n==== Bitácora.20131007 ====\n*Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<dl><dd>\n<small><pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></small></dl>\n*Se cambian las referencias con los subformularios de ClienteID a ContactoID\n*Se cambia la rutina asociada al atributo txtFiltro de [[MACR:ActivaFiltroProductosGeneral]] a [[MACR:ActivaFiltroContactos]]\n==== Bitácora.20131018 ====\n*Se cambia nuevamente el origen de datos de TABLA:contactos por:\n<dl><dd>\n<small><pre>\nSELECT \n    VidQuoteCliente AS ContactoID,\n    T3.RazonSocial,\n    VidQuotePrecioP\nFROM\n    (SELECT \n        T1.VidQuoteCliente,\n            SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        ((SELECT \n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n            \'OT\' AS TTransaccion,\n            vidquoten3.VidQuoteID AS NTransaccion,\n            vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n            vidquoten1.VidQuoteObra AS VidQuoteObra,\n            SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1, vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente , TTransaccion , NTransaccion) UNION (SELECT \n        IF(ISNULL(accreceiv.ClienteAR), \'00000000\', accreceiv.ClienteAR) AS VidQuoteCliente,\n            accreceiv.TDocumentoOrg AS TTransaccion,\n            accreceiv.NDocumentoOrg AS NTransaccion,\n            accreceiv.FechaAR AS VidQuoteFecha,\n            \'\' AS VidQuoteObra,\n            accreceiv.ImporteAR * - 1 AS VidQuotePrecioP\n    FROM\n        fzggestion.accreceiv)) AS T1\n    GROUP BY T1.VidQuoteCliente) AS T2,\n    contactos AS T3\nWHERE\n    T2.VidQuoteCliente = T3.ContactoID\n</pre></small></dl>\n\n== Uso ==','utf-8'),(1371,'[[Category:FORM]]\n== Descripción ==\nConsulta resumen de los presupuestos y pagos de clientes basado en su ContactoID. Los presupuestos que figuran son solo aquellos que se encuentren aprobados (cerrados y pasados a Taller).\n== Composición ==\n*[[FORM:ConsultaClientesCRM.MainForm]]\n**[[TABLA:contactos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dl><dd>\n<small><pre>\nSELECT \n    VidQuoteCliente AS ContactoID,\n    T3.RazonSocial,\n    VidQuotePrecioP\nFROM\n    (SELECT \n        T1.VidQuoteCliente,\n            SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        ((SELECT \n        vidquoten1.VidQuoteCliente AS VidQuoteCliente,\n            \'OT\' AS TTransaccion,\n            vidquoten3.VidQuoteID AS NTransaccion,\n            vidquoten1.VidQuoteFecha AS VidQuoteFecha,\n            vidquoten1.VidQuoteObra AS VidQuoteObra,\n            SUM(vidquoten3.VidQuotePrecioP) AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1, vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente , TTransaccion , NTransaccion) UNION (SELECT \n        IF(ISNULL(accreceiv.ClienteAR), \'00000000\', accreceiv.ClienteAR) AS VidQuoteCliente,\n            accreceiv.TDocumentoOrg AS TTransaccion,\n            accreceiv.NDocumentoOrg AS NTransaccion,\n            accreceiv.FechaAR AS VidQuoteFecha,\n            \'\' AS VidQuoteObra,\n            accreceiv.ImporteAR * - 1 AS VidQuotePrecioP\n    FROM\n        fzggestion.accreceiv)) AS T1\n    GROUP BY T1.VidQuoteCliente) AS T2,\n    contactos AS T3\nWHERE\n    T2.VidQuoteCliente = T3.ContactoID\n</pre></small></dl>\n*[[FORM:ConsultaClientesCRM.SFPresupuesto]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n<dl><dd>\n<small><pre>\nSELECT DISTINCT \n    `vidquoten1`.`VidQuoteCliente` AS `VidQuoteCliente`,\n    `vidquoten3`.`VidQuoteID` AS `VidQuoteID`,\n    `vidquoten1`.`VidQuoteObra` AS `VidQuoteObra`,\n    `vidquoten1`.`VidQuoteFecha` AS `VidQuoteFecha`,\n    `vidquoten1`.`VidQuoteEstado` AS `VidQuoteEstado`,\n    SUM( `vidquoten3`.`VidQuotePrecioP` ) AS `VidQuotePrecioP` \nFROM { OJ `fzggestion`.`vidquoten1` AS `vidquoten1` \n    RIGHT OUTER JOIN `fzggestion`.`vidquoten3` AS `vidquoten3`\n    ON `vidquoten1`.`VidQuoteID` = `vidquoten3`.`VidQuoteID` } \nWHERE `vidquoten1`.`VidQuoteEstado` = \'1\' \nGROUP BY `vidquoten3`.`VidQuoteID` \nORDER BY `VidQuoteCliente` ASC, `VidQuoteID` ASC\n</pre></small></dl>\n*[[FORM:ConsultaClientesCRM.SubFormCobranzas]]\n**[[TABLA:accreceiv]]\n*[[FORM:ConsultaClientesCRM.SubFormSaldos]]\n**[[TABLA:vidquoten1]]\n**[[TABLA:vidquoten2]]\n**[[TABLA:accreceiv]]\n<dl><dd>\n<small><pre>\nSELECT \n    T1.VidQuoteCliente,\n    SUM(T1.VidQuotePrecioP) AS VidQuotePrecioP\nFROM \n    ((SELECT DISTINCT\n        vidquoten1.VidQuoteCliente  AS VidQuoteCliente,\n        \'OT\'                        AS TTransaccion,\n        vidquoten3.VidQuoteID       AS NTransaccion,\n        vidquoten1.VidQuoteFecha    AS VidQuoteFecha,\n        vidquoten1.VidQuoteObra     AS VidQuoteObra,\n        SUM(vidquoten3.VidQuotePrecioP) \n                                    AS VidQuotePrecioP\n    FROM\n        vidquoten1 AS vidquoten1,\n        vidquoten3 AS vidquoten3\n    WHERE\n        vidquoten1.VidQuoteID = vidquoten3.VidQuoteID AND\n        vidquoten1.VidQuoteEstado = \'1\'\n    GROUP By VidQuoteCliente,TTransaccion,NTransaccion)\n\n    UNION\n    (SELECT\n        IF(ISNULL(`accreceiv`.`ClienteAR`),\'00000000\',`accreceiv`.`ClienteAR`) \n                                        AS VidQuoteCliente,\n        `accreceiv`.`TDocumentoOrg`     AS TTransaccion,\n        `accreceiv`.`NDocumentoOrg`     AS NTransaccion,\n        `accreceiv`.`FechaAR`           AS VidQuoteFecha,\n        \'\'                              AS VidQuoteObra,\n        `accreceiv`.`ImporteAR` * -1    AS VidQuotePrecioP\n    FROM `fzggestion`.`accreceiv`)) AS T1\nGROUP BY T1.VidQuoteCliente\n</pre></small></dl>\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EliminaContenidoCampo]]\n*[[MACRO:ActivaFiltroContactos]]\n*[[MACRO:ReporteClientesCRM]]\n\n== Bitácora ==\n==== Bitácora.20131007 ====\n*Se cambia el origen de datos del MainForm de la VISTA:clientes a un SELECT de la [[TABLA:contactos]].\n<dl><dd>\n<small><pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas` \nFROM `fzggestion`.`contactos` AS `contactos` \nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></small></dl>\n*Se cambian las referencias con los subformularios de ClienteID a ContactoID\n*Se cambia la rutina asociada al atributo txtFiltro de [[MACR:ActivaFiltroProductosGeneral]] a [[MACR:ActivaFiltroContactos]]\n==== Bitácora.20131018 ====\n*Se cambia nuevamente el origen de datos para reflejar que solo se muestre en el Grid aquellos clientes que tienen transacciones y no todos los clientes. El SQL anterior:\n<dl><dd>\n<small><pre>\nSELECT `ContactoID`, `RazonSocial`, `ClienteTag`, `Telefono1`, `Correo1`, `Notas`\nFROM `fzggestion`.`contactos` AS `contactos`\nWHERE `ClienteTag` = 1 ORDER BY `ContactoID` ASC\n</pre></small></dl>\n== Uso ==','utf-8'),(1372,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.Ok.\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:Contactos]] a un query de los clientes que tengan movimiento.\n\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'),(1373,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.Ok.\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:Contactos]] a un query de los clientes que tengan movimiento.\n\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'),(1374,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.Ok.\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:Contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:ListaVigente]] ya que la misma no será parte de esta versión.\n\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'),(1375,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.Ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.Ok.\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n\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'),(1376,'[[Category:VISTAS]]\n== Descripción ==\nEsta vista ha sido desafectada incialmente ya que se trabaja bajo un esquema de lista única y modificable.\n== Composición ==\n*[[TABLA:precios]]\n== Estructura ==\n<pre>\nDELIMITER $$\nCREATE VIEW `listavigente` AS\nSELECT `listasprecios`.`Lista` AS `Lista`,\n       `listasprecios`.`Fecha` AS `Fecha`\nFROM `listasprecios`\nORDER BY `listasprecios`.`Lista` DESC LIMIT 1$\n</pre>\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1377,'[[Category:VISTAS]]\n== Descripción ==\nEsta vista ha sido desafectada incialmente ya que se trabaja bajo un esquema de lista única y modificable.\n== Composición ==\n*[[TABLA:precios]]\n== Estructura ==\n<pre>\nDELIMITER $$\nCREATE VIEW `listavigente` AS\nSELECT `listasprecios`.`Lista` AS `Lista`,\n       `listasprecios`.`Fecha` AS `Fecha`\nFROM `listasprecios`\nORDER BY `listasprecios`.`Lista` DESC LIMIT 1$$\n</pre>\n\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1378,'[[Category:VISTAS]]\n== Descripción ==\n\'\'\'Esta vista ha sido desafectada\'\'\' incialmente ya que se trabaja bajo un esquema de lista única y modificable.\n\n== Composición ==\n*[[TABLA:precios]]\n== Estructura ==\n<pre>\nDELIMITER $$\nCREATE VIEW `listavigente` AS\nSELECT `listasprecios`.`Lista` AS `Lista`,\n       `listasprecios`.`Fecha` AS `Fecha`\nFROM `listasprecios`\nORDER BY `listasprecios`.`Lista` DESC LIMIT 1$$\n</pre>\n\n== SQL ==\n<pre>\n</pre>\n== Bitácora ==\n== Uso ==\n== URL ==','utf-8'),(1379,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n\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'),(1380,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'.\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n\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'),(1381,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n\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'),(1382,'[[Category:FORM]]\n== Descripción ==\nMenú de lanzamiento de la aplicación\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:MenuBoton]]\n*[[MACRO:MenuLimpiar]]\n*[[MACRO:ExecuteProcess]]\n*[[MACRO:InicializaMenu]]\n*[[MACRO:ShowMainMenu]]\n*[[MACRO:OpenReport]]\n== Bitácora ==\n== Uso ==','utf-8'),(1383,'[[Category:FORM]]\n== Descripción ==\nMenú de lanzamiento de la aplicación\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:MenuBoton]]\n*[[MACRO:MenuLimpiar]]\n*[[MACRO:ExecuteProcess]]\n*[[MACRO:InicializaMenu]]\n*[[MACRO:ShowMainMenu]]\n*[[MACRO:OpenReport]]\n== Bitácora ==\n==== Bitácora.20131018 ====\nSe elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el FORM:ConsultaClientesCRM. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n\n== Uso ==','utf-8'),(1384,'[[Category:MACRO]]\n== Descripción ==\nEjecuta el proceso core del menú principal.\n\nConsta de 4 vectores:\n#Menu\n#:Screener del menú. Tiene que ser igual al objeto Listbox del FORM.\n#Tipo\n#:Tipo de objeto seleccionado: F=Form, S=Separador, R=Report\n#Objeto\n#:Nombre del Objeto\n#Path\n#:Cual es el árbol a recorrer (anidamiento del menú) para lograr la ejecución del proceso\n== Biblioteca ==\n== Composición ==\n== Código ==\n<small><pre>\nSub ExecuteProcess (oEvent AS Object)\nDim oParser As String\nDim vMenu()\nDim vTipo()\nDim vObjeto()\n\n	ItemSeleccionado 	=  oEvent.Source.SelectedItem\n	\' * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n	\' Warning. If MsgBox function call, oEvent is reset, so, take a value object to maintain parameters\n	\' * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n	vMenu	()		= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vMenu(0)	= Array(\"Consulta Clientes CRM\",_\n									\"Contactos\",_\n									\"Posicion CRM\",_\n									\"Bitacora CRM\",_\n									\"Reportes\",_\n									\" > Contactos\")\n	vMenu(1)	= Array(\"Cambio Masivo\",_\n									\"Masivo Coeficientes Actualizacion\",_\n									\"Precios General\",_\n									\"Precios Tabular Normal\",_\n									\"Precios Tabular por Procesos\",_\n									\"Reportes\",_\n									\" > Lista de Precios\")\n	vMenu(2)	= Array(\"Presupuestos\",_\n									\"Reportes\",_\n									\" > Presupuesto Activo\")\n	vMenu(3)	= Array(\"Categorias\",_\n									\"Composiciones\",_\n									\"  > Copia Composicion\",_\n									\"  > Masivo por Elemento\",_\n									\"  > Masivo por Producto\",_\n									\"  > Productos - Elementos\",_\n									\"Modulos\",_\n									\"  > Bocetos\",_\n									\"  > Modulos\",_\n									\"  > Modulos por Linea Control\",_\n									\"Productos\",_\n									\"Reportes\",_\n									\" > Productos\")\n	vMenu(4)	= Array(\"Cheques\",_\n									\"Cobranzas\",_\n									\"Pagos\")\n	vTipo()		= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vTipo(0)		= Array(\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(1)		= Array(\"F\",\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(2)		= Array(\"F\",\"S\",\"R\")\n	vTipo(3)		= Array(\"F\",\"S\",\"F\",\"F\",\"F\",\"F\",\"S\",\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(4)		= Array(\"F\",\"F\",\"F\")\n	vObjeto()	= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vObjeto(0)	= Array(\"Consulta Clientes CRM\",_\n									\"Contactos\",_\n									\"Posicion CRM\",_\n									\"Bitacora CRM\",_\n									\"SeparadorReportes\",_\n									\"Contactos -Resumen-\")\n	vObjeto(1)	= Array(\"Cambio Masivo\",_\n									\"Masivo Coeficientes Actualizacion\",_\n									\"Precios General\",_\n									\"Precios Tabular Normal\",_\n									\"Precios Tabular por Procesos\",_\n									\"SeparadorReportes\",_\n									\"Lista de Precios\")\n	vObjeto(2)	= Array(\"Presupuestos\",_\n									\"SeparadorReportes\",_\n									\"Presupuestos\")\n	vObjeto(3)	= Array(\"Categoria\",_\n									\"Composiciones\",_\n									\"Copia Composicion\",_\n									\"Masivo por Elemento\",_\n									\"Masivo por Producto\",_\n									\"Productos-Elementos\",_\n									\"Modulos\",_\n									\"Bocetos\",_\n									\"Modulos\",_\n									\"Modulos por Linea Control\",_\n									\"Productos\",_\n									\"SeparadorReportes\",_\n									\"Productos\")\n	vObjeto(4)	= Array(\"Cheques\",_\n									\"Cobranzas\",_\n									\"Pagos\")\n	vPath()	= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\")\n	vPath(0)	= Array(\"1.Gestion:Contactos:Consulta Clientes CRM\",_\n								\"1.Gestion:Contactos:Contactos\",_\n								\"1.Gestion:Contactos:Posicion CRM\",_\n								\"1.Gestion:Contactos:Bitacora CRM\",_\n								\"SeparadorReportes\",_\n								\"Contactos -Resumen-\")\n	vPath(1)	= Array(\"1.Gestion:Precios:Cambio Masivo\",_\n								\"1.Gestion:Precios:Masivo Coeficientes Actualizacion\",_\n								\"1.Gestion:Precios:Precios General\",_\n								\"1.Gestion:Precios:Precios Tabular Normal\",_\n								\"1.Gestion:Precios:Precios Tabular por Procesos\",_\n								\"SeparadorReportes\",_\n								\"Lista de Precios\")\n	vPath(2)	= Array(\"1.Gestion:Presupuestos:Presupuestos\",_\n								\"SeparadorReportes\",_\n								\"Presupuestos\")\n	vPath(3)	= Array(\"1.Gestion:Productos:Categoria\",_\n								\"1.Gestion:Productos:Composiciones\",_\n								\"1.Gestion:Productos:Composicion:Copia Composicion\",_\n								\"1.Gestion:Productos:Composicion:Masivo por Elemento\",_\n								\"1.Gestion:Productos:Composicion:Masivo por Producto\",_\n								\"1.Gestion:Productos:Composicion:Productos-Elementos\",_\n								\"1.Gestion:Productos:Modulos:Modulos\",_\n								\"1.Gestion:Productos:Modulos:Bocetos\",_\n								\"1.Gestion:Productos:Modulos:Modulos\",_\n								\"1.Gestion:Productos:Modulos:Modulos por Linea Control\",_\n								\"1.Gestion:Productos:Productos\",_\n								\"SeparadorReportes\",_\n								\"Productos\")\n	vPath(4)	= Array(\"1.Gestion:Valores:Cheques\",_\n								\"1.Gestion:Valores:Cobranzas\",_\n								\"1.Gestion:Valores:Pagos\")\n	select case oEvent.Source.ImplementationName\n		case \"com.sun.star.comp.forms.OButtonControl\"\n		case \"com.sun.star.comp.forms.OListBoxControl\"\n			For i = 0 To UBound(vMenu())\n				oUbicacion	= aSeek(vMenu(i),oEvent.Source.SelectedItem)\n				if 	oUbicacion <> -1 Then \n					\'i	= UBound(vMenu(i))\n					select case vTipo(i)(oUbicacion)\n						case \"F\":\n							oFormLaunch	= ThisDatabaseDocument.FormDocuments\n							vParser	= Split(vPath(i)(oUbicacion),\":\")\n							for j=0 to uBound(vParser())\n								oFormLaunch = oFormLaunch.getByName(vParser(j))\n							Next\n							oFormLaunch.Open()\n						case \"R\":\n							oReportLaunch	= ThisDatabaseDocument.ReportDocuments\n							vParser	= Split(vPath(i)(oUbicacion),\":\")\n							oParser	=  \"\"\n							for j=0 to uBound(vParser())\n								oReportLaunch = oReportLaunch.getByName(vParser(j))\n								oParser				= vParser(j)\n							Next\n							oContenedor	= ThisDatabaseDocument.ReportDocuments\n							oConexion		= ThisComponent.Parent.CurrentController.ActiveConnection\n							OpenReport(oContenedor, oConexion, oParser)\n					end select\n					i	= UBound(vMenu())\n				end if\n			Next i\n	end select\nend Sub\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(1385,'[[Category:MACRO]]\n== Descripción ==\nEjecuta el proceso core del menú principal.\n\nConsta de 4 vectores:\n#Menu\n#:Screener del menú. Tiene que ser igual al objeto Listbox del FORM.\n#Tipo\n#:Tipo de objeto seleccionado: F=Form, S=Separador, R=Report\n#Objeto\n#:Nombre del Objeto\n#Path\n#:Cual es el árbol a recorrer (anidamiento del menú) para lograr la ejecución del proceso\n== Biblioteca ==\n*[[LIBR:SpanexM]]\n\n== Composición ==\n== Código ==\n<small><pre>\nSub ExecuteProcess (oEvent AS Object)\nDim oParser As String\nDim vMenu()\nDim vTipo()\nDim vObjeto()\n\n	ItemSeleccionado 	=  oEvent.Source.SelectedItem\n	\' * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n	\' Warning. If MsgBox function call, oEvent is reset, so, take a value object to maintain parameters\n	\' * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n	vMenu	()		= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vMenu(0)	= Array(\"Consulta Clientes CRM\",_\n									\"Contactos\",_\n									\"Posicion CRM\",_\n									\"Bitacora CRM\",_\n									\"Reportes\",_\n									\" > Contactos\")\n	vMenu(1)	= Array(\"Cambio Masivo\",_\n									\"Masivo Coeficientes Actualizacion\",_\n									\"Precios General\",_\n									\"Precios Tabular Normal\",_\n									\"Precios Tabular por Procesos\",_\n									\"Reportes\",_\n									\" > Lista de Precios\")\n	vMenu(2)	= Array(\"Presupuestos\",_\n									\"Reportes\",_\n									\" > Presupuesto Activo\")\n	vMenu(3)	= Array(\"Categorias\",_\n									\"Composiciones\",_\n									\"  > Copia Composicion\",_\n									\"  > Masivo por Elemento\",_\n									\"  > Masivo por Producto\",_\n									\"  > Productos - Elementos\",_\n									\"Modulos\",_\n									\"  > Bocetos\",_\n									\"  > Modulos\",_\n									\"  > Modulos por Linea Control\",_\n									\"Productos\",_\n									\"Reportes\",_\n									\" > Productos\")\n	vMenu(4)	= Array(\"Cheques\",_\n									\"Cobranzas\",_\n									\"Pagos\")\n	vTipo()		= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vTipo(0)		= Array(\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(1)		= Array(\"F\",\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(2)		= Array(\"F\",\"S\",\"R\")\n	vTipo(3)		= Array(\"F\",\"S\",\"F\",\"F\",\"F\",\"F\",\"S\",\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(4)		= Array(\"F\",\"F\",\"F\")\n	vObjeto()	= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vObjeto(0)	= Array(\"Consulta Clientes CRM\",_\n									\"Contactos\",_\n									\"Posicion CRM\",_\n									\"Bitacora CRM\",_\n									\"SeparadorReportes\",_\n									\"Contactos -Resumen-\")\n	vObjeto(1)	= Array(\"Cambio Masivo\",_\n									\"Masivo Coeficientes Actualizacion\",_\n									\"Precios General\",_\n									\"Precios Tabular Normal\",_\n									\"Precios Tabular por Procesos\",_\n									\"SeparadorReportes\",_\n									\"Lista de Precios\")\n	vObjeto(2)	= Array(\"Presupuestos\",_\n									\"SeparadorReportes\",_\n									\"Presupuestos\")\n	vObjeto(3)	= Array(\"Categoria\",_\n									\"Composiciones\",_\n									\"Copia Composicion\",_\n									\"Masivo por Elemento\",_\n									\"Masivo por Producto\",_\n									\"Productos-Elementos\",_\n									\"Modulos\",_\n									\"Bocetos\",_\n									\"Modulos\",_\n									\"Modulos por Linea Control\",_\n									\"Productos\",_\n									\"SeparadorReportes\",_\n									\"Productos\")\n	vObjeto(4)	= Array(\"Cheques\",_\n									\"Cobranzas\",_\n									\"Pagos\")\n	vPath()	= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\")\n	vPath(0)	= Array(\"1.Gestion:Contactos:Consulta Clientes CRM\",_\n								\"1.Gestion:Contactos:Contactos\",_\n								\"1.Gestion:Contactos:Posicion CRM\",_\n								\"1.Gestion:Contactos:Bitacora CRM\",_\n								\"SeparadorReportes\",_\n								\"Contactos -Resumen-\")\n	vPath(1)	= Array(\"1.Gestion:Precios:Cambio Masivo\",_\n								\"1.Gestion:Precios:Masivo Coeficientes Actualizacion\",_\n								\"1.Gestion:Precios:Precios General\",_\n								\"1.Gestion:Precios:Precios Tabular Normal\",_\n								\"1.Gestion:Precios:Precios Tabular por Procesos\",_\n								\"SeparadorReportes\",_\n								\"Lista de Precios\")\n	vPath(2)	= Array(\"1.Gestion:Presupuestos:Presupuestos\",_\n								\"SeparadorReportes\",_\n								\"Presupuestos\")\n	vPath(3)	= Array(\"1.Gestion:Productos:Categoria\",_\n								\"1.Gestion:Productos:Composiciones\",_\n								\"1.Gestion:Productos:Composicion:Copia Composicion\",_\n								\"1.Gestion:Productos:Composicion:Masivo por Elemento\",_\n								\"1.Gestion:Productos:Composicion:Masivo por Producto\",_\n								\"1.Gestion:Productos:Composicion:Productos-Elementos\",_\n								\"1.Gestion:Productos:Modulos:Modulos\",_\n								\"1.Gestion:Productos:Modulos:Bocetos\",_\n								\"1.Gestion:Productos:Modulos:Modulos\",_\n								\"1.Gestion:Productos:Modulos:Modulos por Linea Control\",_\n								\"1.Gestion:Productos:Productos\",_\n								\"SeparadorReportes\",_\n								\"Productos\")\n	vPath(4)	= Array(\"1.Gestion:Valores:Cheques\",_\n								\"1.Gestion:Valores:Cobranzas\",_\n								\"1.Gestion:Valores:Pagos\")\n	select case oEvent.Source.ImplementationName\n		case \"com.sun.star.comp.forms.OButtonControl\"\n		case \"com.sun.star.comp.forms.OListBoxControl\"\n			For i = 0 To UBound(vMenu())\n				oUbicacion	= aSeek(vMenu(i),oEvent.Source.SelectedItem)\n				if 	oUbicacion <> -1 Then \n					\'i	= UBound(vMenu(i))\n					select case vTipo(i)(oUbicacion)\n						case \"F\":\n							oFormLaunch	= ThisDatabaseDocument.FormDocuments\n							vParser	= Split(vPath(i)(oUbicacion),\":\")\n							for j=0 to uBound(vParser())\n								oFormLaunch = oFormLaunch.getByName(vParser(j))\n							Next\n							oFormLaunch.Open()\n						case \"R\":\n							oReportLaunch	= ThisDatabaseDocument.ReportDocuments\n							vParser	= Split(vPath(i)(oUbicacion),\":\")\n							oParser	=  \"\"\n							for j=0 to uBound(vParser())\n								oReportLaunch = oReportLaunch.getByName(vParser(j))\n								oParser				= vParser(j)\n							Next\n							oContenedor	= ThisDatabaseDocument.ReportDocuments\n							oConexion		= ThisComponent.Parent.CurrentController.ActiveConnection\n							OpenReport(oContenedor, oConexion, oParser)\n					end select\n					i	= UBound(vMenu())\n				end if\n			Next i\n	end select\nend Sub\n</pre></small>\n== Bitácora ==\n== Uso ==','utf-8'),(1386,'[[Category:MACRO]]\n== Descripción ==\nEjecuta el proceso core del menú principal.\n\nConsta de 4 vectores:\n#Menu\n#:Screener del menú. Tiene que ser igual al objeto Listbox del FORM.\n#Tipo\n#:Tipo de objeto seleccionado: F=Form, S=Separador, R=Report\n#Objeto\n#:Nombre del Objeto\n#Path\n#:Cual es el árbol a recorrer (anidamiento del menú) para lograr la ejecución del proceso\n== Biblioteca ==\n*[[LIBR:SpanexM]]\n\n== Composición ==\n== Código ==\n<small><pre>\nSub ExecuteProcess (oEvent AS Object)\nDim oParser As String\nDim vMenu()\nDim vTipo()\nDim vObjeto()\n\n	ItemSeleccionado 	=  oEvent.Source.SelectedItem\n	\' * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n	\' Warning. If MsgBox function call, oEvent is reset, so, take a value object to maintain parameters\n	\' * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n	vMenu	()		= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vMenu(0)	= Array(\"Consulta Clientes CRM\",_\n									\"Contactos\",_\n									\"Posicion CRM\",_\n									\"Bitacora CRM\",_\n									\"Reportes\",_\n									\" > Contactos\")\n	vMenu(1)	= Array(\"Cambio Masivo\",_\n									\"Masivo Coeficientes Actualizacion\",_\n									\"Precios General\",_\n									\"Precios Tabular Normal\",_\n									\"Precios Tabular por Procesos\",_\n									\"Reportes\",_\n									\" > Lista de Precios\")\n	vMenu(2)	= Array(\"Presupuestos\",_\n									\"Reportes\",_\n									\" > Presupuesto Activo\")\n	vMenu(3)	= Array(\"Categorias\",_\n									\"Composiciones\",_\n									\"  > Copia Composicion\",_\n									\"  > Masivo por Elemento\",_\n									\"  > Masivo por Producto\",_\n									\"  > Productos - Elementos\",_\n									\"Modulos\",_\n									\"  > Bocetos\",_\n									\"  > Modulos\",_\n									\"  > Modulos por Linea Control\",_\n									\"Productos\",_\n									\"Reportes\",_\n									\" > Productos\")\n	vMenu(4)	= Array(\"Cheques\",_\n									\"Cobranzas\",_\n									\"Pagos\")\n	vTipo()		= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vTipo(0)		= Array(\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(1)		= Array(\"F\",\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(2)		= Array(\"F\",\"S\",\"R\")\n	vTipo(3)		= Array(\"F\",\"S\",\"F\",\"F\",\"F\",\"F\",\"S\",\"F\",\"F\",\"F\",\"F\",\"S\",\"R\")\n	vTipo(4)		= Array(\"F\",\"F\",\"F\")\n	vObjeto()	= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\"\n	vObjeto(0)	= Array(\"Consulta Clientes CRM\",_\n									\"Contactos\",_\n									\"Posicion CRM\",_\n									\"Bitacora CRM\",_\n									\"SeparadorReportes\",_\n									\"Contactos -Resumen-\")\n	vObjeto(1)	= Array(\"Cambio Masivo\",_\n									\"Masivo Coeficientes Actualizacion\",_\n									\"Precios General\",_\n									\"Precios Tabular Normal\",_\n									\"Precios Tabular por Procesos\",_\n									\"SeparadorReportes\",_\n									\"Lista de Precios\")\n	vObjeto(2)	= Array(\"Presupuestos\",_\n									\"SeparadorReportes\",_\n									\"Presupuestos\")\n	vObjeto(3)	= Array(\"Categoria\",_\n									\"Composiciones\",_\n									\"Copia Composicion\",_\n									\"Masivo por Elemento\",_\n									\"Masivo por Producto\",_\n									\"Productos-Elementos\",_\n									\"Modulos\",_\n									\"Bocetos\",_\n									\"Modulos\",_\n									\"Modulos por Linea Control\",_\n									\"Productos\",_\n									\"SeparadorReportes\",_\n									\"Productos\")\n	vObjeto(4)	= Array(\"Cheques\",_\n									\"Cobranzas\",_\n									\"Pagos\")\n	vPath()	= Array(\"Contactos\",\"Precios\",\"Presupuestos\",\"Productos\",\"Valores\",\"Salida\")\n	vPath(0)	= Array(\"1.Gestion:Contactos:Consulta Clientes CRM\",_\n								\"1.Gestion:Contactos:Contactos\",_\n								\"1.Gestion:Contactos:Posicion CRM\",_\n								\"1.Gestion:Contactos:Bitacora CRM\",_\n								\"SeparadorReportes\",_\n								\"Contactos -Resumen-\")\n	vPath(1)	= Array(\"1.Gestion:Precios:Cambio Masivo\",_\n								\"1.Gestion:Precios:Masivo Coeficientes Actualizacion\",_\n								\"1.Gestion:Precios:Precios General\",_\n								\"1.Gestion:Precios:Precios Tabular Normal\",_\n								\"1.Gestion:Precios:Precios Tabular por Procesos\",_\n								\"SeparadorReportes\",_\n								\"Lista de Precios\")\n	vPath(2)	= Array(\"1.Gestion:Presupuestos:Presupuestos\",_\n								\"SeparadorReportes\",_\n								\"Presupuestos\")\n	vPath(3)	= Array(\"1.Gestion:Productos:Categoria\",_\n								\"1.Gestion:Productos:Composiciones\",_\n								\"1.Gestion:Productos:Composicion:Copia Composicion\",_\n								\"1.Gestion:Productos:Composicion:Masivo por Elemento\",_\n								\"1.Gestion:Productos:Composicion:Masivo por Producto\",_\n								\"1.Gestion:Productos:Composicion:Productos-Elementos\",_\n								\"1.Gestion:Productos:Modulos:Modulos\",_\n								\"1.Gestion:Productos:Modulos:Bocetos\",_\n								\"1.Gestion:Productos:Modulos:Modulos\",_\n								\"1.Gestion:Productos:Modulos:Modulos por Linea Control\",_\n								\"1.Gestion:Productos:Productos\",_\n								\"SeparadorReportes\",_\n								\"Productos\")\n	vPath(4)	= Array(\"1.Gestion:Valores:Cheques\",_\n								\"1.Gestion:Valores:Cobranzas\",_\n								\"1.Gestion:Valores:Pagos\")\n	select case oEvent.Source.ImplementationName\n		case \"com.sun.star.comp.forms.OButtonControl\"\n		case \"com.sun.star.comp.forms.OListBoxControl\"\n			For i = 0 To UBound(vMenu())\n				oUbicacion	= aSeek(vMenu(i),oEvent.Source.SelectedItem)\n				if 	oUbicacion <> -1 Then \n					\'i	= UBound(vMenu(i))\n					select case vTipo(i)(oUbicacion)\n						case \"F\":\n							oFormLaunch	= ThisDatabaseDocument.FormDocuments\n							vParser	= Split(vPath(i)(oUbicacion),\":\")\n							for j=0 to uBound(vParser())\n								oFormLaunch = oFormLaunch.getByName(vParser(j))\n							Next\n							oFormLaunch.Open()\n						case \"R\":\n							oReportLaunch	= ThisDatabaseDocument.ReportDocuments\n							vParser	= Split(vPath(i)(oUbicacion),\":\")\n							oParser	=  \"\"\n							for j=0 to uBound(vParser())\n								oReportLaunch = oReportLaunch.getByName(vParser(j))\n								oParser				= vParser(j)\n							Next\n							oContenedor	= ThisDatabaseDocument.ReportDocuments\n							oConexion		= ThisComponent.Parent.CurrentController.ActiveConnection\n							OpenReport(oContenedor, oConexion, oParser)\n					end select\n					i	= UBound(vMenu())\n				end if\n			Next i\n	end select\nend Sub\n</pre></small>\n== Bitácora ==\n==== Bitácora.20131018 ====\nSe corrige el código en el marco de la eliminación de un elemento del menú mal ingresado [[FORM:FormMenu#Bitácora.20131018]]\n\n== Uso ==','utf-8'),(1387,'[[Category:TABLAS]]\n== Descripción ==\nTabla temporal de reposo de texto para query\n== Composición ==\n== SQL ==\n<pre>\nCREATE  TABLE `fzggestion`.`filtroqry` (\n  `FiltroQRY` VARCHAR(30) NOT NULL ,\n  PRIMARY KEY (`FiltroQRY`) )\nENGINE = MyISAM;\n</pre>\n== Bitácora ==\n====Bitácora.20131022====\n*Alta de tabla\n== Uso ==\n*[[FORM:PreciosTabularNormal]]\n== URL ==','utf-8'),(1388,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla\n\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'),(1389,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla\n\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'),(1390,'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**Funciones Adicionales (Botones)\n***Activación\n***Impresión\n***Envío por circuito de correo electrónico\n***Copia de Presupuestos\n***Descuentos\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* Existe la función de generación de descuentos: Ante la ejecución de esta función, se realizan los siguentes pasos:\n** La aplicación verifica que no exista registraciones de descuento para el presupuesto activo. De existir da la opción de eliminarla (para los casos de agregado o eliminación de productos del presupuesto y que el descuento se haya aplicado en función de esos productos).\n** Presenta 2 opciones:\n**# Bonificación de un valor fijo no sujeto a elemento alguno del presupuesto.\n**# Descuento por porcentaje del total del presupuesto.\n** Genera un producto de magnitud por unidad con el valor seleccionado (en valores negativos). Al estar asociado a los procesos automatizados de generación de producto, genera las registraciones correspondientes a Precios (con el mismo valor para todos los tipos de clientes) y de Composicion.\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'),(1391,'===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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\n\n\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1392,'===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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1393,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]]====  [[File:checked.png|20px]]\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\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1394,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1395,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1396,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1397,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]]  [[File:checked.png|20px]]====\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\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1398,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1399,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1400,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\n====Elimina de [[VISTA:preciosvigentes]] [[File:checked.png|20px]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1401,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\n====Elimina de [[VISTA:preciosvigentes]] [[File:checked.png|20px]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]\n***[[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]] [[File:checked.png|20px]]\n***[[TABLA:bocetoscab]] [[File:checked.png|20px]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]] [[File:checked.png|20px]]\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1402,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\n====Elimina de [[VISTA:preciosvigentes]] [[File:checked.png|20px]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]\n***[[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]] [[File:checked.png|20px]]\n***[[TABLA:bocetoscab]] [[File:checked.png|20px]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]] [[File:checked.png|20px]]\n***[[TABLA:bocetosdet]] [[File:checked.png|20px]]\n***[[TABLA:bocetossbs]] [[File:checked.png|20px]]\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====Alta de [[PROC:CopiaModuloModulo]]====\n====Alta de [[PROC:CopiaModuloBoceto]]====\n\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1403,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\n====Elimina de [[VISTA:preciosvigentes]] [[File:checked.png|20px]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]\n***[[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]] [[File:checked.png|20px]]\n***[[TABLA:bocetoscab]] [[File:checked.png|20px]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]] [[File:checked.png|20px]]\n***[[TABLA:bocetosdet]] [[File:checked.png|20px]]\n***[[TABLA:bocetossbs]] [[File:checked.png|20px]]\n***[[TABLA:compdvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT:FZG.000007]]\n***[[TABLA:listavsdim]] [[File:checked.png|20px]]\n***[[TABLA:magnitudes]] [[File:checked.png|20px]]\n***[[TABLA:moduloscab]] [[File:checked.png|20px]]\n***[[TABLA:modulosdet]] [[File:checked.png|20px]]\n***[[TABLA:modulossbs]] [[File:checked.png|20px]]\n***[[TABLA:navtipolog]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n***[[VISTA:vischeckmod]] [[File:checked.png|20px]]\n====Alta de [[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]====\n====Alta de [[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]====\n\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1404,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\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 [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\n====Elimina de [[VISTA:preciosvigentes]] [[File:checked.png|20px]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]\n***[[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]] [[File:checked.png|20px]]\n***[[TABLA:bocetoscab]] [[File:checked.png|20px]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]] [[File:checked.png|20px]]\n***[[TABLA:bocetosdet]] [[File:checked.png|20px]]\n***[[TABLA:bocetossbs]] [[File:checked.png|20px]]\n***[[TABLA:compdvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT:FZG.000007]]\n***[[TABLA:listavsdim]] [[File:checked.png|20px]]\n***[[TABLA:magnitudes]] [[File:checked.png|20px]]\n***[[TABLA:moduloscab]] [[File:checked.png|20px]]\n***[[TABLA:modulosdet]] [[File:checked.png|20px]]\n***[[TABLA:modulossbs]] [[File:checked.png|20px]]\n***[[TABLA:navtipolog]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n***[[VISTA:vischeckmod]] [[File:checked.png|20px]]\n====Alta de [[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]====\n====Alta de [[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]====\n\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]] [[File:checked.png|20px]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1405,'===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]] [[File:checked.png|20px]]\n*Alta de [[TABLA:modulosdet]] [[File:checked.png|20px]]\n*Alta de [[TABLA:modulossbs]] [[File:checked.png|20px]]\n*Alta de [[TABLA:bocetoscab]] [[File:checked.png|20px]]\n*Alta de [[TABLA:bocetosdet]] [[File:checked.png|20px]]\n*Alta de [[TABLA:bocetossbs]] [[File:checked.png|20px]]\n\n====Baja de Tablas y Vistas sin uso [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\n====Elimina de [[VISTA:preciosvigentes]] [[File:checked.png|20px]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]\n***[[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]] [[File:checked.png|20px]]\n***[[TABLA:bocetoscab]] [[File:checked.png|20px]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]] [[File:checked.png|20px]]\n***[[TABLA:bocetosdet]] [[File:checked.png|20px]]\n***[[TABLA:bocetossbs]] [[File:checked.png|20px]]\n***[[TABLA:compdvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT:FZG.000007]]\n***[[TABLA:listavsdim]] [[File:checked.png|20px]]\n***[[TABLA:magnitudes]] [[File:checked.png|20px]]\n***[[TABLA:moduloscab]] [[File:checked.png|20px]]\n***[[TABLA:modulosdet]] [[File:checked.png|20px]]\n***[[TABLA:modulossbs]] [[File:checked.png|20px]]\n***[[TABLA:navtipolog]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n***[[VISTA:vischeckmod]] [[File:checked.png|20px]]\n====Alta de [[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]====\n====Alta de [[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]====\n\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]] [[File:checked.png|20px]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1406,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n\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'),(1407,'[[Category:MACRO]]\n== Descripción ==\nCambia el estado del campo Código de Producto para imposibilitar la modificación al tiempo de la gestión en el [[FORM:Productos]]\n== Biblioteca ==\n== Composición ==\n*[[FORM:Productos]]\n== Código ==\n<small>< pre>\n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:Productos]]','utf-8'),(1408,'[[Category:MACRO]]\n== Descripción ==\nCambia el estado del campo Código de Producto para imposibilitar la modificación al tiempo de la gestión en el [[FORM:Productos]]\n== Biblioteca ==\n== Composición ==\n*[[FORM:Productos]]\n== Código ==\n<small><pre>\nfunction AfterRecordChangeFORMProductos (oEvent as Object)\n\nDim oForm		as Object\n\n    oForm	= ThisComponent.Drawpage.Forms.getByName(\"MainForm\")\n    if oForm.IsNew Then\n        ThisComponent.Drawpage.Forms.getByName(\"MainForm\").getByName(\"txtProductoID\").setPropertyValue(\"Enabled\",True)\n    else\n  		ThisComponent.Drawpage.Forms.getByName(\"MainForm\").getByName(\"txtProductoID\").setPropertyValue(\"Enabled\",False)\n	endif\nend function \n</pre></small>\n\n== Bitácora ==\n== Uso ==\n*[[FORM:Productos]]','utf-8'),(1409,'[[Category:MACRO]]\n== Descripción ==\nCambia el estado del campo Código de Producto para imposibilitar la modificación al tiempo de la gestión en el [[FORM:Productos]]\n== Biblioteca ==\n== Composición ==\n*[[FORM:Productos]]\n== Código ==\n<small><pre>\nfunction AfterRecordChangeFORMProductos (oEvent as Object)\n\nDim oForm as Object\n\n	oForm	= ThisComponent.Drawpage.Forms.getByName(\"MainForm\")\n	if oForm.IsNew Then\n		ThisComponent.Drawpage.Forms.getByName(\"MainForm\").getByName(\"txtProductoID\").setPropertyValue(\"Enabled\",True)\n	else\n		ThisComponent.Drawpage.Forms.getByName(\"MainForm\").getByName(\"txtProductoID\").setPropertyValue(\"Enabled\",False)\n	endif\nend function \n</pre></small>\n\n== Bitácora ==\n== Uso ==\n*[[FORM:Productos]]','utf-8'),(1410,'[[Category:MACRO]]\n== Descripción ==\nValida la acción de ingresar un producto dentro de la aplicación.\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:precios]]\n*[[TABLA:composiciones]]\n== Código ==\n<small><pre>\nfunction ChangeFieldtxtProductoIDFORMProductos (oEvent as Object) \n\nDim oValor		as String\nDim oField		as Object\n\n	oField		= oEvent.Source\n	oValor		= UCASE(oField.Text)\n	oField.setText(oValor)\n	ChangeFieldtxtProductoIDFORMProductos = False\n	if Left(oValor,2) = \"DT\" Then\n		oMensaje		= \"El código ingresado utiliza una cadena reservada por la sistema\"\n		MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n		oField.setText(\"        \")\n		oField.Model.Parent.RefreshRow()\n		oField.Model.Parent.getByName(\"ListaFiltrada\").reset()\n	else\n		oCondicion	= \"ProductoID=\"&chr(39)& oField.Text &chr(39)\n		if QuerySimple(\"Count(*)\",\"HayProductos\",\"productos\",oCondicion,\"Integer\") > 0 Then\n			oMensaje		= \"El código de producto ya existe como Producto\"\n			MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n		else\n			if QuerySimple(\"Count(*)\",\"HayComposiciones\",\"composicion\",oCondicion,\"Integer\") Then\n				oMensaje		= \"El código de producto ya existe como Componente\"\n				MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n			else\n				if QuerySimple(\"Count(*)\",\"HayPrecios\",\"precios\",oCondicion,\"Integer\") Then\n					oMensaje		= \"El código de producto existe y tiene precio asignado\"\n					MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n				else\n					ChangeFieldtxtProductoIDFORMProductos = True\n				end if\n			end if\n		end if\n	end if\n	if NOT(ChangeFieldtxtProductoIDFORMProductos) Then\n		oField.setFocus()\n	endif \nend function \n</pre></small>\n== Bitácora ==\n====Bitácora.20131109====\n*Se agrega la validación de prefijos reservados para el sistema. Prefijo \"DT\".\n*Se ajustan la gestión de mensajes y warnings.\n== Uso ==\n*[[FORM:Productos]]','utf-8'),(1411,'[[Category:MACRO]]\n== Descripción ==\nValida la acción de ingresar un producto dentro de la aplicación.\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:precios]]\n*[[TABLA:composicion]]\n\n== Código ==\n<small><pre>\nfunction ChangeFieldtxtProductoIDFORMProductos (oEvent as Object) \n\nDim oValor		as String\nDim oField		as Object\n\n	oField		= oEvent.Source\n	oValor		= UCASE(oField.Text)\n	oField.setText(oValor)\n	ChangeFieldtxtProductoIDFORMProductos = False\n	if Left(oValor,2) = \"DT\" Then\n		oMensaje		= \"El código ingresado utiliza una cadena reservada por la sistema\"\n		MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n		oField.setText(\"        \")\n		oField.Model.Parent.RefreshRow()\n		oField.Model.Parent.getByName(\"ListaFiltrada\").reset()\n	else\n		oCondicion	= \"ProductoID=\"&chr(39)& oField.Text &chr(39)\n		if QuerySimple(\"Count(*)\",\"HayProductos\",\"productos\",oCondicion,\"Integer\") > 0 Then\n			oMensaje		= \"El código de producto ya existe como Producto\"\n			MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n		else\n			if QuerySimple(\"Count(*)\",\"HayComposiciones\",\"composicion\",oCondicion,\"Integer\") Then\n				oMensaje		= \"El código de producto ya existe como Componente\"\n				MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n			else\n				if QuerySimple(\"Count(*)\",\"HayPrecios\",\"precios\",oCondicion,\"Integer\") Then\n					oMensaje		= \"El código de producto existe y tiene precio asignado\"\n					MsgBox(SplitMsg(oMensaje,40),MB_OK+MB_ICONEXCLAMATION,\"Atención!\")\n				else\n					ChangeFieldtxtProductoIDFORMProductos = True\n				end if\n			end if\n		end if\n	end if\n	if NOT(ChangeFieldtxtProductoIDFORMProductos) Then\n		oField.setFocus()\n	endif \nend function \n</pre></small>\n== Bitácora ==\n====Bitácora.20131109====\n*Se agrega la validación de prefijos reservados para el sistema. Prefijo \"DT\".\n*Se ajustan la gestión de mensajes y warnings.\n== Uso ==\n*[[FORM:Productos]]','utf-8'),(1412,'[[Category:MACRO]]\n== Descripción ==\nFunción de confirmación de eliminación de registro de [[TABLA:productos]]. Tiene asociado por medio de [[TRIG:productos.Baja_Producto]] la eliminación de los correspondientes en [[TABLA:precios]] y [[TABLA:composicion]]\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n== Composición ==\n== Código ==\n<small><pre>\nfunction ConfirmeEliminarProductoCore (oEvent) as boolean\n\nDim oMensaje	As String\n\n	if Left(oEvent.Source.Model.getByName(\"txtProductoID\").CurrentValue,2) = \"DT\" Then\n		oMensaje	= \"\"\n		oMensaje	= oMensaje & \"El codigo seleccionado no puede\" & chr(13)\n		oMensaje= oMensaje & \"ser eliminado desde este proceso\"\n		MsgBox(oMensaje,MB_OK+MB_ICONEXCLAMATION,\"Atencion\")\n		ConfirmeEliminarProductoCore = False\n	else\n		oMensaje	= \"\"\n		oMensaje	= oMensaje & \"   ¿Está seguro de eliminar la registración?\" & chr(13)\n		oMensaje= oMensaje & \"(Puede generar inconsistencias en los procesos)\"\n	    select case MsgBox(oMensaje,MB_YESNO+MB_ICONEXCLAMATION,\"Atencion\") = IDYES\n	        case IDYES : ConfirmeEliminarProductoCore = True\n	        case IDNO  : ConfirmeEliminarProductoCore = False\n	    end select\n    end if\nend function \n</pre></small>\n== Bitácora ==\n==== Bitácora.20131111 ====\n*Se agrega la excepción de no permitir eliminar registros con código de producto con prefijo \"T\"\n== Uso ==','utf-8'),(1413,'[[Category:MACRO]]\n== Descripción ==\nFunción de confirmación de eliminación de registro de [[TABLA:productos]]. Tiene asociado por medio de [[TRIG:productos.Baja_Producto]] la eliminación de los correspondientes en [[TABLA:precios]] y [[TABLA:composicion]]\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n== Composición ==\n== Código ==\n<small><pre>\nfunction ConfirmeEliminarProductoCore (oEvent) as boolean\n\nDim oMensaje	As String\n\n	if Left(oEvent.Source.Model.getByName(\"txtProductoID\").CurrentValue,2) = \"DT\" Then\n		oMensaje	= \"\"\n		oMensaje	= oMensaje & \"El codigo seleccionado no puede\" & chr(13)\n		oMensaje= oMensaje & \"ser eliminado desde este proceso\"\n		MsgBox(oMensaje,MB_OK+MB_ICONEXCLAMATION,\"Atencion\")\n		ConfirmeEliminarProductoCore = False\n	else\n		oMensaje	= \"\"\n		oMensaje	= oMensaje & \"   ¿Está seguro de eliminar la registración?\" & chr(13)\n		oMensaje= oMensaje & \"(Puede generar inconsistencias en los procesos)\"\n	    select case MsgBox(oMensaje,MB_YESNO+MB_ICONEXCLAMATION,\"Atencion\") = IDYES\n	        case IDYES : ConfirmeEliminarProductoCore = True\n	        case IDNO  : ConfirmeEliminarProductoCore = False\n	    end select\n    end if\nend function \n</pre></small>\n== Bitácora ==\n==== Bitácora.20131111 ====\n*Se agrega la excepción de no permitir eliminar registros con código de producto con prefijo \"T\"\n== Uso ==\n*[[FORM:Productos]]','utf-8'),(1414,'[[Category:FORM]]\n== Descripción ==\nGestión de Datos de Productos.\n=== Características ===\n*Ingreso de registros\n**Cuando se confirma un código de producto, el mismo se copia en forma automática al código de producto genérico.\n**Cuando se confirma el registro\n***El [[ATTR:CompoEdita]] se completa con 0 para indicar que es un producto que no se genera automáticamente y que tiene posibilidad de gestionar componentes.\n***El [[ATTR:ProductoOr]] se completa con 1 para indicar que es un producto que no se genera automáticamente y que el origen de generación es el formulario en si.\n*Eliminación de registros\n**Elimina los correspondientes enlaces en [[TABLA:precios]] y [[TABLA:composicion]]\n\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:categorias]]\n*[[TABLA:proveedores]]\n*[[TABLA:magnitudes]]\n*[[TABLA:composicion]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n====Bitácora.20131110====\n* Se agrega en [[MACRO:ConfirmeEliminarProductoCore]] la excepción de los códigos de prefijo \"DT\"\n* Se agrega en [[MACRO:ChangeFieldtxtProductoIDFORMProductos]] la excepción de los códigos de prefijo \"DT\"\n\n== Uso ==\n\n\nChangeFieldtxtProductoIDFORMProductos','utf-8'),(1415,'[[Category:FORM]]\n== Descripción ==\nGestión de Datos de Productos.\n=== Características ===\n*Ingreso de registros\n**Cuando se confirma un código de producto, el mismo se copia en forma automática al código de producto genérico.\n**Cuando se confirma el registro\n***El [[ATTR:CompoEdita]] se completa con 0 para indicar que es un producto que no se genera automáticamente y que tiene posibilidad de gestionar componentes.\n***El [[ATTR:ProductoOr]] se completa con 1 para indicar que es un producto que no se genera automáticamente y que el origen de generación es el formulario en si.\n*Eliminación de registros\n**Elimina los correspondientes enlaces en [[TABLA:precios]] y [[TABLA:composicion]]\n\n== Composición ==\n*[[TABLA:productos]]\n*[[TABLA:categorias]]\n*[[VISTA:proveedores]]\n*[[TABLA:magnitudes]]\n*[[TABLA:composicion]]\n\n== Estructura ==\n== Código Relacionado ==\n== Bitácora ==\n====Bitácora.20131110====\n* Se agrega en [[MACRO:ConfirmeEliminarProductoCore]] la excepción de los códigos de prefijo \"DT\"\n* Se agrega en [[MACRO:ChangeFieldtxtProductoIDFORMProductos]] la excepción de los códigos de prefijo \"DT\"\n\n== Uso ==\n\n\nChangeFieldtxtProductoIDFORMProductos','utf-8'),(1416,'[[Category:FORM]]\n== Descripción ==\nFormulario resumen del [[FORM:Contactos]] para alta exclusiva de registraciones de clientes a partir del [[FORM:Presupuesto]]\n== Composición ==\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EventoBRAAux000002]]\n*[[MACRO:EventoARAAux000002]]\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(1417,'[[Category:FORM]]\n== Descripción ==\nFormulario resumen del [[FORM:Contactos]] para alta exclusiva de registraciones de clientes a partir del [[FORM:Presupuesto]]\n== Composición ==\n*[[TABLA:contactos]]\n== Estructura ==\n== Código Relacionado ==\n*[[MACRO:EventoBRAAux000002]]\n*[[MACRO:EventoARAAux000002]]\n== Bitácora ==\n== Uso ==\n*[[FORM:Presupuesto]]','utf-8'),(1418,'[[Category:MACRO]]\n== Descripción ==\nRescata la acción ejecutada en el [[FORM:Aux:000002]]\n== Biblioteca ==\n*[[LIBR:SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoBRAAux000002 (oEvent as Object)\n	oEstadoRegistroBRAAux000002	= oEvent.Action\nend Sub\n</pre></small>\n== Bitácora ==\n====Bitácora.20131109====\n* Alta de macro\n== Uso ==\n[[FORM:Aux:000002]]','utf-8'),(1419,'[[Category:MACRO]]\n== Descripción ==\nIntercepta la acción sobre el registro gestionado en [[FORM:Aux:000002]] y refresca los ListBoxes asociados a [[TABLA:contactos]] dentro de [[FORM:Presupuestos]]\n== Biblioteca ==\n[[LIBR:SpanexB]]\n== Composición ==\n== Código ==\n<small><pre>\nSub EventoARAAux000002 (oEvent as Object)\n	if oEstadoRegistroBRAAux000002 = 1 Then\n		oForm =  ThisDatabaseDocument.FormDocuments.getByName(\"1.Gestion\").getByName(\"Presupuestos\").getByName(\"Presupuestos\")\n		if oForm.Component.DrawPage.Forms.getByIndex(0).IsLoaded() = True Then\n			oForm.Component.DrawPage.Forms.getByIndex(0).getByName(\"txtVidQuoteClienteDSC\").Refresh()\n			oForm.Component.DrawPage.Forms.getByIndex(0).getByName(\"txtVidQuoteCliente\").Refresh()\n		end if\n	end if\n	oEstadoRegistroBRAAux000002	= 0\n	\nend Sub\n</pre></small>\n== Bitácora ==\n====Bitácora.20131109====\n* Alta de macro\n== Uso ==\n[[FORM:Aux:000002]]','utf-8'),(1420,'[[Category:FORM]]\n== Descripción ==\nGestión de Productos / Elementos de una composición con el despliegue de toda la relación por Producto. \n== Composición ==\n*[[VISTA:viscompcnt]]\n*[[TABLA:composicion]]\n== Estructura ==\n*MainForm\n*:[[VISTA:viscompcnt]]\n**Grid\n**SubForm\n**:[[TABLA:composicion]]\n***Grid\n== Código Relacionado ==\n*[[MACRO:ActivaFiltroProductosGeneral]]\n*[[MACRO:EliminaContenidoCampo]]\n== Bitácora ==\n== Uso ==','utf-8'),(1421,'[[Category:MACRO]]\n== Descripción ==\nElimina contenido del campo de filtro en los FORM que utilizan filtros estándar\n== Biblioteca ==\n*[[LIBR:FazzGlassMcr]]\n== Composición ==\n== Código ==\n<small><pre>\nFunction EliminaContenidoCampo (oEvent as Object)\n\nDim oDocument 	As Object\nDim oForm 				As Object\nDim oObjeto			As String\n\n	oForm		= oEvent.Source.Model.Parent\n	oObjeto		= oEvent.Source.Model.Name\n	oCampo		= Mid(oObjeto,InStr(oObjeto,\"_\")+1)\n	oForm.getByName(oCampo).reset()\n	oForm.Filter= RestituyeFiltroOriginal(oForm.Parent.Parent.Title,oForm.Name,oForm.Command)\n	oForm.reload()\n	\nend Function \n</pre></small>\n== Bitácora ==\n== Uso ==\n*[[FORM:GestionMasivaPorProducto]]','utf-8'),(1422,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1423,'[[Category:FORM]]\n== Descripción ==\nGestión de Productos / Elementos de una composición con el despliegue de toda la relación por Producto. \n== Composición ==\n*[[VISTA:viscompcnt]]\n*[[TABLA:composicion]]\n== Estructura ==\n*MainForm\n*:[[VISTA:viscompcnt]]\n**Grid\n**SubForm\n**:[[TABLA:composicion]]\n***Grid\n== Código Relacionado ==\n*[[MACRO:ActivaFiltroProductosGeneral]]\n*[[MACRO:EliminaContenidoCampo]]\n== Bitácora ==\n====Bitácora.20131111====\n* Agrega columna en Grid principal para representar la cantidad de registros existentes para la composición de un producto dado.\n\n== Uso ==','utf-8'),(1424,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1425,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1426,'*Si la instalación de las librerías de OO o LO, \"registrar\" la base de datos en el entorno OO/LO\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','utf-8'),(1427,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n**Contactos>Posicion CRM. 20131217. ok\n**Precios>Cambio Masivo. 20131217. ok\n**Precios>Masivo Coeficientes Actualizacion. 20131217. ok\n\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1428,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n**Contactos>Posicion CRM. 20131217. ok\n**Precios>Cambio Masivo. 20131217. ok\n**Precios>Masivo Coeficientes Actualizacion. 20131217. ok\n**Precios>Precios General. 20131217. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1429,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n**Contactos>Posicion CRM. 20131217. ok\n**Precios>Cambio Masivo. 20131217. ok\n**Precios>Masivo Coeficientes Actualizacion. 20131217. ok\n**Precios>Precios General. 20131217. ok\n**Precios>Precios Tabular Normal. 20131217. ok\n**Precios>Precios Tabular x Procesos. 20131217. ok\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1430,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n**Contactos>Posicion CRM. 20131217. ok\n**Precios>Cambio Masivo. 20131217. ok\n**Precios>Masivo Coeficientes Actualizacion. 20131217. ok\n**Precios>Precios General. 20131217. ok\n**Precios>Precios Tabular Normal. 20131217. ok\n**Precios>Precios Tabular x Procesos. 20131217. ok\n**Productos>Categorias. 20131218. ok\n**Productos>Composicion>CopiaComposicion. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Elemento. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Producto. 20131218. ok\n**Productos>Composicion>Producto Elemento. 20131218. ok\n\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1431,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n**Contactos>Posicion CRM. 20131217. ok\n**Precios>Cambio Masivo. 20131217. ok\n**Precios>Masivo Coeficientes Actualizacion. 20131217. ok\n**Precios>Precios General. 20131217. ok\n**Precios>Precios Tabular Normal. 20131217. ok\n**Precios>Precios Tabular x Procesos. 20131217. ok\n**Productos>Categorias. 20131218. ok\n**Productos>Composicion>CopiaComposicion. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Elemento. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Producto. 20131218. ok\n**Productos>Composicion>Producto Elemento. 20131218. ok\n**Productos>Productos. 20131218. ok\n**Productos>Requerimientos Manufactura. 20131218. ok\n\n\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1432,'== Deployment ==\n*[[Clientes]]\n*[[Developing]]\n*[[Inventario]]\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'),(1433,'IntraNet\nWirelessIDs\nID-MA\nSMM.GFM-b8:5e:7b:7f:56:64(1)\nALS.GFM-b8:5e:7b:80:0b:ec(2)\nSAS.LP1-88:9f:fa:86:a3:7c(3)\nSAS.LP2-00:15:af:a6:1e:e4(4)\nSAS.NE5-d4:5d:42:0f:96:4e(5)\nSMM.LPT-9c:b7:0d:14:d2:c8(6)\nSAS.TBL-00:c1:b1:01:e1:31(7)\nSAS.S3M-94:d7:71:46:64:45(8)\nSMM.E63-00:23:b4:e5:b8:a8\nALS.NC3-A8:e0:18:49:43:b5','utf-8'),(1434,'====IntraNet====\n=====WirelessIDs=====\nID-MA\n*SMM.GFM-b8:5e:7b:7f:56:64(1)\n*ALS.GFM-b8:5e:7b:80:0b:ec(2)\n*SAS.LP1-88:9f:fa:86:a3:7c(3)\n*SAS.LP2-00:15:af:a6:1e:e4(4)\n*SAS.NE5-d4:5d:42:0f:96:4e(5)\n*SMM.LPT-9c:b7:0d:14:d2:c8(6)\n*SAS.TBL-00:c1:b1:01:e1:31(7)\n*SAS.S3M-94:d7:71:46:64:45(8)\n*SMM.E63-00:23:b4:e5:b8:a8\n*ALS.NC3-A8:e0:18:49:43:b5','utf-8'),(1435,'==[[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]]\n===20121005===\n====Actualización de [[PROC:AltaItemPresupuestoTmp]]====\n===20121029===\n====Actualización de [[TABLA:vidquoten1]] [[File:checked.png|20px]]====\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\n===20121201===\n====Alta de esquema Módulos====\n*Alta de [[TABLA:moduloscab]] [[File:checked.png|20px]]\n*Alta de [[TABLA:modulosdet]] [[File:checked.png|20px]]\n*Alta de [[TABLA:modulossbs]] [[File:checked.png|20px]]\n*Alta de [[TABLA:bocetoscab]] [[File:checked.png|20px]]\n*Alta de [[TABLA:bocetosdet]] [[File:checked.png|20px]]\n*Alta de [[TABLA:bocetossbs]] [[File:checked.png|20px]]\n\n====Baja de Tablas y Vistas sin uso [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:productos]] [[File:checked.png|20px]]====\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]] [[File:checked.png|20px]]====\n\n====Actualización de [[TABLA:productos]]  [[File:checked.png|20px]]====\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\n====Actualización de [[TABLA:composicion]] [[File:checked.png|20px]]====\nALTER TABLE `fzggestion`.`composicion` ADD COLUMN `ComposicOBS` VARCHAR(25) NULL AFTER `CoefVanoAlto` ;\n\n====Elimina de [[VISTA:preciosvigentes]] [[File:checked.png|20px]]====\ndrop view `fzggestion`.`preciosvigentes`;\n\n===20130912===\n*CheckList de Modificaciones de Objetos\n**Faltantes\n***[[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]\n***[[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n****[[TRIG:bitacoracrm.Alta_BitacoraCRM]] [[File:checked.png|20px]]\n***[[TABLA:bocetoscab]] [[File:checked.png|20px]]\n****[[TRIG:bocetoscab.Baja_BocetosCab]] [[File:checked.png|20px]]\n***[[TABLA:bocetosdet]] [[File:checked.png|20px]]\n***[[TABLA:bocetossbs]] [[File:checked.png|20px]]\n***[[TABLA:compdvh]]. Descartado. Utilizado para el proceso de resolución de [[TKT:FZG.000007]]\n***[[TABLA:listavsdim]] [[File:checked.png|20px]]\n***[[TABLA:magnitudes]] [[File:checked.png|20px]]\n***[[TABLA:moduloscab]] [[File:checked.png|20px]]\n***[[TABLA:modulosdet]] [[File:checked.png|20px]]\n***[[TABLA:modulossbs]] [[File:checked.png|20px]]\n***[[TABLA:navtipolog]] [[File:checked.png|20px]]\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]] [[File:checked.png|20px]]\n***[[VISTA:vischeckmod]] [[File:checked.png|20px]]\n====Alta de [[PROC:CopiaModuloModulo]] [[File:checked.png|20px]]====\n====Alta de [[PROC:CopiaModuloBoceto]] [[File:checked.png|20px]]====\n\n===20131102===\n====Cambio de valor en [[TRIG:productos.Alta Producto]] [[File:checked.png|20px]]====\nCambia el valor ingresado para ElementoPM ya que por defecto estaba colocando todas las registraciones en estado \"Simple\". A partir de ahora, en la generación tendrá el estado \"Basico\"\n<small><pre>\n    INSERT INTO composicion (`composicion`.`ProductoID`,\n							`composicion`.`ElementoID`,\n							`composicion`.`ValorElemento`,\n							`composicion`.`ElementoPM`)\n           VALUES(vProductoID,vProductoID,1,0);\n</pre></small>','utf-8'),(1436,'===20140101===\n====Modificacion en [[TABLA:wscontrol]]====\nALTER TABLE `fzggestion`.`wscontrol` ADD COLUMN `wskey4` VARCHAR(30) NULL  AFTER `wskey3` , ADD COLUMN `wskey5` BINARY NULL  AFTER `wskey4` ;','utf-8'),(1437,'[[Category:TABLAS]]\n== Descripción ==\nContainer de datos de licenciamiento.\n\n#MAC Address\n#Cantidad de Usuarios Concurrentes\n#Fecha Límite de Licencia\n#\n#Version: nn.xxxx (nn=Release, xxxx=Build)\n\nDataSource: URL\nConnection: MySql:ODBC\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `wscontrol` (\n  `wsid` int(11) NOT NULL AUTO_INCREMENT,\n  `wskey1` varchar(30) DEFAULT NULL,\n  `wskey2` varchar(30) DEFAULT NULL,\n  `wskey3` varchar(30) DEFAULT NULL,\n  `wstest` varchar(30) DEFAULT NULL,\n  PRIMARY KEY (`wsid`)\n) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\nSolo en acceso a [[MACRO:Main]] con las siguientes características:\n#Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n#Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n===Ingreso de Registro en Tabla===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n===Ejemplo===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n===Corroborar ACL===\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n===Alargar ACL 1 mes más===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n===Cambiar Fecha ACL===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n== URL ==','utf-8'),(1438,'[[Category:TABLAS]]\n== Descripción ==\nContainer de datos de licenciamiento.\n\n#MAC Address\n#Cantidad de Usuarios Concurrentes\n#Fecha Límite de Licencia\n#Contacto MasterLicence\n#Version: nn.xxxx (nn=Release, xxxx=Build)\n\nDataSource: URL\nConnection: MySql:ODBC\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `wscontrol` (\n  `wsid` int(11) NOT NULL AUTO_INCREMENT,\n  `wskey1` varchar(30) DEFAULT NULL,\n  `wskey2` varchar(30) DEFAULT NULL,\n  `wskey3` varchar(30) DEFAULT NULL,\n  `wstest` varchar(30) DEFAULT NULL,\n  PRIMARY KEY (`wsid`)\n) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n== Uso ==\nSolo en acceso a [[MACRO:Main]] con las siguientes características:\n#Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n#Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n===Ingreso de Registro en Tabla===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n===Ejemplo===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n===Corroborar ACL===\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n===Alargar ACL 1 mes más===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n===Cambiar Fecha ACL===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n== URL ==','utf-8'),(1439,'[[Category:TABLAS]]\n== Descripción ==\nContainer de datos de licenciamiento.\n\n#MAC Address\n#Cantidad de Usuarios Concurrentes\n#Fecha Límite de Licencia\n#Contacto MasterLicence\n#Version: nn.xxxx (nn=Release, xxxx=Build)\n\nDataSource: URL\nConnection: MySql:ODBC\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `wscontrol` (\n  `wsid` int(11) NOT NULL AUTO_INCREMENT,\n  `wskey1` varchar(30) DEFAULT NULL,\n  `wskey2` varchar(30) DEFAULT NULL,\n  `wskey3` varchar(30) DEFAULT NULL,\n  `wskey4` varchar(30) DEFAULT NULL,\n  `wskey5` varchar(30) DEFAULT NULL,\n  `wstest` varchar(30) DEFAULT NULL,\n  PRIMARY KEY (`wsid`)\n) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\nSolo en acceso a [[MACRO:Main]] con las siguientes características:\n#Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n#Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n===Ingreso de Registro en Tabla===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n===Ejemplo===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n===Corroborar ACL===\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n===Alargar ACL 1 mes más===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n===Cambiar Fecha ACL===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n== URL ==','utf-8'),(1440,'[[Category:TABLAS]]\n== Descripción ==\nContainer de datos de licenciamiento.\n\n#MAC Address\n#Cantidad de Usuarios Concurrentes\n#Fecha Límite de Licencia\n#Contacto MasterLicence\n#Version: nn.xxxx (nn=Release, xxxx=Build)\n\nDataSource: URL\nConnection: MySql:ODBC\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `wscontrol` (\n  `wsid` int(11) NOT NULL AUTO_INCREMENT,\n  `wskey1` varchar(30) DEFAULT NULL,\n  `wskey2` varchar(30) DEFAULT NULL,\n  `wskey3` varchar(30) DEFAULT NULL,\n  `wskey4` varchar(30) DEFAULT NULL,\n  `wskey5` varchar(30) DEFAULT NULL,\n  `wstest` varchar(30) DEFAULT NULL,\n  PRIMARY KEY (`wsid`)\n) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\nSolo en acceso a [[MACRO:Main]] con las siguientes características:\n#Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n#Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n===Ingreso de Registro en Tabla===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wsKey3\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<MasterLicence formato \"AAAA\" de acuerdo a [[TABLA:contactos]]>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Versión registrada formato \"99.9999\" donde 9999=AñoMes>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\n===Ejemplo===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n===Corroborar ACL===\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n===Alargar ACL 1 mes más===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n===Cambiar Fecha ACL===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n== URL ==','utf-8'),(1441,'[[Category:TABLAS]]\n== Descripción ==\nContainer de datos de licenciamiento.\n\n#MAC Address\n#Cantidad de Usuarios Concurrentes\n#Fecha Límite de Licencia\n#Contacto MasterLicence\n#Version: nn.xxxx (nn=Release, xxxx=Build)\n\nDataSource: URL\nConnection: MySql:ODBC\n\n== Composición ==\n== SQL ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `wscontrol` (\n  `wsid` int(11) NOT NULL AUTO_INCREMENT,\n  `wskey1` varchar(30) DEFAULT NULL,\n  `wskey2` varchar(30) DEFAULT NULL,\n  `wskey3` varchar(30) DEFAULT NULL,\n  `wskey4` varchar(30) DEFAULT NULL,\n  `wskey5` varchar(30) DEFAULT NULL,\n  `wstest` varchar(30) DEFAULT NULL,\n  PRIMARY KEY (`wsid`)\n) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1$$\n</pre>\n\n== Bitácora ==\n== Uso ==\nSolo en acceso a [[MACRO:Main]] con las siguientes características:\n#Verificar que la ODB esté registrada en el profile de LO/OO (el getcontext hace referencia a eso)\n#Grabar con semilla de nombre de datasource con el texto -> \"sdbc:mysql:odbc:\'\'<datasource>\'\'\"\n===Ingreso de Registro en Tabla===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3,\n	wskey4,\n	wskey5\n	) \nVALUES(\n	ENCODE(<MAC Address en minúscula sin separadores>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Cantidad de Usuarios en formato fill 0 de 3 dígitos>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<FechaLimite en ISO Format>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<MasterLicence formato \"AAAA\" de acuerdo a [[TABLA:contactos]]>,\"sdbc:mysql:odbc:<datasource>\"),\n	ENCODE(<Versión registrada formato \"99.9999\" donde 9999=AñoMes>,\"sdbc:mysql:odbc:<datasource>\")\n	)\n</pre></small>\n\n===Ejemplo===\n<small><pre>\nINSERT INTO wscontrol (\n	wskey1,\n	wskey2,\n	wskey3\n	) \nVALUES(\n	ENCODE(SUBSTRING_INDEX(UUID(), \'-\', -1),\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"001\",\"sdbc:mysql:odbc:FazzGlassGestion\"),\n	ENCODE(\"20121231\",\"sdbc:mysql:odbc:FazzGlassGestion\")\n	)\n</pre></small>\n===Corroborar ACL===\n<small><pre>\nSELECT\n	wskey1 AS Cantidad,\n	wskey2 AS Usuarios,\n	wskey3 AS FechaLimite,\n	CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) AS DecMAC,\n	CAST(DECODE(wskey2,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(03)) AS DecUsuarios,\n	CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)) AS DecFechaLimite\nFROM\n	wscontrol\n</pre></small>\n===Alargar ACL 1 mes más===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 DATE_FORMAT(STR_TO_DATE(CAST(DECODE(wskey3,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(08)),\n                  \'%Y%m%d\')+INTERVAL 1 MONTH,\'%Y%m%d\'),\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n===Cambiar Fecha ACL===\n<small><pre>\nUPDATE wscontrol \n    SET wskey3 = ENCODE(\n                 \"20121231\",\n                 \"sdbc:mysql:odbc:FazzGlassGestion\")\n    WHERE CAST(DECODE(wskey1,\'sdbc:mysql:odbc:FazzGlassGestion\') AS Char(12)) = SUBSTRING_INDEX(UUID(),\'-\',-1)\n</pre></small>\n== URL ==','utf-8'),(1442,'====IntraNet====\n=====WirelessIDs=====\nID-MA\n#SMM.GFM-b8:5e:7b:7f:56:64(1)\n#ALS.GFM-b8:5e:7b:80:0b:ec(2)\n#SAS.LP1-88:9f:fa:86:a3:7c(3)\n#SAS.LP2-00:15:af:a6:1e:e4(4)\n#SAS.NE5-d4:5d:42:0f:96:4e(5)\n#SMM.LPT-9c:b7:0d:14:d2:c8(6)\n#SAS.TBL-00:c1:b1:01:e1:31(7)\n#SAS.S3M-94:d7:71:46:64:45(8)\n#SMM.E63-00:23:b4:e5:b8:a8\n#ALS.NC3-A8:e0:18:49:43:b5','utf-8'),(1443,'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**Funciones Adicionales (Botones)\n***Activación\n***Impresión\n***Envío por circuito de correo electrónico\n***Copia de Presupuestos\n***Descuentos\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* Existe la función de generación de descuentos: Ante la ejecución de esta función, se realizan los siguentes pasos:\n** La aplicación verifica que no exista registraciones de descuento para el presupuesto activo. De existir da la opción de eliminarla (para los casos de agregado o eliminación de productos del presupuesto y que el descuento se haya aplicado en función de esos productos).\n** Presenta 2 opciones:\n**# Bonificación de un valor fijo no sujeto a elemento alguno del presupuesto.\n**# Descuento por porcentaje del total del presupuesto.\n** Genera un producto de magnitud por unidad con el valor seleccionado (en valores negativos). Al estar asociado a los procesos automatizados de generación de producto, genera las registraciones correspondientes a Precios (con el mismo valor para todos los tipos de clientes) y de Composicion.\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===Objetivo / Sección===\n====Spanex 2.0====\n*Contactos\n**Bitacora CRM\n**:Permite almacenar las novedades del conjunto Cliente-Presupuesto/OTrabajo que no están establecidas como dato y sin embargo son relevantes\n**Consulta Clientes CRM\n**:Permite visualizar el estado de situación histórico de un cliente, con todos sus presupuestos convertidos en ordenes de trabajo y las cobranzas, determinando el estado crediticio del cliente.\n**Contactos\n**:Permite administrar la información de las personas físicas y jurídicas de la aplicación, sean estas Clientes, Proveedores, Agentes, etc.\n**Posicion CRM\n**:Vista resumen del estado de los clientes.\n*Precios\n**Cambio Masivo\n**:Permite el cambio masivo de todos los atributos de precios de productos (general o filtrados) a partir de un coeficiente dado por el usuario.\n**Lista de Precios\n**:Pendiente\n**Masivo Coeficientes Actualización\n**:Permite la modificación de valores de precios en forma genérica o a partir de un filtro dado aplicando un coeficiente ingresado por el usuario sobre cualquiera de los atributos de precio existentes.\n**Precios General:\n**:Permite administrar los precios en forma individual cada producto/elemento\n**Precios Tabular Normal\n**:Premite administrar los precios en forma individual pero en formato matricial, acelerando de esta manera el ingreso de información que se considere repetititva.\n**Precios Tabular por Procesos\n**:Permite administrar los precios en forma general con la posibilidad de filtrar tanto en forma horizontal (Productos/Categorias/Proveedores) como asi también cualquiera de los atributos de precios existentes en base a los procentajes de mark-up definidos para cada producto, a partir de la modificación previa de cualquiera de los precios de referencia.\n\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'),(1444,'===20140101===\n====Modificacion en [[TABLA:wscontrol]]====\nALTER TABLE `fzggestion`.`wscontrol` ADD COLUMN `wskey4` VARCHAR(30) NULL  AFTER `wskey3` , ADD COLUMN `wskey5` BINARY NULL  AFTER `wskey4` ;\n===20140220===\n====Modificacion en [[TABLA:vidquoten1]]====\nALTER TABLE `fzggestion`.`vidquoten1` \n	CHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NULL DEFAULT NULL  \n	AFTER `VidQuoteID`;\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteCompany` CHAR(8) NULL  \n	AFTER `VidQuoteID`;','utf-8'),(1445,'===20140101===\n====Modificacion en [[TABLA:wscontrol]]====\nALTER TABLE `fzggestion`.`wscontrol` ADD COLUMN `wskey4` VARCHAR(30) NULL  AFTER `wskey3` , ADD COLUMN `wskey5` BINARY NULL  AFTER `wskey4` ;\n===20140220===\n====Modificacion en [[TABLA:vidquoten1]]====\nALTER TABLE `fzggestion`.`vidquoten1` \n	CHANGE COLUMN `VidQuoteCliente` `VidQuoteCliente` CHAR(8) NULL DEFAULT NULL  \n	AFTER `VidQuoteID`;\nALTER TABLE `fzggestion`.`vidquoten1` \n	ADD COLUMN `VidQuoteCompany` CHAR(8) NULL  \n	AFTER `VidQuoteID`;\nALTER TABLE `fzggestion`.`wsml` \n	CHANGE COLUMN `mlkey3` `mlkey4` BINARY(1) NULL DEFAULT NULL  ;\nALTER TABLE `fzggestion`.`wsml`\n	ADD COLUMN `mlkey3` VARCHAR(45) NULL\n	AFTER `mlkey2` ;','utf-8'),(1446,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20140220====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n**Contactos>Posicion CRM. 20131217. ok\n**Precios>Cambio Masivo. 20131217. ok\n**Precios>Masivo Coeficientes Actualizacion. 20131217. ok\n**Precios>Precios General. 20131217. ok\n**Precios>Precios Tabular Normal. 20131217. ok\n**Precios>Precios Tabular x Procesos. 20131217. ok\n**Productos>Categorias. 20131218. ok\n**Productos>Composicion>CopiaComposicion. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Elemento. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Producto. 20131218. ok\n**Productos>Composicion>Producto Elemento. 20131218. ok\n**Productos>Productos. 20131218. ok\n**Productos>Requerimientos Manufactura. 20131218. ok\n\n\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1447,'===Esquema de Actualizaciones===\n*[[Actualizacion DB]]\n\n=== Versión 1.1 ===\n====Release 20140220====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*[[TABLA:wsml#Bitácora.20140220]] Se activa nueva [[TABLA:wsml]].\n\n====Release 20131001====\n=====Problemas Conocidos=====\n=====Correcciones y Agregados=====\n*Test Integral\n**Contactos>Consulta Clientes CRM. 20131007.ok.\n**Contactos>Contactos. 20131008.ok.\n**Contactos>Posicion CRM. 20131008.ok.\n**Contactos>Bitacora CRM. 20131008.No ok.\n**Contactos>Bitacora CRM. 20131017.ok.\n**Contactos>Consulta Clientes CRM. 20131018.ok.\n**\'\'\'SubMenú Contactos\'\'\'. 20131018. ok\n**Precios>Cambio Masivo. 20131018. ok\n**Precios>Precios Tabular Normal. 20131018. ok\n**Precios>Masivo Coeficiente Actualización. 20131018. ok\n**Precios>Precios Tabular por Procesos. 20131018. ok\n**Precios>Precios General. 20131018. ok\n**\'\'\'SubMenú Precios\'\'\'. 20131028. ok\n**Presupuestos>Presupuestos. 20131029. ok\n**\'\'\'SubMenú Presupuestos\'\'\'. 20131029. ok\n**Productos>Productos. 20131029. ok\n**Productos>Productos. 20131111. ok\n*Test Reacomodamiento LIBS\n**Contactos>Bitacora CRM. 20131205. ok\n**Contactos>Consulta Clientes CRM. 20131205. ok\n**Contactos>Contactos. 20131205. ok\n**Contactos>Posicion CRM. 20131217. ok\n**Precios>Cambio Masivo. 20131217. ok\n**Precios>Masivo Coeficientes Actualizacion. 20131217. ok\n**Precios>Precios General. 20131217. ok\n**Precios>Precios Tabular Normal. 20131217. ok\n**Precios>Precios Tabular x Procesos. 20131217. ok\n**Productos>Categorias. 20131218. ok\n**Productos>Composicion>CopiaComposicion. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Elemento. 20131218. ok\n**Productos>Composicion>Gestión Masiva por Producto. 20131218. ok\n**Productos>Composicion>Producto Elemento. 20131218. ok\n**Productos>Productos. 20131218. ok\n**Productos>Requerimientos Manufactura. 20131218. ok\n\n\n\n*[[FORM:ConsultaClientesCRM#Bitácora.20131007]] Se cambia el origen de datos de MainForm de [[VISTA:clientes]] a un SELECT de la [[TABLA:contactos]].\n*[[FORM:PosicionCRM#Bitácora.20131008]] Se cambia el origen de datos de SubFormCliente. Se eliminan los objetos SFPresupuesto y SFCobranzas que estaban en forma residual del proceso de copia de otro FORM. Se cambian las referencias entre los subform dado el nuevo origen de datos. Se cambian los atributos del DataGrid. Se documenta\n*[[FORM:BitacoraCRM#Bitácora.20131008]] Se aplican los cambios para corregir el atributo txtFiltro y se documenta. No funciona\n*[[FORM:BitacoraCRM#Bitácora.20131017]] Se cambia la estructura del [[FORM:BitacoraCRM]] ya que era inconsistente. Se agregan [[MACRO:ActivaFiltroBitacoras]], [[MACRO:EventoWRFBitacoraGrid]] y [[MACRO:EventoWLFBitacoraGrid]], estas dos últimas para restringir la posibilidad de dar de alta eventos mientras se encuentre focalizado en el grid del filtro. \n*[[FORM:ConsultaClientesCRM#Bitácora.20131018]] Se cambia nuevamente el origen de datos del Mainform de [[TABLA:contactos]] a un query de los clientes que tengan movimiento.\n*[[PROC:ActualizaPreciosTabular#Bitacora.20131018]] Se cambia la linea que se menciona la [[VISTA:listavigente]] ya que la misma no será parte de esta versión.\n*[[FORM:FormMenu#Bitácora.20131018]] Se elimina como elemento del submenu Contactos el [[RPRT:IndividualCRM]] que se ejecuta directamente desde el [[FORM:ConsultaClientesCRM]]. Para que tenga efecto, se modifica también el [[MACRO:ExecuteProcess]].\n*[[TABLA:filtroqry#Bitácora.20131022]]. Alta de tabla.\n*[[FORM:Productos#Bitácora.20131110]]. Se modifica el control de producto para que no puedan ser gestionados descuentos.\n*[[FORM:GestionMasivaPorProducto#Bitácora.20131111]]. Se agrega al Grid la cantidad de registros asociados a la composición.\n\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'),(1448,'[[Category:TABLAS]]\n== Descripción ==\nTabla auxiliar para administrar la relación entre Empresas, Clientes Mayoristas, Usuarios y su correspondiente logo.\n\n*id:Auto\n*1:Companía.\n*2:Mayorista.\n*3:Usuario.\n*4:Logo.\n== Composición ==\n== Estructura ==\n<pre>\ndelimiter $$\n\nCREATE TABLE `wsml` (\n  `mlid` int(11) NOT NULL AUTO_INCREMENT,\n  `mlkey1` varchar(45) DEFAULT NULL,\n  `mlkey2` varchar(45) DEFAULT NULL,\n  `mlkey3` varchar(45) DEFAULT NULL,\n  `mlkey4` binary(1) DEFAULT NULL,\n  PRIMARY KEY (`mlid`)\n) ENGINE=MyISAM DEFAULT CHARSET=latin1$$\n</pre>\n== Bitácora ==\n*20140220\n**Alta Tabla\n== Uso ==\nGeneral Spanex\n== URL ==','utf-8');
/*!40000 ALTER TABLE `peg_text` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_module_deps`
--

DROP TABLE IF EXISTS `pvt_module_deps`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_module_deps` (
  `md_module` varbinary(255) NOT NULL,
  `md_skin` varbinary(32) NOT NULL,
  `md_deps` mediumblob NOT NULL,
  UNIQUE KEY `md_module_skin` (`md_module`,`md_skin`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_module_deps`
--

LOCK TABLES `pvt_module_deps` WRITE;
/*!40000 ALTER TABLE `pvt_module_deps` DISABLE KEYS */;
INSERT INTO `pvt_module_deps` VALUES ('ext.svgedit.editor','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/extensions\\/SVGEdit\\/modules\\/images\\/toolbar-base.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/extensions\\/SVGEdit\\/modules\\/images\\/ajax-loader.gif\"]'),('jquery.ui.core','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-hard_100_f2f5f7_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-soft_100_ffffff_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-hard_80_d7ebf9_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-soft_100_e4f1fb_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_inset-hard_100_f0f0f0_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_highlight-soft_25_ffef8f_1x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_flat_15_cd0a0a_40x100.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_72a7cf_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_3d80b3_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_2694e8_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_666666_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_2e83ff_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-icons_ffffff_256x240.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/resources\\/jquery.ui\\/themes\\/vector\\/images\\/ui-bg_flat_70_000000_40x100.png\"]'),('mediawiki.legacy.shared','vector','[\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/feed-icon.png\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/ajax-loader.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/spinner.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/help-question-hover.gif\",\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/common\\/images\\/tipsy-arrow.gif\"]'),('skins.vector','vector','{\"0\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/page-base.png\",\"1\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/border.png\",\"2\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/page-fade.png\",\"4\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-break.png\",\"5\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-normal-fade.png\",\"6\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/tab-current-fade.png\",\"8\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/arrow-down-icon.png\",\"11\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/search-fade.png\",\"12\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/portal-break.png\",\"14\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-break.png\",\"16\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-fade.png\",\"17\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/preferences-base.png\",\"18\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/bullet-icon.png\",\"19\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/external-link-ltr-icon.png\",\"20\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/lock-icon.png\",\"21\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/mail-icon.png\",\"22\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/news-icon.png\",\"23\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/file-icon.png\",\"24\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/talk-icon.png\",\"25\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/audio-icon.png\",\"26\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/video-icon.png\",\"27\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/document-icon.png\",\"28\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/user-icon.png\",\"29\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/watch-icons.png\",\"30\":\"\\/hsphere\\/local\\/home\\/sergioso\\/ayuda.cloudoffice.com.ar\\/skins\\/vector\\/images\\/watch-icon-loading.gif\"}');
/*!40000 ALTER TABLE `pvt_module_deps` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_watchlist`
--

DROP TABLE IF EXISTS `fzg_watchlist`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_watchlist` (
  `wl_user` int(10) unsigned NOT NULL,
  `wl_namespace` int(11) NOT NULL default '0',
  `wl_title` varbinary(255) NOT NULL default '',
  `wl_notificationtimestamp` varbinary(14) default NULL,
  UNIQUE KEY `wl_user` (`wl_user`,`wl_namespace`,`wl_title`),
  KEY `namespace_title` (`wl_namespace`,`wl_title`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_watchlist`
--

LOCK TABLES `fzg_watchlist` WRITE;
/*!40000 ALTER TABLE `fzg_watchlist` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_watchlist` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_revision`
--

DROP TABLE IF EXISTS `fzg_revision`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_revision` (
  `rev_id` int(10) unsigned NOT NULL auto_increment,
  `rev_page` int(10) unsigned NOT NULL,
  `rev_text_id` int(10) unsigned NOT NULL,
  `rev_comment` tinyblob NOT NULL,
  `rev_user` int(10) unsigned NOT NULL default '0',
  `rev_user_text` varbinary(255) NOT NULL default '',
  `rev_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `rev_minor_edit` tinyint(3) unsigned NOT NULL default '0',
  `rev_deleted` tinyint(3) unsigned NOT NULL default '0',
  `rev_len` int(10) unsigned default NULL,
  `rev_parent_id` int(10) unsigned default NULL,
  PRIMARY KEY  (`rev_id`),
  UNIQUE KEY `rev_page_id` (`rev_page`,`rev_id`),
  KEY `rev_timestamp` (`rev_timestamp`),
  KEY `page_timestamp` (`rev_page`,`rev_timestamp`),
  KEY `user_timestamp` (`rev_user`,`rev_timestamp`),
  KEY `usertext_timestamp` (`rev_user_text`,`rev_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=binary MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_revision`
--

LOCK TABLES `fzg_revision` WRITE;
/*!40000 ALTER TABLE `fzg_revision` DISABLE KEYS */;
INSERT INTO `fzg_revision` VALUES (1,1,1,'',0,'MediaWiki default','20120112132733',0,0,474,0),(2,1,2,'',0,'186.124.29.117','20120113105044',0,0,458,1),(3,1,3,'/* Presupuestos */',0,'186.124.29.117','20120113105943',0,0,1454,2),(4,1,4,'',0,'186.124.29.117','20120113110205',0,0,1682,3),(5,1,5,'/* Procesos */',0,'186.109.17.104','20120120134207',0,0,1722,4),(6,1,6,'/* Glosario */',0,'186.109.17.104','20120120134234',0,0,1725,5),(7,1,7,'/* Glosario */',0,'186.109.17.104','20120120134314',0,0,1726,6),(8,1,8,'/* Glosario */',0,'186.109.17.104','20120120134326',0,0,1727,7),(9,1,9,'/* Glosario */',0,'186.109.17.104','20120120134410',0,0,1725,8),(10,1,10,'/* Glosario */',0,'186.109.17.104','20120120134451',0,0,1756,9),(11,1,11,'/* Glosario */',0,'186.109.17.104','20120120134519',0,0,1753,10),(12,1,12,'/* Glosario */',0,'186.109.17.104','20120120135256',0,0,2286,11),(13,1,13,'/* Glosario */',0,'186.109.17.104','20120120135608',0,0,2308,12),(14,1,14,'/* Glosario */',0,'186.109.17.104','20120120135748',0,0,2336,13),(15,1,15,'/* Glosario */',0,'186.109.17.104','20120120135850',0,0,2337,14),(16,1,16,'/* Glosario */',0,'186.109.17.104','20120120140018',0,0,2336,15),(17,1,17,'/* Glosario */',0,'186.109.17.104','20120120140054',0,0,2334,16),(18,1,18,'/* Glosario */',0,'186.109.17.104','20120120143849',0,0,3659,17),(19,1,19,'/* Glosario */',0,'186.109.17.104','20120120151405',0,0,2295,18),(20,1,20,'/* Glosario */',0,'186.109.17.104','20120120151436',0,0,2295,19),(21,1,21,'/* Glosario */',0,'186.109.17.104','20120120151525',0,0,2301,20),(22,1,22,'/* Glosario */',0,'186.109.17.104','20120120151536',0,0,2302,21),(23,1,23,'/* Glosario */',0,'186.109.17.104','20120120151551',0,0,2302,22),(24,1,24,'/* Glosario */',0,'186.109.17.104','20120120152601',0,0,2295,23),(25,1,25,'/* Procesos */',0,'201.253.246.65','20120122102233',0,0,2328,24),(26,1,26,'/* Gestión de Productos */',0,'186.109.200.54','20120122104355',0,0,4007,25),(27,1,27,'/* Glosario */',0,'186.124.202.210','20120127110709',0,0,5987,26),(28,1,28,'/* Respuestas a Preguntas Frecuentes */',0,'186.124.202.210','20120127111214',0,0,6612,27),(29,1,29,'/* Respuestas a Preguntas Frecuentes */',0,'186.124.202.210','20120127111746',0,0,7272,28),(30,1,30,'/* Respuestas a Preguntas Frecuentes */',0,'186.124.202.210','20120127111827',0,0,7273,29),(31,1,31,'/* Glosario */',0,'186.124.202.210','20120127112429',0,0,7498,30),(32,1,32,'/* Glosario */',0,'186.124.202.210','20120127112558',0,0,7514,31),(33,1,33,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120214203255',0,0,7721,32),(34,1,34,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120214203914',0,0,8295,33),(35,1,35,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120306202209',0,0,8696,34),(36,1,36,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120306203915',0,0,10269,35),(37,1,37,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120306204053',0,0,10321,36),(38,1,38,'/* Respuestas a Preguntas Frecuentes */',1,'Administrador','20120316013925',0,0,10344,37),(39,1,39,'/* Generalidades */',1,'Administrador','20120316014812',0,0,11760,38),(40,1,40,'/* Generalidades */',1,'Administrador','20120316015239',0,0,12420,39),(41,1,41,'/* Gestión de Productos */',1,'Administrador','20120317212922',0,0,12421,40),(42,1,42,'/* Proveedores */',1,'Administrador','20120317214323',0,0,13005,41),(43,1,43,'/* Composición */',1,'Administrador','20120317220820',0,0,13018,42),(44,1,44,'/* Composición */',1,'Administrador','20120317221737',0,0,13683,43),(45,1,45,'/* Generalidades */',1,'Administrador','20120328224953',0,0,13709,44),(46,2,46,'',1,'Administrador','20120329164929',0,0,0,0),(47,3,47,'',1,'Administrador','20120329164959',0,0,0,0),(48,4,48,'',1,'Administrador','20120329165020',0,0,0,0),(49,5,49,'',1,'Administrador','20120329165105',0,0,0,0),(50,1,50,'/* Productos */',1,'Administrador','20120329165224',0,0,13791,45),(51,1,51,'/* Precios */',1,'Administrador','20120329165328',0,0,13871,50),(52,1,52,'/* Composición */',1,'Administrador','20120329165420',0,0,13955,51),(53,1,53,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120329165516',0,0,14038,52),(54,1,54,'/* Gestión de Productos */',1,'Administrador','20120329170524',0,0,14254,53),(55,6,55,'',1,'Administrador','20120329170632',0,0,0,0),(56,1,56,'/* Gestión de Productos */',1,'Administrador','20120329170707',0,0,14247,54),(57,1,57,'/* Gestión de Productos */',1,'Administrador','20120329170929',0,0,14315,56),(58,1,58,'/* Gestión de Productos */',1,'Administrador','20120329172835',0,0,15662,57),(59,7,59,'',1,'Administrador','20120329204512',0,0,0,0),(60,1,60,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120329204635',0,0,15745,58),(61,1,61,'/* Generalidades */',1,'Administrador','20120329204911',0,0,16029,60),(62,1,62,'/* Presupuestos */',1,'Administrador','20120329205128',0,0,16249,61),(63,1,63,'/* Gestión de Productos */',1,'Administrador','20120728165027',0,0,16008,62),(64,1,64,'/* Procesos */',1,'Administrador','20120728171919',0,0,18511,63);
/*!40000 ALTER TABLE `fzg_revision` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_hitcounter`
--

DROP TABLE IF EXISTS `fzg_hitcounter`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_hitcounter` (
  `hc_id` int(10) unsigned NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=25000;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_hitcounter`
--

LOCK TABLES `fzg_hitcounter` WRITE;
/*!40000 ALTER TABLE `fzg_hitcounter` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_hitcounter` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_filearchive`
--

DROP TABLE IF EXISTS `pvt_filearchive`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_filearchive` (
  `fa_id` int(11) NOT NULL auto_increment,
  `fa_name` varbinary(255) NOT NULL default '',
  `fa_archive_name` varbinary(255) default '',
  `fa_storage_group` varbinary(16) default NULL,
  `fa_storage_key` varbinary(64) default '',
  `fa_deleted_user` int(11) default NULL,
  `fa_deleted_timestamp` binary(14) default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `fa_deleted_reason` blob,
  `fa_size` int(10) unsigned default '0',
  `fa_width` int(11) default '0',
  `fa_height` int(11) default '0',
  `fa_metadata` mediumblob,
  `fa_bits` int(11) default '0',
  `fa_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `fa_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') default 'unknown',
  `fa_minor_mime` varbinary(100) default 'unknown',
  `fa_description` tinyblob,
  `fa_user` int(10) unsigned default '0',
  `fa_user_text` varbinary(255) default NULL,
  `fa_timestamp` binary(14) default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `fa_deleted` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`fa_id`),
  KEY `fa_name` (`fa_name`,`fa_timestamp`),
  KEY `fa_storage_group` (`fa_storage_group`,`fa_storage_key`),
  KEY `fa_deleted_timestamp` (`fa_deleted_timestamp`),
  KEY `fa_user_timestamp` (`fa_user_text`,`fa_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_filearchive`
--

LOCK TABLES `pvt_filearchive` WRITE;
/*!40000 ALTER TABLE `pvt_filearchive` DISABLE KEYS */;
INSERT INTO `pvt_filearchive` VALUES (1,'FZG.DOCS.Procesos.Composicion.jpg',NULL,'deleted','gom5t57e6ou1c53mf89c9pphcymdtxx.jpg',1,'20121008232453','',53502,473,265,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329164929',0),(2,'FZG.DOCS.Procesos.Precios.jpg',NULL,'deleted','8pc1omcvkyv24nvsuhmhkogjvkpu7bf.jpg',1,'20121008232519','',58658,482,357,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329164959',0),(3,'FZG.DOCS.Procesos.Presupuesto.jpg',NULL,'deleted','ccyqiwgqe75azvr2ij9fvlptg3su1lg.jpg',1,'20121008232545','',63956,781,492,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329165020',0),(4,'FZG.DOCS.Pantalla.Presupuesto.jpg',NULL,'deleted','quqs6jinnrfo4jtthhpxygwnkdd0h0i.jpg',1,'20121008232644','',152454,859,544,'a:2:{s:15:\"JPEGFileComment\";a:1:{i:0;s:17:\"Created with GIMP\";}s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329204512',0),(5,'FZG.DOCS.Procesos.Productos.jpg',NULL,'deleted','5hzhqm5pzvba2moagsxvfjaay3z2txx.jpg',1,'20121008232832','',18544,480,113,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329165105',0),(6,'FZG.DOCS.Procesos.Ayuda.jpg',NULL,'deleted','e9ymq7l8cjb4lnj8zs1tfmhb4a2svfu.jpg',1,'20121008232850','',10688,460,84,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120329170632',0);
/*!40000 ALTER TABLE `pvt_filearchive` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_categorylinks`
--

DROP TABLE IF EXISTS `fzg_categorylinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_categorylinks` (
  `cl_from` int(10) unsigned NOT NULL default '0',
  `cl_to` varbinary(255) NOT NULL default '',
  `cl_sortkey` varbinary(230) NOT NULL default '',
  `cl_sortkey_prefix` varbinary(255) NOT NULL default '',
  `cl_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `cl_collation` varbinary(32) NOT NULL default '',
  `cl_type` enum('page','subcat','file') NOT NULL default 'page',
  UNIQUE KEY `cl_from` (`cl_from`,`cl_to`),
  KEY `cl_sortkey` (`cl_to`,`cl_type`,`cl_sortkey`,`cl_from`),
  KEY `cl_timestamp` (`cl_to`,`cl_timestamp`),
  KEY `cl_collation` (`cl_collation`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_categorylinks`
--

LOCK TABLES `fzg_categorylinks` WRITE;
/*!40000 ALTER TABLE `fzg_categorylinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_categorylinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_log_search`
--

DROP TABLE IF EXISTS `fzg_log_search`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_log_search` (
  `ls_field` varbinary(32) NOT NULL,
  `ls_value` varbinary(255) NOT NULL,
  `ls_log_id` int(10) unsigned NOT NULL default '0',
  UNIQUE KEY `ls_field_val` (`ls_field`,`ls_value`,`ls_log_id`),
  KEY `ls_log_id` (`ls_log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_log_search`
--

LOCK TABLES `fzg_log_search` WRITE;
/*!40000 ALTER TABLE `fzg_log_search` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_log_search` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_iwlinks`
--

DROP TABLE IF EXISTS `peg_iwlinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_iwlinks` (
  `iwl_from` int(10) unsigned NOT NULL default '0',
  `iwl_prefix` varbinary(20) NOT NULL default '',
  `iwl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `iwl_from` (`iwl_from`,`iwl_prefix`,`iwl_title`),
  UNIQUE KEY `iwl_prefix_title_from` (`iwl_prefix`,`iwl_title`,`iwl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_iwlinks`
--

LOCK TABLES `peg_iwlinks` WRITE;
/*!40000 ALTER TABLE `peg_iwlinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_iwlinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_text`
--

DROP TABLE IF EXISTS `fzg_text`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_text` (
  `old_id` int(10) unsigned NOT NULL auto_increment,
  `old_text` mediumblob NOT NULL,
  `old_flags` tinyblob NOT NULL,
  PRIMARY KEY  (`old_id`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=binary MAX_ROWS=10000000 AVG_ROW_LENGTH=10240;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_text`
--

LOCK TABLES `fzg_text` WRITE;
/*!40000 ALTER TABLE `fzg_text` DISABLE KEYS */;
INSERT INTO `fzg_text` VALUES (1,'\'\'\'MediaWiki ha sido instalado con éxito.\'\'\'\n\nConsulta la [//meta.wikimedia.org/wiki/Ayuda:Contenido Guía de usuario] para obtener información sobre el uso del software wiki.\n\n== Empezando ==\n* [//www.mediawiki.org/wiki/Manual:Configuration_settings Lista de ajustes de configuración]\n* [//www.mediawiki.org/wiki/Manual:FAQ/es FAQ de MediaWiki]\n* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de correo de anuncios de distribución de MediaWiki]','utf-8'),(2,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.','utf-8'),(3,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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.','utf-8'),(4,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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.','utf-8'),(5,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|Concepto|Definición|}','utf-8'),(6,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|Concepto|Definición|-\n|}','utf-8'),(7,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Concepto|Definición|\n|}','utf-8'),(8,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Concepto|Definición|-\n|}','utf-8'),(9,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Concepto|Definición\n|}','utf-8'),(10,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Orange\n|Apple\n|-\n|Bread\n|Pie\n|-\n|Butter\n|Ice cream \n|}','utf-8'),(11,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|Orange|Apple\n|-\n|Bread|Pie\n|-\n|Butter|Ice cream \n|}','utf-8'),(12,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(13,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(14,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|+Concepto\n|+Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(15,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|+\n|Concepto\n|Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(16,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n|!Concepto\n|!Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(17,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n!Concepto\n!Definición\n|-\n|<ins>Concepto</ins>\n|<ins>Definición</ins>\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|}','utf-8'),(18,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{| style=\"border-spacing:0;\"\n| style=\"border-top:0.25pt solid #000000;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Concepto\n| style=\"border:0.25pt solid #000000;padding:0.0382in;\"| Definición\n\n|-\n| style=\"background-color:transparent;border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Formularios\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| 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|-\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Base de Datos\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| 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|-\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| Tabla\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| 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|-\n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:none;padding:0.0382in;\"| \n| style=\"border-top:none;border-bottom:0.25pt solid #000000;border-left:0.25pt solid #000000;border-right:0.25pt solid #000000;padding:0.0382in;\"| \n\n|}','utf-8'),(19,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(20,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(21,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n! Concepto\n! Definición\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|}','utf-8'),(22,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n! Concepto\n! Definición\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|}','utf-8'),(23,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Glosario ==\n{|\n! Concepto\n! Definición\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|}','utf-8'),(24,'Gestión Retail Industria\n\n== Procesos ==\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(25,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\n\n\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(26,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== 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|}','utf-8'),(27,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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== 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|}','utf-8'),(28,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\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|}','utf-8'),(29,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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|}','utf-8'),(30,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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|}','utf-8'),(31,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(32,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(33,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n\nDentro de la 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 de \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 porducto\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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(34,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n\nDentro de la 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 de \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 porducto\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\nLas características definidas de este formulario son las siguientes:\n* El esquema de información posee 3 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 subproducto 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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(35,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 3 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n\nDentro de la 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 de \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 porducto\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, existe una 4º Sección de Parámetros adicionales afectados 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 3 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 subproducto 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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(36,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* Cabecera: Son los datos principales del formulario.\n* Detalle Presupuesto: Se detallan todos los productos que formarán parte del presupuesto\n* Detalle Producto: Se detalla todos los elementos que conforma un producto y sus adicionales.\n* Detalle de Parámetros Adicionales de Item: Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\n\nCabecera: 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\nDetalle 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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(37,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(38,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== Generalidades ==\n\n\n\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(39,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(40,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de paos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(41,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(42,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small><pre>\nProducto					Componentes									Necesario\n\nVentana Corrediza \"XXXXX\"	Marco Línea \"XXXXX\"							Si\n							Vidrio Incoloro 4mm							No\n							Vidrio Templado Opaco						No\n							Accesorios Línea \"XXXXX\"					Si\n							Instalación Ventana Corrediza \"XXXXXX\"		Si\n</pre></small>\n\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(43,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\n\n=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(44,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(45,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(46,'','utf-8'),(47,'','utf-8'),(48,'','utf-8'),(49,'','utf-8'),(50,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(51,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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. Un simple ejemplo de esta definición es el siguiente:\n\n<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(52,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(53,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(54,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\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|200 px|center|Vista Conceptual del Proceso]]\n\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(55,'','utf-8'),(56,'Gestión Retail Industria\n\n== Procesos ==\n=== Gestión de Productos ===\nPara la gestión de productos se gestionan una serie de pasos necesarios para mantener la integridad y el normal desenvolvimiento de los módulos de la aplicación. Aquí intervienen varias entidades a saber:\n\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(57,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\nSe refiere a todos los Productos Terminados y/o Materias Primas. 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.\n\n[[Archivo:FZG.DOCS.Procesos.Productos.jpg|center|Vista Conceptual del Proceso]]\n\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas. Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto. Existen una versión de esta entidad que visualiza solo la última lista de precios y es la que se utiliza por defecto en toda la aplicación.\nDebe existir una registración de precios por cada producto activo. De esta necesidad se ocupa la aplicación, que cada vez que se da de alta un producto, automáticamante genera una registración de precios a valor 0.\nPor cada registración existen a la fecha 4 tipos de precios diferentes. Excepto el \"precio 0\" que se asigna a los costos, el resto puede ser aplicado a discreción del usuario.\n\nEstos precios se encuentran en concordancia con la tipificación de los tipos de clientes asignados dentro de la entidad \"Contactos / Clientes\".\n\n[[Archivo:FZG.DOCS.Procesos.Precios.jpg|center|Vista Conceptual del Proceso]]\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(58,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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\'\'\'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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(59,'','utf-8'),(60,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(61,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== Presupuestos ===\n==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(62,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Precios\n*Proveedores\n*Composición\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\n==== Productos ====\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\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 y 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\n==== Precios ====\nSe refiere a todas las listas de precios incluyendo las históricas (a través de su manipulación en forma externa a la aplicación). Este esquema permite mantener un esquema de lista de precios y poder evaluar la evolución de determinado producto.\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== 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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(63,'Gestión Retail Industria\n\n== Procesos ==\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\n*Productos\n*Contactos\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\n==== Productos ====\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\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 y 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\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\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==== 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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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=== 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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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'),(64,'Gestión Retail Industria\n\n== Spalnex Gestion ==\nSpanex es una aplicación orientada a la gestión de productos y servicios de terminación del mercado de la construcción civil. Consta de módulos que permiten desde la construcción de productos y servicios hasta el control de la producción de los mismos.\nExisten 2 entidades principales con las que se trabaja dentro de la aplicación, a saber:\n\n* Productos\n* Contactos\n\nDentro del concepto de productos quedan incluidos todos aquellos elementos que puede conformar un producto terminado, un modelo o un conjunto de elementos a comercializar.\nDentro del concepto de Contactos quedan incluidos todas aquellas personas físicas o jurídicas que sean objeto de alguna operación dentro de la aplicación.\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\nPara profundizar en los conceptos, se detallan a continuación algunos subesquemas que son de importancia dentro de la aplicación.\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\n==== Productos ====\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 y 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\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<small>\n{| class=\"wikitable\"\n|+\n!Producto\n!Componentes\n!Necesario\n|-\n|Ventana Corrediza \"XXXXX\"\n|Marco Línea \"XXXXX\"<br/>Vidrio Incoloro 4mm<br/>Vidrio Templado Opaco<br/>Accesorios Línea \"XXXXX\"<br/>Instalación Ventana Corrediza \"XXXXXX\"\n|align=\"center\" |Si<br/>No<br/>No<br/>Si<br/>Si\n|-\n|}\n</small>\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==== Presupuesto: Alta + Pendientes ====\n\nEste proceso permite el ingreso y visualización de presupuestos pendientes. El formulario se divide en 4 partes:\n* \'\'\'Cabecera\'\'\': Son los datos principales del formulario.\n* \'\'\'Detalle Presupuesto\'\'\': Se detallan todos los productos que formarán parte del presupuesto\n* \'\'\'Detalle Producto\'\'\': Se detalla todos los elementos que conforma un producto y sus adicionales.\n* \'\'\'Detalle de Parámetros Adicionales de Item\'\'\': Se detallan los datos inherentes a posición, cantidades o cualquier otro dato adicional que no dependa en forma directa a los datos de Cantidad, Ancho o Largo y Alto.\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== 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\n== Respuestas a Preguntas Frecuentes ==\n;¿Que sucede cuando se ingresa un nuevo Producto?\n:El 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;¿Que sucede cuando elimino un presupuesto?\n:Se eliminan todas las registraciones asociadas (productos y elementos asociados al producto.\n;¿Que sucede cuando elimino un producto de un presupuesto?\n:Se 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 magnitudes de un producto en un presupuesto?\n: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 las cantidades de un producto en un presupuesto?\n:De 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)?\n:Se 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?\n:No. 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?\n:La 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?\n:Es el proceso que permite \"fijar\" un prespuesto y que no pueda ser modificado.\n;¿Porque no puedo enviar por correo electrónico un presupuesto?\n:Probablemente no esté incorporado el dato de Correo Electrónico Principal dentro de Contactos. Proceda a mantener actualizada la información de Contactos.\n;¿A que se refiere el Mantenimiento de Contactos?\n:La 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== 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');
/*!40000 ALTER TABLE `fzg_text` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_site_stats`
--

DROP TABLE IF EXISTS `pvt_site_stats`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_site_stats` (
  `ss_row_id` int(10) unsigned NOT NULL,
  `ss_total_views` bigint(20) unsigned default '0',
  `ss_total_edits` bigint(20) unsigned default '0',
  `ss_good_articles` bigint(20) unsigned default '0',
  `ss_total_pages` bigint(20) default '-1',
  `ss_users` bigint(20) default '-1',
  `ss_active_users` bigint(20) default '-1',
  `ss_admins` int(11) default '-1',
  `ss_images` int(11) default '0',
  UNIQUE KEY `ss_row_id` (`ss_row_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_site_stats`
--

LOCK TABLES `pvt_site_stats` WRITE;
/*!40000 ALTER TABLE `pvt_site_stats` DISABLE KEYS */;
INSERT INTO `pvt_site_stats` VALUES (1,603,312,3,28,2,-1,0,7);
/*!40000 ALTER TABLE `pvt_site_stats` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_page`
--

DROP TABLE IF EXISTS `fzg_page`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_page` (
  `page_id` int(10) unsigned NOT NULL auto_increment,
  `page_namespace` int(11) NOT NULL,
  `page_title` varbinary(255) NOT NULL,
  `page_restrictions` tinyblob NOT NULL,
  `page_counter` bigint(20) unsigned NOT NULL default '0',
  `page_is_redirect` tinyint(3) unsigned NOT NULL default '0',
  `page_is_new` tinyint(3) unsigned NOT NULL default '0',
  `page_random` double unsigned NOT NULL,
  `page_touched` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `page_latest` int(10) unsigned NOT NULL,
  `page_len` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`page_id`),
  UNIQUE KEY `name_title` (`page_namespace`,`page_title`),
  KEY `page_random` (`page_random`),
  KEY `page_len` (`page_len`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_page`
--

LOCK TABLES `fzg_page` WRITE;
/*!40000 ALTER TABLE `fzg_page` DISABLE KEYS */;
INSERT INTO `fzg_page` VALUES (1,0,'Página_principal','',121,0,0,0.713921973915,'20120728171920',64,18511),(2,6,'FZG.DOCS.Procesos.Composicion.jpg','',1,0,1,0.723409320328,'20120329165420',46,0),(3,6,'FZG.DOCS.Procesos.Precios.jpg','',1,0,1,0.334069537877,'20120329165328',47,0),(4,6,'FZG.DOCS.Procesos.Presupuesto.jpg','',1,0,1,0.68336536821,'20120329165516',48,0),(5,6,'FZG.DOCS.Procesos.Productos.jpg','',1,0,1,0.396577670784,'20120329165224',49,0),(6,6,'FZG.DOCS.Procesos.Ayuda.jpg','',1,0,1,0.617697484247,'20120329170632',55,0),(7,6,'FZG.DOCS.Pantalla.Presupuesto.jpg','',1,0,1,0.231344761758,'20120329204635',59,0);
/*!40000 ALTER TABLE `fzg_page` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_trackbacks`
--

DROP TABLE IF EXISTS `pvt_trackbacks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_trackbacks` (
  `tb_id` int(11) NOT NULL auto_increment,
  `tb_page` int(11) default NULL,
  `tb_title` varbinary(255) NOT NULL,
  `tb_url` blob NOT NULL,
  `tb_ex` blob,
  `tb_name` varbinary(255) default NULL,
  PRIMARY KEY  (`tb_id`),
  KEY `tb_page` (`tb_page`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_trackbacks`
--

LOCK TABLES `pvt_trackbacks` WRITE;
/*!40000 ALTER TABLE `pvt_trackbacks` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_trackbacks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_site_stats`
--

DROP TABLE IF EXISTS `peg_site_stats`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_site_stats` (
  `ss_row_id` int(10) unsigned NOT NULL,
  `ss_total_views` bigint(20) unsigned default '0',
  `ss_total_edits` bigint(20) unsigned default '0',
  `ss_good_articles` bigint(20) unsigned default '0',
  `ss_total_pages` bigint(20) default '-1',
  `ss_users` bigint(20) default '-1',
  `ss_active_users` bigint(20) default '-1',
  `ss_admins` int(11) default '-1',
  `ss_images` int(11) default '0',
  UNIQUE KEY `ss_row_id` (`ss_row_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_site_stats`
--

LOCK TABLES `peg_site_stats` WRITE;
/*!40000 ALTER TABLE `peg_site_stats` DISABLE KEYS */;
INSERT INTO `peg_site_stats` VALUES (1,3807,1473,130,228,1,0,0,16);
/*!40000 ALTER TABLE `peg_site_stats` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_page`
--

DROP TABLE IF EXISTS `pvt_page`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_page` (
  `page_id` int(10) unsigned NOT NULL auto_increment,
  `page_namespace` int(11) NOT NULL,
  `page_title` varbinary(255) NOT NULL,
  `page_restrictions` tinyblob NOT NULL,
  `page_counter` bigint(20) unsigned NOT NULL default '0',
  `page_is_redirect` tinyint(3) unsigned NOT NULL default '0',
  `page_is_new` tinyint(3) unsigned NOT NULL default '0',
  `page_random` double unsigned NOT NULL,
  `page_touched` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `page_latest` int(10) unsigned NOT NULL,
  `page_len` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`page_id`),
  UNIQUE KEY `name_title` (`page_namespace`,`page_title`),
  KEY `page_random` (`page_random`),
  KEY `page_len` (`page_len`)
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_page`
--

LOCK TABLES `pvt_page` WRITE;
/*!40000 ALTER TABLE `pvt_page` DISABLE KEYS */;
INSERT INTO `pvt_page` VALUES (1,0,'Página_principal','',297,0,0,0.713921973915,'20140303143456',295,1915),(8,6,'Bicycle_diagram-en.png','',2,0,1,0.291732177543,'20121008235231',67,0),(9,6,'Bicycle_diagram-es.png','',1,0,1,0.113253960267,'20121008235231',69,0),(10,0,'Diagrama_(EN)','',11,0,0,0.762863763032,'20121008235231',73,31),(11,0,'Diagrama_(ES)','',12,0,0,0.348191477954,'20131001202439',231,786),(12,0,'Glosario_ES-EN-FR','',6,0,0,0.766676877402,'20131001214100',235,1597),(14,0,'Notas_SCL_Bicicletas','',29,0,0,0.812239087603,'20140303144151',298,1103),(18,0,'Spanex_Mercado','',1,0,1,0.734942615427,'20130320180112',108,134),(19,0,'Spanex_Competencia','',1,0,1,0.237712737234,'20130320180155',109,108),(20,0,'TourConsultants_República_Checa','',1,0,1,0.762187287554,'20130320180423',111,47),(21,0,'TourConsultants_Francia','',4,0,0,0.279632224571,'20130320180833',115,153),(22,0,'SAS_Pendientes','',9,0,0,0.622316778699,'20130926112226',202,140),(23,0,'SAS_MD_Data','',16,0,0,0.303611897236,'20140301121042',286,1250),(25,0,'Sugerencias_Mantenimiento','',4,0,1,0.973110878604,'20130926114138',207,1372),(27,0,'SAS_ZZ_Data','',7,0,0,0.980635674684,'20130906213134',187,240),(28,0,'Curso_Mecánica_-_1º','',46,0,0,0.395995696168,'20140215133112',257,10184),(29,6,'Geometria.Cuadro.Bicicleta.png','',1,0,1,0.529268163641,'20130830130630',168,0),(30,6,'Bicicletas.Diagrama.Stem.png','',1,0,1,0.368501807652,'20130830132521',170,0),(31,6,'Bicicletas.Fusible.jpg','',1,0,1,0.66786484665,'20130831113231',183,0),(32,0,'Mercado','',53,0,0,0.879188376585,'20131203133722',252,2564),(33,0,'Templates','',7,0,0,0.872715160146,'20131002014844',240,373),(34,6,'Bicicleta.Despiece.jpg','',2,0,1,0.223040190852,'20131001202202',230,0),(35,6,'Checked.png','',1,0,1,0.63361497462,'20131025155621',249,0),(36,0,'SAS_AA_Data','',2,0,1,0.928265687016,'20140106185428',255,189),(37,0,'Curso_Mecánica','',0,1,1,0.425412386071,'20140215133112',258,39),(38,0,'Curso_Mecánica_-_2º','',28,0,0,0.826808719737,'20140301170553',290,15141),(39,0,'911Project_Lista_Compras','',12,0,0,0.789958369302,'20140303160811',299,346),(40,0,'Bicicletas.Horquillas.Mantenimiento','',3,0,0,0.81971528143,'20140302004255',293,8612);
/*!40000 ALTER TABLE `pvt_page` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_uploadstash`
--

DROP TABLE IF EXISTS `pvt_uploadstash`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_uploadstash` (
  `us_id` int(10) unsigned NOT NULL auto_increment,
  `us_user` int(10) unsigned NOT NULL,
  `us_key` varbinary(255) NOT NULL,
  `us_orig_path` varbinary(255) NOT NULL,
  `us_path` varbinary(255) NOT NULL,
  `us_source_type` varbinary(50) default NULL,
  `us_timestamp` varbinary(14) NOT NULL,
  `us_status` varbinary(50) NOT NULL,
  `us_size` int(10) unsigned NOT NULL,
  `us_sha1` varbinary(31) NOT NULL,
  `us_mime` varbinary(255) default NULL,
  `us_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `us_image_width` int(10) unsigned default NULL,
  `us_image_height` int(10) unsigned default NULL,
  `us_image_bits` smallint(5) unsigned default NULL,
  PRIMARY KEY  (`us_id`),
  UNIQUE KEY `us_key` (`us_key`),
  KEY `us_user` (`us_user`),
  KEY `us_timestamp` (`us_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_uploadstash`
--

LOCK TABLES `pvt_uploadstash` WRITE;
/*!40000 ALTER TABLE `pvt_uploadstash` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_uploadstash` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_user_newtalk`
--

DROP TABLE IF EXISTS `peg_user_newtalk`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_user_newtalk` (
  `user_id` int(11) NOT NULL default '0',
  `user_ip` varbinary(40) NOT NULL default '',
  `user_last_timestamp` varbinary(14) default NULL,
  KEY `user_id` (`user_id`),
  KEY `user_ip` (`user_ip`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_user_newtalk`
--

LOCK TABLES `peg_user_newtalk` WRITE;
/*!40000 ALTER TABLE `peg_user_newtalk` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_user_newtalk` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_pagelinks`
--

DROP TABLE IF EXISTS `peg_pagelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_pagelinks` (
  `pl_from` int(10) unsigned NOT NULL default '0',
  `pl_namespace` int(11) NOT NULL default '0',
  `pl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `pl_from` (`pl_from`,`pl_namespace`,`pl_title`),
  UNIQUE KEY `pl_namespace` (`pl_namespace`,`pl_title`,`pl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_pagelinks`
--

LOCK TABLES `peg_pagelinks` WRITE;
/*!40000 ALTER TABLE `peg_pagelinks` DISABLE KEYS */;
INSERT INTO `peg_pagelinks` VALUES (2,0,'Clientes'),(2,0,'Developing'),(2,0,'Inventario'),(2,0,'Knowing_Problems_/_Solutions'),(2,0,'Pendientes'),(2,0,'Spanex:Draw'),(2,0,'Spanex:Estructuras'),(2,0,'Spanex:Instalar'),(2,0,'Spanex:PreciosABT'),(2,0,'Spanex:Relaciones'),(2,0,'Spanex:Releases'),(2,0,'Spanex:UserWiki'),(2,14,'TKT'),(2,14,'TKTOut'),(5,0,'TABLA:productos'),(5,0,'VISTA:visproadic'),(6,0,'TABLA:vidquoten2'),(6,0,'VISTA:visprodadic'),(13,0,'FORM:Contactos'),(13,0,'FORM:Presupuesto'),(13,14,'OOBasicCode'),(13,14,'SQLCode'),(14,0,'Actualizacion_DB'),(14,0,'BTCR:20130322'),(14,0,'BTCR:20130417'),(14,0,'BTCR:20130419'),(14,0,'BTCR:20130423'),(14,0,'BTCR:20130814'),(14,0,'BTCR:20130815'),(14,0,'CTRL:Presupuesto.Cabecera'),(14,0,'CTRL:Presupuesto.ListaProducto'),(14,0,'CTRL:Presupuesto.txtVidQuoteACom'),(14,0,'FORM:Aux000002'),(14,0,'FORM:BitacoraCRM'),(14,0,'FORM:Bocetos'),(14,0,'FORM:CambioMasivo'),(14,0,'FORM:Categorias'),(14,0,'FORM:ClientesCRM'),(14,0,'FORM:Cobranzas'),(14,0,'FORM:ComposicionMasivoPorProducto'),(14,0,'FORM:ComposicionMasivoxProducto'),(14,0,'FORM:ComposicionProductoElemento'),(14,0,'FORM:ComposicionProductos'),(14,0,'FORM:ConsultaClienteCRM'),(14,0,'FORM:ConsultaClienteCRM.MainForm.SFSaldo'),(14,0,'FORM:ConsultaClientesCRM'),(14,0,'FORM:ConsumoMasivoPrecios'),(14,0,'FORM:Contactos'),(14,0,'FORM:CopiaComposicion'),(14,0,'FORM:FormMenu'),(14,0,'FORM:GestionMasivaPorProducto'),(14,0,'FORM:GestionMasivaXElementos'),(14,0,'FORM:GestionMasivaXProducto'),(14,0,'FORM:MasivoCoeficienteActualizacion'),(14,0,'FORM:MasivoCoeficientesActualizacion'),(14,0,'FORM:Modulos'),(14,0,'FORM:Modulos.FormModulos.FormDetalleProducto.FormSubSet'),(14,0,'FORM:Modulos_x_Lineas_Control'),(14,0,'FORM:Pagos'),(14,0,'FORM:PosicionCRM'),(14,0,'FORM:PrecioTabuladoNormal'),(14,0,'FORM:PrecioTabularNormal'),(14,0,'FORM:PrecioTabularXProceso'),(14,0,'FORM:PreciosGeneral'),(14,0,'FORM:PreciosTabularNormal'),(14,0,'FORM:Predefinidos'),(14,0,'FORM:Presupuesto'),(14,0,'FORM:Presupuesto.DataCliente'),(14,0,'FORM:Presupuesto.Productos.ProductosGrid'),(14,0,'FORM:PresupuestoV1.0'),(14,0,'FORM:Presupuestos.Productos'),(14,0,'FORM:Productos'),(14,0,'FORM:ProductosElementos'),(14,0,'FORM:productos'),(14,0,'MACRO:ActivaFiltroBitacoras'),(14,0,'MACRO:AltaProductoPresupuesto'),(14,0,'MACRO:AprobacionPresupuesto'),(14,0,'MACRO:BotonActualizarPresupuesto'),(14,0,'MACRO:CambioMasivoCoeficientesPrecios'),(14,0,'MACRO:ChangeFieldtxtSubSetTPFORMModulos'),(14,0,'MACRO:CheckValidMeasure'),(14,0,'MACRO:ChequeoLicenciaOK'),(14,0,'MACRO:ConfirmaDeletePresupuesto'),(14,0,'MACRO:ControlFormPresupuesto'),(14,0,'MACRO:ControlLista'),(14,0,'MACRO:CopiaComposicion'),(14,0,'MACRO:EventoARADetallePresupuesto'),(14,0,'MACRO:EventoBRADetallePresupuesto'),(14,0,'MACRO:EventoBRCDetallePresupuesto'),(14,0,'MACRO:EventoWLFBitacoraGrid'),(14,0,'MACRO:EventoWRFBitacoraGrid'),(14,0,'MACRO:EventoWhenLoadingFormCabecera'),(14,0,'MACRO:EventoWhenLoadingFromCabecera'),(14,0,'MACRO:ExecuteProcess'),(14,0,'MACRO:Hoy'),(14,0,'MACRO:LimpiarMasivoCoeficientesPrecios'),(14,0,'MACRO:NewResetListBox'),(14,0,'MACRO:PresupuestoExpirado'),(14,0,'MACRO:ResetFiltroProductoFORMPresupuesto'),(14,0,'MACRO:SugerenciaContactoID'),(14,0,'NV20130107'),(14,0,'PROC:ActualizaItemPresupuesto'),(14,0,'PROC:ActualizaPreciosPresupuesto'),(14,0,'PROC:ActualizaPreciosTabular'),(14,0,'PROC:AltaItemPresupuesto'),(14,0,'PROC:AltaItemPresupuestoTmp'),(14,0,'PROC:CalculaPrecioBase'),(14,0,'PROC:CalculoMedidaReal'),(14,0,'PROC:CalculoPrecio'),(14,0,'PROC:CopiaPresupuesto'),(14,0,'PROC:DuplicaProductoCompo'),(14,0,'PROC:GrabaItemPresupuestoTmp'),(14,0,'PROC:ResetEdicionItemTmp'),(14,0,'REPORTE:Composicion.Productos'),(14,0,'REPORTE:Contactos.Resumen'),(14,0,'REPORTE:Lista.Precios.Vigentes'),(14,0,'REPORTE:Presupuesto'),(14,0,'REPORTE:PresupuestoDirecto'),(14,0,'RPRT:IndividualCRM'),(14,0,'SUB:ControlLineaSemaphor'),(14,0,'TABLA:Precios'),(14,0,'TABLA:Productos'),(14,0,'TABLA:accpayab'),(14,0,'TABLA:bitacoracrm'),(14,0,'TABLA:bocetos'),(14,0,'TABLA:componentes'),(14,0,'TABLA:composicion'),(14,0,'TABLA:contactos'),(14,0,'TABLA:filtroqry'),(14,0,'TABLA:magnitudes'),(14,0,'TABLA:modulosdet'),(14,0,'TABLA:modulossbs'),(14,0,'TABLA:precios'),(14,0,'TABLA:predefcab'),(14,0,'TABLA:predefdet'),(14,0,'TABLA:productos'),(14,0,'TABLA:tdocumento'),(14,0,'TABLA:telemecomp'),(14,0,'TABLA:vidquoten1'),(14,0,'TABLA:vidquoten2'),(14,0,'TABLA:vidquoten3'),(14,0,'TABLA:vidquoten3tmp'),(14,0,'TABLA:viquoten3'),(14,0,'TABLA:wsml'),(14,0,'TKT:FZG.000001'),(14,0,'TKT:FZG.000002'),(14,0,'TKT:FZG.000011'),(14,0,'TRIG:Actualiza_Item_Presupuesto'),(14,0,'TRIGGER:Alta_Producto'),(14,0,'TRIGGER:Alta_Productos'),(14,0,'VISTA:acomerciales'),(14,0,'VISTA:clientes'),(14,0,'VISTA:listavigente'),(14,0,'VISTA:preciosvigentes'),(14,0,'VISTA:productosdisp'),(14,0,'VISTA:proveedores'),(14,0,'VISTA:valprodadic'),(14,0,'VISTA:vischeckmod'),(14,0,'VISTA:viscompcnt'),(14,0,'VISTA:visindetpre'),(17,0,'FORM:_Precios_Tabular_x_Proceso'),(17,0,'FZG.Vista.precioscmpl.sql'),(17,0,'FZG.Vista.viscompcnt.sql'),(17,0,'FZG.Vista.vislineabs.sql'),(17,0,'TEMP:LayoutGeneral'),(18,0,'Vista:visintdetpre'),(21,0,'PROC:CalculaPrecioBase'),(21,0,'TABLA:composicion'),(21,0,'TABLA:precios'),(21,0,'TABLA:productos'),(21,0,'VISTA:preciosvigente'),(22,0,'VISTA:visprodadic'),(23,0,'FORM:Presupuesto'),(23,0,'MACRO:EventoBRCDetallePresupuesto'),(23,0,'TABLA:componentes'),(23,0,'TABLA:precios'),(23,0,'TABLA:productos'),(23,0,'TABLA:vidquoten3'),(23,0,'VISTA:visproadic'),(23,0,'VISTA:visprodadic'),(25,0,'PROC:Proceso.Precios.004.scp'),(25,0,'PROC:Proceso.Precios.005.scp'),(25,0,'PROC:Proceso.Precios.ChequeaNombres.scp'),(25,0,'TABLA:ABT.Productos'),(25,0,'TABLA:PreciosABT.Productos'),(25,0,'TABLE:Categorias'),(25,0,'TABLE:DimensionVal'),(25,0,'TABLE:Interiores'),(25,0,'TABLE:Modelos'),(25,0,'TABLE:Precios'),(25,0,'TABLE:PreciosTMP'),(25,0,'TABLE:Productos'),(25,0,'URL:Proceso.Precios.000.scp'),(25,0,'URL:Proceso.Precios.004.cmd'),(25,0,'URL:Proceso.Precios.004.scp'),(25,0,'URL:Proceso.Precios.004b.scp'),(25,0,'URL:Proceso.Precios.005.scp'),(25,0,'URL:Proceso.Precios.005b.scp'),(25,0,'URL:Proceso.Precios.005b.sql'),(25,0,'URL:UpgradeDB.V3_0.sql'),(26,0,'FORM:MasivoPorElemento'),(26,0,'TABLA:productos'),(26,0,'TABLA:valadicprod'),(27,0,'FZG.Vista.visprescmp.sql'),(27,0,'REPORTE:PresupuestosDirecto'),(27,0,'TABLA:clientes'),(27,0,'TABLA:reppresqry'),(27,0,'VISTA:visreppres'),(28,0,'VISTA:visdetaobs'),(28,0,'VISTA:vislineabs'),(30,0,'TABLA:productos'),(30,0,'TABLA:vidquoten1'),(30,0,'TABLA:vidquoten2'),(30,0,'VISTA:vissubxitem'),(31,0,'TABLA:productos'),(31,0,'TABLA:vidquoten3'),(32,0,'TABLA:vidquoten3'),(33,0,'MACRO:LookupData'),(33,0,'MACRO:NewResetListBoxDetalleProducto'),(34,0,'CTRL:VidQuoteIncluyeDet'),(34,0,'TABLA:productos'),(34,0,'TABLA:reppresqry'),(34,0,'TABLA:vidquoten1'),(34,0,'TABLA:vidquoten2'),(34,0,'TABLA:vidquoten3'),(34,0,'VISTA:clientes'),(35,0,'VISTA:visrprescmp'),(38,0,'FORM:CopiaComposicion'),(38,0,'TABLA:composicion'),(38,0,'TABLA:productos'),(39,0,'BTN:Copiar'),(39,0,'FORM:CopiaComposicion'),(39,0,'TABLA:composicion'),(39,0,'TABLA:precios'),(39,0,'TABLA:productos'),(39,0,'TRIG:productos.alta'),(40,0,'TRIG:productos.Alta_Producto'),(40,0,'TRIG:productos.Baja_Producto'),(41,0,'FORM:CopiaComposicion'),(41,0,'FORM:Productos'),(41,0,'TABLA:composicion'),(41,0,'TABLA:precios'),(41,0,'TABLA:productos'),(42,0,'TABLA:composicion'),(42,0,'TABLA:precios'),(43,0,'FORM:CopiaComposicion'),(43,0,'MACRO:AgregaComposicion'),(43,0,'TABLA:composicion'),(44,0,'TABLA:composicion'),(44,0,'TABLA:precios'),(44,0,'TABLA:productos'),(45,0,'FORM:ConsultaClientesCRM'),(45,0,'TABLA:accreceiv'),(45,0,'TABLA:vidquoten1'),(45,0,'TABLA:vidquoten3'),(46,0,'FORM:Cheques'),(46,0,'TABLA:checkbook'),(51,0,'CONCEPTO:Magnitud'),(51,0,'Esquema_Básico_de_un_Producto'),(51,0,'FORM:Productos'),(51,0,'Mantenimiento_de_Datos_Auxiliares'),(51,0,'Valores_Adicionales_de_Productos'),(52,0,'EVENTO:AfterRecordChange'),(52,0,'EVENTO:AfterReseting'),(52,0,'EVENTO:Changed'),(52,0,'EVENTO:MouseButtonPressed'),(52,0,'EVENTO:WhenLoading'),(52,0,'GRA:_Relaciones'),(52,0,'MACRO:ActivaFiltroProductosGeneral'),(52,0,'MACRO:EndosarTercerosEnGrilla'),(52,0,'MACRO:EventoWhenLoadingFORMPagos'),(52,0,'MACRO:SugerenciaImporteCheque'),(52,0,'MACRO:VisibleIngresoCheque'),(52,0,'MODULO:FazzGlassMcr'),(52,0,'MODULO:SpanexB'),(52,0,'OBJETO:BtnEndosoTerceros'),(52,0,'OBJETO:FormChequePropios'),(52,0,'OBJETO:FormPago'),(52,0,'OBJETO:txtFiltro'),(52,0,'OBJETO:txtFormaAP'),(52,0,'TABLA:accpayab'),(52,0,'TABLA:checkbook'),(53,0,'FORM:Cobranzas'),(53,0,'FORM:Pagos'),(54,0,'EVENTO:AfterRecordChange'),(54,0,'EVENTO:AfterReseting'),(54,0,'EVENTO:Changed'),(54,0,'EVENTO:ItemStatusChanged'),(54,0,'EVENTO:MouseButtonPressed'),(54,0,'EVENTO:WhenLoading'),(54,0,'GRA:_Relaciones'),(54,0,'MACRO:ActivaFiltroProductosGeneral'),(54,0,'MACRO:EliminaContenidoCampo'),(54,0,'MACRO:EnviaClienteIDCobranza'),(54,0,'MACRO:EventoWhenLoadingFORMCobranzas'),(54,0,'MACRO:OpcionCtrlxCliente'),(54,0,'MACRO:SugerenciaImporteCheque'),(54,0,'MACRO:VisibleIngresoCheque'),(54,0,'MODULO:FazzGlassMcr'),(54,0,'MODULO:SpanexB'),(54,0,'OBJETO:BotonEliminaContenido_txtFiltro'),(54,0,'OBJETO:FormCheque'),(54,0,'OBJETO:FormCobranzas'),(54,0,'OBJETO:OpcionCtrlxDoc'),(54,0,'OBJETO:OptionBtnAR'),(54,0,'OBJETO:fmtNDocumentoOrg'),(54,0,'OBJETO:txtFiltro'),(54,0,'OBJETO:txtFormaAR'),(54,0,'TABLA:accreceiv'),(54,0,'TABLA:checkbook'),(55,0,'TABLA:checkbook'),(56,0,'FORM:Presupuesto'),(56,0,'TABLA:productos'),(56,0,'TABLA:vidquoten3'),(58,0,'FORM:Presupuesto'),(59,0,'20121004.1617'),(59,0,'ActualizacionDBPendientes'),(59,0,'PROC:ActualizaItemPresupuesto'),(59,0,'PROC:ActualizaPreciosPresupuesto'),(59,0,'PROC:AltaItemPresupuesto'),(59,0,'PROC:AltaItemPresupuestoTmp'),(59,0,'PROC:CopiaModuloBoceto'),(59,0,'PROC:CopiaModuloModulo'),(59,0,'PROC:CopiaPresupuesto'),(59,0,'PROC:CrearNuevaListaPrecios'),(59,0,'PROC:DuplicaProductoCompo'),(59,0,'PROC:GrabaItemPresupuestoTmp'),(59,0,'PROC:ResetEdicionItemTmp'),(59,0,'PROC:explota'),(59,0,'RPRT:Presupuestos'),(59,0,'TABLA:accpayab'),(59,0,'TABLA:bitacoracrm'),(59,0,'TABLA:bocetoscab'),(59,0,'TABLA:bocetosdet'),(59,0,'TABLA:bocetossbs'),(59,0,'TABLA:clientescrmqry'),(59,0,'TABLA:compdvh'),(59,0,'TABLA:composicion'),(59,0,'TABLA:contactos'),(59,0,'TABLA:fPago'),(59,0,'TABLA:listavsdim'),(59,0,'TABLA:magnitudes'),(59,0,'TABLA:moduloscab'),(59,0,'TABLA:modulosdet'),(59,0,'TABLA:modulossbs'),(59,0,'TABLA:navtipolog'),(59,0,'TABLA:precios'),(59,0,'TABLA:proddvh'),(59,0,'TABLA:productos'),(59,0,'TABLA:tdocumento'),(59,0,'TABLA:telemecomp'),(59,0,'TABLA:vidquoten1'),(59,0,'TABLA:vidquoten3'),(59,0,'TABLA:vidquoten3tmp'),(59,0,'TABLA:wscontrolm'),(59,0,'TKT:FZG.000007'),(59,0,'TRIG:Actualiza_Item_Presupuesto'),(59,0,'TRIG:bitacoracrm.Alta_BitacoraCRM'),(59,0,'TRIG:bocetoscab.Baja_BocetosCab'),(59,0,'TRIG:productos.Alta_Producto'),(59,0,'VISTA:acomerciales'),(59,0,'VISTA:chqactivos'),(59,0,'VISTA:clientes'),(59,0,'VISTA:preciosvigentes'),(59,0,'VISTA:productosdisp'),(59,0,'VISTA:vischeckmod'),(59,0,'VISTA:vischtdisp'),(59,0,'VISTA:vistotprod'),(59,0,'VISTA:vistranscrm'),(60,0,'TRIG:precios.ActualizaPrecio'),(60,0,'TRIG:precios.AltaPrecio'),(61,0,'TABLA:precios'),(62,0,'TABLA:precios'),(63,0,'FORM:Presupuesto'),(63,0,'TABLA:contactos'),(66,0,'TABLA:composicion'),(67,0,'FORM:CopiaComposicion'),(67,0,'PROC:DuplicaProductoCompo'),(68,0,'FORM:Presupuesto'),(68,0,'MACRO:BotonEditarComponentes'),(68,0,'PARM:pVidQuoteLPre'),(68,0,'TABLA:composicion'),(68,0,'TABLA:precios'),(68,0,'TABLA:productos'),(68,0,'TABLA:vidquoten3'),(68,0,'TABLA:vidquoten3tmp'),(69,0,'FORM:PreciosTabularxProcesos'),(69,0,'MACRO:RecalculaPrecios'),(69,0,'TABLA:precios'),(69,0,'TABLA:productos'),(70,0,'FORM:PreciosTabularxProcesos'),(70,0,'PROC:ActualizaPreciosTabular'),(71,0,'CTRL:VidQuoteIncluyeDet'),(71,0,'FORM:Presupuesto'),(71,0,'MACRO:BotonEditarComponentes'),(71,0,'TABLA:vidquoten3'),(71,0,'TABLA:vidquoten3tmp'),(72,0,'FORM:Presupuesto'),(72,0,'TABLA:vidquoten3tmp'),(73,0,'FORM:presupuesto'),(73,0,'TABLA:contactos'),(74,0,'FORM:Presupuesto'),(74,0,'MACRO:ControlFormPresupuesto'),(74,0,'TABLA:contactos'),(75,0,'FORM:Presupuesto'),(75,0,'FORM:Presupuestos'),(75,0,'MACRO:ChequeoValorLicenciaOK'),(76,0,'FORM:Presupuesto'),(76,0,'MACRO:EventoWhenLoadingFromCabecera'),(76,0,'MACRO:Main'),(76,0,'VARG:oCheckEstadoLicencia'),(77,0,'FORM:Presupuesto'),(77,0,'TABLA:vidquoten1'),(78,0,'FORM:Presupuesto'),(78,0,'TABLA:vidquoten1'),(78,0,'TABLA:vidquoten2'),(79,0,'FORM:Presupuesto'),(79,0,'LIBR:FazzGlassMcr'),(79,0,'TABLA:vidquoten2'),(80,0,'SQLCODE0001'),(80,0,'SQLCODE0002'),(80,0,'SQLCODE0003'),(80,0,'SQLCODE0004'),(80,0,'SQLCODE0005'),(80,0,'TABLA:productos'),(80,0,'TABLA:vidquoten1'),(80,0,'TABLA:vidquoten2'),(80,0,'TABLA:vidquoten3'),(85,0,'FORM:Presupuesto'),(85,0,'PROC:ActualizaPreciosPresupuesto'),(86,0,'FORM:Presupuesto'),(86,0,'MACRO:BotonActualizarPresupuesto'),(86,0,'TABLA:composicion'),(86,0,'TABLA:precios'),(86,0,'TABLA:productos'),(86,0,'TABLA:vidquoten2'),(86,0,'TABLA:vidquoten3'),(86,0,'TRIG:Actualiza_Item_Presupuesto'),(87,0,'FORM:Presupuesto'),(87,0,'PROC:ActualizaItemPresupuesto'),(87,0,'PROC:AltaItemPresupuesto'),(87,0,'TABLA:vidquoten1'),(87,0,'TABLA:vidquoten2'),(87,0,'TABLA:vidquoten3'),(87,0,'VISTA:acomerciales'),(87,0,'VISTA:clientes'),(88,0,'FORM:Presupuesto'),(88,0,'TABLA:composicion'),(88,0,'TABLA:precios'),(88,0,'TABLA:productos'),(88,0,'TABLA:vidquoten3'),(88,0,'TRIG:Actualiza_Item_Presupuesto'),(89,0,'FORM:Presupuesto'),(89,0,'FORM:Presupuesto.v1.0'),(89,0,'MACRO:PresupuestoCopia'),(89,0,'TABLA:vidquoten1'),(89,0,'TABLA:vidquoten2'),(89,0,'TABLA:vidquoten3'),(89,0,'TABLA:vidquoten4'),(91,0,'FORM:ClienteCRM'),(93,0,'FORM:Presupuesto'),(93,0,'REPORT:Presupuesto'),(94,0,'FORM:Presupuesto'),(94,0,'LIBR:SpanexB'),(95,0,'RPRT:PresupuestosDirecto'),(96,0,'RPRT:Presupuestos'),(97,0,'FORM:Productos'),(97,0,'TABLA:contactos'),(98,0,'FORM:Aux:000002'),(98,0,'FORM:Contactos'),(98,0,'FORM:Presupuesto'),(98,0,'SpanexB'),(99,0,'EVENTO:Presupuesto.Cabecera.WhenLoading'),(99,0,'FORM:Presupuesto'),(99,0,'FORM:Presupuesto.Cabecera'),(99,0,'LIBR:FazzGlassMcr'),(100,0,'FORM:PosicionCRM'),(100,0,'FORM:PosicionCRM.SubFormCliente'),(100,0,'MACRO:ActivaFiltroContactos'),(100,0,'MACRO:ActivaFiltroProductosGeneral'),(100,0,'MACRO:ReporteClientesCRM'),(100,0,'TABLA:accreceiv'),(100,0,'TABLA:contactos'),(100,0,'TABLA:vidquoten1'),(100,0,'TABLA:vidquoten3'),(101,0,'FORM:ConsultaCRM'),(101,0,'FORM:PosicionCRM'),(101,0,'TABLA:clientescrmqry'),(101,0,'TABLA:vidquoten1'),(101,0,'TABLA:vidquoten3'),(101,0,'VISTA:clientes'),(102,0,'TABLA:accreceiv'),(102,0,'TABLA:vidquoten1'),(102,0,'TABLA:vidquoten3'),(102,0,'VISTA:vistranscrm'),(104,0,'TABLA:frames'),(104,0,'TABLA:projects'),(104,0,'TABLA:secciones'),(108,0,'FORM:Presupuesto'),(108,0,'RPRT:Presupuesto'),(108,0,'TRIG:vidquoten1.Baja_Presupuesto'),(109,0,'FORM:Presupuesto.Productos'),(109,0,'LIBR:FazzGlassMcr'),(109,0,'MACRO:CheckValidMeasure'),(110,0,'MACRO:ARAEndosoCheque'),(110,0,'MACRO:AccesaMRIStarDesktop'),(110,0,'MACRO:AccesaMRIThisComponent'),(110,0,'MACRO:AccesaMRIThisDatabaseDocument'),(110,0,'MACRO:ActivaFiltroCheques'),(110,0,'MACRO:ActivaFiltroContactos'),(110,0,'MACRO:ActivaFiltroPredefinidos'),(110,0,'MACRO:ActivaFiltroPresupuesto'),(110,0,'MACRO:ActivaFiltroProductosGeneral'),(110,0,'MACRO:ActivaNuevaListaPrecio'),(110,0,'MACRO:AfterRecordChangeFORMProductos'),(110,0,'MACRO:AfterUpdateElementoDProducto'),(110,0,'MACRO:AgregaComposicion'),(110,0,'MACRO:AplicarCambioMasivoPrecios'),(110,0,'MACRO:ApruebaPresupuesto'),(110,0,'MACRO:BRAEndosoCheque'),(110,0,'MACRO:BotonAbrirPredefinidos'),(110,0,'MACRO:BotonEnviarCorreoPresupuesto'),(110,0,'MACRO:BotonImprimirPresupuesto'),(110,0,'MACRO:BotonSeleccionaPredefinido'),(110,0,'MACRO:CambioMasivoCoeficientesPrecios'),(110,0,'MACRO:CentrarMensaje'),(110,0,'MACRO:ChangeFieldtxtProductoIDFORMCopiaComp'),(110,0,'MACRO:ChangeFieldtxtProductoIDFORMProductos'),(110,0,'MACRO:CheckLicenceOK'),(110,0,'MACRO:ChequeoProductoRepetido'),(110,0,'MACRO:ChequeoValorLicenciaOK'),(110,0,'MACRO:ConfirmeEliminarDetalleProducto'),(110,0,'MACRO:ConfirmeEliminarLogPrecio'),(110,0,'MACRO:ConfirmeEliminarProducto'),(110,0,'MACRO:ConfirmeEliminarProductoCore'),(110,0,'MACRO:CopiaComposicion'),(110,0,'MACRO:DateStampPrecioUpdate'),(110,0,'MACRO:DateTodbDate'),(110,0,'MACRO:EliminaContenidoCampo'),(110,0,'MACRO:EnviaQryPresupuesto'),(110,0,'MACRO:EscondeBarras'),(110,0,'MACRO:EventoARADetallePresupuesto'),(110,0,'MACRO:EventoAfterRecordAction'),(110,0,'MACRO:EventoBRADetallePresupuesto'),(110,0,'MACRO:EventoBRADetalleProducto'),(110,0,'MACRO:EventoBRAProductosCore'),(110,0,'MACRO:EventoBRCDetallePresupuesto'),(110,0,'MACRO:EventoBRCDetalleProducto'),(110,0,'MACRO:EventoBeforeRecordChange'),(110,0,'MACRO:EventoBeforeReloading'),(110,0,'MACRO:EventoWhenLoading'),(110,0,'MACRO:EventoWhenLoadingFORMCobranzas'),(110,0,'MACRO:EventoWhenLoadingFORMPagos'),(110,0,'MACRO:EventoWhenLoadingFormCabecera'),(110,0,'MACRO:EventoWhenReloading'),(110,0,'MACRO:FileAttributeString'),(110,0,'MACRO:GeneraFechaListaPrecio'),(110,0,'MACRO:GeneraNuevoDefaultListaPrecio'),(110,0,'MACRO:GeneraResguardo'),(110,0,'MACRO:GrabaScriptBkp'),(110,0,'MACRO:Hoy'),(110,0,'MACRO:ImprimeQryPresupuesto'),(110,0,'MACRO:LayoutIn'),(110,0,'MACRO:LayoutOut'),(110,0,'MACRO:LimpiarMasivoCoeficientesPrecios'),(110,0,'MACRO:LookupData'),(110,0,'MACRO:Main'),(110,0,'MACRO:NewProductoListbox'),(110,0,'MACRO:NewResetListBoxDetalleProducto'),(110,0,'MACRO:OpenForm'),(110,0,'MACRO:OpenMainMenu'),(110,0,'MACRO:OptionBtnAR'),(110,0,'MACRO:OptionBtnOrdenChq'),(110,0,'MACRO:PresupuestoCopia'),(110,0,'MACRO:PresupuestoExpirado'),(110,0,'MACRO:QuerySimple'),(110,0,'MACRO:RecalculaPrecios'),(110,0,'MACRO:ReemplazaStr'),(110,0,'MACRO:ReporteClientesCRM'),(110,0,'MACRO:ResguardoEjecutar'),(110,0,'MACRO:ResguardoInicializa'),(110,0,'MACRO:ResguardoSalir'),(110,0,'MACRO:RestituyeFiltroOriginal'),(110,0,'MACRO:SugerenciaImporteCheque'),(110,0,'MACRO:Sugerencio'),(110,0,'MACRO:SwitchBarras'),(110,0,'MACRO:SwitchCheckboxParam'),(110,0,'MACRO:Test'),(110,0,'MACRO:TestMRI'),(110,0,'MACRO:TestThisComponent'),(110,0,'MACRO:TestThisControl'),(110,0,'MACRO:TextoStatusBar'),(110,0,'MACRO:VisibleDetalleElementoGrid'),(110,0,'MACRO:VisibleFiltroPresupuesto'),(110,0,'MACRO:onClickOpenForm'),(111,0,'MACRO:ActivaFiltroValoresGeneral'),(111,0,'MACRO:ActivaRelacionForm'),(111,0,'MACRO:ActualizaDB'),(111,0,'MACRO:ActualizaRegistroCheckBox'),(111,0,'MACRO:AltaProductoPresupuesto'),(111,0,'MACRO:AprobacionPresupuesto'),(111,0,'MACRO:BotonActualizarPresupuesto'),(111,0,'MACRO:BotonContactosExpress'),(111,0,'MACRO:BotonEditarComponentes'),(111,0,'MACRO:CheckValidMeasure'),(111,0,'MACRO:ConfirmaDeletePresupuesto'),(111,0,'MACRO:ControlFormPresupuesto'),(111,0,'MACRO:ControlLista'),(111,0,'MACRO:CopiaComponenteSimple'),(111,0,'MACRO:DefineAccionForm'),(111,0,'MACRO:DespliegaGrid'),(111,0,'MACRO:DespliegaListBox'),(111,0,'MACRO:EndosarTercerosEnGrilla'),(111,0,'MACRO:EnviaClienteIDCobranza'),(111,0,'MACRO:EventoWhenReceivingFocus'),(111,0,'MACRO:FiltroPlusText'),(111,0,'MACRO:MenuArbol'),(111,0,'MACRO:MuestraSubForm'),(111,0,'MACRO:OptionBtnAP'),(111,0,'MACRO:RecalculaSubTotalProductoTmp'),(111,0,'MACRO:ResetFiltroProductoFORMPresupuesto'),(111,0,'MACRO:RoundN'),(111,0,'MACRO:SelectC_selectionChanged'),(111,0,'MACRO:SelectS_getSelection'),(111,0,'MACRO:SelectS_select'),(111,0,'MACRO:SplitMsg'),(111,0,'MACRO:SugerenciaContactoID'),(111,0,'MACRO:Tree_disposing'),(111,0,'MACRO:Tree_requestChildNodes'),(111,0,'MACRO:Tree_treeCollapsed'),(111,0,'MACRO:Tree_treeCollapsing'),(111,0,'MACRO:Tree_treeExpanded'),(111,0,'MACRO:Tree_treeExpanding'),(111,0,'MACRO:VisibleIngresoCheque'),(111,0,'MACRO:iiif'),(112,0,'FORM:Presupuesto'),(112,0,'FORM:Presupuestos.Productos'),(112,0,'FORM:Presupuestos.ProductosGrid'),(112,0,'FORM:Productos'),(112,0,'TABLA:Magnitudes'),(113,0,'FORM:Presupuestos'),(113,0,'LIBR:SpanexB'),(114,0,'EVNT:Presupuesto.Cabecera.txtVidQuoteEstado.ItemStatusChange'),(114,0,'FORM:Presupuesto'),(114,0,'FORM:Presupuesto.Cabecera'),(114,0,'MACRO:ControlFormPresupuesto'),(115,0,'MACRO:CuadroPrueba'),(115,0,'MACRO:CuadroPrueba1'),(115,0,'MACRO:CuadroPrueba2'),(115,0,'MACRO:EventoAfterUpdatingProductoID'),(115,0,'MACRO:EventoBeforeUpdating'),(115,0,'MACRO:EventoChanged'),(115,0,'MACRO:EventoExecAction'),(115,0,'MACRO:EventoItemStatusChanged'),(115,0,'MACRO:PruebaDraw'),(115,0,'MACRO:ShowToolbars'),(115,0,'MACRO:StartDocument'),(115,0,'MACRO:XGridSelection_disposing'),(115,0,'MACRO:XGridSelection_selectionChanged'),(117,0,'TABLA:moduloscab'),(117,0,'TABLA:modulossbs'),(118,0,'TABLA:moduloscab'),(118,0,'TABLA:modulosdet'),(118,0,'TABLA:modulossbs'),(120,0,'MACRO:ConfirmaDeleteModulo'),(120,0,'MACRO:ControlBotonesFormModulos'),(120,0,'TABLA:moduloscab'),(120,0,'TABLA:modulosdet'),(121,0,'FORM:Presupuesto'),(121,0,'LIBR:SpanexB'),(122,0,'TABLA:modulosdet'),(127,0,'Estructuras_SQL'),(127,0,'TEMP:LayoutGeneral'),(127,14,'FORM'),(127,14,'LIBR'),(127,14,'MACRO'),(127,14,'PROC'),(127,14,'RPRT'),(127,14,'TABLAS'),(127,14,'TRIG'),(127,14,'VISTAS'),(129,0,'PROC:AltaItemPresupuesto'),(129,0,'PROC:AltaItemPresupuestoTmp'),(129,0,'PROC:CalculoPrecio'),(134,0,'Thunderlink://messageid=SNT002-W398146B91F00276402D8EBD440@phx.gbl'),(135,0,'TKT:FZG.000006'),(136,0,'TKT:FZG.000002'),(137,0,'TKT:FZG.000003'),(138,0,'TKT:FZG.000004'),(139,0,'TKT:FZG.000005'),(143,0,'TABLA:bocetosdet'),(143,0,'TABLA:bocetossbs'),(143,0,'TRIG:bocetoscab.Baja_BocetosCab'),(144,0,'TRIG:bocetosdet.Baja_BocetosDet'),(148,0,'TABLA:composicion'),(149,0,'PROC:DebugCheckPoint'),(151,0,'FORM:Presupuesto'),(151,0,'TRIG:vidquoten2.Baja_Item_Presupuesto'),(153,0,'FORM:Cheques'),(154,0,'MACRO:Main'),(155,0,'VISTA:acomerciales'),(155,0,'VISTA:clientes'),(155,0,'VISTA:proveedores'),(160,0,'TRIG:productos.Baja_Producto'),(161,0,'TRIG:productos.Alta_Producto'),(162,0,'TABLA:vidquoten1'),(162,0,'TABLA:vidquoten2'),(162,0,'TABLA:vidquoten3'),(163,0,'TABLA:vidquoten2'),(163,0,'TABLA:vidquoten3'),(164,0,'ATRIB:productos.CoefAlto'),(164,0,'ATRIB:productos.CoefAncho'),(164,0,'ATRIB:productos.OffSetAlto'),(164,0,'ATRIB:productos.OffSetAncho'),(164,0,'ATRIB:productos.ValorElemento'),(165,0,'TABLA:bocetoscab'),(165,0,'TABLA:bocetosdet'),(165,0,'TABLA:bocetossbs'),(166,0,'TRIG:bocetoscab.Baja_BocetosCab'),(167,0,'TABLA:bocetosdet'),(167,0,'TABLA:bocetossbs'),(179,0,'FORM:CopiaComposicion'),(179,0,'TABLA:composicion'),(179,0,'TABLA:productos'),(180,0,'TABLA:modulos'),(180,0,'TABLA:productos'),(190,0,'ATTR:CompoEdita'),(190,0,'ATTR:ProductoOr'),(190,0,'MACRO:ChangeFieldtxtProductoIDFORMProductos'),(190,0,'MACRO:ConfirmeEliminarProductoCore'),(190,0,'TABLA:categorias'),(190,0,'TABLA:composicion'),(190,0,'TABLA:magnitudes'),(190,0,'TABLA:precios'),(190,0,'TABLA:productos'),(190,0,'VISTA:proveedores'),(197,0,'LIBR:Spanex.B'),(201,0,'TRIG:bitacoracrm.Alta_BitacoraCRM'),(202,0,'TABLA:bitacoracrm'),(203,0,'Abertec'),(203,0,'Centuriones'),(203,0,'Cliente5'),(203,0,'FazzGlass'),(203,0,'VieroAbogados'),(204,0,'SoftwareFazzGlass'),(206,0,'Apuntes'),(206,0,'Apuntes_Planeamiento_Estratégico'),(206,0,'Contacto'),(209,0,'TABLA:vidquoten1'),(209,0,'TABLA:wscontrol'),(212,0,'TABLA:moduloscab'),(212,0,'TABLA:modulosdet'),(214,0,'OCheckEstadoLicencia'),(215,0,'FORM:ConsultaClientesCRM.MainForm'),(215,0,'FORM:ConsultaClientesCRM.SFPresupuesto'),(215,0,'FORM:ConsultaClientesCRM.SubFormCobranzas'),(215,0,'FORM:ConsultaClientesCRM.SubFormSaldos'),(215,0,'MACR:ActivaFiltroContactos'),(215,0,'MACR:ActivaFiltroProductosGeneral'),(215,0,'MACRO:ActivaFiltroContactos'),(215,0,'MACRO:EliminaContenidoCampo'),(215,0,'MACRO:ReporteClientesCRM'),(215,0,'TABLA:accreceiv'),(215,0,'TABLA:contactos'),(215,0,'TABLA:vidquoten1'),(215,0,'TABLA:vidquoten2'),(216,0,'FORM:BitacoraCRM.BitacoraResumen'),(216,0,'FORMBitacoraCRM.BitacoraDetalle'),(216,0,'MACRO:ActivaFiltroBitacoras'),(216,0,'MACRO:ActivaFiltroContactos'),(216,0,'MACRO:ActivaFiltroProductosGeneral'),(216,0,'MACRO:EventoWLFBitacoraGrid'),(216,0,'MACRO:EventoWRFBitacoraGrid'),(216,0,'TABLA:bitacoraCRM'),(216,0,'TABLA:bitacoracrm'),(216,0,'TABLA:contactos'),(217,0,'LIBR:FazzGlassMcr'),(218,0,'FORM:BitacoraCRM'),(218,0,'FORM:ConsultaClientesCRM'),(218,0,'FORM:PosicionCRM'),(218,0,'LIBR:FazzGlassMcr'),(218,0,'TABLA:contactos'),(219,0,'FORM:BitacoraCRM'),(219,0,'LIBR:FazzGlassMcr'),(219,0,'TABLA:bitacoracrm'),(219,0,'TABLA:contactos'),(220,0,'FORM:BitacoraCRM'),(220,0,'LIBR:SpanexB'),(221,0,'FORM:BitacoraCRM'),(221,0,'LIBR:SpanexB'),(222,0,'TABLA:precios'),(223,0,'MACRO:ExecuteProcess'),(223,0,'MACRO:InicializaMenu'),(223,0,'MACRO:MenuBoton'),(223,0,'MACRO:MenuLimpiar'),(223,0,'MACRO:OpenReport'),(223,0,'MACRO:ShowMainMenu'),(223,0,'RPRT:IndividualCRM'),(224,0,'FORM:FormMenu'),(224,0,'LIBR:SpanexM'),(225,0,'FORM:PreciosTabularNormal'),(226,0,'FORM:Productos'),(227,0,'FORM:Productos'),(227,0,'LIBR:FazzGlassMcr'),(227,0,'TABLA:composicion'),(227,0,'TABLA:precios'),(227,0,'TABLA:productos'),(228,0,'FORM:Productos'),(228,0,'LIBR:FazzGlassMcr'),(228,0,'TABLA:composicion'),(228,0,'TABLA:precios'),(228,0,'TABLA:productos'),(228,0,'TRIG:productos.Baja_Producto'),(229,0,'FORM:Contactos'),(229,0,'FORM:Presupuesto'),(229,0,'MACRO:EventoARAAux000002'),(229,0,'MACRO:EventoBRAAux000002'),(229,0,'TABLA:contactos'),(230,0,'FORM:Aux:000002'),(230,0,'LIBR:SpanexB'),(231,0,'FORM:Aux:000002'),(231,0,'FORM:Presupuestos'),(231,0,'LIBR:SpanexB'),(231,0,'TABLA:contactos'),(232,0,'MACRO:ActivaFiltroProductosGeneral'),(232,0,'MACRO:EliminaContenidoCampo'),(232,0,'TABLA:composicion'),(232,0,'VISTA:viscompcnt'),(233,0,'FORM:GestionMasivaPorProducto'),(233,0,'LIBR:FazzGlassMcr');
/*!40000 ALTER TABLE `peg_pagelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_page_restrictions`
--

DROP TABLE IF EXISTS `peg_page_restrictions`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_page_restrictions` (
  `pr_page` int(11) NOT NULL,
  `pr_type` varbinary(60) NOT NULL,
  `pr_level` varbinary(60) NOT NULL,
  `pr_cascade` tinyint(4) NOT NULL,
  `pr_user` int(11) default NULL,
  `pr_expiry` varbinary(14) default NULL,
  `pr_id` int(10) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (`pr_id`),
  UNIQUE KEY `pr_pagetype` (`pr_page`,`pr_type`),
  KEY `pr_typelevel` (`pr_type`,`pr_level`),
  KEY `pr_level` (`pr_level`),
  KEY `pr_cascade` (`pr_cascade`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_page_restrictions`
--

LOCK TABLES `peg_page_restrictions` WRITE;
/*!40000 ALTER TABLE `peg_page_restrictions` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_page_restrictions` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_archive`
--

DROP TABLE IF EXISTS `peg_archive`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_archive` (
  `ar_namespace` int(11) NOT NULL default '0',
  `ar_title` varbinary(255) NOT NULL default '',
  `ar_text` mediumblob NOT NULL,
  `ar_comment` tinyblob NOT NULL,
  `ar_user` int(10) unsigned NOT NULL default '0',
  `ar_user_text` varbinary(255) NOT NULL,
  `ar_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `ar_minor_edit` tinyint(4) NOT NULL default '0',
  `ar_flags` tinyblob NOT NULL,
  `ar_rev_id` int(10) unsigned default NULL,
  `ar_text_id` int(10) unsigned default NULL,
  `ar_deleted` tinyint(3) unsigned NOT NULL default '0',
  `ar_len` int(10) unsigned default NULL,
  `ar_page_id` int(10) unsigned default NULL,
  `ar_parent_id` int(10) unsigned default NULL,
  KEY `name_title_timestamp` (`ar_namespace`,`ar_title`,`ar_timestamp`),
  KEY `usertext_timestamp` (`ar_user_text`,`ar_timestamp`),
  KEY `ar_revid` (`ar_rev_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_archive`
--

LOCK TABLES `peg_archive` WRITE;
/*!40000 ALTER TABLE `peg_archive` DISABLE KEYS */;
INSERT INTO `peg_archive` VALUES (0,'Gestión_Retail_Aberturas:_Relaciones','','Página creada con «=== Subrutinas === ===== BotonEnviarCorreoPresupuesto ===== *FORM:Presupuesto#Cabecera *EVNT:MouseButtonPressed ===== BotonImprimirPresupuesto ===== *FORM:Presupuesto#Cabec...»',0,'186.124.202.210','20120127180253',0,'',53,53,0,1718,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* DateStampPrecioUpdate */',0,'186.124.202.210','20120127180336',0,'',54,54,0,1749,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* EventoAfterRecordAction */',0,'186.124.202.210','20120127190159',0,'',55,55,0,1767,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* EventoBeforeRecordChange */',0,'186.124.202.210','20120127190232',0,'',56,56,0,1787,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* EventoAfterRecordAction */',0,'186.124.202.210','20120127190247',0,'',57,57,0,1789,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* EventoBeforeReloading */',0,'186.124.202.210','20120127190310',0,'',58,58,0,1809,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* DebugAcc */',0,'186.124.202.210','20120127190325',0,'',59,59,0,1829,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Subrutinas */',0,'186.124.202.210','20120127191144',0,'',60,60,0,2159,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Estructuras de Datos = */',0,'186.124.202.210','20120127203040',0,'',61,61,0,2291,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Estructuras de Datos = */',0,'186.124.202.210','20120127203209',0,'',62,62,0,2344,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Estructuras de Datos = */',0,'186.124.202.210','20120127203546',0,'',63,63,0,2457,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Estructuras de Datos */',0,'186.124.202.210','20120127203645',0,'',64,64,0,2491,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Vistas */',0,'186.124.202.210','20120127204854',0,'',65,65,0,2855,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Estructuras de Datos */',0,'190.138.183.63','20120128001527',0,'',66,66,0,2880,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Procedimientos */',0,'190.138.183.63','20120128001611',0,'',67,67,0,2878,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Tablas */',0,'190.138.183.63','20120128054639',0,'',68,68,0,3178,7,NULL),(0,'Gestión_Retail_Aberturas:_Relaciones','','/* Tablas */',0,'190.138.183.63','20120128054934',0,'',69,69,0,3118,7,NULL),(0,'Gestión_Retail_Aberturas:_Pendientes','','Página creada con «*Controlar Accesos por IP *Licensing. Como*s + Precios -> Documentar *Transacciones *SendTo - PDF»',0,'186.109.17.104','20120121025815',0,'',40,40,0,97,4,NULL),(0,'Gestión_Retail_Aberturas:_Pendientes','','',1,'Administrador','20120222150427',0,'',72,72,0,108,4,NULL),(0,'Gestión_Retail_Aberturas:_Pendientes','','',1,'Administrador','20120222151112',0,'',73,73,0,374,4,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','Página creada con « == 20110112 ==  Activación de Wiki Desarrollo y test de trigger Alta_Productos»',0,'186.124.29.117','20120112201842',0,'',12,12,0,80,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20110112 */',0,'186.124.29.117','20120112202058',0,'',14,14,0,81,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20110112 */',0,'186.124.29.117','20120112202139',0,'',15,15,0,85,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20110112 */',0,'186.124.29.117','20120113002923',0,'',28,28,0,128,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20110112 */',0,'186.124.29.117','20120113002944',0,'',29,29,0,128,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20110112 */',0,'186.124.29.117','20120113104358',0,'',30,30,0,411,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120112 */',0,'186.124.29.117','20120113104550',0,'',31,31,0,520,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120113 */',0,'186.124.29.117','20120113164938',0,'',33,33,0,599,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120113 */',0,'200.117.171.25','20120113220238',0,'',34,34,0,1170,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120113 */',0,'200.117.171.25','20120113220459',0,'',35,35,0,1174,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120113 */',0,'200.117.171.25','20120113220554',0,'',36,36,0,1178,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120113 */',0,'186.109.200.54','20120122112310',0,'',41,41,0,1483,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120113 */',0,'186.109.200.54','20120122113437',0,'',42,42,0,2504,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120122 */',0,'186.109.200.54','20120122114116',0,'',43,43,0,2589,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120122 */',0,'186.109.200.54','20120122114905',0,'',44,44,0,2748,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120122 */',0,'186.109.140.241','20120125193500',0,'',45,45,0,3544,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120125 */',0,'186.124.202.210','20120127133550',0,'',46,46,0,3685,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120112 */',0,'186.124.202.210','20120127134221',0,'',51,51,0,3685,3,NULL),(0,'Gestión_Retail_Aberturas:_Bitácora','','/* 20120127 */',0,'190.231.140.59','20120206134358',0,'',70,70,0,4233,3,NULL),(0,'GRA:_Bitácora','','Página creada con « == 20120112 == * Activación de Wiki * Desarrollo y test de [[TRIGGER:Alta_Productos]] * Modificación de [[VISTA:visindetpre]] * Modificación de [[TABLA:composicion]] **...»',1,'Administrador','20120328143239',0,'',159,159,0,4233,16,NULL),(0,'WikiSpanexSupport','','Página creada con «\'\'\'Listado de tickets\'\'\'  *FZG.000001 **//Sofia//Se corrompe el archivo manifiest.rdf luego de cerrar la aplicación y abrirla nuevamente. ***Se consulta sobre la acción e...»',1,'Administrador','20121206122756',0,'',862,859,0,305,123,NULL),(0,'WikiSpanexSupport','','',1,'Administrador','20121206133332',0,'',878,875,0,406,123,NULL),(0,'WikiSpanexSupport','','/* FZG.000001 */',1,'Administrador','20121206133407',0,'',879,876,0,402,123,NULL),(0,'WikiSpanexSupport','','/* FZG.000001 */',1,'Administrador','20121206133454',0,'',880,877,0,420,123,NULL),(0,'WikiSpanexSupport','','',1,'Administrador','20121206133628',0,'',881,878,0,438,123,NULL),(0,'WikiSpanexSupport','','Página blanqueada',1,'Administrador','20121206134137',0,'',887,884,0,0,123,NULL),(14,'FORMS','','Página creada con «Lista de Formularios asociados»',1,'Administrador','20121213000615',0,'',1051,1043,0,30,157,NULL),(0,'GRA:_Pendientes','','Página creada con «*<del>Controlar Accesos por IP</del> *Licensing. Como*s + Precios -> Documentar *Transacciones *<del>SendTo - PDF</del> *Parser **[\'\'value;value;...\'\'] **{\'\'expresion\'\'} *L...»',1,'Administrador','20120328143119',0,'',158,158,0,374,15,NULL);
/*!40000 ALTER TABLE `peg_archive` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_log_search`
--

DROP TABLE IF EXISTS `peg_log_search`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_log_search` (
  `ls_field` varbinary(32) NOT NULL,
  `ls_value` varbinary(255) NOT NULL,
  `ls_log_id` int(10) unsigned NOT NULL default '0',
  UNIQUE KEY `ls_field_val` (`ls_field`,`ls_value`,`ls_log_id`),
  KEY `ls_log_id` (`ls_log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_log_search`
--

LOCK TABLES `peg_log_search` WRITE;
/*!40000 ALTER TABLE `peg_log_search` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_log_search` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_external_user`
--

DROP TABLE IF EXISTS `fzg_external_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_external_user` (
  `eu_local_id` int(10) unsigned NOT NULL,
  `eu_external_id` varbinary(255) NOT NULL,
  PRIMARY KEY  (`eu_local_id`),
  UNIQUE KEY `eu_external_id` (`eu_external_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_external_user`
--

LOCK TABLES `fzg_external_user` WRITE;
/*!40000 ALTER TABLE `fzg_external_user` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_external_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_logging`
--

DROP TABLE IF EXISTS `fzg_logging`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_logging` (
  `log_id` int(10) unsigned NOT NULL auto_increment,
  `log_type` varbinary(32) NOT NULL default '',
  `log_action` varbinary(32) NOT NULL default '',
  `log_timestamp` binary(14) NOT NULL default '19700101000000',
  `log_user` int(10) unsigned NOT NULL default '0',
  `log_user_text` varbinary(255) NOT NULL default '',
  `log_namespace` int(11) NOT NULL default '0',
  `log_title` varbinary(255) NOT NULL default '',
  `log_page` int(10) unsigned default NULL,
  `log_comment` varbinary(255) NOT NULL default '',
  `log_params` blob NOT NULL,
  `log_deleted` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`log_id`),
  KEY `type_time` (`log_type`,`log_timestamp`),
  KEY `user_time` (`log_user`,`log_timestamp`),
  KEY `page_time` (`log_namespace`,`log_title`,`log_timestamp`),
  KEY `times` (`log_timestamp`),
  KEY `log_user_type_time` (`log_user`,`log_type`,`log_timestamp`),
  KEY `log_page_id_time` (`log_page`,`log_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_logging`
--

LOCK TABLES `fzg_logging` WRITE;
/*!40000 ALTER TABLE `fzg_logging` DISABLE KEYS */;
INSERT INTO `fzg_logging` VALUES (1,'newusers','create2','20120213220752',1,'Administrador',2,'Fzgusr',0,'','2',0),(2,'rights','rights','20120214101401',1,'Administrador',2,'Fzgusr',0,'','\nfzgusr',0),(3,'patrol','patrol','20120214203255',1,'Administrador',0,'Página_principal',1,'','33\n32\n1',0),(4,'patrol','patrol','20120214203914',1,'Administrador',0,'Página_principal',1,'','34\n33\n1',0),(5,'patrol','patrol','20120306202211',1,'Administrador',0,'Página_principal',1,'','35\n34\n1',0),(6,'patrol','patrol','20120306203915',1,'Administrador',0,'Página_principal',1,'','36\n35\n1',0),(7,'patrol','patrol','20120306204053',1,'Administrador',0,'Página_principal',1,'','37\n36\n1',0),(8,'patrol','patrol','20120316013925',1,'Administrador',0,'Página_principal',1,'','38\n37\n1',0),(9,'patrol','patrol','20120316014812',1,'Administrador',0,'Página_principal',1,'','39\n38\n1',0),(10,'patrol','patrol','20120316015239',1,'Administrador',0,'Página_principal',1,'','40\n39\n1',0),(11,'patrol','patrol','20120317212922',1,'Administrador',0,'Página_principal',1,'','41\n40\n1',0),(12,'patrol','patrol','20120317214323',1,'Administrador',0,'Página_principal',1,'','42\n41\n1',0),(13,'patrol','patrol','20120317220820',1,'Administrador',0,'Página_principal',1,'','43\n42\n1',0),(14,'patrol','patrol','20120317221737',1,'Administrador',0,'Página_principal',1,'','44\n43\n1',0),(15,'patrol','patrol','20120328224953',1,'Administrador',0,'Página_principal',1,'','45\n44\n1',0),(16,'upload','upload','20120329164929',1,'Administrador',6,'FZG.DOCS.Procesos.Composicion.jpg',0,'','',0),(17,'upload','upload','20120329164959',1,'Administrador',6,'FZG.DOCS.Procesos.Precios.jpg',0,'','',0),(18,'upload','upload','20120329165020',1,'Administrador',6,'FZG.DOCS.Procesos.Presupuesto.jpg',0,'','',0),(19,'upload','upload','20120329165105',1,'Administrador',6,'FZG.DOCS.Procesos.Productos.jpg',0,'','',0),(20,'patrol','patrol','20120329165224',1,'Administrador',0,'Página_principal',1,'','50\n45\n1',0),(21,'patrol','patrol','20120329165328',1,'Administrador',0,'Página_principal',1,'','51\n50\n1',0),(22,'patrol','patrol','20120329165420',1,'Administrador',0,'Página_principal',1,'','52\n51\n1',0),(23,'patrol','patrol','20120329165516',1,'Administrador',0,'Página_principal',1,'','53\n52\n1',0),(24,'patrol','patrol','20120329170524',1,'Administrador',0,'Página_principal',1,'','54\n53\n1',0),(25,'upload','upload','20120329170632',1,'Administrador',6,'FZG.DOCS.Procesos.Ayuda.jpg',0,'','',0),(26,'patrol','patrol','20120329170707',1,'Administrador',0,'Página_principal',1,'','56\n54\n1',0),(27,'patrol','patrol','20120329170929',1,'Administrador',0,'Página_principal',1,'','57\n56\n1',0),(28,'patrol','patrol','20120329172835',1,'Administrador',0,'Página_principal',1,'','58\n57\n1',0),(29,'upload','upload','20120329204512',1,'Administrador',6,'FZG.DOCS.Pantalla.Presupuesto.jpg',0,'','',0),(30,'patrol','patrol','20120329204635',1,'Administrador',0,'Página_principal',1,'','60\n58\n1',0),(31,'patrol','patrol','20120329204911',1,'Administrador',0,'Página_principal',1,'','61\n60\n1',0),(32,'patrol','patrol','20120329205129',1,'Administrador',0,'Página_principal',1,'','62\n61\n1',0),(33,'patrol','patrol','20120728165027',1,'Administrador',0,'Página_principal',1,'','63\n62\n1',0),(34,'patrol','patrol','20120728171920',1,'Administrador',0,'Página_principal',1,'','64\n63\n1',0);
/*!40000 ALTER TABLE `fzg_logging` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_recentchanges`
--

DROP TABLE IF EXISTS `fzg_recentchanges`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_recentchanges` (
  `rc_id` int(11) NOT NULL auto_increment,
  `rc_timestamp` varbinary(14) NOT NULL default '',
  `rc_cur_time` varbinary(14) NOT NULL default '',
  `rc_user` int(10) unsigned NOT NULL default '0',
  `rc_user_text` varbinary(255) NOT NULL,
  `rc_namespace` int(11) NOT NULL default '0',
  `rc_title` varbinary(255) NOT NULL default '',
  `rc_comment` varbinary(255) NOT NULL default '',
  `rc_minor` tinyint(3) unsigned NOT NULL default '0',
  `rc_bot` tinyint(3) unsigned NOT NULL default '0',
  `rc_new` tinyint(3) unsigned NOT NULL default '0',
  `rc_cur_id` int(10) unsigned NOT NULL default '0',
  `rc_this_oldid` int(10) unsigned NOT NULL default '0',
  `rc_last_oldid` int(10) unsigned NOT NULL default '0',
  `rc_type` tinyint(3) unsigned NOT NULL default '0',
  `rc_moved_to_ns` tinyint(3) unsigned NOT NULL default '0',
  `rc_moved_to_title` varbinary(255) NOT NULL default '',
  `rc_patrolled` tinyint(3) unsigned NOT NULL default '0',
  `rc_ip` varbinary(40) NOT NULL default '',
  `rc_old_len` int(11) default NULL,
  `rc_new_len` int(11) default NULL,
  `rc_deleted` tinyint(3) unsigned NOT NULL default '0',
  `rc_logid` int(10) unsigned NOT NULL default '0',
  `rc_log_type` varbinary(255) default NULL,
  `rc_log_action` varbinary(255) default NULL,
  `rc_params` blob,
  PRIMARY KEY  (`rc_id`),
  KEY `rc_timestamp` (`rc_timestamp`),
  KEY `rc_namespace_title` (`rc_namespace`,`rc_title`),
  KEY `rc_cur_id` (`rc_cur_id`),
  KEY `new_name_timestamp` (`rc_new`,`rc_namespace`,`rc_timestamp`),
  KEY `rc_ip` (`rc_ip`),
  KEY `rc_ns_usertext` (`rc_namespace`,`rc_user_text`),
  KEY `rc_user_text` (`rc_user_text`,`rc_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_recentchanges`
--

LOCK TABLES `fzg_recentchanges` WRITE;
/*!40000 ALTER TABLE `fzg_recentchanges` DISABLE KEYS */;
INSERT INTO `fzg_recentchanges` VALUES (1,'20120112132733','20120112132733',0,'MediaWiki default',0,'Página_principal','',0,0,1,1,1,0,1,0,'',0,'190.139.211.51',0,474,0,0,NULL,'',''),(2,'20120113105044','20120113105044',0,'186.124.29.117',0,'Página_principal','',0,0,0,1,2,1,0,0,'',0,'186.124.29.117',474,458,0,0,NULL,'',''),(3,'20120113105943','20120113105943',0,'186.124.29.117',0,'Página_principal','/* Presupuestos */ ',0,0,0,1,3,2,0,0,'',0,'186.124.29.117',458,1454,0,0,NULL,'',''),(4,'20120113110205','20120113110205',0,'186.124.29.117',0,'Página_principal','',0,0,0,1,4,3,0,0,'',0,'186.124.29.117',1454,1682,0,0,NULL,'',''),(5,'20120120134207','20120120134207',0,'186.109.17.104',0,'Página_principal','/* Procesos */ ',0,0,0,1,5,4,0,0,'',0,'186.109.17.104',1682,1722,0,0,NULL,'',''),(6,'20120120134234','20120120134234',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,6,5,0,0,'',0,'186.109.17.104',1722,1725,0,0,NULL,'',''),(7,'20120120134314','20120120134314',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,7,6,0,0,'',0,'186.109.17.104',1725,1726,0,0,NULL,'',''),(8,'20120120134326','20120120134326',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,8,7,0,0,'',0,'186.109.17.104',1726,1727,0,0,NULL,'',''),(9,'20120120134410','20120120134410',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,9,8,0,0,'',0,'186.109.17.104',1727,1725,0,0,NULL,'',''),(10,'20120120134451','20120120134451',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,10,9,0,0,'',0,'186.109.17.104',1725,1756,0,0,NULL,'',''),(11,'20120120134519','20120120134519',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,11,10,0,0,'',0,'186.109.17.104',1756,1753,0,0,NULL,'',''),(12,'20120120135256','20120120135256',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,12,11,0,0,'',0,'186.109.17.104',1753,2286,0,0,NULL,'',''),(13,'20120120135608','20120120135608',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,13,12,0,0,'',0,'186.109.17.104',2286,2308,0,0,NULL,'',''),(14,'20120120135748','20120120135748',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,14,13,0,0,'',0,'186.109.17.104',2308,2336,0,0,NULL,'',''),(15,'20120120135850','20120120135850',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,15,14,0,0,'',0,'186.109.17.104',2336,2337,0,0,NULL,'',''),(16,'20120120140018','20120120140018',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,16,15,0,0,'',0,'186.109.17.104',2337,2336,0,0,NULL,'',''),(17,'20120120140054','20120120140054',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,17,16,0,0,'',0,'186.109.17.104',2336,2334,0,0,NULL,'',''),(18,'20120120143849','20120120143849',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,18,17,0,0,'',0,'186.109.17.104',2334,3659,0,0,NULL,'',''),(19,'20120120151405','20120120151405',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,19,18,0,0,'',0,'186.109.17.104',3659,2295,0,0,NULL,'',''),(20,'20120120151436','20120120151436',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,20,19,0,0,'',0,'186.109.17.104',2295,2295,0,0,NULL,'',''),(21,'20120120151525','20120120151525',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,21,20,0,0,'',0,'186.109.17.104',2295,2301,0,0,NULL,'',''),(22,'20120120151536','20120120151536',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,22,21,0,0,'',0,'186.109.17.104',2301,2302,0,0,NULL,'',''),(23,'20120120151551','20120120151551',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,23,22,0,0,'',0,'186.109.17.104',2302,2302,0,0,NULL,'',''),(24,'20120120152601','20120120152601',0,'186.109.17.104',0,'Página_principal','/* Glosario */ ',0,0,0,1,24,23,0,0,'',0,'186.109.17.104',2302,2295,0,0,NULL,'',''),(25,'20120122102233','20120122102233',0,'201.253.246.65',0,'Página_principal','/* Procesos */ ',0,0,0,1,25,24,0,0,'',0,'201.253.246.65',2295,2328,0,0,NULL,'',''),(26,'20120122104355','20120122104355',0,'186.109.200.54',0,'Página_principal','/* Gestión de Productos */ ',0,0,0,1,26,25,0,0,'',0,'186.109.200.54',2328,4007,0,0,NULL,'',''),(27,'20120127110709','20120127110709',0,'186.124.202.210',0,'Página_principal','/* Glosario */ ',0,0,0,1,27,26,0,0,'',0,'186.124.202.210',4007,5987,0,0,NULL,'',''),(28,'20120127111214','20120127111214',0,'186.124.202.210',0,'Página_principal','/* Respuestas a Preguntas Frecuentes */ ',0,0,0,1,28,27,0,0,'',0,'186.124.202.210',5987,6612,0,0,NULL,'',''),(29,'20120127111746','20120127111746',0,'186.124.202.210',0,'Página_principal','/* Respuestas a Preguntas Frecuentes */ ',0,0,0,1,29,28,0,0,'',0,'186.124.202.210',6612,7272,0,0,NULL,'',''),(30,'20120127111827','20120127111827',0,'186.124.202.210',0,'Página_principal','/* Respuestas a Preguntas Frecuentes */ ',0,0,0,1,30,29,0,0,'',0,'186.124.202.210',7272,7273,0,0,NULL,'',''),(31,'20120127112429','20120127112429',0,'186.124.202.210',0,'Página_principal','/* Glosario */ ',0,0,0,1,31,30,0,0,'',0,'186.124.202.210',7273,7498,0,0,NULL,'',''),(32,'20120127112558','20120127112558',0,'186.124.202.210',0,'Página_principal','/* Glosario */ ',0,0,0,1,32,31,0,0,'',0,'186.124.202.210',7498,7514,0,0,NULL,'',''),(33,'20120213220752','20120213220752',1,'Administrador',2,'Fzgusr','',0,0,0,0,0,0,3,0,'',1,'186.109.139.95',NULL,NULL,0,1,'newusers','create2','2'),(34,'20120214101401','20120214101401',1,'Administrador',2,'Fzgusr','',0,0,0,0,0,0,3,0,'',1,'200.117.172.148',NULL,NULL,0,2,'rights','rights','\nfzgusr'),(35,'20120214203255','20120214203255',1,'Administrador',0,'Página_principal','/* Presupuesto: Alta + Pendientes */ ',0,0,0,1,33,32,0,0,'',1,'200.117.172.148',7514,7721,0,0,NULL,'',''),(36,'20120214203914','20120214203914',1,'Administrador',0,'Página_principal','/* Presupuesto: Alta + Pendientes */ ',0,0,0,1,34,33,0,0,'',1,'200.117.172.148',7721,8295,0,0,NULL,'',''),(37,'20120306202209','20120306202209',1,'Administrador',0,'Página_principal','/* Presupuesto: Alta + Pendientes */ ',0,0,0,1,35,34,0,0,'',1,'190.139.146.75',8295,8696,0,0,NULL,'',''),(38,'20120306203915','20120306203915',1,'Administrador',0,'Página_principal','/* Presupuesto: Alta + Pendientes */ ',0,0,0,1,36,35,0,0,'',1,'190.139.146.75',8696,10269,0,0,NULL,'',''),(39,'20120306204053','20120306204053',1,'Administrador',0,'Página_principal','/* Presupuesto: Alta + Pendientes */ ',0,0,0,1,37,36,0,0,'',1,'190.139.146.75',10269,10321,0,0,NULL,'',''),(40,'20120316013925','20120316013925',1,'Administrador',0,'Página_principal','/* Respuestas a Preguntas Frecuentes */ ',0,0,0,1,38,37,0,0,'',1,'190.138.183.43',10321,10344,0,0,NULL,'',''),(41,'20120316014812','20120316014812',1,'Administrador',0,'Página_principal','/* Generalidades */ ',0,0,0,1,39,38,0,0,'',1,'190.138.183.43',10344,11760,0,0,NULL,'',''),(42,'20120316015239','20120316015239',1,'Administrador',0,'Página_principal','/* Generalidades */ ',0,0,0,1,40,39,0,0,'',1,'186.109.202.150',11760,12420,0,0,NULL,'',''),(43,'20120317212922','20120317212922',1,'Administrador',0,'Página_principal','/* Gestión de Productos */ ',0,0,0,1,41,40,0,0,'',1,'186.109.17.206',12420,12421,0,0,NULL,'',''),(44,'20120317214323','20120317214323',1,'Administrador',0,'Página_principal','/* Proveedores */ ',0,0,0,1,42,41,0,0,'',1,'186.109.17.206',12421,13005,0,0,NULL,'',''),(45,'20120317220820','20120317220820',1,'Administrador',0,'Página_principal','/* Composición */ ',0,0,0,1,43,42,0,0,'',1,'186.109.206.67',13005,13018,0,0,NULL,'',''),(46,'20120317221737','20120317221737',1,'Administrador',0,'Página_principal','/* Composición */ ',0,0,0,1,44,43,0,0,'',1,'186.109.206.67',13018,13683,0,0,NULL,'',''),(47,'20120328224953','20120328224953',1,'Administrador',0,'Página_principal','/* Generalidades */ ',0,0,0,1,45,44,0,0,'',1,'190.136.103.101',13683,13709,0,0,NULL,'',''),(48,'20120329164929','20120329164929',1,'Administrador',6,'FZG.DOCS.Procesos.Composicion.jpg','',0,0,0,0,0,0,3,0,'',1,'190.136.103.101',NULL,NULL,0,16,'upload','upload',''),(49,'20120329164959','20120329164959',1,'Administrador',6,'FZG.DOCS.Procesos.Precios.jpg','',0,0,0,0,0,0,3,0,'',1,'190.136.103.101',NULL,NULL,0,17,'upload','upload',''),(50,'20120329165020','20120329165020',1,'Administrador',6,'FZG.DOCS.Procesos.Presupuesto.jpg','',0,0,0,0,0,0,3,0,'',1,'190.136.103.101',NULL,NULL,0,18,'upload','upload',''),(51,'20120329165105','20120329165105',1,'Administrador',6,'FZG.DOCS.Procesos.Productos.jpg','',0,0,0,0,0,0,3,0,'',1,'190.136.103.101',NULL,NULL,0,19,'upload','upload',''),(52,'20120329165224','20120329165224',1,'Administrador',0,'Página_principal','/* Productos */ ',0,0,0,1,50,45,0,0,'',1,'190.136.103.101',13709,13791,0,0,NULL,'',''),(53,'20120329165328','20120329165328',1,'Administrador',0,'Página_principal','/* Precios */ ',0,0,0,1,51,50,0,0,'',1,'190.136.103.101',13791,13871,0,0,NULL,'',''),(54,'20120329165420','20120329165420',1,'Administrador',0,'Página_principal','/* Composición */ ',0,0,0,1,52,51,0,0,'',1,'190.136.103.101',13871,13955,0,0,NULL,'',''),(55,'20120329165516','20120329165516',1,'Administrador',0,'Página_principal','/* Presupuesto: Alta + Pendientes */ ',0,0,0,1,53,52,0,0,'',1,'190.136.103.101',13955,14038,0,0,NULL,'',''),(56,'20120329170524','20120329170524',1,'Administrador',0,'Página_principal','/* Gestión de Productos */ ',0,0,0,1,54,53,0,0,'',1,'190.136.103.101',14038,14254,0,0,NULL,'',''),(57,'20120329170632','20120329170632',1,'Administrador',6,'FZG.DOCS.Procesos.Ayuda.jpg','',0,0,0,0,0,0,3,0,'',1,'190.136.103.101',NULL,NULL,0,25,'upload','upload',''),(58,'20120329170707','20120329170707',1,'Administrador',0,'Página_principal','/* Gestión de Productos */ ',0,0,0,1,56,54,0,0,'',1,'190.136.103.101',14254,14247,0,0,NULL,'',''),(59,'20120329170929','20120329170929',1,'Administrador',0,'Página_principal','/* Gestión de Productos */ ',0,0,0,1,57,56,0,0,'',1,'190.136.103.101',14247,14315,0,0,NULL,'',''),(60,'20120329172835','20120329172835',1,'Administrador',0,'Página_principal','/* Gestión de Productos */ ',0,0,0,1,58,57,0,0,'',1,'190.136.103.101',14315,15662,0,0,NULL,'',''),(61,'20120329204512','20120329204512',1,'Administrador',6,'FZG.DOCS.Pantalla.Presupuesto.jpg','',0,0,0,0,0,0,3,0,'',1,'190.136.101.184',NULL,NULL,0,29,'upload','upload',''),(62,'20120329204635','20120329204635',1,'Administrador',0,'Página_principal','/* Presupuesto: Alta + Pendientes */ ',0,0,0,1,60,58,0,0,'',1,'190.136.101.184',15662,15745,0,0,NULL,'',''),(63,'20120329204911','20120329204911',1,'Administrador',0,'Página_principal','/* Generalidades */ ',0,0,0,1,61,60,0,0,'',1,'190.136.101.184',15745,16029,0,0,NULL,'',''),(64,'20120329205128','20120329205128',1,'Administrador',0,'Página_principal','/* Presupuestos */ ',0,0,0,1,62,61,0,0,'',1,'190.136.101.184',16029,16249,0,0,NULL,'',''),(65,'20120728165027','20120728165027',1,'Administrador',0,'Página_principal','/* Gestión de Productos */ ',0,0,0,1,63,62,0,0,'',1,'186.108.118.141',16249,16008,0,0,NULL,'',''),(66,'20120728171919','20120728171919',1,'Administrador',0,'Página_principal','/* Procesos */ ',0,0,0,1,64,63,0,0,'',1,'186.108.118.141',16008,18511,0,0,NULL,'','');
/*!40000 ALTER TABLE `fzg_recentchanges` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_revision`
--

DROP TABLE IF EXISTS `pvt_revision`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_revision` (
  `rev_id` int(10) unsigned NOT NULL auto_increment,
  `rev_page` int(10) unsigned NOT NULL,
  `rev_text_id` int(10) unsigned NOT NULL,
  `rev_comment` tinyblob NOT NULL,
  `rev_user` int(10) unsigned NOT NULL default '0',
  `rev_user_text` varbinary(255) NOT NULL default '',
  `rev_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `rev_minor_edit` tinyint(3) unsigned NOT NULL default '0',
  `rev_deleted` tinyint(3) unsigned NOT NULL default '0',
  `rev_len` int(10) unsigned default NULL,
  `rev_parent_id` int(10) unsigned default NULL,
  PRIMARY KEY  (`rev_id`),
  UNIQUE KEY `rev_page_id` (`rev_page`,`rev_id`),
  KEY `rev_timestamp` (`rev_timestamp`),
  KEY `page_timestamp` (`rev_page`,`rev_timestamp`),
  KEY `user_timestamp` (`rev_user`,`rev_timestamp`),
  KEY `usertext_timestamp` (`rev_user_text`,`rev_timestamp`)
) ENGINE=InnoDB AUTO_INCREMENT=300 DEFAULT CHARSET=binary MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_revision`
--

LOCK TABLES `pvt_revision` WRITE;
/*!40000 ALTER TABLE `pvt_revision` DISABLE KEYS */;
INSERT INTO `pvt_revision` VALUES (1,1,1,'',0,'MediaWiki default','20120112132733',0,0,474,0),(2,1,2,'',0,'186.124.29.117','20120113105044',0,0,458,1),(3,1,3,'/* Presupuestos */',0,'186.124.29.117','20120113105943',0,0,1454,2),(4,1,4,'',0,'186.124.29.117','20120113110205',0,0,1682,3),(5,1,5,'/* Procesos */',0,'186.109.17.104','20120120134207',0,0,1722,4),(6,1,6,'/* Glosario */',0,'186.109.17.104','20120120134234',0,0,1725,5),(7,1,7,'/* Glosario */',0,'186.109.17.104','20120120134314',0,0,1726,6),(8,1,8,'/* Glosario */',0,'186.109.17.104','20120120134326',0,0,1727,7),(9,1,9,'/* Glosario */',0,'186.109.17.104','20120120134410',0,0,1725,8),(10,1,10,'/* Glosario */',0,'186.109.17.104','20120120134451',0,0,1756,9),(11,1,11,'/* Glosario */',0,'186.109.17.104','20120120134519',0,0,1753,10),(12,1,12,'/* Glosario */',0,'186.109.17.104','20120120135256',0,0,2286,11),(13,1,13,'/* Glosario */',0,'186.109.17.104','20120120135608',0,0,2308,12),(14,1,14,'/* Glosario */',0,'186.109.17.104','20120120135748',0,0,2336,13),(15,1,15,'/* Glosario */',0,'186.109.17.104','20120120135850',0,0,2337,14),(16,1,16,'/* Glosario */',0,'186.109.17.104','20120120140018',0,0,2336,15),(17,1,17,'/* Glosario */',0,'186.109.17.104','20120120140054',0,0,2334,16),(18,1,18,'/* Glosario */',0,'186.109.17.104','20120120143849',0,0,3659,17),(19,1,19,'/* Glosario */',0,'186.109.17.104','20120120151405',0,0,2295,18),(20,1,20,'/* Glosario */',0,'186.109.17.104','20120120151436',0,0,2295,19),(21,1,21,'/* Glosario */',0,'186.109.17.104','20120120151525',0,0,2301,20),(22,1,22,'/* Glosario */',0,'186.109.17.104','20120120151536',0,0,2302,21),(23,1,23,'/* Glosario */',0,'186.109.17.104','20120120151551',0,0,2302,22),(24,1,24,'/* Glosario */',0,'186.109.17.104','20120120152601',0,0,2295,23),(25,1,25,'/* Procesos */',0,'201.253.246.65','20120122102233',0,0,2328,24),(26,1,26,'/* Gestión de Productos */',0,'186.109.200.54','20120122104355',0,0,4007,25),(27,1,27,'/* Glosario */',0,'186.124.202.210','20120127110709',0,0,5987,26),(28,1,28,'/* Respuestas a Preguntas Frecuentes */',0,'186.124.202.210','20120127111214',0,0,6612,27),(29,1,29,'/* Respuestas a Preguntas Frecuentes */',0,'186.124.202.210','20120127111746',0,0,7272,28),(30,1,30,'/* Respuestas a Preguntas Frecuentes */',0,'186.124.202.210','20120127111827',0,0,7273,29),(31,1,31,'/* Glosario */',0,'186.124.202.210','20120127112429',0,0,7498,30),(32,1,32,'/* Glosario */',0,'186.124.202.210','20120127112558',0,0,7514,31),(33,1,33,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120214203255',0,0,7721,32),(34,1,34,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120214203914',0,0,8295,33),(35,1,35,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120306202209',0,0,8696,34),(36,1,36,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120306203915',0,0,10269,35),(37,1,37,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120306204053',0,0,10321,36),(38,1,38,'/* Respuestas a Preguntas Frecuentes */',1,'Administrador','20120316013925',0,0,10344,37),(39,1,39,'/* Generalidades */',1,'Administrador','20120316014812',0,0,11760,38),(40,1,40,'/* Generalidades */',1,'Administrador','20120316015239',0,0,12420,39),(41,1,41,'/* Gestión de Productos */',1,'Administrador','20120317212922',0,0,12421,40),(42,1,42,'/* Proveedores */',1,'Administrador','20120317214323',0,0,13005,41),(43,1,43,'/* Composición */',1,'Administrador','20120317220820',0,0,13018,42),(44,1,44,'/* Composición */',1,'Administrador','20120317221737',0,0,13683,43),(45,1,45,'/* Generalidades */',1,'Administrador','20120328224953',0,0,13709,44),(50,1,50,'/* Productos */',1,'Administrador','20120329165224',0,0,13791,45),(51,1,51,'/* Precios */',1,'Administrador','20120329165328',0,0,13871,50),(52,1,52,'/* Composición */',1,'Administrador','20120329165420',0,0,13955,51),(53,1,53,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120329165516',0,0,14038,52),(54,1,54,'/* Gestión de Productos */',1,'Administrador','20120329170524',0,0,14254,53),(56,1,56,'/* Gestión de Productos */',1,'Administrador','20120329170707',0,0,14247,54),(57,1,57,'/* Gestión de Productos */',1,'Administrador','20120329170929',0,0,14315,56),(58,1,58,'/* Gestión de Productos */',1,'Administrador','20120329172835',0,0,15662,57),(60,1,60,'/* Presupuesto: Alta + Pendientes */',1,'Administrador','20120329204635',0,0,15745,58),(61,1,61,'/* Generalidades */',1,'Administrador','20120329204911',0,0,16029,60),(62,1,62,'/* Presupuestos */',1,'Administrador','20120329205128',0,0,16249,61),(63,1,63,'/* Gestión de Productos */',1,'Administrador','20120728165027',0,0,16008,62),(64,1,64,'/* Procesos */',1,'Administrador','20120728171919',0,0,18511,63),(65,1,65,'Página blanqueada',1,'Administrador','20121008230642',0,0,0,64),(66,1,66,'',1,'Administrador','20121008233151',0,0,14,65),(67,8,67,'',1,'Administrador','20121008234221',0,0,0,0),(68,1,68,'/* Bicicletas */',1,'Administrador','20121008234555',0,0,32,66),(69,9,69,'',1,'Administrador','20121008234915',0,0,0,0),(70,10,70,'Página creada con «[[File:Bicycle_diagram-es.png]]»',1,'Administrador','20121008235008',0,0,31,0),(71,1,71,'/* Bicicletas */',1,'Administrador','20121008235107',0,0,50,68),(72,11,72,'Página creada con «[[File:Bicycle_diagram-es.png]]»',1,'Administrador','20121008235125',0,0,31,0),(73,10,73,'',1,'Administrador','20121008235231',0,0,31,70),(74,1,74,'/* Bicicletas */',1,'Administrador','20121008235254',0,0,52,71),(75,1,75,'',1,'Administrador','20121008235457',0,0,72,74),(76,1,76,'/* Bicicletas */',1,'Administrador','20121009000906',0,0,1441,75),(77,1,77,'/* Mantenimiento */',1,'Administrador','20121009000936',0,0,1465,76),(78,1,78,'/* Mantenimiento */',1,'Administrador','20121009001019',0,0,1465,77),(79,12,79,'Página creada con «\'\'\'bowden cable [[w:en:bowden cable|1]]\'\'\' el tipo de cable metálico que se emplea para transmitir la fuerza en los frenos y los cambios.  \'\'\'brake\'\'\': el freno  \'\'\'brake ...»',1,'Administrador','20121009001434',0,0,922,0),(80,1,80,'/* Bicicletas */',1,'Administrador','20121009235116',0,0,1545,78),(81,1,81,'/* Bicicletas */',1,'Administrador','20121009235139',0,0,1546,80),(82,1,82,'/* Bicicletas */',1,'Administrador','20121009235641',0,0,1591,81),(83,1,83,'/* Bicicletas */',1,'Administrador','20121009235753',0,0,1591,82),(84,1,84,'/* Bicicletas */',1,'Administrador','20121012232213',0,0,1641,83),(85,1,85,'/* Bicicletas */',1,'Administrador','20121114133421',0,0,1669,84),(86,1,86,'/* Bicicletas */',1,'Administrador','20121114133515',0,0,1681,85),(87,1,87,'',1,'Administrador','20130124190522',0,0,2057,86),(88,1,88,'',1,'Administrador','20130124190552',0,0,1818,87),(89,1,89,'',1,'Administrador','20130124190954',0,0,2066,88),(90,1,90,'/* Bicicletas */',1,'Administrador','20130206132212',0,0,2078,89),(91,1,91,'/* Finance */',1,'Administrador','20130206132425',0,0,2352,90),(92,1,92,'/* Finance */',1,'Administrador','20130206132657',0,0,2381,91),(93,1,93,'',1,'Administrador','20130320124702',0,0,2402,92),(96,1,96,'/* Notas */',1,'Administrador','20130320171753',0,0,2396,93),(97,1,97,'/* Notas */',1,'Administrador','20130320171854',0,0,2415,96),(98,1,98,'/* Notas */',1,'Administrador','20130320172029',0,0,2485,97),(99,14,99,'Página creada con «*Terrabike **San Diego 896 - Coquimbo **Cascos Raja= 19.990 - $259 - $416 **Sab 10-15 *BikeNew **San Diego 802-848 **Casco Sixsixone= 18.900 - $245 - $394 *Altared **Cristo...»',1,'Administrador','20130320172133',0,0,496,0),(100,1,100,'/* Notas */',1,'Administrador','20130320172218',0,0,2467,98),(101,1,101,'/* Notas */',1,'Administrador','20130320172301',0,0,2537,100),(105,14,105,'',1,'Administrador','20130320175735',0,0,496,99),(106,1,106,'/* Notas */',1,'Administrador','20130320175943',0,0,2610,101),(107,1,107,'/* Notas */',1,'Administrador','20130320180031',0,0,2636,106),(108,18,108,'Página creada con «*Velux  *Flamia *Grupo Dap *Tannit *Mercado de Sanitarios *Barrio El Trébol (barrioeltrebol@hotmail.com) **Contacto: Flavio Bertolini»',1,'Administrador','20130320180112',0,0,134,0),(109,19,109,'Página creada con «*Internacional **facilsoft.net **moi.it **TeoWin **Gesfacil **INGNio **CarpinGest 2005 *Domestica **WinMaker»',1,'Administrador','20130320180155',0,0,108,0),(110,1,110,'/* Notas */',1,'Administrador','20130320180352',0,0,2747,107),(111,20,111,'Página creada con «*Praga **Alojamiento ***Hotel Mars ****Praga 10»',1,'Administrador','20130320180423',0,0,47,0),(112,21,112,'Página creada con «*Paris **Hoteles ***Hauteville Opera ****41 Rue d\'Hauteville ****75010 Paris, France ****01 47 70 41 39 ****hautevilleopera.com ****Contacto: Hider»',1,'Administrador','20130320180512',0,0,147,0),(113,21,113,'',1,'Administrador','20130320180651',0,0,143,112),(114,21,114,'',1,'Administrador','20130320180804',0,0,146,113),(115,21,115,'',1,'Administrador','20130320180833',0,0,153,114),(116,1,116,'/* Notas */',1,'Administrador','20130320181617',0,0,2836,110),(117,22,117,'Página creada con «*Rapiestant  *Patentes / ABL *Unidad CD *ANSES *Facturas Nuevas *Baterías **LaptopAid <br>0800.345.0227 <br>Tres Sargentos 463 3º <br>LV 10-18»',1,'Administrador','20130320184211',0,0,144,0),(118,22,118,'',1,'Administrador','20130320184228',0,0,148,117),(119,22,119,'',1,'Administrador','20130320184246',0,0,143,118),(120,22,120,'',1,'Administrador','20130320184312',0,0,141,119),(121,1,121,'/* Notas */',1,'Administrador','20130320184346',0,0,2810,116),(122,23,122,'Página creada con «*Oftalmología  **Catalini, Gabriela<br>Bitácora  20130218: Revisión General 20130227: Fondo de Ojos *Ortodoncia **Vieiro, Marcela *Cardiología **Novo, Fedor 20130208: E...»',1,'Administrador','20130320184717',0,0,381,0),(123,23,123,'',1,'Administrador','20130320184747',0,0,382,122),(124,23,124,'',1,'Administrador','20130320184945',0,0,462,123),(125,23,125,'',1,'Administrador','20130320185305',0,0,464,124),(126,23,126,'',1,'Administrador','20130320185501',0,0,470,125),(127,23,127,'',1,'Administrador','20130320185934',0,0,561,126),(128,23,128,'',1,'Administrador','20130320190305',0,0,848,127),(129,14,129,'',1,'Administrador','20130320192341',0,0,960,105),(130,14,130,'',1,'Administrador','20130320194624',0,0,967,129),(131,14,131,'',1,'Administrador','20130320194646',0,0,969,130),(133,1,133,'/* Bicicletas */',1,'Administrador','20130321115228',0,0,2825,121),(134,1,134,'/* Bicicletas */',1,'Administrador','20130321115307',0,0,2829,133),(135,1,135,'/* Diagrama (EN) */',1,'Administrador','20130321115331',0,0,2832,134),(136,1,136,'/* Bicicletas */',1,'Administrador','20130321115430',0,0,2878,135),(137,1,137,'/* Bicicletas */',1,'Administrador','20130321115510',0,0,2879,136),(138,1,138,'/* Bicicletas */',1,'Administrador','20130321115549',0,0,2883,137),(140,1,140,'/* Mantenimiento */',1,'Administrador','20130321115651',0,0,2908,138),(141,25,141,'Página creada con «Las revisiones periódicas de la bicicleta mejorarán sus prestaciones y ampliará la vida útil de la misma. La regularidad con que se realicen las revisiones debe depende...»',1,'Administrador','20130321115707',0,0,1372,0),(142,1,142,'/* Bicicletas */',1,'Administrador','20130321115731',0,0,1533,140),(143,1,143,'/* Bicicletas */',1,'Administrador','20130321115853',0,0,1461,142),(144,1,144,'/* Bicicletas */',1,'Administrador','20130321115927',0,0,1493,143),(151,14,151,'',1,'Administrador','20130321124545',0,0,1102,131),(152,14,152,'',1,'Administrador','20130321130909',0,0,1115,151),(153,23,153,'',1,'Administrador','20130321204834',0,0,922,128),(154,23,154,'',1,'Administrador','20130321205246',0,0,1035,153),(155,23,155,'',1,'Administrador','20130321210105',0,0,1160,154),(156,22,156,'',1,'Administrador','20130415171226',0,0,158,120),(157,1,157,'/* Notas */',1,'Administrador','20130730030640',0,0,1519,144),(158,27,158,'Página creada con «*EH **http://www.flickr.com/photos/ewahenry/ **http://seesomestuff.com/illustrations/»',1,'Administrador','20130730030852',0,0,85,0),(160,14,160,'/* Lista Compras */',1,'Administrador','20130804154014',0,0,1000,152),(163,27,163,'',1,'Administrador','20130805180605',0,0,118,158),(164,1,164,'/* Bicicletas */',1,'Administrador','20130830123512',0,0,1534,157),(165,28,165,'Página creada con «===Contactos=== Instructor: Diego Centro de Formación Profesional 7: Roberto Garcilazo, Marcela, Mariano (Preceptor) ===Notas=== ====Sistema de Cambios Trasero==== Fusible...»',1,'Administrador','20130830124626',0,0,450,0),(166,28,166,'',1,'Administrador','20130830124716',0,0,453,165),(167,28,167,'',1,'Administrador','20130830125722',0,0,765,166),(168,29,168,'',1,'Administrador','20130830130239',0,0,0,0),(169,28,169,'/* Cuadros */',1,'Administrador','20130830130630',0,0,957,167),(170,30,170,'',1,'Administrador','20130830132424',0,0,0,0),(171,28,171,'/* Stems */',1,'Administrador','20130830132521',0,0,1158,169),(172,28,172,'/* Stems */',1,'Administrador','20130830132649',0,0,1210,171),(173,28,173,'/* Stems */',1,'Administrador','20130830132735',0,0,1217,172),(174,28,174,'/* Cuadros */',1,'Administrador','20130830132827',0,0,1237,173),(175,28,175,'/* Cuadros */',1,'Administrador','20130830132847',0,0,1237,174),(176,28,176,'/* Stems */',1,'Administrador','20130830132914',0,0,1198,175),(177,28,177,'/* Cuadros */',1,'Administrador','20130830133508',0,0,1545,176),(178,28,178,'/* Herramientas Taller */',1,'Administrador','20130830134411',0,0,2283,177),(179,28,179,'/* Contactos */',1,'Administrador','20130830134443',0,0,2285,178),(180,28,180,'/* Contactos */',1,'Administrador','20130830134655',0,0,2388,179),(181,28,181,'/* Contactos */',1,'Administrador','20130830134851',0,0,2400,180),(182,28,182,'/* Contactos */',1,'Administrador','20130830135125',0,0,2454,181),(183,31,183,'',1,'Administrador','20130831113154',0,0,0,0),(184,28,184,'/* Sistema de Cambios Trasero */',1,'Administrador','20130831113231',0,0,2493,182),(185,28,185,'/* Sistema de Cambios Trasero */',1,'Administrador','20130831113318',0,0,2491,184),(186,28,186,'/* Contactos */',1,'Administrador','20130902192146',0,0,2517,185),(187,27,187,'',1,'Administrador','20130906213134',0,0,240,163),(188,28,188,'/* Sistema de Cambios Trasero */',1,'Administrador','20130917012220',0,0,3164,186),(189,28,189,'',1,'Administrador','20130917014042',0,0,5159,188),(190,28,190,'/* Servicio */',1,'Administrador','20130917014126',0,0,5158,189),(191,28,191,'/* Servicio */',1,'Administrador','20130917014446',0,0,5596,190),(192,1,192,'/* Bicicletas */',1,'Administrador','20130926095247',0,0,1547,164),(193,32,193,'Página creada con «===Proveedores=== ====Mayoristas==== *[[Monti]] *[[AngelDiaz]] (Campagnuolo) ====Tiendas====»',1,'Administrador','20130926095453',0,0,92,0),(194,32,194,'',1,'Administrador','20130926095749',0,0,230,193),(195,32,195,'/* Contactos */',1,'Administrador','20130926101336',0,0,249,194),(196,32,196,'',1,'Administrador','20130926101621',0,0,311,195),(197,32,197,'',1,'Administrador','20130926101649',0,0,266,196),(198,32,198,'/* Contactos */',1,'Administrador','20130926101840',0,0,252,197),(199,32,199,'/* Contactos */',1,'Administrador','20130926111908',0,0,302,198),(200,32,200,'/* Contactos */',1,'Administrador','20130926111959',0,0,320,199),(201,32,201,'/* Mayoristas */',1,'Administrador','20130926112015',0,0,321,200),(202,22,202,'',1,'Administrador','20130926112226',0,0,140,156),(203,32,203,'/* Contactos */',1,'Administrador','20130926112355',0,0,295,201),(204,33,204,'Página creada con «Actualización:\'\'\' <nowiki>{{LOCALYEAR}}{{LOCALMONTH}}{{LOCALDAY2}}</nowiki>»',1,'Administrador','20130926112905',0,0,76,0),(205,33,205,'',1,'Administrador','20130926112938',0,0,79,204),(206,32,206,'',1,'Administrador','20130926113606',0,0,826,203),(207,25,141,'[[Bicicletas Mantenimiento]] trasladada a [[Sugerencias Mantenimiento]]',1,'Administrador','20130926114138',1,0,1372,141),(208,1,207,'/* Bicicletas */',1,'Administrador','20130926114236',0,0,1559,192),(209,1,208,'/* Bicicletas */',1,'Administrador','20130926114259',0,0,1515,208),(210,1,209,'',1,'Administrador','20130926114348',0,0,1515,209),(211,28,191,'[[Mecánica]] trasladada a [[Curso Mecánica]]',1,'Administrador','20130926114636',1,0,5596,191),(212,1,210,'/* Bicicletas */',1,'Administrador','20130926114658',0,0,1533,210),(213,33,211,'',1,'Administrador','20130926115444',0,0,312,205),(214,32,212,'',1,'Administrador','20130926153815',0,0,829,206),(215,32,213,'',1,'Administrador','20130926154145',0,0,876,214),(216,32,214,'',1,'Administrador','20130926154502',0,0,890,215),(217,32,215,'/* Proveedores */',1,'Administrador','20130926154617',0,0,877,216),(218,32,216,'/* Mayoristas */',1,'Administrador','20130926160156',0,0,1043,217),(219,32,217,'',1,'Administrador','20130926160339',0,0,1030,218),(220,32,218,'/* Mayoristas */',1,'Administrador','20130926160702',0,0,928,219),(221,32,219,'',1,'Administrador','20130926161424',0,0,1184,220),(222,32,220,'/* Mayoristas */',1,'Administrador','20130930193443',0,0,1265,221),(223,32,221,'/* Contactos */',1,'Administrador','20130930194153',0,0,1586,222),(224,32,222,'',1,'Administrador','20130930194326',0,0,1587,223),(225,32,223,'',1,'Administrador','20130930194511',0,0,1587,224),(226,32,224,'/* Pastorino */',1,'Administrador','20130930195814',0,0,1612,225),(227,11,225,'',1,'Administrador','20131001201620',0,0,718,72),(228,11,226,'',1,'Administrador','20131001202014',0,0,755,227),(229,11,227,'',1,'Administrador','20131001202114',0,0,755,228),(230,34,228,'',1,'Administrador','20131001202201',0,0,0,0),(231,11,229,'',1,'Administrador','20131001202439',0,0,786,229),(232,12,230,'',1,'Administrador','20131001213830',0,0,1597,79),(233,12,230,'[[Glosario EN-ES]] trasladada a [[Glosario ES-EN-FR]]',1,'Administrador','20131001213910',1,0,1597,232),(234,1,231,'/* Bicicletas */',1,'Administrador','20131001213941',0,0,1536,212),(235,12,232,'',1,'Administrador','20131001214100',0,0,1597,233),(236,32,233,'',1,'Administrador','20131001233238',0,0,1945,226),(237,32,234,'/* Mayoristas */',1,'Administrador','20131001233319',0,0,1997,236),(238,32,235,'/* OsvaldoFreier */',1,'Administrador','20131001233551',0,0,2024,237),(239,32,236,'/* CarlosKarabitian */',1,'Administrador','20131001233606',0,0,2050,238),(240,33,237,'',1,'Administrador','20131002014844',0,0,373,213),(241,28,238,'',1,'Administrador','20131016181730',0,0,8607,211),(242,28,239,'/* Armado de Ruedas */',1,'Administrador','20131016182044',0,0,8883,241),(243,28,240,'/* Rodado 26\"-c/Aro 36 agujeros-c/Rayos 270mm-Cruzado de 4 */',1,'Administrador','20131016182130',0,0,8884,242),(244,28,241,'/* Armado de Ruedas */',1,'Administrador','20131018124625',0,0,9215,243),(245,32,242,'/* Mayoristas */',1,'Administrador','20131022111149',0,0,2132,239),(246,32,243,'/* CarlosKarabitian */',1,'Administrador','20131022111332',0,0,2226,245),(247,28,244,'/* Caja Pedalera + Pedales */',1,'Administrador','20131024095640',0,0,9870,244),(248,28,245,'/* Específicas */',1,'Administrador','20131025155325',0,0,9898,247),(249,35,246,'',1,'Administrador','20131025155621',0,0,0,0),(250,28,247,'/* Específicas */',1,'Administrador','20131025160412',0,0,10158,248),(251,28,248,'/* Específicas */',1,'Administrador','20131025160456',0,0,10184,250),(252,32,249,'',1,'Administrador','20131203133722',0,0,2564,246),(253,1,250,'/* Notas */',1,'Administrador','20140106184754',0,0,1562,234),(254,1,251,'/* Notas */',1,'Administrador','20140106184827',0,0,1562,253),(255,36,252,'Página creada con «*Hoy **Monotributo **Codigos Visa/Amex/Master *Spanex **Revisar boton endoso cheque \"libro cheques\" **MySql Replication **Ojo Detectar pantalla eliminado desde 4.03 *Chile ...»',1,'Administrador','20140106185428',0,0,189,0),(256,1,253,'/* Bicicletas */',1,'Administrador','20140215132757',0,0,1596,254),(257,28,248,'[[Curso Mecánica]] trasladada a [[Curso Mecánica - 1º]]: Reorganizacion. 20140215',1,'Administrador','20140215133112',1,0,10184,251),(258,37,254,'[[Curso Mecánica]] trasladada a [[Curso Mecánica - 1º]]: Reorganizacion. 20140215',1,'Administrador','20140215133112',0,0,39,0),(259,38,255,'Página creada con «*Bitácora **Día 1: Armado BMX/MTB Gama Baja ***Instalación de cubetas caja pedalera izquierda previa ***Instalación de cubetas juego dirección (superior e inferior) pr...»',1,'Administrador','20140215135641',0,0,1933,0),(260,38,256,'',1,'Administrador','20140215181106',0,0,2606,259),(261,38,257,'',1,'Administrador','20140215201813',0,0,5268,260),(262,38,258,'',1,'Administrador','20140215214604',0,0,7051,261),(263,38,259,'',1,'Administrador','20140217212557',0,0,7065,262),(264,38,260,'/* Bitácora */',1,'Administrador','20140217212629',0,0,7058,263),(265,38,261,'/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */',1,'Administrador','20140217212721',0,0,7012,264),(266,38,262,'/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */',1,'Administrador','20140217213032',0,0,6826,265),(267,38,263,'/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */',1,'Administrador','20140217213152',0,0,6820,266),(268,38,264,'/* Día 1: Armado BMX/MTB Gama Baja (Parte 1) */',1,'Administrador','20140217213413',0,0,6898,267),(269,38,265,'/* Día 2: Armado BMX/MTB Gama Baja (Parte 2) */',1,'Administrador','20140217213718',0,0,6910,268),(270,38,266,'/* Día 2: Armado BMX/MTB Gama Baja (Parte 2) */',1,'Administrador','20140221183927',0,0,8944,269),(271,38,267,'/* Día 4: Service MTB Gama Alta */',1,'Administrador','20140221185205',0,0,9122,270),(272,38,268,'/* Día 4: Service MTB Gama Alta */',1,'Administrador','20140221185910',0,0,9265,271),(273,38,269,'/* Día 3: */',1,'Administrador','20140221191210',0,0,10218,272),(274,38,270,'/* Día 4: Service MTB Gama Alta */',1,'Administrador','20140226093406',0,0,10884,273),(275,1,271,'/* Bicicletas */',1,'Administrador','20140226111722',0,0,1616,256),(276,1,272,'/* Bicicletas */',1,'Administrador','20140226111856',0,0,1640,275),(277,39,273,'Página creada con «*Llave Torque *Llaves Llantas Shimano XT *Quita tapón Shimano HollowTech II *Pinza Saca Clip de Seguridad (arandela) *Kit Sangrado AVID.»',1,'Administrador','20140226113315',0,0,137,0),(278,39,274,'',1,'Administrador','20140226114723',0,0,175,277),(279,39,275,'',1,'Administrador','20140226115458',0,0,194,278),(280,39,276,'',1,'Administrador','20140226125952',0,0,208,279),(281,39,277,'',1,'Administrador','20140226130541',0,0,218,280),(282,38,278,'/* Día 5: Service MTB Gama Alta */',1,'Administrador','20140226160534',0,0,11872,274),(283,39,279,'',1,'Administrador','20140226160913',0,0,260,281),(284,39,280,'',1,'Administrador','20140226163128',0,0,285,283),(285,23,281,'',1,'Administrador','20140301120257',0,0,1219,155),(286,23,282,'',1,'Administrador','20140301121042',0,0,1250,285),(287,1,283,'/* Notas */',1,'Administrador','20140301121445',0,0,1562,276),(288,1,284,'',1,'Administrador','20140301121627',0,0,1916,287),(289,38,285,'/* Día 5: Service MTB Gama Alta */',1,'Administrador','20140301160142',0,0,11986,282),(290,38,286,'',1,'Administrador','20140301170553',0,0,15141,289),(291,40,287,'Página creada con «http://bikemagic.com/gear/how-to/mountain-bike-maintenance/fork-tuning-for-beginners.html http://bicyclethailand.com/setting-the-sag-on-mtb-suspension-forks/ http://www.tre...»',1,'Administrador','20140302004135',0,0,8554,0),(292,40,288,'',1,'Administrador','20140302004159',0,0,8559,291),(293,40,289,'',1,'Administrador','20140302004255',0,0,8612,292),(294,39,290,'',1,'Administrador','20140303143343',0,0,323,284),(295,1,291,'/* Notas */',1,'Administrador','20140303143456',0,0,1915,288),(296,14,292,'',1,'Administrador','20140303143704',0,0,1049,160),(297,14,293,'',1,'Administrador','20140303144126',0,0,1105,296),(298,14,294,'/* Tiendas */',1,'Administrador','20140303144151',0,0,1103,297),(299,39,295,'',1,'Administrador','20140303160811',0,0,346,294);
/*!40000 ALTER TABLE `pvt_revision` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_user_newtalk`
--

DROP TABLE IF EXISTS `pvt_user_newtalk`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_user_newtalk` (
  `user_id` int(11) NOT NULL default '0',
  `user_ip` varbinary(40) NOT NULL default '',
  `user_last_timestamp` varbinary(14) default NULL,
  KEY `user_id` (`user_id`),
  KEY `user_ip` (`user_ip`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_user_newtalk`
--

LOCK TABLES `pvt_user_newtalk` WRITE;
/*!40000 ALTER TABLE `pvt_user_newtalk` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_user_newtalk` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_querycachetwo`
--

DROP TABLE IF EXISTS `fzg_querycachetwo`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_querycachetwo` (
  `qcc_type` varbinary(32) NOT NULL,
  `qcc_value` int(10) unsigned NOT NULL default '0',
  `qcc_namespace` int(11) NOT NULL default '0',
  `qcc_title` varbinary(255) NOT NULL default '',
  `qcc_namespacetwo` int(11) NOT NULL default '0',
  `qcc_titletwo` varbinary(255) NOT NULL default '',
  KEY `qcc_type` (`qcc_type`,`qcc_value`),
  KEY `qcc_title` (`qcc_type`,`qcc_namespace`,`qcc_title`),
  KEY `qcc_titletwo` (`qcc_type`,`qcc_namespacetwo`,`qcc_titletwo`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_querycachetwo`
--

LOCK TABLES `fzg_querycachetwo` WRITE;
/*!40000 ALTER TABLE `fzg_querycachetwo` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_querycachetwo` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_external_user`
--

DROP TABLE IF EXISTS `peg_external_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_external_user` (
  `eu_local_id` int(10) unsigned NOT NULL,
  `eu_external_id` varbinary(255) NOT NULL,
  PRIMARY KEY  (`eu_local_id`),
  UNIQUE KEY `eu_external_id` (`eu_external_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_external_user`
--

LOCK TABLES `peg_external_user` WRITE;
/*!40000 ALTER TABLE `peg_external_user` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_external_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_externallinks`
--

DROP TABLE IF EXISTS `pvt_externallinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_externallinks` (
  `el_from` int(10) unsigned NOT NULL default '0',
  `el_to` blob NOT NULL,
  `el_index` blob NOT NULL,
  KEY `el_from` (`el_from`,`el_to`(40)),
  KEY `el_to` (`el_to`(60),`el_from`),
  KEY `el_index` (`el_index`(60))
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_externallinks`
--

LOCK TABLES `pvt_externallinks` WRITE;
/*!40000 ALTER TABLE `pvt_externallinks` DISABLE KEYS */;
INSERT INTO `pvt_externallinks` VALUES (1,'http://www.madegood.org/bikes/library/','http://org.madegood.www./bikes/library/'),(1,'http://bicycletutor.com/','http://com.bicycletutor./'),(1,'http://http://www.bicycling.com/','http://http.//www.bicycling.com/'),(1,'http://www.biciclub.com/','http://com.biciclub.www./'),(1,'http://www.youtube.com/watch?v=D2SIorRT050','http://com.youtube.www./watch?v=D2SIorRT050'),(1,'http://www.youtube.com/watch?v=eZO-bKdmFFM','http://com.youtube.www./watch?v=eZO-bKdmFFM'),(1,'http://www.youtube.com/watch?v=wUOb0qA_w3I','http://com.youtube.www./watch?v=wUOb0qA_w3I'),(1,'http://www.youtube.com/watch?v=HGJ8YZN5hWg','http://com.youtube.www./watch?v=HGJ8YZN5hWg'),(1,'https://mtgox.com/','https://com.mtgox./'),(21,'http://hautevilleopera.com','http://com.hautevilleopera./'),(14,'http://maps.google.com.ar/maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD','http://ar.com.google.maps./maps?client=ubuntu&channel=fs&oe=utf-8&redir_esc=&um=1&ie=UTF-8&q=maps+san+diego+y+coquimbo+santiago&fb=1&gl=ar&hq=san+diego+y&hnear=0x9662c56d7daf2727:0x5061034060ff60,Coquimbo,+Regi%C3%B3n+Metropolitana,+Chile&sa=X&ei=fQhKUaO_G5Lw8ATGyYGABA&ved=0CIABELYD'),(27,'http://www.flickr.com/photos/ewahenry/','http://com.flickr.www./photos/ewahenry/'),(27,'http://seesomestuff.com/illustrations/','http://com.seesomestuff./illustrations/'),(27,'http://jaggededge.blox.pl/html','http://pl.blox.jaggededge./html'),(28,'http://www.maldonadobiketech.com','http://com.maldonadobiketech.www./'),(28,'mailto:animalbikedeciudad@gmail.com','mailto:com.gmail@animalbikedeciudad.'),(28,'http://exactblog.com.ar','http://ar.com.exactblog./'),(27,'http://www.linkedin.com/in/ewahenry','http://com.linkedin.www./in/ewahenry'),(32,'mailto:happy.buy.arg@gmail.com','mailto:com.gmail@happy.buy.arg.'),(32,'mailto:polanskiworld@gmail.com','mailto:com.gmail@polanskiworld.'),(32,'mailto:info@tuhogarsustentable.com','mailto:com.tuhogarsustentable@info.'),(32,'mailto:pastoolsbykes@yahoo.com.ar','mailto:ar.com.yahoo@pastoolsbykes.'),(32,'http://www.montisrl.com.ar','http://ar.com.montisrl.www./'),(32,'http://www.happybuyargentina.com/','http://com.happybuyargentina.www./'),(32,'http://polanskiworld.tumblr.com','http://com.tumblr.polanskiworld./'),(32,'http://www.tuhogarsustentable.com/','http://com.tuhogarsustentable.www./'),(32,'http://http://www.bicicletasfilardi.com.ar/','http://http.//www.bicicletasfilardi.com.ar/'),(32,'http://www.rst.com.tw/en/','http://tw.com.rst.www./en/'),(33,'http://excel2wiki.net/index.php','http://net.excel2wiki./index.php'),(32,'http://www.olmobikes.com/','http://com.olmobikes.www./'),(40,'http://bikemagic.com/gear/how-to/mountain-bike-maintenance/fork-tuning-for-beginners.html','http://com.bikemagic./gear/how-to/mountain-bike-maintenance/fork-tuning-for-beginners.html'),(40,'http://bicyclethailand.com/setting-the-sag-on-mtb-suspension-forks/','http://com.bicyclethailand./setting-the-sag-on-mtb-suspension-forks/'),(40,'http://www.trekbikes.com/us/en/resources/suspension_setup#calculator','http://com.trekbikes.www./us/en/resources/suspension_setup#calculator'),(40,'http://www.trekbikes.com/us/en/support/manuals','http://com.trekbikes.www./us/en/support/manuals'),(40,'http://www.trekbikes.com/us/en/bikes/2012/archive/','http://com.trekbikes.www./us/en/bikes/2012/archive/'),(40,'http://en.wikipedia.org/wiki/Bicycle_suspension#Sag','http://org.wikipedia.en./wiki/Bicycle_suspension#Sag');
/*!40000 ALTER TABLE `pvt_externallinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_page_restrictions`
--

DROP TABLE IF EXISTS `pvt_page_restrictions`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_page_restrictions` (
  `pr_page` int(11) NOT NULL,
  `pr_type` varbinary(60) NOT NULL,
  `pr_level` varbinary(60) NOT NULL,
  `pr_cascade` tinyint(4) NOT NULL,
  `pr_user` int(11) default NULL,
  `pr_expiry` varbinary(14) default NULL,
  `pr_id` int(10) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (`pr_id`),
  UNIQUE KEY `pr_pagetype` (`pr_page`,`pr_type`),
  KEY `pr_typelevel` (`pr_type`,`pr_level`),
  KEY `pr_level` (`pr_level`),
  KEY `pr_cascade` (`pr_cascade`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_page_restrictions`
--

LOCK TABLES `pvt_page_restrictions` WRITE;
/*!40000 ALTER TABLE `pvt_page_restrictions` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_page_restrictions` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_msg_resource`
--

DROP TABLE IF EXISTS `peg_msg_resource`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_msg_resource` (
  `mr_resource` varbinary(255) NOT NULL,
  `mr_lang` varbinary(32) NOT NULL,
  `mr_blob` mediumblob NOT NULL,
  `mr_timestamp` binary(14) NOT NULL,
  UNIQUE KEY `mr_resource_lang` (`mr_resource`,`mr_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_msg_resource`
--

LOCK TABLES `peg_msg_resource` WRITE;
/*!40000 ALTER TABLE `peg_msg_resource` DISABLE KEYS */;
INSERT INTO `peg_msg_resource` VALUES ('ext.svgedit.editButton','es','{\"svgedit-editbutton-edit\":\"Editar dibujo\",\"svgedit-edit-tab\":\"Editar dibujo\",\"svgedit-edit-tab-tooltip\":\"Puede editar esta dibujo SVG en el navegador\"}','20130103124154'),('ext.svgedit.editor','es','{\"svgedit-summary-label\":\"Editar resumen\",\"svgedit-summary-default\":\"\\/* Modificado con svg-edit *\\/\",\"svgedit-editor-save-close\":\"Guardar y cerrar\",\"svgedit-editor-close\":\"Cancelar\"}','20121212204045'),('ext.svgedit.toolbar','es','{\"svgedit-toolbar-insert\":\"Dibujo SVG\"}','20121212204045'),('jquery.byteLength','es','{}','20121212204046'),('jquery.byteLimit','es','{}','20121212204046'),('jquery.checkboxShiftClick','es','{}','20121212203733'),('jquery.client','es','{}','20121212203732'),('jquery.cookie','es','{}','20121212203733'),('jquery.makeCollapsible','es','{\"collapsible-expand\":\"Mostrar\",\"collapsible-collapse\":\"Ocultar\"}','20121212203734'),('jquery.messageBox','es','{}','20121212203734'),('jquery.mwPrototypes','es','{}','20121212203734'),('jquery.placeholder','es','{}','20121212203734'),('jquery.textSelection','es','{}','20121212204046'),('jquery.ui.button','es','{}','20121212211954'),('jquery.ui.core','es','{}','20121212204046'),('jquery.ui.mouse','es','{}','20121212204046'),('jquery.ui.resizable','es','{}','20121212204046'),('jquery.ui.widget','es','{}','20121212204046'),('mediawiki.action.edit','es','{}','20121212204046'),('mediawiki.action.history','es','{}','20121212211955'),('mediawiki.action.view.metadata','es','{\"metadata-expand\":\"Mostrar datos detallados\",\"metadata-collapse\":\"Ocultar datos detallados\"}','20130103124155'),('mediawiki.action.watch.ajax','es','{\"watch\":\"Vigilar\",\"unwatch\":\"Dejar de vigilar\",\"watching\":\"Vigilando...\",\"unwatching\":\"Eliminando de la lista de seguimiento...\",\"tooltip-ca-watch\":\"A\\u00f1adir esta p\\u00e1gina a su lista de seguimiento\",\"tooltip-ca-unwatch\":\"Borrar esta p\\u00e1gina de su lista de seguimiento\",\"watcherrortext\":\"Ocurri\\u00f3 un error al cambiar la configuraci\\u00f3n de tu lista de seguimiento para \\u00ab$1\\u00bb.\"}','20121212203735'),('mediawiki.htmlform','es','{}','20130103122922'),('mediawiki.language','es','{}','20121212203735'),('mediawiki.legacy.ajax','es','{}','20121212203735'),('mediawiki.legacy.upload','es','{}','20130103122922'),('mediawiki.legacy.wikibits','es','{\"showtoc\":\"mostrar\",\"hidetoc\":\"ocultar\"}','20121212203735'),('mediawiki.libs.jpegmeta','es','{}','20130103122922'),('mediawiki.page.ready','es','{}','20121212203735'),('mediawiki.page.startup','es','{}','20121212203732'),('mediawiki.special','es','{}','20121212211517'),('mediawiki.special.movePage','es','{}','20121213111934'),('mediawiki.special.recentchanges','es','{}','20121212211517'),('mediawiki.special.search','es','{}','20121212211835'),('mediawiki.special.upload','es','{\"widthheight\":\"$1 \\u00d7 $2\",\"size-bytes\":\"$1 B\",\"size-kilobytes\":\"$1 KB\",\"size-megabytes\":\"$1 MB\",\"size-gigabytes\":\"$1 GB\",\"largefileserver\":\"El tama\\u00f1o de este archivo es mayor del que este servidor admite por configuraci\\u00f3n.\"}','20130103122923'),('mediawiki.user','es','{}','20121212203735'),('mediawiki.util','es','{}','20121212203735');
/*!40000 ALTER TABLE `peg_msg_resource` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_tag_summary`
--

DROP TABLE IF EXISTS `pvt_tag_summary`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_tag_summary` (
  `ts_rc_id` int(11) default NULL,
  `ts_log_id` int(11) default NULL,
  `ts_rev_id` int(11) default NULL,
  `ts_tags` blob NOT NULL,
  UNIQUE KEY `tag_summary_rc_id` (`ts_rc_id`),
  UNIQUE KEY `tag_summary_log_id` (`ts_log_id`),
  UNIQUE KEY `tag_summary_rev_id` (`ts_rev_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_tag_summary`
--

LOCK TABLES `pvt_tag_summary` WRITE;
/*!40000 ALTER TABLE `pvt_tag_summary` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_tag_summary` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_categorylinks`
--

DROP TABLE IF EXISTS `peg_categorylinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_categorylinks` (
  `cl_from` int(10) unsigned NOT NULL default '0',
  `cl_to` varbinary(255) NOT NULL default '',
  `cl_sortkey` varbinary(230) NOT NULL default '',
  `cl_sortkey_prefix` varbinary(255) NOT NULL default '',
  `cl_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `cl_collation` varbinary(32) NOT NULL default '',
  `cl_type` enum('page','subcat','file') NOT NULL default 'page',
  UNIQUE KEY `cl_from` (`cl_from`,`cl_to`),
  KEY `cl_sortkey` (`cl_to`,`cl_type`,`cl_sortkey`,`cl_from`),
  KEY `cl_timestamp` (`cl_to`,`cl_timestamp`),
  KEY `cl_collation` (`cl_collation`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_categorylinks`
--

LOCK TABLES `peg_categorylinks` WRITE;
/*!40000 ALTER TABLE `peg_categorylinks` DISABLE KEYS */;
INSERT INTO `peg_categorylinks` VALUES (5,'TABLAS','TABLA:COMPOSICION','','2012-12-06 18:45:50','uppercase','page'),(19,'FORM','FORM:PRESUPUESTO','','2012-12-13 06:03:21','uppercase','page'),(22,'PROC','PROC:CALCULAPRECIOBASE','','2012-12-13 02:52:46','uppercase','page'),(23,'PROC','PROC:ALTAITEMPRESUPUESTO','','2012-12-08 10:21:04','uppercase','page'),(26,'VISTAS','VISTA:VISPRDPARAM','','2012-12-13 02:48:53','uppercase','page'),(27,'VISTAS','VISTA:VISRPRESCMP','','2012-12-13 02:46:07','uppercase','page'),(28,'VISTAS','VISTA:VISREPPRES','','2012-12-13 02:45:54','uppercase','page'),(29,'VISTAS','VISTA:VISPRODADIC','','2012-12-13 02:45:19','uppercase','page'),(30,'VISTAS','VISTA:VISLINEABS','','2012-12-13 02:48:47','uppercase','page'),(31,'VISTAS','VISTA:VISDETAOBS','','2012-12-13 02:48:59','uppercase','page'),(32,'VISTAS','VISTA:VISSUBXITEM','','2012-12-13 02:46:20','uppercase','page'),(33,'VISTAS','VISTA:VISINTDETPRE','','2012-12-13 02:48:42','uppercase','page'),(34,'RPRT','RPRT:PRESUPUESTOS','','2012-12-13 03:09:21','uppercase','page'),(35,'RPRT','RPRT:PRESUPUESTOSDIRECTO','','2012-12-13 03:09:32','uppercase','page'),(36,'PROC','PROC:CALCULOPRECIO','','2012-12-08 10:07:24','uppercase','page'),(37,'PROC','PROC:CALCULOMEDIDAREAL','','2012-12-13 02:52:50','uppercase','page'),(38,'VISTAS','VISTA:VISCOMPOSIMPL','','2012-12-13 02:49:05','uppercase','page'),(39,'PROC','PROC:DUPLICAPRODUCTOCOMPO','','2012-12-13 02:53:04','uppercase','page'),(40,'TABLAS','TABLA:PRODUCTOS','','2012-12-11 23:48:54','uppercase','page'),(41,'TRIG','TRIG:PRODUCTOS.ALTA PRODUCTO','','2012-12-13 17:19:25','uppercase','page'),(42,'TRIG','TRIG:PRODUCTOS.BAJA PRODUCTO','','2012-12-13 17:18:44','uppercase','page'),(43,'PROC','PROC:AGREGAPRODUCTOCOMPO','','2012-12-13 02:52:02','uppercase','page'),(44,'FORM','FORM:COPIACOMPOSICION','','2012-12-13 06:01:20','uppercase','page'),(45,'VISTAS','VISTA:VISTRANSCRM','','2012-12-13 02:48:11','uppercase','page'),(46,'VISTAS','VISTA:CHQACTIVOS','','2012-12-13 00:38:35','uppercase','page'),(48,'TABLAS','TABLA:ACCPAYAB','','2012-12-11 23:24:16','uppercase','page'),(49,'TABLAS','TABLA:ACCRECEIV','','2012-12-06 18:42:08','uppercase','page'),(50,'TABLAS','TABLA:TDOCUMENTO','','2012-12-11 23:49:37','uppercase','page'),(52,'FORM','FORM:PAGOS','','2012-12-13 06:01:28','uppercase','page'),(53,'MACRO','MACRO:VISIBLEINGRESOCHEQUE','','2013-05-08 07:27:41','uppercase','page'),(54,'FORM','FORM:COBRANZAS','','2012-12-13 06:03:42','uppercase','page'),(55,'VISTAS','VISTA:VISCHTDISP','','2012-12-13 02:46:54','uppercase','page'),(56,'VISTAS','VISTA:VISTOTPROD','','2012-12-13 02:47:18','uppercase','page'),(57,'TABLAS','TABLA:VIDQUOTEN3','','2012-12-11 23:51:44','uppercase','page'),(58,'TABLAS','TABLA:VIDQUOTEN3TMP','','2012-12-11 23:52:18','uppercase','page'),(60,'TABLAS','TABLA:PRECIOS','','2012-12-11 23:48:27','uppercase','page'),(61,'TRIG','TRIG:PRECIOS.ALTAPRECIO','','2012-12-13 17:06:51','uppercase','page'),(62,'TRIG','TRIG:PRECIOS.ACTUALIZAPRECIO','','2012-12-13 17:09:40','uppercase','page'),(63,'VISTAS','VISTA:CLIENTES','','2012-12-13 00:36:22','uppercase','page'),(66,'TABLAS','TABLA:TELEMECOMP','','2012-12-11 23:49:58','uppercase','page'),(68,'PROC','PROC:ALTAITEMPRESUPUESTOTMP','','2012-12-08 10:21:17','uppercase','page'),(69,'PROC','PROC:ACTUALIZAPRECIOSTABULAR','','2012-12-13 02:51:57','uppercase','page'),(71,'PROC','PROC:GRABAITEMPRESUPUESTOTMP','','2012-12-13 02:53:10','uppercase','page'),(72,'PROC','PROC:RESETEDICIONITEMTMP','','2012-12-13 02:53:23','uppercase','page'),(73,'VISTAS','VISTA:ACOMERCIALES','','2012-12-13 00:35:31','uppercase','page'),(77,'MACRO','MACRO:CONTROLFORMPRESUPUESTO','','2013-05-08 07:24:57','uppercase','page'),(78,'MACRO','MACRO:CONFIRMADELETEPRESUPUESTO','','2013-05-08 07:23:18','uppercase','page'),(85,'MACRO','MACRO:BOTONACTUALIZARPRESUPUESTO','','2013-05-08 07:22:18','uppercase','page'),(86,'PROC','PROC:ACTUALIZAPRECIOSPRESUPUESTO','','2012-12-13 02:51:56','uppercase','page'),(88,'PROC','PROC:ACTUALIZAITEMPRESUPUESTO','','2012-12-13 02:51:47','uppercase','page'),(89,'PROC','PROC:COPIAPRESUPUESTO','','2012-12-13 02:53:00','uppercase','page'),(93,'TABLAS','TABLA:REPPRESQRY','','2012-12-11 23:49:17','uppercase','page'),(94,'MACRO','MACRO:BOTONEDITARCOMPONENTES','','2013-05-08 07:22:42','uppercase','page'),(98,'MACRO','MACRO:SUGERENCIACONTACTOID','','2013-05-08 07:27:17','uppercase','page'),(100,'FORM','FORM:POSICIONCRM','','2013-10-09 04:13:21','uppercase','page'),(101,'RPRT','RPRT:INDIVIDUALCRM','','2012-12-13 03:09:55','uppercase','page'),(103,'TABLAS','TABLA:MAGNITUDES','','2012-12-06 19:24:27','uppercase','page'),(108,'TABLAS','TABLA:VIDQUOTEN1','','2012-12-11 23:51:26','uppercase','page'),(110,'LIBR','LIBR:FAZZGLASSMCR','','2012-12-13 02:58:10','uppercase','page'),(111,'LIBR','LIBR:SPANEXB','','2012-12-13 02:58:41','uppercase','page'),(113,'MACRO','MACRO:MUESTRASUBFORM','','2013-05-08 07:26:52','uppercase','page'),(114,'MACRO','MACRO:APROBACIONPRESUPUESTO','','2013-05-08 07:21:35','uppercase','page'),(115,'LIBR','LIBR:SPANEXC','','2012-12-13 02:59:04','uppercase','page'),(116,'TABLAS','TABLA:MODULOSCAB','','2012-12-11 23:46:49','uppercase','page'),(117,'TABLAS','TABLA:MODULOSDET','','2012-12-11 23:47:08','uppercase','page'),(118,'VISTAS','VISTA:VISCHECKMOD','','2012-12-06 19:58:46','uppercase','page'),(121,'MACRO','MACRO:CHECKVALIDMEASURE','','2013-05-08 07:23:02','uppercase','page'),(122,'TABLAS','TABLA:MODULOSSBS','','2012-12-06 19:23:20','uppercase','page'),(125,'TKTOut','TKT:FZG.000001','','2012-12-07 03:19:11','uppercase','page'),(129,'TKTOut','TKT:FZG.000002','','2012-12-08 09:16:35','uppercase','page'),(130,'TKT','TKT:FZG.000003','','2012-12-07 03:17:03','uppercase','page'),(132,'TKT','TKT:FZG.000004','','2012-12-07 03:34:13','uppercase','page'),(133,'TKT','TKT:FZG.000005','','2012-12-07 03:36:01','uppercase','page'),(134,'TKTOut','TKT:FZG.000006','','2012-12-07 21:08:32','uppercase','page'),(143,'TABLAS','TABLA:BOCETOSCAB','','2012-12-11 23:22:11','uppercase','page'),(144,'TABLAS','TABLA:BOCETOSDET','','2012-12-11 23:32:32','uppercase','page'),(145,'TABLAS','TABLA:BOCETOSSBS','','2012-12-11 23:45:22','uppercase','page'),(146,'TABLAS','TABLA:LISTAVSDIM','','2012-12-12 20:25:14','uppercase','page'),(147,'TABLAS','TABLA:LISTAATRIB','','2012-12-12 20:50:13','uppercase','page'),(148,'TABLAS','TABLA:COMPOSICIONQRY','','2012-12-12 22:09:44','uppercase','page'),(150,'PROC','PROC:DEBUGCHECKPOINT','','2012-12-12 22:16:18','uppercase','page'),(151,'TABLAS','TABLA:VIDQUOTEN2','','2012-12-12 23:47:47','uppercase','page'),(153,'TABLAS','TABLA:CHECKBOOK','','2012-12-13 00:40:04','uppercase','page'),(154,'TABLAS','TABLA:WSCONTROL','','2012-12-13 02:17:56','uppercase','page'),(155,'TABLAS','TABLA:CONTACTOS','','2012-12-13 02:35:12','uppercase','page'),(162,'TRIG','TRIG:VIDQUOTEN1.BAJA PRESUPUESTO','','2012-12-13 17:28:28','uppercase','page'),(163,'TRIG','TRIG:VIDQUOTEN2.BAJA ITEM PRESUPUESTO','','2012-12-13 17:33:05','uppercase','page'),(165,'TRIG','TRIG:BOCETOSCAB.BAJA BOCETOSCAB','','2012-12-18 15:37:21','uppercase','page'),(167,'TRIG','TRIG:BOCETOSDET.BAJA BOCETOSDET','','2012-12-18 15:49:57','uppercase','page'),(168,'TKTOut','TKT:FZG.000007','','2013-01-02 20:14:12','uppercase','page'),(170,'OOBasicCode','TOPWINDOW HAVING MENUBAR','','2013-01-03 17:55:39','uppercase','page'),(171,'OOBasicCode','EMBED MULTIPLE COMPONENTS INTO A SINGLE WINDOW','','2013-01-03 17:58:52','uppercase','page'),(172,'OOBasicCode','SETZOOM','','2013-01-03 18:13:44','uppercase','page'),(173,'OOBasicCode','DOCZOOM','','2013-01-03 18:18:01','uppercase','page'),(177,'OOBasicCode','MODEL CONTROLLER FRAME','','2013-01-05 05:08:47','uppercase','page'),(178,'OOBasicCode','AWT TOOLKIT','','2013-01-05 05:23:11','uppercase','page'),(179,'VISTAS','VISTA:VISCOMPCNT','','2013-02-05 06:11:42','uppercase','page'),(180,'VISTAS','VISTA:PRODUCTOSDISP','','2013-02-28 07:36:20','uppercase','page'),(190,'FORM','FORM:PRODUCTOS','','2013-03-07 23:16:05','uppercase','page'),(191,'TKT','TKT:FZG.000009','','2013-03-12 06:38:39','uppercase','page'),(192,'TKT','TKT:FZG.000008','','2013-03-12 06:43:38','uppercase','page'),(193,'TKT','TKT:FZG.000010','','2013-03-14 18:47:39','uppercase','page'),(194,'TKT','TKT:FZG.000011','','2013-04-11 01:44:04','uppercase','page'),(195,'SQLCode','ESTADÍSTICA REGISTRACIONES SPANEX','','2013-04-11 04:59:26','uppercase','page'),(197,'MACRO','MACRO:RESETFILTROPRODUCTOFORMPRESUPUESTO','','2013-05-08 05:54:11','uppercase','page'),(200,'TKT','TKT:FZG.000012','','2013-06-25 23:55:47','uppercase','page'),(201,'TABLAS','TABLA:BITACORACRM','','2013-08-15 23:36:19','uppercase','page'),(202,'TRIG','TRIG:BITACORACRM.ALTA BITACORACRM','','2013-08-18 07:57:35','uppercase','page'),(210,'SQLCode','LISTA DIFERENCIAS','','2013-09-10 06:48:10','uppercase','page'),(211,'PROC','PROC:COPIAMODULOBOCETO','','2013-09-13 06:54:42','uppercase','page'),(212,'PROC','PROC:COPIAMODULOMODULO','','2013-09-17 20:20:50','uppercase','page'),(213,'TABLAS','TABLA:NAVTIPOLOG','','2013-09-25 01:21:17','uppercase','page'),(215,'FORM','FORM:CONSULTACLIENTESCRM','','2013-10-08 06:22:32','uppercase','page'),(216,'FORM','FORM:BITACORACRM','','2013-10-09 04:29:10','uppercase','page'),(217,'MACRO','MACRO:ACTIVAFILTROPRODUCTOSGENERAL','','2013-10-09 07:11:40','uppercase','page'),(218,'MACRO','MACRO:ACTIVAFILTROCONTACTOS','','2013-10-09 07:15:49','uppercase','page'),(219,'MACRO','MACRO:ACTIVAFILTROBITACORAS','','2013-10-18 02:48:47','uppercase','page'),(220,'MACRO','MACRO:EVENTOWRFBITACORAGRID','','2013-10-18 03:14:08','uppercase','page'),(221,'MACRO','MACRO:EVENTOWLFBITACORAGRID','','2013-10-18 03:35:51','uppercase','page'),(222,'VISTAS','VISTA:LISTAVIGENTE','','2013-10-19 03:36:11','uppercase','page'),(223,'FORM','FORM:FORMMENU','','2013-10-22 00:36:28','uppercase','page'),(224,'MACRO','MACRO:EXECUTEPROCESS','','2013-10-22 00:54:34','uppercase','page'),(225,'TABLAS','TABLA:FILTROQRY','','2013-10-22 20:12:07','uppercase','page'),(226,'MACRO','MACRO:AFTERRECORDCHANGEFORMPRODUCTOS','','2013-11-11 19:07:49','uppercase','page'),(227,'MACRO','MACRO:CHANGEFIELDTXTPRODUCTOIDFORMPRODUCTOS','','2013-11-11 19:33:28','uppercase','page'),(228,'MACRO','MACRO:CONFIRMEELIMINARPRODUCTOCORE','','2013-11-11 21:18:20','uppercase','page'),(229,'FORM','FORM:AUX:000002','','2013-11-11 22:15:11','uppercase','page'),(230,'MACRO','MACRO:EVENTOBRAAUX000002','','2013-11-11 23:04:05','uppercase','page'),(231,'MACRO','MACRO:EVENTOARAAUX000002','','2013-11-11 23:07:41','uppercase','page'),(232,'FORM','FORM:GESTIONMASIVAPORPRODUCTO','','2013-11-12 06:26:53','uppercase','page'),(233,'MACRO','MACRO:ELIMINACONTENIDOCAMPO','','2013-11-12 06:30:03','uppercase','page'),(235,'TABLAS','TABLA:WSML','','2014-02-21 00:11:42','uppercase','page');
/*!40000 ALTER TABLE `peg_categorylinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_user_properties`
--

DROP TABLE IF EXISTS `peg_user_properties`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_user_properties` (
  `up_user` int(11) NOT NULL,
  `up_property` varbinary(255) default NULL,
  `up_value` blob,
  UNIQUE KEY `user_properties_user_property` (`up_user`,`up_property`),
  KEY `user_properties_property` (`up_property`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_user_properties`
--

LOCK TABLES `peg_user_properties` WRITE;
/*!40000 ALTER TABLE `peg_user_properties` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_user_properties` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_valid_tag`
--

DROP TABLE IF EXISTS `fzg_valid_tag`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_valid_tag` (
  `vt_tag` varbinary(255) NOT NULL,
  PRIMARY KEY  (`vt_tag`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_valid_tag`
--

LOCK TABLES `fzg_valid_tag` WRITE;
/*!40000 ALTER TABLE `fzg_valid_tag` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_valid_tag` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_image`
--

DROP TABLE IF EXISTS `pvt_image`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_image` (
  `img_name` varbinary(255) NOT NULL default '',
  `img_size` int(10) unsigned NOT NULL default '0',
  `img_width` int(11) NOT NULL default '0',
  `img_height` int(11) NOT NULL default '0',
  `img_metadata` mediumblob NOT NULL,
  `img_bits` int(11) NOT NULL default '0',
  `img_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `img_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL default 'unknown',
  `img_minor_mime` varbinary(100) NOT NULL default 'unknown',
  `img_description` tinyblob NOT NULL,
  `img_user` int(10) unsigned NOT NULL default '0',
  `img_user_text` varbinary(255) NOT NULL,
  `img_timestamp` varbinary(14) NOT NULL default '',
  `img_sha1` varbinary(32) NOT NULL default '',
  PRIMARY KEY  (`img_name`),
  KEY `img_usertext_timestamp` (`img_user_text`,`img_timestamp`),
  KEY `img_size` (`img_size`),
  KEY `img_timestamp` (`img_timestamp`),
  KEY `img_sha1` (`img_sha1`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_image`
--

LOCK TABLES `pvt_image` WRITE;
/*!40000 ALTER TABLE `pvt_image` DISABLE KEYS */;
INSERT INTO `pvt_image` VALUES ('Bicicleta.Despiece.jpg',123085,640,559,'a:10:{s:11:\"XResolution\";s:12:\"720000/10000\";s:11:\"YResolution\";s:12:\"720000/10000\";s:14:\"ResolutionUnit\";s:1:\"2\";s:15:\"PixelXDimension\";s:3:\"720\";s:15:\"PixelYDimension\";s:3:\"629\";s:17:\"DateTimeDigitized\";s:19:\"2010:08:05 13:45:16\";s:8:\"DateTime\";s:19:\"2010:08:05 13:45:16\";s:16:\"DateTimeMetadata\";s:19:\"2010:08:05 13:45:16\";s:8:\"Software\";s:29:\"Adobe Photoshop CS3 Macintosh\";s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20131001202200','iwktyd5auxpjvz6s3ukaf9f8x92jnny'),('Bicicletas.Diagrama.Stem.png',29204,283,279,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:5:{s:11:\"XResolution\";s:8:\"2835/100\";s:11:\"YResolution\";s:8:\"2835/100\";s:14:\"ResolutionUnit\";i:3;s:8:\"DateTime\";s:19:\"2013:08:30 13:23:20\";s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20130830132424','qqkcernhthmpeld8hojltlf4pa6xjat'),('Bicicletas.Fusible.jpg',5907,322,281,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130831113153','0hvtjpnydfrd2dsu62ftwvmvfr6li32'),('Bicycle_diagram-en.png',151569,850,500,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:5:{s:11:\"XResolution\";s:8:\"3543/100\";s:11:\"YResolution\";s:8:\"3543/100\";s:14:\"ResolutionUnit\";i:3;s:8:\"DateTime\";s:19:\"2012:10:08 23:39:04\";s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20121008234221','3d192gfzarycr62eh4t92pcbqcv1gu6'),('Bicycle_diagram-es.png',140964,800,471,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:5:{s:11:\"XResolution\";s:8:\"2835/100\";s:11:\"YResolution\";s:8:\"2835/100\";s:14:\"ResolutionUnit\";i:3;s:8:\"DateTime\";s:19:\"2012:10:08 23:48:54\";s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20121008234915','f2nstim7rmcj6jyxygvps56szaewu6g'),('Checked.png',3830,32,32,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:4:{s:11:\"XResolution\";s:8:\"2835/100\";s:11:\"YResolution\";s:8:\"2835/100\";s:14:\"ResolutionUnit\";i:3;s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20131025155621','cd95d0wtcwwje4jwgje2fon8ie57n5g'),('Geometria.Cuadro.Bicicleta.png',78459,1003,339,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:4:{s:11:\"XResolution\";s:8:\"3779/100\";s:11:\"YResolution\";s:8:\"3779/100\";s:14:\"ResolutionUnit\";i:3;s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20130830130239','m54zm0a3ib4ehvkrx9p1rtekq782g4x');
/*!40000 ALTER TABLE `pvt_image` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_user_properties`
--

DROP TABLE IF EXISTS `pvt_user_properties`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_user_properties` (
  `up_user` int(11) NOT NULL,
  `up_property` varbinary(255) NOT NULL,
  `up_value` blob,
  UNIQUE KEY `user_properties_user_property` (`up_user`,`up_property`),
  KEY `user_properties_property` (`up_property`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_user_properties`
--

LOCK TABLES `pvt_user_properties` WRITE;
/*!40000 ALTER TABLE `pvt_user_properties` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_user_properties` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_objectcache`
--

DROP TABLE IF EXISTS `pvt_objectcache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_objectcache` (
  `keyname` varbinary(255) NOT NULL default '',
  `value` mediumblob,
  `exptime` datetime default NULL,
  PRIMARY KEY  (`keyname`),
  KEY `exptime` (`exptime`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_objectcache`
--

LOCK TABLES `pvt_objectcache` WRITE;
/*!40000 ALTER TABLE `pvt_objectcache` DISABLE KEYS */;
-- INSERT INTO `pvt_objectcache` VALUES ('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:275fc68d8dcd26575c54c2e4ccf53852','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȭ쪚??VT??w??o?nAZ_????Z??a??V???~?B3??G~?|????????0?(?7\n??Qh?~?"??:J3?ڌ?4???E+>???I???,k\0??Śa?????/\0?\Z&h???r?}???̠x仡yy???,\n?\"?V??/?iY?N???????M?M-9???????>??V????fPCj?|7_:??k???????}??????<?\n?-~??͢?s?????z?{Ap???wJ<d?X_?0?-w??????s????	?qO?,?4???n?Nܓ[/>oTm?\'????iav{??|Q?d~t???;E{3?ɿ:?????v???????ԵR?n7??\nrA{vLH?m>z??X?]???׎?L?$??-?a²?\'?	3??]?w??Pd????}?)1Y???c6.???=??#?????????????y}	?B%=d|???s??n?qq???????>?\0}???{?Hٶo?KN*?????i????o?|,?\0o?k??/?u?+~\0b?f?@7??~|?bEx????>}	???gȶz????ﾛ?e?9;????\n^??\n?nέpq???3?ޮ??u??7_?,y=w???^??O??B?B?@\"??/?ð??i=9?'???ON?Tny)j?7^?#?x[?????f!?_????(ϷW.?*5_㤢1?????i??+^??;?\n???M??????????A????ZfT{S????\0??ũ???U?^??n??Z9??ȏO??$?.?m]?P???L 1ޘ???????K?p??1??x???ڹ????M˲??Ĵ?^?\r???????-?A᳂B??U_4\0?Y>?z??tO??&?~??+H??7?????bM{z?ҳz*ݬ?\\q?#W늙?r3q?O?>(\rȕ?????z\04?,`?RZ??--p??@?^?@?#PӼ1???bk?o&?t?~(???+??KI???:=?a?\0????[~ȹ??<]?w??????׵*??\r???}?P?zq/n??w?nķ??8??15?^?^u???{?|{?᜜a??o?????x݇?;??kYw??Ńg@s???????%@gL?p???tݲ?;?w<\r???瘳?C3L???M??xpj?\0??\\i?/f??ZT?-^V)???Z|{?5???ů?u??C?,ï?/?Ӈ?~-s??W?ǰ?Ki?????O??\n???(9??S??Eۂn!/m???x*e?*????\'?a?Z?m???s??%?.C????(?5?/?ű?W??|{??w\'?T??N??%?D????ֶ??o<?&Z	k?Z????????䭳޼n?_-7o?l߸X?:d???nc??\0????Z?8?????d?i?????n????֬A????tu?r?v?R\0\0yP\r޽?V4W?_????[?[n??~??\?T?L??-h??????[W???_??[o?????zy]??q?\Z??<iz??0?@`?.?v?9??tQ?]??c??A????ۥ ?J/??t;r[ 4???\Z&??n??R(?W?@?B?????h_?v??K?e?E?x? ?R:.z????q??A`??b%ѿ?~?k?ۅ X4?Թ???N?QF??{sv?~??_??$&?>_???~h?־?8׊??KE?Z?vO\0????\n??\r?3???s????LS????\r?p??&?0?G?>??U?C5?\0????寥???n??(???c^kN??[0`?*?Kk]y??????a?7	?G???&>?|??]???8???????s\n?+F?w?\Z؃R???qq?w????)?V?0>??o-?{ ?a?=??\0@z?????ߋܹ\\eA?+\nw?\\???Ы??gt????=Ӣ?w?+?????%??????̊W=(??"???-_7?!?a?nh&?Y?èh?kWn?\\??}????P??X?`??߽??j;?sK??|蠤YN}T?\"x?=\'???+:???@?7}???????E???L??/?????????????I????????nn??x????י?7??T?L???؛?k??Y?*???Aނ?di?@?Y?g??0xT?_?M?G:?J???k?D?E??|?d???Zc??b?2?Z?q{?NӞ˻Q71??%#??Ҫ??Cҟo^????_?o?X???`\'^?k߮=??ۂ|?????????\Z?????0?U@O???y?'Ё?Vn\r?F?C????ұ????_???5??r??????P!h?ۃ?@????Wp??t???x3??`???v????\\??7?d???J??*??鎫??o??(?w??\n?y??+?pS?ͳ?p???Q?K?r+_?)????i14U(?]<)<??w՝g?\{??W??z*_?8??u@???@}???Z??G???B?????G?y?$~ϭ???c x猁ֻ\ri?\ZÿU??\0??J?????q???#& ??B?ѣ? ?????\\?>g??;?????????|?2?t?W????-Ӿ?Z?\"	\04Vjv;O???v?????g?\'?|?cv\n?r<?2\"a??l`????iq?-sSU?0oLl<e48,?@p2E?<G\r???Mj)M?\'???f?\Z?.&?ϥ?(Y+?%ϺG?1o??????.s8?\Zʩ???(#>?KYk\rFs?+?m\'??????#?I??`{t???_P?\'??a?*?UQ?s??n??/??l+ǌ?:?2]???Τ?6?&?ʉր?Qt#R??z,8z?z???7D?Z???x???ӓ\'Za?N?4??Z?????lf?=?m?gF!#??ʬ??7\'???m?OVn2a?H?-:!,?? ???"[\r?%?????:Ӗ??S?ft?o??9Y\"+_?????G?}Ǘ??0??ݵ?????'8o?W??g?圁????-?nO?F>nYM=??V??Z?)??s?bk??u????????aC?Ì??P?<u	???ӂm??㾱?ƾiv?\nH?>[7?????????S???o?3\nӕ\r?\\.???????!?Hc?CQgc?G?%??k??Ԋ???|Ŧv5?\n????k??w??????,?M?UzђF?ڀ\'\n?LP?n?????l!?3?n??H??B???W?ەG???B@K?W??%??`aj?2 k%&?77?i?????˝??Z|?m????????3#gT\\?l?t|?(0sD??;]7??1???Ƣ?|]Ң4?u?v_????@%??\0-~???m?;3????*󔮭4??e?????G?CR??Z\0}b?\r>h??WUK4?3,㽏5?U?q?\\V0U ????^???N??R7?????Y??S??S??U?z?"?=????x?,??r????;?R???????XMUWK?2R??ڮ̙8Oa{N???rWY??G?\0?A??????T?C????^?P\'@???m???'C???j??i\"PU??j???7??th??x/?T?\r?_:?}7H1X??x????=ζc?W咯d?.?Yd?U??G9??*?\0?????i趦?0*?Ϯ?Ϳ????4\n硂FA|Q?Y?3??̛?N????ٛ ??ү?D?L?tQ??a????=T4b9??:?~4??E???y?0????E?K?i??ܻhC?E?&A}?A~zح??+}O??>D?????8^w_z?\~??ZhC?????I6?????xѤ?c?;??#;?{?q??/W???????6??c?H??F????|?????[???/\"??\Z?????7??\"\"o??]?_B^????I??m]e6?m\Z??x?	? !?\r??1??R?Ҋˆ??D???̘??l\"`ؤ????f?B9#???-?[?????<???????(?|?a?@PzF??4???XN?\'NÉI=?93???m/?2??r.?9\Z?s̩KG?dQ$?F??U????????(?l糨??VS7?n??\\T??????CA?=?\"S??l????ց??.????\n茜w\"?5[t????]$\r$o??\?ҘB\Z??N??{??????Kc]??~/ֶk?w?h?Kõ`$????f??Z?N??\?.?}̹???1?h8Ef?V?b?J?1?r83?Mn̈Ԉ???Uc????-ܡ<Z??iF?\0#\r???u\n|??\"??e?ϘT#?erTV??3?[z?'ӄ:n???X???????$?R,?4.c??8??d????l+?1\n??n??pa???a?;???e8eŭ??Ƒ?re???c?oOsΡw?D??#Ռ?ѭ?q?>?z??vr?????x??}?1?\9?6?;?&?3????C^?͹?ȃ???????f?k?$?w?^Nc??6?ƞ??vv??n;\0{?q?x?S?Źl8?;?f?a\Z˪U?Rf2??>??\nQ?;?Dl?????E?ӢO?:?05?Z?&E#[?͕#?˙??`Q!???0È??5????????qh?8??q4???uǜ?rn?m?S???`??M?????&??A?U`]????2.???]~????G??\\L???Y,H-???D_?3????Մ?]g???w??\Z?(?Wu??)	??B*??i?O\n??X??T3?h{??y?J?i75\\qZ?:?X??Ic\n????0??J?9???M?q?"???-(c??pVf?*Z???hǗ?7gF??`???0?I4??px=8x?;??=?N\Z??b(!?LI?p?\\??\?h̖??!?C?dt?Vr?K?<??+?\'?P?Ey??;???\\;\'Y`g?cY?mr?n6{n\'??=e?\r?]??nٛ??^wbxJ\'Kxݰ???dS??d?|v\0>????\'E?em?Vs?:?A???OFNbe]=?=?*????xF?G~?>?{????-ɥ̮UI?6s<??B?q}?Ŏ?4f\"?`??ױ?>?&%?Y_??????,?B?y ?1?D]#?vN?2x-U%?q?a?Lޢ;i7Y??@wa9cuY?[1?'z?N??C?6??f?b????;M>x\nύW?????_u??ZaS?s?	\'\05??9N?T?h?t(h????i?l?[??(????i+d=?M??l\Z{3y???3R??Xq<?86W?????H????h?*?\"vY!1y?DKM?;??ozK??._??Rn?A?/\\?XG??c??X?ⱶ?O??:?&@????6V?????8???G?8??fP[ۖr{??????$?-1????????-U???s??\"K??&r2\'M;????P??W0&\'|<W????????́???=ő??9!?????^ѭ??5??U\"·u???1?[u\Z???@#yd%?!?!kR????,iS?)Ȭ?FB??8&?V?g{????sĔ?HrȎue?ܰm???˶TeU????ۀ݁R?%m!4??ax\\\rƋ?0??Cc?I-0???J?힉	#??S\\s?/?cX????x???ՑM???l???e?????Q?g\'??qw#?#3??|???????蕾???U|??_???"???l?i{g<P=u?n}?X???!?]??N?z\Z?X-?K?V.?e<ԘR\ngjc?'?Sʥ??w??*/`u?J7????4?m4vsrf(??\\w?????r,?????>?	????rw?#????v?H???\\uI1$v\Z\n#t???>?\n?R?CWڏs8K?E?HJ??????	c|\n?]H??i??6h?v`?KZ?B?͈돎?? ????2?w26???a??szl????P?b?8`?"?Z?3?ʵ=?i\'&gIm?cm9?)????EcxB?????-????z?1?e\'?k??Ș?⺍J?d??y?\Zu???MT??>???ZK???!p?thOx:??0???#dw5??Y????7??Ⰾ??r ???d{?c???\\?y:?\r?\"F?1? ?\Z????l???l??F??-W?Ǎ????XG?R?P?d;#?v??[???==ጺ@bw???Er!|F}?????,)h}????Io????????:??\|F??DN;???n??8??b??\Z3ǋ?0???????Gn??2xHu?KjM?>AĦ=?Y??rLk#1I??!?-??l~????O????V҄???x;\n?81wU??Z??\';s8\0g&.j?Kuka?s?t??|?	|-?V????_k?\n?F+??	]X?TR?Tő??t?\n+6??di?1R$ME?Miӑ?H#?F?%??~???????ڲY?QKgA?k?v/??R?4R?f?????s&R_??m??	6[R1BǦ\"-??1njs????????u??(\\_?]\'ׇz?J?=|?????;E???Mĵ???-?Yp#l????2??ذ7?r\"@?ԖsE???i@^???5?_???o??2??9y?]?*D?? ????ߦ?gHܭ\'<ϕ??>e?Iv???!???L?bB<\\?????oU??n?\0v??L???a*P? ?8&?4?X????PX?u??鈔??&?L???զ8?q???g5??Mc17??[?x?e?:?U(????W̏???w???6?Z+K?\"??\0\0????z?ƾ??g:!??:??j\r?\r{B?'?1??%??{?3C?@?;?????W?r???p???F??(?M???\"\"?R???HLzW?n1??b???0f?\r??+?&??:,???8]?gE??-??SiE(q?8?v?k?p4+,T??s??eOH\\??cf1-??#*?6h?ng??X???|J`V???E]?>1Zc??j?B?i?? ?=.=7?Vˑ?x??>??#?b?U?0G??T\Z_\"??s???#\0\"?PS?C ??G?eK????K\0\n???:??Ŭ%{+f??f?????h?n\r?s?Q?(?\\\\?W]3܎d?^????:??????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????@[q\n^ \\?????ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V????L??	????@dB??؂??`.?\0?`q?c??H?C~????Z4??[I\\89G?i?NMVR???l?????????:?sv???)?c????????ln\0?H??#??;3f?4?8N?|?\"C?Ώ0M?IT	?%:Zx*??74?3???Fn??!??no??q??IG??ʷ???QH?h?ug]9^??]\rL4?H_ZC4?.r]?4?5?/?@D?G/?^?r|???ہ???<?:_m? >?UW??c?????VЙPf??f)XK?5G?\n?iF8????`???????Ǝ?yV?OC?2?J?[a??˴?̙???Rm ?p%	l???je+?N]=1#E?0U@S???&?:cn{?B:[??:??ħC8$?:M?JA??5???????+??v\n*t???z;??r,?U??B늎??s??d??T?!?`C??*?$??Z??4???A?Ml???\r?(??u??xh??-*&?ʐ??>???}xA?`^pQ?@?;????0?@??6??P?\0~X?5\\?!??*?B;???\\???#c??????;\Z???rY?r:???|??,l\"??1)?Lqs?;??N?????\'???f??????,?Z??;Kb!8?&X??M?x?W?^??3???N?m???x???D<????[=촏F???}??و???"??k?V?=?x+?(???ls\"??p??	[z??9?:\r=??0?`4??P0?6???o@???\n]?̻\0???5PI?ZE?@\r?ڝ1	?V(T?@?/?9?0?Vl?A;??????8?b??[(?@?0/SPP??j?????y?y?(`?#?q???c-VaF;?????6W?]z??{LF]]??d??8,??????%μ??͐??:?%\"?н??n2<v??Y??j%;?I .???*e?	q??\'?$\"??&\"?i4Ǔ??CX?1????ݨ*K??A????k=?Bg?	:#A?0???#(?,?????z???\n)	8@?N\'?=d??????VP??????ԄE@??5ZP???{?ح??z?	R?IWm/A|???E%MD\r??\rS??u????7q??3???????Ү????9??1???c<??;????????	????׾pdA??l??c?ۊt?\'@kL???Y???a?0???o?&???}?Ri@`ɸ?Rr????z\"]?440K??46P?!1\n???\0j?z\n??\r??CU\0??z#?????/$? ?O\Z?B???Ը<h??-???ج}zq?>??2?\n????H????!?E ?h??????w?*?????|??L??FF??h/??\"??0	Z΢??Y???7?}:???	?ڮS?r????f??Q?N?'\n;?	?\\7??Zw?!??x/[??V?E?F$Jeńb=-??0*???g?\\Y?A?1p??BYԱ!???>\n??$o???????\r9?????8d?^?^?Z& k@\nB?*?#9????ahfn???G>	?Ay?@?ή??95?W???op??????/;M????)????<??<??e)??0???Cc@S?c??Ӓ?%???1??	?b?Z??	?.?0%x??)JPI?o0??;????+uD)??S?S27????t??r\n?q&??@?VcHm?\"?b?\"漍A`l	+?? ????\'?(?\0?5??= ??0??,r\n̉?9??k???fC??-?8?cg?K?6;?q?ng.????JwMy+&?E??f֕ڹ???"?6?LQ@??\r??jɘM????0??;J;옚!?????????????L?d[[??c?????8_Z??B???#Z???c}\r?J__??S?????@Z??P_CjB?ЈC?\ru????d???|???c?}͏???ė????<?Qs(-?a?M9b?\\o??1:?\'? ͦI???Mp??s˗\Z???+???.?x?$fZ^E???x4`;H?R0<?6?=????9??Pl??۞?????j5q??8?m-f?sH????-T\n????????=?Z???p???u???z?޺Wזvui????k?????Bx}?[?I?????6?pe????>|????I?hk?{?|?\rd?|#Jܣv??[??L?/??????????n??????tS?x??????,??????^??4?LUhWna?h9?'`??\'8?h??e}D?????d?????ӷ?-/??KL?~?\\??x$Iu??r??? ???j?M?ۢ?????\'?????????Г?N????????%?-?\\??+???/h??Deen+I\rE??&?ګt?oY????/?-???ݚʌ????@??}?3SH??#?]~b`?fO??????@~[C?????k>)W????7\"cY??:C?x?6#%;??u??:%?E?ס????/?D?𻂪?Wc4Q%pj???9Ք&䠣3?k???U?M????,??[?*?O8??;?2????؝????.??SǞ???|?,???v?)?Ί??i??hwtdm?t???+??2Pm???:?-*?|4rq????S?n??I?v???J??8?7X???w?}=??????֟??0?Ic?q???	?u?<???$??]?\"\n??Ds??w???-?w?v?V?????A\" ??xOq:E\\m(#:?-?\nho??Q\0$Q??z/?wn5??L3]?BWo?j~???ĩ?n?do24??18͆~?R?!??Y?0M]?e?N?f?8t2??ɾ??ȧ*ҝ???r~???	?(???V?W\0\r?c??$???0o=	?T?oX@C?U)/?????MKS)?6>#???L-Q??i*?R:\n J<??????,?f????x\"??y?^?e?1?땸bi<Z???????TO?=?9??Ⱥ-F???5?^	??.3z0?????,??Y???Ҁ??!??K]???:?\')O,??k???>???4P?S?x@?ڳl?P??x??;@nn?R?Rd???)?)??;????tefvZ?C9^?:u??or?)?\n?b???P?????????0???:o4z??߭[??`?@??ѡ?n??????}t<q;&i????Z$??h͛??l(??=???????#<?????K?N?????\'????o??l?-c?h????܅?????7?ȍ?h0\n&?ް??Ǩ94Z?>???[(??l?͝p̼e?s??\\??/g?lF??:?'?T??ĜB??ʤ???`B??Xɍ?\'? ????\"?????YCљC?bp}N??r(??\"??<!?????\r?g??_??\r??6qP4???A?????C?-???? ???cm??\'mz??us?????sa	?5??X?????]?]??T?~?P~?X܉\Z???\?lHqޛ??U@????f?:u??˦?M?8??Ag?s?o???_???G/W݋?:?7i#7{???M?-I?????6]??!%L????=?O??~7\Zへ86??`??Al??>?????Ƞ????G? n?T?b9hL[???Ĭk֦??r?$o?N??>?Z?ѺάGa?6V??9u?΃1_3??3?n?t?5?7}??????HX?K??m??SN\ZRk<2(W;,w:,????\"?2+,??e?v???8???102??y??\\?b???bs?\n?>??mC_??e(??m??şS?v??8?ve??G5????\r??y?????ߑw\rr????;???????8???*^o?ۑ?7???E7??CFy?cH(Uª??3$j?ܼ?l4t?v???l?	O???y????a?!x?Ol?v>Uf?????0c??9\\.?ie????6p????~?v?U?????O?~?0z?k8????i?%????M???ŧ?</??Z=????ۙ?OW?V||\"?Z?̻	꯵?%????????N????g-^PNV?vu????߮?2?=??g?6??$??v-6*??Қt?8???????B?}\\I8^?c8?????s?ߟ??P?????!?&Y?F\";?G??,Z?|z?;) ????)\r???????GVVO?;??Tv~i~???????ќ???_?????\'J?[??a?|s?j??]??U?J<ζ??????䇶끳p1z???M????\"?F??С??ҽ???%jZKdUm?Q?LTt?Q?1\0?	BH??FG???????7T??]?o??85??p??衍v? ތ??'rv???,hp~?????P???D?{?|??Z!????o????\'?>?????6R??R?????A?\'?S???/q1??????_zh?_?[??곫S?????0`?\'???o-?{ֻ??*\\?~^xuS??ă}k_ 蜹v?????nCحb?/?????^? K?S\0`???`?;p?ؾ??\\7??n?W%??b?P??ƃ?)\r~I??????ӌ?\n?}??i????[sUư?裌9?U???rP:???C????\r=?????^\'جaHƢnji?Ot?????G냻??o??q???8??z?ċ???P?\'P??I??~??.:K??i???q8sn?????\'d?W??$c?٠?????????????? 6GYڨם??#n6Wq??ec?e????[?"???5??wu??W??B??@?????%??G2?????w??r:??3s??z@???$??cz??wk?3??y??7??N??w?i<0^??+?]??????????N???x??\'4??Va?և???O?ʜ_5?o?/f??뫚???????ܴ?????????C??[?Z?????&Za???E	?MXTDz??\"#,????0?ISZ?3?8?Z??\n?\'?ٶpFm?p??O?r??:?2h1???l,1??\"?@,pv??m???SX?????\"%?5	lXl_?<ψ??;?-6%?&??p??ru????;ZH??)^?%????X???a?s܀?=q??cN??D?????T؟k???g8f??>?8??\r??O??EG?.?:n?\\???~??v	:??O?5???u????3?k??.???Gs??5?܇???'??ϗx?x?}????z?l?+lu{l?\'.T??{o???????T??G????8n?xh^?-??BpG??)?j}?e???\n??????5w?j???sf:P*????k۟????!<?\'^5޾N????]??t??D???ʟ~4?r{??????8O?>;??r2??|}?m?K?????v?M\"?n?0-m?????|??????L??پ?????J?!??\"?<xy?]6??Q5??~?\'???v^??3xx??ey~?-g??N?????A????F??=????杂?lt?x?v?V??ip?h?t???rd??\r$Vh?[\n?%?%h?????t?o?6??O????;??y3?D?>Y?????>ܱK?֦??r2`19????:?}W???ǽW?Z?ߣ<3??ޗ?GW???????????O?~..?o?/%\r??>\Z?;?UJ?q???m??????7?h?z???\'lY??@???P?~[??x?п?\r????????J?	}?:???????8???̻g?T??b??b?	???\'T?C?X͏??]?r?q???b\0??*?????/ϲ?????E?~]N/>ՓoC?????Ló?rE???;????&X???C\r[????z?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J??ƟhlJD???ԧ??}4}???ŏT?ڃ??\"????~?.?\0?e??[?oE??+\Z+?2x@?̣??W????\"??0}?@7???\'????+?3x>1?#^?<?IW\\f?sC?\"?\'??N??Ⅷ?????Zѽ\0w>???G?VA?.I?????tr??o!???n?s?\\9????????????q4^$?????ir?&????\0~p???????br=\\??\n?3?Z/??ri?????p?Zd?:?n$#?l?(??@Qe|?m?n/\'?vX?\ZX>\Z???>7???zd6;?v?-aM?F\r;????\"?dy?|4??Q1a????7??????4??帕??i0???SizF????	?\r???0???vE?J?qt??????<=9?????y???k?????NL?o????????Y?߬?\'Ϝ?U?????\ru??k߰?\'???ϯ?s?$y????$??????\"+?֟b??2?? UY?????w??????????ې?/XX?&$W2wa??j?'?HCRkćşV8???????/?~T=????_W?\\????^|>>D??K??\\c$??M?G+Z?;?x??j?b?????l?o?Dy\\????n???(?ߴ?-J??7r??\0J?J7?/*\02?M???雷??K8????w?w(?z{???{?????x??#???Kt????Lo??~?????i??J??????ʒw`??V???l?\03??r|[y\0(??%q~|7????2?e?*??(?f/???]??[\'????^??????	???)?\J?5??EY????????K??ᛯN???i4fq??&?/?o?k?>9?\'??????<TX????snՔţ???3[???????/????+?????^??g??m???jy?w>*???\\????o???????^?o0??? ?]\0???? ??????ԭ?u?5??۽.^???vJ6C??{M_?l?W?O?L?~+?j???(?ߞ????77?k@U>???Y?䭍?T???d?Q\n>?FD????WX????xp?j??????pW???????`??.?h4??E???%o??P?|?N???????Q??_?Z??*?Ӽ\0w??@W?ˍ??^J?>%?N+???ȳ|?3?????p??a??4??N?G~?濔P????x?k??jW?U?0`?6?#L?f?uηG???j?ݘ??*F;?{{?v_??TT?q?b?Ɗ?Kû???P?Dx}?z-???)???SϚ??NQ?G??d?\\?^??;t??????^?\\?0A,???k?Z??췚kIj=@???n?=?n:]l?\n?K?}?{?_S?r?3??V?e?n???a?J?^?&^u????d?]/?+\\<?????ٶ2??<uq?n???]⃪Q?|??7??k???=???;??`}?=зy	??tv??rw?{ƭ?n????+D?c?[G???s7 w<???????$??,??_??f??u?Z?^i?nU!?g9^????7?A????j?_Q{o{?b??L?\\y?)?Z???S?|QqU???}?????j/0?>]ZP??,??l?Y\Z? W>??k?r?U?Aq?8U?c11??S???veÛ!?H??gH?Y?k/???y?c\"*???.?*\nZ???]??}??OΑ:???]\r????݈R%aPz??3~/?????\\??????u35?k????K??J?5畓??͍??w?h?(?V?v?a?3?)R?CS???~5B?p2??7θw?ZW??8??v????h?i/\0cfj????L????v;??Z??wE\0-R(?y?\n	QH뿶܅~??8u(#)Vj????To?LU?`???*F?0??????r?#?{ˣ-???֑:?m?l+?\'Ң??Ĭ#+ ?6?1??????????G?^\\????? ??+0?3?	u????A???????\n????????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????q???ߔ?㔋??P???$^$\Z\Z?n?~???[$????elf?ƾOꚖu}˛?T???̈́??-???1?tL\\????KʣN[??q??`?\ҷ=?.?[??H;??U???????jx??%??S?S,F????U??$??????R&h?]???o?$O[y3w]?`{?»S??\"ޔ???`?q2?4\Z$׻cl?r??????Q%??F??Z`k?????a?A*fl??N?hN??m?r\\PW)??b#?NL?~jM?M?\'??%?ϥS ?D???+?????o????q?????m??`??I?a?5?Ѵ?í???nXv??=M???Z????ORmB$S??NKs?C?\ro%?d.?e?O?g?n???TX.??u?v?$?]y.?_Fu?-? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??f???\'?????x?\Z3??\n\\?'J	,?s?ܟ????3?&?S*??Qj??V??,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	???W\nzAǿX҃??t?'Ji??Nl?s?i??\n&???o?w\r󏒨rN???u?&????G.?r?w?A?hA??:????.?ii???[L??3	??????q?N??H????D8G???=ߔ????D??L?U?vAj?.?6L???5??ԙ*h?GlX??7??A??,a}??b\0???A??o<mD?.???U|?[???Dp?nԛ=*mH??.???qQ??? 7];<????"?t?閹񥥊d#?wܵ\Z~??????s?F?T??K???(?C??vGu7??7????????/??p3???>,v?????1+]?@?4???Q?v?_?\r??????\Z8~?/4p??9I??Ib?_$?FdU8{~??f?V????B??@Oj+.?g??AN?????????8llXfՈ??1l???`\"vb:l??,? 1k???????6??RoN??k hS?\\?l?????????Ҩ???????}}??{??\0?1???\r???ɠ?\'?}?o??F??\'???==?1O????ɘ???N?)m#h7#\Z?ƒ[?Z?촙tL??w??Il??#w??N?Š?~??Cc+????Z8??Ҥ???c?M???t??'????b?7:?}????ځeۮ? {9\Z?n???Ʈ1\Ztˤ1????x0??\rY׎@?WDM?\"278\r?;?	??f??}y?t???Cwߘ\Z??q?ۓ???[?????ͅr???Z3H<\'y?\'?(\n?2?76?g?Zkު??????Qۛb??q?Ƽ?	?zc??F#>}?7?I?d??|???4??fNG?ioO??\b?3l+O??=?????h????Aܹ???G4މ????????C\r??????h?GS?(?R???\"??#%z?U??k??\n?h1Ng*??<S.U???Ձ???Bj?n\'1A??+?*u?????of0U\'|ߏ?Wp??7?ev??p?*???'?վ??̵Lw?$??[???V_m?h?n??V?ⶋA۫1?u?K?\Z$繇?????U,??TN?|????????}???l12??F?c??2I?Tr??????4????I߫?ٺ??\Zn??f??Z?O?S?o?պ???a#?}????p??jl?a]?L??Z?????c?}b?S??(k7Z?Q?\rt ?????D\\????п??A{?z̮z??????\}?C?e??<kz???5R-?????%??l;?uxqRw????&C?O\r??=i???;^;????????%y?k%?Q?6-W???c??ʹ^?G??1?j???d??6j7???^hֳN?}?y?\0t?2q???F4hw?7)v?kж??coM\Z?4?????qd?^??????zY????˷?v?p?2????u#1\Z??\r`?z?\n?,آ?i???ծ7&큗???J?0????kx$>??1Ni(??]?O?M?dת?Zߧ?A?Irh??S?Z	?Ʃ????F?????????7?a??iSl??	??E?C?[??@??5?\'Ypl??Z?????\r??r??x??\Z?7???\"???$?e2?,Z???w???OZ?!?@_\Z?N($~*\\???\\CON?_?d?????vJ???Q?q????1ޖ?w?	?u????oG{???ɤ?d?|?D??????Z??7????FNdm??ܘl??G?C???0??ƍC??@A??????J??b??6x????Q??G???M??? ?\Z???t.뙧(̮\n?I??W??zlH0J????????\'m?\'??/?і{{????????zG??*?w?\n? ]c?+??lfR??F?秭R]`?}F7??]??|?Q?d?_?V|\n??????c?й??Z???(?Fg????%??9?[?MD?d0?????????`0?ZRs???????;?]?O?$7$=g??????1yo?????0Z????i??DfOfj???????&????xN?z3?ԝ?2?98???#????Z\Z?	q$??M?!?\"4M?\\?{h???sw?v??XX?\'?3???t?q?3_????F%ga?;t93h	?O?U7?ɖ܋M9?Γ??)?ܽ{???? [??n?Ac?w???q\'zL?֨??N?w???r?f?Z??&?0?v??\'?\\??1??ϰ&%۽??@cy?˝6?7??ܭ7bL?q??e?COmg\\J\ZD[??v?ӎ ????E??????^??>?R??	?N?N&ӳh???=_??a4I??P??&?`x?i?=o?1n?Z?̤9??R??`??*?.?;)òIO???ϵQ?m?MFMd???m??ud??5I?Z/?}9^?#???H8??(L????%????I,7????\'????v??????8Z)|\r?????A?~????W??,??þ??Q1????\'K??<??$????=??\'?c?????????k?????q??j??vGʈ?l??l=????x??/?L??fٚ$??Z??ߢ9????0݃Ǔ??>??Z$?Nn\'?rW??$qX?Y??w\\?c?H???l???b?6?>t?,?I?????ǹB??6r?T????.ctLȫ??r{\"<{?r??jˌ??o??Ρq??DQĢ?0??tF˂G?b?g\"???H????Ef?a?;?*???q??~?2*?2?Gqo????qf?p֐H~???c;d?????y?#??ǅ?ˇ\"???Nb?\";b?????&q?+@%\n???;C\0?\ZOq2??|??ђ+|?9??M????e?E;\rIn&Kq?*??ṅ/׼????i????\"?C[?p?\'?)o??9??C???{\Z???/ݐaQg)<???Dۑ<?r??Y???n?u?-\n???[????e\Z????bF?z?0??5?1?vI???+?,?@co?S?Df?[M[???$???8p0?$|?\"?c	N?%1t??6?l>@F??IY?9??!????))?qS?-?`$9?0?sy<Zav????J?2:?B?A}?(x?:E????H?%3?2i?+?\"?b?7:????Lv,???4?G?*L=?DY??g\"Bɘ?Q,\"ŘM????夿?)7?<?$;$rv\r3????c?`5\\??????]?b%????糢???????X??#ݩ?G ?o?}9??????T?|??e??̍?]?????֊???y?ZK?v????l??|M?poB64???냀?k?eF??~?m?PK?????.?u???̎????j???}?\0','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:27cedf66b625ac1ebee81cd83da1c6ba','????E??\n??I?9K$~?1	V?d;?iſ??ZRu5?{?d??=[??F?rm?R??o???9??-+?w???T?G??t\nZ?{\r??GϲM?~^8?h̿\r?e???|?p??{?I????Zpٵ?Q?KO?8e?c&???ğ??3??I?k\"???băk5???????{aQ???`?ϪF??սn&*?g{V%??,EY??\0T?T??\????6Y?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:4250852ed2349a0d4d0fc6509a3e7d4c','}?\n?@?O?,DKL?Ô?L?i#?H?Ż+????l?Ҧ??t?????	?@??1?K??lN3?~I?r?\\V?/??}#?u7#?F0䈉?	<??????;?<d??'?V阍6Zu?S?A???ڷ????8y????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:8460fe023bd7a617e69f8da6147c2fcc','?W??}?????l?0!?n??d?mk?-?$2.?}[?\r?2???+Z????^??Y~?9hMSІF?????\CLL<??[	???#???UL\n????ϓ2??!5?;????n?{)3[a?$??=???????$?L??y??t2%H?ʟn-??*????????\\T??\'??\r??Z????9???>????\"i???=C?\Z??Qъ1?<[tpC$$;??Ҡ?&8?UFR??Spm?.ia)v??R????^?ė???p?AXȣ????\'?;D?8iͺg\0???9\\?k??? ??HV?xɡ0??X?4???·?n??e10??? ??L??i????\n~r??6ʞ&?n?{??^?bd?e?x?8?\U,S?1?u}?&e?K@b?|??Z\n???W?1????xy??|?"????:F\Z\'???I?????ac?\0??sLG?G?g???15?n??\0\n???\r?Pԩ??l???T?.???.Э???|???HjBھ?Ep?҇?R??pA??)???b?8\0??um֏?????B?\??~??P]??????J)?&?s??={?k??????Q%F?b?/٢???/?kH???/????@??~??@??Z?\"S?M?3????/?6?\??HΝ}oe????)h>:??Rla?HuN?͝???\\s?V?JD;?@$O>??????K??\Z?Y?(+3(???j??f??<????\"?l?????	\\¡??????????-?^?eS??&??CQս??ۮ=f??????$j??S???????K?KO?u??}?nr??gA?!<`??%?~8???R???F??ޓ?F????k?N?`????o??݀?D?1? ?}?1??d?-??c??^Y̭?Hk[,&??˕Sò?i8??\n??2????<?M??d??5l^?4??.q2????(??????^{???Fm?O^??\ro??gx	??m?\Z??P;?c??????׫????<?????????ۏG?ˀ?$?3???sz<??D$e?`??N??4s^?#`Z???~]$?X=G?7??1??ްU?y?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:8b08bdc91c52a9ffba396dccfb5b473c','???n?E?|???K\09Ǎ-L Q???\rQA????????;\\VesT?? ???t?T;??hGm??????2?,&?o?i??\0?5\Z?.?Z	4PR+???pb?^?b~?b?qoHC9S????^\r??????gE??\"\'y?c~-??\0\rg=ޕ`?????t??2]??ݎ??V???fuP?????j???O?e???X??,'2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:a2401e4d2a708f1d4cdf1dc3feaaf68f','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȩ쪞??VVeJ?w???O?v?Ƞ???+0\rW?ŉf?5???'?4?z??/k\r?o?yȞ\rS?-s????Y?_G?a&_???kԾh???;?v???e\r?o?fnhE??\0?r\r?h???ie_[fP????GY_???/?iY?N???????M?M-9??????>??V????fPCj?????a??f?v??n??????+?z???>???\"?0?R???\r?E;?Z^)??`}!?˷?2競ˢs?Y???A&???D?K@/?^?p??z??j?????L?{???勺\'?????7?? &???N?????G???ŐW??tU?rسcB?-h??\\???\nG????ƾv,e?$?l????^0??{??\0EF?Q˴?o?$%&??,9????|6?	^?g?d????????p?}?W?#?^¨PIO\0_6? ??j??9Q\\\\0vA?p??G??O/@?e??Ñ?A?E??ג??g?????W?Η?>X??|??5s?:???u?+?\0b?f?a?????\"??t3}??ew??m7??6??7=?sv?ͯ?$?x?:?+h+8??????Ƙ?x??zA?E?J????yЕ?j_?}j_?*?F???????֓?r:O??K喗???|???D?.\0oK???????????:?kY?؈?\0????ʓ?⤢1?????i??+^??;?\n???U???l??????A\"???~??:?????|-Nͯ?/????y?`Ϭ???}????}ݻ@????UL????????0ژI??/??W???݆x??/_4?^;7??[?~?iY??????j???~|??h????c????????W??H??u????s?ڦ?\n???=XӞ????J7?eW\\???b?tC??C??re+?e??g?\0???"?T???jK\\??5?_ [?xҼ1???bk?o&?t?~(???+??KI???:=?a?\0???K~ȹ??<]?w???????U?(:~???	?\r????ܙ+??9???Լg???`+?????Ϸ???|???3u?U^????ptg??p-??~dFq???.?_???"?i0??j#]?,?oO????????? Dy??\Z??B?W\Z?|?(?-^V)???Z|{?5???ŷ?u???TY?_%_??w???Z?U???-??>??eoGr?T ?\'W?????5?^?-??????Rv??B????\\r???a~??k??vN??^?ea??rcht?<??%1?&?:?8v5?]??ooC????*????X??h_`[\0?^????????+a\rR+??3+????\Zb??u֛?܍?&?????XB?r?a~?s???{?V{N??>??;Y??d~????2n??A????tu?r?v??0\0y??z?X?q?A\n????????zq?QQxs11S?????fX?C?_??.?>?v????(?).ܾ??^\'O??D?\0??ؽ?˯?`??:,]T}?\01???? Z?R??U?wA??m???A\rKw\rv?i???@?B?????h_?v??K?e?E??? ?R:.z???????A`??b%??8???5ҿ?,\Z@?\?j???p??9;O???/P?MF?/???Ծ?8׊??KE?Z?vO\0???????5?Ϥ?#??????I?3Ma.?b\\?+:&Z/???-L?a?R}:??V	ȯ2\r?Lފ?????W??U?-?|и???QsZ_????0??Z?MhO\\4???~??z??/,Ga?=ȷ??u7?^\r??z?;??|N?s???P{P\n??z*~\\?;_?~?F+s\0??????=??ʞc-K? =?K??ߚܹ\\eC?+\nw?????Ы??gt????=Ӣ?w?+?❛%??????̊W#(??M??|???;??o4??T????7K??z????\\r?r???Qb?V???y?g^=??Y?򡃒fE8?^#???????`?к?\0͏g???T???~MW?3??|???????*????~g?g?\'~????nn??x????י?W??ԠL???؛?k??Y<?܉?(??\r??<߀?????޻?p?z???t??Y?????????rx?kk@?Ί?"?k?Y??;M{,?y????xJ???I?x?~8|?y?|?]?a??z{=??sz?}??t.n????*??zv?j????V?=?jb???\0X?5????????^?{v??\'??Ñ^A)g\\???\'??v?<???	????r??׮???!?\0??r??|??ūy?Kv?Z?TH?B?lA????@?%???C?4?w%n???zV??W\0?\'3?p?Tn??\"<??2\"-??\n%???\'???????Ϲ?p\\O?=?\0????:?Ҁ<?O?\0Xt?޺X?\KB??s7s????????6??u??1??!-?Kc???7?q??B?\\?s???ua\"?2p??Qh??u???c?<?????K???u?=??>??W?vY?|<X/??Xf???????e??D?H\0?????;?r??AE-*?C?6??ÿ[??;??p#??FN6?I?k洸ޖ???[?7&6?2\Z???8??U??ȈN???&Óe?u??3o1\rDq??????ْg?j?????Qc<v$~?9E\r?]????穥?????t??d2??x???$Is?=???f?/(?ᰍ??0??uo??(????R?d)7???\\?Q???c??B??gw?AgR?\\]?k????y??Z=?n?UWa??gk-?c?z<?I????0Y\'?V?^g?-LcqfY_63?t{?6????Be?Ǜts?6??'+7??\\$????\0?аCb????B?????]?Y[?i?z??F3?ٷXۜ,???/???^??w?K?}??}??R}ߟ??????3?????H??[?\'ig#????zD?~X???9M?5?:k?I???ݟ?!?FV}(???????i??f?q?wc??a2?$x/????E?t+B???????7????v%.??V?n7?r?Hz?Q???ס???̣Ēe???RDjEdF@?bS??]?R?Y????;C{?hgD??&??hI#??m@???B?\r(q?z}?C???f?i>7[S???????΁????mv?DI!????ݮ??/0?0?Q??????o????}r??:?rgĪ????w?jl-??????!5???\"^ҝ??i?ꚘW?s>@c?i?.iQ?ƀ:?V?oh&	pB^???Ј\\??Àf??;3????*딮?4??f?????G?CR?e??,????Gi?@w???z?D?s?e???洪8*~??+?*?p?^z\'L?]?U???Z?`???e?,??_?a?k??\n?q???߈UF<?f??????A???u?_?????-kq?)W?mW?????\0\'h??|??,v??=K\0???Y??X??©Yp??k/S(??????x??????#????*o?5Tu_h????th??xk?T???t???f?b&?v???Ȼn?8??_?K?:?1?p\\??"C_??y???4????{?9?LG?O???w????$??a:????T??/?i?J?3?8????????B???	b\\????)??.\n?$???????F,?_?ҏ??????????)?j?3??{?????\"?w???????oI???Hz(?%?~?w?????g_m?wKW??ߍ??/??p?t???]\'????U?n??;???.?|?ѣ????x?0o??>ýF?\"?\n?????q?K???W???:-?{?_?h?[WY?Nł??^?d?*H??nuT?A??Ty??????K\"MF|fL??a660l?4`MX3?H?????l?-???2?z???shK?U>İA (=?ER??vr,????????y??\rƶ??1??9?v?\r??%?#`2?(?yX16???s߉?D[?QC???	i%????7?Q.*??q?u???? ?A??w??????Y?JG?pz?I\n?tFλ???-:]????????|j?p,iL!\r???=j?0n??k??????\?k۵»|?ݥ?0?he?T?.??z`?c??s.C????AԘ`4?\"?pl+K1V??M?o#9???fDjD?Ӫ1k??X??-y??4?U??D????>W???2?gL???9*?K????B???{,pf~f?hOIW)??\Z??\0?{??*?	L??Z6??b??Bl???0c?V?0??2????`u~??B???׷?9?;w?\"o??j?0????[F=m>G;?ߋ??<y???q?Zn?R?us?????a0???\r?????k:??f;3?|λ?q/\'?1?E??c?N;;mlF???wqڃ8U??z???\6ŝE???eU????)???Nl:`?????\"???pqa?k?\"??i?'uZ??a?????-?ʑ|??TZ?(?x?\n??aDXS???GD?T?D?4Q?I?8???0??c?9????v?|??G?r?????IZ? ??.g?fp?V?N?T??.?Gy?Xl??JpT.&b+????M\"??יz??????3???f?`\r?V?殫:^J???y!I???'n1|?KG*?~?=??<S?p???\Z?8-F?Q???1z?N??o%m???i?8d? ???1?8+?f?F?ZQ???3??0?U?m???\8???Ì?\r??\'?YN1??C?$O8D?r?h.L4fK?j?u础v[2??+9?H??y5?Ӣ<a?\r??Uf?,.???,?3ֱ,ݎ69A7?=???p??2y??c?????zA?;1<??%?n?JG???2?>;\0?^?7ۓ?ǲ6???D?o?n?\'#\'????\\Dn?a?gz<#y?????L?Ö?fת$K?9?s??!???l?b?\Z3G0_??(W?????빌??CZ?F!??Y??K;\'???h?0???顸??vZr&oѝ???x????????,????=o1\'qV????y???L1C?ѝ&<??+^S?d??:?????ބ?\Z???\'C*?4A:?s(?y<D騴|6??MO??@k???Ц\\k?6???<???)? ?8???d??s??}?jt?%E4??t?;????<O\"???vӝ?f?7?????/xb`)????J?????ӱb^,L?[?r\"?????i+G?ۍG?\\b??m\Z??\3??mK?=?鐍V?ɖ??F????Ė*???0K?%?9??&????(j?+?>?+As?p????@?b????|??????\?K??????r???:????:?FXov??<???f???5)b??f?r?????d?????\r	~?ϳ?f?Z?9b?$9dǺ?@nX?6??[*?2????w?k?m?????????0<?????1????????%????)??uI????,??0L<?\?Ȧ??\\6?\\ܲ??@?(Ƴ???ґ?>wG^???????>r?얯`?s??>?Ŵ?3??:L?>???e???.?\'z6=???m??X+??jL)?3?1??)?m???\r??n????M???\\??p?\Z?993\n????q?Yy??9?[???Ą??M????\n?X6??a;D$??p????;\r?????M???H??닡+??\r??ܢS$%OYG?|??1>???M?4?\r4I;??-?!l??GG?#}??K?t??]wŋ????=??CQ{?O1D0xJ]-pN??Ĵ???6l?????`l???1<!t???[C~e?=?ra?K??͵?d?q??|2?F?<^??????Fq4w?%??ѐw?@8|:?\'???u]\0qt\'?????D?Hn?n???Hg\ZqXG?9??FZ???m??V?.?f?????#?{????DR??f?6s|a??????{?s???)_??a????Q;]?\\?????pF]?	?;??"?>?>?]??K?4?>???ᰤ???y??K?Xh.>?lud\"\"??K7NKy+V?I`????j\'?w׾???w:?#??W<????&ls? b?v??g]9????$???6?H?ߧK`?+iBf?????N???*???쓝9\\\0?35ꛥ??0?zc:????????{?W???5SZ??܏Ǆ.,}*)P*????|?J??qK???)???æ??y?"?O#ْᗊ]???݉[?y{m???Ĩ?? n?5??]|)J\Z?L3??	?9?????????c=??-??cS??j?7??t?X>????^?:u>A?/Ю???C%???????r??\"??d??^?8?u|?,?6aNS??\Z?OQl???xj˹\"?P? /v??㼚d????۷?I?_YQɜ?خu???|E??ࢇJ???0?$???|}[???Sbw???b%E? n?N㲸???폛%???)?M???5|??cK@3???????uY׎?H	?c?ȔL?Ym?????|V?4sq?l??u??PF???Y?r??M???Q?X???t??@n??%f;??\0\0?.?v?zc?C????yJ`z*?????=\n!w????Ƨ??????!Y ?Mjs?r!?+ok9bz?\\8?{?\0DrA?돦?UW)?8?$&?????*??G?????j;??]\nW??Hjy?.???\"?\n????\"??O?\"???8??@┹h?c??\'$.[?1????rт??????V?3?	??jE>%0+D??¢.[???@qr??!춴?gi????rk??R<y?TÑ~1??K?#CK*?/???9t??\0?@??\0?!?l???Ӳ%n??y????M|Y??b֒??\nVA3[??u[<??n??????l84?~\\?W]3܎d?^??????????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????C[q\n^ \\???h??ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V??~?H??	????@dB??؂??`.?\0?`q?c??H?ڃ? ?icr\Z\\?-???h??$?	???e??Y?&+)??T6t??ZRge????T??ez?|??G??_a??67\0?n?c?R?g&Н3?\Ze#?{>F?!???&?????\n-<?Nˌ\Zә??#?a?_?7?8?5????\?{A??F?q^??????tu?&\Z???!?O???\Z?Z?? ?s??P/C9?????LHw?@???Z????{б??t???t&??s?Y\n??V??:?s????n ???A?)???c$G?????L??V?:???:3s&?t?E?TȲ<\\I`???Z???WO??:@Д?t|??@??Θ??\'???i??3Z(?Ʌr?N??RP{?Mq???t	????>?AA??\n?$?`??!q?K@pU???к???????\0???ʐ?P?!?0?r??s?n\r????֠t?.?P????v?n??̀[<???	\'@e?;??t??0?>??^0/?(????cc?\0^ oX?S?\\\0???К\0???@C?U???W\nx??L??1????]????N??L9v??>\nH?6?ܘN??9?`???e??<?nv?x?????H?NjlQ?4?O???%?V,f??v=<߫?/o??~?V??C?????f\"??Mq??v?#?(?`r?l?d?bFw?5?+?	Z??WF??9?竈or8vr????-????v??f{?z\"0\Z??j8(P?@?r???@????\n?\0?\0΁?\Z?$h\r??D???`???^+?O?᠗??j0?0+?͠?(t;r=?=?B?M??J y??)((UU5?T?g??<???Z0t??8????0??E??zbw??x??.=?v??=&????Q2Dr&??1?V??v???g???V???@??|7?????W????ԃ$???D?2ɋ?????b?DB{?????q??!,?w??Ct|?f?nT??qU??m?????S?3?????q?????\0???A??@??????? C??2? ?h?C+(rhX??КAjB\n?\" ?0껀\Z-??T??z??A??c??0u??_?фkQI?0QC?i?6??0-1:???o!?4s׆9M???????iNi9^L?<ld?O?@????G?>???7t???õ/Y??=??"??Z??vB֤3_bX4?zȀ?B??=?d?6?T\Z?A2.?????D?W??H?\r\r\r?@q?2?\r?cH???*?Z0???c`?P@$B9??Ah(??u???=\Z???ƪ?ih?\05.\Z.`?x~6k?^܏??????r~+??o<?a?uB?1????`????J&C/-dz?߶] ?7_???????ڋ?Ǥ?\'L???(e?y????ra??N}?a5nx?????\\`9F.?YkqBT?S???eB0?|????H????????#?qP=??RY1?XO?????<?o?(W:|?j???z?P?ul?q????D1??q@b?š<ClC΀d???8? C??????Z???C?\nO???ne??[9????P?)Р??#nN???%??\\??	??No??ʻ#?$c ? ϳ?Y??+???????<?o	h=<p?<??^?xe???????tyB?=@	?m?TR??G?'???QJ-|??͡\'?\\.ݰs?m?	-*Ф?R۽?u?X??9oc[?o??\r̅?V??o|?C?f?\Zw@o????SX9???BϵUw)E?!ώӖv\Zر3ۥk???8h?3?\n??[^?????uH?"?\\3??\ZLqA?WE?( C??$?d????Ta??vL͐?q4tZ?T{i?C]???W&????Hw??E??t?/??X?	?u???V??????x??/h??????\\? ??l??!5!Hhġކ:?J_C2?U?\Z?LEg㱏??????}M?}o?KVw??9??l?0Ҧ?1??7?c??Ǔ??fӤ?K?&8c?ع?\rt7???\\?l<?3-/??\r?A<\Z?$q))R??@?x3k/(6S?O\n?|j?????Mo?i???$???*???u?<??????v?Q???p???u?o5?z??u?~[?O??~{޳?h??)???k?c3I]-?۸r???D???]?:ܙ?w??7_?i?[~0µښ??=_%?????(?????????vi~s?˃???}??ރ?G7Ͻ?x?i?d??Wy?p??0U?]Y?????3?p??5????????2???????%/????[???<???]?j;Y????V??.[???????>l?n?&̳Y!\n=?M?݄^?L?8.\Z?Y?݂??)<??z?\Zo)QY??RECQ?!??8???*???i???\\??6x?-n??2#??a???h??R???j?\'&?j2??(v?[?uy??j?o?R?????DƲ(??Nu???mFJv?'?quJ4?n?COa_??4#?U??h:?J?r!;s?)M?Gg??!,?????(????Y?&\n?U$?.pr5wbeW3?;??d??\r\'??=??i??Y*xg=??S??+f஦1???@??#k????^?vB\\i.j?????wQ??????7??\ntGvH*???DGS\n?????rD??w\'.?9?%??????r?4?m???[????i??{?e??DZ?h???ד}?%5???r?7t?H?o8\0?N???\reD\'?????F?[??\n?$*T??έfV?i???mYYͯ?Ɓ?8U??????\08\"????Y-Ľ?????+???z\Z?N???K9?|?\"???!o,?j??????@_??x?8&1??l???ѓI?N?4?	Q???^????д4?ri?҉:??I??2>&??\0?D???n<n???nV?<m^?\'2???u?>??/??X??K??\r????N?R??E?1b7P&\0???X??s?уA?ED\rf?8????}E?,?\r??\\??Ж7?<I?xb??0?^S?f????%@??\n??rԞe+0?\n<?<?rs?%?2.?\"#l??H?M???gb\0e?+3?????թ?d???MѮS??\r????w????p,?x??4&?n??????qc?OIwFh}??1I?????Y?Dk???C??'a??\r?^T???^߯??]t???g|L?>ٶ?woy3?5em;D?F??`??x?z(/{l}?YGn?NG?Q0a/?6?f;F͡?????e[m`?[????vX?9k?f3ZT?>?$??dU&%??02펧?JnTD8???FJ??qǥ???Z:?????Z???CId?I,?????r??6;??????????:??y??h????d?F ?b????mCϗ?nn?١ݕ?.,??րޯ?Q>??ҵڕ*\Z????ˍ???;QCX?k?\r)?s???\n?߼??lU??\0??l\"řt?:???y?|?????\??/t8i#75?ئ??$Q???ᣢk?\'????\0pb????1?Ac<??<?-?????b0????	??\n???r}???@S,?ik?"???u?ԓ??!???d?r։??'Yc5Zי?h ??j?????y?\"?!??a?{?ݚϛ>N?o??`	$,????6??)\'\r?5???;???fo???ƲX;Xԉ??[C??{΅??ŪW????g窐??y??%Ca}?K??+???f?.q\nd???G5??(Dz?????+U???_(7uG???\Z?V΁/???j?8?$??*^?i?V?x<L5??@wq1????Z??j/??????z?E??c?KtMw̢D&<BO??K??+?`?#x?\'J??O????%~???>\r???UT???:??O???]=???????ZNuY?;?.-JR=]]???n?o?>]??)?vLh????3????x?D???\'0????,?gԴ??T6??|lCZ?K?n`????Ag?h??r?v??rE<\\??!?y?u????k???xVӳ??*??,??kê??gݮ???n??z????\\\y.N?????k+͏?pb?#?f\"_Cf?m??hxt?@?,?x{???Y?>~???Q\0??>?)??_???{?nM??)?[@?A\'?4ׇ}>WO6???\\?M?8z??t????<??rC\\???p?r?(??ɱ羾%???P?v??>?w??$???1?5????}Ϗ???<??????n>??}9/?0E????n????9?}?P}??\Z?i???RA??\"???z?V?o?\0??Z????L???6???JHR?%?j?r?DQZ?]W???z???\\????-?o???ToE}???_oKp}T?н:??z9?l???????[??yNh???.??n?YKW?y?#/??߽\n????Moo?>9??0E#5?/?0??4=???L{??Tԭ??D???4??????\r??????:o??S9??G?]?8{??\\q?????C ??qX???n?\'?J3y_??I??V????????w?.?X{?~??s\"?,>?RX?j?q̳???0??7????ט,?X????GF? K???{`o?O@?l???J?????\0????????\"N???_?\Z???UQ?ʽ?Ӻ???İ??s0:^|?!?i~VN?_???q?v???U????J??????\053??wϭx^?o????x??????cP?)n?ͪU????g??P? f~|??ӳo??????Ų???|???????x %,??>r?????\Z~=O????f?vEȐ??Z-???*??x??:2??IH??????Z?>GN~??c??\0?K???99?(R????q6+??dz>???\n1Z?%?9?s???\\Fu?\'?89Ĥ;t>-k#???Hd????E/?OO=e\'?M????K?0??\';?	?¼]?.>??T}m~XT??Kb?ќ???_?????\'J?[??a??q?j??_??U?J<ζ?p??Zϥf???&\n.	???{vU\'?n?E???E?G?????iIT,?U??KD%?Q?F??0,?Gd??Ogtn??MM\'?a?|C5z<ѵ?־]?S?\nי??g?ͥ???B!gWG??ɂf? ?@i	~??\"?Ð??U?r[K??T?????Iz?}FH????;ϲ!գ?*????X?'?A?\' R??̖/q??\n5?g??u????Zߦ?n?Wa??H??G???\Z???z?⮌H?????}? `?е?,???\r??\'\n7????N?~k^????0??E\0??R???\50<㪄?O?)??1??/	5uqtP?Q?Ma??o46?1????bk???}?1???C\\??JgSsr??Y;??U??{?????5??-m??????2??>???????0????ͪ??3A??׹?\Z<?҇\'?ę?\'??r.?S??k???=?R#0!O??.!I??A???;??1\\???	??@l?\'???Q?;K??F????n??R?9?<A??;j???9-eE??F?\Z??@Qc???%??G2?????+?9?Zٙ?9t?mw=??Zo???9=?p5s?J_?????\;Z9?X????\"??(?};????W??fig??uZ???6?????????ʜ_u?o?/f????????ug??W;ϳ=?????C??[?Z?????f!T?}?>,?K8Ch¢\"?h?a?$?]?????????հJo5???i?ۀ5?Z~*Wl҈??\"??,T?ˆ????r	?g??\nO?Q9?q^6??ڛK+RBZÐ??E???F7Kܡl?)?4)\r???êU{s}D?B?L?)m|?u?rۜ?o?F.s???F???ݠZ@??Z?P,???r6????u၁??????ߥWG?߭i?҂?_????C??"ӏ\ZL?G???????]<????k?׸????OZ???/?{??be????????=2??t-ڽ??9????ǥ?r?:ok??|?C?o!???;B??y?GNu??,\'?*J_??,??R{O-???ӁR?????????{:?K?G?Rۻ??B?Ϟ??>???????#t?(???y???Kl>???N??n??M??????2?\0????~{?E??xo?3\\???~d{?f?*?\rc/??T?????˕w??[??ś5Mw?쾜?g?B??Lo?U&?e?K??o*ew7?????ɧ?j[?????????Ǯ???峙?.ˑ?K6?X]l??)?_?l???vZ??C??S?????!&\'?;쀶?8?m?u??>o}?c??e9Gq???su\Z????ߟ?~???".???;?\??/?5tӉ?b?\\)?????{.</?|???)i????x???ǹ???N???{?-W?o?\'lY??@???????ŏ?{???uZ?D??k??~?S?oJNKT??M????8??}??s`??>R??ju?O?????\'??f??p}Y??=܁P??*??˂??=/????E?~??S|*F?uZ?2??׫ٯ?;9???bY?t???׭?m][??ךŎz?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J???hlJD???ԇ??}?|?r???{??:????MA?\"?'Y?u[????v?"k??E@k???{y?{)??tsI?P,8???????>2???t?g??wt??H;?W?B????yᩥ7???>w?`\07?US?UP?K??f?ݱ>????r*????<?~??sY]7X?q?q?+??Z???4^$?????er?6???O????C??|S??????J?p?O??U.?B???X	W?EV?#,?2\"a?=?6??U???l?r?i?u??壁?????l??;?٩?Sl	kJ.6j??(?B?y??f?????	,+H>&??3??F?8?AIs??r?X?[Y??A͖???0???$??@?_?^W ծHR?@b???'???_?g!\'???????q?(??7??+????Nj?~?????f??x???_-7l?;?o\\???=9?Ӟ޾~????I޻T?V?:	??9???PdE_?L\"TXf???Y??J??\?{\'y<>???O=\\?\r??????lBr%sv?????4$?F|X??1a?C???9??H?????U????\ZX%?7m5c??6h?`?ڦ?k?D???hE+????߱V?Z???*??zG?Ǐ???i,]??????qq?&p??????/?????+\0?M?/߼}?S=ϙW??ʣ?_߮????E1?ZVeT*????ķ}?j}?c?j?}??\n7|z?J?1????RV?fg???e??\\?%?z?????_wD^??apI?o?%j???Ji????^?k?*???˥???u????<??Z???p?7ŕK?????.????|???5???S~??@cWK??2Xnx?????9?'??䴟?Γ?>9???\n+?:?nέ??x??xi?^?<??\0?2V??iV?????+??????F?n??E???{???{?׺Ӯ?? ?????????S???@??^??o?>\0q??\n>???}?u???6??@6+?,|????{u??r????h?9\n????\"????\ZP?O????=yk?Ղ?<czDaT??O??q???|????????????pW????????`??.??%K?d?rn?t?Ӓ?ay????N????????X??????mU?i?y???*???8??9?\'?/`{>%?N+???ȳ|?3?????p??a??4??A?G~?濔P????|????	ԮN?>\"Pa?޶l?*F?*?/g???ׂ<??}3毭???ў??W,*:??V1w~cEk???߃|Z???|\"?}?z-?«??)???SΚ?r̥?|?G??d?\\a??]%?@?0?j???veh???<?8??8k%ג<?\0-??Y+T???8f??ߛP??_??Z???9??`?	E ??毼????7???e??Q??庵?J???V?ř?)\r[??U??u??k???G??.X??]t?>\\??HYY??q??B\\~<p?W??v????g?À?x???QU?p?d?????"??е?W??]=F?)?\n???/???%??Z???j??/W??)?!??`J??cx?|???e?.*?*?(?fS??7??????GN??????????r??c??.&????J=?S?/0#p????e??\r??? ???|?????eEY????V?^EA?:d?b?\\c?z???G?*߫?S???(U???)?5v+K??㼁?u?4?k????[??I?5畋??͍?נ??Sz4E|?H??d?????)???A????????gܻB?+?r7???h?i/\0cfj????L????v;??Z??wE\0-R(~?7???m????p?FR?Ԥ???C?ފ_??4????U????r?a(\r{??Y?G??&?G[ڏ:B???#7t6????bO?E???YGV@m?b???lCߥfk?j?&?9?????r\0??I??P`^?f?n?	??ӂ?/E?Ņ.`/??????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????OdXi=??????Ob?rs4??????ċDC?q?=د[?u?_{??ش?ͬ?w????.?oys?j??"??0زE??c5>.?؇??????aIy??17κ???????ӡ?YgkMiG?\"zD??j????y??N?d?X\rtc?Ě??????RqA㸸\n??	?????)4?????	L???????z?=D???oJ??U???7?Ng??l\\	7?NVV[E?????i??U?׻R?0?i???z:8ɢ}8?\"???R?A]?|?????81??5]??????o2=?,??????V1?}~?i?R`.??Y??E??Qr?&??v?FӮG?????a??4??k\rv?0GE>I?	?LM?Y8-ͅ?fN??<??5??:??̜ŭ??OU?34?<B??^???<?_Fu?n? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??????????d?????h??'Z	,?9X???????l????D?96??@?,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	?????dI>%?\'Zi??\'6??l??QA?????y?(xHş%Q?\"??p??ŋMkO??\\P??m??тd?ul?r:?]?????ӱ????w?fv[???ֵ?????1B_?p?n????)???٧????(????Ԝ7\\^m???\\k\"?Tg???U:b??H?\'???????0????????6\"}?ub?*???Z??? ??ܠ?f?J???K઼`O\\?\"\'?E??0?x???&??en|i?\"وo??e????n??sh?7?\Z??b?-??^?wA??ʵ?;???=\'????vw??v????-??eu??a?????!?Y?????????[m?\'n??7??/ɊsD?????????????\"9?\"?????;ǰ??7?0g?_?0zR[???r?-?r:?О8??J?ⰳa?U#6?eǰM6:???؉?+S#?X????w?o?;?V??c?vH?=8????M?]~???>ZZ{??zJ?^V??S&?FwL7???t0???.?x^??'???L???9\"\Z?˟\Z{qSo???O??&cz??.??m????݌h?Kn?k4?????????'???;b?ܩ???5?????Ih6??r.jᴆJ?v??q??E6M??V????n?=k??]??ӥCk?m?J?? h?վ^???,??d??t??d];?_M41??H??h?$<?????Ơ?t???????kOZ??\r&ˣ?.?.?4Bk??=#?4?(\\?h?,??5j?y??????|?Dmo???????u?P\Z?? ??&I?>?R?x??Y8???=M\Zs?9ΰ?<????4N????]d???q???\'Zʢ6?b?5t:CO?\"l????M?ݣdJy$r????8??'J??-????????\\?>5?\'?*O???????????L`9??.???i??C?7+?????8?}????:?q8T?UX???_t?????'x?z???R.??붺??Ru??R9???խU??C?Ar?Gx?:?O?RN<I?M({?K?M^???n?	?#C?4?l??|?$??A%???(??Ic?=lNF???z???ݢ?{?c6?\r?u??;???[I??6rp??\rg??????3?\0??Z?lX?C\0m????m\"??????C???9?8?????????0Mxf=????TTF_cr???|=fW?}?y???v?>?zв?a#???5=?f?ۍ\Z?H???u˱???o6???:<?8??kg?z?fz?!j?b???4N?n??????????n???ǵ?u??[???O????I??Z?zꟘH?n=	?{2?|_?F?0/4????_\0:q\n????^#\Z????;?5?????&?uJ6??t?V?82Y/I??N?,F??[];Y?????ݺ?\r@?0M=??Sl????H?????K???L????5<???4??.֧]?&F?k????Ԍ$94??n??^????q??	X??g?t??????z??)???\"j?!έy>^?M}?\Z?,8??q?Z-?f????)9D?h<AM\r큋?8???ZI?L??~?e?|o?\'??M`,?E\'?.F???\'?̯a5??pZ?;???ɨ???m?[ߏo??;߈???a=˷?????d?3?k??{?}??Mg?	s???`o?O#\'???nL?Gs?#?!??w\0?t{??? ? i???D????F{?[w???????p???t??\r0??Y???O:????f???$Da?{=6$%Ix?H?ߟ???ѓ6~?????˽=??vC?N????x?0C?y?;r3?Y??1וP?63)G??a??\r?.??>??.?V>֨?2??B+>??z???V????????r?3???????????\"?2?????S}???RZ0?d\r?9n?B?rGI?ͮڧy<?????3?Xsz?mH??????0-Mv?޴\\^\"?\'3??t\'??W|???ng<\'[???Cc\n??????\r???:??-?Ʉ8?u?i?ѐF??&?.??=4?`???I;?`,,Ձ????f?Ƹݙ??????????????§̪?i?K???{????F?=Py??(?-~?7۠??;	????	?=??Mk?Y??D\\W??????B??K;?????.???O?X????qͩ??<????Z?1&??x?˲ߡ???3.%\r?-??w;f?iGM[i??"?m?}N\\/ED?h!?L????F\'??4?w???W??$}?(}jotu0?ٴў7?7??t1fҜn??)|}???nD?ờ?a٤??1ۉ?(Ҷ??&??N?\\z?:2q?̚$O-??ƾ??ёNd?l$D&?t?O?֒??om???~????|X???????sA5G+???_v???/>?{??n??j?ۋk?]n|????ٰ]???όIߡ?????k?ngO???m\"༥=q=o???d?Z??10?[?????v???2b&?pF??????\0??Sd?Y?&I?????i???@??䬩?????Ii?ӂ????*P?$???V???7?@?G?[m?;~?1???d?H\Z???e?8?j??$???:??t??cB^%???ەø?U[fL???ot??CG?%?\"?????3Z<\n?#?9??!?c??????lR??:?9????\"?2?Iʨ??R`Ž)/?:ƙ???YC\"?->r4????? ?v???????,?4?Z??!??DSg?˘???0?(GdR???mh<?<??GnDK?????:4?{<?????$??,ŕ\"?????\\???M?\r???m??ܞ??X?Q?J??R?????tC?E????C>?mG???1R???Z??(?\"??n?0?Ɩyxh??cWX2????7s??\?ͦ??????A??N??Qso5lg?ȒHv???0?????%8y??{???jK???\09R?%eI??g???`/?rT??T?lL??L】??????b?*i/?h??s~????????\\wl\"Mǔ?ʤm?\0?X???\"lg#F2???\ZЬ٫0M??He?(3??%c?F\r??c6????????????K?????(??\r??9OpG?GOZv????b,?ϊ?(??V???_??t?R??V8?r???1?W9=??\Zy??????.??????Mw̚g??3???{qHx?[\'??3?v?nB64???냀?k?mF??~???iv????V???[o[??YݾU??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:c88e2bcd56513749bec09a7e29cb3ffa','E???O?e(e?9r\\?DipZ1??S!T???/!?!??	??#9=?@??O??ā?L_-??d\n??\r|?ƅ?||??\0E}??B?ZW???d9S?tf?*?T6?åśKͳ:?p??K0?n?h??????i*?????ʹ*p?Azc???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:0d86e1cb95fe5f49dfae19e0c4d796bd','?Z?R??{y\n??[??????-???@??il??-?$?I???Gȋ]K?X6aCm??V???%?????_%?	?dL?HcO??$?Z??$D??J???????k?\\\\???????c??	???I?(?P\"?????????<^\r??V?<?ʑMH?MR?*??=$??\n????!?P?>??C\"$???? ;=g?=???8???i??:1\'??`?.?Ӳ?I???e=\n?\n??ts?9K??%j?\\?e??d??Yd@(NP?????E?=X?@?6f?\"H??&ބx]\"kw`??1Ӵ?\r??D4$?KV?bq?ny?=???b{??$?Ȯ??JvF)Ii?_???pB៼?0??B?8???#i??N??7???ͯ&$???m?4%8n??Q?`???Ѹi?u(???Ams*)ԇ?Gb7???????D?L????Q???ȇXK?uT??. ?b~??\'??8a?TB??\'??OW?=f?Y?e??)\"?K?i??tvədr??????mP?4??z^랭??h|?N??R??`\\v?O^a???׹?%??V????Щ??r??\r?Gmj+	vPH?̶)??\nC4n?9M4%}?l>gI??z?t???????03u0??N??>?2?Ŭ??QYpS?3??\n?_f?R?S)_{>??	??w?L??A?}?\n???vז?x\r??7??\0???mz?XN?6li	??An??:/?j????????/\"?i????? ~?????W ????????%)??????p?M ?|Jj??\n%?,?v?,??g????M?E?eZdKe?r??F?5???\\??Ȳ??겢?|?????#???mkڑuTS??YR?WzK?V?????1?d,?	#,?%?6???y??~??ZwQ? ,Q?ˈA??,?DYsy?a?????+??????c???H_???ޤ??=,?"??_?? ?o?p??o?bHc)????I`???<???G???)??xĦ??{???8?`f????Ҵ???K????sy???????VKj?TyLd??n?\"_r??c?.ؿ???2????fٝ?(??χ?Jm???	n????V8?_D6?p0?n??O?2?????$?mW????ӎ1JpGr?3߁?????????|<NC?ߔz??\0?\r!????Q?\04?N?i?*wřH???ww??I?Y\r?}?{?J?d?yY?????8??1N??NeS???<S???i\\?O*Ģ????sI<\n??Y?S??I?Xp??FMf?J?\\?}????yW??n?8A??q̖??j??\0?>?@??77?"?lX??,?????V????6???v?#??\r??࠿??e`Ǘ玫??M?q\"?op?R*???B[???M??N~A??L??p?9??0??)E???_4?,??UҘ?_?Q?Rf?Ip4?7?jJ1??>?}]??	㲔?ad0???anX???af??$?????5%\\?	?z???g?oXb?LTDbur??u.??\'$1ZU[????f?Q?ľ?T?T??t6?0?<?wc\0??2v?֪Z?᥂|????\Zs#R?G5j????؊?=o??	e7??\r?A?Bd?H:???f????(??5B?u|9?6,?Ք???1?,??N?dCƿ?W#wk-U?g?????????r5?XIwK?1??????(?B??A??V??S???`??bݽ?\\???????Þ??t[?j\r7\0ᵳ??+? ?W???(?O\"??Ko?????в??????9q?$?1?A?h?P???????(??$VO43UX?j?@?G?D?ҵ>?֯9?41zT???Tࢦ?E??w~W??o\0r????I?\"Ґ??	??8??l??B?3?G??r?S?ʤ?G???p?*gu??0?~?6L?@?|A??T^xh?cX?uX??e??<??K???9???p????D??????@???E?\,??????NTM+??????\0.Uk?Quq	Y&?7??!x\n?hܯX??{??~fs??R1l?p@[%f:???\"\'?L???*?)?Jq?d???????#?U?$?????Fp?g?s?۞y??*?7?+??t?7??|????E?#,???X?L\0???a?9??12?J???y????\0?[?????J>?d?DTՁ??|????ee?Uy?????????)޼ora???HL???pw??`??n?w??C?@xp????po?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:0eed8143f1b3c093a663e8f27ae1095e','e?͒?0??;>?\'?$aߡ?;??\0/?m?v??rd??>K???L?ER?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????ue?co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c???????e???΍?Ate??{2s6t%???f??j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9?[??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?ߐlC?oH?!?r9m?C???Q?۰??6?????eq????V?i30\0^???ATu\n	?Z??qN?H?????-&Yz.????\"???r<?c.8VP??me?F?????9?Y7?c??<=}???????Zi??⇱?R?i~??????YKE;?????????2??zJY?VO?E??zL?s?ϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:12dda4402e03538920e314403614828f','?y???????%[?)?׹???I?3k???DɌ)QMR>F??N????۷???$PU\0\n?BP\0?ޓ?ϟ?ӛN??0??N?ެ?c?w??8?\Z$??/?q?:??Wuo??\r??5?????g????]^im??ׯ??[?S?????>>u???K?4n???>?\Za\'???-5԰?!?;?*?i????gd??<H\'a???_???? ?撘?z2?#???g??$tr?_?3?\r	??q???????K??(???)?,??`\Zz???d?)????ɸF????????]\n0_??V?0?.?^???Nx;????\Z;[? ?\Z\rY?\"????:?U!??\'???????Ⲙ??<????ҟ?7?7?t????$??Mz???U??\'???݃??5???I@!K6??9Т???GsDE_?\0?]|wA?h??i???0??9E?f???Z??(??Q2\\??I):%?|?g?????:Of(?$?\'??==.???	?NǑ,?0?H|H3@??m4\n	 ??k`g~???(o:}(j??M???~? t?6??Q?e???^?6?t??$? ?;??(ߧ????<??Z?%f??ٴ? \r???z???????*|??0ϢAnT??????Tv\'??M#Yx1q?.?e?en/?r??4@y?F??˚??=???By\"=?Dc??`m3??f?M?:?&?8|??r?j????6q~B(^4?`???x??q:?ɯ?\Z\0??-W?i4T???c!\rf??zy??K???5k?2j܌!$?]?2???i??&??????G???bAA3FM?>HFw/sP?R??,??`2$Y??@G|??????0???3?a?\"oJ}X]gR??hfl!?&?U?????~Ojq??)??\nN??\nh???At??٠׀?????{Է?,Z^?\"??[U?l?%\0??e)N+{1U\'_????@+??J??%)<[?[??? ?o??7??ZhA?WJ?Fa???L??/???O̯?E??7??gӻ?٠m? Oˠ??V???jd?.?dX?ه?8&j?$??i2&[3}?ҩ? ?4Q?\?IxE(i8M???Xl ???v??$?ʐB\0%??s??Q??????=??m?z@??Vl4?????aE??\Z-?5?i???\"hX??h??9??y?;E\ZY?%h??????????\0??o(??6;Zn^/??Ӓ???????]????lđ?iOs?oan??-?N?h???5얖S??4??? ?f?TK??B??<?9???????|???T\Z??4?l?jCl?_????@HF?Oi8Q\'5f?l?E??s?\'Aʀ??x\Z*\0??\?,M???r?C?\Z??+?Ò??\?g?\"?????c??b?/???k?D??@?????\r:-??!;??aXM?t23? ??x?????f`?j?\"??e?0????'???Z????*??^??e?Rcb???????F?nm??W??#?\\y\ZO??O??????Gi?^M??W??17??_?????L??q???1???S?~??ӿ,YM?QL??zg\'Gs?N??q????}?m?â????`?-c* ??M?ծL^?4??:?SJ???2???"?e???m???2???????L??e??V.??Q`???1?????r???M]??????g?]???,?UCV?ecj?K???t????r?r=o\Z?????{? ???????\\?\Z???`?d?7?? Z?????&C=???Ն???]?w?Z??(???7W??\'?4̒E:y??S??4?E?0?OzO???0>~?8=??Ϟ<?ߏ?k???ulm???H?<\rҺW?e??\0?????6;?&???}\r?sx??p?*w<?:`??????/Y[??[??? ?=??.g?6Yy?c?H?TT??˭?H?????M??X?=\"?hOO@?!l\'\Z_????7?v?d?_:?[W??`?S?????\02g-,Uc?9&???b??????T????6?q??\n?$)??\'?????0???o??de?x???I?,?(V!!E??No@?<?]?K???~Az?????A֌@???-???@?:=\n????"d?KC?\"?6H?ٰFU?j???p?!?R???8??MT?????N?NS?h?/?/??V ?+Ɨ?S7?Z򤹋???w?f ;G???7???UeJi?|?4c??\n$?Y?NkO?ԟ??\0?w?\n	?H\Z$)????%Pp????,q6B%????C??\n4~?k??Z?B\"T淛+?$9?f=F???@???GK??g?\Z?(pY?Y???\'?08?a0\Z>????????8<<?????n>?I??pV???,??󞂁YUM?Ñ?୓\'2?D????e?}??<??	-?? ????'l$\'b!?^W<?A??2??1r?H*̆?<??3-Y?????r?W??G????g?g??ī????/?$Sa??a,I???;?d?@g?TH\Zᚽ,?????????@?#???J?_??=~k????I1פ???Cp$??U???_+*V)&`gy????M??A???"?O܆%3E$???:[y6y;*??M?4:7B?B\"?V?07??????1?A?q?(?$s~!&k?ӏ=?}eF։,???j?8?T_??????ɜ????[`?8J3???r??\"??+֖s?v?Kq?C????[?=M??g?*??????h??mǢh???X???le???My*??{?;{??%Y[WR?z}??P҃?I???\Z???B9?t???7p?j:8X?+???0\r?GfML?cp???\"?}aG??B?|?e?d?*چV?A\ZOȆ?d???	??A?H???Ku?F?A???H???2??J(?~?9???4>???-????1?9è?4????RC??Z\Z#W?ά?6`??tp?dJ?f؊a?Z\"??dJ????;;?M0#I?]c???????A;c\Z????\"%W????&t?f???????ܒ<@?UY?*???N?????;h???C0tA???\r:?7??ӛ	?2ѧ?FxG???D?(??4?!_3O_?؇??$??#??M8?~???H??ӏ???S%y??n???x???\\g??拈0?-D?屙??DZJ{?rg?f?E?ߥ?Y??	أ? ?I??|??D?l??R/Ȁ^??????O?^??PW??eѾA??????	r ??????j0?[?L?U*&???q?2?\'?0?\'\Zb?9?rr䧤??;?????ݣA??c@}֓C+O?8??a?Z????????~??`?$\Zt\\eT?_b\0XH<?TEM?v?Ѧ|K? &?>??ź??ma?&??ش7X??F???4?ͤp????? 7QOG????s3?LB40??\0???$\0\rk??`:*V??ȣ??R??G??\\OtlOW??̥??N%?3H;y<?e?_????`O/??B?????\'?,?3q7ߡ?????+?yܹK?O????K???o?I??;?Ѯ??(d,Ó?	nkMo??ީM?8*ϭ:?+?\'D????v?????C\n??H	??0????i\'֭t??\ZU??no???ky??:?????<??-<???6???<??bJ-???t%,?h?(<A|L\'|?&?q?(D??|(@??tK??]?a?p??8E@m?VE>?\?Zy?\Z\Z?(??'????ă}!???)??m>i0?c@:?U-??k?GꩧĊ?~?(?(?9I?\Z v*<?*??&???9??b\Z?%u?v??????W\\f?k??asF?y\n??????e?d????X*?\nv????OY?K?? ??@Ȏ(?Wj?d-p??????抨???0??\\.???>??3??o?Aټ?????ġ?? ??!?z?s=??>??ȼ???y?A???hJ?C????+l^??[cۢ?g????(?I??^+rX?????%???YXI?<??=??YD?lӌ#?+??#???d?ev??3??-G@l??\'?~?????+?ǰm$?HX@f???Z??Eg?N,???> ???_?r	k?S??\n??????M?f\"z?l\"???, dM??,??lqp0???1!?:G-?e?Jr6-݊WI???bo?d[?씥iD{\\[??qmLNVA?e? \0gH8?.?6?	??p?`????Agcp????ݶGg ju??~?t???UH? ?/??[??ޱ?आi?DqP\\?i?1??6	???Y??>(???H??t??P$$zc5?Pr??s?@?bdQ?V?Ud?٩?+??E???&?p??\\:N}??????W+??f\n?U?????!???,~????Z?G4???M??\"???쒳OM?v?\\[??a????q??zXz\\?ֈ?????%??@a??2 ?H??~??/??"?x?(d:?O?iv???S;?:?????PE\0d?|!o?????ʉY?????cg\"??nU0A?>?oQo??`祄V?????!?*?HC???q?%???hnYВ???:|?}Z??qFxi?!?H?!k?P\'??<|?d???.?G0?t?y????z????????????????O~????Cp:\'?ї?x:K??Y???????%^\n???!???q?\0\0=?8?N??,Y.???Q˧}Bꥭ??[?w$T?U?l?J??,???EV????	?nm???	̚?ߏ??ק3?ĭ?<.D??\0???Ո??je???%?bvc???[:??dZ?dݧid̄?͎J?????U?Z%???FT???ڽ?ԋ??>~???!K??bx\Z?fW᝷-????(????p??l?;~D<??Á??Ks?%_4??)\\L??}CTT]?$?5???/y9???a??????b?{E??3i????=?ʒd???Ì?BQ!?$j&L!	?E?<???????NQ?we?(I??ir㼟]&???/܁?p?6@?@????sx?\0f?4??ڶ/TfI0-??~zuΣ՞o+@?՘$b??{??ZY?f??@?\nF??R??y?Z??????VTN\n?3???߷??NK??????$?F?\Z??t?Hw\r?????h????v_??gW\nA?\Z?/????P???FV?\ZX??s3????0??^?޴u???.W:????ZG1?=??H`?/^x2??d\n???!?cZ3?Kx?1?~J	?kk?ٰ?U??!?h???RRH??????9???\rmhS??&?q\'???,T#?\Z?p?,?X._>=|vO[?\"T?.}????Ǔ.?????p??h\'?p?7??F??5*+F?_????,׏???q؉?\r?E8]Ch  U??:e`?LIѐ?n7?0?)C?<??ky?@?Cg???_)??1gX????}?ݱ????C?T)?61???b?L????,?e?\\??<???V:?Zru]Y?x??T???܅X!Q?nS???j??u??[q????ۦ???\nק?օ=?B???7?d???Z?Z???n4*??4?/???2:???}o??59?+??V?N<6??ҾKQގ?]l?Jh??P? ????=>ƴ??v??u??~C?%G???/4]g????????:?Z??-??j?E?ւ??-hM?wV+?,uHۀ?]rC?`????\'????$Z1???c9????N?@v?9]܉!A?L\0	5??E!8HBh????Y???|E?qh????:f??8H???Xt35$?>X?Jq<1Njz??????(?e???E,?b??8[?3\rOt?@/?B???괎3??*?2?AG?Ռa?@?,?_???H?R?????#l???u??Ÿ?Reu??5?OE?b???C?k??fZ??@?????#?U??n??`r>????????????????????0\0Wl$O?4$6?L??i?1U^?\Z?7???6Tl?U?????SmaIs????????y?A?r2x@?~:.Ʃy???Ӟe??\0?|?_g??@?ɆR???x?\n?>?5??-?ajcz?????Nb?sQ??}`B?~?oތ???l@??Kn?/AԉRJ?LG??n?\"?Xԍ?I??܅??Җ??t\\R?I?4?uZ[L?}?y?p?f??˞#?]??#?c????=^-???p/??۟ArK????T{=?]{?W???9Ŭ????hi????$e?^-????*\"?NRP&FA\n?4???,????cV?H??Jc?ю?????>f,B?????0?,?%:xx?8`i(\"??Sk|?|ү9e??????V/U??/b_Ar?6?B??k??t-?R?I+??"?.??:Z?D	h?K_*?6T??`߳P_??\n՚n??su???t?^Fz2>@???\'/??NH?? ?PM??E??F?D##a????e???ރA?;?S??-??Y#??FC\r??Y??\n?ѐO??h(?>?mu?@=4?نS/???2?2@¡???$???ӣ?$??]??????SE~\ZJRF}?{J??h?????????????y???=?&??+??\r??B\Z?-??K?`-?h?\\e);?Qn??a???????<{???4?yt??:?iҔWX????`??,??}??ho??i?1????[?N??4w:>}|xx?y???σ???????????k?Z?g????'???4@սO>??\"?.R?)lk???a???:??6D?It	f6?z\0W???=?WE?Ml?S?qТ\\=?ţ??\'ǣx?	p?Nr?n???שG\\?}????}x?:?????\\????R???ǋW?8y??S?}z?:??\'????K??|pD???I?yC??&I|t?????[?k?O?u؎h?K?ע6#?]w?????l?G?????2??W?괋??????[N~z+?????wA{|??O?qP????څ?U5?6???r??{????t7?????T?w?????o?RI??{???9?G???yQ???q.\'????8??a?(,&S??Y????cf?/z???/c?؀???b??k?8?k?V?^ݽc???{o\\??ӕ???|?X+?XU?\"\Z??D?7?d???????^??zV????Nhk^???????xZ??BQ??ڌY1#o@6?Z.o??NG??<?L????????4?Qf>??!~?]?(8??|?ԓ???p?a?d?/?%Cqx????.????G?Y?ט??79??N??J.??e?pA?4?(?Ȼ?fĥE\Z?18????f?L?ô??ia?5?햳Okڝ?%?Ofa0??????sy???a???#?t.?E>?j)~f?b?D?Q?I?????a\Z???}_?I	3Oϫ?@y?M???f??NtЈ-?ф?W?}??RY???AI4??8?;	`???#\\qlE????X???%\"??`??o?u?0??i1?;??$?ir??͋?0?kyR30??\Z??Ԃ\Z???&K?P?Qx??~??Q???کO:??{?0E??#=?<?05?E?R?????*$??Ɠ:?\n*1??%??훛?6???\Zܫ??\r&ӀNc/C?.???m,6Mb??%m?K(Ɍ???????[?G???D??W\ZCЃ?Z?A=??u?/\'???\"ϗ??=?7?BAa???)T-%6oK+\Z|Ǻ^Gܫ&?b??????6?xp i???\'W#Exy+?)%D?Ţe]?am??o?Um+˘?f	?Fq??L???`T???G???@b????L?K??~U?	?^?ӄA	J????l?vD4qF?q???Mp3??(;R?V1`+um?????-Y??ێV????,Y|DyVi???,??&A???<A?O~Jn?i?Qv1	?W??O???MI#C??pEb2???5s?:???sP?7??_L???x???2?R?rxW)?\Zm]P ????*?\n\\ƳQ????bݎ???????#?2???%FP??>cd\\@??Eꌂ???-1?\\????????ꭊ\0??1??F??}v?z???4????Gg??7?????-????`?nw&䖰(???_??b\\R)?S?D??if??O9?e?V/?U!??kG??*R*t???3?q???ߧ\'??:?O?\r?km??W???g?ZeT??S??^O?Q?>+??4???\Z???Ї?xୁm?*2?Ⳋ4~??^;?u????x???e?ÏIr?/t ??????)!0??$?F=5?\\???]??4???/8?a??w\nmS1?Ox}F?|I8??o?Z?p?GGB?X!??;2,?0}?9\rn\ZC??#????Y??Qm????6#h?qn?+X??kl?O!???,_`?'NK????y^?\nt)???????~?*D??6??ې??fYC????\\?b?>?#??\\\n???r1_?)??z????Ŋ??n?\0?????߄????:?ƐY?o40???Y2\0%&nV??WȨ?FQ?H~!?w??a??rc?Z??&(f???????????ڻw?)\\?pn&??;<b??,???4r?sQ\'O???Z?uv???40?C??????0?f!_?GW\\?Cs???0͊06?\r?y??B?R??	?y???v?H?????w?F?_\Z?\Z\0Y??ww????E8H??&\rI?b8[?j1????rӛ??(??<?F?J?GU???	?ZU????;u?>???\\*???v??-????H???7???\"l]U]Zn????Vz#???J;??@*?^lǊ?p^nǙqCJm_\r?ͧvH?Ks??ǻ?W?w6 Znh?.???7\Z??{?F뫎gH7?j??nw?2?CW?S?_??7???6??{???2?!2K??????::???h\n?\'\n???????	U߸?jc??????~f?m?B(\0y???FE&#~)`?p??k??v???\nZ?2d??ܬmD#S,?Ðw?????=?X?????Bֶ?yl?_xL?>I???\"dE??"???,Kw(@????!?biƦ?M????7?d???-T+??#E?Պh(?A@?.??e??2?E?F??B??r-???,C?:IF?a??k??\n=?U???v???j????????wX7?s?x?G?<?Aݯ?\'t??F?\r2?????Y???????`Ӈj$?5L???1?a??(?>hxm??a~_ ?\rJ??????Yd(?n{A^h\raI?}\"?.q`@????????vUø\"P.??T????2>GC?r?$?->????0d)(?b/?6?%??i8??cKE$??y?\d楘???2?yjG5????\Z?.~?????n_Z????4????!!?w\'\0?̍?%?)X?Gw???,??6@O???0(s??m??????C?,r?28????Y??{?\'.?ΚL??6A?n2???*#??~??%??]???|z??Ŵ?L@?H+??????888Ea5?Z?????ߑ?uV?&n???-p???L?Pg`????0?h????)|????\0??0e?txRs?9x?n????(???????????-?ƸcU??xC?Y:????/?V?O?w?u??W+Kz?z??\'?{?_0??H\\^͓)\n?\'EBݯT^?ԥP?V?/΄?K?le`M\0C\\?鋪??H\0hQm_6?&䗄Ӟ???f\"?\n|??????qԘ???x??\'??????w*Ԉ?(?i??K2????$???BP???s???L????D+ت?@???G4u????|QȖ#?R??>?<?QD?j?]????ȫ??ڍ+?????HV?P??A,0HS>??\??????Jĵ\'????Q?.???r ˍ?(?"M1?\2??s??8}ֺ͟l?V?	?`??,???.]8-Xϱ?????0???0zV?K???%?o@?~9??x?WһzW/67?%???!W缻.??&H?Y&/37??_7???K??Œ??(?;I?$rFG<??qTf%??[8?K!?HDї1(??bh???X%\r????\\W?0??????RK!_4??????м??J??K?!?%6iܰ?Ru>?[??E?E???F?@??X?W:Q1eP?}M]U??;???????R?-uחc}u?j? I??y*?K?Q?&\'1?qײ#?<??탡???C??j???V.-?F?8Y?Zt?Ŝ?R\\rπ??"???1????.A?\'?t@\0l\Z;?B?QE???y?8?T^?}sOy?L????B?}	5?ƎB	???"???Pw?b\\??\r?6??N?;??\nZ^??-??????q/????\n??????QSl?곘U????V????RIh?Dg!??\'?9W\'c{?n:?έ@2??????σ?)?ߥ!?F??7?m*߱iF<{˟??Hl:??\nU2\Z?qrh???d???9٫????]p?#????_?jk?F??m1????̦M??V0?d????\\?9?5*x?;,????n-??-??|????q??W???]?i	?<???????N????tQ??\Z????~?[??C^⻎?|?*|?S?????%q?X?n?g??jm?\\Aˀm?K?e(tM?y???:֢???BjSXo???ILx??T?sS?e?\r??I?dܑW??\'?j?H?!?????Y4????????\'OÃ????|܅???O~8?a\\{??S?o','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:136481d3e5b25a7f711a49b5e58cc216','?Z?R??{y\n??[Àg?sS[@?Wa?[H??il??-?$?I???Gȋ]K??Xc?m??V???%?Á????8eq?$Q<?ė?%??H???	??d????z?$	???W??l?e8???>E\\ු!i%RJd1??????'?eƓ?Q??????)фD\\?O?R??ϒ?D?Oסv??r5d?*?????D????Db?????????i??8	>\'??`]\n?e?\r?w????N*??L`n?????n???\'a,Us??N&(?_C%{?O\"CBq???6?H\"????\0b??c-A┶1??#3Xä?\0?,J?fml`?$?Am?J??V?????.?o?)Fv}?L?3JI*Hc?\n̘Dc\n????1VF????$?k5?I?-t??1?Flv5&?<????@S????\"?f\n??Z???Z?2?^?$h՜J\n?!??G??9N?ϵ??U?SyK0m@mԪ??6??????\r???\'????Nج\r?R?1???U`???p???(yl]?=?????2tzədr?????%?P?,???z^랭??ht?N??R??`\\??O^a???׺?%??V??.???S6%ء?Y5 fp?R[I??B?d?My????(B??T@S??p???ƨc?B{?y|.{3#Q#??O????| X???G??c?Naa????Q&???????鎖?!B??`1;????a?m????b???WA??mÖ?0?r???/??Q?QK?e?%y???,R???BH??B?\n???{b![?>??"?|jiFZ?Z?EK@??J??V?%???????,?????Eo??H??l?-?m?ST??+ә\nq?H1?<+[\Z?.+????t?r??F`?gKmW?yG5?Y??%U]?q??4ݒa5?ڪ	?3JF?{???~?Qb??`cɚ???k?6???%j1??t=?Q?\^n?>!x?ʧ?>?ph?4!j?Y?L??]t??????x?bb?\'??`?rC?t??Qi,]?R粕??$0?z?AVo?#jb3Ȕm??nx???{??8?a?q???;U?̅9?}ek+w???٪K?nGȟW,?j?R??M7a?!C?Yr????0u??b??oɬU?F\'??2Ϡ??r8???,!$??o??# X?~???xŒ_2?ʜj?s6?_M!U??\n???ӟv?Q?;???i?D?2_g<g[M???U??9?????\0X|?r?>?ȱ\Z??@?zϩ>m}F??c)?[?v?>??(?a??p?V??"??1/??˲?$UBS?0?ԩl???A?s????1I*??XW8?=?c.?O?s?)?JS?I????????N?;h?[tը????Z?@}@?FP?????<?mo{ͳ\0??eY??Xy???a? z|W????n?L_j7;???v݃?<K??_?;??bX6?Ɖ????!ʨ|?[m??n??`:?A?3Q?	?~C<?#??~ш?FsU??b~??E?XH?%N%??g???)%l?h\r????B\\???$F#?????rs??\r3??\'E\\}Ž֩	(?oO`???w?|C??(??"?????s???Iк?>Iu4???%?R?bՃ???[.T????j}C??	?j?j???=?Q???T`k??E???S$??U???]???\"9(ku?.-??c?????5B?u|???jJ??h?XT?@j>?`?????{??*??R?B????????\n5{[.????lc1??j?a??(?B?`???+????=0?\???\\?*i??Tj5?????J??sAx????u\0??????֝h?qYx?T?Z֔X??(}(\'n???\"??e?q}????D)>/??z\n????/?V?\n?8%B???Y?~????ѣ*????????+???!x?kq?h??&*\"????H?????$?h \"L|4yP{?:EɯL?.?xǫrVW:\0?`???????&8??S?eY?Q??(?	?P<1/\'??sU<?ȟ<(T??a?P??x?4s%????$7?U?n^?X@??0\0??5Ǩ????,?̚Z?>F5?,X??N???@??68??3?M??~?l?TTU?	|??K2?Ugs?e??	7?O?667??b8?uPo8???o???o?0?'?\ru?;??8=R???\n??C???w????:\Z??QJ???E?????u????}??J?CDU???k?????\\????x?)K)????&v????$$?o?ov???ި???u????~?_?q{???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:21abd0848c0104ae8aee849116bdbe3f','?{??????ň?%??????$???g?l???(?1%?Iʏ?????'I?????c?*\0?B?\0\nY?????gם8	?ډf?8??????2Lo;??pt9Ln?\\D??m?.?d9?2o???י?0|??7???\n?\"\r??nH?????W~e??!?.!tWѤib???????kx?@?P?? ??\"??E?xcỞ?v???????#^???<O?+bB8???H8t???kw??? ?????2?GkHh~?7?w0X{+??;?oIr?v_1??;e??????,0%#>緋0??c???I4???+拿ww??\00?.?^???Nx??????\Z;[~ ?\Z\rY?\"????a?:ww??N??r??K?F?b6??????BH^׾?Mw?ߝ,̏?Yؤ???p[?>>x??y??v?.tkg!?,?B?l?@s?EՇ\n? ??~\Z%:????\Z\'? ?+?<?4?c r?B????,????h??&?脤?/???q????E2Ga$p=??q??<?M`t:?dV?)?J????Pl?QH\0u\\;?\0?lGy?@Q?$m\"h???Љ?4?D??I??ze??\'љ?????Ì;??7%P?O???y4?K?Q?i??a\Z???z-T?AR?f?e?6???E?ܨ̽ٵ??7ܕ?*??.?F???]?\Z?^~?^i????A?5??{???8??z??????0\n??C????u.??L?q??Y??g?(?m,??P?h??<?!\Z??k???_?5\00[????Y?\Z?׷??!?F\"?j?-dԸ#,HL7???d??\r?\rM??o??4A??u$H?AĂ?f???|??o_研??[؝y??dH?0????n\'˓E3Oaj????˼)?\r`u?I?R????蚠kU?Ǝ{wWJN??G?? ?_?	0?@-???0???B7??qpU6?c?????E?T?vt?*_?-6?`V^??,?e/??ѹF[heZ???????$?g?ak>?<J??1?r??Z??ҿQ?????I??aV?????~?=???2????A??ˠ??V???jd?.?dX?9??pLԨ?Iس??L?f4?S?AVi????8?P??\\????n@$m?_I?!?(\0\nJ.J9h??ɣ??\0˙?=d?Az???????????Zl\Z?M.dok?0???mdH?gh;??a=Z?]??f?g?4?HoJ?\rW[??????`?)??r?	ܟ??Rd???2مyni檾?ʚ?5????h?'????Z?v?M??????ͮ??V??\nU4J0dO???P?HÉ_T?j?x]?4:??\0????^)H???6???Nj̇?p????3N??!i-?4T\0H???Y?@iA?w?j????<?????q????#??9?4ay )6?⸾?Y?!???_$2Nhl??uj?14???򎧓?9??0?6?'?>?r?!jf??H!,??qe?c???H?VVU??k??,??\ZKwE/lV?н?5jWh??K{UOm=ak)O??Y?sr?6?c??\Z?W??\0?E??̍v??1?Ѯ?Ǧ?i??G?1?<`Al9???.?/KC??&????????<?!7?(??????\"WAl?{????|_????\r???1??s?+?Hj?ڪc??j6?L%???{??;?s,S?~??V?+y?aQ`???1????????M]????????4+=TY*???2??K?<oJ?0[?z?G?ߢˈ?????j?YM??i4??5\'[??<\\o\0?A???,og?-L?z:???????X?o??,L?Q??S?/ۓ???4̒e:\n???S?ßY4?&???????<?v??<}t??????????x?t^???h??$? ?{u[???0?l\0??̲`\Z?In??????W?????????????\r?2p?r??9???r????F?JEE??<z??M???,?#l???bc?????zRa;??\n??<??C%????ݺ?0?L+F??r??\0??9ka?\Z???????E?Ϭ$ť?%????sWUX?I??:Pg8???????S\\\"++G????????bR???\'T?x?biQt?Hos?U?0Ț???vf?k?#?N??\\\nL??2?ݥ!mH??X??d	5?P?ku????WQf\'?-??\r*?@?\\t*{\'??\0??z4w?W????V ?;??S7?????????f /?$O+??@em?ʔ????i???HF?/?՞?e?\0?~??:?4LR???-K????4?K,q>F%???G???`?\n4^???]\\?S!????h?ft???!? ?y{t??M??Z?(X????qN|1??G/{?g??d<y?|<\ZM?φO?{???&??i?\'x?U??H??.??00???~??p?}????Qk???־G??-?? ??????N?N?B4?^w<?A??\r2?1r{H*??\"???Z?;?͓?պ?u?Nۿ흞?????S?~z?׫#?(?>?	?O?cIrw7?s??3O?1ta?C???x?rC?Q??z???v?O?+??o??总;????]\\$*&NV$?\?J2?\Z?`!?B??R\r?J?P?J?0;?%3Gi\Zm?7????cX2SD??ݮ??ժ?o{??????Dg??UH?]t?\Z????X?Z?kX ?E?U?9??5w???}cz։,????8?T_????[?ɂ???v??~?f??C??9:A?3?W?-纫???0He??V?0{?i?U??=I?\"j?t\r??E???-????*?^??L+?w?n?J????h???????/?r??@??r??j??_?$?i?`a?Vׄ???YX?2kB``????\Z.???4_,??@VK???mh%????,????k?0??i3t??H0h???6U&???6F?%>ï?\0??????'S?D?\"?%uxL;H?7????\n?x???c??&ȕ<?5k?\r???n:x~?%Gsl?@-ތB2??G??;;?C0#I?]c??x?????@;c????\"%w????\'t?f?????u??????y?C???2?nO㱙?q^??t?"`Ԩ?圓????͂??'\ZbC.?rZ???OO:?O???A?t?????<I?Z?G,cE?[N??n????E#?D???.?UA??\0?0UQS#??r䊍?Q0@L??|7?uY???4M??Y???	?aݧ?+?3)<!#???<5?L?)???s=?k&??a?????ed??hX?(?	p??N?wPJ?%???????{;?????#^?q?t?G??f?x?`OH/?2a? ?????`???}?n♧C%?sݻ?]????2;E?????X?Y??6\r5+????q?"d,Cw???g?????@?m??	a??????Pj??5?	??y(t??@`???g徴??{ݻ??t??f??w?C????j?xYxn?\"???o??Kg?S?(???X)@W?_??????D??t??⻍8=?SJ>??z??s??ї??wg???VE???\n??\0e	m?*|?????\"S~R?iL?B?ۊΓ?s?3?,??Yׂܹ?v?~??\\?Hj??bR????\\???n????W??)??K????Fyx??????????asF?y\n?????1??????5rX*?\nn??.?OY??E? ?c?@Ȏ(?_j????????QU?sET_j<??j??ilM]_Fi???m??I\n?l^N????ء?? ??N0z\0s=?????̼?0??i?A???hF?C?????S?&?[cۢ?g(-??? I??^+rX???p8$???YXI??6\r?AE?y	wP?Q+۴??????r|?????K\Z???FJ??\0۪?b????4ޏ1,?Vh?a+?H?i?02?]?????W\\Qԉ?~?WXj??zҾ??r°v?2?y?0`\n?:\Z???Vn???Pó?0g?	y k???G??w?S??`B??-?e?r6-݊7I??{#%ۘ????bOj??ݵ ????¹*???,??	???*=\rj?z?w8?<??<??Q?޷W3M>̵)+??+??????F?Rgl?I\\??S?r?Ď?0??i??WVL???1?\rW,??????AP?P-?F-GA㩖?np	\ZM=?k`?W?ˆ?N<?P????Z?Y?ہ???ㅣ???m\Z?Q???? qtk?DU?$Ɂ???dW??xH	#?!ng?=?\r????????zH?Yf!????`???ݟ?@?Qp??񗟏>:z>? ???/????;??\Z\r?(NWa??a?6	??fԹ\Z\Z|?x9\'W?"??z?>Bd?xo?FJ??2??z??o?Td?\ZL?Vf???v?t??\\<\n1إ?ww??)?????	w??G*??\r 0?h????fٯD?-??g??@??V)???Z??8_μ?=S????̛9od???e@d?ȭ|???M]?bV???*\n?-??3}????0?N;???h?.T\0?*?P???[XK91+3????L?A_?\n&(?/X??=B#??npڎ?=4??E>?i(#?K?o?x??5?#@??ᒨ??=M??3	?\@a???Zz?;???????Ƃn4?Ü~w{O?>{?݋?Go??????_?????}?????????;?`^?^D_/?<Y??f????K.?$?B?$?I?\0\0?L??5?X?<ID?	:zBꥭ??[?Q*β*?l??M??<???eVy??	?n\r?\"L??\0?0?[ :cOĩ??\r^+^z???hz??????8x@y???Ã%?s\\???!?e??R{????E?K?*?`?m?d3#*r!??\n?o#?VS?<f?Ԑ%n?9?\r??????2<?E??\0ő?I?@yqT ???U^fG?sh??M??t???*В(???#?(?3y9??J???JP?}??R9VM?g?n??EY?J?Ѡo???*?D̈́)$!݁h?8?t??ў?????㹣?%?>p?1M??s?h??`Q??N??0D?	??n$:h??6????0????*?\"??_H??<??jϷ a?d?1t????,?f???@?r?g?R??y?Z?r????ۋ?????F>?m?r???????8?W?x??\r?Z?ccp:M???Nct<???4E???0???-??fX?D??@B3C=`?cn?kX???3?3?&??E?bvw??v?4?嶿#T,?&QL:*???H`?/>x2???4?$i7N????????f?????\n?F0?q?JI!?m4@?#???ihC??8o? ?0???????\ZY0	?H????????????????<ލ?ι???!.?9?\Z?枙?Ț$7Fe?}d????<2?%?o??q?\\?\"2{#i??k?Y????{6??`J?F????????!?+???#\0	???H>??w??q?H~?Q?h(?*eצ%?M?1?)?"??E???ܷ?w???΃???\\]???-??q?\">d?x!VH?+????5X8??[q????????\n?????[???y|?<????\Z??\n\ZA?M?Q??z?#??ߙi?MN|a%????|̉Gf?R??/ܱd?-2?͖*???.?7K?˓#L?i?m_?,?U6?[Z(?????????>]Rwwێ?T5ā?Z??oq-ZМ吥I????!T0:/}?b???fHE?ӡ+????7!????^܉}???P?:	?`H??,?CBCfb????G?\"??C+4T?{s{??????б̢??!????Z\Z?????>XIe?1???k?\\?j??5?x?8d???8?\0???\"?K?t????$ɲ????\0??M?\n?/?\rws???,???x?T????????=??W6G?.?\\9?n??o?>?w??J?,?&?A˃????o\'?=:{|?<sZ{yE????\'?5\0?^3?\ra\r??X&??јuv?\r???X\n*???K?j??[X?-?k??N??IF?{?P???@??t\\t????e?4\0????Eg??@?ɆR???xc]?????\rSs??\'????-D??!?q01`??????l@E,??ӗ ?*????B?Ҋ??bS7Z\"?\nӏ?ٍF?-??"???%9[??im1???ggu??yX\Z?y?4v?\"??I\n`?a??N?px??nω½?J??r?[?Д?:????[TZ????o????5B?òq\"o??`\nSmv?F?+,(???4}??<??????o??EN??0??}1Y?O?r?y?(p?X?x?`i(?S?k<?<Ԝ2Ey/?x&zC?*?/??G?4????|#??el?r]?ԂT`?~???K??Y?4D??J?\r???,?j?B??[??,?\]P????x?#=???P0?\"?-K?"?E??\\?&Q???cQ??	z5?n????#gиh?N??DF??t??,??Co?J????Bh4??4}z?????\Z?cQ/????1?2@¡?ț?$????SQA?.?X?:zͩܠ\r%)]?iyJ??h?a?]?/]???rsoϕ??M???}t??07\ZFG????\r??-??k?`m?h??)/ƍ???<(??Y]?N<{???4?y?ഺ?iҔA?r??e`)_	Q?f????t????Y?>???U]??+i?2z????\0{???G??r??_\Z??i{????Vw??{\0?>yz?/??@T???g??v??Ma[?M???sz?k9t( rM??K0?y????1\0?$5??m0NE?ŭ?r?x-e>_==\Z?aua???x??I??b@??????\\?}????}pvw?8;<=??_?????o???????0???yz??<????????k?8??{??I⣻z?6???؊?X?\"??D??????????`???M????+Q?\n?Y\\?2??'Xu?FU?????>???(k?z??\'g???5?߭]?uW\r?\r??_S??????:?U?q???????G?ϟ?RI??????9?ǘ??ySO???\\N??ŅIqG)Ü?8\\N?8??????a?????;ve??8!???????b??0F\rd1?????V3?o???I4???77?$n?a???#?\rEt?7l脞?-f?????ښ?@65????{?.??????P???6}V???M????6??0?Ѽ??O??,$M}??/R3?_?.\nΧ?t??????h?&Y2?h?E???G?6?M??O?Z????{}q#;Ƶ??\"??r@??ӓ@`?f?y%$??9qi?F|F??????z?%L?´??ia?6?햳O{ڝ??_f?y????a???!??X?????k?L????u?\'p??P?C9??NLB?yrVM?????f??NtP?-?фԯo??Ư3??n???h:G?z??l???0ݣ??|??Nc??G=?t?W??/?B?4???Z?=Y???k?\l^d?\\˓????mok?Rj0v??\\??U\'TO?9???+F\"??\Z?O?L?{?0E??#=???05?E?R?????$q??k?\n*1??%?7??6?P?ht????4????4???? 深??~???k.?$s???|?·=Yn?oʅ??S?]i8\nA?kM???kut?~?¥y?Xm葽?\Z\n=dpе?ؼ)m45??GDb?K ???ZF???]IZ?????Z?F?0?.SJ???e?%????t????e??`? ????k\\0??5-?\\5??.t	??Dk?W??? ?_	?>M???? ????MԮ???!??a????	?\'_XeG@??*l?n??RW\0b??9??\Z??[ɒ????Yv???֟W?ȓ?|َ?h<??ZV????8?L?}???֔t?d?w$?F?I??ÜηN??;???YvA????%0U?VjPv?%?ς?m?\n???wd5dxԁ!??????9t???x?????? 䈅KHp??#???\n?12.`P?"uG?lyǖ?W.@:?????n??~?UE\0]˘?Z#O&??p;?9???,???(?ǧ?O6??????????7??L?a?/?_?>_?6E??R?g2???s???I/?q\Z???&\\*y??i???H?0?*???m?\n?x?}?????گ??M?j??ԂA????:?xk?Y?\"J????؟eQXkRV=o}?v?5???EfW<??=??Ig???w?L??s?(w?Os?~H?K}g??k???????L?`?`0?$r_?v???vb~?eę?+E}?k???N~b?x`LŻIb?H??r????O???+8|E?e{?E?Z????uc?ѣ?pd씥n?ՆZ??fM???UecK??|M???????\0,??i??3???!G?RNΫ?b????5(rC??????4\r????5?]X??+??c!?7r^x?%???s\\$?M.@L>?????.n????'\0?|?z?????~?Jޭú??????~?'?̓!(1?U?????FN?H~?DX0?????????P???%Ei?}???,R???\O?%??x??k,?????\0??<Y?nsCMl??v{|???\n?K!??c??7???|?Z??_?iV?????X???\n?JU?&?????]a- ???P???(^?????xw׎\"]??7???9\Z??7Bw???H׿+\\?f???f??????NU粃?0?????Yw?}Zw?TJ??!F???-???=H??7????l]U]?????Vz#?-?J;???C*?^mǊ?p^oǙ\n!?v???;?????v???ZV?A?x???\n?q??w7\Z??Q??o??U ??wW?^U?q?o?T?(??-?\r}??????l??B??ڎ?2?[??󉣝{???p?E??x????B8?P??6&?`?)n???M??+???M$??g?/9,bq???I)?e??!??E^!??ޡ		????y???Y???F?Y۾?籱?V?R?I?o?-?v!+ܬ?q?ֆ?#gY??\0E?S\\?n???\'B?\nҌM)??E\r?C?d???-T+??#E?Պh(?A@ԛ?gU*???a???a???\"?\\?e?\'I?,?\"s-uR?g??????ow5???????wP7B?n?0???p?k??O?x?r2q??!9?o???%,z??[???j;$?6L??\0??0U???4?6?(>ԑx?%?nz7?x?obJ???ZCC???K?;?\Z???4z?\Z??ralz?H?2????/?*??v?ρ??aE?Y\nJ?8?6??d	i,?4?Jde???o??<dn2???[?????\Z#K]??Z_/j?f0?;Џ?Ԟ0??@+??????2??X? ??ѳ?!KA??	??????\rp%??\˅??6??Jlc\ZġB9\"?chg?]2?{?\'??gM?c,?6A?1\"?0ơ????q????????.?U?i???r?V?i\0	?\r?Ӷ?(pp??????F;??Ow}G2ֹ?k?:???OڍwIa\"\'??=?Y\r??G?tM?ΒU?\'\0p揆?ѐ)??@}ap?9\Zz?\n????*??????z?????M?߂??QU????V?꼗v+??bh?;Kz?z?Ed?}?L~&$\"???B??P?????J??\r???prk????	??kY8}Q2?	\0????|??a???,?d.<o,???j :?yG??K????үb??g0?S?E?D??%[???aI???鿃?6?V?T??i?[??f?h[???h?????\n?_??쓋3?d???90(??:)??Ӹryz?*a??d?E.4\Z?\0?4???r??lpR????y]?5?7?/???0???ŜT?)&?[?`؟?fn?eǱ?????v?՛\0v]=????r)??`=?r??ّ???????Zɰ????\0\'_?)???????r\\\ny߭b??????	????d2#?Ɓ␔?f	ְX?? q?{???g??Z?=??ܬĂ?]???Z?NG??Zt?>=쪤a^==?\'???\0??̑m;??E??>?<U]???b????٧̸\'??ㆽ???A???.*\ZWU4*?\0?B??\n?xŔA????k?U??t???	????w??oF-_$)?4oEZ?h\\????h<?숷??\\???}1t#??~(G?6?{?????7?Z?N??S?[j?K?P?X$3?s??????xS?]???ͦ?EPt		?\'>?s???7ϔG?????ۗP??? ??[xt:??A?[3_8???????T????h???OF??b??X;E???*???1Ŧ?>??)_??nw???T?4?,8?Y???l?Ngљ??Vyy)d3?`t????@?Ct<????r?6?cl?????M?M?%?B?????ھx?\\2??{Ŝ?@?/?p?#???????ey#Qζo!n`}Ef?U??+?o$2???????g?\n????BK}x?/_?E??#\"^??Yk\"zhGD??4@1,??;ۜ???Z0??z	~s|????U??(?>N?!??)??f?O,?~?2|?S??\'????V??q?	?V??nZlS?M ???F?u?M9???Ԧ~dr??+?"EA?9?????	?`~??9\n???4?I ZgcS?\r?TWao???/??H???n??r?	?$x?~7	??"?H:?L/a	5j??A?3??͂h?Q$$v1????=??V?T\Z?"?\'?\"?$S?*??_?-???q??\Z?He??/J8?X???!?RE8xPҗ?p*??>???N?????K????(?FO%Sd?\'vL8?T??3d/??`Y????/?b$?ѣhV%?gL?\\u?eIq??$z?hE\\?K???<?Q7?????R?Bq_?\n??[??Ykߕ?$?!p?0п`1\ZQc??C}\n??W????mC?????z?\n??????,E?jh_	??$???!Bd?-=???#?z?\n*6??I???ŷS D?]h??o)B????Ċ???????f??????A??ykN?d??ܶ??\'????&EV?*?.?U???hPh?\r??\r???x?\\?????<??????\'[?G?p???=O??-PlWϟ?j???Y/>???S?L?e?\0??$????? ZD?|$??{F???:!;N~H??\'??0?`N??`??sA9??4????<??S?_??}???f??ab??-N?w0??!E??E?l??e?Y??:|??\Z???.0??B??X??Fx?\Z\"]??\\?hY????????1C??ǦHVk??{?????MR??h_?-Ld|*?fi?????V?ܴ???\r?ݔ?g???&0??ş????h?0?????ﺸ!???l?[??\'\0?Zڂ?T???\"?t?.??qE?u??id???zܶ4؀??v??h???O??0?)ـk??3?]E?Ew?P??`?????*H??%]Z3a?hZ8?<oK???A?;??S?)?)???Z/??1xP\'???a?+?$ϓY;??y;\r?2?;/?@\0??\"?KH??%?Em,??????&A?߃g	??^t߿?`(??,?\\\'i????????ԅ?QA?W????????Z?$??\Z%??I/ۓ???(\Zdw?????A???{?e???????????`??a??7\Z?x2z????x?t^G!?????A??ج?ti?j$??H?F?n8·u??j?T??Z??? /?J4?¨??G?????????/F??i??[O_?zχ??d???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:23703202f5701c31a5f29914d79ed806','e?͒?8??S:mg?`c?r??R?Ԁ!y%a??????????4?JOǤb?2:?/???š???@?q\0????J:	?*&??QyF@6????tP?h?????D(?\'??@?E????_?????+?ot???66?m???!???=???=?<?~??{??X?ՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B?.??!-EA????!V?????????|U???Í?f?A???+UJI?$???5u=5?AH?%?P?NF7?[?7??#??J?80????J??\n??8`?????f\"Ռ??\r]??]????@?????R?;???]??W?rߜ????Tlv??????\nh?????1t??\\$?J^q?AT\'D=?<\n1n?'???[??{??0?s?\r	m??zz??>P%????Fu?(^\r?C??7)t?\nVB??????a??W???Uގ?RV5?܆d;???;rܑӎ?;rޑ4٣}?>?w?<?G???}q???;?????,E^?L`΋B?!ϱ<b?M]fY???tj5%$?xn?1?p,?2yZ???????Ј?8O?zx?!G4??l?????q??x??I???(~???ͯ?gE_?im?U?T?c+?IZo_??Ze?)ɳ$k?S??????U???????{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:256ae3ddbf2f87b3ce6ced38ac00b711','?Z?R??{y\n??[?	sS[??-????l???m??-?$?If`??Gȋ]K?X6!???d?Sw??u??ю?_\'?)?ģxf?/	K66??p#A3!?????I??Í?NO~???5???q?_S??}?H)?Ř????6?p,3????\n|?)?I?A??&$?mZ?*?}??$?$x??3?n?!??P???#\"$?WW? ;g?;??????n??fp?L???҂)?N˒?6Ry?BesD7?È?,???å??.??Jv?D???Emm?ݑDg؇u??acw=A?1??3Xä?\0?,J?G?>6?zш?>Y%J?+???O??e??#?>D&??$??~fJ?)??/?k????pɩ??Fb?r?:y??;?-.?$?Ǵk?n4%8i??Q?`??.?׶???A]s?(4??;b7?`??8x	~???????ij?V2????<????}@6?4?,O??\0???P)E>?2\ZX<]\rv+?}??????ޥ??>?l?:??2?Lq??ϒ?6?DEXX=?u??䝪ӱ??T&#??ꓰ??b}?nn	r???????\n??D	t??$\0;?+]b????=R\'?m?C??Y죭?????-?M???:??r?X?fF?FB?_???_??@&???0???g*?ǘ??Bi???j /??@x???G?t??!?????}k?m??װ??@??oӫ??B>?aKK?\rr???/????9Y<H?A???E\nb??U???? ~?????\' ????ʐ?????>???p?M!?|\ZJj??	%?\"??,????X??wxI?E?UVfKU??թ?ig:S#n?\Z)?e+#?Ű??i?N??Q?n???Զ3?;??,?ꊌk?????OhV?Q?m??K??F?E:???-$k???_0??}?!CK?8bP?=?)Q?\]n?>#x>???>?p??4!?jy????[dO+?H?1ӗ? H??0??ܶ=??\n??窕wPq??d{????2e[????[n/4??\0??\\1=N?X?.?Suɼ:~?sw?n]`?u]?`8B??Im?*{D?݄?%f?\'?????????&?^U?x??<?Ҡ?|?????f	!????F?N??@?±?\"?????p?%?z?u*???B??vpss????w$7>8?\r?~a?θζ????(!?^9???4??\0(?k?TA???\0?q????>??ל????{}?\rUMTհ??ߨ?K??Wu?i?eUO?:?9??C?5ňPɠ?1?sE???%5??F,?k?͏???ħ?͔???????\'i?????,$N?;h?[t5??w????@}@?FP?????\\?mw{-?\0??eY??Xy???a? z|S????n?_j?;???\Z??;??Qvt~??a?\'??\n?(??d/?!?Ej?A??΀?A?i\'?3?\r??)F?^?\"??FKU??b~??E?XH?%N%????n?̔6+[?囦S?%???`$0?\r{??6|\rC??q?IW_q/ujJ??\r?r?? _??\n ???$?6ه??#\"	ZW[?'?????ā?T?T??p???<?wk??*v?֪Z_??|????\Z?d`?j?U[j?5??F???S$????Xg?? \"3Er??5a???????כБ??\\#dTǗ?z?nXM?m???nH?L6b??Z????RJ/u}\Zhm???L?P??5??tw?m??ݑ?Zm4??:d,?i?j??c?Xw?,7 ??4?j???IK}???Z?????q??\0ݯ????M(?Ob??Ko??????Ъ??????5q?$?1?Q?h?P??????[?(??$VO43UX?j?@?ǠD?ҵ>?Zޯ9?5zT???Rಡ?ex???????}?0???E?Q9?\Z?q?{???!\Z??D?7??Q??z????????????????R{M?N`??Y?E????|.^\0?/??????\O%?'\n??}(_&\0?z?/?l??V??B??Rմ?K	??D???U???E[??????˸??g6gh???UB`?c??2q??yHEU?ޏ????$3\\w?W7?6??p??$ics???,?s~8W??s????u???\0??ÿ?;????*??`QTA??b???K?/,?ˉ?_?Rz??.?f&Ƙ?wF?ڹ????V?%???L???W??kk???ȟ?;?t??????\\?}??V?L.?n?????x7?p??>?q?{???o4Z?q{???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:26824a89365a40f4af7e018abc19d2da','}?]k?????nF?Ӕ]9v??? ??Ʀ??????y??Z9???M?\n?\'u??S&\Z?	?0Mcv?&Yy#B?<Mv???0%Y}7av??\r?>T??*?k֦?{Ն?N??`??{A^?4+?2\"4?n?!????????7?????H???X?lk?? ??`2?®v?????????c=?Ն\Z?ڇ?^?TH??V?~?????b??\\=.?LE???%l???2??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:285912070b3dc9e1e0cab6c5efa88e4c','?kc????\nǓ??Zv?î??fڝ?????}??+˲?F?<???>??\0???????ww\ZK$\0? ?$H僧/????????8̺???0)???av?r??z????&??w?H?\"J{???w??x??ngy??yޜpH/Y?S?𭸊?>u?%???????V?????????Z?????9L??qxg???v?????Ͽ?J?v??E??B8??.O8???5???3\\r????%$??Z??q?õ????vK?(4ۊQ??Q?7~???)9ɹ?????????N?8w?????=?X?`+?\r9T7??GY?{??p??-??KP??`????6\n3k?*eu??ӓ?%S???/¡??Z?!?$?m|?3?n??????v??'Ϟ<??^????q2?%P??*	??\0?}`?d4E?$???\\??D]h??(?8?h????$j?Lq??@??*;??Mh?i??n?????\'??&????˫?"?.+?$/?_R蝖%D?l0?!?!?0?*??%??Z???{%?n>??¶?P?????z??q?L??a????Uf6=?.dJP^?r?=??)?1??\m??qXV??I???п??n\Z4z??H?0??4??y???1wg?ܞ?0????4???l-Ex9u?/?M??^q?ޞ?4?x??'?????\n?\\?C(???8?(L4?t#????}~2??r??t:??Ld??{\Z\'?Oi?XC???I^?I?4f?Ԯ??\"?Z????eX??L?[?`f??i?wJ??????)???`A|?Q<PkiR@?\r?\\vMƷg?E???E?\Z?J#b@A5ƶ????7??u???E)\\?4s????"??C?q???/\n[?(?h:???H@=c?A7???-g??$??d҈?o?ϰ??$0@??$4?ke?\n?\02v??v??0?y?\n??N??%*\0:?$U-?[??'_??Z?#Ӑ?&v????P?-Z????<??0??????h@?Oj?Fe6X?o???K?????r?=kmfû2?A?~3-??GY??D??3?t??؊c?C??f` 1Α?Iز??t?}?iH???????t?+B?YzS-_?^\0\")h?H3??D>P?zQ???.?l6?f\Z?????%l??j??????UXwk?\\?Vi?*??OPwPA?4T?????W?4?H-JP?-Gy??????j?o??ߤ6;JoN ?YEm???}d??s?׵%V?p:PR\Z??n?Ĥ?ן??KcR?>?-]?vA3?]?-?)^*?Ȟ?9?1??q????]???M????`s ???^?V#?!?e?D??F?|x??5g),	RFd?h?3???e\0?	-\\1???ު?S:?c?^??s????`?n??i?.?<?Ǭ?{e2???1??Zm\r]v?AXO?U2ԏ-?L?IҶާ0Cn0???9h|\'??????\????[?|?;4???J?????(?6?l???s?۫uT??R]??>??H???<??I??/?I?vE6?4ho??^?\0r??1???`Ѯ|0bN?l?????Z_W??9?E??U??_?_?̻?6????9J??p?Ҍ#&@1|?ć`?:,?H??N?uLZ?e?????+?W+`u??h?\n1???*????q??v????ߠyQ?;?qW??*g?%/e?!??(l???y?1xVzѦ&??,և???????J?5?ҫ!??1???\'???t????r?r=w?#???Ķ??~7??YN?/Y4?*?r?'[??4	?@?-?/:yq?!??\'???F?Wa??4??Fi~I<?w&??^?0OY?=0Nq??(?&?? ???{/??????ٸ7	??^?O??A??y???4???/2?k?MS????\0|\0xh?#?\Z?M??P????????b??????%????w8???d??G	???r????JEC?????O????Gh;oz|a?%?a?z?wa3Qs?J???????\\Vo?t$S#?\0S?????\0T2k?Um?%&??6??(??I?0Y̑??????L_n?38a?o?G???]]?+K???kM?t1?G?\n	)???r-6u????:?i???Ʋ}Ț!P???????G ?:=r?䘬???6??4u?#mP??ZM%????F?s	A??y?v????MP^*?\"?RYt\'`n\n?4ɇ?c???ӵ1\\1?JomUcɓ??.?\'??H,??ɑ?i\r5?r?嶮L???1?m????Y?????z?H8??????<???A0??5???????I??N???E??p?6?ktk4B???@g?0????ǐ?.????????(???I???pL|9???W???5????????`2:={???\rj????Hq?8???VC~\'???*x?Ȳ?-R{\"?????}??\\??z?A??\'.??8O??????+??B\'??#p???\n??????Kp??o???/׶??=i?w~??;??p??n?|??zQ?}:???Ƃ?n???????\Z??ޡAR7l?zC? ?fs???i??;ʍ=??Z???????"Q>p2CR????/a\0?%ƿ\0K\r??B???Yn?ΰWg???ϲS\\?????۰?d?????$oF?,*GQ=?.?Pb??]tu&5p?=?.?\n&&N???$d%&??????i?{=?j<??\'Q̵}??tN????1y???????&??x!??ܲ\\g??EpE ??N*8???]?TY??\n?Q??fk???Z^=m????Z??\r?ZקrZ?%Xc?ڧ?k??F??\ZJv??!??X^\r?q_?\'????Z??S??\n?rvM????ɟ????????Q??A?{?2_Ȑ??`KĨ?oh$h?????c??Gŋ?N?Tg?%h4?ۋ???]??ƀ????OSZ[A?T??\"??m!9è?????RC????T???06??[??%G	?"?J?wAH????\\??S?c}D#iY?i?5??l?~@?A?k/?̢?Ԭ	?磦????ք??g????$?????????h?????T}?)-?Q???|}|ۼ???yOn`F?	??M\nEz*???a?????????|??[??l?r~?? ?qq????????ů?????Z?Y?,?~?W+???	{?????#B?????Cg8?\0??D???'???_??6_?,?L?/??2?*?V?L37J?p?f??7?:y?:6??ic?SD҈????R\0?*O\n!??C??F1?{g*?????i?^x?]b\0Uv???`??SrV8f????:b?-???\"???nPo{`pcYA+?)???HSJ?(?????5???ՉG??E?Ձύ_??|??R?????>??0\'$????L????1\'?=y?\"??????/^?:~{?????????????|>??/?????\n??E_??????????Z?(???G?&q\n\0?b?3?????\Z?=JP?	27k?U?Ơ?XQ<dP?A??)\'?^ۺ????????~?.??/??\r?n}??f??{;?*g??۰-?\Z?\n??وB?˫????T?ތ???Gwi?-L?qٿ??????\\?ԤT_??&,?>)S/̪D[d???T??R?????Qէ?͚j?j8Zס???m]???\n09M??Ƌ???⊇?\\?g?;???*????~gT<???b?A???????&?ƁE??VV??h?ډ??~?E??{ri???8c??ΐ׀?Y:???L?4??膋)8/?7???x????1?P??,ͺ\r??\'?\'????g?+ vD}H????????I0m??~v}?z?ϴ??A?ch?Թ|??Z[?f??@?m??+)s?????[?y?-??B?q?οǐ??6}m[??s????m??J?*6?ُ??j5??6???\??????,?(??cs\":????$*\"P?\3????j???U>?shpړ?q??m??J{ll?wv?{??w\"l?[(?rM??LT??\'0??????,????q͏?\0J?Sx?)?~6	?w??C?zY\"@??{+%??t?0q?֑Y???:?q?5??.?Y?0??f??????O??^?9<x?@e?*_?[???V?>g???????vJs??Y?4???c??ҷ~??@??QL?8???I%\\???INq?Y??)?6ө??L???C??HB???8?C\0?`QT\\p??\"??\nD??????(??VKR?)?&-?ά??\"??+r{?Y??ʋ~,B?p??%~?G??x5???$?\\?P(ε\n??6_??U????K?;f4\n???|?0???JW???ݦ?2?v??<?U??J|j[t?B???j?#?ڿ???????f??zڹ?_\Z?K|e$>a???Rڋw?Oj???Z?z???᠇4/?R???F?{L?%?1,??ԗ[?)??	?E???/?TI?V\Z?`8e?MG??Ȣy?.4c?\r?i??,?!i???????ϟ?URq??~À??aQD?lq???c0??b??aX?x?>c(????S<Հ$???:?????bETq????r??l???:?S\n?n?w??K??\\Z%\"-?&-?\r?8?q?/\r~????"????4?z\Z??.?Ä??X?M|??E\ZA?????$????ƛ??O????kۯ&??ο?Y??0????????R????AO>?7??53-}?`_`?????ԯ8\r?Q46?7??N??~;???\'g?????!?.tR???\0??yYs?0??LԗY?5???k???TX??mfa{????X???e@???????~???O???`???w9-??r?\0j???Sl??۹????x1K:??rp?ص???L/??NS<?:w?P?],	?0?G!`???5??[b???I?{J*0ѥ??s?u?y???w!?ժ??YS2?t\\R???4???\\?s???]?ʙ???M??ήXJ???)?0???u??????^???? ??e???????tF??ɸŒ,*?;??-?P?Є?[???yPHi?ͯ#??ҁ:1?3?L??N?pD????x}#?S?#/qR??Q?M????5G???g???+???e!#\'߬F???aêRa\"$2?<>???A???ei2_Ğ?d? ?,bW????F\rH	&???Z??;??W???j?p?5??g?a???n)p????!@??~?#;?G9???Q?qd?rMK??|<H>SO??E??ƼDu??|v??fG?ɖ????E۳\Z`:dFۺ??[??^P?%?????h??Ah??? z???G;?P?\r??6???N_G ?DD?if5????)??Eg??/?m????a????f?FD??3S#J?N??ڞ#b?v}???>?????\nF?2?D?\r??F?X#Q*.h?ȗq?,gX??w?)?2\re????ٱ?nI>?-?u?\"???5????A\\?X???3Dεhsgk3??$??????ULw6	?\\?t?w????n?-???????v????6]???>?????????p???K???0?e??.?QZ????-??}?%?i\r\0?>?\0{x2Iq6?r?)?wwFAZU??\<?|?yv<?B?a}??\'?}?>ᣧR?{????sp?:?\\????w????˷?}???!?^????yu??{????$????(XmE??,???D?*Lkyu????~?]j-Y^???Rv?]???㤦??UL???;L#????{I?sY??QRu??M\\?0~+????ǝ?~gr??@r?J??v?U?\r??_S?ྠZ;yD??J?ۤ2mT;???x????|3K???7??`?G????????q8?????????A;???s9G???~6T?Y??\"̋K????ְ?]??q????f???5d>????9?$*???????/??E\\DCF]?i!???aŷ?	]#?l#c?rǳ5[???~?p??@???c???J?l??V4???????r??x?1?4???????%?\nf??7?¿??~7???zz??Ndi?N?*Z\Z8?????q?N\'?"7??h0b???/VI??pG????(%2|??+r??~\'\Zs?????"?I???zB?w;?f7aֶm?:??[_?[???ݝ_?rD?Ӷ????Z[i??S??B?*??\"ۂK}???Z?????<??\nFi?3?S??N3??Q^ʻ?\"???D?m??O_??Ϋ?d????w??8?)`????.!0?sT??n\n}??E]?V??z?i?|/\Z?|?Ϳ?0{Yz???y?7???a?/?\r\ni?\r?qC?@?B?&???????O???V?U??F??û?y??8?AO??f?Ӱڤ*\r???.^5R???;xdP?$??]???????F?????ә????w?n???1?\'iG??J?P?I^??	?(6ʌd?c??`????+???a[m??9?C???¡p&@?s\Z#???(Pg????}WY	????`2???~??72???i~Z?K?y?)?Op?RAd???)?|???c?\0)?T??????q??Ljo?~Cc;/?rY?7????L?(xÓ??O%Hs?f??j?~D?G?q?0??????@??;l?q??R?a,zK??:???+?,>??\"??fY֧/???_?ŲO?*??q?H ??ap?z???f:\Z??++P?tf?$,h????W???$??p		\"?]?PEl?e???˙?:?@{Op???hCS?q?\'??#I??%?h?,>o?q1??\"??|??9+`X/!yDA?E?dW-@?z?5??`??|????1?k?<?x?<,???0??	\'Q???n??????k?[?r????????Lȭ`Q0?Wz???9??JƫC?D?Y??դW?,???^?Y??l?掬?,R*tt5?y??U[ƭC|????#?:??\Z????]uYU*0?????caX\'Z???R????؟?ذ??e???9???2??*??P?}?wX?餻?^{ϻ?&J`C/w?????鵺???kQ???.u@Oĳ`???k?ro͖.???N???O??|???3???O????????jF[F????\rV\n??Xė????yd??vC\0?4}???eɓ \Z?N)?а=f?????,`??R?	??<?ԋҲ|????Z?y????yX??ج?\\g??QV???!c???Z???5??o? ?_?+?????7\n?G??\0??\Z S8FQ#w???????XU?C|?\\?Ѳ???4m??oCf|??8??O?tF???F\"x??I??2?<?LX0??ڨ??_l&ȇ????????????)\\??n?o?{<a??L\'[-????N????!6H??=?4???3!Zo }?9r??T,χ1?C???`Ja?-n?Z?]?D1?D?.C?????7:w7????ՊCQ??|???E?\0-??/?!?uH??U??$???]??wM(?????*?????!???,@??|?:kdFW6??ۜ6?a!?????7[YM??y?0R???Z;?????z˃,[-k[?6V???ۑ~j?^oǊ??Ǚr~A??v?ͧv?w/????rV?Ϙ????P?VK?x?3jvD?g?H?}??!???3W4}?????n?8E???????_?\"????^3җ|\'??]}??ѽ,pz??<{Hq?V??P\r??&??桑?7??`??@^?7?x??????_	X.?????ȐP\0?\"\n???Ң?)????D o>?? d?\Z?????ҧi?Q???????ZĹ?Yݝ???hY?Cʤ??X??K?O?$\n??R6??Z^??a???n[jG?H?QW.e???\"??e??*sˀ?V9??<?.^?9?G?ZID?a??ka?JM???櫚;ڿ?\Z??7V{ξ?;hrA??mjg????????<?????l??36?1?8K??1??),X?C5Rk?\Z????f?0?vʯ?^??5G?ɀRl]?I\"yT01?J6?P?h=????ό???pi??|?3?V5U\r??0֣Q	??U?]??Ӕ?'cs??<Ʈ??T?????h[K??K??f-1??G?9?C?\"3[?	??2?Y̆6~T#0?;????mOo\0(?ILPO????L,?PW?n??Mw|?Bk??????????Z?????#?\???ɖ??K?80d??WĐÑ?	??!??$???d???m޴	R?Pܼ?1??Zq????Gi??r??ad?8?4Ru??H?j08?#??#??h??v?`???yŬ???u\0??n?k????????h??\Zc???	,??\ZK??0?F??{?@????FnP#r?Y?_?dƿ?.?? he???i\\Ж5???a??J???Z?Df{?2?W?\'#???????)΄?Г???p?N?U?????????pbi????`?kU;=?n?]????{?24 ?!D???F??#??6j%Pm???:O?w??wƭ??J>c?\",?jp?w?І?1=??>?2?l[g??%?@??\ZFK4wT????z]?=?J??g?]]?0\"Ӷx?b?́NY?%E?U?CU?P1?+??j?}?O??X?????%??v}C7?????v\rȘ?sV?&??/?c~?;ͶF;?:l???N?i,??M?Q?u??????0?G?*???6????kY!?/(/??\0g_.?\Z%??+????????[\'????.?U#&(?^&[e?&???H	???ǒ???;M?$JF]???????0+>a=Ƙ????????x?Ҹ?ܿ?c{TP?UR0??????Շ?Nw??:?\n???^m?????/@?{1?nh)???\;(??????\n??su\'????\Z?g\0qc!|S^??A9??|Ɯl*V??VNc4??a??V[XWwc}5?n?z??t?S?iLK?q??&?&ѠqӲ??YN;?n??ϟe?T?=??DNiq????v?E%ҩ?-5???4(7?K?[?	??yN????g?`S߉fSZ?\"(:??? ?h,?,?=???d???????FK??q???v?=?n1???Fq?Lq{?%??SK9-?Y?I??DA??V?r?\0k?./?b???\Z;????H????Q_??&{Qk$??}??f?ܛ?F?1wΈ9?.?82???K??~Q???{?'?KM0??v??#$	??r?m?q??zH\0?0BՈ?DۂyI?ēV??#@3??ZP??0??Z(s?\n΅$??y???ƭ????lC???d????xdX#|-?	??\n_JݶP??l?;,????\Z+??{?BQ/<????j?3??~???|???5|_?a?????<?5r????3\r?oQ?tɶm?>?n03?:<Q)6?.&??v׌???ZԦk?	??\ZZ\Z,2?Øcu????1H??Z?r*?6??@޴?@??#;;??'????^????O?????8\'?˗!}ev?9?/','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:2ae91962e9e99044a649399acfd2aa8a','e???0????Nm?ll??cf2?X@AH?$L?N߽+n????c?ytLw9?o?????????qޡV؁???r?Nt*?!???1????נW\n??K?u????pd??x?UYH.ooz??????u??J;QuBi??ABY??;??(???8?a??r?8T?????!??n?ZQ??6Cd}ׁkU?_$e֫V?Q\ZQb?"(x??I?\'RS?zat?c]D??ԕx?zKy?t??\\??7\n????9???????W-?????h\Z?R?z,ٙj.pЪf??r9}!??P??\r3??+??Q?N?с?v轟?ځ2??H5&3?`|W?~LW???T??\r?G}w?)???dچ?R??_??z?Tlv??????\n???k????=9I?????N?z`xB??O?-;6??0??c??5?z????S)?5????u?\\u?2}C????# |?t?aT?0???v?gz???vA?IVd?\"?IW?"??$ڭ??v??;Z͑????:/n???????5nvĄ#???8N*??8?{L?Cu?Q?x{cS?f?b??????Pd<??(J?j??$?dz[j??G?zx?!G4??m?"?%/O?a??x?I?ھw???Y??u??R^	I;6??????a?fQ?Ƙa??{H?Y?e??28???{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:31963ef083f8be7f0df3ea369b81cf10','e???0????Nm?`????cf2BZ???\\I?:??{W<ܴ?vW??ʴ8$%??n?K??????0ց?Q?)?\ra&?x?)	A{?)??\Z??t?R?)???????K????F?1%Y{??BX?L????????mlT[@??rn0????Z?G>P?Z%??.????n??B? ?1>$?fW\'?0?A???j??P?????Fr?YD? ???F???^Y?XمX?'ve?!???:ꛨ]?7\Z???me\r??/X)%u;??ZQ?R?W?m?r??g????h!???C???????N?h[????D?=ZY?x?S????f@??9?6t%??5f??8hF?!????Ӂ?A???ƽa??Q1? ??M.8~??}_???\Z??r??u???'\'Ɂ??j?a,?B?Y???BˎM@??=????lAB[??|=??wo???\Z~M?????S?:s???A?\n]?P+i???C????W?????RR\n?܂?$[?|E?+rX?bE?+rZ?4Y?u?:?w?<?#????u^?,?yo???$???$?????<K?,߳\"?Y????F?N??;vȊ??ʎ?E???9???e(??????:???!?o<<?<=??µ|D?Z\Z???th???^?ez\\????\nwl?3???Õy???C\"9f?A!.2??TS&??偼?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:337b16a83de9b436fdc62b5623db3627','e?͒?8??]>?fz???0?=NՔ??1v?a3[???&??,?C?:)?c??mrh???ݛC?ǿ?????r?>7???GV3?-L??m?V??\'??FEí즮C?B!=?\'\'\Z-\Zŕ?C?a?:y?????FW/?jc??Z?\"(?`Hك\Z.@a-????I??`?G-f5????i,????n??#??????\")?I???K?1???xk9^IGQP?.u?c?U?????19?y`???^??q??І?~6?J?RR+	?\r?????m? ?]??g?[i׊=?7????J4?0???G%GIF9YY1x??s3e]Y3?jJf???D???\\ofJI??A@?	),?d	??R??rߜ??y?Tlv??????\nh????S?=?J?????N?z`yb?"??m;???p\'a$???nz?????}?JN{?9?O8??>OQ?\Z???fuoR???????)?D?????pGV{;?'HX݂r???#???ؑrG?9?rܣ}?>?w?<?G?ߗ????a?vX1-??9&i	m?YV?U???\'?\Z????O?v???[8???s~n?S??(??d}[?s?~??B?h?ō??%//߿????%?N\Z?k??a????_5}]f????T?Rю?i&i?}?p??β?I\n?2??????E??&+??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:3537948b8ef90c40307e538c818c7691','?{?????!?^??a?,?????ٓH?,?`\0P?!????O\0??;w??ٍEtWUWWWWWwWwg݃??????\'?0L;?\Z???7????????e~U?F????Is˝??B??r?<u???I\r~w?\Z???}z6?y?ӆ??????}??o߿?}?O?8?\r-\0??}??S?o???????nW?i~luF\r????F??\'?8v??_EY\'??錃;????a???L???E?Br??\Z??~??Y??\r???s{\r?|?Y,??H??a(?e????=??\?\Z?y\0?u?,?o?????Fn#7A<?`a?@_??\\vFi2>?&]?7?nK????`??Z?8\nfq??sB˺M????V\\???r??\Z?q4?~????????\"??\Z?D??_???3@??????F??8?<?f?\Z6?8?-????????????????J???9\')?î???CG?p???Mb	BBC;??a9??:\n+\r\rg???#E?)?d$?~\Z&?\Zel????&??;`???X̗????_??P??\ZA??????\0r?ѐ?g2??Y,\nY?<??䘻??6????;GH??????$\Z?M??n?????O????u??\"?PȒ?i	??\0?}?O@	?84Jt4??Q\Z&??(?D,?a????,??'b????Ϥ????ㅓ???8N?d??????M???????? Q????,4_????\0??v?\0:?????FI???E????V???N?2n\n???$=??;?C?c?ԹZ ??bð$?5????ap\r?\\?d=H}?]?q?4??q?Қ{?a??X?\'WM#ex1}?.?u??n+?\nr?FC0??q????\r??!?\'?M4&?Ѝ??????`??e$??q??E?+?ep???\ryh=!/?dy0ɿ??<Jm?8???)L?p\Z\r?\"?w,a??}?2?? ???F?BF?k1?r??Y??Z$??o?f?k2۾?i???jG`?bAA-?M?????s?ɽ?vg??p?,̠?#??????z?3??Vә?EA?k?.	?V%?Y츋E)9?#?Z?!yL?{?(?C45E?%a]j?nV???sUV?c?????E?T?ut??/?+Q0??\")?qZي??:?J4?Qׂ\nZ??????Rw?V????A??d??????hA?+??2[???i??\0eV???c4?Scjû?۠}? ?)?Aӧ,m?\"?1pd?.???٫?*?Բ??\Z\\??H??????is)&q?????)?ob??H+}??H1??C?ZǑ??9?4?ǣZ?\0˙?;d{Az?????\n?x??8????ƦCXQ???ZgM?:G?f?ʃ\n\Zޣ??eo??J?????qKR?o?????\'?x???Ʋ~?DY??W?????M?u8??v?{??[#\09g?'??z????u?]6S?v?n ?a???\nW?HdK??P?JÑ_??????htn?\n??\r??~?R#?!???D?Ԙ?i?k??)}?Z???\0?s??4?҄??*??o????,M/?4R??sD>????#VRcS.???????/?%\'4???3?Z?T?w<???????4i9??!??f`vk?\"??e?8Wv?7???y?-:??K&????ӭ?eY4??1?tS4?k??tT?9??N???$??(J??sr{?5]?v)\r?۫??¡c|???n?X????W??????{???8`tAl6Yժ?/?/K]Ә?)?Ɏ?????8?(????l?b??\"q?1x˘\n????)?\r??%b???J??h\"ie???m???2???7F?Eh?u?jX?QV&0?\r???/\0z-lH??j??6?n<N?[?F?K?4,=?\*???2??K?<???;???a?\Z]G??W??W??\'A??˫|Y???l?L?\n???v??hH?g?????\\????[??J????=??E7\r?d?B?\0??gM??{?eݧݧ{;/???ӗ???g4xv?????jO??u?m????dy\Z?u?n+3\0~\Z??\0??Y\\?o???6:4??v?????????d????fm???±=?\\y??\"?ѹ??????,?B??/??"?f\'??6?;be?u??y?=)???h8|t˚M??\Z????֌B_@2?`??Fxp?\0?J???jl_?Ȥ}{???-r|?%Y.U.?$?=it?W??$E?jG??X?y??\\?Luy??x?????M????:?\0Ly?K2-????Σ?j Y2??g????a?S(??䖣???\\Z???BC??%?J??P???	A??yev?4?oڠ?T#F@?rx? `?np??*4???kZ?b|??u\r?%O\Z?8]??7?\\???H???\Z?T2[U?TVn?G??z???hF??8???7#S???0?:??R???ӻZ?@ɵ??A?????t?v?\r?z#??S??"/?j?\n?P<L?3?\'9????仠?y{p??Mfh?\Z?(??????_8&????/w{????6F?????zL|hP???&y??e???:???U?:N???????ֶG\Z???ǟ!?$??=NV???o?<?^?????H*??4??n5-????l?????????ӳ?w?ҫ??m??\\??M??$CS???:?ۙ$?ڂ?ޡ=?7<????(O??X?<!}???!`???~a????b?CR̕T6?L?\Z`&1???~?p?\\&I?o???W?i`T2H?\\???G????\"?{???????c?s\\??z\Z??\nĐ???\Z?{?S,\\M?Ll?\"?%*)??H?:,????1C?i?5?n<???P?}??J???[`?HJ3???rm~?N?\F???\w????@?\0:??5??i??lRE9s???R%?\r?l*????I??D?H?\Z{i?צ:?\r?m?Yj???-+)Z????}?1`d??r??@??z??j??_0\'??<?a?fׄ????{drB`????????4???O?%?T??\nPyB6&I}??????J?Twn$4z???*#?]V?ʀ????OSX?B?ꉢEQ?s?v?????\Z???p???1r\'?r?P*yzor???|7?ن??	????!???G?A????>?-c-???????@7c?}H?\"š?kK???\rٓQ_?$??3?6???J??0??	???]W???m?,?O?3坈-??[葷??-wS?П???u?i?'	Lz?]W???l?8?<??,??U??2?&?C??_H]M2?k	S;?dX\0??5???0????˜Z?R~???}x?N??O?6??????)i??C?\'P4?????h\\C?????\"?8?0%??K??;?7??4A??7?ο1p?Aq????g?\n?EIk??+1??E,S?1??g@??X:d??????*????]?[?v]?n??.S) Q0B??4I?Ao?R?G??????#;?H$d;h??#?d???ά&0???,VHYi?C??????I????%?#2\\V8$}d7	=??~???iԋ?/ZH_?????ndV??(??N??\rY??????|?@	??5l!boYY??wd?(??Z?}D%?a??;|?)c&??9x?JR???l>4q6)????MQm?P^K????E?????~	ddac?z??s?Tm͎??i+?#֛??7??\n=?\"Qt\"y\\@\Z\'C?l?MccT?Y??+?+?b:ݍj?????R&??d????<?:j?M?I?ԙ\0??6?rl???\'+????dlӯ?p???Y?j\0?+Z?r?TʨPQ???\"?뻒???8⓭??4?C?l???????U&&?L??f????E)?G?????kU?i??\'????V?8a	???????????lB?)֡W?}+i?V??Ф?h4l?&???j?*k ??vV??R????ِg??eU?!VU???ۢ?D?Qz??]?$\r?gi??G???[????J;??}?We?O??F?&\'_?MU??Gx?ב[?E?:h?@?`6롫<?4ڧ?.???R?6P1??H??5?%?d???h?\r????ޯd{C?:??\Z?x??ڪ?`?,?🊾?F,?DC?\0???Zs?T?\'?./1?f????o:ٞ?{5?\n~??;???????0?B0?ъ??r?%lS?????Wg??????I?]?C?*??*?Q???????' -??I|S??????g8?2??|ƬZ??\\?ԿCAF????'HM???\\GOf???	A!_?W?YJ???F???>f?м?Or?TibSCr?X`.?~?Zal?Z???W?Ksj??E??H???H???(?n?A?RBy?*J?\\S??(r?c5??????b???\Z݇k???\ZI8Q#??5R??Rߗ???Z??????r????i?<\riԴ:?n???\'??0}?e?}=ⷯC)ފ??	{?I?>)돰?B??$&l?yW&(4e??3???kW??1?(??????8A?_]$b??m?\\3Ӱ??S1??ZGv??X?.??K?{?p??4???xK???=??m??????#?%9=?;O??x??C6???s??(???A??t??????+?B??t-?N?; Q?5\Z??-.????-??ۯ9??΁?4?s?w_`g(9G<u??IW?,?\\?6?ڄ???\n?}ZB/ϩ?ڊyU?j??NMr???!DFm}?*$?.X/@j?V???%?,}???F???&??I?,e6,N?P.L:???5_yf???^????\0??????M??6_????|Z???Lc?+K?1*?Xp[??1Ř???????d??x?0????\Z???????`??w?v???\?	?`?W?[????j???.??J????y-?vb???????5??ő??$??>nr\"gkVp*?????????,?T?????[??ڕ?j\0P*!K?MV\\;?ţe\'??୸sE?o??V\\\n,?l????`??Bz\"?Kl\\?h???\\w3Cݧ?sG?U????پ\nt/???KWk8z!?\0$???K?F?\\TF?MVқ???`????j????h?1ı?`?Z?a?b(\0?G?\\3??l$U?nd?oQQɖ8???J??z?풯b?X?a\\Psù???w?OҶ?n??}??X2??+??$Nn4l??D?????\z??????)]ؔʋ???=EY???&?ѻ??{*:?g?Ǩ??`?%)[ ?f?]?o?p???-:|̿?.????\\?7Va??gLn?h?????????A????(?q??,ϡ??s/???AVV\0u???z????D??Zm?J4`>??MA?\'?˃˟????^F????F??!^\0?%L???O?????xH??Y:???\"????3\ZvEAx??߶?t?\\ug??Qu????p?5?̨?!?b?X6?<)C*X!??"^W?H?-?Qnh!??T/R?aJ?.??l1fI?h`?\nDy1?H?????MS??:??h?X˲bH??B?????\08z?ԆLՌY3??}??A?9?]t??r:R`??\"t?A??B??R?穮???D	?ǯ??/3?????wN7?v\\Ȗ.&Fb?bp?V??B&???\n~???6???kp?̓??W??,k?8e??????`??eq܁?7K?\\Վ??c???#]?~??tM6][?\"??8r܁??Qc???????v?)F????Em?\'rYl?[?\'?2??;????fZI@I ??L?\'}????KK????<????:q]??M?\Z??<??w?CE8??J?M8Ie:f?\'\Z?=?QЖr????k?|???\\???>?My4m???|?0?M3$?\\\rr?h??ݤ?[AU?{%D??n`??????G??R????0W?8nyYr?s??I?=T+6?^	?6MiV;?b?.??J?\'Hd]?V;????V?H?/??\05?bw?h?GD?ub0??N?ySO??\'j???\r??-?|-=???????H?\r?I?\'????<?\0?? mq?i\0??9\\\\	?)??\'??W9TM????)s?kj4?h????????4(*??pX??????a??y?6??;W?X˱??*?J?9?v???]?E ???r[??#??u)Cr\n~??yﳼ???t@z?{?^?w/X?4Z?L?QL??(X)@W?[???@????;????? :???.e?T<an:]?2???t\" ??Y??k.?n???????*???C??C?]?S6¢ۆΓ\n?S\0C-݉????޹?v?~u?^Ѿ???UŠ?	Z?6??lPɁr*>mqC(???~7??~M?<<??\rp?}#?S?~=n?9<N???ȕ???RR.? NW:???M??\Z????{?>3Q?wB?\0?\0?KU??B?/???*?wE?/-#????5t?3Mqd???yt?~\Z????_N?\n?6?0?焘?4??]??aC\"Ǝ?G#?9????;????4;7?m?m??1??<?Q?$??(a????QBOr???Tp!??W??Awa?:je?~?^IQ?!Q??\';-??Nc~????dq?`[(??I_=????-?ǰUD\r????mL??T?????Kt???h\rH{~ŇB??ʔ??!??h4??M0???7H?;/g??&??]?{??V?v??????P???Z?o?4\r*!?JJ?3?I?iD??fv?kA\\?D?֓4?\0? Ἲ??Ƌ\Z???]??wV??gx??n??B\"?5?d????>:ƊZ8?????l???F.???a?@eo??C}c???Ou?>?q?لnaU?顝C???X?J??\n??v?W<??0?S?TfK????????q?\'?6?bA?e\"????]??q??vϱ????W2@`??5??\"??ћ	?@?s?R?Qen%??l??]?o፨F\Z????6?	?AY#r+?\0??m?????(d<?O??*^???S;?:???޲?\"\02U~?/?\0???ŉ\r)V8dq?ga?嚈??&(??&???\0?????np?:?????.\n?[HC%?h/??x?S?Z??p͊?\nYB7??????ˍE|?\n?!??vv7?#j?k~\n???????Ӄg??<zs?????ÿ???????>9???_??3?`?y}??Ǔd?{?峛ۻ?Zzᥠ?{??oDs???????h?)A???Tk{|?ߋ????җfG????܏?YVy????+??b?\"\\??????cK<????(?6??F4w_#]l???{?(????#?\'cE?s???>u^??G????rYQ?\"??L?\0[?d#*J!??\n?^*?T?Ȫ?????2???:4ͮ?}?A?>???`(?pd4a܁??M????<?~|AP?V?+?tiݗ1??IQ6??;?D???6???7??Ե?]?n?W?????P?%??\Z?r#??b$?@I0&<!	?D\r?E?N?4?3\"S?:]?e??y??(I4????r???x5?Hg߶Sc,||?Φ?P+??g?[??qnǻ&;wMW?ḥ?_H??>Wg???m\0	?c?<?E<c5u!???V?j???1?(:TQ]???5?S3?|?)_????B??=F>?kԵ??%??iq&??𞉽?9??-??ѹ\n?&?è1:?z??\Z\"y??C{T8?`[\nA?\Z?pk0???? \"?`yK???shpZ? [?-?/?߶?m???r??ʓQV?L??}??t?q?0!??G?f??S\nv?l?]??A???B?8d?????q?>V,?ѷ?NA???\\??Ч?f??F??42???忰^?>??@]?*^??Y?????b?t?@?N&ص????W??:??3???????????|?nB?펻?\"]??@>\"V?b??B@?k???`L??w?????2?~??????p聃oX?4?o??-?e???5i?;v\rEQ?lڴD:[)?f??]???"&{e^??d??8?\'A\\GO??y????;??x)f????VHؕq??*,?\nխx?????CKx>??p}???GQ?o??ۙ\\?u\nW??????{X?dy5V?=bD?2??-?s??f??_X?.\'???p⑙?_???]x?k?\Zm?̪8???0????u????????;??W???GB?B??v??QR?źeuņX?$???6-.?O?V ?Ù	??\\???Z\'??k?u?](?_???=<???]?aN׉?+??`h??,\n???? 3х?????Ŋ????h???	ߗ	?\\ci,???˭C??\\Z??!?\n?d?o?&c2?e?4ɵY,??Qf??5?ng4???????*?=c???Î??$YV???Fs???^&???`?ݟ??,?^bvCG=???8??p?~?6????v??o싋;?>?w?;?J???r?LӃ???o??}w??x:?m??????0\0W???4?9H8hb??0?c??ͪ?<?>???ab[lbw??X??jK??????n??6?s?\n??????qj?3??oe?T\0?t??_g??\A??R<O?=F}?????\rCs??\'?	>t)??7G>???꙯ġ(+P????K???ni??D??n?\"?XӍ??7څ?܄??җ?\r?t\\R??5h?s????y?p?3K?ϑ??XJ?1??????S=?.???t/????\')Q\\?W????nF??3*]Ls??bV???#T?%)k\'?Kq&?0???t>?J1R?L?'>q9	?dyP?????7?S??(?U?????2??&	Џ/???ea??8B?Ӈ	X\Z??<??\Z????2Ey??L4?x?|?>???d>?}?}?nD`[?&M?F7r? ??_?hQ?GG??(\r?0^%?nF?y*?{?????`Z?n?ñ%??u?#=	?ߒL???o?iZ\"\'!Ň?)?j,?n(J4B0\"6?:]!ZX&;?[???O0*??1?d???????\0 q?\Z\r??_????>4muo)@????^,?K8se???C?o8?f???}???Xvv?.?\"~?;XN?i??I?????f????w~hu?\????????Ư ??i????G???¯?f\n?Z??????J\n???-??]K??{???4????!i??IS???í/?L?za@p???̷??D?C{8Y?#???81&~???K?;\r???.:^Z????n?\r??????v???ս\r\0??z?.p??X??䇏!w??Sa{?}???sv?o9?+ rM?`K0?y????	\0l?sj?kb堟????e?x.e>?=\Zava???x0?n?d@L??????6????;_?????\r]?|????Oo?????\0zp?؃?O?????ÿw????޾%\nNK?$1?????t??T??i?#???嵨?e???Jj?\'5?D??????? Y?nQ????CZN?t??\Z?????|?\n?Nv??~-?֡?ϖ??p??Z:yD?p??MRx?ƪ?\nv???m? ?-?????~mw??s:O0?'?Z?4?G?????/\"`?0?./???Y?i??,?^???w\'N?????@,w-??W??4????+???#?o???I???7??I\\DC??i!͝??YvtB?#[?|?? ??7~????6?ǅ??*Ԥ?͘C0R?dӭ?V8??OD?Ѱ??>~??Ϭ$֕W\Z????Qp~??^QON>9?Éi?%????\\?u.???ӆs??am??\"F????xg?c?*??\\?????? ?gF?Gޝ7!1?H?y???H?/??????M?:-?æ????iQ?3???f?1??\Z?4??)wT??d9tȶ?_?@-??U?C???J?(?J.??h??jr?G\'֕E3?[9?Ck?фԯo?y??2Yw??C?l?ߏ?A??ͦ8??c?????ףO*\Z?y?\0i????* ??1-?GrQ??V/Mn?r?{?:p-Oj?f????]\'??(Thބq2E?:????sT?+????P????8?AO?D L???԰???Z?p????????}{{?塶???{U?J??@?W?f?:ǘ?b??I?????L(܄^\Z\\Qp???(x:(???'?{????tZwx?>??????D?R????GgS(?P,?c?ؼ+??K???d~????f|ogG??????H>d???\"_cY?????????t???Vb,P??? ?\Z_?D???ZLjo?\n]??z??!t???)DI?\"ͪ?\n^??A	?Z???YE???????j???v??A?????5q???[?l???\r,?????,??yV?r֧c??A???t?ޓ?z??L$??׉?M?;hĚ???l_??$??洿u?????S?7??_L???x??A?2?R?r|W)?l]P???/??7*?	?Ö?ͧ?\r$%:ͱ\"?|??#?e ! v/Jr?j??*|???^????\n[?]?\04??\\?\n??W-c??<\Z??",??t??h??0?m?!??????k?r?????,0?w?Bn	?b????)??2^??~?I????????.X+?b*y?d??C<R*tt=??ԏ?U[ĭB|T?~AG|y?=P6????aMa?*`=/\0?`?W%Z???2J?????gQXk??oy\n??K C????y?????M^:????g?r?%?u+????Mp`?>I?????P?{2?f\"?????Ɛ+?\"`^???u??S?L#?E@x)?۔B?q??>#\0Cޘ*懔oZ??~ ??????B?W?_v`Xđa?Xs\Z???F4}\rn??c???m?g??v#h?rn?++X??G?bM?c?R??e\0V??ı?F????t??K)\'?CQ\0????^Q*F?????P??dY???????\|???4^)xy??r?\\??\0m?\0b??~??q???]??Kq??????<[??a٦}*?q`?|2I?`?j ??nU???DZ?O??>?3?Hn?ZQ,|???־??J???j???p?ù?|?????o?b?l4??k曫:9^-?????+?P??	??}?{??]?????`?????X?????MPu?(???? ??-?b?=n,j\0d!޵t???11~J0?OyE?ļ???f?~l?k,?:?o?<?X}??????1K?ժ?Fvpeݩ{?˺????<\r??ٙS?m???M@??h??.??X?e??ܢX?ų????^?k?????z??\n?z?K?#n?@??η?؎??]??-????V?ĳ?????3Tּ??&????}???^,VΈۻU?ơ+??=??-.?ͫ?T+????G??JX?????}?g?G?r?r\r??{?!??:??lB?n?ژ???????7V??Yp+??@^.W?x??Q????\\??C????C[?JE-?2Y?Zi?t82#{???????!?l^?lӎo?;?y?|?n?ᲛYf5?3?V4?\nP$??qg/?\'B?n҈M)??wE\r???6??\Zĕ^đ\Z?Eԕ٠?????dQF`??S?0?.????-?a9??2?ˮ?\J???q??*|???o??kF?6k?-w۫o???W?G??C??}||??_??0x??\r2q??!?sc??9,vi?6\'Q@?o?Ƈ17\Z?x??-L?ڝ?A??Ҍï??????+?yɣ??Ye(?n{AQhatIKzv?/?+?f??xs3\\f?@?06?Q	??m(???J?ے?;?nӆ%-??????,?VlE????4&_\ZN%?ת??4?2טy)f?????=???\Z??Ǝ?f0???Mm??4?ҩ7??B?\Znr`??????????t?	̙??9?\rp*??\?????N??%6?1\r??EN]CG?P$?pKzx^O????????U???F???????t`D?{????Ɇ?3 . ?T???b8???(dcЧ?.p???w??R????u?S?????j~\0?&?j0?=???+>F????SN???>S??J:;?%??A?Ĺor?_D??lE??Y<???i?[0V5??7??e?n?Jm????vHt`?Ky?yڰR?\' {?_H??H?̓)j?\'uBݯT^?ԥV??Oh?	\'?	???\0?????????\0X??/+C?B?6Y?D??/??S??\Zc?6?yүy????SaE?D??)[?????$????B+J+???<ɴ?5??%Z?V??'z-?\rwv?U![??q?!??\\F٦?u?vtʢ?NK)j7?\\??JX? Y5BQ\n??0?M??[??,46??T\".=iYW?s?\r3?j??r(k\Z[Q?E????f????[q???u??>k?V?	???u??KN?0?t?ovdL쾂???2?Vʋ=??p???gP?_I?Z??Z]?޵??y\\???,V???????fd~[?P??,?\ZK\Z?_iJ?$JF<??0pTe%&?G2??{!?H???K1?G?p???y?toG?.??__?We???X???/\Z?V???,?C\'??s??!3?Ti?؃???B???N*\Z\'?4*%D???7.D,c?+????2??q???Mͪ??i??\Z<̺??\r?n?of]???Nr??\"?yi4,???4nZv?Q??(??CW??C??j???)-???8Y?Zt?%??R\\Jπ??"??~?zeY?2%xs]?\ZO?s?0X????E?m??7?.\Z????>????l[B]F#G?q??"???P{?bz;???g9Q??Z*hyU???L?\'#\n月??$ɕ?0`????e?rvL??bg6?\n\0#so?}-??????????B\0??o?N??t?[?d0h???B7?<Wޕ???rm\04??r???*?iS??M3\"@??~??\"????U`ɨ???G?#(O??????R=2R?????????r??aJ?\\!??̦??J?2<2??????i???9:ǳ??t??x?Wa?>?㰗??\"?W^ջ?q?\"z\\D?iЃb???????>??~?vƛ???Ѥ????G?(?>N\r??BD????x>?\r????<|????зn?\u??!<>?^Z[Aˀm?K?e(tM.y??^kQ??Ai???[??@??jtl\n_??`d???????E7.g??Zw?a???D?{p+?O????>}??^?????_^?<?r??d{???,'2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:3b4ba91a96a64c6fc377dc09edcb3e2d','e?͒?8??]>?fz?H????jJ??;k????}??\r?Iq?>K???J?"????훹zi?{s???q>???T?UɁqg:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r?????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r??ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???\\??l?Tr?dt\"+??pn??+k&R??????ѕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr??CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#???Ŏ?;rޑˎ???N?a?????\Z?_???\"X?vX1͛??y&x?ϛ??,;?DvNȊ??dK?V??i?H˼,???|,?dy?yL???\Z??w@o?!?Y??m\"|Pr?????=ޫW??q????[?U?eFZ??U#??f???W?????p)???cY\n?\\P???x??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:3d76a0a08c14d32293eaebb066291b4c','?Z?R??{y\n??[????-B?Wa?[H??ɶ?ȖW??sp???%?s,?????d?Sw??u???h?f??q?I?<	?ė?%?I?????d|??=?z?$	??????l?e2?Z}?}???o(C?J????????9?O?D>???Ϡr?Dq?.?Kχ>KBM<_??J7Ԑ??\0?\0???kG???3????????4????	??TZ0e??Y??G;???ޣP???I7?È?,????å??.??Jv?E???Emm?ݓDg؇u??ac?=A?1??3Xä?\0?,J?G?>6?zш?>Y%J?+???O??e??#?>D&??$??~fJ?)??n/?k????qɩ??Fb?r?:y??{?-.?$?\'?k?n4%8i??Q?`????׶?????A]s?(4??{b7?`??8x~???????ij?V2????<????}@6?,??,O??\0??-?P)E>?2\ZX<]\rv\'?}??????ޥ??>?l?????B??I&?)??Y?u?Ȣ???X??3u:?ї??}??S?Ͻ?-A?^/??z?t??(?Ns؜`??c?k@?8?[E??B?d?M?{H?Q!?}?Ж?????\ZX???cA???H?Hh??S8?>?3? ???\nF}d??L?;??(???\r?R>?S8???n? $?F???o?-U?Z???o8?\0(?v??mz?XN?6li	??An???:/???DNV?Rb??un?\'???}B?xB?RHt???Yw?$BeH?,??\n?\Z?DK@??L??V>%?ǟ???a???'cp?srO?a`??\"Ңê?+??????ƴ3???\\??????ظw??4I?m$?h?8[jۙv???uv?TuEƵ??+??īh?\'4+???????z??"?A????o3?/W?>???%j\Z1?w??Ք(o?.7??<r???Z8?T\Z???<Gҟ?Z???x?bb?G??R0????:?`??4????Թj??Fܷ^/Y?d??;?66?L?8w?c6???G͠ ???0WL?,??K?]2??_???[?]??5????Y?U????m7a?!C?Yr?I??e??`?f?g?oȢW?G\'??2O?4?r8??ɿYBH\"$???\"_??# X?~????ݒ?<?ڜ\Z?s6?戀*???O;??ɍ??z?_??3???&2L?*J??E???)\r??\0?\ZB.?9U??\0h?G?է?Ϩp?g*ezs???\'UU5???*5\\?)?]b?`YՓ?Nh?\r?UM1\"T2?J?\?$fI?>???Zg?v??xN3e??i?'?b??G\Ze4??j-?????s?]\rj??=?%??1_?C???????)Wk???@?aY?0$>V?k??X!??f?ج?ӗ????#4???????(;?8s\\?Űj????C?Q?\Z??7?"5?^j2?t???\rf????????#??~??X????	1?T???A,??????7?fJ	?????S??㲒?ad0???anX???af??꤈???W:5%\\?	??r9?n`??	Xb?\\TDur??u.??\'\"	ZW[?'?????ā?T?T??t???<?wk??v?֪Z_??|????\Z?d`?j?U[j?5gzޠ???)?^?\r??]???\"yP՚????????M?I?2??Q?a??t?6???Ee??&1??Z????VJ/u}hm???L?P??5??tw?m??ݑ?Zm4??d,?i??Z??1W??_???Z\Z?k??थ>?N???@x??8΋M\0??ztG{?z\n??;???F;??)??)=?\"?\"z_M?IcE`??\Z0?1??/???J?9???\0?Vxi??&P??(?t?Ϣ??+EN1M?U???l?oY\0^h????lpe?7\0??G??QiDT?y?F???b??\"?3?{??r???ʤ?G??gp?*gu??0?~?6L?@?zA????h?X?uXV?e??\"??K????\"!?????ɃB?ʗ	??)?<?9_*??,?? ???R5????\"\'Q??R?9F??d?d??!??q?b?2?????Z?KŰ??m???h?L??eRQU??$?.?ם???ͣ?$ܨ?I??0????A??,v}?g]prS???o?Î?????>\'XU?F???\0?o??K?b藣??'f?????1&???v?ƻ??????q?QU?f?ƃ?????????=^???R?y?x??]+?'&		?[w?sw??}??v^???`w<>?{????p???n?9G?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:43f0128dc50d8cdc3ff82bb372e7e61e','e?͒?8??S:mg??9?U?Fj?!y%a???؃???Sw??h|???Y͆??^?(k???????\0J{Vg;?<Tt????QF@Ii??&=?<4:?e??-??\n?<8??Z???zy???l?SmV??%e?Kj+???A??1?0???5{O|??;?|X.?????_ܙ3?c? ?1?$???X?E6??V-?ERf?鍝??SSI!Jg?r??????g{?뢆??E])v????\0?K*?????2ܾ`,??ͅ*???U?=u3\r?A(?%;S?N?喊????#??J???\\??Z\r??J?r8`??'??rv\"Ղ???]I?]????@?????S?;??O]???X?:[??r???B??!9?M??9?Б??Yzr?<ju??I?????0?CH??Zwl\Z???εۯHl+???ol???j5n?$>???8E??????I??p\n?O????#\r??????n???Z??+Rl?CRn?CNRm???m?ηa????-???n?;?p?q?;ovYe??ʀ7?VM?ϊ#f\r???????????\0^_Q?\\?????\rF??m?F?????9?YW?c??<=}?????????Ze?ρ⇩?*??k???ks~??Jӎ?i&i?}}???>????&*.?^ʪh????s|??퉽?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:5b88ea69f8b69da609a5bfb1295f0246','?Z?R??{y\n??[?3|???- d????$[u@?d[?d??A???????ג?֘?P[E2???????e	wx????\"NY?\"I<?Ga????dc?	74!??wQ?~?\\@O?$??3??????F[???-eH???Y???m?}???z???G_?T??hB\".ߧU???IH?Q????@?Z?y?`?8\"Bb?qs?\"???;????????uL??I??I???8-K?j?Nogx?s???*?[(???q???K՜m???	?????P????\r=??????n-??%??\"H??&???mbk??`?E	?h?VO\"\Z??DI?x`???a>o?\"1O?V@?bd???;????4֯??I4??^?ce?7??N\"9????HL\ZFn?S%??՘???M	N????`?\"?)x?k??e??$?Ъ9?????M?0Es???k???l??ڀڨU?????,??????M0?O??c!????Y*??cF?????????2Q??1z????????e??3?<ŭ:?=K?۠\nYaa???[+?w?N??R??`\\??O^a???׺?%??V??.???S6%ء?Y5 fp?R[I??B?d?My????(B^?i*?)?d8K?cԱN??=ǂ<>???????????p?}??>?	,f?\r???#?nw?1?????evk??I?? <L?o??e?mD???X???۶T??K???????(????m?F?@n???:/???DNVORb?????"?i?*???? ~?????W ???-B???fT?ծ?????Dia?PR{?U(I????bxJ?5\\??????????Eu,c?2???\\?????겢[?w??4I?m$?hƋq??eڑwTS??YR??K?V?????1???G1????t[Hּ??`\\+?Q? -Q??}??N???????W>M/???a??Q?$?qݣ<?z?A/R???A\n߀???%???*u.[?\nJ#???,`?z?Q?A?l?W?c6????\'͠ ???0WL?,?f?ة?d^?^[?;??.??]?`8B??bIVQs?*{D6݄?%f?\'+n,???????%?VU?x??<?R??|???????DHpKD??f???`?c?Ed??K~?+s??ٌ~5?T??????F	?n|r?????q?m5?n:VQB??,r\\?M???????!?\}?c5J???S}??\n?s???????}V5QV???R?E,c^??	?e=I?????\n?S?#B%???O?b?T?n?8?p6?zf?\???S?~?*???QF?9??6?8Q??9????? NP\"k?\09??\ZA?*.\0:?O ?r???m4??eC?幺:/???]aF??ͺ?2}???;BC???t????q?ò?Nd??\rQF???h???x??\\0?/?6???N0g?b??R????E?a???%?R??\"??2K?J?cOg???)%l?h\r????B\\???$F#?????rs??\r3??\'E\\}Ž֩	(?oO`???w?|C??(??"?????s???Iк?>Iu4???%?R?b???5????[}????S??j}C??	?j?j???=?Q;em=??֜]???H(?٫?Xg??!\"E?a??????\r??:???????e?ڰVS:VD?Ǣ?R?????_?ܫ?T????>??c?hwk\0?T???J?=e??_}?6\Zv??*d,?i庻?Z\r?Ƙ+?_?k??J\Zḇ?Z\r6???n?W??}^;(?\0????n?^???$????,???h\n-kJ,I|??>?7KR[??e?q;???W1?R|^?Ab?@3S?%^Z??	*qJ?(]볨?J?cLS?GU*:J???=mW??\r.?? ??~6MTD\Z?cާ??G?:I?D??h&???u??_??(\\???W嬮t\0?&???(?/\\?kMp?˲???P?????xb^N?$\\?*??yP??????\n?h.?j%K?Hnj\'???????a\0.Uk?Quq	Y&?5??1|?>jܯX?????~fs?f?R1l?p@[%f:??? \'?L??TTU?	|??K2?Ugs?e??	7?O?667??b8?uPo8?????ݖ?:??v6?qz???Et?Q,F&\0??ta??%t>2????f?????1F?^?????`p??%V2n\"????[{put????㺏?1^?sw}I?[J?.?o???k%??!?????x??0<???\rўz??p/?rv???s??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:62030e5c9dfb429f0f4868a168962e51','e???0????N?qS?1?z?3?EZ@AH?$L?N߽+n????cqez̓????>???F?\'?????FcR9V&;?8t??L`\r?򌀬k?????-??i??PHO???F?Jq%yw??X?L???lZ?????????/\n??+R???3PX??????\"???ƬR?1??Z4?:???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.?????co??<?z?T?.?b??c???6x???UJI?$?V??[???-????Jv??K????+vCޜcH?????p%?8*?2:?????387Rѕ5#?fd?l????f??j????????]??}??٨`?;I?\Z??r??|k??FMQ??\\޺0????????ꄨ?G!??-B??кc3P8}	#9??\"???g_??2???䰅?x?èn?ū?\?hTK?BW/`%???wL?n\Z????????????$ې??<o?C?r9nH?!?\rI?-??n??q?????_^???"X?vX1???u~?\n\0???$&y?p?rا??+?;???=?HD??{?Vi*?ө??"Ɋ`2??Ј?9O?zx?!G4??lፒ??????Z>?V#????0v???I_?hmN/??T?cK?IZo?\\?\\??O?O????S??%H????????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:6e7a71be8c53ec12267b6ac44819715e','e???0?y??Nm???w??i!??0u:}??8x?I?????pE?gۂu??>???F?\'?????FcR9Vl7???8??GV0??3???V?h\'??RE??u???Bzr?A4Z??+???Cd?\"??me???6^V??F??xFP ?]???՞?d????I秃?ǣ׃+?\ZTH??Ƌ*??=n????]v?UMq??Y?[mMeh???E4?xk?HM*(?ҚǺ?h??ԕt?zGy?t?hC?\'\Z???m8??g?????H0-???uߕh!u=??5?8]I;U슼9EI?{?	???p!?,??9?b?!?	?(?ʚ?LSrs6t%ڧt?Z3PJ5?i??Ha? ?h?J????X?}+??L??????*?Q?*?????r?T?\r?9!?qep???/????L????Hh+??-/?w???*ٯ?$?0?+x;E??\Z???3X	???rS?랆qޏ]?鶬?/????$]?݊??"ي?r\\??I?k?V??e\'k?Zx2+????u~?}x?;<1?Ɨ?a?1?dw,????.??*?D?ɏ?76ujvɪ??????|??Q?\0?.?Lw+4???^?C(Ͳ??\r[(?R\npw??pߙ?/?Y??????V??{A_???o**??h&?{?pž??<)?;??fy???$;9??{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:70575098f4c1c64371db55b3cf10ca70','?{۸?????ň?-\'N6R_\'?ts??4??{}(??S???lge???'I??n???f??`0\0`?r?ɓ??????(ʺ??D?V?v>??????\n????x\\?N?j?/fa??֮?l?/????0Et[?? k̳?????$`???q>??n?غ???????n?us,???Qs@?Z??w\Zs??ѭ??FF??l??^p??x?\r?\"k-IѨ/?"?N?V?e?B \'??E6#?V???lw0XyK??ll?4??#??????2??w$??瘒????(7(c?P?<??\0???5\0??I???q????No????0??fS2PF???:?2?????N^,?x6qY?A\rte?r??????r?????F-z???]f???GO??????Z%y?K??%?=?hS??\0???H??Q????w?(???????Sj??Ls̯X ???Fi?@E?ZtJ????t???t:Og????\'???????z???!L?WR???b??(??Zع_??.Z?0?\Z?YAc???M?????|??U?-z\Z??Ȕ???h?JCPc?Թ???^??\"?\n5??;fQp5X?V????va\Z\\E??	?<L?????{^?v?\nF?w? ?ly(1?[}?/?s??P??-??4z?y??7?PC;?Gp???fׁnt???/????\,#?L??r?LWt??(?k,???x????>??m?YR^?\00P[f?i6U??????m??Uʥރ??\Z5?K\r?F????????o??2߾?i\n ?-jH????????}~Y?QTX?????(????n^????І?????%?r`5?I?R????芠u?_$?{wWIN??Ȥ??%?y?a﯑8H`??ZIDWڠ?z\r??j+ٵ{}\'d`Q?a????T\0L??Z?նb1?O??kԵ??V?%??Ll??%?<?k??? ?o?????UЂ???????ߦ????Y??\'??????w/b?A?A3-??OY??D??S?v?\\lű?!s\0?30??ਅIز?L?f4?SٗA^???8ȊP?h?^W???@$?m?i?!?(\0\nJ/*9???ˣ??\0????d?Az?????\Z?X?U??6*??7UZ8k??724?=?T?-ծ*s?k?W?4?H/JP?rW{??????j?o??_?6[Zo^/@?ӊ???????]???kK?đ䴯?8?07?	????????֤&???L????\rC?4?xu??RB ?Z??/?????ov^??^?Z???6B?k??? $?ݧ,?Gh???a>??b?圓 eHV?V<\r\0Zl.VP?Ђq?Ce\Z??Z=?3:????? ϳ?8?UПǬ?Ŧ\\??}?~??n???\Z?c??t?\r]v?aTO?t2? ??x?ަ0Cn0D????E??p??/l\'??-??Zti?LfKm??1?x6i0?l[??s?\0?tT??R=??>??H???<??q????u?$?E֧4ho??_?\0\n???̵~?lW1?Ӯ?Ǧ?i??{???8`tAl1[ת_??/K]Ә?!???z????"??4??(?????D?E??1?qǤ?[?@??V???e??p:=G6J???P???M$?lo???$F3?Ħ??7h^????]6??Y`?EY???D6???L`??\0?<+?h]??_?????i?F??\ZK??Wf??Z}ɓ??A%]lfb?\\sCϛF?8?[|???$;??z?Y??4(?Y<?,V\r?'?f?Z??N?L??g	?v6????j\\E???<?q?_?7W????~?\"#?\0???g?s\'???????o???'σ?ѓ?8|z??<x==	???;X۪???1͋,??[?Y?0??\0ܷ??0?^????hȟ?턫?P??w??u???w?ނ?c{???d??9+????"?R??/???f7???Z?}??Ή?G?虞?]?4???v5?nwhd?^:?3\n???\"??3?sp?\0*?????{???EO	[?,J2\\?X?*?G;???³>I?Ն:??&?D?\0m?\Z??]Y:wP=g???9<?UHH.?????Խ\"Ҳ??_????a?#P??????G L??^\nLn9z:?ͥ!mHk??X???	5?P?k5???8?WQf7?΋?T?????N?NS|?????V\"?+Ɨ?KW?Z򤱋???? O??Lk??@-?ueJm?|?0c??\n$??M?\Z?F???????.$\r?m~o~?S(????a^a??\Z??3??1??(?6???\Z?Z?P<????????!???E\'??????MLY?Y??_8&~;?v8\n?????x<?:\n????c=&??ݼ?\"???GZY?!\Z}??\Z?t?#???He쉚s?v???<???????@oW\\?oq??????h?=\\?:a?:????(?y??Z??????r????????????sv??Azq?]:N??%??v????;KG?4a?A???y?zC? ????;????}??'\Z?d??_??Vq??8ِ?sM*?S?b???R?Z?P?ʀ0;??????:Yv??P?<	p???,??u??u????r4???U ?D???07???~?1`?`?,QI?LB?a?{??ʌ?Y0??? ??????B????6?9E;?6??q?f??B???\"??+s˹???????Trܷ????H{6???9?J?Q??ak?ݶ,?F^=m??n+???,???rZ?%???+?ѵU-E??\r\r%;x?&?{_,??и/?L7P?M??)QC?5?&?"??L?R?	???S?x?(??E_x?l?P!_ɖ?QE?J0(@?٘#Y??e?Va?,?:a?ݥ?`?l.?W,??Avyc?\ZF|?_c>Mim?O???E???v???a???$op{??!r\'?r?Q*E??~06??rp?dJ?gX?0@+݆????p?Ve???A?T?k<???>:??7^????Y???M?ը{J/?	???g??k??k7??_?k?<???o??\'?m??0_?????*a1???N??6??+?;Sj????????=??P???u\\???_??I?a\0??w?8m͐???)Q???d?rp*.?\n:?"\0Fjd???????#gl?o??b?\ӤU???f??,;?j%?Q&<?u???4?ͤp????(???4q?$2?\'?Z??̙?n;??2???*?!?????S?>??8颖?9*????\r?l??-???@?/I??A6?#	d???y?`Oh/?2????!ʭ $??a~yB???P	8h?\??[>s??f????5K??o?U??9\Zm?.B?G?Lp?z?^??m\n$QYw?ԹP??8????e??\\????9)B?K??ݜ?2???]?????[?7??yG?ˣ9?zR=??????sK?W?[@?`?DX???r2%F1?x??J???,??@_??????y`?J?0ݔҫϋ-?????opuVD6!+?*???%?-ê?????L?a??1?\n?n:O*???AL鰄?[z?Z??z???????uŠ?	Z?AU\r*mv	A?????SoV??n?-????;5??V??L??ƌ????E??3?e?????5JX\Z?\Zi????y??? ??@?(?_????d-pyݥȢ:?wE?/-{?????,????a?d???y䒂??W?????8????|?0??0?q??ܻ???Z?D?+?F???l`?%??e??-??Z7?\n?q?\"??k???e?C????$??-g]??g?pU??M?????(ܐ??ܓ????d	`???qL?-?Pl??7????7B{[SE\nM????(??yF?C??\nS???XEk@??'<A5?U?to?nW?qޛ$??\r2=	\Z???M??&??]?{|????????p2?\Z????MK?U?eA\r!?K?&y?9?b?c1c??$?0?c???\ZA\0ΐpQ_????p?p????w???ᡇ?V????I?n?]YqF??d?0?5?V???{I??؜Z??K? ???????ɘ???1?\r3????\'?(??3??H??K.A??c\r???Pԉ\'???]|?M??????([?#^?4??w?Z~[e?\nO?0??}?MQۑ$?~ȯ??I	=?!.g?=?\r???????)>???P?o?q??3$b??ρD ?(8p????8z<-\" ???/ͦz?;????M?(?V?O??'6	??6fԾ:\Z|?x1?P????z??2B?ײт?s????"U??????????\Zޖc?n???G%?????O55??{D???=`?x?? 0?h?˛??Zf?D???%g??@?޹6)???Z??8[L??=\\&??j???/d????e@d?(?|???M]?2Bb???B?s??\???????????V%???\n???t?c-\'aE#????X?+?`?\"?x`??????V?????*ʹ_JC?i.?*/?dC4ƃlΑ68?????4?g?$??\n?1?????????(N?x?E?$?#_??????Ͼ}~??wo???w??~???????????¸>???]%?:?=ˋ???,??Ќ???O7???\0?Cs?a?r\'y??%?2/k?t?G??XS?U?f/?vb???Ԅ??i????H??\\??K@?	>~?F~i	Dg?*`?&U?\'?n??^b?U#??wwF?t?f+P????#?`M???o{t??????q??$|CVX#|Ҧ\n^ت?d????u???W??z?U?O?Z??.«?????8@?ǰH0`8rZ<?0^|+??\0?쫨??fG???k????1??Q6??kK??arr?Mq)	???*AEW??K??\"??V???%??Mz?????!?$8???t?\nb+???FFd?V???8???2??$?Ž??q????GBD9O?\r?+z?'\Z????g?[?/??,?ٹ+?/1?$??_J??:??fϷ\r a?dZ	4??<W?-?f??@?\rFd?PR??y?Z????ㅖO\n??g7?|????/?-??is&???z??F?5?Hw\r???7+)i????&0???-??f??ĳ??ACs?`?c.?kX???=?-3??ͻ?w???4?岿#LL??B6*?叮H`?/^x0???4?i5N??????3?????N??Goa??Уq?HI!?}4@??s??tX:P? ):r?L??<3Yb#???]??^?<<xzO]?*^??]???lL}??Z??p?ΰk????[f=k??Z̊^?*ȣ?x0l3yk\0???rc?8EdvCy?Ns?Yӛ??{???`H?C?cXOC???HB_?!?+???\0	?y???\no?r?3????Hq?Q??*?*eۦ%?L?	?)?\"7?E\\????5?ie? ?OnG?Ȗ???[s?d?x?VHؕ???,?Kխ9?????zS???K??b?҆]),????ܾpJ???Om?n?P?\n\Z5??!?ޣ?=??@?Ӟ?ig-N??t9???????go(.ܱ6d?2?͚???>Ҽ0K??cL?io1mO?,?U֔[?(s?~????????????M[L?\r?a??????-?r?sQyꐴfC?rNMh\ZBc?Ǐ????ռRъ??!?M?x?k?w??(*??:	>bh??,?GC???????Pǡ\n**x?}>???8Xf?U?\0~??K?@??db??Ki?????"????leG?<??0?84M?????c??\Z9P#?xI??A??K\0??'?y(]?O??ps????,n,U??t?s\n?F뢲?rDhb+??fZ???????#?P?????|?&onA???????ѹ??#*L?????	\0?????Ys?(la??/?s????k.????m6?????zN??%?j>?d???[??G-?v??r?????9?{R\"???T?????A?\r?;J?:??-??3??????y\'I\')^%;7??݇\0&?0??*??n?????D?A??-??ZysQ,??M??#nCv?Y?sK??A:??\0)??4g???r.z{g???p?3K??ϑή\\J???>?0?\"<?ǩv/\n???Q?P?۟AJK??P?{=?]????T?J???-6Q|%-?P?vİ????????_???(?.M?x\\r2??hy???տ/???vE?c\n?{1?Zx$UL?Bf?B?\"?GA^???	X???????\ZN??<C2?!v???j? ?!??H>?7??Eb?r_?ԂT`?~?H?I?ݬP\Z⚘Z?5??<?,???Z?Tj??????f??`???Ü??0?uE????H?:? ?PO??E??G?D#)1?וB????%ޜA????S|m??_w#??fSu??Yá?ٔO????>?mu?@????^??K8sau??C?\'I1???MQ-;?H?}_i?,?\n?6???????????9?u,?r??7̵=W????Gw?w?C?/????????ٿ???X?$Z?WY??q?(wP{0?0??+????m?d?5$?Nm?4?V9???	Q?f?y?}$?ho\'k?6c$?????O?X?>>8?肽???~??7?j:??g?=?跋?\\ޭ?k????'???4@?ߟ???E??]d??????휝u?m\n?\\?>????>?\0?x?\Z?X7觢???=???????G#?]?.l?)LpқW0s?!>?[:???ۃ??O?;????󣳳??9??\?{?\'o|??8???yr???臟????&???#\nN[?$9??+3Q?n??????\'Һ??Jͥ?S?Q̮?M?b{?0??r?5声Zĵ??%Y???N{(?:q??Ԑ?Ӈ???A]???3>_??\' 8?=[??W?	u???ܯ?}F??t?????tDܪ?\Zv?G?????j?*????>?\??kŋ??????I4	?5&??s.F?1????\'r?8;?~_Dyq??^~s???????*N????U?W?߁3j ??׽???5R?>?(??D??xs??d?4d`?ߜ?????ȳ??6??@[?Ⱥj???>x-?Z????7????̊!)x??py+\Zu?§???\Z?????+IK~????E???~;M??zr?yNfi???*Z\Z???]t?q?N??2j???2Ġ?Y?_\\ɮq??,?Qz??"Ç?$x??g	??[oFRZd1???} ſ?|???k?ZrqZx?G-sy??њvw~	?ݗYx?C8??????R7?BuˑC???b????????C?*?6???\n?i?N&?\r\'&!?=?\'Gy?????hf?\':`h???z???~M?!?u???D???㿓?N???=??S?5-ꁼdP??x?|?* ??1-?wGr??V/Ko?r?{??:p?H&^l??A???}\'i?(Th]GI:G?\0:???Bs??jՓ??P?*D?G8?AO???O!L???4????xN?Il|w?\Z??ILb?m???\r?\Z?b???&Ӏ?&????9???,6K????K(錢M??r???H?[G??rѶ?D_b??,\n#???F?t???˗?@??\"???=?[[?a???\\l-%?n+K-\rn^?nb7?@滟?\"??????%iq=?͗q?=R?׽????^????a)?m?:V?(2??Y?Q\\ ?>???5?`R{kX??\Z*?C?~$(S??9?]?a>@??R?\Z0(AY#VA?9)?1uC?Q?hw[?܌??1ʏ?T9?Ut???&?\0>?8zK?-rԶ??5??knO??q??????????P?ŲO?*??y???@?_L???????6?%?d??H܁?????E???;???r???. A&????Ԡ?I????\n4???$???????????0K?????? 䈉KHH???? ????1r.`P/\"uF??E??W-@??????!~?VG\0C˘?J#????;?=???4?E?JFg{???@?\r?r?????`?^o&??(???_??b\\R%??L???\\53?5?!?????5R??2wd?c?R???Σ~???n??{???Y?????ֺv5e?U???F|6?P-??A?lM???(E????o???EX????|?V@?6_?m?F?????tw{??iw?	<F?rG??<Á?4??fɻ?????8?	?<&	??AO\r\"????ra?Mj?拘F????????)???\'f}F?|7IL)??_3?@	?1`????#????C??,?i?|#\"F4}\n???????m????v#h?qn?k+X??kb?O!???,_`?\'NK\\?0?u5??<\nt??<k(???AV??4T?X??mQ+0????6?????|???4Y+yy?T??\\?\"m\nb??|???!n??~??'\0>~??H??7!?I*y?y?2???`?|:K?`?]?z$?????5\n?\Z?3a??o????֗|???վ??Z???jo?X?p?ù???Fo??7??N6?r??0Wu?t?-?r5?A?Z???(PN?h????J?Yts\"?磄??`??L?\"J??f????)????h??C^????Z???ww\'?(????ƪ@?????~Ck?\"G]?gK^-?t??&]?z??E????????\\???"W??Z??;Ύ?3??4ʐg??`??P?f? ?th??.??`?U???/??Tz3???????5X/6c%u8/7???!?v???S;d?????????V??j?h?.??5?6???=??Z_t<?D????Έ;??L??????)?5m????????????ځ?????????\Z??{?!??:??lB5?n?ژ???????ׅ?Y`k?\n@^?֑?ǇQ???_	X.?!?????h&?????,?wq?h?\Z?0???7? o?>???d?Z???????i?V?????	?Z$??Ykڏ?e?(???u?~?R|\"$Q? ?ؔ??W?s(\"?|??u??ҫ8RE???r)D}??V??\"?CXl6?D??r??[-???d??]???6??̫???_?Ա????|[??]w????6]?N)\"??\r?_???P?S6???B\n????SX?6??`sԶH?1l??㑏d?????<hxe?P|h ?J???Ƀ??Ye(?n{AQhatIK|v?/?+?f??xX?????	??3\Z?@j> #????6帡?A?;???`XQ?C??Z+??Ml#YB\Z?/\r??bl???s??f^?	????Y??8?Z?h4z????o6\0??1????hF7??f?nr`LwP?h??????K??)̙??9?\rp&??\?????>?<Jlnc\Zā!???\"?chk?_2?{?\'.C?Lǘ8??4?/?E???4㊿];????????ZL{?T????RM?H?n0??}¡??!\n????N;?؛?۾#?ݵpc?h?;?wIa \'??/zlȽ\Zc?g?n???%Y??\0p?A8d?$P[?m?C/??8?M??@?N??.?_????i?[0V5???e??J?????{?DV???i??Dq3\nH???87???J??P??\0?&u??:???3??[X?תr??r?\r\0??eeh<~I?0??,?t&\"o????z کy?D??K???{???L?{gx??S? ?aI??????֔V??T\n0x?i??[&K???????Z??[???????{ff????\"?M????Y?VR?\\?<=TU???@?j???Ma?A????,46;?T\"?=iY׷s????n\0Y??bNkҔ??Cp??w?mǾ??w?Á????X?w?\\???.ݾ.Dϱ????1?????hZ)?O(0??\0???)^???????\\	}߮?9?b??	?????F?%!???\n?????ҷ????"?-GՅY?	???-\Z??{$???1??k9?G?p???y?`_I??`?Wm???X???/\Z?V?W?hYl.??y??)?17??9Ҹfm???q?p???????e??	???????t2?b????c?5?^??^ƭ??l????K?6?Ǻ????Ճ$????k^\Z??7?????]?ߡpg`]K???ʷT???????(o䉓??E\'[©?-????(6,?3?3d???	j0<)Ρ`]߉?Z?\"(:??? ?x??,?=??N?^<?	5?ǎB	??"???Rs?b\\??ȗ??\'?[I-?Y?I?dD??q+V?V??^?U{?????????6u?,fu`d|????????h??g)??\'?;W\r\'c?n:?ϭ@2?????AQ?)f?KC\0?6??#\"???<?cӌx??????`Z??dT?Ўţ???????{???)??e??|??????r?%xq??2[6???tdT#|#??_b???Οft<?W?wT\n?Q?5V?{?DQ/?<??????9}hG?iЁ???O?m\n????ݗ???+?;??????(?^N\r??BD???5??`??^E?uJK|V???..\ZC?????-??ؖ?DXV?B???}ήk-ʹ?VR[?#??? }?ckk????R?\rZ&q?_pC^u?L.?p???k??????????l?????????????8????????\0','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:7451b11d34ff85eae3ea96ab2686a8b3','e???0????N?qSc0&?z?3?EZ@AH?$L?N߽+n????cqer?%????}2g/?vO????????r??7???GV2?5????Vר\'??JEõ솦A?B!=?;\'\Z-*ŕ?M?a?2?????i?JW/?jc??nZ? (®`Hك?@aM???I??`?????\ZTH????j??3	???\r}v?UC~??٠;mFMeh???ET??5?Ϥ?((?ʚ????ߩ+?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??R?_?m??T?3?\?t-?\??C?=P??D?;f??+ٞ???ё?,??????2???I?@f???D?]?֌??@???ކ?R?:???]??o??:r\'??B??!??o-Ш)*ߒ???zr?*y??Q??????E???Zwl\n??!a$?ڥ+?nz??p???}?J[?1?w8???Q??e??F?4)t?VB??????a\\䩫?ܞ???V֠܊6$ݐlC??o?C?\ryސd?Eۨ?m?6?x?D?????}X?+??Xv8?I??g9y????.*.2|>U??W6wj1?E?O????>%Y??gE???8??d~[?r?~??B?h?ŕ?*?%߿<???$?F\Z????a?????.3??^*k?hǖ4??޾??2+O???DPnuqD????9U???{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:78965a7326c70d95ff1d0d42cac481f7','e???0????Nm?????z?3!?@AH?$L?N߽+n????cqez?'%??n?K??????0ց?Q?)?\ra&?x?)	A{?)??\Z??t?R?)???????K????F?1%Y{??BX?L????????mlT[@??rn0????Z?G>P?Z%??.????n??B? ?1>$?fW\'?0?A???j??P?????Fr?YD? ???F???^Y?XمX?'v%ې????MT?.??\rC???6????????HP?(ko?뾫?6@??X?3?\???v??rys?!????\r???????Q?V:?Թ3???P5C3Ԇ?D??\\cL??ft\Z??>??R;???]Űo??8r+???ㇽA??o,Ш1*ߠ???|r?(y??Q???(??\Z??/????L????Hh+Փ??{^??U?_ïI??TW???g.?4??I??j%??^o????gy?O????@JJA?[?lEv+??H?\"?9??EN+?&k??:]????ׁ?s????΋ۇE0??b~????ۧ???P????e@?4??)?????:5?$9?(?$e\";?vY\"??`??*???2G|??????ِE?7?^??l?>?V-?{?~:???~/?2=???RH?;?ę?????<O??vٞ~*?Hy?=?T?^?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:7e27e5cf4ba72511faeef0e79411ebbe','e???0?y??N?pS쐐w??i!??0u:}??8x?I??????/?%????{?????ç?L?????????q?+	Y??????F_??T*???4\r??J????ZYi???E??~??Ʃ?\r+[c??{e?Kf+???AJ??1?0?;ɚ?\'>B?V>??O@#?W??\rHiL???f?\'0)?????"??tƎ??*?)?dw\'?\n<??TPꕳNuQ}Ԫީ+َ?\r??????\\?O?)?\r?n-.kk?)?L7?hZ?让???еR?f*ىj?p??Vn??{J?~Ի\n(??9!??E\\j?r:???c?x?R)??#?f?\\???ȷv??$\Z?D?????&?u?d_y?b??:	??NQ?ٙƏzC?0T?uT@?\'U??????t????Z$sB?\'??!}?hݱh????đ?j??Hl+?9?-?l??j5l?$?8?x;E騷?\Z?Ҥ?38???????q?]???n??YY??+?mH?!?\r9n?????[?Uͷ??V7?n??_^??;ć`y???z????\???2Q???X?__??ť??????8f?9???P???߭-Ј??@??x??@4??l??)???/?靹?RޓU???Փ~?o?{󫤯??N7???Ɩ4??}{??,0+??Ev?Ě?8Ǫ?/??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:810622990fbefe6aecff490754f841f8','e???0??\n?Nm?Ʊ??CO=f&??????ݻ????iw?,6MN?Sʚn?4[}uB+???e?7?6 ?e?ø??3?rp??c?t??(\n????&??\?mY?ua.????ɥ??g???X?,d??(+7?ډ?J??6?o?̠Oف??@a????\n?o??ʧ??ҧ?\0!????[Q??6CdmӀ?U?_$e֪Z?Q*?c?"(x?n?I?RR?zft?}]D??ԕ??}???h?UA%???v!??9?nǳV7????Ẁ??24B.Tٗ?5?U3TlBN_CH?[?????N?/?(E#?HV??`mGWFw??\'3?`|W????l?;J)G??>?????\r]??\'????z?Tlv??????\n?e???ԅ???$?R??AP\'D=0<!n?'?????{?ɾv??\nj??;???T?6?_???~T#???p??\rurl??\r?????IPeK??W?K?i?$,-@???\"??#r??D??D$?(?:??⸓8?????qq;?ƽ?̯~3?ool?????:Z?8??-?~g6{a???zzX?=????ھ7?t?c?????^?RZI;2?????a?zNv???r?x?q?????H?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:843fccdc48112f89d2f565edfe36bb4c','e?K??0??s?)??&???;d?e?R?Ԁ!9?0qR?{Z<????[??L??d??28?/???š??ޣ??T????,\nZ	?J&??AyF@ֵ??P????i??PHO?!H?F?Jq%yw?sȃ,V&{??lZ???˺??h???\n??+R?????)z?x??|~{?~pgV?\n?????Q\r?ߜl???????N?j(.?1t?ͨ????awo???3iH?^Y?T???u?o??<?z?4?!?b??c?{?6x???UJI?$?V??{???-????Jv??K????+vG?\??_??J?c???o?J????????΍?Ae??rs6t%???f??j??????&?v?d߹7|?6*\n?NR?ٕƏzC{?T??T@?&U????.??t????ZDsB??&?!~??ݱ(???????j??Hh+??#??w???*9l?$>???8E??\Z???+X	???S????q?]?????w??????rܐӆ?Rl?C??mU\'[?Vw??,?}|}]n??O??`?s?%?C~<^?I! /??'???????;???f?N?d???9??*;???g???߭Ј?8O??x??@4??l??)?????y?V>?U#??ٓ~?/???I_???n*k??i&???ʬ,???\??C]?š>??(jLO???????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:884102e7547df20f5abae37625160ccb','e???0????N?qS ???z?3?EZ@AH?$L?N߽+n????cqe??????>???F?\'?????FcR9V&;?8t??L`\r?򌀬k?????-??i??PHO???F?Jq%yw??X?L???lZ?????????/\n??+R???3PX??????\"???ƬR?1??Z4?:???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.?????co??<?z?T?.?b??c???6x???UJI?$?V??[???-????Jv??K????+vCޜcH?????p%????b????)????T32s6t%?t?3RJ5?yz?sHa? S?v?¾qo??T0ȝ?b????d?T??T@???|K.o]Bg?Yr???ZDuB?ˣ?!~?hݱ(???????j??\"???g_??2???䰅?x?èn?ū?\?hTK?BW/`%???wL?n\Z????????????$ې?r??C??oH?!?\rI?-??n??q?????_^???"X?vX1?????(??<x??f\"/??:?????N-&?:?QT?dG??JO??????`2??Ј?9O?zx?!G4??lፒ??????Z>?V#????0v???I_?hmN/??T?cK?IZo?\\?/?b?&?.??P>??Ϋ???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:9296dee82f6426583b735eb8d8649db8','?_I?(???B?=?dB???c??COw_`?*AI?Q?p~?????I6^??*	?{??9??*3\"232222322?X??e?:?j??M??2?F??U??sMo?g7Y?\Z?gU0??8מ???G.;йi6???l6W?s\ZM?a/?????U??????-?x??????s??ԫ??@л-?xo?|H?w??-???`k??????O???4?Z??6?φ?-dq??lZ??sīw?\Zݖf?L?{?\'(?C??Ѽ?n&?MMm#?NԼ??{A???f?"???H}????M??n?8????i??΢??pZ?O?N?QE???T?"\0?!t?M?ys0MF;RU??5?݆??c?&????hΆY\rx?=[???ջ???Ի<K?.??3?{?uw?{]C??X????"<?/???!v??l??????bq?BM5?}?????Z<??~ݷ2?fNϣ?^?/????T???8o?Q???Ɠ^??KF(h觮???$?qT?h8??E>	??L0%%Fg7?(T(c9??A<???,??ww??(?\Z??????ft=?a??m?@\09???*?G??tM???\\V3K~=?!Sg9????K?~???8????0`??<?j?.?F??O??>k??A?֕?\"?9P??\Z4?\0??8bi??$j??????????~2\n??Ē?S4f\Z?fSSa?DL???\'?ʙ?#/?h??뗽?d4I????i????L?I?4?&0:=??忓?f?????K\0??v\Z?0??g5?E\r?i\rA??_	?????,ɠ?^??(>!ݫH?R??R???W??7??U???wϦQx	?\\?=H}?^???2??4>Fs???????zÙ_?Qػ?Yy???y??+,tO??0??ʳ??0/{??՞????!?/???lF᪝???<`??e$???Yf\Z?Ī?R?????????q?K?Yj?i2??a2 ?\\oeE???{?h0????L\Z=??Ys9?Q???mL??z???MS=4?ځSm,???ԏPI??????Yҿy??N???7????!I?:??i?Ljh???O?9?Q?F??(`?:???hH;c????1`6?ww????T???Nq??,$P@??>\',??F??r?d\\??l??~???\"ю???`?\0ؕW,)???~y????:??T?,)? Dؘ??	??W??o??K????R??n?S??i?\n@N?5??2?~?Ǘ?0???0???\r?3X?Y4?Z>??A?\\ӡ??2?%K?v?L????.M??E???(?\\?MxE(??|+?oc??Hsm??H0?%C??Q??h??ţ{?\0???9?Af??	???[?x?ņ9??4?ŶAX?\\??V???۬?#K????????Q?????S??GfS?Fn?s[R?ߖ??%???0T?\ZG??e?^Yߑ?湣?˺?FU?c??0???5?4???u?Κ֯???7??????Z?J??#O??????i4??U_?Z_?*??4?\0l\n?*=l~P-???@H?O??NZ????\nքSN8	R?kі??@???JZP.?c?u?ӿE???p$??C?!ϫ?jN???,$?_?:?C?~?\'BNhl??yj?0?>?%?&???\r?????'?B?0D??~RE????2???\'???-?@????F\r?S??i<>?0???m??\rT?rn}\\?z\Z?;?\ZN?x?f_???h8??˦J??+??t\\???i{??V?*??{\\\"0???͈?ƺ????????R?U?Mkͣ?(??ͫ??,\Z!;?1sPM9?!?%??QD?8??????@A?w???U???۞?1??s?K?Hi??PǮcT??V??t???)?@?,ի??]????֏???`#?\0??????????>??V~pZZ?i?R?d?9F??_2?7?[H???????q?[|?^5??j???I?u??Ev_???l????9 0?n?q????r̆z<>?=???T??n:?4???zJu??\\???3??6?|?0????Q<?7??4?v6׷Z/?֣???˰???g[?????٫<];W??EC\r\Z?1I?i8??UW???0??\0<t??ix?M?:????+c??Qu??	? ?[???5]Գ?Z4???7???B?????V>???P(*z???[?m????uKv???f?\'?2???ˡ;?]I?ɬ??|n??(?$S??y?8? Pȼ{1U??d???ښْ0/Is???0!ylI?u?0??'???`I?<??k??dE??Χ??eR??:?*??v/?/;䤷v?u1?#P?{?7??Z??N?E0?{?>D(???+$?4GBV?\r??*?B??Sw:\\8=N??F?IvSsA?????{?pO8M?\Z4Y{m?k9Z?c|?\\??-O??8]M?;??????bi	5:\r(?lY?JX??e??M?OnG@3w???????,A:??$?7!????O?+i%W~?zݳ?w?E?????i???;\0?c[\n4^D?{??J?D\"t&?+?z?d0?????!?Y?{???ڸ?*\n-???\'Ή/?/??????r087^>?z?????fN|hR?ڟ&Y???????!\Zd?y??2?^??D9????5?<4|??-?? ?????0??8C?~?<?Q8?St??r?*J{???;???A?????V?k?y?^?Ǔ????ڹ_=>~Ү\"?8}???3$#????:??\'?????vQ?o???!?(`O?zw???	??6?ES?ݝr?\nrg??.?y?I>WQYB2?ר+?[?U@޿i*׸I7?%#?ih52?Nq\n?n??xKv?$K?????.y??g?C?(>???B?Ѵ+i?[???|??n0`???V)?&&?ӷ}?????,????8ө???????L?	?;???OJ;?l??n}???y?k˹??*?R?? U5????}?T???D$W??C?5˚-??r??h??c??N??bGp_/?? j???N???}?>`?/?!??k?>???ԕ??5QŸ?3??&?<?????????,?j}???d?}???Z?mC\'??\0?\'dk??G??\r߽???Z?Sj???ht??+?*?Z???W??M?۳B????CQ?L{H?G?\Z??w񀩉>r?h\r\r?+?Ʈ?\"`???\0e\rJ???^?Z\"??dK??9??8??;?X????`??#??͌Q???!?>\n?GW1????Kj$#/?aD[0?m??[^?:M??p|?\nP??]ǐ=?????	O?Sm??Г+?W ?S?ĳ(?͒I?U3???0?E??D???![???<???????.??	֨?\n&>?B?q??B]H???8????O?3????o??Ʒ^???????????6%???J?0LI??IB?gz?C??A?J	4?4Q4????h?>?\??????c?4??ot??P<??'??FeV?(?J??[?˔v?<8??P??.??֪??Q??*??D??h?CW???2dJ$#D??@???#????Qd?`???7d???D\"փ?Sy޷v????pe5???b	??T??>???o???I???2?\"?E}?G6????t??z4??qz???\r\\)n ?f?????QM\0????Y???W?W??o_(???\rD?????l;G?O????'x?,SU??????T???Ap?n2e?q??vh?j#??Z?\r?t?\n??#5K,????6??MGM??=??\rhʍ??DD꺀RN?4????As惚?ZZ\nwHS?:K?}w?;?L????$eNy?V?\\;??4(i3@??(???,??2^??7??UU?堬?????????I?DR?FEY∱1X<??}g0??t?iPke??Z?H6H?rP=W?21?a????P4?u%?\rJ??c?????u??F),??yJ	????Z????\r뷨??k/p??L?nSlC7???????A?)5???n?????岮/??K?g??+?2(%l?u??P?:b~Qe??O7[?????~??s?L???M????1ܝA?)?J=9O??W???G++Ta2?m????Z%??:z7)?^???YM??? ?Q?M?R?4.$=?u?7Y?rSi?t2???L??jo??Q??Fi??????K?ՊuR??r	.?I????\r\rb??6\Z?ȕ?-P?z?L?s?*[x??m?F?o[?~NL??? ??]?p???]???ц?????}O??/?N???????^D}1P)XP??K??ݟ?W??	???ڗo\Z?\ZX~?"?<J]5?3?=??.?f?EW??~???O??V}]t]?r=??$Z?	$8?7???+D?ũ???	?0*???zL??u?՟d???C??Y??eK?uL?i??Z???ԩӺ ???rP@?3%ͣ??\"O?e[?H3偦h?[lY???j??A?z????YÇ[???)8i?=?ir?Z?(???E???7?????i?,\r?Ԍ8??X?+?RT??Xl_????P?n?|U	w?I?i폰`^Bޛ#ELt?IG%h4????3??{WK?????~羂m?????_??ѯ?\0??;$?4\\???,*????Y???:??	?\nI?GWd??:1ZCi???`?I???ș???r?ρL&Y??Kizskд???@>??&?X-?	i???D?a?Lq\0??v?V{????i2@\rR??ϯ@?|?]{o?w^?(G?tSS?i2?li?U?X??m??Nke]5ԭ\n?d?&??L?#?$????qCRB?`Q?i?Z\r???Xc??n?Kyb˨?&???\Z\0???_?Vs??z?Z4??`?X?Ǉ&c???e??i?jt??3??????Dh???u?YK?[S????$[-_Y!??v?1??i??B>\n{ޛ?F?c?????ןB	nd?o??Y??\r?`??/J???c?R???U????J????V???W??o??l??t$?ߢ??\'j?`?D?%C?+??1?c??Y????pgZ?:5?WO\0Z$Tiˁ]????ٲ?m???޷w\n;.?\n????廪??rE??\\?7W?_?ٮ??????`????????(??g6?@jXy??he???ΰ?o??ܔ5ǲ@???]˹???N}??F?VU,?`??^?w??I?0?;Tt?Î2???/$?X{ϡ?N?.??-yW??ۏ?d?*bf\\??`\Z??#?d/;??0%q????.?i???e?uY?\\?F???euᠸynTX??)k?<?7??`\\???y?????آ`UKQvj?u??ϟ?G?Iv???h??&|/\n\nK=:??s?{<X??????>K???%?,?x??~uJ~{u?l?e?????o?v? -+@?,???pXPf??!oڣ??G!?c???	p???Yx?y????S???????x???1????s?s?V{g}?)????^???)?d>?G\n????jU???=?M???0??[??Gu???E-?Z???U6?U\'??2TC\r+Ҧ0?E?.ٌD?ڑ\Zm????&?LS?t????e?բ?\Zgy#?\0????j??r:????X??K??՜??;ٗ]\0??ЇL?Y?????R??,??Z?M?????m???״?&????\r???e\'(??+????r^?V1?k??:d+=1?M??g+??F???I?6S?n????????\\??a?L??2??W)?Z??%??Qy\"++R??]??/?,}+pe\':??&^??r??X???????=w??\n?1vx?.??Ujaz`?\\n1?LAB,`?\"=????.???$?Zl???̌??>\n?8?h~?TW9?????[K?k8?>??ق???_?\???????sxT?ww?fcN??v???\\??9\n?Rm?5??9>y?V????F.?*?JSOV{??z7??H?\\\r2????ݦ??*t??y	0US??????)???@l??l4??r??t?L?f\r???N??O?+??? ?t?\"7QyG?I?wu???\r???/T̎??aM?⭋?`ŨI^?Y<???s??˚[̒SNݗ????ё???\r?>q????~??5\0?Ez?[??? ???k&??=?	0?????ʭ?-????Z?\"}????X?\"??K????N??9?\Z?f???zn?? ???s?N??XD??Pi?????I?\"?5)???0??ϊ}?\'WxM???d??Y8x*??_?=???x???^-6/??4[O???R?Y0tR????I?	? ~??\'???????B?Ji?????!S+??\'???X??R?A*??,=?k??<䵵(2??Z?lD?????????b??lֵ wuk:{?u?\\ѹ?ҔeeR2?H?^?*0§???E?[x???c???΢?==??nD/??zܜ?x????W??????&q\n?V:????h?X??L?1H???!?4?W@?\0Y3?Q??e?w????|????l:t?.0?	??7?.??\"ռ?~?>8??#??t?	Ƭ	1קhf?Կ????\r1???>???????????vE???yޣ?6I??Z??})$?(?\'L?&??\0??oQ?Sؼ?:ٶG????<?????N??PEm?-????\nh???Ʉ?????z??ؒ&?)?ζ?JWU??S?{|)????????!Q?T??)??\Z4???Ƙ?????B??F??Y<?W???6???"??6^????tVJΥeZ??N?B?=??kLr ????mTfc6?+?Gg1<WXNf?8F?y!?	??Ϟ???sn?*????7?ϓ=??D?W??????p?t$2F\nr???|?????Y???b*?????b??q?e;?s731v??Gh:_????aC??}??Y?????>q??Uo???2]?q?K??U,\0M?&??\Z?\"???J????`d?au?????7]???!L?PP?t=?ݬ???o?rzx0e?_?\r?`??Io?ï_??x?r4??H????++???k7]Y?????f?C?C??A?o8?l?????1E$??D?N?#\"#??\Z5(9???????????HI???Ûd/??j?a;0ԡU??.???[??ww??)?QlA??w??G?K?L???n?O4?u????\Z?\01ah?}bT\neXM??J?~˞s? ???̛?+\0:?!?ʀ?"?9?????i???!????BF???/`d?,W1?9rӎⓓ ???L?_J?*`K7?89?EfE}f????????U??Й?M?<?!\Z????????B?"?;?4????8\\t????\0??K?????i:{R????1??{K??rs,??1X?Y???q?\????????????w????????????????????[xփy??\"?z9????i6?vu}?G.?)H?:??\\?m????U?#?s/q??G?f??????5?K??a??E??f??Ҁ7aF?k???0???{?)???'H&㉼G?%\Z?(?????h?\"?Y?]`R???<_??=y??%??f?|[??*uDW͎???\"?]????ͭc?#?!6͏s?_Dԏ??n<?[j?Ws{??e6^F7&?G?K??P?8R?i?(/~?S<?LZ?_Ӕ?{~?pnS????0?TtI??*??\'?Bd??<???????u??c(w<\n??RN?4p?U?GQ???Y?o???$?JR11?d?+M??]?N?4???{?\"??>FR?Ť$?z?L?+oom????V_⤋?hTr$?hι?7Ǻ?/I?R<?\\e؉???.O???@?????[N]???bP0???????,?l_?5×j?G?<D(????^,?׆?x\ra_???bx??Elt??\Z\\?N????ݞd??fH?ah?N?"?????????0ͳ7?k??BF?˓?C??Ӊ|??j\r+T:Վj????{uM?|????????a%?a\0`%I?q???M??n???ׯA\'?ΫQ???V?PF4N?)i?????/wKL?UhS8???]?????xj2W?4??J?7??;??g??*Bśҗ???x??_?sw7?&C.?1??=\\?=3??5H???(}??|?a1ydK\0??\r??????????5?:H?>?\"?K???G~?hY?!?~????WǞW_?z|z/????F?qd9L??%?ʊ??S?]Z??\n???L??:??e?X?%?4????XEK?j??????5?c?X\"VH??????7X?s?y?????n????\\?U??܁].??7\r?f?????????q\'??87??3?<???????v\\?Nb?_:?O9q??OJ{?Kџ=?&?"?R??\\?????v)?ƴ?????L??2??Bq?G???????P?t	H?-:b????GV???\rhN???R??9??4?e????rV??Nwb?z]??ʁ=?Fm?^DQF??$?&??Z_M?\"4?e?Z2?!?????: ?'?\"??C+J\\+ӷ7?<??::?9tSذI5??42D+?\'?.?@=????Rɕ???????????\rB|??%3GGv????A?*?[?????[??a?????nu?|Ge??PY??pMA{>PѲ??:t??au3m}??_??o?@???$~?<????q????9?ZO?*=Ӆ1\ZԎ??\0u??6\n??A?^\r?y????Y?~T?#X	[\Z??\Z?E?i??X?-?c??^g??F6^?M\rA????r?Ӭ?Ϧ?&}?9B??_\r@i?Q??)???ҝs(?N\Z??|?=??F??\r3s4???09O?W?\\@T??>8?"|??k???v?j@ŊB/??ng?@?3???ֹ???[?=???zb??!{e?Ԕ?	?t?0R🖜h?w?X????*???,?O?|Oٺj\'?~20r???8??w?????????[?х_m??;R?)?L??ܷXC??#T???\Z\'y????i??:?[«|?8??4݆?Q??i???꣋L??"???Z??g?C?ɗ?	???K?pڻ??XM#qNU_^e??f??)????r9T?/???????!??|?̆?M?!??5?:?\ZLٯfC???n(\ry?kNE??6^z???:?-?F$b?????f??\"cz??1?|:!??U?Z??=???4b_J?ܑbq?ף.???=3.?<\Z???$?᝔??d??????,?pe\0^p????\0z?N??h@34???^????/?2@????P$?J?????nX\rvIWc??4???????)=?@{?=K??W??ao??Zʽ???\'?.???,\r?yW???*q??_3g??x?Kq-n???\n???]???????????????4?MS?L????SraA??og?|?????6p?6\nc??3?=)?????z[??!]?????j??\\??_V????յ??N???????\0?ml??????0U?9??a??N?dS?Ʋ????7O\Z?	H?Mt	f?t\0?<??\0???z??a??J??Q?z??ӽ?o??>,.lv)?8?[X?Z?&?\r?\r??j?????????7????/??{??o?8?r~}@?N???????w?r??????$???ۍ{;Q?n??4????&??\\w?\Z?ds????5۞??3v$w?\"??n#?????62???fq????????۫?????M??:??+X?????????s??????9???χg????RA?????9ͧ??t?????!7?<??ܗ?+JK)f?????????v??΢4;???w=7????\ZN?y?G?q????-d?_q??^\"??z?\n|?O\'?XY?\Z???{hX??&???V?=S?Љ|\'[f?3g?R????????ul?\r<??nW?(??m??X?Q?? k?\n?E?fSl?m\n??M?????e?/,$N?7???.\n??4\\o\"??8??7M??ђ^qx???bn???̆?????s(yr?i??????\"??????o_??kL\\?Mc???t!%?:???ߢi?VS{????ٻ?ro?????????T????Ô?\rC(????????0?r??Z%$???O??<ń?C9~?6!?:)\'Gy?A??YG??ZPCH?????%c?T??6Fxq??ۿ?\0??	.??Z?;?_????_ʧ^?X?0`?h?r?iC??T-?$3??\n4?in\0W??ba??Fn*?R	+0v?Uy\n??o???zZ?0=\\?r9?????w??4ʤ?\"???G??????HR*8????Y?$??xk\rP1\nH?Y?^???Z????.?????磐n&?.??J????X??8Y՞??????????r?(xQ.Z6??????R?Z?o*??t?}Ph]?N)K???#??&\Z\n??%֮[??ꦼ?,?B???_E˨??z??HK?l???:????j?????]????sk???ޥ[???,c??\0_?????&?,??`{gZ???p??P?La%???U+&?x%Ђ?F%hm?"+g+e??0?a?3Z?\ZF0???W?VF????ʀ-?tNj?n?,???Tْ?O-,??Z??	?ڲ?n??c%???^???fg?j?H?W???#???{8ɞHTT|?\0?y??\'?a????:??Z-???4?`\n؟F????[}+H??I!???<??Жlz????g$Q?ǋ??A?/?N<????y???xy\05???,????b?B?->????}?D\'?????6??o?????++nNؓ~Â??!i?0GD#? ??GK??!?????n&,?B!߽:LB??*?d?:M?E?)???YR1D?V|fn????~???J?L3{????U??IYF}??????wy??dd}Z͙v?^qC<?%ÃI8?x??4???Ef??\n?۠>?$v++\ZX?~\Z??飮S<?90?f??????	X???s??^~???{d??H?\'?'????w-\r?F\n??5?gҵ?#???ݼ?- ?%_>X???.sȕz5?m͈\nn=eY???n=?#?r?؋@?!???`z?+??>????[?Jf?;?{?r;???K????.?$}i?a?n%?uw?=I?Q^????????$?	??Z??l?m`??\'?XpȬ??@r???ȸ?ۅ??_$Ȥ?kEGy??q?\'?pQ?*?fA??ˎĂ6??/?????????1?F׆?Wj??2??`B??ڣ??T????(_\Z?8 \0???:???D?8ru;?????????$??????7???*u?$q`,??o?(^1?n^v??KZ?	J0?r??U3?????@?91}{??W*??xO?k?\"?? Ң?`l>??W?(͓???=:??5LYRo=?z?\\?v9?F??5?g%+?_\r*??Y?\0?l/??-??2l??4????م???M???,^L	]????AK???????-??s|,@??]A?thci#?@?????\Z????^??[???\n?)Y????{??@;8?`????rP\\?I\0?ٸo?S?.7????Q_bM????;?CͭT?&|>??A?????֞?5??{???}????Y?0?ݥ?K??v?\"?e9?-??[????	\'q?E,+??]??uC??\n&??l??????B\nzұ?X????֙역4&?;?(k?z??g?A\r???5???N}ܪ??X^?5M????l????9?\\??I?>T[c???_őG??*O?ɕ?*1=??m????r?:?7??^@V?q?<???ͯ9JF?????\n??B[@???gL?_\r?=VT@?P?\"??R????2I?SP?ҰtG?>?@ sf?++?do?V?6n?q????b?;?j2?3U	O?,/(?A??p?????.g? }b?y?????O????چ??1??c??"?}?R?ƶ\rKUDy??m??????$??G?~??\r3\\Z?c???w?h?^?OO??\'?\Z?Yk?M???k??\ry???8?:???+o???U?SN!E?^Eg?0fT(???	??????T5T4p<????v??xR??4??5}??Ѩ$bw?#????1R.?[?R??(????<??	??W?	??r???????ut???&?㵍y2x?g??B^_ o.<???f?`^??0!??E???)????-?D??iv?b?-N??b?/\'?+??*R*t??{ʟ?U?Q?-@??/?/??G[??Q??ͬB?%??\nͲ?????b=? G?}?6J???߶??#Ї????,????\r??I????Z?:6??믂gM<?%??zb????$3J?????j!?1v?\"?F???/Vf?]l?֦vdȢ??d٭?k????d????uaR??\']?o???????????{?;?&$??Z?\r]@?\Z~??M???C-??д???-m,`???P`??x?\'97?\"\0K?ת%bq7????}Ŝ??|??w???K?<;???????K$???????9??_?|q??\\???a???x?}?\0m????M?п?x#}???4?????_??n??PxX7?\\v?{??\'g???z\"???(?Ҁ?	?|??;?i}/??	ʬ??_Z?Ie?}?????ޡwu???D?_Da?\\Y?,V?텙???[Ol???3????{d)D????h菣?CsZ??9\"0_??Y?-g?糉??.?c?g?z@^??7?v߰???	?????e9!d.lMݑe?Wl?????by;B?$????쌢??D?Qm]Y?ϡ?1?m:+????S?L???^կ?W?L)?ȧ?_=>??8????H㪉dcU?????}Yuii?`??oQ???Tګ.F?\'T??b?a????t.H??l?Ώ?????\nǦ??s?hy?+䙳?Y????C?}W4??????\"^m?eZ1???@E\\v?n??=???!xtx%snR?aaBq??9?=:~(??{?4??\nā?)???>?*!>w???h?۩????9V???G?FG?A?B???\\??紐?Ę??2?1?U?u~~?\ZL?\n?qC?Y-DU(-???\Zb?	jE\n???(????~vx?e?,?=?f??\nnA!???\rS??\'\0It??flJ?g?kjx?,?d??W4?VfGIH??????X?!?i?%_D??<?J>?#??n???׋e8?>u????e?d??????>+v??????J????????'???y???\"X<?:?~\Z,??0tG`??l??K6??)?u7?????Mq<?PcOmt??ܸ`<k7?U??????SB??P?I K??E???d??֐t???0.Z;??wS~?b_o??v?{4??G?m??P?0Q???/?&?0?)H???&>????????V????V?BJz)LC??o???r??.	ph????8?R??X??X???(C?Vt?Fm-dS???B?Y=??LÒ{?KfksW-kC???`??????@?mC??u??COGt\'?#????K?S?????????H?I\'D?|?Hn????wuؑt??5ַ(???f:??@:??{;?\0?8c???(?F???h?????zww5?pz???quc?DN5????\Z;?g?4E`?JUݤ?I??Θr\0	?gk?3?W???W9?Y????>??ur?+H????[\n+???/??We?ց־?s?W?\'\'Q??w?y???  ?vœ)\n??DB\\?????J??wE?8??I?N?\0??(???ԅ?K@?H??Z??_&??????`8U??Q???*v???;<??`xOE?????%[8?~!L`&g??-?SZ??P?b??,????l][????9???@O]???|!???죋u???{fxuTHѧq??U??ɺ?\XY!?TA????&?-N?\"?^??s?\r???;?[@??????4?{????^mX?l?ب?k??Z?7?5????__?????p?t?X??????~}}e???W?,???\']?o?*r?@??vu/Eܗ?qy?3c?p????????}?3H	?\0k,ӨOA????\09cnI\n+?7*??z???-?$>Gt??r????.=?`^m??????X????sTd??<?h???\\??/C?[?m???Za?? |?"??\n?ȭ?WЊ?[F?4??N?D61??SLV??????j!xReq?u??'(T?e?U7?ŸO9?{;???,???p??ɂ???NA??El?ǹ??p?????1Lw?\'y+O?r*???\n?Wܳ????$?	ײs<?m	?rKȂT\0捝xtN[Q???'p.??t???2\Z%?uL??<?J8??[????u???/:?`?pGH??_???G?$??2\"a/?\'i?ZY)K4??6R??[??>?ؔUg6.?\"?z}?-??J??u3M??sB???7?s??|????U\\]?l?Y?.?Y?????#\"???T|~?<#T??I?y?*i?5??ţՒ??s?_??????G?9a??2?U[W??????֗d?\R?????V\"3?W-d????gT?w??}??%jjo??^??Ӌ8?W偊j?:J`MN?~U??4ACX????a|?\'?UY??#p??\0?~??|??W?h??i6?YQ)5?q8?q???}|{DB??Yx??\Z??>?q???$??2)KU?34?SЛ8?????v׆yeeu??\Z?xu???W??hp?1o?vV?????sx0.p??????V?ʹS?[L?ٺҺ~?oN??xl:P?g)???.??????\n?Z?_h???K*???Gc?T???SK??q\0????~?;(?????D???-#?- ???V*?mJU:??.?a:V?IlT+kA\0:???5???1aJ??-?P+?XJ??y?X?*:?F7BhN?I7??R]?A?g??D/7????|????0EG???N-??ρ????6?S\Z??O??RL???k??\Z?P>EԎ4?\"]????/???w:??????uX?ΦK{??E?k??R@???\r??h\"E?<nj???????;?ǩ??O-R???+?R?*?n?3??:?Á??m??<?^֔???\0???~_PxN??0?=??&ҍ]]|^???:?&?????/?Ŗ?U?Q:???L????*a???S$?f??{+?R9?ɢ?+%?N?ִЪ7?????\n??^???\"?:4#??"?v??G?v$?(nYȼ???Q??L[?PD8????????_???B?u?V??|Q?\n??>?_@????vhQ????bIDY?Z?#?H?I?VxP??^W\"?m??T??OU?e??*??#?:?d??֍uqa??}??kj???(7èZw??nn????"%iM\n\\?D???ܐ?$?S\'?j\Z??a-U?.?%??2@|M??N???2?<?K??ؑ????:?<??y@?/U?\r?&????b%j?1??hy?t?:֏ԏf?5?Vx?B?nU??c?U?0h֟?\?W??IU?"\0~??G\r??/U-	??????F?61?????1?P?!?)?????{???~:?????ժ>\n??r???o?wS?u<x,???sTŗe?~????택?=?ڀ??_>9???'?&|}?????y??Ǘ??ϟ??T?\'?3????????????R^`?!??5?v?zm????k???o???c?!??,<?&?oa?p\\U?D?????\\\\(???4??\0d??V?A?T@t*=u?P??4?*???????ڻ?F(gVbՇN??b???_vVi?Y`?@????Q??$ذӸ??r8Y???????v??D???)ފ9?@?o\'W?%??'?JIEx{#zS?:I????\0r??`D???6?4?*;?QE?TA>w2?.E??;=?;\"?6p`g??/^l?F????3??c?s??T?????/o*{?X0!P?5? ????X*?.@?R?;@?X RE4??*0?Tv*?/1O????K????|@5z??ᶈ/P.~???&\"?? T???ǉI??:??7&?P??:?`?b?=??r???\Z?t??R,???\ZT?;??!}\"<????Qc?G??P??fc*d?????7h\\?5??sY?X?eS??"?w!n???h-??.=???~??yE??$\0nc???N?ޏ??.Y?zqv8???9M???\????X??}?}?a{?w	t?!?^T?;????\Z\Z\r?\'???p?C?%Ƭ?a????????\n?5{J?Io???BY{?? 6\n??????[Z????f??????̧???U?+\04??/????2Ȯ`????~\"s1$-^\\]$??\"?ߌO?+????? \r????66?S;?f?SJ?"?	R\'!??gX6??? ?r??Lj?????ƃĆz̔e?7??x???)Z}????;?k=jRXf.p?ڋBv?BFM?/??v<o?SoE!??|,ٙBu܀?Ō?nM??8?????+O?b???vf????l,m???\nCoh????ϷZ-?l?`q?r???Er?)a??E?ί)뮑3??O)|???D0??a.??\r&J<???ػH??o\ZL8z*0????;?F?Nb?j??;?`??L\ZU|?%??A?^2?\\?Zԓa??mT?;Ů??[????*?c???z@i???`h6??%Y~?k?`??̢?/)???0ʠK?}(Y??U?J>?R	??g!?w???H?$???h>O??????54?j?;?d\\?PLk??I7\'{???u?\rH???1?*?p?????8L5Q???6+?J??XR2o??/??igY?$???c??P?#]??O?\rif??P?_???Rz???_?????1?o?9?j?\r3??1}?XooRm?re,??U?|1?pУY%??ghƽ4?8Ie???L}??*9[??(ǵ\Z?y??y?P_???????D??,;??t\no?H?-	?$C\0G&?=Ѕ49A??:??ش????,???Jy?>??`?ve?ı???/?? /I?jp?&???}f?Qd?f???|e?з?d0?P?B????????????[?Nh???4??/q?????-??|?/?RM\0?ɹ?fzQf0???p:%e~s>??]???0?^+???g?&??_tM?V?E?o?Ef\"3H6\"+{?????oZWP??x3?{??????l??\rY??M9H+?j?=??_?I????D\r???U?*ϯ?????\r?????P?ɴH!ρ???????ét&??t?E\\@C????5fX42X?Wy?n?S?I??|Xs?????(?\';\0v????Ņ??]v??@??B?Q??B?2JT??r2??=?R1?j/6???~U???????ɶ ?z????h?\"[?jAG/$?????g?i;,p{?R\0\r?@???W;?sMP\ny?/d8?7F?DX?59????vۈ?????????????Hȍ??5,?K$?????Pw?????X??Q(?,\n??:+E?R$m?<?6DKz\\???ck?Ҷ?cqh3\0\Z???K?e????????@ӿ?\Z?\r??~?n\\?Oh?2._?&?)?\r5???\\/?*)e+???@?_?hr????????4\Z?i????\0h?A?P\n??ّTK????,Z!??Yel0??C??C???!u?b???͙Һ=c??1\'e}Ψ???\Z????W}???>?̳?F?%????>????.?/???R???P7???@????9?N\0??]+???Q8??????N?Tv1?9???A??ڂW?f_[\nz]*W??S?l?T^\0?&???????7#???HĶF\\g?G\"?k?rF?$???G\"nj?F?$?|ƈ???L#>g??D|????A 8Lw\r??o,??\09(I{??|?y??????\'???0֧$??????????\nh????06?񱟃??a]1??{d&Rw???kXh?????????}????Q?֓??&Em&?mE?2?S%mp҆????V?\'mYI?陕???[I/8酕??^ZI?T?e??IZ???݀????$??Ҭ6Z<??ڜd?:X???\'Ye69?r??v????9\'Y\\Ȅhqm??\rB??]?3I???4?}I?[?\\??Ѥ????T???? G?q?S\Z]2???<?=?	????S?0q\'??????\'?JR?&ߙ30?x??[????4?U0-??G?a??Y?W~??\"?? ?m?N?O+???????n????k.????,?*?e.Пf_?SM	rMn?7j?64\\?S?i?߉?Gtî??7??{???$??A??????4Q{8?x9??jq??Q?/??a«`?j???x?:?????????Jܴmd?h?ZY?4?i??-?f\n?rV???By?u????s|k?}m4??{?Nbww?.a??\\¤M?,??=N????b?_??}??Ų?\\;????\nF\n^B?~Lk?r??	?p???z??#?????kiF???%K?©?0?i\r|?????A????։?O?Q8????\'c+??s???nz?j+??Ȝ??$????I9_Y9<8?_4?????C?U???i?{??4и?x?e|???4J ?>M?XY?????????x??\r???P????+??n]B?C??ʻ??-,?????R?w?n<ԋ?,U??K??٠R?l0?]낦I??ى}s	?8u?>???l??^???╻?ɼ~˓???????d???uƙ]?}??? ???V?xM?V1?L?Z?R??&7??w???\0?Av??d???v\r)1??:??k??DN??\\k???Z?4r??Z?????O??~??{<I	W?2???\0??4ŋCv):?d?AS>$i??^?h@om??u?J?\r??X9?\r?W3?#k????;6???*rg????\X?\"aj?U?q%Σ??o???[h?n.?????@ȩ?x/?U???d? ?i???U??2ئ2??}??{֪?]\0??o<k-FX???K4?K?qW1??T|U??#????^??zM?C??????????R??,????-ͫ?öߐm????Msg9?0????#?Q`?Ȅ0??{??^/??f*½?bї??\0?z?̢?w?P+????7D\rҡ??????|5?\"^??:>57????Q?}\"G?oZ????j???????(??vL\n???s?&F6P]n6???}?????	??uE?????h????t?Vk:???+??Q?̲x8?.???N?^\"5?*?;I40Z@?????P 	O?5?????k\"(?{???Rz?????yt??{??Ơp?????ev??k}??????f<?$?M??D??Do?WV(7P^???WBժ??T???<?|???-??t??~?\rӠ\n?^5k?\n???R?v???Xv&u?8??|?0?z\r?????%?_?1ji??]_??7????&P?G?\"?4N??&t}????c??)\\F???H_???S?S~- ?զ$n,?x?@??u_?CEI??5????1???\Z^1?\n\ZX???5?[??????\Z׎?C?G7O???|???|?t\r?KEHQ?	S?d|???????_?>??F<b??DY??h?\0????Y]??v????Z??e???^Y???N?\n??cy??M6<?\r??/[?I??????w??ੴ̮?z?/P>????`?ؑ>w????k???Z?^???U	????޾??W?ZӘOm8yX???&???%?Ԁ-?J,??NВ?ƫ?.?:???{??v?M?]??V[?^ZtV?h\nn?(fф?Q??<??	?????=?0\n??e???q?????"????G??=0?H?0?)痠+Q???|??9? ??Y?\nMEժ4J~Ҫ43?F}??]&Z쏂VC?`\'?{?7??????ݼ?Ӂ???%U??K◝z????=a[?|???K???V>?C\ZИ55|t?,????:?MP?d?/????]??????JDu??gq?s????i.*԰?*ٞC??\0)?Et?>.?????I8?U?J_h⭬Y?^Z&?5?rq??Um	G\n??	\r?)n?Amm)?a???L??AA???y?E?cx?+A?e??,???2?? ???s#3w??*2?????v?Œ??\r??J?T?f?5Y??j{???1?Z?ZDz`/y?&ʄ??Jy?2??&|??ਓ<?.?9?5>?8=??\\r???????o????v??R??	7?U?p?Fe?P%\0?2?i/~X,r??{;???e??+??HC??<<<????	?]Q???!?_??C????,??\rī4A?&??J????g?? ????p?B?????IW/?)????,ͫ2~????y???>s??n????π5Z.?RZǨ?|- E?=???[??vEX??????f????]9??Z??'?o?\'?iZ?r???V???gh?????K?RuwX?Q????C%J1??o~K??MB+x?=?eġ&??ܭ?Dlc?P?KkO+?x_??n:?z\'??\\??u~\n??odt??0T;?xnV???????Q?}?s??????[????g?/?g/*Oז??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:9876e9f9e3a8aa574c6f717c697b750b','?kc????\nY??????????ѓv???????쑴???'I?$;?w???\n?B?P\0\n???|???1Yt??i7??pN????????z?_7??:̣d?u???Z?Un???\r?:??n\Z?`???????;????o^?????ػ?'O׆\0?n?>?h?????????n????(???v?????]Fc????K?ȯ????&?s????ee????"B?9,?ݛ???Y??\r???????׾??Vawx?\'????e????q.~M??????׷AZ??F\'??????n??????^u?29?\"]??\0o[u?nƆ]h??7???x?=????yxo?????????????w@6???Ă]???_??.v?Yr?;???VG???\r[??uwq?MG??????????????j??.璸?z2?+???v??	\r???????K??(?T4??{e\ZLB??f????Y??딱?sh???R???j?\\?,?/9N_@uûY?????0?Pͦ$?X??? L?ժ????OOxȸ,g? ??1q?K???\r????,??Iآ?+????9|??>??hVW*+BY\0?,????*0?K?$Q???#(F????]?\'\ZC?dDSU???????*????	?,ɿPb??d8G9?BtF???N???~??I2?%S?EVn?h??dz\\??/????R?	?HzH3@??m6	 ??k??@7????P?I[\Z???? g????51h?W&-{]?烌;m?vT?|?W??6l??U????4n@?˙??????<I??e?7jso?\n?PB?rk~???/?o??????A???4:????ɢ3???By\"=?D?$?\0?Q???`:??s???*??Cw\rJ??Ҽ?O??Tċ?YL???;f?.?@?Fr?8ͦJ??V???}[/2i?Y;]͚;??:?b?????@?5L?9????}?l???ԏ@??Ă?V?Z?|???栓?%ҭ?i??dH?0????n?\'?????*~??=D?*?Y]g???ifl??&???V??~S???1R??\0	?d?焁t?5?٠(?????]{??,Z^?"??[E|	?؈?I?dIY??^??עs??D??????????E??1??$??\"??F?I?k????????Ͷ\0?Y??\'???X?\ZKC?޽??m9,??>ei-_`~N?\"???%????9????&??`k?OS:?d?&J?k1???H\ZN???f)??????B???qd??9-m?#?r?e????*m?zD??V<?͜?r?mh?iV??????XSm?Ƒ!??????h?vY??[??)?#?)A#7p??????P2?؜́????ڏ?(+?????Lva?[???+?\rG?Оfb??M?@??D???Q????~?dW-??^]?5,oh???ī*+Z%8???s???_??o|??f/x[?4??4?l??l?ߨ?ā@?F?i8Q\'5??l?C??q?\'Aʀ?my\Z*\0???,M?????J7Z?[VzMgK?eh)??\"???1??????X??/?!?bl??yj?3?:ŨD?:???\r???x??'?B?3D?٫%??E?a\\?_?<?[b??R/??*????}?e??θ?????T?1PM?&z??Wtj?[?\ZN??????uyڣ4????@?	??	??<m??ٯb2b?]u??&??q???1???tS?~?ӿ?YMcͣ?(;?9?????栜>\n?C??K???ê???`?-?T@??v?V???Zi\0?s?N)!?bnrEI-G[ul\'?P???d?t??]|?}?_???U`??G^}??6?n7pL?F~??CʣhS??????8?>???-???u??Z??#S?????????7	GQ??⳽FǍ^?Zd??	?\Z]]?:??`?\Z?7??(Z??w??fC=??O??ԇ???߄??z?WQ?]????_W??4̒y:???S?ßI4???a?????>???0>}?:?=폇/????/Gφ?\'{???l?A??<\r҆װ???\0?????N;??¯???:4????@Ty????DQ????(:H?ñ>????\n,?1???:d????JQ???\"e?`f7???ܷ?bg????i?=)???h|????A*?????ք?@4?b???,?{?@!s?T5?/?eR??9P?9>?????n?Ö4N:L?0?O?\"~u??R??R?{Ql???Y???Wi2??O?\r	)?uz?0??^??xZ???ZF#???T?|;????c??B0EI??B?ݥ!m!?6HH?ٰFU?j???p?!?R???8??-TT????vO?NSt@?f{o?r??w???EK?????????w??/?$K+??@%?UuJa?|p??5?V?,\'?3???????3P??w?C??I?:?`vW?????8???rV9??N?W??_?G[\n8^???]]?[!???f:?$?ݤc4\Z=}d1???x??q?\nmZG??`????W??W?????a?<O_?\r?????O???Ф???&y???????]8???	?8r?z?>Ѯ???g??<4<?Z?!?????P؈N8C?????Fazd?? ?0???q)\nZg???u?????잟?_\\?{W^?|?????d\"l>?2T>?;;!?ÿ?2\nO?/?????-??@l?\n?h?V??H?????h\nX????_8?q??7Y?s%?\Z?I???$??4??U?W?I;?&?\Z??w???????dAގ??ղ?o???/Gc=?.g\"H?]tM\"\rp?<?)V??,??"?$s~$&k?ӏ=????\'?`J3??At?L\'S}U?ܗ??Mf?????EI?i?}-???????^tEj9?f?(^??????na??,Ԟ????{\"?????a?ŖRV5ja??pU?^[?NŴrGp_?$j??V??ib?=???uC?޼??PN0??:????=x???̃??IX?2)!0?}?a?\r?ز??????/ɒN?hZ	h<6I~,??kQ`?*f?ݥ?`?o??W쪌?wY}?\"J|?_}6Ma?n?Oƨ?F???t:R\'i????.?ȝ?54F???I?6`?????M??0?Dx7ɖv>r?pr?????k???%0F\'????(/?C??((]?Z?z??F^|\n???M??^?*M?ǟ??(T??&I?\Z?%hMe?Lx)??`D.@??S???????????=^???JCC?宩?<??,??U??:??S??_?]-??R?[S?g???u?֖0??????z?\\~??B?}x?n??M?:?.YH??)I??C??P5??\Z?k?h????.??\"?8%7???K??\'??Za?8E??7?ο??A񴺘?W??(???F?b?a?_???a?????*???t?M?}WU? ?=$z???S???-C??A?b??h????P?E?.?	??9^9?S@F?Y>I??*/?F»?o!0\\YMae?H?ಒ??g????,??WBFWd??pD?fzJ???Q???!}m?H\n?@.??8l	\0??u??OVd?w?#?k\0?2}la?ו???????O?P????8J>???ɘɊ<????????u???/M?OK?&4??@SX????~jS/???*<?Jc?z??s?T}͆?????+??????\n#?\"Q\"y]@*\'C?l??T?惖?Z\nwH3,?j?=w?{?L?k?\"%eC}?Vt?\???̯h3@????K˹Y???}??ޤ\n;??????jL0Vd{???hI7DR	?*????>??}g0ı<?ݠ?fS?J??l???q>mXubB?yk!q0?ʷ)?a?=%?????\\?g?%d????FX:6p????c/0=:?Ҿ[?m?u?@?<? ??&?M[@>??6w???JH.????D????uk??^?l?Cw?????7[Ժ????~??s???<͒?:??\rwkP?q???\'7i?/0㪔?\ru??d???Zq?k????(|-?f=4u???F??6:iZJz@*??>?觚h?T2R???4????-???????rI5Z?*?U!?f6i@a?mC]?????????Z?itu?~GU+?3?|??Lk???W??=??`? \\?`???6?E?!,a[?~(\n???0u???B\Z?>?F?8*????U?-ӽ4X|?I???c_?ߪʟ????9?_}?sɪM???E?;dd????Ĵᩪ]?m?d???p?&?`!??o|E??%?|?K?B `?|?i???`F	?;??$㮦j?\Z???\0si?˔\n?????jC?S?u?/ڏ?2\0?NJ?G\"-??t;???b?MQ????l6F??\Z?#|_??G|T?P??>?"Յ?H??l?B??E????-n??(??\\!???,?[??n???iH???4??U6?4(???۷??(E[1_ao???'????:?Ȅ??UL?c?猬r?p?U???f?M?_??`?y???d??h?@\"??*??+\rn{=???}dWn7??ﲎ組??????$eN???f??N??P\Zi?IW`??L??DWm<Ylp??I??ހ???u1e@?.?:??	?%V6E??\n?|RX?q?$)@??h?_?ѹ{g?&c?.??~2???z????d?M&M%?r??\n?\Z\"b??i????Z+??j?_l#5?2?!Dzm}?\r*7$E??7 u?v???-?4}??z??L???T?vY?X?B?^??t??yf?@?^???\0??????]?ق7?Y???3ښ??g?c??s?1\Z?Zq_?????Z???4@E??f???f????E?X??0t???7??^?????W??k????j???}?V\\ꍤ?+?yo+?2?D߽?떁???]{H?#??m8z?D? ??Th?Z????^???T؏???[??>??jP\"!k?MR\\;?ͳe7?1??<???wJ;.֚?Fbi?.I0??}?%??7W?_??????~??ʿ?_9??^?ӣ?Z??+\0??Ԗ???wU??ox??䦪9?*?Ff?nDdZ4zq\"?A?2R?`????]Hհ??η??d?UFO%_H?7?v͡ئV?.?j՜Et?Ey?v?03???8\r&ʑQd???0%qr?i?uw#*m??4}????U]\n]?F???yᠼy?U?????????xo<u???8fS?$f??Ѭ?x?\'?r??????(,??E??x?\n??c???$wxG*ʓ$??W?????????`4???L?Ҳ?;?g׭???=?M{?E,??u?^6.?F3/?~??S?{?!;??vsi?????<VB?@[??N???ގY??;|???<?t??q?U???g4ꉊ𞣾\\3Ytw:??g?è?K?q?????f?H:	T?a,;Iޔ!\n???io??f2mjKj?ZH.՛??????ʨ[??,??Q^t0\"?????_˔<O??N|??KYVt???Zpx???}?\0{??????>k?^??\rXZî??W?ް+F???_?M?A0?Sp?_K?<5t}??(???????:1?????????O?t_tN??:Ǽ?'\\??2S?n6??F-?]???l?L?+c=?????\\??x>2OHG?)?j6U]? ?Dd饀?:?0????&???kV???{?xurc??ݭ??Qkiz`?\\?????&?<?>????g???I?5??????$?????B??????7L?1?Xۯ1#裆K??????C߆\\\r?b??]?b??߳\0	??E?\ZH??0??4?m???ˣݰِ?O)DO???@??H/?2ZPs~?????+?e??p?\"?__???6?????q?????Zџj????r|??=??P}?\\`?m?l ??<?\nWF??\"??\"b?P?B??a4?{ɨq:?????Wx9\0?lvRm]E9???Ӏ\"X	??E\"??٨(O?ڨPq)!????J&3???|?Wm?a\0sf??y??u?D\0d?:??????r???_?i?f??_ ?EzȈ7???J???T?\0g?Z????\"?{?4???z??r?Q?T?Jj??g?k?S??\0crՉ???ttȓ???al?â??igYP????g??|????޽??????Ï??ӧӟ??????!,!???????M?|~?????%^\n???????~?	l%???+V?Ѩ???????Tg??????npA??+???\n??O?kfQ0M???d?U^\0?\rq?@_አ??<W???0*?T:cWho9J4??Y??]4????.????#??X&??,???????ݠ?Hp????1?yE?x??*???m?1????G?v??!?5???/??5??/V7ÛЈ???-{<??@Q??h3h?@y?bkOӰ????	q?1?76???m??KB?#?nv?Q??x??v?(?0U??)?(?ѐ??3?~?,???o????&?L?0a	IH?/Z n?r:M?ΈL?t???;y????ŝ?4Y8?`?#????i?v?\\n_? ???]??j?l?????????jxW???n.??ȷ5 ? ?y??8???s?'?jP0?????>?aRXHپ????Z??9E(???\\?XlFl?׶󿜶`_?͙?\'?(??ʥq?C?ccp:M???N??mƚh???7-`???)? h\0????D43??9=?x?U??!???Cs?̀R(??Ytt(3?W2<?????_>?d?.???????Z.??8?Z??LA?߁N?:a6??x??h#\Z?쭘T?⡩?/Y?;hS?\n?Z?Mč?4=Y?#?\Z?p????\\?}~??%T?n???ǐp????Q???N??$o???qrg+F?A?ŀ??#3X8\0?r?I), ????8M!fM?R?ߌ?l#?9)\ZRL???X??!t?{?w??x????n???Vh߯8??2t??S`j6F??c?鬥0??)?\"?K?"\"?eZ?0?T#.??7АkhZ????B^???-?\n??҉???ޭ??\n??v???}??\\??O??\\?I\\\n??4X???r\n?0?j;-]??%/N?_???i????????/ʹ?\'??]N|m%>?c3??;\n?D\'??oj????@????˟?cZ?;|?i{???9\r??K+??Ѿ????o?Y?AT?U	??Ny??2>\r????\n?f\"??6???I\n?ÕI&?<?n|?dm??;?1+V?C?M?|?48?=?-????s?k.??P??????Afb?`??V??يPġG\r???L?Us???\\XSX?3}ӿK??\Z9?4??#???g??M?ؑ???\\??<A???l?Hʹ?[??Uq????Vl?rJ??f;?$ɺ??ʛ?_/?M?z??????Ͼ?X??W\"V?y?RОZ??_?.9????ʹ???y<?}???????!=1?	M?T??O??;?/g?|u??yt??22??~i?+?&~\Z?Z$??N??I?9Q?5?+???R??mְ?4??WX?-?c??No??E6?{?P???@??t??i7????D??a\r@i??3??3Hwn??x\r\r?x>?v0Pa??:?Ж?ajc??u?*?gP???2???q01Py?C\0\rAق?G?P_??Ы????]J+xaFbS7?^??qp???[???E?P?Jt?????o7v?_4p?)?>?i??D????ڜug???rr,y?r/????n?ȭ?;o???x\'y??1*ML?kr?>at??#T-t!?-4N??a?0?7it??),????^M?i?????i9?\Z??8?u?Ī?b.???i??`dY??>>?`????N}9????u??Q??#???ap?Oj??????H???	?<?ʚ8k:?n?j?*8ie?????Z`*L?C<?PYj???מ??ƪ??K?????ly8???h݆??O?A?????\Z?-K?"????!?P??P???D?:???q???N1????=.1`<????Ce????u?5?j?W?G?~??????@O?C?Q????m,?Ƹ?3w?H84?????j\"`9????I\'??g??JG??8?V?-?6??j?V0?h?0??\\RZ[???+࿉n?\n$?????-X??t.?-????$?^??^?uI????4?	e????m]?2k?Z+5q??=?2???????eF???<?7p?6	\"??s?(~???%՝??ϟ^??:????j?OM???????r?????\Z??}v??/q?@T?????X?J6?m-;m41???y?????????Qળ?'\0??/?)??m?q*?n֕??x?}?x??4?Յi???\'Y|\r???_?1y{?ӳ??????|??|t??w?>^~??w>?>??C???y}?:???{???򿮉??o??(????LT??+?c???.??Bo???d?????k/?[٦ǎ??C?>???+bց??r???{a?????n?AY??ǝ?Ag|?<?瀒?څ_?j?mE??k?\re_??yD?p??}R??l59???x?v???f?J??m?>?\\??ͻ?£???W??|\n/????s9\n?	N?,}Vn\Z?:???w????????4??@??\Z7:?Z?????7?????|?<???D㫪zc?\"?=4$`?Ӝ??? ]??	=+_?k??/\'?v{???mO\ns??(J?<[?>+g$?rȖ[??p?\n???.CӼ???6????X?5G???p??&????~tW&\Z?I????d???0ǅ6?$?T?&y?y?N{S? ?pcӤ9z\\d??Dh??<?H??\'?e?1???????\\??>????Oaz??K???e???=???A?{2?;G?$?w???*?C?T;?9?[p?/????f?Ӯ8 QmTgx?H?E?md??h\"???jt?G?E/??\Z????-?D???x?w~Ř!?u??8??q??l>Å0?5fO?(?w<oZѣ0LxH??C?MZh?8?ƴ?IE???,@s?y?p=O?I|??N???c\'??Z?hކq2C???Cqtq?|?T?)*?㏟P>?????\'2?~??j?`??D??C~w.?\n???>?E?L?ٻ??nu?\Z=[??\Z\\M?g?/???a??B?`?i?4??\*?L??????d?c?O????Օ??????x3?gm?+?(،?\n ???o-???A>?\0??[w??\0??B<@$?C?>?,??$???%jq???b??P????T?c????ɭ?????r?Z3?\06????1|?????????B??????J/??ѯJ3! ?_	?M???? ????M?AD?g?Q?0?U???'VF??*:??[????+????ޒu?u??J?Ԓ??(??Y???x???*ȓ?|َ???B???f?U8?I?=???֒x?d?w$V #?LW???????\"???]??b?$?E8??J?\r?]???0?\rt?????BF?2,?mw?T?YH?NS????@?KH0?͋????<?ȸ?~5???	?[??????n?????n??1??.<?{?????\Z??0???CP??vf>?"o.???Q??KI??\"gF??9m??I???e}?ঙI/???s??}_&M?T??Hi??H?T????訶X????????????7?6??ɫR?ܳ)?V$?Xk???L???E?+?&Y?D??[??:ğ??Z?٫B?CV;???|???\'???????a??????q???Ir???q-???:?e?\"/?I??hd T??|0o]??Kۙ?!??B ??M?mJ\"&8??U????\"?Ҍ????XF?BԅX??b?/?,b?X}2|ۢ9?Х?pd씥n?d??t?A??s3Y?(???&\Z?x??m?2\0???ZL<zje֣QY:t?????~0??o=??rC?????CvQ??k~?????+v_??72^x?%????;z??????pq?m????\n?O??????=J\Z??uH???arЏ??2\0%&X???+dTa#?L??~?R0???????_nF(??/??????\0???*?pW_???x???&?Mi??????K??6{|????!? y3^3???EW	c^Cs???0#?kl?7??'=^?7}?:C#T?&???&u?H?????\"????g?\r\0-8»;????11>~LЌ??DC??=b#>??Q\'1Y?????eɿ????????\Z^??s?<?&OC|???????O(4mh?????ri????????f0??KD;??*J??*?*?{?+QFD?@?????֎??/?\'_t?K?*7??V????+Tֺ??????h}???^?6.?;U?Ɲ+Z?????弙r?Ն?cwO???R6xf??}{mO_?F???????)?~?c/?$?^??FT?|??]?N0?7S?&?3l?B??&???7?/9,bq????Q)?e??!??哆???72?\"??????E???s?<6?_????|?h??Y?5?3??y???e)??NqqfDt\"?DH\"gA??)e????a?a?J??#ڲAT?)\"?DC??\r?ނ?=??l???~T???۽??????\\K?T?Z?U?O؟z??eUwM\'?}??y?????}??;\\?G???֊?	?o^?A&????,$???޼??Mn??Z\n?q?1|us????lga???_??6??0>֏x?%?n?0H,y?31K%[^/?n?!?٭?쳽}?\\?\'P???????;?K????`e\"+?_lU?j?$?C\'?????n?%d-(???m$KHc????x?Oe?a??1C??le?&c;[?h?z????f??S??hI??˭?<5??X? ??ѳ???!K?rX3??r]????0*???	m??Jlc\Zȁ ?\nCG??\'?0K?x_O??ھ\r????1?? 5}\\?es??Ћ?82?????S$N{?????RM?GĀ~??D????ံ??h?????9?U??\'?0?f<jw??9??.?Ѝ=?΅?+??֝%i?g\0p?????\\	]?Ԭm\rް??6??\n<??$L??z?\\???ƶFU??R?tZA_??ڭ ?w???jeI?TOV??ܱ????????????L??*?卉]J????prk??????kY:}A\n?]???d??14!???:??U\"?\n???\Z?j?c???O???w??w*???(?b?\'B,?zr6?ц?n>=??N2nK?m`+j?=?p?????~Sȗ#?Z?9,d?]_H7???\0;e?Yg?u\ZW?OOU?R<B Y?B?\r??@\'M??Wf??-ti68?F?????????@??????4?s?????\r?8???v???`??G???W?p????;s?K?0;6???_??=+?E/??p???o`?_??????????*~?\???VϘ ????&32?l(I??`\r?%\rGQ?!???????Y?"?U{U?Y????=???$??ǂr?V??=쫤a?;?N???\0&???#?vj??&{}?x??͋??pm|ξό??n?\??d\\.???ꦢqQpY???B4?????\n?xŔA??|?ljR?G-]ƨoo?ä??V[Hױ???t]?|??p?Ӽi-K?Q?&?1???;?2Ю??C?pQ3?p#?????????-iq?7???֢?-??Z?}????u?mM??3?7?%???8??Mc\'?\\?A?$`???#???C?S?_????????h?"A??????ԟr??g?q4??YN?;??\n\\^Uay>ZFa?sIĽXb?V(0?_l??j???9???3?V???V??M??RIh??T???\'?5W?&cs?9?.,?2??ʫK!?A???,~??4Ԡ??GH?YŜ???o?.??QQ?Nl9?.ih2Z?~rh??z??\rs?Weo?T/??w?ϡ?t?A?-??r?????d?lT%??Ȱ??F\"3?@2_q?堐9?5,x?;,??(?n-????|&????\Z???5Q?6???fi0?bX?7???k??v??????E?h-!?YF?Fe-?)P}?%/zYR~?{N?x90\Z?=	n???;|C?q?X?7?&8???̠??X$??q?M?\\?I?Z?r. ?6R?Y??????????:ݛ?߄??:L-WQ?]rO????????????$?F?0+z??_?|?????????/?/^??|????٫5??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:9e979b956d26839076b2ffce72b0d9b9','e?͒?8??]>?fz0鄆~?9????-?????	??w_??7???^???\r????P????Z?(?????F\'	Y?60????Fߒ?Tj????}H?\nd?Dh?????=?\"??? [?ۅ???A5?2??\rtxE????r\0???\'>A?V>,???F?????Ҙj???W?X\'0E6??V-?ERf?鍝??SSI!J?r??????g{?뢆??M]?????\0?K*?Z?cpJ?0V??=[s?Jie??D?ZDO݌C??C?ʴs?Ts??5?rK?(?\n??zW%z:0\'$???G?EF\'?r8`??'??rv\"՜???]I?9]????D#`??>?S?;??O]???X?9[??r???J??!9?u??9?Б??Yzr?<juťI????$?0?CH??'?l\Z?a%q$?7$??????G?H?\Z??p?|??t5??rMzmR??????i0?ø?W??U???	8?\Z?C?9?뎜v?Ŏ???#<ۣ}?6??????????;????b??7?K?ⵆ?8?goe?\'Q?69???'[:??\0??????????x-y4Y?h?|??=????#?eyc??????????x??I?U?\Z(~??o??WE_?im?U?Ҵc+?IZo?|?Z?Xe]????ˬ8??,??t???{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:a25e427ad203b9c521a06ddc14d11af0','?zG? ??OAVk@?PI?;??cK?ڻ?mK?^??D?,	`(JM`???32?\0Rݞ?????gdddDddD???g??k/i_?.V?־+g??]v;??嬘?????????r??6?/?ƫ?Rs\\B6?_??I??6???ˏ???d?Z????ŇUz?,V????????????Z?9???L?d?J?\Z??}?	OL?????????7???O??gwg??:/?//FO????????z?-g???*????Y?W\\??????*??!??@?IyU?~W?jZ?_A???NzV==;?????HX?xZN.??\n\n?Y?sV?`4??.??<9;;;>??-W?????G?_}=??|?_I??]1????X~v?=M֫???O?b=??N???I????l??j4??1\'??Η?ڃ\"??{??0?a?2w?;?w?????B?;??9?l??u?O?\0??,?o????????N??????ZFk0????.???{8>??h?`\Z??6???????ut?]^?o??qUx$O?ٴX????g??;I?vW?/`\"X??xx[??p/???i?r~ߏW??O>~WV???߿D??????\'?[?>ͮ????j???(???]???Z`ϗ??Ϋ????οX.?M+??U???eQ*as??!5??T|??Qҳ?鸪?aR~????W!???\\\Z??ĭ?J?'?rC??R7\0?t?_^????\'??o Ks????x?H??+?1<??O??v????ۚ?<9?O>&?ց4?)?Nԏ??à0??Z???};??V0I?ԑ?|?j??X?9???)?|aKr΋????\"?????)??HGs?Ň?????H??????Z???5=?W\0??Ph<???3b$?ړ?}\0nޖ??f???}???D??=ᎇ\r??4:??i:.g?#??nA?n?/`﯊?\0o?????f?+X =~?&@ʝ\nl???5??????N?^?????;ʰ?Q??#0???|>-R?b:??u)m???0	:??????)?WE?638@??????|??????AK?Z?ow1^B??????\nJ<???(n,ݓؖ???\Z???$???7&br??|C??????~:t???pX?uL^??mS????ٰ???K!鉎l?O?\n:b???x?B/I2d/9?k????U???g?7.\r??CC9:y??`??????Ƴ??7y?$o@???????P?t݁??R???\'???o???W~S??B??\Z?p???`y?????~??q?`T?/m.?Ųx??:?90g?[=??b`B???F?|???2?Dq8?M?)?,??ǧ??C\'???????=Xg?U?Q\0?Ey?b?n???U???D;?r?@?2	?B????6J?	?;:e\"􃼞??e??qY.???~k?????D-o+??ͻ??\0!2X?YB?Ifv??????v?%)?v3^?`[??,??Wdl?w͙??#?Z?[g????'??3{?ϗ????Y? ?\'?2?.	???Z6?j?HJ??~(	X^\0??H?|?<??8[ā$8???^??2????e??X???=?\r7;???*??ZG???̟Y????	??׏.?Z?v?\rp??.???Q?\\????????\0???D????^Q!\nL?B&5ļQ??K?$? ??g9?-h??V3?s?B???mV,?(4I??Ű+_???????ZQ#????F!?e?\\\r??C?(???F?3~Fǿm????ڄ[?}????	?+?0????J}.?\'f?O?????(?`??՟??#???<A???O\'\n?>&???e??R???{?	?;C?n????cA?GGqÈHX??q+K#d:??N??՛??ڶ?O??jQ???\'??O?eQͧ?u??\\wd9?y ?^]?V??\\?Ts?5?????+sG?????\ZƧ???X.?	sMfTΟ12??Xɣ?h?O&_?Gu???[????I? B̴/?\ob\nŀ?C?*n???????j;?Ϩ?\nqq=?]?1?ф5?II%??,?S!f??{?$-??x?????Jqm`??)߯/????6qj???0v?qƟ>i??Y@<???)??`??u_????1V?~?I7?~??0?߹=I@?a!P??T??a?????+????ZQ???*????\Z?V?2{^?T???????hΟ??[???AfX??\Z~8??+?p????cD2h+\Z?(\'????\'i?????,?I???I???a:??>r&??Wp\\?AZn??:/H	?_?Va?mc????)??	>???Ԯ???n%??n~\"<^V?{?????5??T??v|?NL??IJ?Q?̭?q?}?#??Եk??#- ?0(??dh1?e?P????%???,????1խro?7????&m??? ???QS?C-?????p??p3?7??`?Lh?X	??q.	??J9?3p?^?d??Y??1IT?ű?/????CL?/?|V?U??'?w\\}?]\0UDJ()>???\r;$???$?\n???\Z?ί????????$(?0???G[Yh\Z????W?W??x???i???[??N?\0???S?\\?????)?L?x??.u??????5?W??zu?%7ՑEWw?.?R???@p?BA?X?R?jAѯ?x??VK???tGz?{?J ???x?U6-+@?	??֥H?I􃛇T????Y?1`????.??}?????SB?Gc ???⦸??S??%AϦ4u??m??+33??{V\0?!?\0Ի??܊???%d?!I??hT?P?T-Ԗ+o?x??Y???t???p??0ª???TIX??#?(??????*???zy |??&8f?'-???\"?s4܅(o	p??????57???\n???,1_?????\\???U?Eͦ???(u}\r???	ׅ8?!?iu+?=??\0^L?ʜҔl???.???ɓ??\'?c???^P????????Fȹ???F??Z?]r?i????h^?B?R?08\\?}.g??Gx?????????5??U??\0!44	???|Gt?j??u??\r?)x[ ߚ??VE,N?_?\\΂݉J??n?ڢO|q????^o?Rm????\\?hT;נ???r@% `m*?Tog??(?̀n?d??7EF??/\n6????EW]?????????Z~????7 ?	??l(٨a?????Tf	???KR???͛?\Z?g)????ͺ{<A?B?d?Ƌ?9?{]?9??^?<?/????\0?U?Ap?K ?` I3?Z???6ˆ*{b?q?=?c?{????S)Z? K԰N~?????N٭??gHQ?=.g~K????77?_??i?P???w5pUO?j???w?? ???W???(?~?-?????W;???|7?s\\?3D???ME?8????M@[6?r???}?U?O?$}??Lq`Ox?bJ?&3I??!]Om ??E??????????1??Pl?9??vY??Z????{?u?!???r??ѰT;\r??L???^??H?I8R??%??k??G??{k&?z?%m?PY????`?\r6?T̼jW??G?\Z?\n̞???5[?o6????k?K?&???}fӝRd?NK??*??????B???v????f?i??!?}??%#?<??qY?e???&??dW>?M>?\n??r$,ٕM?5$?HjT^????r?,?Re?????\'?b4???\nSG???v?O????5Kp??????`5&7??|??Z!.?p]??kP???W?'_xģ??\n?f?|=??P???F;??Z??i?)?ro?????g*????*?/V?I?\'h??9.??8Z?????????xz7?X???b??-G?L?/|??=?pL?V(?`?XR?????&?=?8??;p??=?X??????????}@??N????|ȶW[D+2`??\?5?K??????????⚦2?\"ȥ?i??P?W???^?&2J?Ԋvb?d*??G??Ð\Z㿤??`?n???%???a,??t??r??u?%?z%??2\rm??dۄ,?B\'2s?,??.?3?m??f?7???????~dA??:Fh???<??Q??p{?ڑ/{<گ??59??7??\"???],?+D????s??3l??\\r???g?A?b ?cD??)?Lc~???%C?i????k(_\Z?u???%??d????D??x?CnӉ?Zm<???Z,3??7~ ES?<%?\0??)?q]?a(???H|?ًׅ??T?x?y]??7?I@(E????*`?&y???8?0??\r??fC했??U?}Ժ?N?h????m;}??j?v?~?	Yϱ??R1?-???(>?y5r3n??M$??e?}>?R?\"2b?Q:?D?_?~????1?.?J?O?i???\0??8HV??U?\"?D??????u???xG?}?\n?bK???u*???8_??+ֈ??ބ?D???h?????Il?9^g???\r*?p0?k?,??8J??3???Xf????	*??\r???>?u?????:????v??/W???????y?cG??M???X?????v???٫?&c????????O?Ʀ??W?E??TY񞰍??@׺p??a?¸? ?|?	??vU???%(??r??o??.O????O???????c?;޿^????p?????]|?N?UE??|1?(W{????b??x??M?/?/Pf:?8<~??L9??x?F7ޑ?NR8-i?ɼ\n??͉???4?l]]Ά????????ėT????i?;??<^E??)??????Z?\n?V??0!5?????,??#?,???pF\Z????X??>?8?<\\q_?V?w?{??1V38D`?b??\r?0?\nb~B?wǰZ?\"?/\'?O\\?^Wr????&?:8?M?~??????F~F?^??X?T??zm?H???6S???7??s???G\nTVFI??\nU9??Y?????\n6?vۤ??rP.????P????Z??Afy?????3??????\'?\Z&jl??h?iIj+A??t?R?&?=??֚??;)+?'j	`?J3?Z??e&\0???VW\"????X\'??Z??N??R??ˆ??8???]?JA?Jj??P?|?h?;z???ܷXH$????	?}Ut????g/\"ݼfЖ??YRE?ɑs%????u?O}ѐ????:&??\r??o|?L?.:s>?h?ߕ?????$?\\8k?>Ҹ?w???1Djk????t??b?>j??eU??S?^?9??$???N????	?*\'r?\nH?K`?&?d`I6???эM|???I??? @|ay??G?\'\'\'\0?`??c??"???°E?6.????-!E\0\Z?r???@?r???\\}Y?????6???$?jJŤ0??W1?????!T??C?\'????S??n??c?0??h????3-?\rݦ???h??A?ƫρ?:?2?UҞモ??????2s?%?7юds?N???}b?{_M??:??&}?w?<+$O??P????h?%?$L?????T??hS?HmW???q?????????3?L*N?????s?nI??d/9Ij97????i\r$?k?d?-??q????vɛD?^ߛ??6?Yvz%ȧ?H??7:??L.ߎ??˻H??U?n???-??\'W?C$t??L??SD(?=y?t%v?\Zj?	~?~?n???fOhXva ??EU?R??q_P:??`?ǜ\n????27?Nzѩ?1??]:???=?e:??=۬φ????@????Ώ?/???=??/??E??ݢ\r?VS?p??c???????5pCP??@Ԝ?????/?j?\Z????f???m]?z?_^????:??}utzzqy????}????????PZ???\r??? ?Ir???9?8?!f\r?i??Q?)??????7#ةX?˅i???=[?g{5??"?!???2??.??8Pr?????ߋ?y8:???H;E???%?k\0???9gp???5?JN?\'	?%aON?6̼???3????????M??	h6?u	l?J??'b??K?ƕ?\:?f\0??W9? ?\Z0???!?n?Iw???9>FѦ??-?{???KHTS#?4?zU?\????????Zz?-wy}\r??uߜNzt?s!~???\"?\'\\??<?`G#?P??nAV??x_?-?????Z??.7H}8<????qɽ?h???\'!W8????1-?G??!??`???G?ޠ?{r?\Z1??z4/0֤?kX??{??-N+!\n??oi?´H7OR7ڌ?6??PѠ????\\???~YH???0	?ĂƽI?????4\ZOi?Z?o\"?????????0??_w??-???ađA?n̻???q?????3c??Bu?]?????*_?J????5h!?:㜮???8????#??W??v????)???\\	??,?????ʅ%LF?v??5v>????C?7???WjTIȔ73??N?d?A?Y??LAP?Zj?G	!Z???s???r=???F?\ZCN^<?|.?$	6$??Y?Ja=?t?=?U?NmZ)??n\'???vȅh??I6䯓?e??? ?(?Y??k?7I???=??@FP>!s1\r%#m? ?,y/??O\ZAT5???X???4???7???л?G??a???? ?????c??????ᮊ?Yr?4I?{?%3uQ?m|??O?7t??:| x?0????????-??}BЬ??o?8???y???s ??ڡb?pD?FHM??~?%???]?????h????oQ???\"?r?\'y?;\nr???()?úa%%??f`J?y\rL??b5`\0?]Z?<?`?j\r??r??\ZLS}3???<9????x?F??kסư?X?0???????_???EZ??`?`?????^\'??T??_:aK{?9=??;???v;?(~Qd?M?4??@?4H?٧?????B_??ɖQTp???pm?)z??d????_?[???$????5??\'?????flZ7e??= ??????@??v??!Y??E5?Rl?o?Si\r}?\Z?,?4???&z3????_?6??aT?cZ[u?????q?? ?3㾱?\r,?ҡMЦf#? 1\n?q?ą	??D?????X?s`?f5!??l\Z؊X?+{(\0x??kXd??6??Q)? ^?\\;b?G@ƽ??\rMr?S?\'?\"t????d?b?h??=???0;*?A???'?7l;P3?e?????ǘ\rG???4P?d??e?C5?5???o\n?T%@de?ߡ?i?{rA?0<??F\"6b\rl3ul??Lj?????2\\?????~{??v???15?b?^q(7Fp???j??T||(d?U#SU????????9?d\'H1N??%ׇ?%ff??,??lͦ@O??Iףx%\\/?fl]??Z_?????CE?P?x??Ʒ?9u??xK?&GUk?????Z?\?F?fK??t>_?I4[L??|I??n>?~???C?uu????0Q?f>????????&?`\nɼ?ا??e?5?H????Zß ;??ޤ??NCŦ?P?5Ʞ????פ???I???7Q??<+??Ǔ?????6??0?}??	@5????`??]????????\'Ϸ??֑??ۡ?????d??}}?z??,;g`աu????C,???\r$?j?|??Ωh?]??????:a?$?/`?Ӽ???,???48?m˫7?M_kx1?Y<?????K??h???\'Ԋ??ӽ&$?b!?K?]?Ɍ???Z??˸>??Hg\\͚??@?????LۍV{?|??k????]8?.iL?i@???ڈ\\=T\'?L??]¬????ii??Ż2?3?Zޕ?a?_?????Q??UD38?/C-6??k??A??\\b?a????\Zd?裇??.1???2f??QB???K?Q???rɻ??????e??=??W???L4???s??>i??߃]?H\nD&T??yEHǀ?????$ z?V?\"?A[T?\"???????o?6u????k`\0+?y?NE????j)??֐??v^?:?\",?xB?Q??????|???ƻY\Z=?M?2?Z???n?-?:?\Z?K1d.?t=gi?h??6?????v??%?B??O?????)Ƙ?D??9???T???Y?N??Gw??n;W??	??C4???p??Y?}ٲ\ni???0?4s0y?񵝢?5?^?????e?Ƞ?+???Q<j\\??x(???߻?o?? o#q3???w???Q6T]??e1x???pT\ZgjW_?\n??????ș?F\'?B\Z???MK[?j?iy)??? ??F(7?2????O4??:)Ԩ2.?3`??#?4??ZHi????\ZCsi?W@?ZՇms??+\'E??p?/?˂q3?V?)oP???HcpQX??.?\\???\\[??1??~?v???U?,Bk\\\"8R???IO?r?=???..????_???_??<[??.@???F??;?ؒx(?J?*?O?E???/~d???0?bMm?z???c{?h4?/5+????7z/?_e?z?/\\????5??D:򇨷???,FZ@?8?#}fbwL\"??ق??xrb	??3??????SY????w@?C?@:P?\'???2???+?]\0???q?1??fZB?????1??r\0r?Y/??*`??T)?Ĩ??#y????6??鄜??a?u?Р???Ñ8?????`ܜ?3k??~???1/kP=?Y&?6z??t??\rx ??&????Rk??\\???+??`Eh??T?U?	~?y?b<;\\??l?4Ѱ????`???\Z~?n???<?ܑ??*/?]y?I`x??7\\??O|1;~??>?DP?nλΕ??e?M??j???q0?\Z6?^????Տ????^???+c?Vza?f\0/\'QN???L2t&??|L??k??}fI9???`~Uf0?????ǔS?????N????Q?&y??????R??II?3?\rJ?J??v!>???S????l???I,`??Z???A??h_?86W?<^9?cF=1?때\n?o?????p???\'?{wx???v?iX??yz????d%_????J?.F\'??5\Zq?JW?Q???V)?Kh8??.61u??-????E?N????????c??f????#??z???????§?'7????<?\0???\"V?t?Lٽ???\Z?7?T??k?P??a?K??z?k???`????????u;j??r4?<??ÄdE8YPD????f)%z=?\(??F+I?r?ht????7S?p&??t?Ϣ,???????D??\"??i???D???1??f??׏@???ak????<t??????^n+?r?)??}???7T??@?%E????k??#*?????b?+??p?C?cViK?.??<???q?2??D]oo.R?UV?n??|F7????ڔ????ʏϺ?Sr?\02?WP?bS(???^n6????O???????A??gwgUw?????g??}?kv?z??\ZS??+IM?gr~uG?qr??NhT	??????????M?_?p?j?r?s?o??e????L?\?ڡ?\n??????dJ9f?v??̣?_?	`??W武Ԣg߹fv?SF~^?x?????Dd?0͘???????@???p???>?+??O?gAw#??ō??h?\n[? *?$	??2??jSA?~ϩ??3?p?n?B?r??f?D?=@o?6j????	_J@?G\Z?????Ӯ?????Iڭ?η??9????8?5??׋>??????n7?݋KE?!?f$?KP?I?"뵼?????߁TFf??^??=y?0?ʄHT??ј?ܦ?Z?n?????y?JE??Ӂ???f?\"???\\??m??f??í?xQL?K4V?â?c1??3U\Z??Y??h:??~*~??\n?l??b????;=???YD???p ?׎??????/??9M?*K?h????y{m.?j??-$??52	?k??d.?p???ס?NR?\r?z+MV?3-???\r????~H????]Cl?;	~?ڿ???i?}Кc;1v???e?^?)?1??jm??~??V?ȝ????N??????y0z?箬???f|.#bB????d\r?D?c???њ(?B???#?6~.?<x?@9?d???h?$`??6?T??u???3?5?f??^??t!|?`???l?W\Z?Lo??}???2???sSS?<^?[t}|??-?E?%o~ް?Ţ??֒7?ь)??me?Y????Kn????U?01~H????5?a?????????A&?6g\'6???7?Gr??ӳ0????p1???E?9=HHT?/M??e??????z\"?G?l%????(???>??;?(?r??a2?????|?.#?g??!v???B?\n??????_?[??Z?\'\rYKyB??U??I_?c϶????\'@??D???V}#??S?$s??????Fn??\"?V??9UQ?IN???k?\n?4\Z???V=11B?y??0?Wt?ޛS?2?????{??IR??*??۩=?N??:????me	g8T?4?????h_?K?\rB?:???r???!?qc? \n?? [x?@???u??8?3?$?gnV%,??\\??<I????|Y??\Z??s??{?2??x|??????xٟ⿊?]?k???)?rP??j??뷙S???_??[;?0=BI]R??Ӊ\\????$!??Mz?o?+?????B?F???꫺\':????,?p???{ҩ1??\r??BH?w?:??}C?N?Ȗ??_Q?????^?%?OD0| ?c???O?NF?????^3??[z?????2?hc]1?\nt???նjC??u?/??????{}?\"?kG¨s.?YP??0+?gH?j?ho??{ ???r?*\Zi???/??^2???$S?????^????}???^h#?&l˗???@???ۿX-??0??:??ʣ??\\????@?\"?:????????7??????϶???ۇ???@?K-a?@@???Qu?,????????i??j?	?`?b?????_\\???52?s??6?vi?PB??J??<??b6;ن??????,+L???q?64???@N:??M?l??GT9#?CM?9sj??OD׮A ????V,:??ܫU0?˭??po???\\?????_yP????E0?oG????)?@????????$??G?<?P+o?OR?߂??V???1?6??6?\'?Y\r??\Z??d???!)?H?(\\???L??X??䐁i?v ?y?i???2??Ӄڶ???????????5?MBg2??N??7?\r>?O?P?v?K?a?B??q????L??ɦ?f?+`??\n?*(?\'?9??/??Xo??7??????ݵa?\"????76?w\\??E??i??w?E???M????qX!?Ll$????A????n?[?ij/σRME????z@oM?S~??ڏ?$??j?? ?m?p?o?&?qq7&n?4E??[9???????f????????e?h%?#<??g?̾{??kQN???9???Y\\*ȉ????5?8?\n???%:?ޠoҚ??0N~j?\nw8??o?׫????-??k?YiM?a?x?4$*??e?!?:^j????1????Bb?<?????=_QÝ8??Ok???H?hj]???u??m?j\n	̡jd??M2NÈw?Bv?v??V_??YH?;F`Kn|w%?d?<i,1??|l???\'???&???z??,|RC?O?{???YU?g ?????x&T2:???\Z?;??ؐG?q??6\Z?\'?)<?????f~[???B??&??c8?%?v?????չ??d.\Z7????6?\Z#%ǌql??p???`?n?2(??*?Mv?6Xiԡ???2?p?׃????zm???????k????\'??-:??3VR?9ws???7S\r8?TU?5[????#ϋ?}?????m\'?!????09d?????C5???w??\0He+???	???ms?c?$0???-??L???????Ж\n?\?q?Gv??u? ΢7?????????X?/???.m??`????WZ??????/m\01?ƣ$?8>?@?q??\r?F%r?A;??>?y5z?b?1u??\'????&??Y?c%?a?gL??l䊆??\r\Z??l?C?$???&???1?X+?}?hÂ?_tQ???o<?oB?^??2?????~??w????Qx\'??|?g????g?[?z?????D??~??{t?ҡ???Zzۆ??>?q???Ϟa??lC????3?+?\0?1???]?<?x??ZI??Q???b@·?d??\n?}?U??J??L???????F?j=?????Y?lWvlX?K??%7b?Rg?We^O=ǹ?r͸?&Tv?$?A???jM.^?Zӽ??A??$4l?W&	?2{??I?????F?C??I?V?M??P?.?????t8?S??ԩG??a)?I??!????Z[6??O??X???/????Z*l9??˔?Iܼ?K?ן??*<??????L^h?d?3{	?4?r??J???S?u??GC\Z]?(?؄???QD??!?QX?????????#?>?%?ۖ??p??v?p??AVZu9???P?????\0??lΞ???m:p?eu.???g??\'zk7?`g?.@?1?C(?o?j?#???F?܊%?\n^E1Ĺ????c??@??uj??SPy?v??????\ZE?|?Y?]???]	T???*0)u(DA¡4?:?z?k??Jyt?????i??.??lW?[?y?kB	a\"?o?c+ҋn?N??????<??????:?H???Xn??t?:???u(???0j?A??}??\"z%q&?cKN?C??S0?LbL[Z#?????`????]???R(??e?*?p9?t@??~????OҋF?\Zh?	l?O>????ua??\"NQdO{\n?J???s[???y%??\n?Ş9??R*??q?\r$????\\?l?|F??0?[-;?? K?W???wg?k+^??+X??^?"0?u???]??????g?pBb,o?,?M:??fo??\"?#FF?P_???k.?%~K???\'	z?G??	???????.Ŭ?*?iP??m??M?\"Hl?Y??ߎ2j??t?????wϚ]b?E5ː??P?}???\n{????1???o?\Z{V?`F??S??J?LH?|K?hƤ?????^???y\rvU?*??׋?^??:????\"j?Vf?n`????/k????????-IT޼?????\"-?]???3m?ǋ?????w|?gQ??????9w\r???E?m\0????2?????U???y????\\???;e?D?{??7̶2????f[Cm?Ɣ~bhRO?????ŵ®?E?u?0\rK-~???{????8n(??ǹ??H???w?8!?8F???\'3?-?\"9?????L?La\\?<?????܂??????&?%??????>?k???ߣU?F????ש??5;|$?6p?????؊Qn?????????????????ɒ?e#?#<?Co\'????/?????? ??{??}6?g???\r????H:???O?n?U?Nj?Aa???M?????~w_???f@?7?"?A?څ???2?h??ы????	?\'n???i?=?^?Z|????<???????𼸾????\r??3????:g?????Y?/gó??h=<LF????k??ˏ𠆤?????q??!|??Y?4???v??-???z|?aA???9?7B???_^??<?}?????I??/??????3tD?????N?~>?O??????5?T?D??.??w?3~???cW??????¢?5????G=f??\Zi?\ZR?]7?P?T???\rM?{:?4N~!B1???{?L?rL?>}\\\0?};?????w9????l1^??I?=^?|?8ɂ\nNp???A?N2?~3?lԧ&?P?????@4X.?\'?|C?e????ӏ??;????E=v???udt(N?ŃCW@?)?????(s*\0?.??(eG=??C?'??xVv???̃:8?-7?:Q?M4\'????????1????-N>1?}?\??9????????????03???݈^C???c[????h=????M??0??=???F7???M?>R.a?R? ;??????)????A=??\\???^?\' )??<?3???	g?B???!?????????cjK??X?8?j6?Щ)\rn[??8Q???=?C뵑?C$G??z??C??8G???\"????2??ry?`?Z8??$2??|4_?'?I?????H?/?\"?;\Z???tk/܍??RA???????9?C?/3??????????n????NY??>??c?Y??N?x_?%a_.57s? ?5?????????z?T????????2S?B??V??a???Jg??a??b?Qꨘo\Z?r4:??4*?<E0]!u?:??D???|i?H????)?O?????!?,?Գxm???9??Ĕ%9?A=1Aj`??????9;KD???b?{M:n? ????^?=?u?17?y??????sY?*1?*?j??7?????y?|???Wފx^8????<똛?3????;?}?z?????Xa8\r???D?Ll????z2;͉?asT?????,\r????P귋?9jl?????L?`??E?P\'/\'?\'??8??S?)R????c?k3,UO5??r?n?Q\\M?4?nAn???_u??'.wȇ????*2?#XsI?????c???_?YLE?F???_E4?V?R???f.~?~4??Ύ+1??$???\r?????ȐR?W??$؆vh????rĂ?Z:>????ܵ\rݵ?z?@u==????Zf9?K^??????????_?=?>6	?>1?:P???p?*?ۜ{?3L?}?d?_|??y?MF????o_????????????gG??I;???^??\nbP?tI9j{??E??o?	+?U??^?? ???>?g????4]???	p????`???@?G????\Z?3֗??G@P\'?\r??Vv=?L?jZ?M:??:???2餃??????_cg???j??J_ܭ???\Z[??>?G?F??????le\',??U?ޙ*?>?)B??k?9??nqQi??xѻo\n???hf?#J???P??޺>?\Z??G2??l0???????	~?P?lf?@??]?V?U?^??f.???*.O-U????~D???\n]p???²rѽ4?9;B?C?m??<??4fP?xcE?h*???????ӡGb?DWF??XԬ??r>aA??tf`ɋ?Gw0?a@?vP??}?p??b??A	w??0?(??˅z.^??t3??Dc???{??\'??Y??3I?OA????~=?'?n[?h??u?\\?<=???Hj;?Hx?P?i?	``???C? ?(????i???/?~;??6\0???@???Y?oF$???i???TX?}\0#?Rgk]3ΐ?ǚC??v%:\0?#??????J?0i?Z\"??????'K??)]{pp(???z?̏?z@SQ.A?YZޢ??>??\"\rV\nOf:????1?)??~Gy?V??;a\"v?&?????Ap(C}??0???#??W???t?2?b?|g??Z?b;???#???9\"???T??\'?1`?E?U???f?Т?????/g?5p?0?C	???n??<7?˳?g?f5?kƂ?:???,Y?m??9??????ݘ!?d?D}6?Ӿk??u`????N??J|6???$????$?O????????3ͭ?HD8]??>9?????ϝ2????K\ZѝY??И\'???FlBҠ?ף?SG??ѷ\\d낦<v?&]?Q??l???E{????>??rs?^<?~?????)???c????ūt3????\n????|Nt???Y԰?so????<ՎPM?D>R???2:????C?aW%???????FAT?(A???\r\n?????H?ȧz??/QM??I??x???????Yp?N-*?-??l?|}69.??\n???8?\r)E?2?|[e:yKT?<? x????z-??D???\n~Z<?;~I????q??d????w?\'??\'????????gK?&|?SmG??w????0?6;w??&????O??jq$?9Q????????.mG??0??6z`??]????P????C\n???A!R????ڹ A*?>??\Zt?\n?????!?@)?I1??ۻ??g??/3.??M??}?$\Z???????P??!?8???????????c&??1?\rw???$?KU&?9??5?"?ڿ8??Q??3??3@?7d*??Q??b?	Y??I?[?Y3?W???\"???U{?Ţ????pl???X,?>?\n????L????*???\Z	?$=?I;+??*?5?CB?+?`*???T?????D?ر텚FɷG??\'??????d`Ey??s\Z4????głfsC?Q????0???h?1?b{r1??6O?҄a1???-?rI??P/\0?h|nt2??Gy??@??nݙ??/?p????!???E?D?vp\r?9?=?u{???ު?*H?&ѵ???id$??H?????K\Z\'?׆i??????^???\0?ld?hL??n98A=???^}??8$?(e;I?:???\\?>>=\r??P?q?\'=??\'????ZpO5????2?e?0?/Ͷ????:??g?%??e ??WH,s?C???6G???c?#8?If?N]??ѻ?P???,<?=???9H??H???]Jls7@\n??4[??El??]?1jO???6?V??????R?????I????m????}?3pu;[???ճ?6\Z<`@w?Lc?7??5??OgE{O???a?y}\'?v?;˚Ŷ???????N??????t)????\"?x?Ӱ$k{?\Z?f?͓i4??G?b????????\'E? R?[)w???/?5uGas%?O?bV͐???w?}?xޫ??Ӽ*ٿ?k?=;g3/??dM<????Z6?{ǊY??N{p?=T?}??>??$蟚???cٯ??Z??ߤex?????x?N??o??? ?/???????M(??KN?#>?r??t[???:?p???c??=h?o???????7?4?w??|>??Z?sG8^г??[?yޘ?q??d????G?i??	2???\0iH[o?F\r??l???ڊ?*\n+[i????O??7q?с?"Y???8z⬝*c?@|?i??S4?K??ԿI?p???^????{??\Z?X?1?v??I?>I?r?\'??\\??+???i?)?Y??9??x%\rD@?Z?7??\'??&?r??_$}l???%??c-j؈ai@k#??n8k??Y?A+??bL ?֐?????=?????K?#?6[??Z(\0HM?A???8????GW?m?$~?)?????ބ)!GN?ʏ?v?i8?n<????	??~9??	??[??????݂rJ<v??M?[٧?[?iPoJ?????~??^wm\Z?F????/??_$\n1?W??? M?U;??.V?C\"`??????ٳT?f???5?>?-???O\'?d?!???????&???}???z???????S??,?\Z#=???????&?\0l??L4??7O??_?w?\'???n??F??!f+4???R??z?,;\r??v??ܵ??|Z7S???|?Q??????\n?"?r¼?g??ӝ??6Ξ???އ6?Q}0??? ???\nʉ`??i1??M+÷~?è)eJ?4????-.˽?Uc?t?3???ZWKX?\"??1R?f3\0Y???Z??Z?x????X?????????????z;??Uq??J??ϫI???K?n????@4???[[B\'V???q2??;9#~r??t?E?U_T?d??n??<\"?_;aB??????N@??ò?WK-????k@?PڸsgO|ֲ??ή?r,?4S??7f???s??;b?Q^&e??????$??5?????%v??8??O??????m?`?m\'|?	?????|R?>?????r?>9=?)apZb{>ֻ?}`U?t,???????I?i\0$?`q?\r?h?&~\\?칃?}?s\Z??Ct????o??V?	? ??/?M\'f?ݿ?E??????xMǌ??uʡB?0??I?q??O???!$I?O?H?v<ۤ???????9wo?]\0fI.?~?q??Z蕀Y?m/e?T5C?_?O?????????Ђp?:?M\rz?Sϰiwl\ZBk???0??R??ᴂ?tj_??+???\'?? ??nC/d??&t??l?C???X??B}M???/#؆Ǚ?B??W;??ӕ????\'/?????A{????Alo/?]q?-S ?h9e??B=??NҚ??4?A??Nx??kdv???m???b?Y????L?z6?n??6u/%&A?zu$????ܹn?y??t\\?-??γ[?qn??????0??(Aǿ?\"Mȗq?HП?t???\\?a?F?I?i?(IdWIڈw???$E???s=8?x+?w?/?L??lUN???'??e?\n?P_3??ZS??B??\0gn鎳c8^?7?i???z8?u??h?.????\"\0??P??/ǀ????{?Ҁ1???F???үMC?????1˾????}??????M??dא\"?!9?0v?t2????O9P}`G?????N?P?%?]?ϲ???F?????	#?? ?ă????6{nژaӘ?D?sI]:\r?j?dw\\??^?\n?;c\'\\?Rp???????6^?l8?-?dB?p?Y+w???Y?=Y/|aՄuvL~??????{9#[?ΏX\n?s???ȃm?????sV	?hv?y>p?D`Pɳ;=?4~C9n߃?????????9???8.+?????ڃEU(?v*???]V???? ?P??aU?X????ܽJs?DH?^*??x?Vo?6???N???Һ??rz?jCt???R?\r???????Ɣ?OX	1?48L>(qW??sw?????21?@0???ðJk????\Z?QM@??|??u?X?\"K?0?k????B\n?{?$???+?\"???a?z?n?d-a??}?׫?t?5H??????\"{:1???\0??G??RO??Z?^=?Or??Gzh?ֶ?L&4?\r???0	??$?????+??$$`??zZ??c?}v??ݮu?,?ө?7?j?	N7??nYʲzet??o??ҡuL???*??pf??^]f?5? -,?Z?^N??H?U=?????Y8T?y\Z?	ؓؤ?Mw?ԑ????TՍk??ö?\\\Z???&???e?=<\"??QMIQ?\Zޟ?\r??!{?7?? ????g?6????O??m?<?<@?D????qM??8#???BC?gN?|??k????Cy_.??X??Pɢ???1?s??:??p>*ũ???bx?p[?D9K?????,d?;p??n???a)??&O???\0?[?T݆?Е?A,R˳?-?6:ZX?C??????y*??Q??e;O@kC!#96V??6(???هn?p??????&????N?&?C?????Е??????a3cJ?B?\0St?	???oݚܱ?b_???IC??lf\"ƛ?M?6R??W?̶???Uj>?EU?n?u????^??&jv{#?Д?o;iZ??`?WR???VE4?3T/???g?Y>??拭] ?%CĆ??,??؅܍e?ݎ??Y,?wE?H?w???'?x??iL9????Q{-?/?~p?1A?!?^H²y?c??????$?8??+?5u&4σ?=~T?{ޅ(??????????\Z??PX??:??T$-???$6?\Z????)?@9?.?b~,ݝM:y??V\'?5y?0??O\0?_?+?e?6E???-?Ѕ???},????9bs?\\?7Wk?Z\0??[??1?ߤm4??:??hq?⸄?lw?MJ>t?B?H????$???gw?>??v????[_??z\0S?>N??[?[?c?!~o?k4??5],??	S?ώ????f?r?\0H??'?]=??XS/_}??????fs?/(?0??7<͒?ϋRԖ?p???	:\"??S?k??N\' Uq??JbX5.?B?=\\B~b?????J?i?B3?????R|????@C?? d_-?n???x?Oq1?1??p??$C?2??]\0(??????4r_?x??_:\n?0?ʾ8B?u??r?????????"??.?%??e?:?\'7)?\'??????\"t??Z?1??,T;?4W\Z&?3F;?^ҭ??ǁ???4??c?1sޔ???0?\????}????tN??b?\\??\'\Z?Zx??NA??x?w\\?-???\0g??֩??????G?cq8V?Z\'?v??\'IsV???`@?\r?ob???????蠥??\"0ʏ\"ƯP???9Ja溲???\"ߢyV?mI??m????-???|E?_?@?|?\'M????AI????έH??!l1???\r7k藓?9?2??Q?u?s????8\r?4ImG3?????\x??n?bnM?@????3ov?DE?U?n??z??#9?\"?ػ4?\r???⑚???Ҁ??vz?,?+@t?*ωڅ?Ι??)??d?Hl?r?e ????M ?N?y????6@?	?r??ؿ1[?7? O?j?\Z?7??ێ???5??h?B?3???59hQ??X????????.?=^??E?Pw~t???H??7?G?L\'?BD=?S?'??t??M?? ?DVƥ??A?<?b//?%??Z?)\\;?׫?\nhAČ?\\?p;?w??qx?@?Z/u??$Ů????k?d4K???H+?[\'?\"??\n??j?#?&Y??uq۶??\"J?+??X??,??0	&^G?k?U?!?)aO??HRzV??4]^+??E#?m-?c?h?=o??????M????I??\'KE?T?(O?"b??.???j????~??G?̄x???_E???e??9D8?؝+?8r<??pV?oѱޏ8T$?̩?`?l??7??VN\np?u??j?f3\"6@\Zڶ@?????3K?????X=d??\r??A8$_?O2Ҳd????zFGPv?_ѓ)??x?x?\Z/?۠? ??$?????ګ?M????*L_????=BC??????A0_?q??N?>S\rj?d?R? ?̠?sW????=?mΗ???{_KQ?$?2\n???DDȱ??n??%G??	W?(سSP0??4 ?s??Պ?????O|ș%;u??\Z/YR?B4;???o{??eX??????E?????r[?Y???ɓq?[K?6E4???\0?bv??wY4x???m??^B??.nyŊ@s?η?}Q{X?\0??;L??K???Gb!??hj?nT???gTȴ@yG?検??4O?{?X??g?9?XI?\'?0¨???k\r:??]?MO#1D-??]???7??Ⱥ????@mU?0{???7?}?߾?7?????a?`??"@`??$?P?X??z?fk?,ʉ?	?J;B????weD}?S?&l????.}c???q?,???U?R	??/??48????d????5檡E?e<+???{?L??????M0C???<^?E>Li?1S8b??\r?L??t?$V?????]3g?MS_?8???ل???~Bj??????VmF????%?p??M????????/Z4??BI??ZBGǭ8_/֎?ٙ\')Wd?;I???x?????1?׸i?u?<??R?A??(??K??R<?z???? t???(??ߵ%[-???q#6??w ?Rہ?ud?P?瞋?ᄼ?m?????;u?R?????????潄%?????dV?ZbN???êP1	??)??϶轣n÷偗>?>????????[W?e#sG#\\N\Z???/`͜?R??]W9>????X?\"???e?5??5໘??M}ȈO????;????ё?4???5_^?%O?\"1?ťL+R???_?^]???\r??td?ͪ????<?*?Z:??\Z????\0?cˤ- ??Z??S\Z?\0?7??Ċ???\re1t?f;??tbP??rup?.?;OOQ[=˕W\"?\r?\'?S????s??v*?#u䙑??O?:??;&?qa???N?D,;\r궶r???2???#:%??ڋb?t??o????,f?$?????^?%?l?,i?+~???7???{??3?????e?ߏE????mL?I?$\rL9C??+2?\'?r???p??!]?偛\r~\r|?G?\'???????!T?ױU ?,?Q?^n\Z???U;Q??}<Soj???o?\n1?#z?b_?rl\\}?VolCi ??5B?\0???cg?ӳ0=6?b??c\n?{ҷ9ǅ{z?!~???aTv?v?????:3?޻?-?Ś?-_?n??v-\'H?i?n? lC3????8??'?\"???&?????/?h뵡&o?"??V?>??I?!??Ȃ??????ݰ???)D?дᅥ??6?r=p?zm?uML4\n?$??????\n^W?r?L=]??iڝ????C48Fsa??(b?.U6Ѿk)?.????"H??Z?\"aU@??2^??n:??;???????%v???Ԩ?]?v?]G\'?8܁????4?3??l?B?Z??\\e??$f?????\n2??`t??:?r6Ȭ]Лs???a8%??6?cq~XNF???????/?Z????Z???F?=?t?r?l??s*ن???ZYv?M?7]-??BЬ??7?&t?????J9U?+8IeldSAҖ?2???j?v??}???4+Wg쿉?[???m??:?O???B??ot??Ŏ6/??铓??????+b??8???g?/)???s8???Xp&>?mU,?????9Z??Z_???????r48?tеЇt?[?\\?u???nώ:?4??ݳIA?C.????.?_?߯^2>??X?{_V?9?????9??t~????????\n????W?|?U??????|??????PЗ?8???|Y??B?0??.??.R?xS??[?r???????????Ykf{?6T??һEz-S??/\ZaR>???㷘???]ջ??_?]?? ??*?0?E?!???}??n2HNz?\ZXl??t?&mm\\????????,??J.a??L8?)h?M?2?̗?3f?~ޕ?????;]޺?9 ???{??L?h=VlW??1H??g???>zۖ[\\;?u?EC????p*????????Ŕ5?HGus?v?8?{4\"j3???&p???_??j?I???M?&/ֆ.U??v???ӧ??l?v?FV??H?ԓ2?me3?ne?j?????\r?????K?5?ދ\"|?a??+V?£?re@􉮿y?2??ˏ??h?E??7????\??\nDי??{?Ҟ?d|L?U3h??wl?v+bR?!\"?X?F?v?1??\?[ݍ?%??%x<H? <琞h???kH?O[?? ???Ud???? ??\?????-,p?r???Z?0q)1t?>?ri??Mׂ&jV&?t\Z&???ꮮ??[?????J?\0?????????6\n+4??I?l|.???BN?m???8Fw4?0??10M??d?0S?؝D\\??????!!?\r?????0?߭??E?\\נ?\"?z??????\0B???=>=9I;I????@??0??`|???e\nwS???؊B?1?-%1T??????-?+?x?u|?<8Y?`\'+~?V8(o$???)h8hO?r?y?-*?x\rL??????????;^t)9h?bY??1??zjm????*0%?0?????PG??ل?{5?_???H!????H??p??>9a?R????4?hN??`!??a?J1i)?;2Ө?vc?'??S?9?hӔ?,7????E&	2K???&i??\Z????&???3???0?|?e6?"A??u?<r???,???%m????QG,D?4???f??pp??????\'S?\r????]K?[V(V??lU???M?\Z1	e?I?BoD???o?????7??????ς+n|#?ry(?.?^?xY?????	Ap?E???b?|L?V9?QD??.R-y?.(FK??֞??}P???Y?A??˽?uyq?5J?M?AW??'a??\nW$?25?7?Q?C??ު$2_I??{?2??(?]-Q\r?n????Q?BPH???G?	??왣????b???<`?S?ro???????]H?DK; ?,T#??]\"??|M?_VD&?˺B??5???T????k{E?WѠՒ?(&?$??????5U??S??]f??9?????ER?Ɣ??m?*?E?$???g\'??_???lx6B?/???????z\\]???%zS?FQ??:H{????$?-??h9xr|?Ȑ?]?̧?z2^????ا1:\Z???t}$?zͺ??b\\Uw???xvU?????W?M?uj?9]?Ż?????:??????x???Ύ??9?ƺ??#?V????E??5G\'?'?T????????x???}???????np??????|??z*j??s?9%?O}??-*Ђ?/s眶V?f?o???o??[???Pa?h???/???/????;?1Dc/EG?	????Rz?I\'M)?W??????h*x?~?a3?D????0?????2?-??|?<=NF???譪??O???4????c??\"ی1?[????T????s?k???&#N9}3?????v?Z???J??8B#e? yk?S/<???L????f?<??>?u-?S??t???G?4#V?	q\r?+MȦe??6`???j(???????p?$Z???#ؔihh?9??}???&w+4???4Zr?04????Z$#\'kU????B??{???????\1i???U]<t??Ur?k???t3y2?\'?ax?c???.?O2???8?~??`?G????髯?{?`j?????G?Kk???jl??a??l?F?$6??Eی??}???g?A̢\"?A`?277??vV?ϰ??@?????H^??F????<\"޻??g??J:Ѓ??.V+t????ΈKP5??k\ZB???MM??zd?\n???3-MS???n@ϟ????L؏d?S8<D??Κ??ZվGX??7_t\"????Ġ???p8????h?B????#??^??}?A:??5????3??v???ܓ?c%ߩ۔???e???$????}?o<?C\nاs?$??t?5a?n?q ?????~?????&????+??[??kB?]??\']??^??????@G?:??+?r]?D?????TT??b??_?6????jm?\n??]?$??R?u?b???YBh?&\"????[k???-???y??Y?H??glp,7??+??(m???f?7?@????)??DS )?????(?b?c??E?@$`??9???P???G?^x?N?4ޓ?S;qȀ???1?z????a??S???Β?R޶?ix?B?3KP?LR???zye?	??\0????/?Kٓ|aaο%???/ބ??h?????U?W?w???<??\'^2g?^?ϛbu=?hC?4} ?K????zHmL,????ː?Imd?Dt???\'S\ZH???S1?nX?(b?M??w\0[??????p?1?r???N?b??????[?`???M?ƭ??W?E?f;???8?????e}?????Z1P?5?nō?r{tl?Y?i/ԝ?[#c?m?????lO<i??lIɭ8???;??z.f@??)?$?j?--?\'`?C?p3?\Z??f?%??????%???\0??%.]??H#??מj*L?\Z?v̽QG?,5u?qg????????;?=??}?Dn?w?<?%?;?񚸾??B????{???\n???y0??e?{?\"??D| c6F\'?i6?4??\\?Z^cĵ?J8?????zJ?Ys#??9Ԑ??)??\\??????0A??\0???:+9?\rX?g89????t?d???????%?????\"??2???a??B)+/??O??促?~??????z!/LBf???%]P6J?Z???????D?gUѰ??]?????.???ˁ4?\'_c??R????X?a??)??N:?}??\r?lY?=K,???]Ȱ???Pi?y?l?W?\'u?p???)?PM??\\??/l?~?Ø????h?.=?j?襄~?b??U?Du?$?$s?\';?%]???@.:????\\?\"?R?X?x??Hż??,??߹??^\'T?D\\???)???m?HD;?Z?뗩??3????r??ʮuM?WNzFc4???N??7Ch? ??DI?ݽ?\'??\'D??Xl???o?|??????U[uQ???F?????|??F??;9i???g\'\'h{??????kדJJh?EN?m???:??J?[}??n?????? ׶???i?V,???;F??ѡ???^X??q?$?E|L?1ҾmQ?[sW<?4?,K?Or?S???u_??a?Җ?????z???ӷi?????.)\rO???z??G??φ??????	?f?jn???\r?1?a???{??\"????\\?i??y 41??B????i????A^?e????n?1?h?G?'Z?ĵ6???#?6;????!!-?[&knJ8??A?X?s????/?T?y\r.??Y<wX݌D??)`o?x???B\Z??]??F??<ʇQBv???H͇??;??iu]̰???y\"?]????4???R???Nr|?7?.????O??????Q?b9?t~r??,?[a\Zvt?k??H????q?Ȓj????N?z?Z???????3|n\n?~/ꨡ?<%d??????SH??u3\'?*uN?"?f?m??(??5??ޝ?f?????μ??F?Sa???ޘCb??8s#??Y??\0?z`{??4o??7???\":\0??????.ۗ???N??ҫ??????u)?|2ƺ2W??<??ڒP??#W??&\\};\n3????N???M?^\\?^;?Ǝ?T????C??+??c??`???K??.A?O?G4?????\0$???\W{Mm?#Sk?ҧ!??Y\0??hچa??5???D<????j?I????{B//Ҟo???ٕ?v?Բe???Zr?8??ytui>??R????=?ўYFsR??????Sf?௻??h? ???R?a?????$?f??ׂ{3P?N??%???1?I-??\"?!?[)1?5??m??HyҠ??L???+?v???lB????`y\Z?L??V?]X?4*?=?1?{~?zW\ZO&?ծ?C??C??????????O?"?	Þ?Hi???6??#{Q-??????;4??1ڳ?%ʽ?}?*?.;JC??Iv??G?t???????$\'???8s????B~Rc	?,???K:I\Zz?n?~???}*P,?1V4??M?Z?Ֆ?OM?e????u?!HR????????uM%?UNFI??	N?????Iv{?=H	??\0?m??4($o@\ZC?0?????*????4???????s??/3??,???n??]ȫ?K4{z???I??S?auw?a??ك?+?8?&~??????.???UH).?T?'?6U????U?%ңLB?)??*n?q??اn%??F}V\'3:?Z?[??(?????o4Hzyp:qw?+?qb???T????|???HS???\0?eG?Ͱ?????\\?n?y)????6?&S???????^%????Q? ???=?{i?,??'?sJ?>?a???1j??14(a? !;?5?S??????\r3ߓ?3)G潭????????????:22??Bi??fh??Pjz?W?1???3ZBZh?????r?`r?C[??'ϕZ?[?&????gs??b??'{???a??j%N?G?hSA???nS?L????~?#u)?-?	d?j????́v??????u??6N????????ʷ?????????????`?Tnb?????h\'?:ɯ???\0`oYӫ???MF4d??H<#???_??v??*?D???LЊ?????f?R?????i????f&{?u>?????_??????ET\"D	m?????????d??=?	YV_??4?5:ɓg|?%?W???6$ f?4>??n??K9}?\'o?+?v?B??̀?we??7f??Fy?ϟ???̝?_?;??? ??.?.?\Zv:Hk-?-??RO??NlAd?\Z?F\"?a?ݸڟ??H9?????@???Nt.j?S?Q????b??`????iL?p?k?%??׾?d?>????p???;?T35O9?5S=??5Q?X?0???K????i?lۤ=a????/?{?S,$??y@??A???M?<??l?;?D??????B??5???A\noR?N=?o$?Z^??^?zE?AG?+hjven????\'M??|???fo?>???5?B	k%??????P/??VK????8??4ܘ?:??>ps?i?;9ɜ!\0???6??mBwʱQ?q?M?}????\r{\r?p??q?gʤAə??4e????E0????/b?q\n??????X???????_mBf??????ux;\r??E?Tv?L??|_▝_???7o~J??Ԉ0?ݠs??e???a?V??z??}?B????~F?ֽ?(	D????+W??????5JxMST???S?ݲ?K?=u???@????/UC?J#U??w?up)d?;?\0@{*?"?~_ ?;_3????}~?f??٫rrgU???????I?? ?&\r?\?/T%T?E?E?2?(?s׭??^n???ɾ)&Goh?3?\Zr??	????k*W?UpE%??\\p?_?7?^??????w22?3>???7?p3????lw???Q?n??d\\=??\r\'m?????s@1?M?{?:?qQ?1\'?d??"???VlÊY?6?t?\'PBKW\0Tν:C}??r??\'f;?\0(?U??D??92O?.1\"???8q??+???#?0???'?{????;}??W?q1??r??:?????6>\Z?Os?Bx۶?/?ѽ?:?????bK?\'?ӈ???P?Ÿ?w:t??\Z??????hm>???????&??(?i???gc??f????O/??????_d?+R?????Z???zY)????8??????M:?$m????r????\0???U????????m熈?????)?%.??;<WI?K?|???????[%??1?h?;?????@?Ţ??ɭkPbmƳ??}U̾?\0??d??Ys\r???t??[??r	\'L>??g]?G!?W<W??t?a(???Qi???8?D??"?????W?]`??xP?vCŎ?\Z\Zf?\0ɾ}??S=?g??V??奆?V?ѵL8??OAS?\rn????Y@E??F?[?|zT?1?^g?2?y??	????????,???T}?_??L)Ƴ?֍??JƫZ?.g?;??aL{?9\Z\\???\'=	??BR???X=ưQۘi4??01?U?v????\'????U\\n̄?>h?I????R??rЅ\'X?[wI&????bKq???X??s։??\0??Y?>???]???02\"????w6$?J\rX???ڱO??????s?`㰠?*n?<G??O8s?v?S?Ū>n\"?D?????L??\"?!???8?J?¿	q:?g?G\r/?????lN????f??v\rԋ?,+??b????]?`???z??0?px:?Q?3V?3%???t?V-I]Jbc?}X?u???wy?%?֒J$\0efJv??m)v?5???kne?}??U??+*??r:?ˇ썃yHb֐?׽?Կ?Ѓ*??sȦp1v???????????^}7??6??f4?	|??Ɍ??GēȐ??rI??s??ۅ8?w\r\r@??????U?ԃ??Z??G?????=Ƃ\n?A2???%GN??g$?? ?i????NTz?M??}[?????9??r?ñ????fu?<?H??Yv?s^dm??>M;XR??Z??2?M-P?T?г͢??8ʓ???}\nyi??\'?Q????a6?6?g5??#[???????????5??.YІΑ??윷q\'$3?G9??9??)?\n?????$r0????J?)?I?Q?:?(ǵ?\\a(w????i8??S?b?\Z ???k:??@?(=;??M?`??\ZGh?\n?PQ??x?F^?Ա?\'?O9p]?	?9??\\ta?5?N??L?????ژ???^ ?????9^?F?0?1???L?k??f?ەɠ?ˤ??4??#?q????8?|3??QS[???6Tt?\\x9s?N???j?;?qcT\"?{?bp?\\?-e\Z?H?N?Ń????g??-?ԛ???E???ݽ??ध?ƶ???4?????o??\n????1????C??o?L?????m?-)?3??&9??m%.RV?>?V?C.??.\rȷ??2\0c?b??09??7*M??w??Vm??r?@?j/????M??????ӧX??Q?f??ҳ%?3??"?}??;?I??dh9???b?\0\r?);?.&????4\"J?Kcʄ????m???Gn#J?C?????????_<:z?z%?J??Δa????I???Af??$?n?V?gX?e???????e?K??51ʗ?????I?????????Y?????z?29?+X\\?ο??j???z??=??^????l<??????zI???5?\r\'?\"cٶW\'	?a?WD????;?X??X?)D[??0x???X?	????ś\Z?Ãp?`$O??!??~??P???\";N{\'?Ԥ{w?6???k????????e\Z40d?.???????k9?Z	anG?????b/???n?????F??M@d????	 ?????Zꨦi[???=@?Eb|???Ҫ?TX????????*|?5L?,?+?????\"???|?\\&ڙ?\Z?(?TuD\"?$]?I?^???R??ⱷ/Z?\0?0?	eY???7????\">?Z5??Ry??D\n????Q?r}?V???}nYH]?(??}???d?Y?#1???f???J??Cq8?????驥9.w???wB?E?tJ?y?4UՉ?GG,??r??????Ȕ??N???q?N=.?z\\?#1f?{ ???\'\' VU???????(????!BP_F??X$???Š:?|0?K?|?S???ܼ-??c??!??f??XO?v??J???p1	*^???훃?8?K?B?2WU???>?y?M??#D???d??ބ`?9#???|????????\Z???~3oc?ne??(r-G+DI=\\Ԋ??\r????٤?]??K\nb?KG?????l?=?}? dK͠c??Z?M?~&#??:L?q??1??w?蓏??T}?ObI?????????P?????	?\n~N?J/,?????lh1?LF\0F???5????????V?\Z0???A?)	c?B_??+\n??d}????????????ghL?Z??Z?=??????,U+6U8e?}??z?u????!??r?vf\rS?$8???~?ʋ?`N?(-jL~d?%C>-?J?#Ce21?\rQ???,n??N???)Ni?E?e?Ⱑ???х?F???????H?+%oL???꥝?????\r?ץ? ??>??.1,?IAN8ɪ??:????|U???]3????R0Oj???ݷ?J?f??ݿ~b?f?$?.\0???????i?}3??[\'Z#<??ߎO??7?0?qS?wA?ҌK?DO4l?:N?????OߏY?Wl?V*m??b?/?c<20+{?\"-#?:t3i?_?i\r?Z\n(?}ȼ??WуwI?u?ĔyE.-??u0r,JUh_ba`X?????8,?\0?#?u??Ch????K?)???\Z@kP?̋???y*?J???x*<C1E?|`?pd?\'3??8/????R??ɣ~??W???N????????????(\r\0N???rÎ?7??&?gn???l?e1%??????y??????s?H;??vzf??ʠ?T?S0:?\na˙?????ĭ??k???>I?r???|?Q??A{,[Mh?߫}????ԙ?⦸???@@??Plv5????????Ѯ???}(WN??prr???'????ً~???CϏͿ4??=??\0u?B???sP???,???Y?8?I?5r?*???<ѡ\'??3{&c???	-????Ģ??8??0??T?????~,x?]Q???????V????\0???0r?HP?l,??$ok?H\0y?c?=U?j??˵V??hC??F???氉??=??׍?;???`o?a??s</G?uK[?d????]Lo\'ӑog_:?5o?D]?+Gp\Z$?[????g?=????$??? ,;?<?i?ꇨi????޹H`?K??-??C?GM9?9l?xj??MXFb4p?_? I1x?-?!??e?|???7s?#\"????Z?)?.na?ߖv???{Rg	???????:???!??G?l=?/? ?ɟR\\Y???????a?q#?)???/??b?HJ?Z?????Z?4x{?Y??Ȏ?W????^s??\0????{???Ym??h7????v??S??T??c&?a?_??Z3???yN??m?(#\"?M#?|?R`??h? ???????ֽ,5u^=[?+?-??/?fs??4D?????F˒P?ijm?????=Cq\rh?3P-j?m??=.¤d݁!?\n????h?x?L???9?\0???	??$?1yӉh=?\ZÈ??????8?깗??+?????wx\\??r¬???5h\'F?????3,?Q??)??ZXT??{Љ??)\\?"=?~V??pjl?P?`???%z1?e?o_ J۲???}L??z??Ƭ9?s?*-+?9?{No$????&r?6?n?\'?!~????lAD2l!?1!?<?E??r?s??Hf?;)??g،???g?dd?? ??\r??~3%m9~5V?n7k????Y??o?????ΠоD??<@jěwc?RF\Z?n??Ѳ?mYXe?u\'\'|\"????Qu?:>g??????M?E??-??k????l???-???Z?\\??ݕ?2ƈ?Q?{:Q??	?9:?Ay,??[p?s??t?ٽ%:????eq???E}M?tؖtCDP?)qW??]?????)&??]???????༡?:?Ri??g??7??";?*?Du?:?z???7T?V?_avu?1??vi_??q%]??b???????[&Pq??S????\\??C?;,G#f?0??M?C?N\n?v-??i??Zz????\"?IOA?7???ѩ??\\2??7k*?4??X5/????$\n\0`WRW?\"?O.??(?ЯF???\0?QK!?,\0Zz????n??\0?y/??4s???Y?낃??}?Ojq?l`k?1???-?????yѦ??xc??w?????U??0^??.????????zv??\"?3???????9???F???p?a??X?he????h+lR??????^???]????/???ÎV??8t??3XM@Σ\\?Wb?@}???.D?>W?.?????l?????N???յ???????OңS??K?`??????{?O;???|??????֋1?[??R7A+\r+Kӱ????b?.??S?8??r??hO湵E??'?Q????????΃= ?@+??4\\???A???:??qLEĵ??đ???C?_OEM??_CkvH????ǸP1TAC`??Zu?\"???wn&1UP?W[&RY??f??O0?^??u@?g!W???`???9EA??z??y????????'??;?U??????O\n???\0Q?x??Y??m????????????Z^Е|???HEg??04l?Ѽ?a??;?????h???E\'@u???؅!HG{8rj?qw?Z-ۇ?av???Cc??N??`?r?H?,??:?I??M|1?? ???Ƨ????N??	???NvÍ?I?8??????|??????av???OO?\'??q2??e??w1???\Z???~?1?+z?????~??N???\Z???M?~>[]???K???f+k]ٚ?vUؔ??IE?????????V?p?'?StXO???????;?????^??Q?????4??+f{?p?R]?<?\n?????W\n??#?ߙ???y`??=wfS,\Z\r>??|gq?3?U?Roo7\\???[.Tr????m?????Ļ@$ė????+?Q1???z_uHl?ۣgfI???H?r?}q}??\"8nZ??Jf/P????s8%?HQA?X?????]?\\Y\"!?ކ7N??$?nv>&_CO?`MZ?Ӳ?????r?y?/?8?m4?x???ž??$XNd0??Óvv?Fo??W?s?)I{??d?S?F??t1??p`????????@?kB?*??:	?Gu?\r??:???\0p?C?\'\Z??????????s??E???#8?QB_u?^?C⡐y??0???@?B]KT??%*6?X?????F?t?????=ssP?????b??ad~?k}9;ٗ:??\??????9?C?oo\r?7L?/!???\QI???????]??ԋha?"??F??8?m\'???????;????)p?U?=???B6?Q]?0???#??,G?T?[??Ү??j=<?M?+??_?3S?M*?n\\1?-?F??wGY~q僩4,G?9?Q?,?Y=@#?\n????O??????ބ?0?O??L^?0}8?????>?/rHuR?i?i^3??:??<???:?|O!0G?????f???ż\0@?\'?!??i?j??0?$?: l?)_8?Oa2?\0?\Z??Ns??;???>ў??G?\"?)???l?ExB??????xr?H?\0??TA(qx+???Xt?v?d?I21ĵ5????F\"??dW??b?"??/E?d?|????9n_1????O?j<???Yc?!v`???\r????m,?O???,80?e*?ݒ?*?@|nr	?K?EB?????\r?F??ZeI?4-?ٓ^?*d????C[??????e?2G?2E?\"????/??G6?M\0???~?H d,??vRE??\Zҿ;$/?v?K:f????8??HR?RَUؐ?Msv(?QW~??????m???????F?:??}??????}\Z????\????P?ʗw???2+??Q9t|?Y????=??????`WK????;L????u??p???3?????}?????\'?$w??a?l?N,;???I????\ZZp?l??(!??c????x9\"??>5 [C(?ZRs\\6?1	??\r?;/?????D̲Y?????????\\$;???7??{n?F?7w?$%8 ?G?5??\Z?-???-?ҿ?fiI?`?0??N?0l[VMQ?u8[h_?T$ջr????1\'0?e???? ?x@,6)??85?%???9?]?9????窴??,P0(????7\r?????D?uA??rk??????e\Z??>q???ϛ\Z???h 0i??N????0\n???}?J`\Z?c??M???S?w:?	??%???n1????h^?}??@\'.?}?????^???????Ȯ5??F ??-??z????!?Z	?!??~?l❞?+녫??}?$?mr??rW[?#S=??????h?Ù&?\r?=?L?}???q?I??Q?5?^P ?N_\n!?ylO^ɺ????ҘWࡧ?i\'???????Z??????p[???{\r쏎t?)??pwڵ??F??M?????܈ԯ???0??????Oey!?הÞcc??l̀???y?$?=????p?j?????????$\'??n??>?#???Z??B]?x_??H;??m?64VV??????DnY?H?S?á?g4p6?F+x???H?P??g?t7e???;􁳻R?=I????.Y?;????Y???d????|m??v???WU?4:hRصZ\r?Z0???9p$O???w??ӊr??f???>T??N\r47N0???w??h??n???x?!ب?Ƕw???8??.?C6?п?Lg???JW?????ZwRz\"?Tف???OU??????Q[??Sw??y=??\Zm?v?X?@h?U????????]\'?r???g?oX??␀????K??.???\"??B???b?n????A	???Z???7W?????<?v???5??I??s????0\r?*?	{???=??-??p?\Z}?-9?\Zz?ԁnǋg?!?F>)4?y`h!??3?????????m???Z???e??F?[??&`m\rg?Šgױ??????9\\?}?Z??4?{ڇl? 6 ?D??xh?qy?}y?s??PQ!*?t3ݴ???y?i?X3?gw5??Hѝ???[KT???8??????vJ+U?wr?????\Z.?=J﫻?0V6H?aғ?\"???|???&&?.???J????|??\\b?'?o?C??xh???ÿ)&??F?Y8??\Z????0?-O??,?Q<?tK?M??L*????y\ry\nн???bUxw?8?4?s?\'?G?P??? ညڛ%??Ie??J?*?F?3u??\'??s??V??}5?]`[\n~j@t?V???-x????q??;?[k?X??????q5?????\Z_?}>B????k?Ӷ=??Ei??1?>=??7??A?) M\r5??}{???G֚?R???c?W????E??>q?aCI/!*?qϕ??4 *{{??/?????????+~wt???_{K???ý?rV^~<z[?>?????O??|v??|v:>?????????^?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:b235713604ad0221f42c356d3029edc2','e?͒?8??S>m??	???S?F?c?ڦ?־??z?f}?d?!l???b?6Y4o???͢????Z?BZVE\'Ƶ?\\??CV?[??cD?%??j???????=9????\\\n><?r??'Y+#??t?v?????????1;?v ?+PX???gp??º????5??3\n?O?	?4??ZP?nE???M?f?UG~??٤?gEe??!???8?%9^IGQP?.u??U???$\'?1Y?y`???+??Q8??/(́?????Q??P??j\r|x????F?4BuKɮTs??V?0k??k??zW%????r??????r?28??~kg??2z&Մ???	?	]?ϔR???}L???tړ%h?Ja???w??AP?ٍƏzC??j?*??KT?\'??.L???*Y??\r?:!?Aap?>?O??\n$.?F?H.?Kwķ?????{O???????|??p5??\r?k??\r?????IP?ø?W؈U??	bV? ??Hv ??r>?ˁ?GGt?:>?㎏???}y????~??lv?[?E{??%ˊ</1.??2M???O?vj3??M?\rfm?E	Q?P???/u??Mַ?\Z??w@?!????????????g^?W???m?????w????KO?6???VHڱ???o?ʪ:I??QM?$q?%<͋&????~????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:b4b179e82c26c40639f621479b89207a','?Wmo???_??(Ɗ?i?iA?[???`-Q6c??)?k???R??!u?{?s枟_?????	?tX???<???.?\\:A???\n?p????\";???	????##???p?,R??i?\r?指b??MH.????9EF????ʒb棂ϸ?s??G???8?????RI???u????????_??;?\"?????????~?Q???	??????$?Ģ?{???????f??&????{6B#{`4uHD$?VG?1?PE????.?<H?a??K?????\n(lAU??0.?+?#6??{	{abj?`7k?Q??6ɘ??7Ӭ??{(\"??G???C?8?l\r????p????r?s??)i|?T|GX盓?x񲝵O??,a?LW??1?r?FЮ\nM??UNT??:????????g???L?\\??S?\Z??u???,?B0?mc?fMAm$d???sI???\"?\\dj1?*??-????1,7l??&\nP;??+?????q?̉)???u?x?e}?8??5???l4?]?{kI?????Ր?????????ٙ??:j_?t?\n????N?RY??]Γ`?%??v?VA0^?=M̀b?N????1???/ꮮ?*+_7J+??[???{5????Z?}!?SO]?uCh4??>?~R\"3????ld??_Q???????9ڙ\0?Mu?y?ڱ?ˊ??޶???۞?k???ʩSQ??n?=??????~#?Μ>j??6?g?_;o7?P?? ????????o??EMW??0?eT^ʲ????R?!W??V?\Z?z??M??\Z?@n??yn?6?CZ?[??7w$?:Q,T?vC)<@????Z?????????????x?9,?\Zƿ??h??????s\Z??Ȥd???P???#???ŹD??????? 2z?????`48*/j?͈??8?˂??~H?#x?a?z?H?ͩ~\n?B❃ӑrJ??\"qFê/oM?g?ŉ?*??\Z???M???+?:??Ib??f?n?Z?\?ئ??8ރ?n?[O??؃*Z??????А?9?1\'%?9?y???j?\ZT?C?6&T?.?????&♶?PG??:8?wU??]?(?	?m?$?>???=?~b??????ֽp???k??,8?.?????????Y??t?{??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:d6de1bf453bba5610359b14cde399221','e?͒?8??]>?fz0IHB?Ü?8US???ۄ???l M?S?I֟_???????^??ƿy?˄?\Z?i?lǄ?g????Lb\r????kk????-??iЇ?P?@?I??J?D??(bX???5N5mX?ZT?c]R[A?7\rR??)?(?????|\r?	h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?r?é.??????|?OyL?ڤ?\\.Ŏ\'ǔ?c??oknT)?L7??Z??????еR?f*ٕj?p??Vn??{M!?=P??D?;愄;ٞ??\"?#Y9?z???#e?\\9;?jNf?Ů$???|kGJI?0ADC?)L??d\nڧ?R??X}[??r???F??!9Uh?)?В????r?<juùI????$?0?CHO??;6??XHɩv??m3?zy?r??R??-???'Gu??(??6??Q/M?]??S????4??<u???܀?????$ߐ??6?ņ?6??\r?m????6n?\r?/????}Y?.?eo???X??Ny?q,?\?2A??~8ϋ???S?I?U{??g(`?d????$????@#?????rD?,??>(9xy???5??+i5?_=?c????*?ف?tSY+M;?????????RyU????c????񃐸?\\?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:dfe3f5687acc6e7185386f5a08625dca','?{۸?????ň?-\'N6R_??>??m???(?L?Z???????O???ݞs{??$03?0\0???ӧ?Asz??e?x:O?i4+?Ͽ-??/??«Qz?????8?jz??,??q?m??7???\n??nwyd?y]???l?$CL???·??[????1?}???^??%?\\ j?Q?????c`???????zE?]D????%^?????KB4ȼ?H8tă3p??;\\Yr????b??\"?$????W??s??M??n+? ?t?̂i??"?9????J\'\r????πsw)?|?w?\\\r?@}nle|s???????r???????\0r	?Ւ??g????̹?+e??????,?]??f㠈??2ki?K????r<???????Q?^.ċ?3?h?ɣ?{?_ooυf??<b?%PȒ?j	t?\0?}`?d4ET$???\\??D]h?N?x?p??p????\n5???9?,??Pe??\\??I-:!?|ǋfa:?~???u:??3TFR???O?????\n???Ȑ\r???Yh?R??V)?\r?/?ymgEMҬ????7?_?^??????|??U?mz??Ȕ???h{JCPc?Թ: ??^?"?\n5??;eQp5\\?V????va\Z\\E??	?<J?????{^?v?\nF??? ?ly(?	?[}?/?s;?P?;m??<~?y??7?C;?Gp???fׁnt???/????\,#??H??,2]??/?4o?a?H?cB?Y^??̃Զ??Hy\rW\0?d@m???)???׷?V)?z\"?j?.e4?\Z!$???V??n????????)?Z??!A?\"Tc?^?t??FyXa??Ң?.C?G9tt?{y??EC?q{??-???7P??&?KHQ?f??+?n??8?]%9M\"?F?.q̃{?$?A4?????ݬ?@?U[ɞ??!??W???_?-W?`2/ER????q}?\\??%\r?2-??eb??/I??EX????????IoVA?R?????6?_Rf%??_??gWo???!????	?fZM????/?_?????؊c?C??f` 1?Q??e?d??؛ҐNe_y???RL?+Bɢiz]-?b/\0???u	?T?T?\0((??䠟?.?j6?fZ?????l??jl??????????????YSU????????h?vU???{??QDzQ?zn?[?????P?C?]j?????????e????l<rم{nY溶?JNZ?Cs?????4???ZY?iM?;?ڎ)q=??Ͷa????UTJdG???и̢?????n?h??`?9j?X{?Y?H???v??h?Mj??|x??5?N??Y-Z?L\0h???Y@iB?W?i???j<????WqH?Ϟc??VA??>??rq\\???!???_&:Nh쏡wf?04t??Q=y???/?\\??'????r?!\Z??,B8X?se?e;q?no????H?2?X???q?ǳ?˶E+?7???FG5?+?é??{?Dؚ???^|Lo^GIBmWdJ???\Z?????\\???;?yl\Z0?v???}]?F???u???R??d??)????????/?)J3?Y?r?(??~??\"q$&1v˘\n???ݶL???0N??F???W?????M????f????͋??c?????P5,y?(??3??????\Z?	l?\0???g??k??????Z?sTڦQ?Ry5?>?V_?y1`XI??X+?????_ż????9h????A1???Հ~?l?΢?Z??΋n^|???@Og????0/??????"N?????? ??????qJ\n??Ƴx??????޷???????o>=?<??????G???&ֶ??H?"??״u??\0???\0?}?Q?ѫ??}\r?ct??p?*w<wz?b???\r??W???pl? ?=???t.g?6Yy?#\\dP*\Zz??[?|??????rO,?s??6z?\' E?\r???n?]͢?\Z?ݗ??֌Bg@25?1u??/\0?J欄?j??Ĥy{??9>???*??\n??4?9̪?2}???Ү	,?@[????<DW????TϹ???$??L`?x?iYu?io{?U?0Ȋ??o|;????S?G???[?^?NbsiH[G?Z?Vh*9DB\r???\r.$-N??ً??K?E?r!:??{S????|???????ez?U??<i?t9??\Z\\?	?ȓ#)?Zj?P?]?R[?0?m???6?????s?0? a?I?4C?ߟ??\nn|???WX??F:??B??p?+\n4???+??F?F#??tGi#??x<~???r/???i??l?S?`?s????ߎ???????x>???????2:=y?X???\rj7??Hq?8???C??&?????x??q?+R{????????<??=??B?H????֒????+??C\'?9F??}$?0?>?]OKr???9=]??]?Q??????{?OOw?M??ҩp?4??$??#????Y:???1?\Z$?pͳ,????4?ww??????'\Z?d??_??Vq??8ِ?sM*?s?b???R?Z?P?ʀ0;?????,?:Yv??P?t?,?)\"Yp??l5??96:G??\'??@????ɤn?????\\c????X????????????Y\'?`H3?At?H\'S}?b???m??s?v?ln?)?ʹWb?ʵ?9:A?3DW??~????:??`5??m??lRe9s???R%?\r?@?mY??z???????YO?KpcoWڧ?k?Z?V??\Z\ZJv?M ??X^?q_?\'?n??Z??S???jvM?Ep?0?J?G&\'??L?????}?ǳ?B?|\r%[2F}C+??\0?\'dc?d???	?\\	?Q????Ku?F?Ac??Hl^??2??1j?8~?9?4??t>???\'Zy/???r?Q?Y????????74A????M??o????ϰa?V\"?\r#r??G??{[?M0?I?Mc??d?????xA?c\Z?f?O?\"5W????&toOf????nP????~?C?-\'?*?.O㶙??_???"?ר?Ō?????N??\'\ZbA??????OOz?O?v?A???֓}E?&E<?Lc???4Cb.F4ƤDq???A7????*??\0`???*j?c?Q???Q??\n?	sYL?v??Պ?-ʲ4????F???*?Ҭ6??2\npN?`v??]S????~?n.>??	??c????`?\"\Zrڋ?^:?q;?@ޢ??j韣??q=Ѱ???\\,Dm?I\Zd<??P??9???~m\0???b/?Q???nB?Y???\'??{?????????w<wi6?h??=Vc??Q??6\rT5+????\"t,??\\????????IT֝+u&??Q)N??i?"?70~?h??P??;?@7???̪mi\'&??u(ö??o??fޑ?h???Tϭ`p/>???G6??!1,??L?QLi^#?R????0???#D?!t??{q?D???/@7?????`,e?\\?Q??GȊ|n?\n??t\0e	m˰*|??l??!SqR??¢ۆΓ\n?C?S:,????޹?v??J?hj$-eE1(i?V??GPU?J?]BP?o?T??s?v???\":??\rp??U??j??1??8??d??K?+%???t??F?F\Zh??h?E???H???\0?T??3 ~Y\\^w)???{????\"9O?\"K???????o????????ri/_?8??\0?p??T?"?n/????!c??e`t?C	?*5J????m??Ǎ??xܣȀ4???,a??\"???Ff?Igi???5M?$?UG?lӏ#?ë(\n7$?!?d?c??Y??:)G?l?%??i<cx?ˍ??T?Bӄdf?z=J)?W?Q4I?A??j%??Z?D??aԸV?ҽU0??z=??o?x\n37??h?r??t??<??g8??????0???7Ǆ????F???Z???j!?ZJ?3??c???ݍ i??t?4XO?p????B`??\r?F;}??zkw??/??6?`??|????ڄ?\n^?/첵Z???F0?策A????nb???-??֢Ѹ???????%?D?P????zO?\'?????*[<??0?S?f?K???qF??t???6=???V&?TS??????_~???w?@`??7?q?Ͳ_?N?/??1???3?R?Qen%??b??]???T#??T?vt??]??5???{?t????????????9?~q??(10\'v?|v???E\0d?|j?W??}?q???h?B??0?%LP?c?-??1y??????h(???rl?QIj???$ٰ????7?h???md?ZÓ?x?\n?!??t^h&w?P/??E?,?c_???????????z???w????~??_?~:???????;?0鼸??_%?:?-ˋ???Zz????Y2?.??$)\0???????w|J??/?u?Ǡ?XQ<H^?|_???sW?f??]䵫?AA?????Y/a?[????_???q4<T?<P ??\r\'?hn???"?C???8|@y?z?????#?\n?w???,?e??}I????F??M??U?7??????ǥz?6?b????ȚnqU\re???d,?]E_?M?O??``(?p?a܃??Mt??z??\'?ZD?V?k??hݗ1??Q6?%GA??????^?P:p(????ܷo?pCQ?????Ft_?_	~??`LxB??\Z??N?A\Z???Z??Y?n??VQ?h?[??y??0hF??o?0???}?F?D?9??ux?\0F?,?ٹ+?,1?$??_J??:??fϷ\r a?LZ	???<WC?-?03_?X???\\#?L???N-?F[^kA+*??????|??Ե?/?#???&???z??XF?5ږ?\r???%fh???w????m)?kk0?gq????4gP??j\0???h??A?G??ӛ??#3#|??#,L?&qB&*?_O$??/<?N:?KZ??#Z3?K?Cv?l?Ս????z4?))$?᠋??t??Ȓ.kC?$E???I?m??g`&Kl?$?#=	???????O?1B?ҷ??<?Ϲ?[#?!??v픶q?y}??cM??Y?_y??l&??\r?g܄0ۍ!Df\'???ᆫ-u???T4?\'T????n?P0bBR?????y?@?C\'?Bްibߘ3?c??1?B??M|?)?*eۦ%?Ja???)?\"7?L??GL??ie? i?\'???P??\"?\\?WsX?v?π?T?ELs??5]Q??+5?-<??T?>\"?*??\"?,?Y?[?􉁨??蠼?PMШ?????n?i?o?;???;ms??ˉϭ??xd&?\'?={K????]??oe?f|k?O?{H?,???0m`??ô]]?ء_Spe?x??:????#???????6-?+6?"??`hf???Iyꐴ??hB??ƧO????ҼE?nTs??@?Nx??g??(*?C?->ah??,\n?A?????v??Ŋ??<毾s$?pu?????K\0??n̥Q ?21??ya?$?/kI?㼐&??H?Uev1[?3\r???.?#?????3	??*?W??Հa?@?,kXk???R??\r??؈???y??A?\n?:p????U0??pZ???[?F;????P?⎨?+vC???t?D?ɯߜ=:i?9????????ɯ-\0p??Ϣ^t?m,f?MմY?????06Ll?M?????S?Iw???????69y?A?2x@?~z.Ʃy??Wx???9T\0?t|?_g??\C??R??κxH?>`j?][>?%????7???rD)P??I0???м>?@Y????\\O_??cw????]J+E??M7??.o?	p?[?Z_?[?5?H???9???p?͝??&v?g????#}]??=?C?mj:?5?????(??x?? ??\\P??=?]?????J?.???Q|\r??P?v??????D?i?ͯb2???J12?L???E#?<?տ-???vE??3z1?Zx\nO??!c|(`???"?XYx?<<??,y?i????6?*Ey?D&\ZC??o<?????7???? ? ^?@??k??|-?R?I/??"???:Z?B	h??1j????????B??[:?)?\????ຎ`????ç??ĺ?MK??|?z?R?\'Q¢?cQ????a?J?2??/?n???????sf?oU??YR?????,?????'QC?}????w??XocR/???2?J@ڡ??]???????$??]?˾?????SE~\ZFRF}?????w??	\\9L???+?˃????v???گ!?zh}Ɇ?G?v??o?d\n?Z???????֞E?\"???X:????]????????5??<?m?í/?K?0 8\n^??????N֦Al??q˧ų8?S??$<x??Нb͠?Ͻ??v??uNO?????gy??Ϧ????Γ?9.=h?jz[????y?ŝg??????㜞???n?\\?\00&??\0\\}??\0v?	5ĵ?r?E?I?*{<???????0}؀S<???`2 &?#|????????N??g???c?t??ߞ??p???}??\0Ѓ??}?yr???釟???&??7o???$I???LT??+?cm?????k??Te????'\r?Ԟ>Lj??m???=??%Y???N?(?:q????3????AUԣ;9[??\' 8?=[??W?	u???????~h?\r*7I??U?5???ʑ?ei?,U?w0?????>i׊uqG??%?~?9#&?e?>?F??????}Vn??????????V?˟{??ܵ4??5?5?X???_??.{?]??ӵ?j??|?H+??W]?\Z\Z]B?kh??G?9???ˑ????9?ge??md??????u??}8}????6?????*Ԥs?͐C0R?d??V4??K4??G4???????GV??>?GG?ï????v????????8?<?U?4t???誳?R?^??dܘ?E?e?1{??????=?ϑۖ ?????᜾?h???HL?,?b???c??R???OQve?v[.N??m.ow?]Z??A?2c??=???~???!???-?????e?-??\rUG??\'QZA?(\ry?Å}??I3O??~we?D(???щ???&?????խ_??ݺ?#????豈?b??:9f???????rM?z /?;?|+??\n??hLK??\\4??.???rX.?.?ni?ī<?4(??4??\rYE\n???I??v@?W?K?B?\Z|I?v???(????Qq???i8Ҕv??O???}??T0?I?"ٽ??tqq??6??-t?n?Yp1\r?Fx?_?|]???r?4?Y???????/???e??8\n???\'???eQ?!7????Dt?????y???瑿?\n?\Z`k)?}[Y0??H?S???㇟??????ޞ$-?l??#??%NR*?|ҿe]?IQm͗o?Uc???f	 Eqe????辣`??I?Qa@?:h?0b???a?L!Jt?fU?	?\0o?J?i??e?Xa????v?\rqDGI???Op3??(?R?V?km퓚???-Y??????WUY|?^?rև?,??/?\"?[?t???~???????\"\n?R?~v{h??F???(I:???YT??????H~9?d?4???J\r?]??????@?_r!/T@1LO?w?KHJv?cEF?!G??@B@?T??ou???s?	?#\nf(8?\"?j2fnۿ?v髷:Y?W\Zy2?wET??>?????2>??N?\0??vn ?P72??X`??0!??E??~?|?Ò*?d??媙IϪI?8?U?/ˬ???}?{d?????N?~???n?????i?@???ֺ?5?U???F|6?P+??a?lM??|(E????w???M?/???>?+ C{??̶????xMq??Nz;}??????a??D?cp?????^?Ȼ????w8??<&	?O\r\"????ra?Mj\'拘F??????E?)???\'&}F?Ņ?R??R?qf?f??8:?!\"?J?1??a1???p?n?8h?\\9?d?s ??]?а=????t})??!?@?iU?\n??z??%N}q]ͼ0,???\*9O?p?4?X?\n+??-k??T???<o}???????%M?n^?????\Z??0@???|ң?????D	??\0?>?????????<Z??a?????80L>??#0b?I=?{??*j??4?\'??9?#7?z?[?>[OQk_?????\nj???p?ù?x????	?/?b?l???k曫:E:?ކ\Z?M??????\'?B???%??9??Q?hN0??%%?v?e???RHT?4A???y{mrw?\\@\n???P??cQ Ka??U?j$?7??$?͖?Z??wM$????8.^-?O?????;????\n?V?5?c+?N?^4?!??2??w;M????YSG??r?[ձK???촜M??????V{h?H??U????:???q.???v???C;d?????9???jV?Ϛ???NPY?V˘w?j>??U??J????털ۯ??\\????Ӽ?C????p??T?5aY?W?^;???Z????uC#8=QX/<??^?t??M????US~?Ju????5N??V[??è???_?W.]?????h?w	?Wd?d?W?}?F?P䯏B???9?X2??$c????????:&K?????e??&???f?i>\n???H\n?K??=wI???D??4`S??]Q???TrMx?\r???\r?b??l??\0??gY)???????a??\\?/?????F?qXvM?ڤR??*x?5???]?c|ۍ?w??7??׵G??C\n?}xx??]??O0x??\r2q????????1Dx??4E?s(?Fj?AÔ?}?Î&^???!?3\n??????P???%?HJ?C???B[?KZҳC})\\Y\'0???憞?FIM?\\????R?e|??f/?%??n\n??ܖ????TZ?mb?Ҙ{i8??#KE_??d.1?L????9??W|@??ϵt|??n?/43?&A3???6Cl??c??VFӎ?Ї,]?;Ja?,?im?3Iί??X??\'t??bs?Y?1???	?d??	*M?????1oZ??c//?L?#?@3??c??8?????????L@??H+?????'	???pD????u??R??]??N???|?rr?s?¢!|}????g?n??m%Y?\'\0p懣a8b?$P[?m?#/??8?M??@????.????d?ia??-?\Zu?FͲi%{?v{i?B|?G??}wg)?4OV????c?S?	????[lc@+<?? ?$/?Rgw?C?q&?\\?`+C\0k??_?B~??`}߾?\r\r?	?q???????RC5??1viS?yO?3@o?)t?X/U0b?d?\",?zp6?w?К?!=???2mv????@??GK4u????|Qʖ=?R??>?<?AD?i?]????,??J?ڌ???G?\n?HV?P?B?E\"0DS>\r?R?????Jĥ\'-?vn?Q?t??r k[S?VM????d????;u???u??????f`???Xԕ?G???\\?oZȞc????cb????ѴR`?Q`?\0N>?\r\rJ??+????5???]\'??3?\??!???W??{Ɍ̯?J@R??X?ɢq?????%??\n[?7?V:?LX?0b??/??sD?Š?ʑ=:??#?4̋\'?{:DrU?\Z??Bg?jsd?-|??w?K??/@?s1??%???qLb́?k+u?????[k?QԝS4?.\r\"??\0?B???????\nwy??=??z@??l??????6??o?j?j?I??y&Қ???M<Mb@?O|??(??B?????j???VSZ?q??O??K8?????????Eb??2b?,???.A\r??9r@\0????֢????+H.??<}?????????0????x?? )|?,??z???\\!Ƶ?O??g?;ˉze?RA˫C???U?:Q0?܌I??`?3??(f)ko?c?M;?Y]?_;??{???5?4?bX?_???U????b?3+???R?PAx????@?=t??H????/?????$???tJ,?09?C??d???1٫????BFJ8a?\'??cpk????m	?,?~K??&?mӪ?_FGF5?Y?%?P?J?1:ǳ??tG?p?g?+??-G?|????q?sМ?0)?O???? \rzPS?|C???u??^????D???z910??Jwl????I????4??^????sFx??2Ywg??e???????e???²\n?&?<??]=kQ??????_???@?[[????I?r??A>????=x????????q4?5??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:e557e2d70e40d470447b4177d3d62476','?ks۸?c??b,ђ??A??һ???k?v?cyn ?A??J??|I?}?N???}cw	?4\ZyǫG?2a?J?n\'?w????nH	???	%aI??͗ĭ???P?????r3?+??V??$?Ip?\n???=?0$s$????~Sn&07?m\nJ?l??L?b?\n??1z$4?g?Tw?/)??Kv0?\0?b?i????|???a???}????h]??j%?'?A?R?ߝ?~ ???p??M???,???K???%??;?۾?N??\'5g5U\nS-??????7U???QZ?i?\0*݂\"?&??W?B?(D+?0?\nKĆG?J??????Ѳ?oӧD?]	?։R?????d?tz??N??ө??;4?2???zv????&??)??w??N?k?8,g?S%/IY??(?E??9j)?hGE??:?vx?}ĳ%?vs???V/rE??\r?ѩ@Gєc!Y???n??P\nY?0?!????lV%.\n??H?)??,aB=S????\Z?3?I???*}???e???ɞ?'??'jι\'s??ٙ?k??r҄???#?w??.ht?[?e??X??͏?VBꯐ}? [??#?nPZB?K??l?)	~?????Ӟݳ????ҳ7?sf;??5{r???~gr]\0/C?d??G?#?{??f?u??j`??n?:?wr0??c?.??>e???!?2?κ??I?G????4|?]?W:SqSb?=|??P?k?qԐb\'??e9k???ۋ{??????ϝo?5????:{????{j?ƽ??\raܩ\\??vΉ?o6???mT???n?n????=3????ݡ?\\?J4?!?iW???????]:???]?n????)ܫ X?????)S?????p);??o?$?يt񺭒?j?۾?d_7`+??\r?S?g??Kį??gʲ?ޖ?[??\0	Cy\"\"<8?3=A`ѳ].???????,?????,???s?7???;?U~Q?]?x???%?!K\"R?n\n~?:??ڠX\ZԳE)(?Dw&F?J)?Q?+????ת?֘?Ў?u????سKQ?9c?Q?TɠM?\"}Ԣ??mC?LwP޶????]?(W???A?dI?ͱ+$?K?94@?F?Q??H@?6?,\0??=?D???J?8$???5??,????;:>Y=`uO?:?͌b?@a?ӊY2r?7?P?Q?Ϡ?s!;e???\'?????@}?2m????Z?ю?x???:;???(?g????????N??&??GɅ7\Z???&??rX????\??\'\'???!M??+?$̘}?^m?̠\n?$!???d?Y?????C?\n1??o?԰?ƤDHK?(Q?B2FA???\no?t??qA$?|?=8????? _?w?4??N\0?B?*??r?7??'?y?????氏R?K??Wѐj[C?????[?Y?C??)O$???R??????????	??N?b???~<Z???ñ?\"߶߭??q,??;^<4?a??lDZ??H??????L%e?9(e?؁dQ??????5͠??U??????`?h795?\r?{h?I?id?N??~??ܴ??t??ݵ?@?F?ZNx?D? ?Mժ-<PUX??=e4?4???Mۄ??2j?\r?WP??(?(??;?L?~nʏ\r??ï\">???~????&??\r??f?C6?J??\\?p??\"?A?E?$?ѹC??13V+jFK??z`W?ޤ????????n\0}?(?<?h??(=???????4? :6?ڍ?t?	?i??[ñ(?\"U;?0?b?W???K???)??u?_?ڢh???bL瘯?E?4?;	?RE??F????????%??OT.)LASg6???Tqr???v?J??l?"%E??Y?ޗ???1??ٶ-I??:_?6?iO????;?i?1^\"??g?t7wv?5X1?[?;??!?nv%!V??n?!଩???&?\r????<?ߎ??C?m??=?ӟ?n????H?-????+??f?i^???!;	Xx??\Z,}??\rG?Ya?7?:U??????@*?????G???p?E?sJh???n???oXd?m??mo???#}^?S???B8??	?\Z?S?i?!_+??\\__???>2??????C:%L?ir??n?????k焉ߊۄ??2??[??K/&6??\"	??????\\c<_̢+t9?7???8??z}>M???????????A?p	??K?\r???D??,s*0??$?\Z?à?is\r??N???W?c\"????v????gi?`??7U?㟺Lޫ???#}???F.???? ??n??m\\ ???????uV?????P??wW/??s?ةBQ????a?E\r~?\n???!???p2??MFWW?t9?\\]B???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:e65a51731c12fbd573a69d1428d26955','e???0????N?qS???z?3?EZ@AH?$L?N߽+n????cqeZ?????>???F?\'?????FcR9V&;?8??#+??\Z?Y??k?????vCӠ???????\0?????琇?X??F[ٴ~????u/??Qm-^aW0??ug??&????E0?????Y\r*?~b\Z?5h~u??c9???;ժ!?H?Н6??2?R`?"*??ZE?g??zeM?S]db???l?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W솼9ǐ~Ի\n(??p%?"???e???΍?Ate???9??3?r?)%????\r?9?0u:?)h?Ja߸7|u6*?R?مƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap?????N?B?N?ۯHh+??=??w???*9l?$?0?x?E???\Z???X	???S????q????p	+?????A??d?!??o?C?\r9n?C???Q?۰??6??????eq????V?i3???+!??<)?$?8U?-2??????S?	O\n~:????Β$=$?\"K??y0??hğ???=????#?eqe;??????/?q?vx-I????~?o?{󫤯??6???*ڱ%???oo?|.??????{8?t????<?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:ea4f7dbb0297c77afa6138e584c7001a','e???0????Nm??l?=????"-? $W?N???\07?????<?I?~??ks???v?e??h4? ?cy?b܄ÑN<??	,?S??ei??F=!*\Z??:\n???	?Q(?$onzy???l??U???Y?R??A?vC?Ts\nk?y??:?^????]ܘՠB? ?1<T??\'?A0?c??k[?C?*?:??*C-??B???Q?$EA??8??!V?I]٬????|U?˩?Fc3\\??\r^?6?B?RR7#	?????m? ???????{?KiǊݐ7???zW\0%?_1?\\?G%[IF{?????????\'?r?9??7t??J5?q??sHa? C?v?¾qo??T0ȍ?b????d???T@???|M.o]?g?Qr???ZDuB?ˣ?!~?_hޱ(?????j????У??{^??U?[¯I??T???k.?ԫ?I????O??@W\r?]???{?HY^?r3?Y??d? ????I?%ZF?.??q?????_???"??vX1????T8w[H?\'???|??.?????S??I?`)6َ\'??(???????o+4??w@?!?Y\\ي?"?Qr?????????*i?K?????N_??m/??cs?IZo?.??2E?lN?(??????$)<>?<??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:f2a1ade230ce312eb546dbad5a11014d','e???0??]??bc?w?/3??????ݻ????????peZ?????>???F?\'?????FcR9V&;?Xi%?#+??\Z?Y??k?????A?B!=9?? \Z-*ŕ??!?X?????i??/?jc??nZ? (®`Hك?@??葏????Ap?????Y\r*?~b\Z?5h~u??6??ʆ?;ժ??H?Н6??2?R`?"\Z???5?Ϥ!?zeM?S]d????co??<?z?4?!?b??c?{?6x???UJI?$?V??[???-????Jv??K????+vCޜ?????Jt?c???o?J????????΍?Ae???9??:r?)%????\r?9?0u:?I??]%??r_???þ?Tlv????o-ШI?o)?C?]9?*y??ќ????E???Zwl\n??!a$??+?nz??p????J[?1?w8???Q<?e??F?4)t?VB??????a\\?SW?????RV֠܊d?o????ņ7?i?E[?Vv?՝n?????_^??ۇ?`y???z?<y?U?!-???P?28}}}es?Q?? I??#??!? -j~LE??|?2@#?????????+۱???\0߿<??k?HV?4?O?a?????.3г9???[???????AJgY?p????T?\Z?I??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:f9fba907172d1bec15e59c70619a2029','e?͒?6??S:%????Vm5R4ɑ??7?wOK?7?ֿ???KV?az=?7{\r?Z????/?@kp\0?=???.??@@V3?F%?5???????mч?P?@?H?ֈFs?x????,V?{k?j???56(9(c]2??7\rB?\r?)?H?=??a9??4??΀????????^??:?I??Z?ɘ??7v2T?N	LY$???BpVS????Ro????\Z?V???r<?????.???k??)e???X??m͍*???M?#u3\r?A(?%?R?N?喊=P????z?0%z>0????K?ENg?8`?~?'??rv\"??y????;QJ\r?e\"??kLa?$?h??J?<X?Y[?????F???}??*?ճ????Y?r???K\r?9!?i?dp??>?O??4???ε+6$????76?g?H?\Z???p?|??t4??rMzmR?\r?????i0?ø????V7?'?-A?\r9??#?9?eG???#Վ????^w???????}}?C|?;>1????!0k?:?M?]rY]8J?R??????Xdť(2@?<???(EYT????.??????????\nD?,??6\n???|?????+Y???釩?*??k????|S-??7?????뇯O??dUV?Q?r)>?%%Z?1;V?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:fa771484fc6c7adef0f68f986fafc0bd','e?͒?8??]>?fz ???0?=NՔ?epc?????6$M???Y????^??\r????P?7???Z?(??????????f%?:0JJk????-??mч?P?@?I?ֈFs?x???X?Οdk?j???6(9(c]R[A?W\rB??)?(?????r\r?	h???S)??!	?߼jg?:?)?q?͵j??2Mo?????H\nQ?@pV?ㅴ???\\5???~?FOy????\\ދoN)?????\?RZ?~!Q??R7????2?\??\??Tn??{I!?=R?Z?D?s\\??l?x?PdT?????x?Qɕ?????ؕ???+??Rh8,C?8\\b\ns?#????????g?S?Q??]i??7$??	??Z=G:r??;KO.?G??????8??w??D?@?=?ɹv??m??zy?r??R?????'Gu??(]\r??|C??7)v?\nNA?????v?a??W?????	rVK?E?rؐbC?r9nH?!?\r9oH?m??v??;???????}q???;??????\nʲ*?????p.<?\";???'[:u7??|???o?8?\0???Ħ*??y[[?uo>??^?C?Ͳ??[E???????g^{?կ???\r?L?7???U?eGZ???T?vlM3I?ۇ??EU?????R??<??t? yֈׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:messages:es','K?2??.?2?R\ns\r\n??S?δ2??\0','2014-03-04 14:32:24'),('sergios_mwcloud-pvt_:pcache:idhash:1-0!*!0!!es!*!*','?Z?۸u??;???HI?M?Ql?cٚH۴?4	K?I?AK??o?>6???@Iv$\'?C2?<?\\?s??\\??yB?U*?Xn??'nӵ??	?q?՚5?xD?cK0?^??$?????u???BP@M?????ώ??T??Q\Z?5??0!??E8`4????8@?????eU%???	?4??fk??*???n??cj?z?T?X??????t??({@??ú,Xl?K???p?i<?????EUyIU?VU:YUy!??#?S??Th?P???}?8n(???i?c???<uI?pZ??4\"?rg?e\r?????1.V?J#?????\n?c?\Z??S,??2?0?#k遴G-???H??\Z?b?\r?骢???l??z?????????9lK+?@f?,?\"v?ӱ????llQ???1??Q??D???-%??\'?|?3\'?n??9?z{l?8\"?-??\0?\"b??\"?VKa???Ao?k?c??\Z	2?! ??=??u???D=??Г?\'??zRڶ?eh?=q??h?*??\n???;l???^???z?\Zɜ???????HeM???حV??^?}2f?c|\\???r??W??BPD	?#??>?|.7e??ސS?eE*?XXU5O?9h?HǄ??I?]???Pf2#??LѺ??????x?c??BbE\n?=>?s-??sc?K0?l?W:???o\n???nhS)? #???<??T?U???\"@9A??>???Ѐ?\Z?\rlb?AbX?1ϖ???=\nd??L???K?>??QF??l?H???\'?%??|vq??Z!?܇n?r?i|M7k?E???|??????o?ڗ??6?@??]??U???_?k?\\????bx?2d:Z?(??J????n?'??0??c????Z?)???????A?Y3??#??9\"????z???T!????|???2????i????=??jT?W{8??[-ui?\n?\n%:3?0ɚ3??????~}ٜ?;?m?<Arr\'???Dh?????T??rZm\\?\r?h;G..??o?L?4a??A*?D?? 㥐?.j?	XH?0?0G??I??Z????>,\\y?ܠ=?w?N.?)?	?\0???ߒD??5?vQ?Ed.?.?c??C????|:e>/??tD????&?ߑ]?^\Z??\r???	W????ȫ?Y??W????????Gwp?????pBL?K??1f3?Wa??i?9zR???K2?P\0?^?Иq?Ӄ_??$?????,????ծ?;=??\n????<+H?*??ժN????.H?3 a`4?i?]g?+V??&?2O?kR?N????wD\n?=??6?b?n?ܜ?!?rC?<???b??ȥ?\'׮Ԟ?????I?g$?4??a???ݨ?u?Qo4?!)X??r?n/p4N!?.ht?X?ح??\0??;f?Q????,???swMp??}?v??&?????0????\Z?\"Eϝ?ͲӇn:?r??\n??????2?][??X;?r????\0A?0i?\n?????s?;??j?\\~ɪ???t??ю95?Oո?n??kn&?V??g?????t-?????q5?Z亳J?8R?????h??'?C?\n??k??c?????\n&u# ?^??2????һ밶?a?0??{??F????~????i8?????h?fS??,?ѳl??K?Da?????|Jo麼??????I???(??????\Z炄P-??\rV?,??=Nca?????5TJܒ?????6M<\0??p?%??LAy?V?Z????3?x??`?j?2t?&,+??Fkku4a??rga?:?\\Z???"?W[vs??E??9e?Y?R?\"E????9?Zs?/4??٠eE?,??Nqk̪?1???f????S???x?@???_cSc?M?/????|?SU?d???Cl?n???Q??dҁV(????????W????????V>???????>??ֿ?P???A?@???????x?¶\'OhĿ?????/???<?g???){\\?????L??!t??????޳?F?ʁ??l???|\\?̌?TV?K?#Bu?r?]<?^????X?','2014-03-04 14:34:56'),('sergios_mwcloud-pvt_:pcache:idhash:14-0!*!*!!*!*!*','?W????????$??c?6\r$m>y?W?t??2y?~???wX2mҩ=cI?w?????׳?H\"n2?f??QzMϊ?d????N??z?ߋ?	??$P?\'(????D???р?????3???!?\n??S?e??+??z2?\n?ҷ?eAp?B,DC??o???W??\Zw??VJI~?mŵ??=???xF??2?/(?8jwZh\r޼?<㨇? ̷>????? \"?)??d??R?V?q*??#Հ?,???Q?fY??q?v?N?????S??p[????}ǼP⿙?,?????????>\n?QQqsp>+?G?¼-??{9)!X?????A???x\'??j?Ǯ7?????=?~M\"?dPrVO?GD	?rFN???2bK?n^??^??7???}:?X??8=;5?????|??:???WÐ?\Z?I?jL??\ZzKd???I&?\n???%?+r???f????0????F8???RZ???\r)yP6?2???`9?j?c??G?\ZN??ϐcW?fA?Ai=pϠڮ?P?????D??t?z????4???Tr????hM?#2?z????? xY??}W9??>?2d??v?H?1???f$??\r1rmm?ȩ?y??J?@?X?ڐ;~Fe@u?ݪ?{?y?R`!(?V<m???k???\\???????\"Pɿ?????dP???S?ഀ?k1[	$!?x??M8?wڇ?g:?1?B??:?!?8????^\n?<?l?9?R?r??h??????݂?	?ף?JA?ǈј*?&?cx\n)??Y89?j?m~??\?\nY?4M??!I????8M?\n\nbJ?(,?,?~??*%?????????L??ʏ*?????o?8X??j??\Z?D??/^??u??GC*?T???y??3????B?\r?nםF????r??N _?NZ]??O?s?7\0g#.()3l\r?T1?A}(qx-?aO?P??LwK??ā?\"??????87_??>???vGo+n?|\Z??p??%4???z??????????K=??C?׺+?bI??ڀf?䫏՝yv??sICr??s~?`??ޡ^t?H\\????\"?u??2???S?k?kS`??t??%?;??\r??&???Pa????\Z??ҿ\',??Y??oP??O??????h?$?gD?+D?Ve\ZX3<V?w?????u??p??$J?g?Zr?c????|?wж????[??????l?'?t]^簹?????3>??C?v枾5?\\NGC-?գ???k??14a?.??<\r4.?????Q??P?!?n????xK?4?e?T[?&0??܌??o????x??z?ޣ0M?rG8??N?N7hR]??? P??','2014-03-04 14:34:20'),('sergios_mwcloud-pvt_:pcache:idhash:14-0!*!*!*!*!*!*','?W_s??????$@?ܱ?c????4???W???d???/??????P?A????q??o\r?TD?:ʹ?]??򛾕??[?????n2?ID?\"??????^	?\Z??蜆4d>-??	,?S????????R?ȰR???3?#F9??ku?tވ?vk?Q7c?]FOo?TH?#!1?,?\r1߰?3?S??\ZN?QՐuk?0̞?'?4?tEax??????%?@-???M?????kz\roE??IH??W6.???=?D=????.F????*sk?)(?3?M???i`??	NU5\"f?\Z???eN?9d?Dd??????p?9?S?\ndzZi???n??3K\'?$x3~???\n???<W???8???:?\0?m?1(?+H?`؋??ӋN\"<uO??4mϱ?r۳?S??????O{???~< Z?T0?1??{3??X????????|{w??g?????@?????_??X??8?vk?T?????QiR?F???(?'<??̰??0{0??B}????/?n\Z`????m??r%)??P(?Z??䴫?\r??m?8?t?\'ȱ+N??m???????l?](?????mvM???1?5#=I?&#=??ɚ-ׁ?HBO????&??F?T0?~??\0??)4??܋????#???E??:?\\r4?\0}F???9U!5??v??I?K(?RR?x8ۄEx?\0362j+`Hh?0/???x?n!M2???ufP??)S=ZB?????+!^?B?@?v?????4?.L;???Z????v??\Z?.-r?X\0)???@Ѐ??=???/tr?????O*t8?	???EH??~??\nr>rk???\r?????!??????????O???&K\r??$e??e??Џ?.R?} ?Y?h??)????Q???|?a?????As?g?a]ʘ\nu????J???4?Ce??????2?XV0p?`??w\Z\rǴXηwVys(XL?????}??x?m,$%e?m??Ռ?/.P.z????\?*?e?[??%?0n??????]???c./n???uXZ??5XZ???۬???????U????|???W[??NǤ??`2??????*?Vg??ՙk\Z?,S??n?????n4IJ?[@?(c????BIS]??<????0?@d W???(???,9?u?ZR\"???m-\0??y?ʫo0??yB?=??{}?-z?gɄȕ?c\Z(??E?nL?H?i????@?c3????6~م)?\'?????%?W???1???fD?`N?o{?A???o`?ψ?0V?P\Z.K?u????nݦ??oM?%R????jc/???f.???\0̩??5?|e?f??טruˢ?i??z?>???','2014-03-04 14:41:51'),('sergios_mwcloud-pvt_:pcache:idhash:39-0!*!*!*!*!*!*','uUMs??_1?.????U??.?`p?&R#7?gF؆????????H6?98????y??sm@?[V֋a?D??W$???D??Y???_N?\n,Q??nz??y?\ZF_??K,?T???h9????O>??N ]?ɤ?(?q??g#?%ˀ- ?4f<cϸ???h?AKt?k?)???Q??c??(?????\'?\ZS?%?=?$??*%?????fJ???{M@k???3ׅS?Z*??8lQ?U?}??????XC?ɥẺ???P?,񻟪???:??H??n~?2J?ؕ?\Z$/?mNS?{?˧?>??:????\\?R??(?J?R%?U%mĂ????XۇMIv0????d?D????4d?[K?(J????\n???i????+?Z?.?.y???/????][?]?l?rT???_~????&E?-?YF????????j,43?(Y?\'??g?? d.?ۈ??J???(W????? , lD?J#t?Z??t??}?Բ)\Z?U?????,?ח???|?u?bR????	&T??bWZrq??I?ZW?X?J?{?ro#?;3??\\17?z????/(<SY%~???H5???\rZ????>@3??w????X?n?|??? ???{??????Z???`?3?\Z_??{S?%?8?M?????<?O?\rlb%0?????1d?@?K???;R????щ?`??rH3??GÆG????7.?n??0???l?L?ڛ4???7??','2014-03-04 16:08:12'),('sergios_mwcloud-pvt_:pcache:idoptions:1','E?A?0E? --?ӥqiب?b?\n??!??!????5?.???????B??(??d?9????D??L0???E???ߣ?P?R2???!L??;sӭ?j???????@i???ܺ?76:??-??\\??c?C?P??????\\???Z?','2014-03-04 14:34:56'),('sergios_mwcloud-pvt_:pcache:idoptions:14','E???0D?e??laA?\rG??Wht)?????	?yo&????????K^?k??g?1???dUF)??O?r4??Ȕ???\'??`???;$7???՟?:?w?xU߷???c?۾','2014-03-04 14:41:51'),('sergios_mwcloud-pvt_:pcache:idoptions:39','E??\n?D?e??l??(??۠6-???7??????1????r?-N?/???leJV?ݿ_?!Ш?+?N???y??gr??/nHs?ͫ;?????*?k???@H˺~','2014-03-04 16:08:12'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:275fc68d8dcd26575c54c2e4ccf53852','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȭ쪚??VT??w??o?nAZ_????Z??a??V???~?B3??G~?|????????0?(?7\n??Qh?~?"??:J3?ڌ?4???E+>???I???,k\0??Śa?????/\0?\Z&h???r?}???̠x仡yy???,\n?\"?V??/?iY?N???????M?M-9???????>??V????fPCj?|7_:??k???????}??????<?\n?-~??͢?s?????z?{Ap???wJ<d?X_?0?-w??????s????	?qO?,?4???n?Nܓ[/>oTm?\'????iav{??|Q?d~t???;E{3?ɿ:?????v???????ԵR?n7??\nrA{vLH?m>z??X?]???׎?L?$??-?a²?\'?	3??]?w??Pd????}?)1Y???c6.???=??#?????????????y}	?B%=d|???s??n?qq???????>?\0}???{?Hٶo?KN*?????i????o?|,?\0o?k??/?u?+~\0b?f?@7??~|?bEx????>}	???gȶz????ﾛ?e?9;????\n^??\n?nέpq???3?ޮ??u??7_?,y=w???^??O??B?B?@\"??/?ð??i=9?'???ON?Tny)j?7^?#?x[?????f!?_????(ϷW.?*5_㤢1?????i??+^??;?\n???M??????????A????ZfT{S????\0??ũ???U?^??n??Z9??ȏO??$?.?m]?P???L 1ޘ???????K?p??1??x???ڹ????M˲??Ĵ?^?\r???????-?A᳂B??U_4\0?Y>?z??tO??&?~??+H??7?????bM{z?ҳz*ݬ?\\q?#W늙?r3q?O?>(\rȕ?????z\04?,`?RZ??--p??@?^?@?#PӼ1???bk?o&?t?~(???+??KI???:=?a?\0????[~ȹ??<]?w??????׵*??\r???}?P?zq/n??w?nķ??8??15?^?^u???{?|{?᜜a??o?????x݇?;??kYw??Ńg@s???????%@gL?p???tݲ?;?w<\r???瘳?C3L???M??xpj?\0??\\i?/f??ZT?-^V)???Z|{?5???ů?u??C?,ï?/?Ӈ?~-s??W?ǰ?Ki?????O??\n???(9??S??Eۂn!/m???x*e?*????\'?a?Z?m???s??%?.C????(?5?/?ű?W??|{??w\'?T??N??%?D????ֶ??o<?&Z	k?Z????????䭳޼n?_-7o?l߸X?:d???nc??\0????Z?8?????d?i?????n????֬A????tu?r?v?R\0\0yP\r޽?V4W?_????[?[n??~??\?T?L??-h??????[W???_??[o?????zy]??q?\Z??<iz??0?@`?.?v?9??tQ?]??c??A????ۥ ?J/??t;r[ 4???\Z&??n??R(?W?@?B?????h_?v??K?e?E?x? ?R:.z????q??A`??b%ѿ?~?k?ۅ X4?Թ???N?QF??{sv?~??_??$&?>_???~h?־?8׊??KE?Z?vO\0????\n??\r?3???s????LS????\r?p??&?0?G?>??U?C5?\0????寥???n??(???c^kN??[0`?*?Kk]y??????a?7	?G???&>?|??]???8???????s\n?+F?w?\Z؃R???qq?w????)?V?0>??o-?{ ?a?=??\0@z?????ߋܹ\\eA?+\nw?\\???Ы??gt????=Ӣ?w?+?????%??????̊W=(??"???-_7?!?a?nh&?Y?èh?kWn?\\??}????P??X?`??߽??j;?sK??|蠤YN}T?\"x?=\'???+:???@?7}???????E???L??/?????????????I????????nn??x????י?7??T?L???؛?k??Y?*???Aނ?di?@?Y?g??0xT?_?M?G:?J???k?D?E??|?d???Zc??b?2?Z?q{?NӞ˻Q71??%#??Ҫ??Cҟo^????_?o?X???`\'^?k߮=??ۂ|?????????\Z?????0?U@O???y?'Ё?Vn\r?F?C????ұ????_???5??r??????P!h?ۃ?@????Wp??t???x3??`???v????\\??7?d???J??*??鎫??o??(?w??\n?y??+?pS?ͳ?p???Q?K?r+_?)????i14U(?]<)<??w՝g?\{??W??z*_?8??u@???@}???Z??G???B?????G?y?$~ϭ???c x猁ֻ\ri?\ZÿU??\0??J?????q???#& ??B?ѣ? ?????\\?>g??;?????????|?2?t?W????-Ӿ?Z?\"	\04Vjv;O???v?????g?\'?|?cv\n?r<?2\"a??l`????iq?-sSU?0oLl<e48,?@p2E?<G\r???Mj)M?\'???f?\Z?.&?ϥ?(Y+?%ϺG?1o??????.s8?\Zʩ???(#>?KYk\rFs?+?m\'??????#?I??`{t???_P?\'??a?*?UQ?s??n??/??l+ǌ?:?2]???Τ?6?&?ʉր?Qt#R??z,8z?z???7D?Z???x???ӓ\'Za?N?4??Z?????lf?=?m?gF!#??ʬ??7\'???m?OVn2a?H?-:!,?? ???"[\r?%?????:Ӗ??S?ft?o??9Y\"+_?????G?}Ǘ??0??ݵ?????'8o?W??g?圁????-?nO?F>nYM=??V??Z?)??s?bk??u????????aC?Ì??P?<u	???ӂm??㾱?ƾiv?\nH?>[7?????????S???o?3\nӕ\r?\\.???????!?Hc?CQgc?G?%??k??Ԋ???|Ŧv5?\n????k??w??????,?M?UzђF?ڀ\'\n?LP?n?????l!?3?n??H??B???W?ەG???B@K?W??%??`aj?2 k%&?77?i?????˝??Z|?m????????3#gT\\?l?t|?(0sD??;]7??1???Ƣ?|]Ң4?u?v_????@%??\0-~???m?;3????*󔮭4??e?????G?CR??Z\0}b?\r>h??WUK4?3,㽏5?U?q?\\V0U ????^???N??R7?????Y??S??S??U?z?"?=????x?,??r????;?R???????XMUWK?2R??ڮ̙8Oa{N???rWY??G?\0?A??????T?C????^?P\'@???m???'C???j??i\"PU??j???7??th??x/?T?\r?_:?}7H1X??x????=ζc?W咯d?.?Yd?U??G9??*?\0?????i趦?0*?Ϯ?Ϳ????4\n硂FA|Q?Y?3??̛?N????ٛ ??ү?D?L?tQ??a????=T4b9??:?~4??E???y?0????E?K?i??ܻhC?E?&A}?A~zح??+}O??>D?????8^w_z?\~??ZhC?????I6?????xѤ?c?;??#;?{?q??/W???????6??c?H??F????|?????[???/\"??\Z?????7??\"\"o??]?_B^????I??m]e6?m\Z??x?	? !?\r??1??R?Ҋˆ??D???̘??l\"`ؤ????f?B9#???-?[?????<???????(?|?a?@PzF??4???XN?\'NÉI=?93???m/?2??r.?9\Z?s̩KG?dQ$?F??U????????(?l糨??VS7?n??\\T??????CA?=?\"S??l????ց??.????\n茜w\"?5[t????]$\r$o??\?ҘB\Z??N??{??????Kc]??~/ֶk?w?h?Kõ`$????f??Z?N??\?.?}̹???1?h8Ef?V?b?J?1?r83?Mn̈Ԉ???Uc????-ܡ<Z??iF?\0#\r???u\n|??\"??e?ϘT#?erTV??3?[z?'ӄ:n???X???????$?R,?4.c??8??d????l+?1\n??n??pa???a?;???e8eŭ??Ƒ?re???c?oOsΡw?D??#Ռ?ѭ?q?>?z??vr?????x??}?1?\9?6?;?&?3????C^?͹?ȃ???????f?k?$?w?^Nc??6?ƞ??vv??n;\0{?q?x?S?Źl8?;?f?a\Z˪U?Rf2??>??\nQ?;?Dl?????E?ӢO?:?05?Z?&E#[?͕#?˙??`Q!???0È??5????????qh?8??q4???uǜ?rn?m?S???`??M?????&??A?U`]????2.???]~????G??\\L???Y,H-???D_?3????Մ?]g???w??\Z?(?Wu??)	??B*??i?O\n??X??T3?h{??y?J?i75\\qZ?:?X??Ic\n????0??J?9???M?q?"???-(c??pVf?*Z???hǗ?7gF??`???0?I4??px=8x?;??=?N\Z??b(!?LI?p?\\??\?h̖??!?C?dt?Vr?K?<??+?\'?P?Ey??;???\\;\'Y`g?cY?mr?n6{n\'??=e?\r?]??nٛ??^wbxJ\'Kxݰ???dS??d?|v\0>????\'E?em?Vs?:?A???OFNbe]=?=?*????xF?G~?>?{????-ɥ̮UI?6s<??B?q}?Ŏ?4f\"?`??ױ?>?&%?Y_??????,?B?y ?1?D]#?vN?2x-U%?q?a?Lޢ;i7Y??@wa9cuY?[1?'z?N??C?6??f?b????;M>x\nύW?????_u??ZaS?s?	\'\05??9N?T?h?t(h????i?l?[??(????i+d=?M??l\Z{3y???3R??Xq<?86W?????H????h?*?\"vY!1y?DKM?;??ozK??._??Rn?A?/\\?XG??c??X?ⱶ?O??:?&@????6V?????8???G?8??fP[ۖr{??????$?-1????????-U???s??\"K??&r2\'M;????P??W0&\'|<W????????́???=ő??9!?????^ѭ??5??U\"·u???1?[u\Z???@#yd%?!?!kR????,iS?)Ȭ?FB??8&?V?g{????sĔ?HrȎue?ܰm???˶TeU????ۀ݁R?%m!4??ax\\\rƋ?0??Cc?I-0???J?힉	#??S\\s?/?cX????x???ՑM???l???e?????Q?g\'??qw#?#3??|???????蕾???U|??_???"???l?i{g<P=u?n}?X???!?]??N?z\Z?X-?K?V.?e<ԘR\ngjc?'?Sʥ??w??*/`u?J7????4?m4vsrf(??\\w?????r,?????>?	????rw?#????v?H???\\uI1$v\Z\n#t???>?\n?R?CWڏs8K?E?HJ??????	c|\n?]H??i??6h?v`?KZ?B?͈돎?? ????2?w26???a??szl????P?b?8`?"?Z?3?ʵ=?i\'&gIm?cm9?)????EcxB?????-????z?1?e\'?k??Ș?⺍J?d??y?\Zu???MT??>???ZK???!p?thOx:??0???#dw5??Y????7??Ⰾ??r ???d{?c???\\?y:?\r?\"F?1? ?\Z????l???l??F??-W?Ǎ????XG?R?P?d;#?v??[???==ጺ@bw???Er!|F}?????,)h}????Io????????:??\|F??DN;???n??8??b??\Z3ǋ?0???????Gn??2xHu?KjM?>AĦ=?Y??rLk#1I??!?-??l~????O????V҄???x;\n?81wU??Z??\';s8\0g&.j?Kuka?s?t??|?	|-?V????_k?\n?F+??	]X?TR?Tő??t?\n+6??di?1R$ME?Miӑ?H#?F?%??~???????ڲY?QKgA?k?v/??R?4R?f?????s&R_??m??	6[R1BǦ\"-??1njs????????u??(\\_?]\'ׇz?J?=|?????;E???Mĵ???-?Yp#l????2??ذ7?r\"@?ԖsE???i@^???5?_???o??2??9y?]?*D?? ????ߦ?gHܭ\'<ϕ??>e?Iv???!???L?bB<\\?????oU??n?\0v??L???a*P? ?8&?4?X????PX?u??鈔??&?L???զ8?q???g5??Mc17??[?x?e?:?U(????W̏???w???6?Z+K?\"??\0\0????z?ƾ??g:!??:??j\r?\r{B?'?1??%??{?3C?@?;?????W?r???p???F??(?M???\"\"?R???HLzW?n1??b???0f?\r??+?&??:,???8]?gE??-??SiE(q?8?v?k?p4+,T??s??eOH\\??cf1-??#*?6h?ng??X???|J`V???E]?>1Zc??j?B?i?? ?=.=7?Vˑ?x??>??#?b?U?0G??T\Z_\"??s???#\0\"?PS?C ??G?eK????K\0\n???:??Ŭ%{+f??f?????h?n\r?s?Q?(?\\\\?W]3܎d?^????:??????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????@[q\n^ \\?????ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V????L??	????@dB??؂??`.?\0?`q?c??H?C~????Z4??[I\\89G?i?NMVR???l?????????:?sv???)?c????????ln\0?H??#??;3f?4?8N?|?\"C?Ώ0M?IT	?%:Zx*??74?3???Fn??!??no??q??IG??ʷ???QH?h?ug]9^??]\rL4?H_ZC4?.r]?4?5?/?@D?G/?^?r|???ہ???<?:_m? >?UW??c?????VЙPf??f)XK?5G?\n?iF8????`???????Ǝ?yV?OC?2?J?[a??˴?̙???Rm ?p%	l???je+?N]=1#E?0U@S???&?:cn{?B:[??:??ħC8$?:M?JA??5???????+??v\n*t???z;??r,?U??B늎??s??d??T?!?`C??*?$??Z??4???A?Ml???\r?(??u??xh??-*&?ʐ??>???}xA?`^pQ?@?;????0?@??6??P?\0~X?5\\?!??*?B;???\\???#c??????;\Z???rY?r:???|??,l\"??1)?Lqs?;??N?????\'???f??????,?Z??;Kb!8?&X??M?x?W?^??3???N?m???x???D<????[=촏F???}??و???"??k?V?=?x+?(???ls\"??p??	[z??9?:\r=??0?`4??P0?6???o@???\n]?̻\0???5PI?ZE?@\r?ڝ1	?V(T?@?/?9?0?Vl?A;??????8?b??[(?@?0/SPP??j?????y?y?(`?#?q???c-VaF;?????6W?]z??{LF]]??d??8,??????%μ??͐??:?%\"?н??n2<v??Y??j%;?I .???*e?	q??\'?$\"??&\"?i4Ǔ??CX?1????ݨ*K??A????k=?Bg?	:#A?0???#(?,?????z???\n)	8@?N\'?=d??????VP??????ԄE@??5ZP???{?ح??z?	R?IWm/A|???E%MD\r??\rS??u????7q??3???????Ү????9??1???c<??;????????	????׾pdA??l??c?ۊt?\'@kL???Y???a?0???o?&???}?Ri@`ɸ?Rr????z\"]?440K??46P?!1\n???\0j?z\n??\r??CU\0??z#?????/$? ?O\Z?B???Ը<h??-???ج}zq?>??2?\n????H????!?E ?h??????w?*?????|??L??FF??h/??\"??0	Z΢??Y???7?}:???	?ڮS?r????f??Q?N?'\n;?	?\\7??Zw?!??x/[??V?E?F$Jeńb=-??0*???g?\\Y?A?1p??BYԱ!???>\n??$o???????\r9?????8d?^?^?Z& k@\nB?*?#9????ahfn???G>	?Ay?@?ή??95?W???op??????/;M????)????<??<??e)??0???Cc@S?c??Ӓ?%???1??	?b?Z??	?.?0%x??)JPI?o0??;????+uD)??S?S27????t??r\n?q&??@?VcHm?\"?b?\"漍A`l	+?? ????\'?(?\0?5??= ??0??,r\n̉?9??k???fC??-?8?cg?K?6;?q?ng.????JwMy+&?E??f֕ڹ???"?6?LQ@??\r??jɘM????0??;J;옚!?????????????L?d[[??c?????8_Z??B???#Z???c}\r?J__??S?????@Z??P_CjB?ЈC?\ru????d???|???c?}͏???ė????<?Qs(-?a?M9b?\\o??1:?\'? ͦI???Mp??s˗\Z???+???.?x?$fZ^E???x4`;H?R0<?6?=????9??Pl??۞?????j5q??8?m-f?sH????-T\n????????=?Z???p???u???z?޺Wזvui????k?????Bx}?[?I?????6?pe????>|????I?hk?{?|?\rd?|#Jܣv??[??L?/??????????n??????tS?x??????,??????^??4?LUhWna?h9?'`??\'8?h??e}D?????d?????ӷ?-/??KL?~?\\??x$Iu??r??? ???j?M?ۢ?????\'?????????Г?N????????%?-?\\??+???/h??Deen+I\rE??&?ګt?oY????/?-???ݚʌ????@??}?3SH??#?]~b`?fO??????@~[C?????k>)W????7\"cY??:C?x?6#%;??u??:%?E?ס????/?D?𻂪?Wc4Q%pj???9Ք&䠣3?k???U?M????,??[?*?O8??;?2????؝????.??SǞ???|?,???v?)?Ί??i??hwtdm?t???+??2Pm???:?-*?|4rq????S?n??I?v???J??8?7X???w?}=??????֟??0?Ic?q???	?u?<???$??]?\"\n??Ds??w???-?w?v?V?????A\" ??xOq:E\\m(#:?-?\nho??Q\0$Q??z/?wn5??L3]?BWo?j~???ĩ?n?do24??18͆~?R?!??Y?0M]?e?N?f?8t2??ɾ??ȧ*ҝ???r~???	?(???V?W\0\r?c??$???0o=	?T?oX@C?U)/?????MKS)?6>#???L-Q??i*?R:\n J<??????,?f????x\"??y?^?e?1?땸bi<Z???????TO?=?9??Ⱥ-F???5?^	??.3z0?????,??Y???Ҁ??!??K]???:?\')O,??k???>???4P?S?x@?ڳl?P??x??;@nn?R?Rd???)?)??;????tefvZ?C9^?:u??or?)?\n?b???P?????????0???:o4z??߭[??`?@??ѡ?n??????}t<q;&i????Z$??h͛??l(??=???????#<?????K?N?????\'????o??l?-c?h????܅?????7?ȍ?h0\n&?ް??Ǩ94Z?>???[(??l?͝p̼e?s??\\??/g?lF??:?'?T??ĜB??ʤ???`B??Xɍ?\'? ????\"?????YCљC?bp}N??r(??\"??<!?????\r?g??_??\r??6qP4???A?????C?-???? ???cm??\'mz??us?????sa	?5??X?????]?]??T?~?P~?X܉\Z???\?lHqޛ??U@????f?:u??˦?M?8??Ag?s?o???_???G/W݋?:?7i#7{???M?-I?????6]??!%L????=?O??~7\Zへ86??`??Al??>?????Ƞ????G? n?T?b9hL[???Ĭk֦??r?$o?N??>?Z?ѺάGa?6V??9u?΃1_3??3?n?t?5?7}??????HX?K??m??SN\ZRk<2(W;,w:,????\"?2+,??e?v???8???102??y??\\?b???bs?\n?>??mC_??e(??m??şS?v??8?ve??G5????\r??y?????ߑw\rr????;???????8???*^o?ۑ?7???E7??CFy?cH(Uª??3$j?ܼ?l4t?v???l?	O???y????a?!x?Ol?v>Uf?????0c??9\\.?ie????6p????~?v?U?????O?~?0z?k8????i?%????M???ŧ?</??Z=????ۙ?OW?V||\"?Z?̻	꯵?%????????N????g-^PNV?vu????߮?2?=??g?6??$??v-6*??Қt?8???????B?}\\I8^?c8?????s?ߟ??P?????!?&Y?F\";?G??,Z?|z?;) ????)\r???????GVVO?;??Tv~i~???????ќ???_?????\'J?[??a?|s?j??]??U?J<ζ??????䇶끳p1z???M????\"?F??С??ҽ???%jZKdUm?Q?LTt?Q?1\0?	BH??FG???????7T??]?o??85??p??衍v? ތ??'rv???,hp~?????P???D?{?|??Z!????o????\'?>?????6R??R?????A?\'?S???/q1??????_zh?_?[??곫S?????0`?\'???o-?{ֻ??*\\?~^xuS??ă}k_ 蜹v?????nCحb?/?????^? K?S\0`???`?;p?ؾ??\\7??n?W%??b?P??ƃ?)\r~I??????ӌ?\n?}??i????[sUư?裌9?U???rP:???C????\r=?????^\'جaHƢnji?Ot?????G냻??o??q???8??z?ċ???P?\'P??I??~??.:K??i???q8sn?????\'d?W??$c?٠?????????????? 6GYڨם??#n6Wq??ec?e????[?"???5??wu??W??B??@?????%??G2?????w??r:??3s??z@???$??cz??wk?3??y??7??N??w?i<0^??+?]??????????N???x??\'4??Va?և???O?ʜ_5?o?/f??뫚???????ܴ?????????C??[?Z?????&Za???E	?MXTDz??\"#,????0?ISZ?3?8?Z??\n?\'?ٶpFm?p??O?r??:?2h1???l,1??\"?@,pv??m???SX?????\"%?5	lXl_?<ψ??;?-6%?&??p??ru????;ZH??)^?%????X???a?s܀?=q??cN??D?????T؟k???g8f??>?8??\r??O??EG?.?:n?\\???~??v	:??O?5???u????3?k??.???Gs??5?܇???'??ϗx?x?}????z?l?+lu{l?\'.T??{o???????T??G????8n?xh^?-??BpG??)?j}?e???\n??????5w?j???sf:P*????k۟????!<?\'^5޾N????]??t??D???ʟ~4?r{??????8O?>;??r2??|}?m?K?????v?M\"?n?0-m?????|??????L??پ?????J?!??\"?<xy?]6??Q5??~?\'???v^??3xx??ey~?-g??N?????A????F??=????杂?lt?x?v?V??ip?h?t???rd??\r$Vh?[\n?%?%h?????t?o?6??O????;??y3?D?>Y?????>ܱK?֦??r2`19????:?}W???ǽW?Z?ߣ<3??ޗ?GW???????????O?~..?o?/%\r??>\Z?;?UJ?q???m??????7?h?z???\'lY??@???P?~[??x?п?\r????????J?	}?:???????8???̻g?T??b??b?	???\'T?C?X͏??]?r?q???b\0??*?????/ϲ?????E?~]N/>ՓoC?????Ló?rE???;????&X???C\r[????z?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J??ƟhlJD???ԧ??}4}???ŏT?ڃ??\"????~?.?\0?e??[?oE??+\Z+?2x@?̣??W????\"??0}?@7???\'????+?3x>1?#^?<?IW\\f?sC?\"?\'??N??Ⅷ?????Zѽ\0w>???G?VA?.I?????tr??o!???n?s?\\9????????????q4^$?????ir?&????\0~p???????br=\\??\n?3?Z/??ri?????p?Zd?:?n$#?l?(??@Qe|?m?n/\'?vX?\ZX>\Z???>7???zd6;?v?-aM?F\r;????\"?dy?|4??Q1a????7??????4??帕??i0???SizF????	?\r???0???vE?J?qt??????<=9?????y???k?????NL?o????????Y?߬?\'Ϝ?U?????\ru??k߰?\'???ϯ?s?$y????$??????\"+?֟b??2?? UY?????w??????????ې?/XX?&$W2wa??j?'?HCRkćşV8???????/?~T=????_W?\\????^|>>D??K??\\c$??M?G+Z?;?x??j?b?????l?o?Dy\\????n???(?ߴ?-J??7r??\0J?J7?/*\02?M???雷??K8????w?w(?z{???{?????x??#???Kt????Lo??~?????i??J??????ʒw`??V???l?\03??r|[y\0(??%q~|7????2?e?*??(?f/???]??[\'????^??????	???)?\J?5??EY????????K??ᛯN???i4fq??&?/?o?k?>9?\'??????<TX????snՔţ???3[???????/????+?????^??g??m???jy?w>*???\\????o???????^?o0??? ?]\0???? ??????ԭ?u?5??۽.^???vJ6C??{M_?l?W?O?L?~+?j???(?ߞ????77?k@U>???Y?䭍?T???d?Q\n>?FD????WX????xp?j??????pW???????`??.?h4??E???%o??P?|?N???????Q??_?Z??*?Ӽ\0w??@W?ˍ??^J?>%?N+???ȳ|?3?????p??a??4??N?G~?濔P????x?k??jW?U?0`?6?#L?f?uηG???j?ݘ??*F;?{{?v_??TT?q?b?Ɗ?Kû???P?Dx}?z-???)???SϚ??NQ?G??d?\\?^??;t??????^?\\?0A,???k?Z??췚kIj=@???n?=?n:]l?\n?K?}?{?_S?r?3??V?e?n???a?J?^?&^u????d?]/?+\\<?????ٶ2??<uq?n???]⃪Q?|??7??k???=???;??`}?=зy	??tv??rw?{ƭ?n????+D?c?[G???s7 w<???????$??,??_??f??u?Z?^i?nU!?g9^????7?A????j?_Q{o{?b??L?\\y?)?Z???S?|QqU???}?????j/0?>]ZP??,??l?Y\Z? W>??k?r?U?Aq?8U?c11??S???veÛ!?H??gH?Y?k/???y?c\"*???.?*\nZ???]??}??OΑ:???]\r????݈R%aPz??3~/?????\\??????u35?k????K??J?5畓??͍??w?h?(?V?v?a?3?)R?CS???~5B?p2??7θw?ZW??8??v????h?i/\0cfj????L????v;??Z??wE\0-R(?y?\n	QH뿶܅~??8u(#)Vj????To?LU?`???*F?0??????r?#?{ˣ-???֑:?m?l+?\'Ң??Ĭ#+ ?6?1??????????G?^\\????? ??+0?3?	u????A???????\n????????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????q???ߔ?㔋??P???$^$\Z\Z?n?~???[$????elf?ƾOꚖu}˛?T???̈́??-???1?tL\\????KʣN[??q??`?\ҷ=?.?[??H;??U???????jx??%??S?S,F????U??$??????R&h?]???o?$O[y3w]?`{?»S??\"ޔ???`?q2?4\Z$׻cl?r??????Q%??F??Z`k?????a?A*fl??N?hN??m?r\\PW)??b#?NL?~jM?M?\'??%?ϥS ?D???+?????o????q?????m??`??I?a?5?Ѵ?í???nXv??=M???Z????ORmB$S??NKs?C?\ro%?d.?e?O?g?n???TX.??u?v?$?]y.?_Fu?-? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??f???\'?????x?\Z3??\n\\?'J	,?s?ܟ????3?&?S*??Qj??V??,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	???W\nzAǿX҃??t?'Ji??Nl?s?i??\n&???o?w\r󏒨rN???u?&????G.?r?w?A?hA??:????.?ii???[L??3	??????q?N??H????D8G???=ߔ????D??L?U?vAj?.?6L???5??ԙ*h?GlX??7??A??,a}??b\0???A??o<mD?.???U|?[???Dp?nԛ=*mH??.???qQ??? 7];<????"?t?閹񥥊d#?wܵ\Z~??????s?F?T??K???(?C??vGu7??7????????/??p3???>,v?????1+]?@?4???Q?v?_?\r??????\Z8~?/4p??9I??Ib?_$?FdU8{~??f?V????B??@Oj+.?g??AN?????????8llXfՈ??1l???`\"vb:l??,? 1k???????6??RoN??k hS?\\?l?????????Ҩ???????}}??{??\0?1???\r???ɠ?\'?}?o??F??\'???==?1O????ɘ???N?)m#h7#\Z?ƒ[?Z?촙tL??w??Il??#w??N?Š?~??Cc+????Z8??Ҥ???c?M???t??'????b?7:?}????ځeۮ? {9\Z?n???Ʈ1\Ztˤ1????x0??\rY׎@?WDM?\"278\r?;?	??f??}y?t???Cwߘ\Z??q?ۓ???[?????ͅr???Z3H<\'y?\'?(\n?2?76?g?Zkު??????Qۛb??q?Ƽ?	?zc??F#>}?7?I?d??|???4??fNG?ioO??\b?3l+O??=?????h????Aܹ???G4މ????????C\r??????h?GS?(?R???\"??#%z?U??k??\n?h1Ng*??<S.U???Ձ???Bj?n\'1A??+?*u?????of0U\'|ߏ?Wp??7?ev??p?*???'?վ??̵Lw?$??[???V_m?h?n??V?ⶋA۫1?u?K?\Z$繇?????U,??TN?|????????}???l12??F?c??2I?Tr??????4????I߫?ٺ??\Zn??f??Z?O?S?o?պ???a#?}????p??jl?a]?L??Z?????c?}b?S??(k7Z?Q?\rt ?????D\\????п??A{?z̮z??????\}?C?e??<kz???5R-?????%??l;?uxqRw????&C?O\r??=i???;^;????????%y?k%?Q?6-W???c??ʹ^?G??1?j???d??6j7???^hֳN?}?y?\0t?2q???F4hw?7)v?kж??coM\Z?4?????qd?^??????zY????˷?v?p?2????u#1\Z??\r`?z?\n?,آ?i???ծ7&큗???J?0????kx$>??1Ni(??]?O?M?dת?Zߧ?A?Irh??S?Z	?Ʃ????F?????????7?a??iSl??	??E?C?[??@??5?\'Ypl??Z?????\r??r??x??\Z?7???\"???$?e2?,Z???w???OZ?!?@_\Z?N($~*\\???\\CON?_?d?????vJ???Q?q????1ޖ?w?	?u????oG{???ɤ?d?|?D??????Z??7????FNdm??ܘl??G?C???0??ƍC??@A??????J??b??6x????Q??G???M??? ?\Z???t.뙧(̮\n?I??W??zlH0J????????\'m?\'??/?і{{????????zG??*?w?\n? ]c?+??lfR??F?秭R]`?}F7??]??|?Q?d?_?V|\n??????c?й??Z???(?Fg????%??9?[?MD?d0?????????`0?ZRs???????;?]?O?$7$=g??????1yo?????0Z????i??DfOfj???????&????xN?z3?ԝ?2?98???#????Z\Z?	q$??M?!?\"4M?\\?{h???sw?v??XX?\'?3???t?q?3_????F%ga?;t93h	?O?U7?ɖ܋M9?Γ??)?ܽ{???? [??n?Ac?w???q\'zL?֨??N?w???r?f?Z??&?0?v??\'?\\??1??ϰ&%۽??@cy?˝6?7??ܭ7bL?q??e?COmg\\J\ZD[??v?ӎ ????E??????^??>?R??	?N?N&ӳh???=_??a4I??P??&?`x?i?=o?1n?Z?̤9??R??`??*?.?;)òIO???ϵQ?m?MFMd???m??ud??5I?Z/?}9^?#???H8??(L????%????I,7????\'????v??????8Z)|\r?????A?~????W??,??þ??Q1????\'K??<??$????=??\'?c?????????k?????q??j??vGʈ?l??l=????x??/?L??fٚ$??Z??ߢ9????0݃Ǔ??>??Z$?Nn\'?rW??$qX?Y??w\\?c?H???l???b?6?>t?,?I?????ǹB??6r?T????.ctLȫ??r{\"<{?r??jˌ??o??Ρq??DQĢ?0??tF˂G?b?g\"???H????Ef?a?;?*???q??~?2*?2?Gqo????qf?p֐H~???c;d?????y?#??ǅ?ˇ\"???Nb?\";b?????&q?+@%\n???;C\0?\ZOq2??|??ђ+|?9??M????e?E;\rIn&Kq?*??ṅ/׼????i????\"?C[?p?\'?)o??9??C???{\Z???/ݐaQg)<???Dۑ<?r??Y???n?u?-\n???[????e\Z????bF?z?0??5?1?vI???+?,?@co?S?Df?[M[???$???8p0?$|?\"?c	N?%1t??6?l>@F??IY?9??!????))?qS?-?`$9?0?sy<Zav????J?2:?B?A}?(x?:E????H?%3?2i?+?\"?b?7:????Lv,???4?G?*L=?DY??g\"Bɘ?Q,\"ŘM????夿?)7?<?$;$rv\r3????c?`5\\??????]?b%????糢???????X??#ݩ?G ?o?}9??????T?|??e??̍?]?????֊???y?ZK?v?????|M?poB64???냀?k?eF??~?m?PK?????.?u???̎????j???}?\0','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:2b970e33a041b9ae2dbb019fb30a83ff','???!?~\n?R????d?z??\0?z?\Z`إfa??N?/?R?U/???af??&??7?CúA??w^?g?-Iُ$h?F_s?ƻ?J?iuD2xs?س<??!?r??f??ǈ6hgC???)?9??&:g8x?`???(g????Q???yG<???u?іr???ԏ???)?Rj۰EP?)??Zg?vI?2n?-%ګ?kk1?tA??Op??ut=+j?*&???ɶ??vq?n???????\ZIE??r??'b=?_??G?<,r)?d?NaA?7H[??JTL??k<?UU?n?ȅGq? ]??[???o??0w???\\5????i^??y ???L?\"@?HV?e$`\Z.^??6+گ?K5?I3?ML???-!???s????/g??\*>/??+E???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:3731e201eeaac0985c73af2c5467675b','}R?????.r)V??:????%?,???I??{m?0?EГ@?Cu*˶ꉡ??k??I?$v?C\n?t]F:#5y?????"?K?Jc`?3??Xc\\?++?q?\Z,?=N?*țc???ꏶ:O????Z???G~??~Q???S ?E?\nB????&??<\'?4*??l#?B{??d?AM?P???|???h0?t?Õz???6??T????$??tbe?͢?`3???{?̏?ܝ?c?~?f?!??¸??q???*\"B-?8t?=?\nNL_???Р+5^???????????F{;:E??`??:?~1ո?U?{????ݼ\"???ح>??????S?\r','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:4250852ed2349a0d4d0fc6509a3e7d4c','}?\n?@?O?,Ć??????L???L??\n?u?7>[??m7?"}&r7???9%?g???.?%?6?^??$|r?\\W?/m????+?V0???Ot???dp??C?b#R?d??=?5?A\rAo?T0AE????Ƌ?o?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:7af41bc5e80b74436615949e2d266687','\r?? \0н??.M?btz?0։?	?mLӻ?[=?$?wF????=???ZP?IRd?7????_?r7?\'????wp????=F(?3-4??c?J??Ʀ??eݪ+_i?#?\"I?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:8b08bdc91c52a9ffba396dccfb5b473c','????E??\n?r???$? {<&?\'?????MU??Y???]VU{P??2 ???t?T[?~?m???ڔ??92?,&????i?,?3\Z?>?Z	4RRK????h0<^߉?>ӏ??[@\Zʙ?k??Ԝ%??hﯬ|?D?(rґ\'?0?Q?W4?PxS?q?#>?^r?????0G?v?󼂏?$0??j̦1???gtվ[\0gj??T V??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:a2401e4d2a708f1d4cdf1dc3feaaf68f','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȩ쪞??VVeJ?w???O?v?Ƞ???+0\rW?ŉf?5???'?4?z??/k\r?o?yȞ\rS?-s????Y?_G?a&_???kԾh???;?v???e\r?o?fnhE??\0?r\r?h???ie_[fP????GY_???/?iY?N???????M?M-9??????>??V????fPCj?????a??f?v??n??????+?z???>???\"?0?R???\r?E;?Z^)??`}!?˷?2競ˢs?Y???A&???D?K@/?^?p??z??j?????L?{???勺\'?????7?? &???N?????G???ŐW??tU?rسcB?-h??\\???\nG????ƾv,e?$?l????^0??{??\0EF?Q˴?o?$%&??,9????|6?	^?g?d????????p?}?W?#?^¨PIO\0_6? ??j??9Q\\\\0vA?p??G??O/@?e??Ñ?A?E??ג??g?????W?Η?>X??|??5s?:???u?+?\0b?f?a?????\"??t3}??ew??m7??6??7=?sv?ͯ?$?x?:?+h+8??????Ƙ?x??zA?E?J????yЕ?j_?}j_?*?F???????֓?r:O??K喗???|???D?.\0oK???????????:?kY?؈?\0????ʓ?⤢1?????i??+^??;?\n???U???l??????A\"???~??:?????|-Nͯ?/????y?`Ϭ???}????}ݻ@????UL????????0ژI??/??W???݆x??/_4?^;7??[?~?iY??????j???~|??h????c????????W??H??u????s?ڦ?\n???=XӞ????J7?eW\\???b?tC??C??re+?e??g?\0???"?T???jK\\??5?_ [?xҼ1???bk?o&?t?~(???+??KI???:=?a?\0???K~ȹ??<]?w???????U?(:~???	?\r????ܙ+??9???Լg???`+?????Ϸ???|???3u?U^????ptg??p-??~dFq???.?_???"?i0??j#]?,?oO????????? Dy??\Z??B?W\Z?|?(?-^V)???Z|{?5???ŷ?u???TY?_%_??w???Z?U???-??>??eoGr?T ?\'W?????5?^?-??????Rv??B????\\r???a~??k??vN??^?ea??rcht?<??%1?&?:?8v5?]??ooC????*????X??h_`[\0?^????????+a\rR+??3+????\Zb??u֛?܍?&?????XB?r?a~?s???{?V{N??>??;Y??d~????2n??A????tu?r?v??0\0y??z?X?q?A\n????????zq?QQxs11S?????fX?C?_??.?>?v????(?).ܾ??^\'O??D?\0??ؽ?˯?`??:,]T}?\01???? Z?R??U?wA??m???A\rKw\rv?i???@?B?????h_?v??K?e?E??? ?R:.z???????A`??b%??8???5ҿ?,\Z@?\?j???p??9;O???/P?MF?/???Ծ?8׊??KE?Z?vO\0???????5?Ϥ?#??????I?3Ma.?b\\?+:&Z/???-L?a?R}:??V	ȯ2\r?Lފ?????W??U?-?|и???QsZ_????0??Z?MhO\\4???~??z??/,Ga?=ȷ??u7?^\r??z?;??|N?s???P{P\n??z*~\\?;_?~?F+s\0??????=??ʞc-K? =?K??ߚܹ\\eC?+\nw?????Ы??gt????=Ӣ?w?+?❛%??????̊W#(??M??|???;??o4??T????7K??z????\\r?r???Qb?V???y?g^=??Y?򡃒fE8?^#???????`?к?\0͏g???T???~MW?3??|???????*????~g?g?\'~????nn??x????י?W??ԠL???؛?k??Y<?܉?(??\r??<߀?????޻?p?z???t??Y?????????rx?kk@?Ί?"?k?Y??;M{,?y????xJ???I?x?~8|?y?|?]?a??z{=??sz?}??t.n????*??zv?j????V?=?jb???\0X?5????????^?{v??\'??Ñ^A)g\\???\'??v?<???	????r??׮???!?\0??r??|??ūy?Kv?Z?TH?B?lA????@?%???C?4?w%n???zV??W\0?\'3?p?Tn??\"<??2\"-??\n%???\'???????Ϲ?p\\O?=?\0????:?Ҁ<?O?\0Xt?޺X?\KB??s7s????????6??u??1??!-?Kc???7?q??B?\\?s???ua\"?2p??Qh??u???c?<?????K???u?=??>??W?vY?|<X/??Xf???????e??D?H\0?????;?r??AE-*?C?6??ÿ[??;??p#??FN6?I?k洸ޖ???[?7&6?2\Z???8??U??ȈN???&Óe?u??3o1\rDq??????ْg?j?????Qc<v$~?9E\r?]????穥?????t??d2??x???$Is?=???f?/(?ᰍ??0??uo??(????R?d)7???\\?Q???c??B??gw?AgR?\\]?k????y??Z=?n?UWa??gk-?c?z<?I????0Y\'?V?^g?-LcqfY_63?t{?6????Be?Ǜts?6??'+7??\\$????\0?аCb????B?????]?Y[?i?z??F3?ٷXۜ,???/???^??w?K?}??}??R}ߟ??????3?????H??[?\'ig#????zD?~X???9M?5?:k?I???ݟ?!?FV}(???????i??f?q?wc??a2?$x/????E?t+B???????7????v%.??V?n7?r?Hz?Q???ס???̣Ēe???RDjEdF@?bS??]?R?Y????;C{?hgD??&??hI#??m@???B?\r(q?z}?C???f?i>7[S???????΁????mv?DI!????ݮ??/0?0?Q??????o????}r??:?rgĪ????w?jl-??????!5???\"^ҝ??i?ꚘW?s>@c?i?.iQ?ƀ:?V?oh&	pB^???Ј\\??Àf??;3????*딮?4??f?????G?CR?e??,????Gi?@w???z?D?s?e???洪8*~??+?*?p?^z\'L?]?U???Z?`???e?,??_?a?k??\n?q???߈UF<?f??????A???u?_?????-kq?)W?mW?????\0\'h??|??,v??=K\0???Y??X??©Yp??k/S(??????x??????#????*o?5Tu_h????th??xk?T???t???f?b&?v???Ȼn?8??_?K?:?1?p\\??"C_??y???4????{?9?LG?O???w????$??a:????T??/?i?J?3?8????????B???	b\\????)??.\n?$???????F,?_?ҏ??????????)?j?3??{?????\"?w???????oI???Hz(?%?~?w?????g_m?wKW??ߍ??/??p?t???]\'????U?n??;???.?|?ѣ????x?0o??>ýF?\"?\n?????q?K???W???:-?{?_?h?[WY?Nł??^?d?*H??nuT?A??Ty??????K\"MF|fL??a660l?4`MX3?H?????l?-???2?z???shK?U>İA (=?ER??vr,????????y??\rƶ??1??9?v?\r??%?#`2?(?yX16???s߉?D[?QC???	i%????7?Q.*??q?u???? ?A??w??????Y?JG?pz?I\n?tFλ???-:]????????|j?p,iL!\r???=j?0n??k??????\?k۵»|?ݥ?0?he?T?.??z`?c??s.C????AԘ`4?\"?pl+K1V??M?o#9???fDjD?Ӫ1k??X??-y??4?U??D????>W???2?gL???9*?K????B???{,pf~f?hOIW)??\Z??\0?{??*?	L??Z6??b??Bl???0c?V?0??2????`u~??B???׷?9?;w?\"o??j?0????[F=m>G;?ߋ??<y???q?Zn?R?us?????a0???\r?????k:??f;3?|λ?q/\'?1?E??c?N;;mlF???wqڃ8U??z???\6ŝE???eU????)???Nl:`?????\"???pqa?k?\"??i?'uZ??a?????-?ʑ|??TZ?(?x?\n??aDXS???GD?T?D?4Q?I?8???0??c?9????v?|??G?r?????IZ? ??.g?fp?V?N?T??.?Gy?Xl??JpT.&b+????M\"??יz??????3???f?`\r?V?殫:^J???y!I???'n1|?KG*?~?=??<S?p???\Z?8-F?Q???1z?N??o%m???i?8d? ???1?8+?f?F?ZQ???3??0?U?m???\8???Ì?\r??\'?YN1??C?$O8D?r?h.L4fK?j?u础v[2??+9?H??y5?Ӣ<a?\r??Uf?,.???,?3ֱ,ݎ69A7?=???p??2y??c?????zA?;1<??%?n?JG???2?>;\0?^?7ۓ?ǲ6???D?o?n?\'#\'????\\Dn?a?gz<#y?????L?Ö?fת$K?9?s??!???l?b?\Z3G0_??(W?????빌??CZ?F!??Y??K;\'???h?0???顸??vZr&oѝ???x????????,????=o1\'qV????y???L1C?ѝ&<??+^S?d??:?????ބ?\Z???\'C*?4A:?s(?y<D騴|6??MO??@k???Ц\\k?6???<???)? ?8???d??s??}?jt?%E4??t?;????<O\"???vӝ?f?7?????/xb`)????J?????ӱb^,L?[?r\"?????i+G?ۍG?\\b??m\Z??\3??mK?=?鐍V?ɖ??F????Ė*???0K?%?9??&????(j?+?>?+As?p????@?b????|??????\?K??????r???:????:?FXov??<???f???5)b??f?r?????d?????\r	~?ϳ?f?Z?9b?$9dǺ?@nX?6??[*?2????w?k?m?????????0<?????1????????%????)??uI????,??0L<?\?Ȧ??\\6?\\ܲ??@?(Ƴ???ґ?>wG^???????>r?얯`?s??>?Ŵ?3??:L?>???e???.?\'z6=???m??X+??jL)?3?1??)?m???\r??n????M???\\??p?\Z?993\n????q?Yy??9?[???Ą??M????\n?X6??a;D$??p????;\r?????M???H??닡+??\r??ܢS$%OYG?|??1>???M?4?\r4I;??-?!l??GG?#}??K?t??]wŋ????=??CQ{?O1D0xJ]-pN??Ĵ???6l?????`l???1<!t???[C~e?=?ra?K??͵?d?q??|2?F?<^??????Fq4w?%??ѐw?@8|:?\'???u]\0qt\'?????D?Hn?n???Hg\ZqXG?9??FZ???m??V?.?f?????#?{????DR??f?6s|a??????{?s???)_??a????Q;]?\\?????pF]?	?;??"?>?>?]??K?4?>???ᰤ???y??K?Xh.>?lud\"\"??K7NKy+V?I`????j\'?w׾???w:?#??W<????&ls? b?v??g]9????$???6?H?ߧK`?+iBf?????N???*???쓝9\\\0?35ꛥ??0?zc:????????{?W???5SZ??܏Ǆ.,}*)P*????|?J??qK???)???æ??y?"?O#ْᗊ]???݉[?y{m???Ĩ?? n?5??]|)J\Z?L3??	?9?????????c=??-??cS??j?7??t?X>????^?:u>A?/Ю???C%???????r??\"??d??^?8?u|?,?6aNS??\Z?OQl???xj˹\"?P? /v??㼚d????۷?I?_YQɜ?خu???|E??ࢇJ???0?$???|}[???Sbw???b%E? n?N㲸???폛%???)?M???5|??cK@3???????uY׎?H	?c?ȔL?Ym?????|V?4sq?l??u??PF???Y?r??M???Q?X???t??@n??%f;??\0\0?.?v?zc?C????yJ`z*?????=\n!w????Ƨ??????!Y ?Mjs?r!?+ok9bz?\\8?{?\0DrA?돦?UW)?8?$&?????*??G?????j;??]\nW??Hjy?.???\"?\n????\"??O?\"???8??@┹h?c??\'$.[?1????rт??????V?3?	??jE>%0+D??¢.[???@qr??!춴?gi????rk??R<y?TÑ~1??K?#CK*?/???9t??\0?@??\0?!?l???Ӳ%n??y????M|Y??b֒??\nVA3[??u[<??n??????l84?~\\?W]3܎d?^??????????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????C[q\n^ \\???h??ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V??~?H??	????@dB??؂??`.?\0?`q?c??H?ڃ? ?icr\Z\\?-???h??$?	???e??Y?&+)??T6t??ZRge????T??ez?|??G??_a??67\0?n?c?R?g&Н3?\Ze#?{>F?!???&?????\n-<?Nˌ\Zә??#?a?_?7?8?5????\?{A??F?q^??????tu?&\Z???!?O???\Z?Z?? ?s??P/C9?????LHw?@???Z????{б??t???t&??s?Y\n??V??:?s????n ???A?)???c$G?????L??V?:???:3s&?t?E?TȲ<\\I`???Z???WO??:@Д?t|??@??Θ??\'???i??3Z(?Ʌr?N??RP{?Mq???t	????>?AA??\n?$?`??!q?K@pU???к???????\0???ʐ?P?!?0?r??s?n\r????֠t?.?P????v?n??̀[<???	\'@e?;??t??0?>??^0/?(????cc?\0^ oX?S?\\\0???К\0???@C?U???W\nx??L??1????]????N??L9v??>\nH?6?ܘN??9?`???e??<?nv?x?????H?NjlQ?4?O???%?V,f??v=<߫?/o??~?V??C?????f\"??Mq??v?#?(?`r?l?d?bFw?5?+?	Z??WF??9?竈or8vr????-????v??f{?z\"0\Z??j8(P?@?r???@????\n?\0?\0΁?\Z?$h\r??D???`???^+?O?᠗??j0?0+?͠?(t;r=?=?B?M??J y??)((UU5?T?g??<???Z0t??8????0??E??zbw??x??.=?v??=&????Q2Dr&??1?V??v???g???V???@??|7?????W????ԃ$???D?2ɋ?????b?DB{?????q??!,?w??Ct|?f?nT??qU??m?????S?3?????q?????\0???A??@??????? C??2? ?h?C+(rhX??КAjB\n?\" ?0껀\Z-??T??z??A??c??0u??_?фkQI?0QC?i?6??0-1:???o!?4s׆9M???????iNi9^L?<ld?O?@????G?>???7t???õ/Y??=??"??Z??vB֤3_bX4?zȀ?B??=?d?6?T\Z?A2.?????D?W??H?\r\r\r?@q?2?\r?cH???*?Z0???c`?P@$B9??Ah(??u???=\Z???ƪ?ih?\05.\Z.`?x~6k?^܏??????r~+??o<?a?uB?1????`????J&C/-dz?߶] ?7_???????ڋ?Ǥ?\'L???(e?y????ra??N}?a5nx?????\\`9F.?YkqBT?S???eB0?|????H????????#?qP=??RY1?XO?????<?o?(W:|?j???z?P?ul?q????D1??q@b?š<ClC΀d???8? C??????Z???C?\nO???ne??[9????P?)Р??#nN???%??\\??	??No??ʻ#?$c ? ϳ?Y??+???????<?o	h=<p?<??^?xe???????tyB?=@	?m?TR??G?'???QJ-|??͡\'?\\.ݰs?m?	-*Ф?R۽?u?X??9oc[?o??\r̅?V??o|?C?f?\Zw@o????SX9???BϵUw)E?!ώӖv\Zر3ۥk???8h?3?\n??[^?????uH?"?\\3??\ZLqA?WE?( C??$?d????Ta??vL͐?q4tZ?T{i?C]???W&????Hw??E??t?/??X?	?u???V??????x??/h??????\\? ??l??!5!Hhġކ:?J_C2?U?\Z?LEg㱏??????}M?}o?KVw??9??l?0Ҧ?1??7?c??Ǔ??fӤ?K?&8c?ع?\rt7???\\?l<?3-/??\r?A<\Z?$q))R??@?x3k/(6S?O\n?|j?????Mo?i???$???*???u?<??????v?Q???p???u?o5?z??u?~[?O??~{޳?h??)???k?c3I]-?۸r???D???]?:ܙ?w??7_?i?[~0µښ??=_%?????(?????????vi~s?˃???}??ރ?G7Ͻ?x?i?d??Wy?p??0U?]Y?????3?p??5????????2???????%/????[???<???]?j;Y????V??.[???????>l?n?&̳Y!\n=?M?݄^?L?8.\Z?Y?݂??)<??z?\Zo)QY??RECQ?!??8???*???i???\\??6x?-n??2#??a???h??R???j?\'&?j2??(v?[?uy??j?o?R?????DƲ(??Nu???mFJv?'?quJ4?n?COa_??4#?U??h:?J?r!;s?)M?Gg??!,?????(????Y?&\n?U$?.pr5wbeW3?;??d??\r\'??=??i??Y*xg=??S??+f஦1???@??#k????^?vB\\i.j?????wQ??????7??\ntGvH*???DGS\n?????rD??w\'.?9?%??????r?4?m???[????i??{?e??DZ?h???ד}?%5???r?7t?H?o8\0?N???\reD\'?????F?[??\n?$*T??έfV?i???mYYͯ?Ɓ?8U??????\08\"????Y-Ľ?????+???z\Z?N???K9?|?\"???!o,?j??????@_??x?8&1??l???ѓI?N?4?	Q???^????д4?ri?҉:??I??2>&??\0?D???n<n???nV?<m^?\'2???u?>??/??X??K??\r????N?R??E?1b7P&\0???X??s?уA?ED\rf?8????}E?,?\r??\\??Ж7?<I?xb??0?^S?f????%@??\n??rԞe+0?\n<?<?rs?%?2.?\"#l??H?M???gb\0e?+3?????թ?d???MѮS??\r????w????p,?x??4&?n??????qc?OIwFh}??1I?????Y?Dk???C??'a??\r?^T???^߯??]t???g|L?>ٶ?woy3?5em;D?F??`??x?z(/{l}?YGn?NG?Q0a/?6?f;F͡?????e[m`?[????vX?9k?f3ZT?>?$??dU&%??02펧?JnTD8???FJ??qǥ???Z:?????Z???CId?I,?????r??6;??????????:??y??h????d?F ?b????mCϗ?nn?١ݕ?.,??րޯ?Q>??ҵڕ*\Z????ˍ???;QCX?k?\r)?s???\n?߼??lU??\0??l\"řt?:???y?|?????\??/t8i#75?ئ??$Q???ᣢk?\'????\0pb????1?Ac<??<?-?????b0????	??\n???r}???@S,?ik?"???u?ԓ??!???d?r։??'Yc5Zי?h ??j?????y?\"?!??a?{?ݚϛ>N?o??`	$,????6??)\'\r?5???;???fo???ƲX;Xԉ??[C??{΅??ŪW????g窐??y??%Ca}?K??+???f?.q\nd???G5??(Dz?????+U???_(7uG???\Z?V΁/???j?8?$??*^?i?V?x<L5??@wq1????Z??j/??????z?E??c?KtMw̢D&<BO??K??+?`?#x?\'J??O????%~???>\r???UT???:??O???]=???????ZNuY?;?.-JR=]]???n?o?>]??)?vLh????3????x?D???\'0????,?gԴ??T6??|lCZ?K?n`????Ag?h??r?v??rE<\\??!?y?u????k???xVӳ??*??,??kê??gݮ???n??z????\\\y.N?????k+͏?pb?#?f\"_Cf?m??hxt?@?,?x{???Y?>~???Q\0??>?)??_???{?nM??)?[@?A\'?4ׇ}>WO6???\\?M?8z??t????<??rC\\???p?r?(??ɱ羾%???P?v??>?w??$???1?5????}Ϗ???<??????n>??}9/?0E????n????9?}?P}??\Z?i???RA??\"???z?V?o?\0??Z????L???6???JHR?%?j?r?DQZ?]W???z???\\????-?o???ToE}???_oKp}T?н:??z9?l???????[??yNh???.??n?YKW?y?#/??߽\n????Moo?>9??0E#5?/?0??4=???L{??Tԭ??D???4??????\r??????:o??S9??G?]?8{??\\q?????C ??qX???n?\'?J3y_??I??V????????w?.?X{?~??s\"?,>?RX?j?q̳???0??7????ט,?X????GF? K???{`o?O@?l???J?????\0????????\"N???_?\Z???UQ?ʽ?Ӻ???İ??s0:^|?!?i~VN?_???q?v???U????J??????\053??wϭx^?o????x??????cP?)n?ͪU????g??P? f~|??ӳo??????Ų???|???????x %,??>r?????\Z~=O????f?vEȐ??Z-???*??x??:2??IH??????Z?>GN~??c??\0?K???99?(R????q6+??dz>???\n1Z?%?9?s???\\Fu?\'?89Ĥ;t>-k#???Hd????E/?OO=e\'?M????K?0??\';?	?¼]?.>??T}m~XT??Kb?ќ???_?????\'J?[??a??q?j??_??U?J<ζ?p??Zϥf???&\n.	???{vU\'?n?E???E?G?????iIT,?U??KD%?Q?F??0,?Gd??Ogtn??MM\'?a?|C5z<ѵ?־]?S?\nי??g?ͥ???B!gWG??ɂf? ?@i	~??\"?Ð??U?r[K??T?????Iz?}FH????;ϲ!գ?*????X?'?A?\' R??̖/q??\n5?g??u????Zߦ?n?Wa??H??G???\Z???z?⮌H?????}? `?е?,???\r??\'\n7????N?~k^????0??E\0??R???\50<㪄?O?)??1??/	5uqtP?Q?Ma??o46?1????bk???}?1???C\\??JgSsr??Y;??U??{?????5??-m??????2??>???????0????ͪ??3A??׹?\Z<?҇\'?ę?\'??r.?S??k???=?R#0!O??.!I??A???;??1\\???	??@l?\'???Q?;K??F????n??R?9?<A??;j???9-eE??F?\Z??@Qc???%??G2?????+?9?Zٙ?9t?mw=??Zo???9=?p5s?J_?????\;Z9?X????\"??(?};????W??fig??uZ???6?????????ʜ_u?o?/f????????ug??W;ϳ=?????C??[?Z?????f!T?}?>,?K8Ch¢\"?h?a?$?]?????????հJo5???i?ۀ5?Z~*Wl҈??\"??,T?ˆ????r	?g??\nO?Q9?q^6??ڛK+RBZÐ??E???F7Kܡl?)?4)\r???êU{s}D?B?L?)m|?u?rۜ?o?F.s???F???ݠZ@??Z?P,???r6????u၁??????ߥWG?߭i?҂?_????C??"ӏ\ZL?G???????]<????k?׸????OZ???/?{??be????????=2??t-ڽ??9????ǥ?r?:ok??|?C?o!???;B??y?GNu??,\'?*J_??,??R{O-???ӁR?????????{:?K?G?Rۻ??B?Ϟ??>???????#t?(???y???Kl>???N??n??M??????2?\0????~{?E??xo?3\\???~d{?f?*?\rc/??T?????˕w??[??ś5Mw?쾜?g?B??Lo?U&?e?K??o*ew7?????ɧ?j[?????????Ǯ???峙?.ˑ?K6?X]l??)?_?l???vZ??C??S?????!&\'?;쀶?8?m?u??>o}?c??e9Gq???su\Z????ߟ?~???".???;?\??/?5tӉ?b?\\)?????{.</?|???)i????x???ǹ???N???{?-W?o?\'lY??@???????ŏ?{???uZ?D??k??~?S?oJNKT??M????8??}??s`??>R??ju?O?????\'??f??p}Y??=܁P??*??˂??=/????E?~??S|*F?uZ?2??׫ٯ?;9???bY?t???׭?m][??ךŎz?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J???hlJD???ԇ??}?|?r???{??:????MA?\"?'Y?u[????v?"k??E@k???{y?{)??tsI?P,8???????>2???t?g??wt??H;?W?B????yᩥ7???>w?`\07?US?UP?K??f?ݱ>????r*????<?~??sY]7X?q?q?+??Z???4^$?????er?6???O????C??|S??????J?p?O??U.?B???X	W?EV?#,?2\"a?=?6??U???l?r?i?u??壁?????l??;?٩?Sl	kJ.6j??(?B?y??f?????	,+H>&??3??F?8?AIs??r?X?[Y??A͖???0???$??@?_?^W ծHR?@b???'???_?g!\'???????q?(??7??+????Nj?~?????f??x???_-7l?;?o\\???=9?Ӟ޾~????I޻T?V?:	??9???PdE_?L\"TXf???Y??J??\?{\'y<>???O=\\?\r??????lBr%sv?????4$?F|X??1a?C???9??H?????U????\ZX%?7m5c??6h?`?ڦ?k?D???hE+????߱V?Z???*??zG?Ǐ???i,]??????qq?&p??????/?????+\0?M?/߼}?S=ϙW??ʣ?_߮????E1?ZVeT*????ķ}?j}?c?j?}??\n7|z?J?1????RV?fg???e??\\?%?z?????_wD^??apI?o?%j???Ji????^?k?*???˥???u????<??Z???p?7ŕK?????.????|???5???S~??@cWK??2Xnx?????9?'??䴟?Γ?>9???\n+?:?nέ??x??xi?^?<??\0?2V??iV?????+??????F?n??E???{???{?׺Ӯ?? ?????????S???@??^??o?>\0q??\n>???}?u???6??@6+?,|????{u??r????h?9\n????\"????\ZP?O????=yk?Ղ?<czDaT??O??q???|????????????pW????????`??.??%K?d?rn?t?Ӓ?ay????N????????X??????mU?i?y???*???8??9?\'?/`{>%?N+???ȳ|?3?????p??a??4??A?G~?濔P????|????	ԮN?>\"Pa?޶l?*F?*?/g???ׂ<??}3毭???ў??W,*:??V1w~cEk???߃|Z???|\"?}?z-?«??)???SΚ?r̥?|?G??d?\\a??]%?@?0?j???veh???<?8??8k%ג<?\0-??Y+T???8f??ߛP??_??Z???9??`?	E ??毼????7???e??Q??庵?J???V?ř?)\r[??U??u??k???G??.X??]t?>\\??HYY??q??B\\~<p?W??v????g?À?x???QU?p?d?????"??е?W??]=F?)?\n???/???%??Z???j??/W??)?!??`J??cx?|???e?.*?*?(?fS??7??????GN??????????r??c??.&????J=?S?/0#p????e??\r??? ???|?????eEY????V?^EA?:d?b?\\c?z???G?*߫?S???(U???)?5v+K??㼁?u?4?k????[??I?5畋??͍?נ??Sz4E|?H??d?????)???A????????gܻB?+?r7???h?i/\0cfj????L????v;??Z??wE\0-R(~?7???m????p?FR?Ԥ???C?ފ_??4????U????r?a(\r{??Y?G??&?G[ڏ:B???#7t6????bO?E???YGV@m?b???lCߥfk?j?&?9?????r\0??I??P`^?f?n?	??ӂ?/E?Ņ.`/??????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????OdXi=??????Ob?rs4??????ċDC?q?=د[?u?_{??ش?ͬ?w????.?oys?j??"??0زE??c5>.?؇??????aIy??17κ???????ӡ?YgkMiG?\"zD??j????y??N?d?X\rtc?Ě??????RqA㸸\n??	?????)4?????	L???????z?=D???oJ??U???7?Ng??l\\	7?NVV[E?????i??U?׻R?0?i???z:8ɢ}8?\"???R?A]?|?????81??5]??????o2=?,??????V1?}~?i?R`.??Y??E??Qr?&??v?FӮG?????a??4??k\rv?0GE>I?	?LM?Y8-ͅ?fN??<??5??:??̜ŭ??OU?34?<B??^???<?_Fu?n? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??????????d?????h??'Z	,?9X???????l????D?96??@?,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	?????dI>%?\'Zi??\'6??l??QA?????y?(xHş%Q?\"??p??ŋMkO??\\P??m??тd?ul?r:?]?????ӱ????w?fv[???ֵ?????1B_?p?n????)???٧????(????Ԝ7\\^m???\\k\"?Tg???U:b??H?\'???????0????????6\"}?ub?*???Z??? ??ܠ?f?J???K઼`O\\?\"\'?E??0?x???&??en|i?\"وo??e????n??sh?7?\Z??b?-??^?wA??ʵ?;???=\'????vw??v????-??eu??a?????!?Y?????????[m?\'n??7??/ɊsD?????????????\"9?\"?????;ǰ??7?0g?_?0zR[???r?-?r:?О8??J?ⰳa?U#6?eǰM6:???؉?+S#?X????w?o?;?V??c?vH?=8????M?]~???>ZZ{??zJ?^V??S&?FwL7???t0???.?x^??'???L???9\"\Z?˟\Z{qSo???O??&cz??.??m????݌h?Kn?k4?????????'???;b?ܩ???5?????Ih6??r.jᴆJ?v??q??E6M??V????n?=k??]??ӥCk?m?J?? h?վ^???,??d??t??d];?_M41??H??h?$<?????Ơ?t???????kOZ??\r&ˣ?.?.?4Bk??=#?4?(\\?h?,??5j?y??????|?Dmo???????u?P\Z?? ??&I?>?R?x??Y8???=M\Zs?9ΰ?<????4N????]d???q???\'Zʢ6?b?5t:CO?\"l????M?ݣdJy$r????8??'J??-????????\\?>5?\'?*O???????????L`9??.???i??C?7+?????8?}????:?q8T?UX???_t?????'x?z???R.??붺??Ru??R9???խU??C?Ar?Gx?:?O?RN<I?M({?K?M^???n?	?#C?4?l??|?$??A%???(??Ic?=lNF???z???ݢ?{?c6?\r?u??;???[I??6rp??\rg??????3?\0??Z?lX?C\0m????m\"??????C???9?8?????????0Mxf=????TTF_cr???|=fW?}?y???v?>?zв?a#???5=?f?ۍ\Z?H???u˱???o6???:<?8??kg?z?fz?!j?b???4N?n??????????n???ǵ?u??[???O????I??Z?zꟘH?n=	?{2?|_?F?0/4????_\0:q\n????^#\Z????;?5?????&?uJ6??t?V?82Y/I??N?,F??[];Y?????ݺ?\r@?0M=??Sl????H?????K???L????5<???4??.֧]?&F?k????Ԍ$94??n??^????q??	X??g?t??????z??)???\"j?!έy>^?M}?\Z?,8??q?Z-?f????)9D?h<AM\r큋?8???ZI?L??~?e?|o?\'??M`,?E\'?.F???\'?̯a5??pZ?;???ɨ???m?[ߏo??;߈???a=˷?????d?3?k??{?}??Mg?	s???`o?O#\'???nL?Gs?#?!??w\0?t{??? ? i???D????F{?[w???????p???t??\r0??Y???O:????f???$Da?{=6$%Ix?H?ߟ???ѓ6~?????˽=??vC?N????x?0C?y?;r3?Y??1וP?63)G??a??\r?.??>??.?V>֨?2??B+>??z???V????????r?3???????????\"?2?????S}???RZ0?d\r?9n?B?rGI?ͮڧy<?????3?Xsz?mH??????0-Mv?޴\\^\"?\'3??t\'??W|???ng<\'[???Cc\n??????\r???:??-?Ʉ8?u?i?ѐF??&?.??=4?`???I;?`,,Ձ????f?Ƹݙ??????????????§̪?i?K???{????F?=Py??(?-~?7۠??;	????	?=??Mk?Y??D\\W??????B??K;?????.???O?X????qͩ??<????Z?1&??x?˲ߡ???3.%\r?-??w;f?iGM[i??"?m?}N\\/ED?h!?L????F\'??4?w???W??$}?(}jotu0?ٴў7?7??t1fҜn??)|}???nD?ờ?a٤??1ۉ?(Ҷ??&??N?\\z?:2q?̚$O-??ƾ??ёNd?l$D&?t?O?֒??om???~????|X???????sA5G+???_v???/>?{??n??j?ۋk?]n|????ٰ]???όIߡ?????k?ngO???m\"༥=q=o???d?Z??10?[?????v???2b&?pF??????\0??Sd?Y?&I?????i???@??䬩?????Ii?ӂ????*P?$???V???7?@?G?[m?;~?1???d?H\Z???e?8?j??$???:??t??cB^%???ەø?U[fL???ot??CG?%?\"?????3Z<\n?#?9??!?c??????lR??:?9????\"?2?Iʨ??R`Ž)/?:ƙ???YC\"?->r4????? ?v???????,?4?Z??!??DSg?˘???0?(GdR???mh<?<??GnDK?????:4?{<?????$??,ŕ\"?????\\???M?\r???m??ܞ??X?Q?J??R?????tC?E????C>?mG???1R???Z??(?\"??n?0?Ɩyxh??cWX2????7s??\?ͦ??????A??N??Qso5lg?ȒHv???0?????%8y??{???jK???\09R?%eI??g???`/?rT??T?lL??L】??????b?*i/?h??s~????????\\wl\"Mǔ?ʤm?\0?X???\"lg#F2???\ZЬ٫0M??He?(3??%c?F\r??c6????????????K?????(??\r??9OpG?GOZv????b,?ϊ?(??V???_??t?R??V8?r???1?W9=??\Zy??????.??????Mw̚g??3???{qHx???_3?v?nB64???냀?k?mF??~???iv????V???[o[??YݾU??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:c3a005c034055064ab5f5553477e56aa','??ێ?@???_??M?\nSKDh?Z/?_?KWYc?/4??,)?%???\Z??+	?[?Ā?N?i?m????Zv?+??, h????n?D??????gRI??\r+O^u?|??px?{\r]?V?????m???l@?ZG6޵?$C??%)?1	?#(?????vNހ ? ???????9??????bG?K_\n???ߟ#?ߘ6J????O???m????c?HoI?????0?ZH?p&?????i{t[?b???)Cj!?_B???2kIN؊\"?Z?c???k???\0?)Mf?ɴ?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:c88e2bcd56513749bec09a7e29cb3ffa','E?????\"?\r ʣ????A??Q?????w?Ѩxs?]8BQV0BhП&(????:???j?~???J|Oy??\r|?ƅ?||??\0E???&?5??{g??闕????![?-?\~??#?	q?fc??k?5??b?h??S??ٮ7????\nw\\T?7Ơ?-??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-css:4:d7a5760119ba393213108d954b0057bd','?Y??X?6|???f?lz?V?d?g젅E	tSƾ\n;????%?22%ewuM?7R\n????w?T??????O?|???\n?q?A?U??????????&q?תl?6)?ώ۔y?????D????|4A???????\\9????k???7e?I,??-?$?????????????????,?M2?a?????S|7t/?:L?N?????v?????e?n^z?ﷄ~~E|v???O??y???p??i-)^?z??????%????????????m?6??yߖՋ???(?;딕??9L??鼊??T??/??5????8???_??n???N????kr?ʺu??????\'?:????\I???~.???x?Ϯ?Q]v??P?\n?v1???+/?????p??\r?}???|?ԯ??	?K?O??h>5A??_1	?2???w???}?I??k???M?އ3/\Zq????۵???????????????ӿ{??????$\\??]??????????7??wrd?\0mĨ???r0cތ^??d,m?|??B?zv????7??=???ET??g?AVY???????`vǏ=?Y???1?Y?_g??????\n???????O??K4)?z	E`z?Z?qpYN??ZL.N???(΍~?B???;????_ޮ?<.??OUD???'?C?~~???????????wG\\?a???_?????z??Ӗ???达>F??Q???Ө??nԓ?Q\0??-2?#?6?Ye.ގ?:?~??]?y?.}0???bmY~7?q?????)??????}???}e<???Û????7???|?oA?P???????N????>?!?g??ݩ?F????R??h????\r?R?\'???n?(??c??}?\r?E$Y???J>??????????$???&??_?(닓?????????͹ϋg7?xI(ڗ????q??W??\n>?w\"߱???????N介?J?.??H?|?q??p??ą~\\d???.??????3?r?*сg?G??<???f??#&b???L??w?????v????D@?-?>p?????~??????}??|ǥ7??1??^???d???ȤJ?2af??\n&\r???g觝?.8&????a?;??	??^??3???1?P??o???jo׼Ϛ????T~????8?\"?????\n)??o? $??,?6H?????w~9???Y}I?W\Z\n??X?f)??g?}?*,ڴ\"@?4Ȫz0	??????$?k?4?K?FB?=?\r?\rI??`9??	??~/+???????O??C?\'D3d?˛\Z??4??_o?'??G???:q??]??X??????9?$???}E?:Kk?E |?߾?T???q???7v?PL,?	?u??nS?>???;|9l~?_????_??/>?;`\Z6?#?=?.????,??_ޔ?????N??J?????7?n??F޾ѧ^?\r??N???ܱ???N??ũ?{w|$?????f??T?? ???????&?뗮??????e?{??U?r???/M????n?\n]????ߗ??r?1?\Zk??Mٗ?\r???\Z?e???	R?I7???0?????????c?c?^ti??????\'???S?dmz<s?????1g????)?3?E????{f?:k?[?\d?H?V?rm??K?j?,j?????j???v??X??zںm̋??\\W?ᰵڊ??z	?2????? t??A+\0Q^???Mt?w??0c??0??z}8NM*#?4???B+????1????QYu?>p??]o??9????зƵ.z׬????"?Zɲ41a.?>\n?ɥKn.1]?p=?-@	L?v???\'?????b????$\0?????O????^??????=v@???E??;?/???8?3??3&9?&?f\r??Hj<??@??E,CU????;mϕQ???K??1(m~/T;?6??l???v\\L???)m???X??????nǐQ}v??>??"_???????XC?nM#?MM?????N\"?61??J˝??ZG??#}??g\nb????3?8:\rꉕ akK?v$???@?ٰAj?/?c?P{?X?16t??c???A))⺭?d#??)????????????5?0??#Y?A u?&??????vW?n??J?]3c?N??kc?^i?l??jnky?t?zt??????B???	%>?_?)$?Kc??L??V\\?v4e??Ҡ\\?_iٓ????ˠN??GcM????????gB??(?-????S$b{a?????ƂK+N??m9?0?p(?9޳#???\Z?ʵE҉??=t?????\0????T?RAW?4?-?^???ذ?Ô,?)?\'%?Qu?ھ?t???Z?6???B????Z????????0i?^\n?F???gL5??zq????<?)]<ЧM??+R???6???Tb??Y??????f+!bįY?f?>???%??Nv?`Y?????5.f?(t\n?Ta??ە??k9????????M???[``???SY r????????|??B?/_5??t?P?/?T(?Dn?a?=?o}?9?/X????KH?W??v8S?jW?2?f?\Z3?\rg?n?m???c???{???x)?M???S???Մ?2????ZY1kw?>????\"??k??\0F\Z???x?"?45X???{hx???;?S;#?T??\n??m?Q?????K?+??D?(FTg??<?;E??\0;?O`??????V?3qR3? ??\'Xp???_?m[?vO?=-???$?M\n?4?f[?F`\\v]??????Ruc???<??\0??g?r<????-?{?]?dIFt???QcNBr?4t?#????&R???iI?m??fkqd????\'?\rQ?h?	Þ2?????f`?\"\"3AO<cL|?\Ze?\ZS?-???&}l?\\c??3U ;??L[??????C?Ú%?,??5=?'VM1׾4ڊ?-?ˌ?.v9?	@??????\rM???'?J?;?2?!(?oA?$fb?!6???	??/P[U??\??b????e)?Z?*?6?^?V?H?K?#?m?gX\Z?D,?\0_3?6?????حR???.:@q?0h?_؋-hUfx?c?%L???j??x/	f??|\'?4Ξ?z?o???I??6+9sms??DR??p??`5??.???????q? T+e8?/T&z\n???#^??Z?Tz[i?>N^?????F??\Z	? ?a!?"?*Y?\r?2?ڹ@?Y??_??q?V0;?H?&_??V?P?s}V?L!?e?V.?F[O??\'Y8?g?5?I? ?'???<?????sp???td]{C4D???3?ϑ\Z?xWVM?98?黑<3i?d`?5<c?q\r?W?"?t?ƾhOt???èf?A??	J?\\??V\'?dw??s~8Е?FV5??tD?Q6\Z.kt???ۀ??\"?c?JSii)}??fd????j?i???\Zp??6??\ZDi?BB??5?????%9%?~???rG?ͬ??????au?k?u?g㠬V?\n??[k87??3+?[\n????E?????Dr?Ŋ?r??Z?]??ц?S????IE?M????Ɇ?? q2HG$???*????ԡ????P???9??HΘ?R?D?\nڡ?{m?h??-?6?$?wa???\0??%PU?8Zu?ᾷ??v??Z?Q7\"ph???lPC]???ykr?mWLc?0\\??,??"?\"?????o??nId?+ڳ??D???ّ\'P??a???mxIH&>_??\0?x???\rwFwy???\\??Zk??.\'\r?N????%2\n??%MZ[?RW?????[??ju???Nxח?:L6JⲼJ?vB??)g?ud\"=A???|????Q???0?<???h??Y?RLH%Ų1,/????*????O??&???????-Pb?????F?%q?????0???>?֕??R?.[C?]+?!?A??8ۖgX50????\r??1/Y?欳Db?j?$??.?y?#Gm?ƻ?????cRB???Z?w??Q?\n?ѽz1?b=?\\jy3U?Q????Җγ7H???ǥ??rK???$M???H=\\?E?z??v?A??*??8PA?[?n??L??AͶ?3-???l??/???ʾݝ?>?\r\\C(???FA??JQz?-???&???>J??T3H?m?tչ????(S??#G?Rb?-???&6??4R?P??4^:???Vٝ%O/4?\'hGu٬??\0j?bM????\Z?.??m??\n??<???ȿ?;d=}?G?/??es!??L#6Lu?????W???\0=ͻ??DD/?G^???!{?^O(s?n\\?0?N?3t?O?A+wa\\;]<<?R?P?\Z?C-\\??????????????u!?G9p?P????ʒX6YOT\"?rG?dr??g*Y?.?Yk?@???\\???	=h??pyF??A??Z?`2???R??6!\n?M?N?nK??ݕ`c?2܉?z*?0??\"?N?BZ#?b\n??G\'?ǧÈ\"??\'oaHK?\??\rr$?n??4?n?????K?v?fd??y*??`0vi??r? T-??U???,N??R????t!鄧sh)9??\\??<?\rP?%m?X	[?????	?3?Q??tdOJՖi98Y2xxёK????Q?$???<5?D\Z??\0C1٣Rp?p???I????*??@?3?j??.????u??pU??6?F??C???;??o}?nĢ??zU?q}?z???<q\rP/?W?????㇪F?R!??????CA??A?9v	?Vw?D?J{ǤՆ?K?`???.??M???C?$.?vrR????X?????;;*Si????a???npf?S?-??Z;?tк???\N}u??i8_@f-un??``?? -z?\'О?= ?\Z-?;?.???D0??W?#?????E0?e[/?i[kK:zM?????????IF?5\rþSp1\n?\\???K؜:?ڟ썍???/ր?0G?+?.?\Z??%M;?v?M?C????H?KPm??????ߨ??????l?Y??pp\Z3?{k ?>??W?U?xM??\Z귒AQM??jzY?>(????h?>?0??=!R?\"t??m?<U??F?z??@??\????(B??b?nAJbA?Zr?g?????aG?f?DR2Ԍv?YW?r??(??mM????v7\\??d??]????l??? ??u^u(?{???D?????.??/?\Z@?2?rs?i?	?h????^???m\0?}JC?v?-?7s????????M????????@?AV??`6??5	n???a^썢?o?/???㊄???oX?\rx??]\'	????Z[???T??n?5?X????b?r??đ(??3?i3????	W??ǫ?Μ??y??1?;????\0w?????/?s/2GT?SxѶ?Bk???????pXƥ?ֵLU?-?Yr?V?Ea^?D??????\rY\n;?3ܽڇf#?qXF???????Q??\L[??sv??@???;]H??????ݲn`p?#5?Z?S???H??ɹ!Z/\ng?P???Q??F??E??MEYO???6?:*)?\0????\???TG?Yk3?b<\\G????j&]??r5???????z?;M?$??????????+?%??|s???\\g?)d?T:Z?=???O?q??mp?0T?)^<?EC?k??/q\00?c?ymf?#??~??????ʯ<?\\z???9????rD???o$??<?	?????~\n???R??j?а?\'E?<??Q?M?#?Z?]4??f -??웥6m???^?I9K?M(F/?be?S2?X?pLGw\ruM??-?\ZvThcσ C??u:v\"#Y??*^ɍ=Wܶ??J??g+T?|S?????b?Ё?\"???<?G??#3Z?*???MzC??УL?'?????ci4Z?	?j??n&??a??????Z?˓VQ)?\n??\r.?I<^}???ZTA??b??!???	rp?a????+????0E??4???i?1s?:?N???dYA/?WF?\\wF?͜?Yց?UI8?L???\"O??XSz??wx*?-L????wg ?i4?d^ԝ?l??*p??%/?4????č?iL??-i{|?-Mě??t?k\Z????Ħ?g?\\??%}?	#?c?̨)g<4???3?YK~%}0?D2???2R.????&r4ݻ?#?????u?֞x???!(ڊ?????)\\??Y<F$??-\'???- 4r?YsS?e_??۱??s?niE>?a)fN????ɹ?qGw{??)???𖈙????G??O;j?%??mUw??t?.??????;\n鶘85̤??????Έ??5Qx]?	??ǋ?\Z?,???jlصt$??չ-?J???????~?\\q??\n/21t5-?j?wrKۗ?????|?-?uh.x?IUݦ<w:	?k*?'?h)3?O?܆,k<?0@6?C?????\'?J??̓{?FoT?4?M4?NU$!V???`??=̈́?c?e+?\Z?t?V1?6?*P???\n?݂?d4?:?Kf?1??@?I?C??`??/V??*wi???=?-?1D?4(?&&?\r??????6??.? 滑n?\"lrD?????캼-n??\Z??\rHo???*??VA?☁K??N~Н?d?'???t?@?S֫(0?/??~???ZZ?d?????ˡ?D7??L-UBt\\j?S?:uu??*????	????a?٠?\nN*˶.}????????QD??l?????K֬fs>?"g)Ih?\\?[p???\'­{??p?.o/9?U?0??q.>????J5teD?b???6;?Ǔ??f??*y?y?ba͞t2?? Ny?%S??c??????oz+5n8gB)?<fj??TǃV????l??\\ks=???\r	?H?I<?c?6\\Jӛ??0~քB̈cG???d???#????????d}?a???t?????P#a???^??Ӥ$Úk??????cL9???\Z&??:????;??n?q????@?;?={mcX	E>HiL/{Ս-\n???Rmn?-??????D?q?3赬??:?e-1?Ar?6???g????X!H????l?\Z?\0?*\n?v??? ?n?k?%??ƚ?B15??q?Fx_?_?jW?,?^??N;???e?Zʎ\ZH???\\??a0E?\n???=>oXg[?????)?B]?????V1ݣWƾ??????????b??d?>\n?c~?\n??KQ??????k?B?I??d?\r?????ys`w?????X>\\*d?<?Z????????\"??\0\0f?x?p?????+.?????S???LO?b ?1?H8?D??????3!?j?Ӣ??2ݶw\"???0??X??Xp>	???pҞ<|?"\'?L\'???{	ߣ-Bh)????F?Nuw??0Ȥ?<yH???=Ia;3M?????????KT??AjK???S?\Z2-???)??8??Ѝ?[p?ֹ	.F.IE^???%)??\n???T???W?n8k;uc???\Zǭ?R?A??????????L4|?K??<????TKRE????a??;????A????HRA?%???S&5??3\0?\0?u\n????q8Pw\"??vgc??⻮??f4???H$?g?l0?>l\\????q??VO?y?????(i}???B????E?Q?u)?S ?]γ??/?q\00\Z?([ܘ?U8??\'H?z??EE??T@2ע?]?F??w?Qb(y??`???lr?\\??>?;?\0*??e????*??8w듶?0L%\0?2zm{b\ZL?N?hG?K???????Gs??R??.3?????17?h?. ??3???Sa?????Tڥ?@jq???ZbP}\Z?񸽢??dHE??u??j-?_????4??VV?}v?C?Uv:` ?srj0 K?NNz??ԷUJ؟?=xR ?\n??!2>???)??̀?:?3{I?j??p\n?\'?&??de?WWQ???&???`Yy?7\n0??r+?N??)???Ie-?(?nY?x?m??ّ??}??G]??nƽ??&ܝB????_????r`?&?vj???/a???%\"1:m???N??^??\0w?????C?bCZ?r?\Z9??ʒ?<?Ӗ\r???K4ra??????9??61??I?h/?M1k,KZ??m??U??y}iƗ?es???v????4OO{?n??-q??_?ڜ???c{}???5w3??H?.q?d?eW?=?vñX?,1???b????Cz#lu?Y7????k????(ap?Cp?cyXJX???EM?\0(???d???Km?l?K?[?80?\nf-?f????TP????1??B?l??z?j??a????Z3?b;?/?t#[\r?!V???3?n?#????]?%?bnҒ????%??!J????+y?mٛz????Z??h??s??x?????ti????Dg?Dv??-??Y???ǃ?}??>t^?UϠ?A????????t#@\n ??ͭӱ*??]yc?Gd?p???X?t???}??K?	y??u)?@?rn?gsI??5hn[?????*K?P???ʹ?-?%?㦪7??\0?>?XͿX?45bI$?Z?Ϛ	??????B>?q?\r?????L?{Z?e??+fԉ??^7??\0?N?U???Ō?E?(?,?\"p?\'??A7%y?<??M???1?ݒbpڹ^h???I?&\06?j?tr??)?0??KӨe9???c?Wn/l??"??Z:?09?iH??4?\\??J\0Z?0{ُ??rU?[`ƠCX?}??u\0??A?,ܔє.??N?A?I3|???\rI)??ڠ?9??z?B+SWl?/jhУ9??k}??9??tO?\r? G?q?K=?lb覺?. %\ZU?\'?9|ys.??~irf+?V\ntK??	Z??*d???3?e?????0?uh?G+e??x)????*atuѺҰ?bo;<??a???????X3?C?\'?Ɠ{?|?-?_?8?0	?-?얺a??.X??[?q?WR(???????0???۝vJ?жUA?Wo??h??????a?M?2??RY?X??pB??u6?-???8O(5???ĩu??dn(??3\\?????(?mu?v???a??U?\0Y\n?K9cy???A??_AztK?Hs?*??W????{????s@}??du?Մ<wqr?5T4??5?u?P?+?3?B??F?C?X??L??\0???\n?(?S??qS??r??h܇7s?C???L??-83???M<ʬ???(?AN[J>h܈6ъ?B??|????bύ???BS,??v0å????w?????\0??ކBs?Y?JD?6\nt@?ya4?????D?h?????}???Үm?????,J?\0[???5䡴1<?iz??? ?C????h?xЁ?@3r???\\?\'??v?TAن?mb?.?ȕ???C??^3?????:?? ѥg?L?)?i????W?ȀS?A<???@DY???~?u?򷬱6O\"?????$?)iW?% ?\n??_\r*?T?V?m?,֠<?ǭbu5je??l?8?\0n?#bYU	?R??%\n]??s????)???x&e@Bh9,O???dm?????4???uSkdS??K#?Ձ?R\'?????젹?0qٶC??`??????	?L:?rJ2}T?x???3m7??,??\'əIJ<Бlm&(???q?ѷ5?\"ζ???l\r?A?2?5?\Z???Ke-:?Ws^і?^M5d8??S?&?`4MP_j?Ac?w\Zx???aK?h+???ҫ???t???(??+?n?^??{S?p???;?5\\>A?<B?\"Z?5?n??x??ᴛ?Ǜ?%ꓐ????o8????z6??u?˻???C=???o?ܷ|?>?-?????????o?ܷ|?>?-?????????o?ܷ|?>?-?????????o?ܷ??o?????Ӌ??6????C?Q\"@?l?|?????>l?|?????>l?|?????>l?|?????>l?|?????>l???!?????n????o6Q?<??t?z?????l??[????l??[????l??[????l??[????l??[????????-???˛????K??ٜ??]|??s?ٜ6??gs?ٜ6??gs?ٜ6??gs?ٜ6??gs?ٜ6??gs??ٜ__[s??~?\'ϩ???????M?3???????`?\Zo?G???y??#[?????q?d?;?|s?ȧ?`???O??1??sn?)?<x`???<2??k?=4???@=??}?&<P?B????????@????^wC?!9nc2??-?q??!nc??S??<??\n???q?Ƀ????܈{\niڲ?K?O0uO\'???{Zy????????????/{?/$??y??}?=>???.?\0?????E??A?????;???\0?v?????????ڗ????t~????W]???????7׽????7??3???3Q걚??yo\"å????yB????/л????@?????O?޾X??~?????m???~?0$wT?Fʏ?3DƏ?&?0???~??S4aP??ԍ?A???h?AX?r????j???(??????#?????|r??(?\n??鋓䟼??7?+?0ݟ;uc????s/yy???W^??(|DTAݔ?C?7?:?{???ݣ?????/????#?+A???,??S?????i܋*??鸼??O??N???????A???ķ???????zI?????_???Q??;??{]??9?|D?y???4?G??jc?f?N?#7~k?JX???????r??]s??·?h??????^????+???^????Vyw/CxS???w??Yhq??pC??M???yx?7?܄?5?,????\'Ÿ]~ga??A??4MY?\nv{??}/??5PV?fCܚ?r??w??[\nx?x?Z}???V[uR?>???p~?_???\'Exg4??|???# ??c|??>?~?^?λS|Ԏ????|?71?\"?|k?R??????G|ȝ?~ݣ??\\WNw7?o??? [????|S??x_?̒z<ޔ??6?+觏?0?????"Vޡ.uKiA\Z?r???e?T???۾????[?Cp{A~!?H??X?D=?G??PO???|????yh?????b????~??\n??x?;?k?&?6??????>??|?}?????н?}k??w!???\0??M?Ȼ??:zX??D?(?Z?%???k.N???W???????r??vN??????9??S?o?ђ*~?%z???%	L?;1?E?v\Z?u2??w???o\\?)??????]??t??p?/+?ͽk??}W?+????"??????.??뗆??5??\"?3??!p??????\'????ת_???{????#sC??ۃ{???ܛ?C??%?%???󟩲??j?5?LQ???????2?߀?K?Ppc@?????r?`˫???~.+??????_??^??o?/?????T;~9?zq?Y\"?h???????>????V?????_??,m??%?t???@?W????h????\"o???ʗ*???Ha?????^??0??|?_|v)d?KҾ?e???????x=?n?????]??????B@??]?\Za?/?~7?M???@?9?@????v??/?|w?????K?SL?j??Te?%XV?a)?????柗???>?%I????????a?P\nE`?H?Za.???????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:00c33b61d89717aeeb575bb93e19d53f','e?͒?8??]>?fz ?@????jJ??;k?0٭}??\r?Iq?>K???J?sR?az?s??????q>???T?UɁq%?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???Y.??E8*9H2???????(????T?d?l??ҕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr?]?!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z?????????????َ?v$ߑ?;R?eG???Q?????>????????\"X?vX1͛?e?,?2?yq?:?????A<?˟???S????>???&u^ϗ??R??5<\r&??0????;????rD?,??6>(9xy???5??+i?Ҹ_?S??????ks~?j??[??????$<?s*???X?^חӋȳ?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:03aecd5c45f423fd13b509331016c418','e?K??0??+v|?݆GH???z?G??;?Mh??l K???Y??B?29?????????F??????FcR9V???p8??GV2?5????V??\'??JEõ솦A?B!=?\'\Z-*ŕ?]?a?2y????i?JW/?jc??nZ?\"(®`Hك?@aM???I??`????;?\ZTH????j??3	???\r}v?UC~??٠;mFMeh???ET??5?Ϥ?((?ʚ?????PW?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??S?_?m??T??\?t-?\?;?C?5P??D;f??????с?,??_???2???I5%3?`CW?~JW?5#?$Ps?? ??????N2?W)??????0??*6??QoH?C?K4j?ʷ?ޅ!t???%?J^q?AT\'D=?<\n1n?'??????{XHɩvي????}==?x?h????O?????S?zs???Q-M\n]???????hy?7?g??????5(?\"??o?C?\r9n?C???u?\r;??lO??}|}]??`?a??6KEZ?NQT??<;??)G??????l?b?E???Z?p<?,xQ?ҬJ???2@#?????????۱U?wJ???~z?{?[?LZ?4?O???\\?ϒ?.3??^*k?hǖ4??޾??2/? ????d?βd?<ONϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:07d037e4fad06198b698560136c254e7','e?͒?0??;>?\'?I`ߡ?;??\0/?m?v??rd??>K???LOǤd??28?/???š??ޣ??T??Ɏqg:	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V???6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX??~?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W쎼?Đ~\rԻ\n(??p#?8*?2??????)????T?d?l??ӕk?)	????!??ӁLA??\n?ν᫳Q1? w??ͮ4~???P????????wa??\'gɡ?W?k?Q,?B?[??	??u??p?Fr?]?\"???g_O??2???䰅??èn?ū?\?hTK?BW?`%???wL?n\Z????????w????d?!ن6$ߐ㆜6?ņ??m?N?a?۸?????????a,{;???f`U?e?????f?,???C??I???6wj1???????\n,?\"i???????\"??+4???^?C?Ͳ??[Ex?????g?;??Ϥ?????ݗ??,?2??????vlI3I?˛+erIv?\r\"9?Ź:???ّ????}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:090e44a7bdcec21a61b72913f07df752','e???0????N?q?l?=????"P?+	S?????????j?Xl?T?~|,?g}vB+?l????+?HˊhǸ??#?*p?nVa\r?t???k????)???CӠua%?;\'jU??K????E?bE|\'keDӺ???ԽP??4xA?PUf}?dw\nk????RX7_x??Uu??1?@??@Hcz?ůV4??\r???`?Z5?I?\r?SzTT?VT?\n^:?3Z???^\Z?T?X???c??<?zpmP	.?b??c????x???UJ\n?ī???[??4-B%T3??58jU3W솜>??~\rԻ(??^??ls??dt +?=z??v??+?GRM?\"ߕ??Еm?H)U?8????}\nS?=???????;?g-C?^??]h??7$??t??j9E?ry??KOΒE).8????7??D?@?=,ď????????}=?R;{o??~N??????S?z}???Q.M??????	?hy???Å\Z?]?dC??n?C?\r???\r??-?oÎ?q????___???\"X??_1????$?Sr?(=fQG\0?%???????ܩ??geT??qĳ\Z?c?!M?c?Ϫ̛?K\r4???^?C??ue;?????˷ǰg;????m????q?}]z??9?T?Ҏ-h&i?=}?"-?S?i\nyYq?Y\\?)?Q^?!y???^?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:106f9190b57ad44ca8f3d70874a98e10','e?K??0??+2>???ް???wfG??;?Mh??l K???Y??B?<=?????sh7??????o?lA*?d͸	?3?xd9XB?<# ?hu?zB:(T4?ˮ?*t>\"ғ?p?ѢP\\I?????+??t???66?͠??!???=???=?<??t~??=jq??3?A??@Lcx??NV?`,?Y׶`?ZU?I?u?Ѧ??Z\n?YD? ]?[??H*??R/?ip??lC??ue?f??<?Z?T?.?b??}???6x???UJI݌$???{??5???\ZJv??K??+vG?\bH?:????p#?8*?2:?????8?ѕ5=?n?!?????+W??R?9?C??B\nC??v????{?g?b?An$?]i??7$???\Z5D?ry?:KO??C%?8???X????D??=L$???݌???}==?x?h???~N?????S?Zs??^MM\n]?????^3??\'y?????A?????d? ?9.?A??-H?,??v??;]?N?????:-n???Ê?9l&	?I?d?P?q<?vw*?m???ol?dR\n?)?S҄}!N????QpLh}a0?h?????C?Ͳ??5?Ex????*???|EZ?4??o?/W???e:Z??y)??f????y??͒???8?;qJΧ=dgL?շ?\'??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:129c9a03e4bc85c512434f0f4ff83979','e?͒?8??S>e??	?\rͼCN{LUJ???&?[???????Y????U\\?????dѼ?Z????????????N?k(??CV?[??cD?%??j???????=9????\\\n>lz??U񓬕]??J;юBi??\rABӘ?;??(???8?a??r~;T??1?@?ԟ@Hcy??Vt??\r???`?Zu?I?MjPzVT?^4?\n^??3Z???^=?1?X?ԕ?>&Ky,???\\>????Js?>?ݨRR?a%^?>l??i???P??+?\?+??\r9}\r!?=Q??D?3??;??(??\'+?#z??v??+?gRM?\"ߕ??Е?L)5?8?C??^}\nK?=Y?????Ɲ滳?!@/???4~??????\\?r=?ܺ0????dQ??5ꄨ?!??\rB??Ѿc+??|?r?]?#???V_/ϼ?>?*???????????Q?oh??&????]???4?y??ʙ	?A̪?ݑ???$???R?@???Q????1????????????k???0+??mY?Iў/E?\'Q]$E]??????S?	??J/?l??@m???eEv&?R???u?????rD??ى?"?9xy???5??+iuB?#???s?*???ksy?j??[????a?????@?bV???di?mֶez).?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:237564cb18dfc55744840c7e96e6a156','?m{۸???\nYqE1?dˉ?"??????7M???_??dƔ?%)?T??f?R??????f??`0\0`?????}rӉ?`?N4??¦y???9K????}d?~Y?F??Gɴ????????O??y:??s\'e?8Ys?????b?\r??????}??/o߿?;??Ǐ׆\0?n?^?h????????ۿ?6???͗???u?b|uш???t??????m:??K??+glQ??z?U???\"?W????e?[F??^????\\?Nx???????2???? ?ӄ?<?9믮???w?Fn#?<gn???E??y\ZMǝQ?L?3?I??????!Xց?Ck?e?`??\r4\'??????????h??xu_s?1t????\"??\Z?D??o?????&?o??u2,?$O??????\"`Ӣ?Z??gd?N?c??????x[????˕sAR`Þ???CG<8=?&?!????B????pIr?JCót?L?	??d?)	:???dT??mߙC]G?8w???b??H????????gt:??=B? ?\Z\r???????Y???'Ǽ˸\\φA??2ki??????{\'c?I4aMz??Ud?????XVW\Z+\"Y\0?,Y??@?\n0?K?4Q???C@?DGs?????a2	?????%2<??03??EL??\Z?&??L*?)????`?~??8?̒)?"7n????lz?L??<?K?w:ʼ?$ʿ???e???@???@\'????P?I?\Z?{????_????-??U&M{\Z??핤烌7ڞ?????>u????ؐ??U?f????W`?HfЃ?څIpŎ?8fY4??k?n?A/`h?a????M#ex1}?.?u?+?~???`<??8?qܴٙC\r??!?\'??&\Z?|?A?wH?????2??f?tEwN??Ҽ?!ZOŋ?YL??!??M????)??g?i4T??????m?\\Ȥރ?v?\Z5?5^????f?\Z+L?9t_?f?kr?}?m,Ҭ\r?Ԏ??AĂ?Z??|?????%??4???$ˠ?#??????ng???Cdo??-??򗐢 ͌\rTW]??<v?????J-?~?<fA???B??????????E7+t??*+ٱ{};???*??U̗`??(??????l?X?|)\ZרkA?LK~?????;?+??????d?????hA?;??2[???i??\0eV???c4?ScjûǸ۠}? ?)?Aӧ,m?\"?	pd?^lɱ?!?_1UfԲ?????H??/???i?L?+BI??.?obq/\0??@?bPR???#7s?ij?G?\Z?3-w?????M?6jqo??p6WxkM?M???΅??Κ??t???4?GK???k?J?F?	깁???????????x??Ʋ~|??ry???e?????(?!?-?j?A\0r??OZe???5????7S?v?m!?a???\nW?HdG??P?L?????~???4\Z??4?l?j!V߯Wj? $?????ڤ?????X3?rΓ e@V??<\r\0Zl??P?Ђq?Ce??-=?3:????F\n?????0?n?ӈ+??)??n???/?%\'4{f?qh??QI?t2ԏ/????i?????jf??H!,?ù?ӿ??x?n????H?d?j9?ڧ(ˢ?i?ۢ???^????U?j???#??ԝFQ????c?tyڣ4hn??_??	??3??|???e????;?yl\"0?????}]?F??????R??d??9?????>?\"???	?3???Q????BlE$????&-?L?j?i?ܖ??p?G6J???Q?y?+?HZ??c??f6?L#???y?????	T?~=??&? ?at?Fb?@??\r)??uM?&֭??~????i?????K??_f9?Zɕ??R??,m?6???EW??q\\??Uf1?? ??2_ՠ?l?&S?Z?hGY??\r	?z6?\\???????t%??s՞]???e?\r?\0??3????fY????ދ?}6??e?7|:????^O????x?lZ??5???$? ?{u[?????\0?o??eY0fo??6:4?F??CTny????@U?߲?@$?`??\\y??h\n\"?ѹ??????B??/??"?f\'??ɚ?=???u??y?=)???h8|t˚Mٍ???k??֌B_@2?1u???<?;?@%sV?5?/QdҾ??a??˒,?*??n??it8?µ>I???:???M`??\0???a?\"???2???X???:?Q\0Ly???dZ?????????8Ȋ#P??vf?k?N??b\nL??"??KC?\"??H??a??????\\????????2;l2??6?(?ÈЩ<<A?wx??*4???kZ?b|??u\r?%O\Z?x????#????'GR??7??٪2????w?٪w?6YL?f4?٤v??LAz{?H?@?I?wg??,??k?????n???\'i?(??G????@????j?\n?P<???$9???????y;???¦3?i\rMLZ?i???pL|1?1?/??~?4\ZO^>??p0x?????>?I??pV???|d???.?Pt?C?ata??:????(B?z_??#?ގ$8?Da-9???3?????")????}y????zv?X5??q??????;??g;???????|?$S1??7?og???a?C{???,Ԇ?<??ry?	?O???\r˥??{??.?7$?\Ie??o,???#`??\Z??¡ru?$Q???0?`?8J??d??\'?\n?G?0?a?ɂ?m_g?i?Mގ˱?\\??z\Z??\nĐ???\Z?{?S,\\M?Ll?\"?%*)??H?:\\??}c?։,??j?8?T_?؋????Ɍ??[`?HJ3???rm~?N?\F???\"????@??Trܳ????i??lRE9?'\")?JD-\Z???b)eU?~X?f?P5???Mu*?????v?yJ????h5????Ā??LbȽ/??0}h??????c??????@???]b?&?{drB`????\Z?ִ????*?ْA??Z	?<!?$?>?M??J ?Z%]??0\Z??b??U???\rQe??????)?Y???ꉢEQ???9??4???Sc??\Z?T??~06?xo:???%GS?E??`?!#_?}?`?\"??P??e?%??h?z@?@?/?L??Ъ??䣢8tcc???U?'x???ֹA?v?o?????GӫL??u??f\Z??qe??F%̧<I99?dL?>?ry??gB\r?{v?|xv???>??????˓$ΣY;`\Z+?n95???1?1$%?BD???N?UA??\0??0UQS=?r䔍?]0@L??7???V?,M???Vl\ZeaX??hJ?ڜn?Q?ŝ?J?MA\"?h??????Ü	??y???nՄyE????v?PL\'????=ț??-?3?????\r?l?S??y? ???\'a?I?\0}Y???5?ʋ?L?E!?a??????\'??{???c????????0?4E???X?\"P}?j????n?B??G?q?r?^??$H????k???+\n???.rq???,??m?tsz+?ܘvqbr???T??5?G7??a?GF?˳9?zR=???{?\\???:????E?`i?dJ?bJ-???t%,o?0?<A|B\'?G?/???? :???)?[*?/n4?S???;?=FV?????(K9hʨ?`Ec-옊??Oc?ݶs???6??4??	??-??k?f?ꩧԊfF?VQc?&hU@,?U??[??U<?N??p?2?隸5??4??j???:G???3Z??????Θ???RT??>S???Q??W?-~rŦ|????k&*??(\0!;??^???Ț??K?EU??_Z<???\\??Z???i4Ñm\n?\n??^Nϟ?z?^O???y?#?^?\\??y???jk?b?y4??c?{(AWűF)ot?۪??!Z|??$??(a??\"␰??f?<????gPp?e??M7????\'?Q?yOvZf3??????:?m1?db?'?\'?[??6?{????&< 3??J	???N\"???T+?=V????}???v?2?{?0`?:\Z????????r???tM??,??????n?{?x3L`]?ւZ6?$g??x??iPA????I?Ŝ?1??6?r??ĵ0?\"??\ZW?94?\0?\"Ἲ???A\r?N??l=Ë?uۼ??D ?e????????MH΀|?????FC?#?|?D?S\\?4?Cuc??FQ??-\Zm+?O9?Rxf??t????\Z???&???tz?]?(s??????a50?(ܐ,/???Px*=/??-?TQ??????_???g)????<??n.??5Ͳ_??6?g?<??jwϵKF?y3%N?/Oo?+C?Q?4S???sP???\\%r+߿?O??tyJp??\r*\n???}??Y?c\0sj??F?~?X@N???>??8??,6?B??0?{LP???-??1y)????h(???r??G*?f?ް?a?Z?t7,h?\Zz?Md???\'?1???)??t??ަ??????}\n??W??F????Ϟ?xy????????????_O~?????&???U<?&??,?_???/???!???Q?\0\0=?8?N??,Yn???a˧}b<??Ww?\n?5œ????4?t`??Z?&ӻI2?W???H7?\\???^??&?C?0?;?>x?R5?<@?poSl8iDsGt?4?l?N1???????qq???ݥ{;???ՎJ?%???Z?U??J?A&?-??(?HW?*????YU}?????K???yxŌE?+v?\n}?\n?GF?=????7???\'??\nt«E?%??amUx1=Z???Qu??(Ͱ??\n???4?????R)*???,??#?߾c????$?n?A???*?J0?g???n_TAl_?\Z?џ????5????%?6pq?%Mn??\0?fD:?m;5??ג??P+??g?[?_!????e?\";wE??f?????mH|5&Ƀ?r=u!??>?V?z???},PĆ?L&??????㱌??ׂVTN\n?3?8?ߤ?-?8-!???g?܃4?cC?V??\\?F??:??u\Z\"???8L???B??ӗh\Z?hhf?Lsz{???ۊf?M????Q?2?r?qdf??\\????I??????n??}\'???v??@?i?????N??߂Q???ێ^?/\n?G㐽??B??h?8	B??k?\\?? ??[.L??N4;Y`#FA\Z?p??_?^?>?vO]?*^??]???8@u??F:C \\%S?	????A?Z%?????	2?\Z?&??\Z???q?l7????P?P??b??@?x??t?61????n?P0b>R????ᱼh?\0 ???O!߯ibۘgX??b??????FC?T)?1??? ??/rs?Y??̌q????V:\r?zruͬ}Unu*?ťx?B??(?+O?Ua?\?n?W?;?-`?'?/??Ȭ\n{?HD\'\rn??)}b *>?:)?nT4*n*C4?/???2??{?O{n??5y?+??/??<?L?/J{??Bak?X#3??y???!????=9´?????u??~M??????ѿ???.???u ?\\nZVWl?E?r??9-?M???K?<uH[???&4\r??1^?Wk?T^Si?g?9tj\n?@ţ??K????zC?.?bh??,\n?A?f?c?z????rE?????\n?7w\'<???:?Xt3??d?(e8???0?c?????$?(˥M??q`UI?ʎ?ix?va?4??Ug\Z?Q?G_U?ֹ?56??F;??dY?J?O>/?O???О?6??Ͼ?Y<?bV?)X???D??[?F3?????P?↨R/+tCl????	?z??ǧ????ӑQ??.tR?y?k\0\\??<?s6?LԗI?1Q?f?+?ܚ?T??-nb???X???jK????\r????6?s?\n?????b???gx???Pf.?C\rP]D??׌?????????`?LM?k??YL/?v???G,vn J???????te*.\\??D???-??Z!R$??Ѭp{?p?H?ې?T?Ҽ%??A:??\0)??4g???\r.z??sp^?\\??x`??gW.%BO???\0F????v/???Q?P?۟BJK?S?{=O\\????#?J?.??n??5H?4B?A??r\"??q???6??ȢS??0Ha.M?xBl<e?<?Կ????E?#3?^\r?Z?g1E??0M??x?ZƂ4???C?	X?D?|sj?G????S?(???k?3?⍏j??!??H~o} ??ir?t-?R?I/???&??:Z?D	h??1*??????_??\n?Zn??Ps????%??u?????????u-????H?n? ?PM??E????D##aê???e???%^@????S??-??Yw#??FCu??Y???ѐO???????ս?\0u?j?z?0.??q?RMD?"?g?*J\"`?E???N[?9U?$e?'MO?-~?????????a????<i[}?jG?????\n\"?R\r?oٰ????[??ל??H?u?r??<7?r?????C~&?\"??{???i$?iuPͤ)?[?旇??b<\n^??????N?Ad??~?\'?gq$?d??x??\"?K?A??{??v????ڻ???w?\\?W??ޓ????4@սN>}<?`X?J>??;-t1???Y?Ц?????aળ?\0???O???u?~*?Z??s?????p??$?&8???9?0}?z?ۅ?ON????????u?-y??w>_???;?\0????O????~??!??????I???x?2??p?????DZ???s??Tg???\r?؞=Ll??m???\"?^???BT?]???%???z?[??@=j?ڣ??\n?N???O??M?{޳???K\'h^?b?N????????>????z?z?ks:?1?'??]????1??1q,#Ü?!????Y?)?mβ??/z??݉?c?؀-???b??k?8?k?V??}\0g???{?]????j??|?X+?:XU?\"\Z???h??C?9-???????r?t?ge??m`-?ံ? ?~{??@kmO\nc???J|?6cV?H??M???l???????h\\???????ג?>?ώr ??f!\nΧ???????(L?,??$t?/t?gG?:\'?X?&y???????}?v??<GE?\r???>\\?P??3\n>??)Ii?F|?&????f????m5?rqZx??Ms}??Қvgv	?ݓY?c???\?R7?BuˡC???\"???FS?A???JQ???0\ry?????????,P~ye?d(??҉?*??MH=}o?[??ϐɺuAF???????\'?t???o;	???@^\"BZw<?V<_{ј????#?????\\ܽ?n??\'5o??K-?A߉k?\n\Z?k\'34O?9?c?+ަB1G5~!I?z?꛱\\?Áz:?<?05?E?R?????*$??Ɠ:?\n&1??Hvo?77m\\j?]4:?WE?\Z?\'??/?ǲub~?M??[??J2?p?,{^Rl???Q????,ӕ???֚N???Dt????¥y??-葿?\n?\Z`j)?y[Z	?[?$?)qY??矅?????ޞ?-??|??#Ex?NSJ???ʺ???????q??%?ť??&???a?Ljo\r=?AMc???Do?We??P?}?JPֈ? ̜??u????!?hC3??}???n??# Ub?Ҷ???+??\0?%?9j??????\'?σ(??Y???؟?8ȓ?bَ?<??F?%%ec^%?.??І5%?ٽ??%?2b???:?~?+?dy?_L???x?W TZ?AyxW)????.(?ޗ\\??2SƳa?凥\r$%?-Ͳ?????#&.e !!??A?VoU?#??E???u????Ƞ?m??\Z?0įު`h\'???Ѿ?+??O?q?>??l?xx??d??t?@??o.d?????7`Bn	?b??~a?/d???3????^???YdM?T??;?v??H???,???m?\n?xP?]z????z????ֺv5eU?@?Bz6?P+???V?lM?ʌ(Ef?nm?;?"VkR]ou\n??????Ef[|}???????N:;]??????a?>F?r???4Ł???:?w-???<Ȕ??xL?C??\ZD.ፀ?ʅ]??0???/b\Zq??Q?ڦ4b?????c?1A?|?r?qt$DMĀ?\"?G?E<4L?kN??F??È?o?u??u???)???\Z??<7???,]_?51[???z^X?/p?\'NK????yaX????rr>k(????~Q\Z*D??????????!ue????^?$W????\\\n???r1?\nhS\'w????3?Vҏu??ׯU_???&??G??C??????q\'?L?1q????G5??\Z?a??nY??7ɍQ?	>_OP?j??%E????-R?????!??x????N6\Z?5?E?<?moC?k????=????\n?S!Zp??yc?7e7\'ry????_?iQ???4?W?\r??\n?JU?&?:???MH?˥??w?FW\Z?\Z\0Y??w_-/C?? ??Y?1/????@ǿ+B?&7??f?????ο?S??$?:O?ժ?Fvteݩ{?q??x(C?2??ةc??P??? M?4??SD0ت?]Zn??e??*?Lf??}3??@֫?q??c?#n?@??η?????N????U???5?????q?ʚw7\Z?۞Q?Z?<?@??ޗ˵3??*?tE????=?u?jM?pO????f??C{?_y???????{y?r\r?D??x????6?\n?7VmL?]{+??????!??Z?#q??\"?\'~)`?p?hk??v???\0ޑ!??E^?a#\Z?b???%????????#??}_+??w|o???$??.???aV??kM?Q?,ݡ\0ERP\\?N???O?$???R??Z~B??o·m????T?V+??\\?Q????\"??,6\Z?\"????????a9??2?ˮ?\I?ThΫ???_??????f?o???w???ݸ?]s89??؇?7??}u?C???gl?O)p?Zc??a?KSX?9?j??5L???1?a????4?2?u7?/?x???n?T?A?\\e(?n{AYhatIK|\"?.q`@??N`>?????r=UeqE???T??h??2>??۔?;?n?O nˀaE?Y\nj?؋6??d	iL?4?J?cKE$_??8d.2??ۘ?hG5B?\?\Z?.~???r?ݾ??B???hFח?f语nr`LwP?h??????{t	̙??9?\rp&?˹????}?c<Jlnc\Zā!???\"???0?????Aŉ??&?cL??j9???*#?#?@3???:?Qv?Zk?`???s*@\\@Z??D$@78??}??!\n???N;?7O?}G\n?.???pj???v??0??C?????W?a?t.\"]?R???$??\0?p???	}:<?%?^X!q?y?_DJtMX2?.????=Næ1n?Xը*?j?M+????????C???\\Z?͓?(???B?g??0E????U????TJ????pri????	`?kY9}?\n?]???l??24 ?&D??NF2?7V?5m?=H???mű??????0#^?`Ĕ-H?DX???? ?5??z???\r??%Z?V??z-?-w	v?U![???	\'3??\\F٦?u?vtʢ?NK)j7?\\??JX??@?j??\Z\ra?A????-46w8?D\\{Ҳ?n?\Zŏw?\0???ŜV?)!?K????en?e????????Uo,??u??u??KN?X?t?ovd??????2ZV?[???$?o@?~;??????w?^??X?J?v?@???V????|?ٸ????~?$$??Y?5<??\r?4?y?Q?(?R???GUaVb??!Cc????D?}?r)?????a^=??????\0:??#?Vj)?{????uZ???Q??}?A?uG\Z׬?T?2??=FQuP?(???Qy&?\"V1ՕNFTLT????a칦f?\0??Fms?]]j??w}9???I\n\'9??ּ4\Z??\Zw-;?̾C!????????6?{ٱ??(o䉓?X?N??S:[j?K?P:lX$??"\"???????xR???u}\'??i1???O??䢡??7???2I???x?%?\Z9\n%?s_>??N?C??qi?4???wgy?^ر?T????h???NF?oŒ ?n???N?(f?%?o??M??U\0_;???g/*???\0???wB?s?2?YAgѹH?Vyz)t3? ???wa???:?0?ຜ?M?wl????O?$6???\n,?89?c??d???1٫??????FJ8a?\'??cpk?Z?<????F??M?TI?2:?U??/???R??s<?W?V?Q?V?;???GčW?^}?????-\"n??4?1L?}\r?ࡈ_?wU?^????E?6?z950?\n?J?l?y??3???IpŎu\n???sx??X???g????n??e?6?²\n?&??^kQ?????????@=?G6ca??ϥ?????>GK_`??????4???r????ڿ???<?x?4t_G???_<???????{?xw??o','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:25e24889752edfe66172de08791bf739','?Z???=<???(Hq?F@?V?;??j?\'ep?ԥ/?????????\Z?Dw?w.>>>>Ǳ???????q?I2??8?_???$???$B??J??x3$I??????8?a?/??ߧ???2$?\"?D4?????r,3????\n|?oI?A??&$?mZ??\r}??$:N?Z?(]S$??0???#\"$???? ;????sG??~`???N?*-??i]???G??h/g??Q?L`n᤻??È?,O???å?LQ???J???D???Emk?=?D?؇y??ac?{ ?????? f0?IFY?????D#??t?(	?????=??H,????Y 2?)%? ??+0M(??7x??/$~??HNl2V\Z0???[??????zBByF???@S???:?#?F\n????ڄ2?V?$?kL?&	{$v???h??S?s}0<O??P^L[P?:y??>?DJ???_???>1=1?)???R?|<a4?D?\Z?0?\Z?S?J>?E???U??CgW?I&)???u?Ȣk䵮??D??;??e?|??ZS????-A?????t??(?N?lF?˶?3؎??1??2ؙmC?	8?\"4n?m?5}?ngi?b???X??of4?$??)?`?r?l?[}??>?|?ҝv????~?,n?\ZgR??HS??h?o? %?F???/?%U?\Z???o8?\0(?4??(???ҒF}??a??_?cjɜ?????\\X??i?\"???"? ?P???`????ʔ????;4>???t?M ?|Nj??\'?\"?x?,??g????H?\r??YY-U}o?S\\\'2???????G^?-Q?Êa??i?N%?h%?????;???yt?RuIǕ??+??«?4K?????K???E????-$k?f??_p?N?ΐ??%k3hw????7??<r?4?[$?*C??V?!??????a/R???I\n?؀a3?׶m\n?(c)غ˜??I`???<???F?fP)??x̦??z??8?a?	??t???C??????tA|?[?????\'YU??Ld;L???????B?ؿY??k2????g???8\r????-???	a???9$+?\"[Xؘ??{?_S???R垶?\0M?(????Q??V???Z?c?j/?-?S?F(|?????d???m?_??3?\"?\\???70?????9??Px?E????\r?\0????\\??r????o9Չ?Ϩ?7)ӻ;?n?>????a???Q?,?`^?%?	?U;I???Ef?#B%?????b???\Z?8?I.%C???ħ?ט?????I?=??(c?T??K??/?Н??x????NP\"?\0=tJ?:???>?O!?4V?67?"?8?,??U?jׁ??|?M????c?3@?E??:ܡ{0???G\'W????V]?q\"???p?2*_A??\Z??????N~A??H??p?9????y???~ј?:F??b~??E??y\'N%???S0_f?aӲ7 ~?|??¸?41zT9*?|#?6??D#?q?IW?ot5V??$\r?r?? _p?\n ???$*???\}?OD????OR?8?"cg?=?????????RwÅ??nnwU????A??O\rQѼ8??ڮZ?A??蘟?C?;w[?M?=xI$?*?U?	;?F??J???B]5?+???7w?K`5??TtH-\ZK 5?3pވ????O?YY?4?E??k?{#p??ކS?)\')?=W}???F??:d(?f?v??\Z???????ٯc?wPk5`?\'--??f?0t\0????? ?ʢ??So7??>?????y\\V?	???m?	+?????s??\'????yN??.P?????KPYmZ?zX??????E(v?A?V?^Yr?ij????\r?-\n??v??m??(WnK:???#???4??M???f??hKVg(??I=?\"??La?UA??	??X??]????R???N`?Z=?,???y??<??K(?eϹ.n??*?FR^?0Tu?^??Bi?t?]+?????K?ȬD???fUG;WP??yۈ??|?q?b?2?7??%??K???홐???h?L?ec????gH?%]?)?o???׏>?p?~?km}?cB?3???9w??rZ???ğtzx??h??J䏱(?`?qlrￍ??,??cÿ?Rv?6\\tMM?<??ݺm??G??S?a?????4???l????W?[]2??2??Û?b?\\	?1IH??ގ7???????B?????u?????7W???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:26824a89365a40f4af7e018abc19d2da','}?]k?????\nF?Ӕ]9v??? ?Dc?R?)????\"c?!o???<c?ӣ?\rwJ7d??:0Ѱ]???C?<?c~?&iq?R5?$?yIJy?xy7az?դ56>T??*\\W`-I??6????H[?6?r%?ʑ??N??ۻ?AB?\r???????A\Z?u??????44?pHN?-U??@?? ?8T??\n??Tb?"?f???(?۹\r3h???:?T?G?\Z%????e?e?????C>?9??Ζ?峕?D??.~\0','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:33fbe08d8bca9e216a1aea51583b75b8','e?͒?0??;>?\'?Haߡ?;??\0/?m?v??rd??>K???L?R?~|?s?h?????h?*?dǸ	??N<??	?aP??um??E=!T*\Z?e74\r:\n???8	?Q)?$?zy?????M???Y?R??A?vC?Tw\nk????J:?_????_ܙՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?.??&\rEA?W?8??!V????߱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J?c???m?J????de???΍?Ate??{2s6t%???f??j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9?[??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?ߐlCrܐӆ?Rl?C???Q?۰??6?????eq????V?i3?4+?\"MI?LO??$G??,?\'?:??`s??,?Qd?=?-r.???TŉN?d~[?q?~??B?h?ō?*?%OO_?=???&?F\Z????a?\??gI_?hmN/??T?cK?IZo_?\y(???0)DQq8?=A\n?XdU~???_??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:348d81b4e6b9ce1be489aad379bca790','e???0????N?qcl???cf2?????\\I????{W<ܴ?vW???$;n?rϽC?l?\Z??/?\Z?H???n???\0??`+?dU??QOH???K?u???Bz2?N4Z??+???C?Er\'me???6^V??F??xAP ?]???՞??Z?G>?獒???-n7f5????i?U???z??#?????\")?^????H?1???3xk9?HMQP?-?u?]?U???????@??*?\\??q??_Іop>}?J)?ۉ?x{K]?]??AR??Ts??ѕ?S?țs?O?+?=l???d?????$?YY?x??se]Y3???\r]??;?r?(%???}?9?0v:?1h?Ja߸7|q6*?R?مƏzC???*?QcT?!??.???$9T?\r?:!?Q?ap???O????L???K$?????ƻ{?@????????xՙ?\r\rjnR???????)?O??W?-+??$??@?٭H?\"?9??E???"???\'밓u?:?????yq???V?q30<VP?H??.??Kq????,=d??ԩ?OOY??????┋???y0??hğ???=????#?eqe?????˷Ǹg[???UK?;?????}]???9?TTRю-h&i?=}?b_??\\???y☔??\0\"?%?????^?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:367a241af1f4afa64f72592309c0e707','?{۶??????%???0?n???>??۞????L?:$????I??w???\"03?0\0???_=lL??i?㼟Lfi<??eg???~??-??yy??ͧ?2ɦ?M???U?C?[????<?????gi4?;[?G???{???G????o߿?uxO?x?-\0?n?>?hO??b????ჵI&I??cl?Ϧ?+??.9?a8?????R?????a?x?p?E|ט0??P$?HÅ?ѿ?ogy\\?ۘ؉???\"????????8V????o????~M?????WQ?醛V#w???(???????????l??QL??8?0ݮ??oD?qjw??m|????愖?;?m???<??G???????&?ˇ???aڽ?o?;?,?V ??H??E????#Į6????r???#?j?q????`Ӓ??q??ʈ?e??ǥ????kD????w$?x<Py}I???lG\n\Z?(\n????˲?n44?eZe\ZM?1??R???Y???(c=?P׳d\n??w?????"??????r???ao?{??@?@?ۊ?*z??8??+Y?2???w??l??Tf)-?!?|?~@??????ǹ|???Ov?=y??????ƊHV@!KU{h$Х,????M????\\??D}h?M?d?q??$???Yģyn??_???6???)%:$?B/??#0N???m6?eS?6n??@6.3`????O?w??D?????b?J?[?X??4);??:??&?0y-j??]?P?&?Ze????\"=?-?Ѷ??c?Թ? ??b??\Z5???<???\Z?z??H?0?.??F?\"9M?<?\\?A?`?ጯ?8\Z]t?<???s?oZ?t??T??4\Z???ߦ???2ОB??b0?'?n????????\\,#;?O?,2S??? ??`s???ɴ(?i??̣Ժ??(y???@o???)????v??I?q?=j?W2Z\\??#??a?\Zk?MK?^?l???]?\Z????I???w?7?6?}S?M?w??Ӭ???q?~Qf??`??ϠW?8\'??r???M?R4????ꂠ[M???_K????&?K?(??\n?\0?Q?qIXDƢ?z??\Z+?{}o?R???~??%j\06?$u5?[?7\'_H?u?????o????tg?ae>L????X?6?~\\\r???/Uf???6mv????_?K??21???0?1?\r?'?J??Y4C?V?\"2??\0G???k??Æ?rL-?1???̐?t*?\"*\Z]??bYJO??z?6{???j(???P:?U???nN?<??????dF???]R???U?kl????Kjl;?\ru?d???8k??9?4?#TT?ծ+s??ζ?g?4?,JPύ<??$???????6o??IMk?K???MmG.???njJ?Þbt`?8t0W??n?9?T???uwΜ毓??7???\r?KugM??V\"?M#tc???"????6޼ފ?\Z??u?0?\0B?V?????@H?Oy<??????x??5?N??S?Z???\0?{??6?҄??j??o??9??M??4R??!???3VRc[.?????????%\'4???3?Z?4?????????l??0Cn1D???RE???`9Wn???뎬<`??N????\rZ?'E?L?L+_?FXn?az??j3?1????8?Dؙ~Pw:K?)?~?)5]?(\r?;h???1????Z???#v??`0??g?u3X??ͧ???????d??GKQ&;??g9F??????\Z>*???S???â?????c?-cj?0ԫM??????0x?O5J?X??s??HY?Yic{i?f6Ml#???y?%t]????V?z?Շ)LDA`?j???@oĆ?Ѳ&?o??????簴N?cͥ?k?s?L???????.ۙ???????ώ?(M7?sw?fQ9ȓ?т??l?M??wiR?????ѐ@??Gӭ\'?Q4??[???U?y?\'??eovU???(??Ni	&?9?퍊b??????w??g???????????٨?d?????;jP?ﳢ̣|#????\0??????v;⢈?o???6:????????????Um?.z?z?݀?c{???D??????????B??????f?H?3?o?ee?M?py03=??.?Z_ݱf?Z?C#????ކQ?H?A#L?[?I?@??yqU????o?w??%\'dY???a@????y? ??;???`I?m???]x?\r?????,CB????,???5?Vu???vn Y0????=?y???`r??(%6??t?D??hH?Ű@S?z???p??8?W)?Of???\"P9???	B????Th?????p?\"??Z8K?4tq?\Zܟ??????i5?rhd??L??܌?2k}?M?@3?v??_?300l??C??N?m???UdPr?h4<?F?X??F:?_????g???@?x?p?k?4B??Y??+aD???Ǐ!?\0],{??$߹?`?6m???IK4-????c?????G?vF??Wgg??W/ƣ???/??1??c??n?>?`?w?9XO(?a?]Xf*?Ą?vTt????????@oS???Da)9	??;??3??mT`???????????9??:?}?????????ulm? ???6???H??p}=?rt??????a?C{d?x?jC? ?????+?\'???F??\Z?U?UX?wVq????lH????Z?????I??}??T?	?$\nnV0?????*??B????a??dao=4???w?\\t??T?c+X?????ͤn????????ũ?8?R???l?????vh?d??f7????N??\Z????????S\")?od????D?cEW????)G????*?N??x:?%U?3?I%U\"??lͺK-????a5?UB?ǽ?թ?Von?Z?Tm???\r???#;x????P4???/?L?P???9Q˄?K=?&?:?!?ĕ????????;}?l?c???-?????`Q???5Ir?Nǆ.??????wV?Ec??Hl_YU9??1??x~??4?5+????(:%?????????(}?L}??;@o??R?????y??([Pr2??\"??(&_?}?`?!???Ǫe?%??h?z@?@??L??Ҫ??Q<:??????S=e?NcblE_?ChoE?4?E?XL??I???%K?\\x?\\h???6??G^?g?Ma/?????~1ʳ4=????4td;??p????0\'g?o???!??	v?\nf?B?r??A]I?ډ$????O?1????oM??^???,????>%????9??I??K{@?f?p@wj?\r?\Z`????pq@a Z2??#?bwr????q?L?f?c?>??u5?`5*???iWb\Z??X?b?d?΅??j?۰t??m_???*?????[??v]?n??.? )!?:$x䏠??????}???G??Бm?$???ʫ???:6KLgVS?YA?\0?????X??\0~??(M|???.+?>??????0?????24>p??????\"I?0???R?!?T???o????]D.\ZK????,?R????8???????%tn^@?????y?)?MMk?&?;A??!??`0?+c??X?9???b?vu[?#?o??z3??f?C3P?5$J\'R??q??Ʌ_?6F\r?3t?²R?BZ ?7Xk&x??=?eB]H ?Ҕ%?V?cm^~̊???\0eֳ?H?c??aC}???ߤ{?????½fJ?T}?DW??[*??Q?????lEWw%g?q?'[e*???T???_7??N??еUޙE(\Z,??.?@?aݱSo???+O!WB???8a?ȿCs?Yk?????r?ðj?????,A?)3??\n?L~?????I	?2w?.????????	ʲ2LC,/???.?t?Eϛ)????:???Y?????ǟ??t????3?2K?n\\?Q??a??b??|1?????	??????????l6@Wx?4ڧ|C?0I??6P3??L?5L???????b???Zg?i???l?i?B??T?ڤZ[U\\a????\Z?]m4?	???????㎚f^ph{????~PQӠ??#H?8?????/c?,??hGX?v$?~$?? ??????\'Ӥ????R*??)?є??=ȣ?	?qW??(??5?????s?????軔ϘM?C????w(??????????u-W??A?u?A?CPd\Zل?!?/+I???BM@`DP?%??A0??V{?s??K?M\r?QaY?|Z?????ѴTW?]uC?S?va(?G??v\'\'ˣ?VʢH?u[yH偪h?]l]?+?ɭ???a?Z???n??\ZY݇k???\Z)8???r?Zir?j?*?\Z??F???6?????i?<\reԌ:??x?+?RL??Zb_???P??j?b?~ҫO?#,????w??????????FѸB?|????#߲??\\W??L~S???t??E\" ?&??3\rnu9\r???ud_-7?w??\B?????2????v??v??P??)_(????93?;O??\nx????%????(???A??r??????P?????Ͳ; Q?5?[?M.???Z?_Kܿ??i~??|?????M1?\\%?dj?ز\nh6?*?i	?>?rj+???֑???Z2uև)BHFm}?:$?n,? \r^?K˂?k?~???Z???2&??I?,u6N?P.L&???5_y??^???٫\0?Kq?i2??l??6????ac?Y?i?~f??&B?﹭??bܙ??i??J?U???ma??Z??~??(?$\Zy{;O??;?;/|?	????\'[??.?????3?ŏ?W??4?U???{߯???֐\ZG?l:???x??ɉ?A?X?i?6kYjV??9fv?|????w?੻?r?\0?UB??ڬ?nf?G?vv???o՝+j}{%???a`adk%֦?Kl?0?P.ٸ?h???Zw?C????????a?2????w??r?\r??U?T??zI?z???:?n????z????9??K	9??C?U?TA?2,V,?`???o??ޟ??KX?l?*:?G??(R??]?lS?.???e???Y?q3.??YMt ?d?;??0$qr??7????ǟ?s?}G]?&קާua]8?/??5ex??????A?M?C??Q???b??Ŗ???<?Ww???I????1?>|???Zt?cp?{????1???>??(TfYz\Z?=?_??ߞ??j;8<???????\nP6/.:??-(????7???$?????x?̂2:?qO?[??#(h5?????`#?\0??t<&????k??O???A????(-?H???L?)???????-?U?~?\ZU??W?D?gUͬ\Z?? 	A?c??q?a%B?fD???[??;Z??Jr?h^??aJ?.c?U??Y?-\Z?IY\r0A???ܯck^ ;??k>k???????T(]??o???????6d?v̚o_???*?Q?⨯Uo??_??o???F}[i*?????nh???Q??Qw?l@>?&??X??}???r113\Z???x??ƱO??$k7?????0????W?Xf3???Y\n??p?"???<юv[?j?uYw?????k?ap5??k8??S.?-???V???G?-\nc?_?\Z???n??b??.	?\\?y?z???\"3?ho?$^\Z??_Y͌??>\n?&8*@hy???????\Z????h?yf	??????.\\i???\r??r/?????N?O9IezˮGH4?=?QЖj??d?xs?{??1?\\?\r?>?Me2덢?????f?#?D?\\D/e4U??x??\nX@2=o??jj:NۍrTX+???\rsQN????????j???? AݦҔv?#?e?U?4??(M4? ??䜴ڻ>????f??_h??KDCN???׉?\0??&yț?IJ=?b??]v?֜r?@Zv`?Z??9??\Zd/??P?????xv\08? m9?4?ܟ8\\\\??q ???<*???\\??~]???ji???????\Z?4(*??x\\	???k??a???.??;W?Z??E????ep???A;?tY???"???Y?-???i?ʐ??_1?O??n???^?^?????W??,?V SbSZ0\nFN\n???8y_??#D?:???C??\0?WK??);??s?????p?????dE?n???&HM?ߔ?qmU?????C??C?]?S6b?C(s?????7?kA?k8??Z?h?Y??2(?N????r*90\"??Wt??.-??Y?S???<)???0W?7???????????\n???T??60?ӕ(ae???????<T????*??(\0!;???A????5?4|?A??{??????u?y?]?\'3??o<??Ūz%??????B:(?`̜s???Q9/???#??a?Ad?4??J?C??O??ٹ???V???/b????Y?jU	??0??E	=+ah7???ذ????Vu???8r????pC??O??v;????PEg?/??`;h????\=????J???\Z?C;ۚHk%h?Ql???$?J7)Ik@ڷ?|($n]??j???A????3=?Zx?T????|y?k?g9?}|??\\apoo?	??lE?b?Υej???!?J?&?\"?<O???????V??F?4????\ZA\0?H?l.?5?????==??????n?/?B\"?ZV6??????+j??;c??v?m??\\Nb?v?"?????1???.\r?c??}D?k????)\n?衝\nCrW??t?с???=???e??O\02??A>?????nV??t????u?yO?e\"{?\n?ᎿG?8??;??,?? ??h?rZ????\Z-z3a??sl<Xʰ?̭d?8?O?<?s<?-ވn?1???Oh????ʀ?ZQ:????lc??????GC!?YxxlVT??????i??q????P|y?],N6?PX??????k#Vt+,ؠ?m?Ի?2y??U??$ߵ=K+\\???J?^0=??銋????~?-??n`?%?ZoW????}4S??n?V???0??????????????7o?}??_??????????~?t?/????wt:?I?E?2?L???]????A???!?h.????O?`????!%??Xy?cԁn??Oz?Q\r?t4???ܕT?f?I6/\Z??J\"?s?>?f??\0?a\\]47??x?J3x?A??MX?h??鲡jR?>??@??y??/p,?ݢ??xW?j?%???HE???*Z[??n#?J!1?*?^h?k\rT?ĩ???Z??\r??l-?]Ʒ?n??m|???P??h¸\r????C??<l?~|APV+?ٵ????¨~DR??zg???0???=?&{?:A_;??~?//??In?\rEY???M???:FB?JxB\n?J\r?"N?A\Z???N?)%??PE]?$%I????g????W?:???c??t6\r}?V?D?9??u??p?%ٹK?¨??u????>?]H???Q*??<?Cm,?03???PL????u??k???zG?^G+*???{??/?+Ե?/?+???t9?gp?R?????V??\\?V?t?j????0CC$???k?\n\'?lK!?Z[??n\r&???e0ͳDT8??nɓ(;?????R?\"?u?i_?:??:Ea?a=Δ??ơG\'?=?? d\Z?OkF?o????&?????<?j_!4??C?JJ\Z?\Z?c???u?Ҳ????>]\'S0?6???+=?n?y?????+1Bś???^U<^?ݜs?D&C.?)v?kz??-s?????^?MT????Q?|?nBX?ힿ?#]??H=\"V4,b??D ??e?ԁ]b0&%#ڻ]NC???a^4S/??LL!?w?<z????&?Ɯ??_f.?\'ȬMS?m?5E????t?Rx????\"?'?EL?/ɨ?q??O?t=?\rë?Ԍ??k1[͏??Z!Q`Wũ????dU???\r???aÑ????J?\"?Ee??rߨ?G??b??v?f?ף????j??{Ĉf?e?[??;?޷?/??\'~?????|?v?Q?wt??AWk?fD??^?/???.?O?1m??Ǵ-S??W^6S???C???\"wEH??ZV??"?#?`hf???Iyꐴ??hB??ƧO???ϴ_?v???B!?/??D?????4d??"?K?NL? ??	????(???,????;?+\"??C-\Z?Ɋon??L??xK?-?n}??(m8,?X?V%??z?7??IQ*?ܚ???6?????V98c`?????\"?????0?HRe\rm7?ot\'.1LC?rwl?\0v?y??}?f??ì??|?Ӧg??hcg??gZ?????\Z?{?#??ˉݐ?`??????v?????w??.?????m\0?\'y????????=m????L?-??M???n?{X???e@????CN???P???@????S??l?}?B??̡?.??|?A?s	??I?2?U??S???J?^??g?Х?u? *7G>?F?1>E5?_?C?PU??;?g?@?\Z??i?]J??$????o???\\???ї?\r?t\\R??h?w?W?????؅?X\ZGu??e)q\rǜ?Yp??m??N\r?{Q?\0.??D?tOR??\Z?T}????=Ψr1?r?YaE???P?n?????rr&?2??	?t>?J1?r?L?'>q>?O??V?cn?N)?xFqF?O?>?a^\\??1>P4̀~z?DL???|t??S??????jg?ٰ?)??Id???|?MW?2??????7\"0O\\?&C??+5?:?\ZLyٯ??(?c?????<?׈??Q~???~??jTg??XD??e<q???b?e????$?w??????IH??7?CI??D???K?VF\"aú???U?g?%>	F??ӱ?s??c??vI???m?\0?j4x??I\r?Ch>????o`??I?,?+8{e????Qo8?fֳ?}???XuvIW}?i?,????l?????]O??3S罟????a??? ??N?	??mr6??yK???p??o?a\n?Z?????d?J	???#??]??????????FĒ?~?¦?^cr??O&)?? 8\n^?Y???????\r??M?Ď???N???x?f??󧻻\'/݈z??????_???Qo+??????????\'????6??|????;??p?e??>?S\\?:?w=??\\?>???r\0?9?\0??Ȝ?X9?q9iQg??I?????f?qJ\03??????&u????n?v??wv????ƾ???i8??ɇ?\'????????]???yu|?C?????}?????kH????;Q?n??T????>??Jk??Te??﯇?-???????n??>???wP`_??vDT?;(?&q????7???{?U\rP?{??????/>??oX???XP??}Ih?\r?6I???K??2?F?x???n?j??5l-???ܐ????rh?lå?4?m8$?^D???q|:?????????Q????;?u찲??b???_ȿ???,??{/]?Ã?q_?T??9?$Qk*?D??&q\r8?Ni?ݩ:$ˎN8???:?o?z???\Z?\'?^???6?M??t£??b	F	ނ?-\\ފ????t?>\rk??????\'V?+?=?]B?I??ԃ???p?Q??YG?>?:]??i???qk??-\"F??????Է??W??PFf??????\"???????????@?!?????*λ??Z??t?c?ow?-Z??@?*???=???~???!jY?<?-?ԗ??Pˋ?6?:?<?????E?>ڄ0?????u-Bif}k\"\'z?`h??????-n>C&????/???????N???;?????\r@^ m:??Tݬ?d/\Z????????X.v/?Jn?Y???ܶ(?????U?\n???h??J@?W?o?b?Z???v??ĥ????qy???iy]Ҕv???>Mk@?N??\\?? a?l????{?<??htr???t>???\"o㢹D????K~??tl.?dS\n7??F???<\n???g???(C8nu??r^?S?:??Qϧu??/???\n??=F?????n?4(o??l??ᇏ???Q̄???\"-??l?퉥H	>d???\Z\"_cY?r??????7?$Uk???v	 ?[@?r?6¥I?=??.??ԯ#??C??(SDI?\"Xͪ\r?\n?n??o?A	?Z???YF?J??????f????bHU?X?????qx?-U??mG8y???\'??O??h?9??\Z]%???˶?ޓ???L?89?G?Y?E??h????l]?=(Iv?Ӹ??????G???E?c???$??????b+\r(??N&?uЅM?Ņ?QM`?0g<\Zw?->-m!i??5?X?<??ԁD@??@?_M??Qp?	?\nv(:?&?z*hn=|?n,??&Z???7ܒ???????O?i|???h?2??????B?\\d?-`???Y?	?5,?e+?'3???T??\\%???$?Q?\'??^=?}?Z?7????=2w????\'R??m?	?xP?-??Q???ᅭe\rk?V?? ?V??l=??9~Qi??I?ĭ??,???dh??Y\'?????=????\'???u????a????:??ͲKs?yת>????B뀝????h<??1???W.??;?ڡ?!ӈ?/ESh?V?	~2?0ԍ?2??|?r?qL$DKB?*?	|??a	G??c?t????9??\n??A,???Q?ƍ?a{̹Ex?Y?\n??k??ۘ??z\\Y???z<?%Ǿ??3i?.??.???g\rU?????Uq??j????(oK%??T?W9s?vs?>V?????ȥ?\0???????????᧦~?Su??????>[??aٺ{*?q`?|6????\'\n??r*??u?*?t??	?r(\0;??Z??X%?r9A־?????j???p?û>?O??????+/??WuJ?.Z??3iz?\'????<5?????8\r??3Ny??W(`?????;???r?`s?!?;????H????b?=n-j\0d%?t??#??\01~?0?Oy?Kb???槧?u??P????n?\'c???V.???W??Z?????q??Ke<?!?`?????M@?n???\\N?X?E??ܢY^[Ƴ?Vߎ&?a?koc5????׫???7?q?Gn?@????؎?????_t?KO+????\\?*g?n[owF????V?tG?/??v?2?CW4}{?W\\`??????4?{???U*?$0???????$0\n?	??\Z???C\n?*???\Z?/?u1i=q;տ[[~?-qC(y?XF?\'F?&?N?Z??ig???????Z?2T?z??ܝ3?pd\nF???!ȫ??CEC*\nپV?n<??_\Zw̯??ݲ???!??!f-i>\n??;?H\n?K?^\nO?$???R???Z>&#??6??\ZĕY?\Z?&ԕ+٠?????QG`?\n?WS?0?-厓??į????*???\(?d?q??:|?4s?o?-ߎ?????`cswú?Y{D8;?????C}?c??? ?l??R?57	/?????`{?i|Xs?q??c??ī?4?/?????#^f@)??.?\'?<*??U??????V?t???R@??N`>艇5W??`?]??S;\Z?@l??????}q-9n??\nP?mX?">k*a?RPie+????5?2p:Q^?.suѨ?a?c楘??S?1Kyd[S?8????v;\Z????[6??e(ДN???r?#k??V?Vӎ?Ї4,]?{?????????_υ^1???贽ų?>?Er?+b?(??d????&??&cM??A\Z?%?9b??hFҁ3zܓ߄?>??l8?r?????<???3:?????w???ܽ??r??;??pz???v??0??C?@??\r??\'ӹD??D????\0???tʔC|???\Z?F???A?7?ү+\"???I?͝?h?a??X?\ZM?Fͱi{??{i??X^??$:????????\' w?_$Lq&$?W??Z(???\0??u??&??3????;l`?k];Ca??.K??ۡ?\r?Ѽ?`dS??q_?ah????c*????.?@??????)[??aE&4???????V????D<ɴ???%Z???'f??\rwv?u%[???氒}xq???\\???|7:eUV???W/όT5,????*?v?Da???5?KU\r??M*?????۹e??{???3?m(?MK?3??7?q????>??ݍ??߿??????~?\\?pZd????ž5?????Z%/z?????????K w?zy?????M??uU?2A??y?ٺ????~????S??<?<\'9?Ҕ??H??	x??0p?e%??5>?[%?H?????\Z?bz8T??~??mb$M???/t??1G?j)?{??y??\0#???p?|.?/?s\rG\Z???qq?逐u?p????????&\Z??????7.D?1??NVTLT`???a??a5xj?Fku\rf]???us7??nP?I*\'9??μ4W??\Z7-??0?z?r݃?K????|K?}?*?)-????,?-&?N????gA??aI??ߢ_?C??????Ó?: \0˺N29??(???5??|?蒱??h?㣞??????r??(-C?[???>??Z!????????,\'??WK?VЄ?6H??2?`ω?k?\\*?fˋ?T)??b??&v??\002?n????2{?$?????????s?Βc\'????t3*?t\\???@?Mt??I??:.???ش#????5\r??%?nKVE0N?\0?<?.YAy??2&\rP?K?\\d??cVy??ŭ???rv?fK?\\\"??̎?&~7H?d黴H?Z??8݂W?????k?R??g?zQ??W??I?\"z\\Dn??4?)L???įE?7쟏??????s	?????Zk???\"??<?D?'??Ny???<hx?5)<??/?>.\ZG????&8?ǧ?KkhY??DXU?B?????w???Q;??e;	T?9±????EǦ??F??+N?!/{??????s?????L??[p+?O_??v??g;gϢ?????????5ڎ_n?l=???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:3b77417d734994651e2e0522b6a91e4c','?_I?(???B?=?dB?l??q73~??????R	?*??d`???r???+_U%?=?{?wvۨ2#\"3####3##??????9L?4mƣ?\ZE????4?i???h|?]T??l??\\{R???o????~;???\\??i4????v?e?=o????o?????????^݅\0???;??*?{߽?o??[??mL?x??\r?i?????x6??#????eӚ7\n??#^?{\r??4?z?<A?\"uﭏ?t3?FijjQu??Eܻ??uw5{?7??e>??:?[t???&?FQ?S?uￅ?np7xbur?*?΢z???y??\Z?ϛ?i2ڕʨJ?]?q\r???J5?uߠ???p6????z????\\/?.??Yr}x??ܻ|????߳?Zj????n$u??~Qo???dc.sG??D??#?j\n?Q??]4G1T?q??v???5?pze????|??R???yK\\???ה?מ????]?BAC?uE???????RE??W?(??d?))1:??DɠBˁ7???Լ~+`??????GY$?\r>??5???.Xm??0???U?<z?g??h????Y???:??̢?i?\Z?[??U?????4ʎ?T??s??7???????\r?????́B?jv??AX?K?$Q???׀F???~??h??Q?5\"?dXx??1Ө7??\n?'b?????PΔ?????(?_??&?I2FYd?K+}????L?5??i?Nz?(????4t_?ؕ?\\ȧW????\'??y](j?Lk\Z?n?R?7\Z6?`I\r??&??	?Ezv?r??|d??e4?\Z??G?a????5?V?{6??P?&???????v?????0???ѕ(????ڌ?E?C?@?~Ua?{?]?Y?fCP?????y?]???W?	?|I?p61?d?0\nW??????\\,#9?F{??\'VM???\'}?Z?ŏ???_???N?Y??Ev\n???nx++:E?sD????^??A\\7]Ϛ˹?\n????lc?@????????jc?v?c?,?~?JZD(hE??Β?ͫtr?Pu?9N?\\>?I\Z?0????dRC????O3??H?KN?? EC???t????W??+$\'?0?2???p????`!??ج??a?7\Z?? ?*md???=????v??U?\0?oD???bIQ??????˓/?s????t????%cI?!??=H?z?,?kc?r??:???W?????I?+\09a?????>_??\Z??l6? ??f?(???s5rM?&[0,p??,?#??i2	??f?4?S?aZj??r)6q??L?Q????\0\"͵?J\n ??\"??zGn砙S3??,f:???\'l??\Zl???n???aI?sًZ-ƚn?2?,??ƃZ֣#?a??Yk?L?F?M	\Z??W?I?[?7??Qlvg??QAj?[???e}G&???.?l?Uюab?\\$v????*g?:k:X????g3ܬ.??K?oi?[k?W?+??<1L?9?V.????T}?r-|U?4?W??)???A?T\"?!c?M?I?:ie|?N??XN9?H9#?E[??\n\0)???(-hA???֍N???Y?Ñ?"-#?<??c?<?9?\Z?@????{???A?9??=???A???????f??7@???q???\n???S?I!?S˸rӿ??x\\??????\Z5?N?????´??	?#T?5P??M?i???G\"??h8\r??}N?v?ᐺ.?v(\r?ۯ??b????;X??LFl??q??d??#?Z?????????K??U?4?5??v??rK??h???A5}??`s?Y?E?o?&??6oS????[V?w?[m{?S\n???B?.?"?e???:?Q?c[?oн???????T?sv=?Q`X??6?c????W?C??h^????u?|}X㭬?ഴL?cե?k?s?L#?d?n@??.Ǚ??X????2泽j8V;????0????e!?G?s@`??[M??\r	??????.??tө??<N?????vڙFi2??\">d\0???ǃ???v6;?????}c??o?[?޳?֋p#?o?*O׾???????????V??+?t\0???\0:?4<???tȏѕ1???:??{??Z???\n?r\r\Z??d?|?`!~???!+??S(=??-?	f6?ߣZ?UKv???f?\'?2???ˡ;?]I?ɬ??n??(?$S??y?8? Pȼ{1U??d??/ْۚ0/Is???0!ylI?u?(??'???`I?<??k??dE??Χ??eR??:?*??v/?/;䤷v?u1?#P??o7??Z??N?E0?{?>D(???+$?4GBV?\r??*?B??Sw:\\8=N??F?IvSsA?????{?pO8M?\Z4Y{e?k9Z?c|?\\??-O??8]M?;??????bi	5:\r(?lY?JX??e??M?OnG@3w???????,A:??$?7!????O?+i%W~?zݳ?w?E?????i???;\0?c[\n4?G?{??J?D\"t&?+?z?d0?????!?Y?{???ڸ?*\n-???\'Ή?Z??????b087^<?z?????\r3\'>4?]L?,???Gi?x\r??B?=??ޅY??O??????5?<4|??-?? ?????0??8C?~?<?Q8?rSt??r?*J{???7???A?˗?Z????i???|9?rrR_;??_?<iW?\\??MFb????)\\^??0?m??~t}AX{???^e?ؐ??Z???????od??)?N?_?3~g?ʼɊ$???,!??kԃ??z?@?* ?4?k???????????\ZN?G?w?<?%;E??zˁ???????_??z?X?nT!?ڕ????N?p?@7?@pq??s>?\rw??>?}c??Li?w9????j?Q?}e?M?Ʉ???v?`?\'???F??\?>;?x??????mzg???`??\Zw?na??ҾK*??{\"???Dԡa?͖BV9i??n4?????|Z?#??????R?N??ľ?0҃?r??@??r????g}???b????^]b?GQ?Ȯ	???K??l?E5??X?x2?_]U-夊???`Q????Hr?N͆??p6-c?)?~k%X4?????]????d@???????Y????ѡ(??=$?u2???\n?{x???#??ȕlzc?0v???yx??%?lE/D-]?\"???F?FK????z???V???t???f????o%ţ?K?N?%5??????-˶m??/Z?&?s8>?D(k?ĮcȞR??{??\'ʩ?N????????)L??ɤ??????x??????А??	?mt?Z?lx?a????kTL?!u??g?Z?.$L?D?a`???F[?7\n???r*S??d*?O?A?u ?}r??^?$U?n?????h?=ء{h??q?\Z`?(?G????4g g.Ue<?f??1V?s?7:? (?V?\nV?2+io?N%?-?w?J;sf\\h???rK??Qk?x訂o@??k?4ơ?M?2???\"XL?F???	UW?2X????ʑ?2??@\"?˩<?	{?B`\n??\Z?\n?T??????XW?I?$?GW]?Ტ>??IP?:?=??8=QC??7???@^]??&\0t?k\'ӟ??ѫ߫x??ʷ?p??\"v?Ki=L??#D???Ԁ?h#j??C?????*?L??rT*I_? 8X7?????q??vh?j#??Z?\r?t?\n??#5K,????6??MGM??=??\rhʍ??DD꺀RN?4????As惚?ZZ\nwHS?:K?}w?;?L????$eNy?V?\\;??4(i3@??(???,??2^??7??UU?堬?????????I?DR?FEY∱1X<??}g0??t?iPke??Z?H6H?rP?2?:ebB?yg?h0??????-tGOI=?q?RX.ͷ?r?!0b?#,?Q]?????1?M?\rݼ?H??3???ʊ+ ??V?˺?L(.??U?Dʠ??5??j?@?W??E?\r????fr\"`/=???X?2?vg?????wş?(?+??M?f\\?R?C??P????[??k???ݤhz5?f}4u???F?4?J-LҸ??ԕ?d?7L???X?rO1????Q??F????Һ??N.?V+??????\r(?S?4????h? W??@???????le?Ƕ?oپm?91?sv?o???v	??v!(??D?n?&?=AZ??:?Ѓ????z???T`AY20?,yJ?\Z^?$@R??@?i?`?????(u????껔Ϙe?]????=dd??{?AbZ?u??E??K?h%????7??????K?& 0¨?bZ`?0??֝V?q??K?C\rU?We???-?????jUժR?N?ڏ?1\0?Δ4?\"?+?<?? ͔?????e??&??5NG??n?|?T,PZd\rn??Z???0?[??j?#6A?d?[$?????#rwwN??f?4?R3????M?JQ}\n?a?}1????%?\'?????y	y??1?\'??Ѵ??6?p?Kw?]-??e曷Q???\n???ɯ\n~~?F?$l*??\????S??(?????.?^KH$<(,$)s]?ikg??h\r?????%?T?\"g&?r?aC=^0?d=g?,???A??:???c_?P??`S$T??\r?I2?HT???Z?:c???05H?_3<???v??<?P0?x??L%?j??\n???\n??/?????j?[??Mr?\n???FI@?????↤?p??x?5\Z?-hm?Ơ??ח??QqL?)Vé)4\0????2??.	??h???9?n?l)?M??-???n??????~g\Z??_?;????? ????į:8\r\rPI?Z??B^63?cn??>??|??????{??V????p%???7???7^???????;???????W%y\r?v???^/??_?*??s?,?E??N?nb?N??YJ?fW*??cV??\'?~*??????\0uj?U??\0?H?Җ?*u7???e30??rE?o?v\\r?7???U?m?W.9?o?????]?'SqsG?U~??ʿd?????/?Ph\r?????zK??]A?a9???)k?e?Jʉ9??s	9???:????????X??U????.?.a?????eFO)_H???C?????T[???g?U ????4iGF?v\\iaJ????$&l\\???˜;??&?>-??q???zWS֎?x~oȿ6??~,???C?Q?E?????\0?????????}?k?M?^?zt6E?wx?\n??cr5A|?\\?Q((K??8\r?!???????ˠ????????AZV???YzQ;>ᰠ??C?޴G???BXǀ\r??Q<???\Z?]????K???Y	?\0m?c:]??G?;?n?????rg}????).fS$?|????????pg{????aT뷆?r??<Ok?Zf?H9??l?NR7e??\ZV<?Ma?ŋJ]??6?#5??猃?j??T?WYe˜??E#4 ?F\"bH?/X????tt??_???y?\n%?9??\'`w?/?\0??z????f??5?ޝC??\ZY?????a??r?A?iM??^???XUщ\n?NP*?]V ?3Љ??~?bN??Zu?&&zb????s????>q!?dm???6㛛?~?T?{~?\0?\r??(e,??R?5??K??D:VV?R++?,?;P_Y?V?NtCM???\n?h3?Vw+F??{??rc???\b?\Z???f??????X&?,^Ez????\\h?QI?5ؔ????!	|$-p???0??r??\n????p?}fq???2?.????r????vy???N\'????2??\r?vOs?ڬ;n>}????????[\']??>(MY<Y텫^C?@?S!?rI4??^BKu?n?n??Щw??%<?TMM???Q?rk?|???a.?Ѱ????8G?2??5??^:	??????/??\r?p|????$????4\\???P1;v???5m??.??	?&yțe??.?kn1KN9u_z?c??\\,0DGr\"?7H_?ā?*?k??/x?0??\'m??ԃ?????&??nbh#?J??)*?~w??~?mju????	???.\r?99?\\ch???:w8???K????:??r\\`??@??"oe?&=?D֤?Ü?r<+??[?\\???H?Q?f?᩸??????????x?ؼ`?l<??bJf???\n??\'!?'Px??!L\'??\0_?W???n??(?](??0׼?L???3?8??bU?JP????????\n??֢?8D?ݲ??:_	????Z??n?Yׂ??????rE?JS?Q?I?t\Z Qx?VT?d???[|?En?wAk?\0???v????y???sF?y?oJ??\\?*Wq?M???rX?n??.?1O`?7????#?@??P|??_?d??F?\"??1W??J?e02?j???????\'8?M@??xv3?T??}????????\'?&?\?V?Y????b????2w?4??J?Cz_\\zK?s??\Z?-?;Cb????IP?y?? ?????d05???3!??[??EOa????~AP?#Q?_??\Zv??:??? K4~?v*???\'z\n?[?Bh?aK???C;?Hk!(]QT??N??y<?HJ???6???D?o:S??\Z???i?o\Zc&??nF?\n?\Z??dM??]????V\r?\n?y?xL???V?)9??iśd:\rK!?\\J?1Ɂ??Ә*?Q??????/???\a9?A\'?	g?&0_T.<{??gg͹q??n-lԪ?>O??˅?^?:?n?{???tT?u(?h????^?f?f????sņ1p?????f8b?Z㋎??6????9Æb????6?]?☃l??????J???Է??\n?!?ܧMP5<E?? ?ٕ?c???o-w???\\IQC?ȭ????(?Ye!??????8j?\07t???_????h?????;??_VV?????b??4??0??.	?b?f?C?ϭfc?H?\'????GDF?n5jPr\n##y???????X??7?r??`?C?t??\\<\n1??L???9Sđ?؂ h?\"??	?>??? 0?h???K?4:b???Ĩʰ??d?8????=?ALs?}?73W\0t?B\n???E\"s???O3+Bl?%??&??^??"Y?b\0s??'\'Aܽ?\0?*??ƑT??n`qr:?̊??4?݃\r1????\r???3K?z#x\0C4R-g_-%?????E>wri(#%?K?p? ??t????D5W??t???5;(?8Q?:?x???c?4?h?/t㾹??{}cs???;ov????????????????????{xփy??\"?z9????i6?vu}??\\?S???u?i`?6?)ژ?Z?)???F@	??????~??=?i%kJ?l??ͯ????(???oH?]?ޑ- q?JS\0???L?y??kJ4xQ?Ax?	?E???????ؽ?Dy???z?K2F3???FOU????̷xEn???*:?[?eF??l??}???;M???????.#???nL8??????(@q??y?=P^???x2?:?????);????p1:a??QU\n?N???3y?\'?=(e?A??~????fi?????,E???B???H???bb\n)?W? ?8?&i?g$S?:E???.?\"?II?u??&W?,ڸ/,Jy?׬0??5???4ќs??o?u1??????x^?ʰ_#ȥ_?????U???;?IŹ???????Š`?t;????aYHپ??/?S???x?P(=???a?? ?\r?\ra_???bx??Elt??\Z\\?N????ݞd??fH?ah?N?"?????????0ͳ7?k??BF?˓?C??Ӊ|??j\r+T:Վj????{uM?|????????a%?a\0`%I?q???C??n??ׯA\'?ΫQ???V?PF4N?)i?????/wKL?UhS8???]?????xj2W?4??J?7??;????g??*Bśҗ???x??_?sw7?&C.?1??=\\?=3??5H???(}??|?a1ydK\0??\r??????????5?:H?>?\"?K???G~?hY?!?~????WǞW_?z|z/????F?qd9L??%?ʊ??S?]Z??\n?ݎ?L??:??e?X?%?4????XEK?j??????5?c?X\"VH??????7X?s?y????=?n????\\?U??܁].??7\r?f?????????q\'??87??3?<?????m??R??b?_8?O9q??J????s ?o?})?y??Yo!????l?Z?[?ik?d??Sna????\0?C??8(?{???1?ȁ?#???\?4??Eyd?C??=\\???\nF?Cg?T9+??;?Y=???)??????6H/?(????@B??&`??\Zݲg\r?????\\?#?Pơ%??雛#?L???	lؤ??\Z????s??齏???l(o4i??????[dV??!????t????#?z??I?????????тv?ux???N???x?T??????=?hY?~??尺???}?u?n??????Z|?????8??\'O?W^?x?\'M???\rj?X??\\K??Q??e???VVFzլ?~?*???-\r?\rۢ?4??r,e???Z????6^?u\rA????r?Ӭ?Ϧ?&}?9B??_\r@i?Q??)???ҝs(?N\Z??|?=??F??\r3s4???09O?W?\\@T??>8?"|??k???v?j@ŊB/??ng?@?3???ֹ???[?=???zb??!{e?Ԕ?	?t?0R🖜h?w?X????*???,?O?|Oٺj\'?A20r???8??w?????????[?х_n??;R?)?L??ܷXC??#T???\Z\'y????i??:?[«|?8??4݆?Q??i???꣋L??"???Z??g?C?ɗ?	???K?pڻ??XM#qNU_^e??f??)????r9T?/???????!??|?̆?M?!??5?:?\ZL?gC???n(\ry?kNE??6^z???:?-?F$b?????f??\"cz??1?|:!??U?Z??=???4b_J?ܑbq?ף.???=3.?<\Z???$?᝔??d??????,?pe\0^p????\0z?N??h@34???^????/?2@????P$?J?????nX\rvIWc??4???????)=?@{?=K??W??ao??Zʽ???\'?6???,\r?yW???*q??_1g??x?Kq-n???\n???]???????????????4?MS?L????SraA??og?|?????6p?6\nc??3?=)?????z[??!]??????}??ӓ??xO_?????q???G??kc?ؿ8ŝ???????[??v:%?????Ni\r???ã3ɵ??????gן?|oQ?5l?Si?\\:*V?????s?߇Ņm????\'?z?Y?????????ǭ??????/_???k~@?????????[\'w?g??yqrצ?????????۷D?k???????e????IZ????ty\rj2??^_Vۚmϊl+?;??l*????aωWma?U?????????AYԝ??????m???????g??????vN?ܨ|???r???:???????*????67??s??{?????????????rEi)Ŭ?t6;????????Y?f??????v???1O???N1?~??,?n{????S???9???0++?C?wWq\r+p?ۜ???g?8:???v??E???f??=z+?????G???*?S??m??1??d?^?ݭ???M?C??h^???_?l?	?f??ݓ?C???^???D=::????I??\"Zҫ#?QP̝\\?v?ٰ_\'Y?y?>{c? O?5?[m;y???S??8??|\'??!?평K?i?C??❏.?W??4m?joZ??5{w???vsr??Yx?C]7???sq???a???????H??_?@n?^??7R????Ǡ????????'?(??7hJ7?????B??????̐ʺ?߆?/?u??t6??0]?t?|?k|*`\\ң>??????-4@??1m?ߞ?E??dZo?\\???"?r??T,L?M??_*a???J O?~?\Z&TOk???+?=@.G~??T<?YڛF??K????H???IJ??Z???ː?{o?*F??%k׫WWW?t????:?|?????1??&C?\'???P?19??[|?\"pY??/???y?Q]Ө??j^?Z?e????\n??)eIݵ>?zdp?C???????ua+??_ݔ???B??x?U? Xo?i???\r5??s?bP?\\?9?k?W?nM^m?{t????e??`?5 ?\n_??????\nLb?\Zס~\0??t?*?)??!V?j??\0?Z?h ??Xa??̣v?qF??f????p?(?RyV?????m\\~???[r???5?^Kv6A?R[#[A?r??d???Ջ~Ȝ9??^M?	?b?*\\?~?Ry?\'??*????o?\Z??B9,LW??W???b`5?L?[]Ru?o??)?????=\nڒMo?×w\"??$*?.#(????Љ???^?/???/??????}f?\\\?^??!r?Zw?????~????8???re?	{??oX2?$?\n戈cd?'>??2Ę?:Ǳ?|?#???G(??I(??@??l?NǠ)P??c?&W?K*??Ԋ/?-վ??R?Ui?ifo?~ѵ*?&)˨?v[?.?2???O?9??n??Y?dx8	?:??FY_\\ʹ?_?`??$?eEK??2}???6????\\?#\\?6V?w.???q??s???i??䕒s?䮥?????f=?L?Vt????Π?׿$???????????Q???,??έ??λ{h%$L/?a??x??Zxk\"E???s/??InǑut????[.??;?$?/-\\4\"?Za??\r????#U????????6S+???آm\0?4=?<??}?H?uv?r??Q??tr?H??|b\'??z.??????xّXІ?R??б>?9?Q?8F?????Cf?~NhP{???J3?0???>??9]??y????C?n????C??????_?c???[(??;?_U?Ξ$?ż<???8????b?@+?'A	V??j&C?m????.??onx??JEv??b???Z??͇rc????yR??????Gg?v??)K?_o?K?Y??W??=?&???dŝ???3??\Z??ҿ?a?X&`?-\"?:???8?,Z*8??C??ir?ŋ)??\\b??!h?0?\"4??}??&??ޚ??| Ve?? H:?1???J D??P?+\rhYWw)??????-?Ԕ,h2K??GR??S0L?)q9(??\0????MO??/1?&?p???伡?*>?O???w??$?kO?\Z??????E?Dt??s\0?ҟ%???e?	ݲ??w?????^???8??,+??]??uC??\n&??l??????B\nzұ?X????֙역4&?;?(k?z??g?A\r???5???N}ܪ??X^?5M????l????9?\\??I?>T[c???_őG??*O?ɕ?*1=??m????r?:?7??^@V?q?<???ͯ9JF?????\n??B[@???gL?_\r?=VT@?P?\"??R????2I?SP?ҰtG?>?@ sf?++?do?V?6n?q????b?;?j2?3U	O?,/(?A??p?????.g? }b?{??1???O????چ??1???0??"?}?R?ƶ\rKUDy??m??????$??G?~??\r3\\Z?c??v?h?^?OO??\'?\Z?Yk?M???k??\ry???8?:ʗ????"????\\??B?J???ąP??cNGa??\n??j?h?f1ė?ڗ~??Ɠ???yg???3~??\'?FE ??A?_e???r??v(?E?w??????M??????p&o???`MnqY;^G׺Q<?h???1O?\0?lv?Z??r?????v{&??(???>?D?F\\?????7??&??4??(VM\" ?\"_;???\"??7?Ѹ???nV??5?Dh?\Z??????K;X?#꼎??UhA??}nU?YV?e????U???Y?/?iUjT?۶???{ C??4?e?5i??Vc_??v?e???>S?R??#3{??dF??P?;?R-v\"?S???#???????Ԏ?Yt???,??w?2?ԖL3??.L??ġ?򭀻%???\???_?/r??ۄ䝆W+=r????!????]m???Y?????????,??\Z\nlv?!?$?_`???D,?????????O?????x)??g??ҝ???Z?m?Dy????1?GX?+????:??	?1,????M7v???I???o?5?px??+???r??\n???#~x??$???z^[OD?\"??\Z?@\Z?a???????&???=?????qɐT&??{?nݩ?zW?p+?F?M?ʕ??b?^?>uʿ??i?3?Z??ѹG?B???(???8?:2??^;?#???<??F_Yq>?xM??Vy?!??<??k?\rk)?ݝ@QH\Z???_?\"@??Y&z?6??A??	(Ɛ?#dHb^????ZkI?Նѕ??\Z???r9????0?ʴ??????????|\Z??_?*?o???H㪉dcU?????}Yuii?`??oQ???Tګ.F?\'T??b?a????t.H??l?Ώ?????\nǦ??s?hy?+䙳?Y????C?}W4??????\"^m?eZ1???@E\\v?n??=???!xtx%snR?aaBq??9?=:~(??{?4??\nā?)???>?*!>w???h?۩????9V???G?FG?A?B???\\??紐?Ę??2?1?U?u~~?\ZL?\n?qC?Y-DU(-???\Zb?	jE\n???(????~vx?e?,?=?f??\nnA!???\rS??\'\0It??flJ?g?kjx?,?d??W4?VfGIH??????X??i?%_D??<?J>?#??n???׋e8?>u????e?d??????>+v??????J????????'???y???\"X<?:?~\Z,??0tG`??l??K6??)?u7?????Mq<?PcOmt??ܸ`<k7?U??????SB??P?I K??E???d??֐t???0.Z;??wS~?b_o??v?{4??G?m??P?0Q???/?&?0?)H???&>????????V????V?BJz)LC??o???r??.	ph????8?R??X??X???(C?Vt?Fm-dS???B?Y=??LÒ{?KfksW-kC???`??????D?mC??u??COGt\'?#????K?S?????????H?I\'D?|?Hn????wuؑt??5ַ(???b:??@:??{;?\0?8c???(?F???h?????zww5?pz???quc?DN5????\Z;?g?4E`?JUݤ?I??Θr\0	?gk?3?W????9?Y????>??ur?+H????[\n+???/??We?ց־?s?W?\'\'Q??w?y???  ?vœ)\n??DB\\?????J??wE?8??I?N?\0??(???ԅ?K@?H??Z??_&??????`8U??Q???*v???;<??`xOE?????%[8?~&L`&g??-?SZ??P?b??,????l][????9???@O]???|!?????u???{fxu\\Hѧq??U??ɺ?\XY!?TA????&?-N?\"?^??s?\r???;?[@??????{??/_??aǱab???????ި?0??~}??^ZT??}a=?_??(?k]?????ճ?__?_\n=?\0???t-J?????˗?սq_.????b͌	??ɻ?;\"V?\r?%???e?L?~<?;J??䌹	$)?`???J֫;??t??????{޳Ǹ????y????	?bU?=c+?m?}Z????Os??0?X\\n5???Cj?5????v8/+?"??B\\A+????B?=???0?1EXZp?økMSW??????(????XPu?wWݠ??? ?β4??b?'\Z???8?x???q???9?t??+Z??	??L?ÜB(H\\qς2???w%\\????%??,!R?7v?9mE?????????i/?O?{?????]SP?????q?h6?ԝjؾ??Y?!Z~?:-?Xr?Ɉ??$r???e?,?6?H?bnU??SV?ٸ?????uw?<O_?*	c\0?4??s???dl?>g?G?Vqu)?fYػ?d?_4:C???8/???A,?@??P-b&????????t?#@??VK?O?i??~	???R?i??U?G?Vm]Q?K????sX_?YsI???#????\\?????e??Q??ܑ?Y??????=?z?JN/?_?*????5Q8??Uy|?\ra???܇???D`Ve?????>\0?!?]\'?]??IF??weE?????m^?`\"??	?'7_d???2x h0?_q??r????xH??,U=???3LA??;?W?楕Չ_	??t?URW/_?????ż]Ч;Y-6[?Sz?e???AL????cXIg)?Mn1?Vd??9?9??@y??(?A????\\?F?\"O)?y??KhBP.?z\n???v.>L-?\"??ww??a.^???\'??????(??Zm?d?)U?Һ\0??a{%?Q??U??O?L?Ƅ)????HB?Pb)E??ibEЪ?Z??9?nx$ݠ??Ku?\r?ߜ????+{N???V?????SS;???>z?kg???NiHc!>U?X0m?	TZ?y?ah??Q;ֈF?t?Փj??????_???L????.??=?Aw?5?J??7V???pR??F??D?O????z??H?????*<.???N??.?%???{YS?u?(*z?}A??\'?Tp,?\Z?H7vu??^Tk???????a??>??[?V}?D??C0?*?2?????L?d??w??WI?&??n?x?,:????0?k1L`(?0??wy?/?h???,$??Z`??X??????e!?????m)BA??????\Z~?n>\n]?vX???E?*p[u?h~^ۡE?W??Ċ%ad?o??"tĿ\'?[-?I6z]?̗f??S??R???>V5?9?}?????????Z7???\n?釮??J??z???jݙ???E?????5-(p5?\"sCR??t?^L???i?[܇?T??,?>??0?4?:y?>???C,?x_???r????3@??{??????9D??i2ȯ?+V?cQ\n???ǯc?H?h?>R?u?w0*??U???VZU?f?Y~Ʌ???T?.??{?????Ւ(?0?*?;??A?l?S]?|}O1?]\rџ2???A!-}?????ǣ????\\?Z??????????n???????w????L?????s???O_??˧?U??????>?\\?7O?-???s????????????|???޻??{o)??b/?Sk????z?{?i??fo????f???x0?sh??????X????Z??4}??ٕ@? cgѴ?*??S驋????)?S!$l\'^????6?E4B9??>tB?$E?*??J????ϐ<??ΈB??"???ƽ}?n??ι]?????H??{?;%:????x+\"??Q<??\\???n1?n($??????????????"?U??ؼ?(??F?*S?? ?\\???6l;=?;\"?6p`g??/?o?F????3??c?s??T?????/o*{?X0!P?5? ????X*?.@?R??@?X ?RE4??*0?Tv+?/1O???K????|@5z??ᶈ?.~???&\"?? T???ǉI??:??7&?P??:?`?b?=??r???\Z?t??R,p?T??\r*t??`ɐ??>?Z????Fc(B??1???p??4??\Z`???,e?wܣ???ˁj??????a??	P?e-?"i?\0????]@\'B?????W?8????&]b b??\n?F,J???q??=뀻:g??{/??x?ßi|\r???QDR?k??Ԓ\n\ncV?ðwI|E??hК=%鑤7Km\"N????k??ǟ?--Ft??T???@`???L?~?\0\ZJ?K??dW?|EQQ??????/?.yY?i??oƧ?X?_?T???o?	@?ĩ?r3??r????l?3,g?nLW????}?&??|e???_??bC=fJ??2O?Ϟ??Ŋ????`??x????5??\0)	,3?M?!;D!???@;???Q?:\r?Kv?P7 uu1c?[??η?n+y???Xi???:??!K[(???\Z??\"?6??V?EB8?\r?,?"?A???HN?&,?[d????Z??]???II??\\?`?????T?+?qx??S????5?t#<W???B^+???`Ҩ?-? ???q???բ?[m[???(v?\0u??????4L??J??oU=\0C??O:(???Y?#??d?Ia`?,P]\n?y?o??U?H8?????e??>?A\Z%??FE??%?Ɲ????}G??c?b??2`???O?9!??;??Vr??l@?nIU?aT????,???????TL?1Xi_W\n??Ē??y?~1 ??H;?&??\rG%???7}2-hH3s???O?b?-???ғt???TE&???)??A攪????c??I?%ʕ=??oTA?@?8?A?f1??????nИ??$q???0?EK7??Eʢ?D????(?>ϡmK???2????[v$\'?ްŐ?Z?H?\0?L?z?ir?|#?:??ش????,???Jy?>??`???ı???/?? /H?jp?&???}f?Qd?f?mmZ?	?2Z?}2??F???{??Cq\Z?L?????r\'4p?K?n??8??E?C?>??)a????\څ3?(??b?T_8???2?9?6??U\nk\0R???????3]	??/??B?Ǣ?Lɀ??"3?$????ʊ?????+(??<?C??|??????OR6?ZƆ?|Ӧ??G????~v?/??Ï???F????*???yizI????O?6??dZ???Ty?g????:zfA??Uޛ\".?!Sa???\Z3,?\n??ӫ?m??)?C`>??f`]???QⰓ\0;?U?BTy?;e?T ??l}!?JC!V%??????U?^??~|??{el^???d[wh=?`???@??P????_??г˴??K)????lqjᅫ?ѹ&(?l????ԍ0?MN?E7?71???8??????\rE???>=\r???r??e\r?<?	1?2??/??d=?<?l?=?©???p?I%?à\rђ}?%?Z?r??m??@??+\"?`+<Rs???m?o??lá>?_?????????	?R?dC??<????JJ?|?r?3\nP?=????k-?\n??0??1L?w??.\0???B{?q?v$?c?3???ȽoV?Q?~????+5SH?q?g??cs??n??b?YE?u{1?~?QN?z?????n??<K?a?_?`?\\??(?V??8?//聾 ??.?u??` ???N@M??#?0?ص?l0?c?yΆQ-???`AKe#?#zI??-x??a??𨥰????r?uφI?????_????????͈?\"?5?#??q]#n0?#74?#n>qS#n1?#?4?F|?H?\Zq????????A 8L???o,??\09,I{??|?oy????w?w??O??a?OIP??\Z?`}?y?:?Z??lD? {úbڻ?{????*?~?????ɯwnU?;????eƱ??\'?+?????-ڊ\0e?s?J??\r+i??6??-Nڲ??q?+i???????z?I/??P*ݲ?$?m??$?@_?D?f7a iV-?x?bmN?J?s?U????2??d9?$???dqm???2!Z\\???k?P?jW?L???$?@_? ??}0)?v???,9?g\\??????aOc±]?)!?L??????????ԥ	??LG??????\ruJLK??nX??B????߅????8A[|??????Ŋ?#}?)????T(??"1C??K???}??Y??TS?\\????\r\r?{$?Ed?a?\"7?ݰ???M????	hoP?:6?9q?+M??=^??n?Z??OT??{?d???y?\Ze?+?N.?2?.\"??%4?7mٷ?\Z?V?<!?Z?2Y???¤????P?s??!(??\Zk_\r??@???z????|?K??$?0iSs2K/j??(???غ????sE>T?}???m?[?&?????????Z??g?*\\?ry??ޏ?i????5?`??Qnt5kɒw?pj,Lj???n?<?΢9x?~>?u??a????????-??.?į??^???'2?#I??CycR?VNG?M{9??|??l?A;????A??-\r4????*??OӺ3VV t??n\07r?`???>???W???~n\\?K?a?Qy?#?????]?Rv?j???B֍?z????v)?p)Tʣ?\rf?k]???%;?o.??nt??a_V??{?\\?WV?r[9??yr?v???L??g????֡???]?=ފ/?i?斩U?C?U??&W????|1\0?*??????????!%&?C\\]?m??T?k??U+?F??0?p ?Gԯ?{?\')?Ut???F??xq?C???hʇ$-Y??\r???n?[?a?{+gQ\"??????jd?pV~M]~?^W?E??U???5K$Lm???j?<??Tx\"????q??Ew\"P??њ9???\n?????5-?y?@???P?&`Sߢo?k??????g???¼j?r?\Z-?FV????kDw6\Zߋ?Q?i?j?????0X??>??WP\n?X?????ô?y?w??MWմi.?G??l?c?;\n?????O?????E??W,???|<`S?}??Y4???j呵?ㆨaB:?T?a??5?????P????2???<?M??`\0?]???????Ř??ѮI??t??!????3<??y_???&?!<???ȖѲ`?b\\7n-vU\\ޓ??M\'rt??`????=??ԋC??P?=i\'i??F???\n?#???wZ????MEp?????j@o???уc?N???ϗ?N????0???????o??Q]{ҌǼ?D7?i??ח???ne?ʫ????Z???6U?ǟq?????: ??~ُ??a\ZTA???f?P?8?A?R*?x????n????U?a??r??$??F--???+;G??T|??????_$????Є???T4ql`?}??????8?\\??cj?{??d?ڔč??~?\0????|?(??fbr:\'?~v?O??TAk?U??&uK}m?<?;?Q?qa???	V???av??{?? j??Jو?????Q3R?@???ֈG??V??(??m\0?M?~~/??ѹ??;?\"_?_???????Ӻ?zBa?B^?x,???Ɇ???#??K=?	0??Y?u????Jk????働2:/?\n֋?????߿??70I???U|?V?@?_??[??<te?\Z?5??Ԇ??u?`?\Zi?r??\rز?Ĳۿ?-?]a????s??7A??k?ٔ?Zo??J?gծY????raM?>u?\\????\0K??Zߣ??r??Vk?-????,b}?{`\r2?~????\0?{?4	?-?r~	??(=Ǉ??s?\"?ů?QT?J??'?JA3?????5??(h54v?gj?W?\ZX?on???5X?ilVRKN?$~٩G?)??N?????????ػ??i?????YS???**1????uJ?J\n-?p?	a\'}?g?DT?\Tz7_??\'Jl,??\r{-???+|\0??\rRD\'???&N?:???%?H\\???&?\n?U掠a\"Y??.ǹ?W??pd?P.?????\Z??\Z?JJ?/?8???\\???׿?_?	\r???"í?r?9H971sgH?"???i?`?Z,I??X????i?^??[?????CZ????r?LHJ??]%??j·???:??;??????W/\\??:???؊h?N?Ů??p#????0?iT?~\rU?;!?????\"GKX???#Jz[?*??b~?\'??4?}??z?h?h?0?%k+\"?5n8?zɂ???Jmc??????x?_\n\"??\n*??^m?t???B??^=?Ҽ*?'??)??????gM??}!???X??*?u??<?Rdn?Q:??ojW?U????ak??v?Oڕ/?V??]y?.?{r????(??Mghe?t?V???????T?U???,?X?A?>T?(???>@/?`?????>?\\?Gj/???^L??????????????????????[v\n??odt??0T;?xnV???????f{??????泭v????Ϟ?/?f??m??\0','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:3ba5995e89d173fc527ad11f22f7db2d','e?͒?0??;>?\'?I`ߡ?;??\0/?m?v??rd???Y?????ܗ?_???\?4ڽ8??2?4\Z{?ʱr?c܄ÙN<??	?aP??um??E=!T*\Z?e74\r:\n???8	?Q)?$?zy??Ƀl??M???Y?R??A?vC?Tw\nk????J:?_????_ܙՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?.??&\rEA?W?8??!V??????(??|U?˥?F?3ܾ?\r?r6?J?RRw3	?????\nm? ?n??]??G?ki??7?ү?zW%??nd{\nG%{IF9YY?x??s#e]Y3?jJf???D???\\kFJI??A@oC	)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K???\??N?z`yb?"???;6????0?S?+?nz???+??}?J[?>?8??>NQ??u??F?4)t?\nVB??????a\\䩫?????V֠܊?rؐlC?r9n?C?RlH?ߢm?6?w?\r<Y\"???uY?,?eo???l_?O???J??~????8N?8|???ZL???s?i\"j8?E?q,x???0??h????zx?B?h?ō?*?%OO_?=???&?F\Z????a?\??gI_?hmN/??T?cK?IZo_?\???\n??\???y??@$I???IT?x?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:3beb0f2498185fb833da99725ada61ab','e?K??0??s?)??&`???;d?e?R?Ԁ!9?0qR?{Z<????[??LOǤd??28?/???š??ޣ??T??Ɏq?xd%Xà<# ?hu?vB:?Tt\\???D(?\'?$@?E???????+Ӈ??6?_???ml4[A?WB?){P?H?=?<o?t~>?=jq??3?A??@Lc???N6?X?Q??`?Z5ɘ\r????V\n?YD?????FQ?4??R??????????߱??Q?=?6?ĐK?É?f??A??m?*???L+?=u=??AH?%?P??F???#o.Qү?zW%??n?\nK%{IN9yY?D??s#eCY3???\r]??{:r?)%????\r?%?0u:?I??]%??r_???þ?Tlv????o-ШI?o)?C?]9?*yŹќ????E???Zwl\n??!a$??+?nz???+???J[?>?8??>NQ<?u??F?4)t?\nVB??????a\\?SW??????RV֠܊?$ېÆ?rܐӆrސ4٢??+;?N??E???????C?????>??r??<E&Dz*{L<???ן?`s??SR3??t?Ng????Z?>p.??0????;???\nD?,nl?\n?<=}??ߙ?o?Y5Ҹ?=釱?r???%}]f?gs?????7?????˛+eVa??ùH????,??A?1???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:3fdb76560e9bfdce593c261a4cdd5f18','e?͒?8??S:%Ygb`??y?????T#5?AH?$L?????xpqS?????Sq????틹xi?{q??a?h4 ?c???	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?p?ѢV\\I??????+?ot???66?m???!???=???=?<?~??=jq??3?A??@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???z`<??T?.???S???6x???UJI?$???{?j?????Kv??K??n?]*vG?\bH?F?\r?h~`?????$?eq????Ate??)?9??S?r??(%???????0w:?9h?Ja߹7|s6*?R?ٕƏzC?k?*?QsT?#??.????\"9T?\r?:!?Q?ap????????ε?$??????G?@???p?|??x5??\rMjmR???????)?Hø?W??#???$?j@?\rIw$ۑ???ؑӎ?w?ܑ????}?>?x?F???ۺ?}X?+?y3?ZES??????Q\0oNp>C??????ZM?<-?)k???̊4??????CL???\Z??w@o?!?Y??m\"?Sr?????ުg??q??????V?????R?E;?????????Uֈ?T?˺????+\"o???oO?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:4340dfc2e74564e145ef2691627b238b','e?͒?8??]>?fz?H????jJ??;k?0٭}??\r?Iq?>K???J?"????훹zi?{s???@*Ǫ??	?3?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??Y.??e8*9H2:?????+87Qѕ5?fd?l???uf??j??א????????٨`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9??!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ?;rڑbG?9?eG???Q?????>????????\"X?vX1͛??yS?Ј??1?}?I?\\\\?K???l?j?I^pΏ???	rx?Z???2@#????????;;?M?J^^?}?{?{?JZ?4?@???????.3??_?\Z?h?4??޾}?*?????gX?"??a????:;??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:434837201e3e4ed9cf9fee49f9887ac8','e?Ks?0????pc?y??cf2?X@AH?$L??{W<ܴ?vW?b?E??????y?\'???ݗ???????????ѩ??`?H????^?^%,?2?e;4\rZV??s?U)?????,VDw?VF4?[????MP[A?	UeVЧ?vg??&?+?u???U??3\n?O??4??jP?jE3	??\r}f?UC~??٠:?GEehE?!???8?%9?ICQP?Nu??U???v????@?\r*??l?pn_P?oq9ku?JI???x?xwK]\r}??E??j?????G?ja???ү?zW%z????m?􂌎de?G?֎?Ape??2??%???z??*T??c?>??ӞLA?U\n?Ɲ櫳?!@/w???4~????????r-??ua?'gɢ?k?QB???~?u? q??r?]?\"???f_????{*Ű???x???n???^_?h?K?|W/`?wL?j\Z?????Y??? bE\rҮ?C?rI6??\rI7$ې|C??m???aG۸?m???????v~,{ۯ???`?	????!??}RF???????76wj1????e?%q????G(?????R???u????rD?\\]َ?\"?Qr??????i5B??⇱{:_?A_?hmN/???c?IZoO?H?$N?8=??1?*?^#&y?gY\n<{???^?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:4edfcfa78ad881cfb3ec554385b08b3f','?\Ziw۸???IMrEQ???%???n???\"A?1E?<,???{g???????`0?#w?ǣ?6_ر`?h??Γ??}a?SD???7eQ?D???$?si4k?0?ύ@?%?7팳?0?Qh?P571l?g,?Qf?gE?:?b????Ȧë/??????v9c)?}l?u?\f???????$?????2?{??.???????&n\0r?A??\"????^????cY?Ȣ?^K\n????X?@:??E?x\Zè???tK$~,r?D???????@?%|????Q?\"+??V???̕K,??<?E?.D<??????\?j????d?????<?\Z??#覥?l\0.1?S?!D\\D)?i\r;?[i????????C???n?????;t??2?a??ӌ~?+???rz!?s?Rτ??n?e?ˡ*?@HdlD?T?3?e???X?G@G?Y\nF\nI??????????n?o0???\Z{?B?o/y?`??ߣ?tݕ???{??4G{??? ??߄fi?????zQ????=??=????}?,?\\W?????>?????b\ZaFs??E?Me??. ???r%!<???\r:??\\?\Z-??je\Z??+~??????\Zx?gS?0???????0_?Ks\"\0??W?\r?\\?????	X??G?\n????!?\"?[?!??{?-\0*?/?8??@?9?Z.???5??Q?z\Z?????[?G?(????	DuH?9????C,?n ????3%$(?DIAM\"???Z1-\0?Ṉˆo?,Eu9????7o????˚*??r??.??L?s??.\00`ъ[?U?~?H??\nA՛~????1.??J?.\00::o*??NkPS???\0?cI?l?!??e!?ɴV?\Z?3??@?T6\n.2SQ????Z?`?vUF??6???v]?_F??????$K?Ɠ???~?P??_|aAT?%|z??\"???Ȝ???<|\Z%???&1????\"?O?j??.`?P?bRJ?|???IP???F!!e?^&???Wbg???{?*o	\Zw?`????u???????O`$??Ke=Հ?݆R?7?C?d?I??(M(?\rBn/?\"i<???y????\n??o\\? ?Iў7r????C?-fn????5?????^+???~?Sod?l\n?ލ;}	%J???8???ό???R$????uS??HY?WM?V??h??Y??\"???	?і?\?DP	,?o11Ā?H?4??7)%?܆U??9ɋ?YG????pM?[?.ґL+I?g?U9??&e~??ݞ\'??<??[4\0?/?\r???ؤ???}̈́W2???%G?k\\Y?$C?	P???oĲR?.??ǯ?S????hJ=IY@?	??qO?=??O ???;???y?u??NB]??އ[????k?~4\Z\\ߏ???\n/?r4b|O???:???䈾??h??'??U?r2??TB???p?????.??????Btv?]#?+?L?	l?rX??18??b???(?tȎ?A!?i???_<??!?@L??}?O?Q2 ??3?r?)?2\n?0???a.?IF$|]?_?q{c6?,???\r??+w??-KA?qE?e@i?=?B\"g??\0?iE ?????????????*??ks????(??ڥ??D??h?0@R??*??9e?Sʍ???w9??e??9?\\P?K??U??????xP<?l??8?w???r?;Ƚ>???c???[?)O?HU?????s܊v]??:?}?hM???;mupb?O?k??q??\"`fك?sC???I?)?}?j????????H.2?e?????????C$??+?od?h????+CQ?k ?????\Zz?ahx?@;-??\Z1?;??g???_C?<???}0?m?0Dy??s??r??r??I?a????\"?0??70@?t:???Y?{?t???H?Hϒ??F͆Xs??jy?h?n+?-~K+h?5mW??T?c??%6`?N;(?\r????k?E]os???7(?w_??*?zk???š?]g׉VŢzrP??O?}m0к?(A?󄟫?*m????X??ۣ???,??۫?Tp??	???!YY?4r6???~?1??!`?\n???iX!/??$\r?b9/?9i?ۜ??-?n?CG????\"u????ԭ?+r????IR?\"?????9,H??????Ӓ?6)?t???x???????;???[?`!?@\\U???&?No?????n\\<???t@?TL\Z???k?Z0?1;6?????Khu#/}V_?Ɣy?§??ǣd?3??\\?wZ??%???{0gHV?????<~?5˒???+?\'?GW#/?????`??w?????ַd?K?#?m!??<V?$??b????$??.+???\'1ꐃٵd??w???nu??U&??8GR???i\"2?`Y??WD:?????9?nj}??|?f????.fU???O???????e??MĽ?ez???2?????h?Őq:???2??6?(??xɋE񖒧?ϗW??Ӳ??p?????C??M????gD?9?{????JZ????????xo\'ǈ??h/+?.??wJ?#[???Fs?#o?6<?<??e[\rwk͖????fN5!t??-]?]??XK????1?i??E?f????_?y|4?,,??ZS?D?۪? 2{V?SK????u5<>R?u|P??@E??????k?\Z?(M?h???02?f?FY4?|̥s?oEc\'{?\r??ѨF?+???b??Z\0????R??o:??B^?S\0?-?5j_?dMb??4㐍f<Pc7??L?O???:[2K?9P̣D?6?F???6??)N?N/??5!?.????eR??=?`???1???????????J??ӭ??=f?c?|?t@?ګ?C*???(I?G????????????r|?(l????$Om?\"????Qf\"x?U????????\'?????}=??????V?Z??\Z?Ue????&3]?>7?????0+)t|?z?c9?C???ݚ?噣?z*???#9uI>????U?y\Z%?@?P-?t]VHd.\0???WG??G?q???5K?\\Ǡ???_+s}(\Z?p`?N\0͠|&]??-Tj?#㥹T9?ur??ؖ?>\'Oȯ???(2C?=9Z2????8?????[?gu?Ғ?sC?y9?l??bJx!?ZeSFl?vA??\nJh??]%??iAZ?W?]\n؁\\I????w;??k?\')?'6k???Ԝ?ǟ	? ?뽝Bm???Gd?*????㡹?+?_b???????# ?L?>?~fz?????5?ͥ????*??x?%?[\rd???R?D1?f?P???Qٖ)Y??W>????J???9????????J?V{???wwM????wDWz???*{???%<L2??????G??A?]??fG5?/E?A?R?c???ڷ?,)zUEd?u\Z]?C?mc?9?&?Go!𬡡?,?(?]??Z????gPPf?y???`t?????<ʤ??[b???o?ZpG?T?S?Jm??V??q|%R<5??n??#????s?O迱???&򹣤?r????H_փ=>??ڼ????^????\Z?gOk????2,\'q????\???$p???3?_?Pf?(?/?Pwn?l?n.???!?N>T??\0?4??t0\Z???\Z9??M?qV????H?Iz?z???S??0>XC?hP	?????zfa,,?OV[??e}u?􄌻?`g??\0?2??*O??M\'?Y?>6?O????z?9???;?????T????wp^??-h??A?VdV?lI???ǳ??3?BZ-??-??nӟ???8?{#?_?u5????Co?|u?\\\'?{tܻ?N/?^\"??&?v??80\n?k?l??????Αs0yq:⇇lt4??`? ?LF??p?ð??:????wq???ۓ&@???? wa???%??%????pW??)Y?P=nz??m????Ԍ?????????:???ggc???ó??r????\0','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:50ff86388346e8a1f51e467f59fc65f9','e???0????N?q?????cf2?X???\\I????{W<ܴ?vW???????{??ٜ?4?;??2?4\Z;?ʱb?a܄CN?\n<??U(?W??B??Q??J\r???\Z??+???	??T\\I???+?;?+?/t??tR??AAU?){P?(???x??t~{??ƬR?1???_??G?X?1????????2??͠???0f?to?\"??)\nJ???ű.???ԕt?zGy?t??]?7\Z???m8???????HP-????ߕh?J?,ٙj.q0ZH;U솼9ǐ~?Ի(??????T??d??????387Pѕ5??d?l???5f??*??!????Ӂ?A??\n?ƽዳQ1? ????4~??}_???\Z??r??u???\'\'ɡ??j?Q,?B?[??	~?e??p?fFr??AB[AO??i???T?\r?\'??Q]??)?W??L?????^?J??]o?]?4??<v??۲??A?n?H?\"?ٯH?\"?9?H?\"?I?k??:Y????ց\'s????΋ۇE0??b~????y????$K???8?-@?O?ool?lr??S<???Oy?ex?@?dz[?v?~??B?h??+۰E?7J^?=???$?Z\Z???0?O?/?2=???BHE;????????=?!?.??搈,??????L???<??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:55854802791836ecc2ad5e7224b97f1f','e?͒?0??;>?\'?	!aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4????G%{IF9YY?x??s#e]Y3?jFf???D???\\kFJI??A@oC	)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K???\??N?z`yb?"???;6????0?S?+?nz???+??}?J[?>?8??>NQ??u??F?4)t?\nVB??????a\\䩫?\?o|)+kPnE?\r??C?r9nH?!?\r9oH?l??v??;??.??????,n???Ê?>mV??)?U\"?E\rǤH??Ȳ???????!???')?U?d?3?u:?????me?F?????9?Y7?c??<=}???????Zi??⇱?r???%}]f??9?T?ю-i&i?}ys??~8%YqNO?#r??ȱȲCu.??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:55dc775f74bd3852ddd671d71b6d81ca','e?͒?8??S:%Ygb??r??R?Ԁ!9?0????????4?J??X?az?s?h?????@*Ǫ?%?xd??<# ??u?zB:?U4?nl[t>\"ғ?p?ѢV\\I??????+?ot???66?m???!???=???=?<?~??=jq??3?A??@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???z`<??T?.???S???6x???UJI?$???{?j?????Kv??K??n?]*vG?\bH?F?\r?hv`???m?J??2??8`?????f\"Ք??\r]??)]????@?????R?;???]????9r/??J??!ُ??Ш9*ߑ??Yzr?*yťQ??????E????l\n?a%a$??nHh+??#??w???*9??>??;?8E?0?????+X	???S?ۑ?q??wGVy;?HXՀr??뎜v$ۑ|G?)w????Q\'???}?>??????uq??ֽV̿?`?h??b\"??Ĭ??fg,?(?<???~??S?ɹ<???p?9+?I???c??i0Y?h????=????#?eqc??????/???x??I???(~??????Y?eFZ??U#??f???W??,?(??8???!D^$?H?\?	??ߞ??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:5ce658b209b43cb44aa540d8d3c86c64','?Z???=<???(????-???G??Yv?{??W??۩K_f`????k??\Z	T?󝋏???,ܣ?Ѯ?_\'?	?ģx<Ic_ol~$????$??$???0/?9?????Ϳ?????5eHکDB??n????ȱLy?>AT??K?\Z?5!?o??VѼ?B???кDɆ\"???0?!1߸?u??9???h?0pz??=?߻ub&|Ni??N?vt?{?wx???(T*0?p???~???\'a,Qc??Nf(?C%{?\"\'???Mk?=?X?؇y?0D,fc?A??v	??1?ø??,??G?10{ѐ?.]%??+???ǫ>??$	Fv{??sJI\"Hc?r̔?S\n??/?+?R?8?&c?#i8??O???????2?g?m?4%8n??*?Q?`?in?????\'Amc*9????M?0EK?B??E?|??ڀڸU?'?G]?,O????E??????a! >??E*??SFK??????=e>???D???>ӈ?U??3?2??6?=??ˠ\niba???[??ȻP?c?\\F0.??'aJ?1??\\???R)??rC?\rv???$\0??l+m???%?	???????0D^s?\Z???t8K?Գ?C<ǂ|x?x?0?Q? ?????ϐ?|`X?+u??@???s???Uqk??J?? =L`go??U?]L???MP?ξ???T%j?KW????ڷ?Pb?_ڱ?%????+_???\"???%s?\nx????ua=???0R{??0???B????ل?g??T??/?I?@?????/?\ni?pRk?E8I?b1i??\"xN?5\r,?o??ذ|??????*#???[?F?dU?n?:???,???r??Fb\\?J??#{Q-}VGg)UWt\\??X-??A?\"?O?FXڏ7J,?,l!Y?????s?wq?`2?d?c?гZe??????b?????BeaH???s$?i=???V-?"?>?Op???`?\r6C{mۤ??2??????-?Fܷ/Y?T??3?&6?Jٖ8??#6???\'?g???03LG̧?M?2?ү??????C?n??V<ɪj?R???a^C????????:`?f????_?'?gg2???28?+?ȿYC(\"$????_????pl??l`acz??|eL??gs?v?rO???????c????????:?? ?d???\0{i??RO????!?}?SE??@?|˩?}F??S)??;???>??(????Z??Y2żlKLc,?W???J??+B?J?1?+Ɵ???'fQT??+J(?N=?.?O!??????I???:?c?T?_H??Н?U??NP,k??0=??:???\0>???r????L???L??U??f\n???;?6??????:??aGw????.W}9,?~??_?J?|U?Hq?\Zn-5?K:?A?#Q?1?~\'??B???E?a???????R??B9?rO?H?#OW???y?٬?r??=????2.KM?F???o????k\ZaF???????{?K0^? ??]??????G6Q\0?E$V;??B\\??B?u????h\Z3K?%H??gk?9??[h??9Ԏ???????????*?]????Pō!?|?Y???N?? 5\"3??l????7S?U????n?%?Tg??j?nX\r?-1?\nH???7d??5r???V??~h?G???*7??5?9uw???@}?6?v???*d(?vG?]5?=p??~?\?TJ???j?????u;?f\r7?a?0????A??E??ڮCA}??Z{󸪼??????,?Dˁ?ɩ͍??3?ݮ??T????=g/Ac?kha?E?6???J?!????e?????z??\\???{??!+o??M?\\?+?0??e\r??=$????6?Ɔ?$L?7?,x???W&?`?2??WE?k?\'?b07`?d7???庁?f8?IT?h???????\n\n?j?VdW(\\??K?݉P??DquP??h?e<?K??ҥrY47?S?V.lx\" ?y~?KӚ?UX\\AJM#?Of???K???{8?h???7?kB榓??2	??yH?]??????$3\\?n?o>&??ꝥ???y????-v}swg]p|Wf???p??pEɱJO???uJ???oó?s??l?T?c3?y?$??0?;7????J??t?LTӁ????v#?xmm???S???????]??\?ra???HL&˭?=?zÝ#o???B{????????????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:5f46b826fb7a6ce93d317dce473cf340','?iw??\0?=E?\'\'mZ??Mv?$ľ?r?????V???\r??ꚞwޱ?????\n?B??????o<?]??j=??ol?l????.)?kɚ???p???U?d????0t????E??'?7L\0?x5x?ԗ?oO??UίN???????*u?\\???ϯxk??*$	???R???,??V??N#???D!x?X*z??W???z?\nPP?????>I?[??9?K????$ˠ4????,@??t>Y??.Y???&??@?v?3?Z?=?????\n????Aw)d_T?2(IE%aH!*h?Z??5e??l0\"?}?h?`?^-???f????&{???!????`??\\2?\"?Nq?Kz???\0??/ߞ5Z??????&?????Bo??q?Z[?ׄ?~y?X?S??w?[?l>?+X\'??W?ѫ}1yk(?xͶ??<?D?C?*?;0 ?V????=???W?ȟh]W?^I?6D?l\0%M??G??dD??;?????&??)?????E[2?f?N-?p????͇{]3e??D\"??\0ӌ?)???|?w?I???ԟY?x#N???<?ޢn?yD2???J?A@?C??\"???-???u??I???+u?ۛ??C?JO???b?u?GC???)|s9?~?O??ђ~????x1???]h??#?ωW?????L?Bu~\0݅?D?6?&r???D2\Zqҡ?q%Y??\n???>\0P?~?Vч????1?\05????8bۓb??w??x??L?Lҡ?p??d\n?M6;t?????E?\nf????\'?Ow?0??\'?4??\0?????d?????k??d?@+?w?w??j???????x?̴?Z?ϓn?I^?m????x??????c?ܣ7kO?\n??D??yW?Q??$\'UzŇzQ?????\0?w-^?\0j??|?q7??,K[??<??=YZKsy?D??C\"??X|?U?7??#s???????$0Gx??U/V????s6?yҔw|???%W?NȪ???&???}X?|???[????U??\0~j\0?????(Z?CK?HG????\0?0?????d???\'??????????????v`??^???E ?	_?=NI?????w??????????;?!\'c?7us??9p????0???M?	??/?A??}ۗ?!?r@???M?r.???o_Vdk{???9?W???\\p?2???????=?@??L?r?E?i2????	????\n*???O}?n?????'?8?OǄ?OQ????hƷ ܠ-ˈ\ZIށ\n90???w`?3A/+Z???@u?o?????}??J/\0?½?????=0?@O?????̂7????????w	`f_\"\"(`?b·??X?7??7??ZW}Ә(????????|?&??d??M??x>-H?-!X`P?X??n?O?{{???????K??Ⱥ?F\Z????˓?	?{??xq`????p??Z|9\n?A?·??\\????U??JVC?s?B ?)???w?2<#??	????طQ?Z??	?b4?r?(?j??կ\0?ş????+??Y\"????ݩ?????D???\nF}Xʕ?`??`leuC?4??@?|??\"hƃ$?Q??????xZ???????Y9?r??????c?????Q??/?U?????qP?|??Ƙ?8?0??*?O??L?|?(??#0h?'0?s????\Z?\ZL͛??Z4\08L?N2{?r?m卓??Bo?w?Z??????Q1߿{`A??H?D??2??q????^`???????CL]|?AW???	????~?G?1@??????g^???*?^<?c?X=?<\0?6?`?F?Qv???????=?*?k_?˛>?C>`b???mr??4=?5?I????????\0!??T?W??m??J?񰠼<]???H????xE?`Q^Cy??????fY?u?>?{?b???G,??q|??\Z?9??ɽJ<\0K?"x?<?J1???xf?Y͠???u?Z?M????o?c????:??B?Z\0N̫?^6???%?/?h?%?y??\rH?7z?p????????|????B4????\?d??+L<j?L?[@?????????????r???:?V|r??Q45??????n?Z?}p????yVZ??A߼D: ??C?K?@?\0?C?,\\??f)???ھ?pG????^}?蕬l?MZ5Mސ?/!O~?~?8C8????????K\"?^8a?鸷ǐ_C?I雯?2???X?\'F???V??\r??ƽq?`?d??&?????H?*j8??FRy$z?e?,K??[kUt???T???)?)?㻲[饧QSEMK?J???g?:A??ҝ1??ԧa?-o??,2??????ʖ?eC?1????W??_>x?\??@???ؒ?U4a?3`yE?? #??\0C(S<J?????h?j><?{\ZI???\n???d~>????? ??????6_?? ???????\"2?ϱ???????????V%D?Ze???Vl??긐?nj?M?]|0\Zw??iV????^^?à??♚`??\\_??-^|D????????M??갘ʑ??b??\n[>?? ??<}DJ.??w????Z??\"?A/?L?S???R.?K\rf-p\\ؖ%/?V+??adx66?=+]?W??v?HY???Z?J?lR??p?_AcH?O???f?he??<F?g??5?\'e???+<??k?ًNN?/ɳ??????????g g??7?a??h???????q???8=砸??T?ZUa?#?	/:????!???????EB??t?˺x?]e?????7s/??\Z=??rK????Gx?\'???Y?挗??? ?\'3՗1f?Ȉ?2#ͳ???\'6;?&???;???]ue???????o??l1?X#*:?????y?kB?9\\????n+?4??s?A]??4s?B??n3m???9?:M???\\???O?&?f+rVnP?u???V*?8\\????{?e???????2=ج????!?.	??^???n2ϧ?Jg?8??f?7???U?m?????7h?t?W@????{???_??ǀ?#t????>9??????F??????_I?????? ?????\Z???ݦB?vJ}#??&?=?????[k???O??	?/?????Q\'??jteΒ?{jUPh`j??\"??A???D\"???g^\0?????????3???`z?rY3dk??hc{??p?O?^/?a{(X??#?????ʊ=???H???a????%??B??G?f?????<d??XN?Sb?0-?_?]l?~?g??%?M?[???dd????h??D77???ۣ?۩Gˡ??6^%??K???[rcĖ?Ռ?;?{ļ4(k?D??#y[?y??]???-fO??EO:k:?k???[hb????c??4???VYh9?4d??@?=?&?3j7?&-ƒ??^gg?Akj???????1R霵????)x?h?*?Mo??}??L?r?˔\Z?T3??1o?=??G???;O????>???E??Fr?9@݊M?**բ3??0?^Z.??ʕ\n\01??T??Sn?+?L???p]q?xaAX?PP?ޡT????u?Fm]??\\????<Օk???4|3Zo?p??I3&?ia#̺|6_o??????F?>1??m}QW	??\r?)o\n?2?A????(?|????x????P???M?Y?6?r??????V?H??????n??Z೉???Gy?\'??\rd???h?>Dm?4\\JG?/???|!?Y?5\Z.v?^?7??!?2?_?TIu[???7?A?t?u6??^?if?!DE&???8q??R\r??f5??vkt??z?f?w?ް/W*???i1q\r?\ZU)%??&???????ۻJG??????/;??PUք?ݵ??=̉??n؅R\'???=?&Ȏ?\rl?F???p?ՊƮ?r?[oW???F???#?;j??U??J???AF\'?<%l\'????????????	??J?&n??Q/_s{C?/??[??s1????]?;f?zԴ??[?ˉU???r?UE1E??h??b\"V3?J?U???????`???*???n4JQ??y?3??;???v1k?D?Q??dT????:Y(C?r?Ck4?oFNj4????n3\',\nj}??G2?????R??D?!???1+?m????tp?????duUڭx??3UiJ???<X?????>?&???J??)???Sn?B???٥F-aRk??<R?N3KQ\r????4[?tU,7J3????Iɩ5Y\r%?\?N????7?ZRwe???m?R???n찝i7?{???V_R??뻓?M?nAn???l???rɤW??l$X?Z?	????i?t?Xp_Ukj\'+׭??I?q????L+\08?????*?4?\\\'ge?????}H??cd?-?????O??4??L?????+??i{??\0)%Z?y.?M-Ȳ?Ĭ^E???5x????\\?R???s??%g??%?h???Q??&?????????2*O?Z|/?s???RhO????Åإ??Jq????Z?????*KU#??jU??5???wc??m?B??F\n?&#ݍ??l9\nJ?J??DWr?r?ڻR???x???`????*??hX1[za?Wm[ή,7ϰ??? ???>UW??ZJ??ё?+m3?֐?c?????~???8ٹ\"ѕ?ZA?!?!d??Z???x???n????7??Bk??u??d|?`?p$????B????Ks???????F?lCt\\?fd?H??^e?3??22????n????t8W%???τ*??????i+?N^(OJ?????????\n???2PFc??;?=??:.?????vI.?jMg???j?????<O???ͩy?????ΝtV?????0SPv?M?fC^???VYW?[f	???J̤?0T6?m?OIN??Rw???^yG?\0?,?I?3T,?3?x?N??,?5Q?Vm???\"կU???ڵ??lv,?`n:!ʹT?QZj?#[?]??JT??????o??f?0?#d??P?;]T???g?o????]]?565?m??????!????m?? 4?*2\\U?n?????6Y?ô?,\'??v???Si???1B????4??\ZO?j_?7{?m??l??mQĴA4??r??37w???|?A??n?\'?3k???V2S??????ڂ?ԩ?Nv???\n#?İ0b\n?l6Z?n?m???bo=????jMp?r?Uw?Vw??????X???^9ct?),בۓ????ũ??????N?`??K?&??jΪo?hm?M{|?F┙u??????e????k????Z?8??`q5??T????ʑ[?k?fFd]w?-??????R?n8?ӥ????;??lq#,???-?2?$`8??uj?L?Syy?S?6??Mö???\\??-7]҆bM?3[?e ?4Yr/?j!W?.???v?%??????niK?Ѓ?mAH?٩??U-??.??;??ey?2??1??Q?6??9?dk?y[?\\?d????*4Xݝ0??*??qL\rE?I?$ѥ??N{?n!X?F??ۍگdr??B?Yf??UQ??X?6p?n???5?\r??\\Σ???\r??䶄?\\ ??ZpQ2㺰[????q?Mr??ә?F%ާ:lT3?Y????!c???,???o?jZZ?̅1u[״?쵁@?W_?\Z?lGCZ??v?jU`^k\r????șQ_o??ӈ??q?:?V??g??y?	%[?K????`??a???????]?a??,:ɸ???\n?^?)%?;jo?K?xU??????jnRá????X^B?????ݘ??jb?6?????\Z?\"-[Z?N\rh?2?k??1??N???????\n?d???\\??\r?5?*g/ƵR??ZC??DE??F?86&???rh??\ZBjcK-%????q????	-,???&2ŒzVb?^p1?P??Zl??+P?]?z+??i?Kv\n9HG`FM16????:s?7?e?mƠ?>?i-?4W???\\??á??,???x^L:??QrK]dq??y???G?خ??)qM??Z??r.L??V+\rR???kl[ZpӅ?P\'??m??fewp???{Z?l>?"?ohfkW?0??????#50΀????=3c?????9?ȭ?v.?Ԯ)???? ?Ъ?*4???XTjBH??D???????5:]EW9???6????:4`r26?F2?_?sd????x!W?כ???v??ېZɠܶ??+?w?Z?N\rYU???>????OO?:>ގl@?Z?$7??\\??\\:?s?z?	|?9&78&ON??t?5O!?n8??Y??|7j??U5]W\Zp-UX`??v?h|S@??$]޴4h?6nk?9??\nB??m4??????Lv?#????q?:????i??5?HJ??6?[+mu??T??g????V???h??`?VQ??\Z3*g?I???ޔ?(??ht稕?j?.?q!g?^׌z߂?nû0?5|??? h[w?B*C????m?8???",2%>h????\n?p,?5.S?j~!?:ʠ6?k??????y??,6???\\mGv{9?ǉ???n?T?|w????K????ƅ-4?30?A??_U?>?v?e?q9ʝ?8??U?5????U??0C?&JsBw\n?ێ?&@??q???_?{(<??R???Ԗa?ګi??/z?wM???EÂf????r??v;O?\\٢?j)5?&????0]?s?NX???3uLN?ƆS???Y??<JI?*?ˊ?a???Z?L???-9A???V????\0ZNA?k1?Tv0?ܲ\0?V??d?&???U?\r;6P????OWF?n?w????H???3?dq?w??e??2z?]???E??????̨ B?8v\'W ?T?.m׀??ڙ̚?̸,Fm?T?4L???fPluŒ?#\r\r?ZoLm???ˆX[UP??!s?)8Ҹ??[?K???WW??M??ք?\"{?K?ۀ??6?j?!?pR???\r?Նf\Z?w?j0\\M??U?O?+??(???k?mW??Ӭ?>UDd????N?D??I??SE?I?*v[0V+??U??/?2?7?;/???Xsۡ6B??U]???mJ????v{V???ڨ?;???D?-`??\Z?γ6????4ϡZ!M\n???FuA0?Q???Ѝ8aZs嘵????S<?????¥F????,{|Ze?Y25\"?Vm???5????i?ӛN^???O?V???6??\r???????|???sH??????\\??L?0??\"?|)???n???9?[?ն??pWN1??ՑuހHhC?????8?=e]#(^΋8E?3?6(???	???8+3?Y?ʲWO?u?;?|?U??A?zDy8?cɬ?6????!vP???????ذ?H?n<?Y??g[??[V?֗???QP?Eަ1|ڦPn?̂???2Ǭg1U;&]\"j$??j??yBtf?\r?\Z?m3?m???)??AvD?m??`?^?e??Z?tn???	e??T??Lw?T?m???*2?\n???Q;L;????atQV\nkO??N!?O??:t?f?T?????kR*U?*-m?q??????Ქ???E?;в?0H?;??!??;??ڶV?R-\rx???7??O??g?8??9????K???.&~????#?_?h??????j?\rRN??hC?;o??????Q?n?E????fv?E9?H?????????׭f?Jww?ނ?=??Iz:?Z??8[?4Z?Ŝ%????Ȫd??Zi?K??_,M?[ܪm? ???o?7??????3??K?J۪;????e?????XN?3?? eէ3?c????ԑU????cW?ڴa?v?	?s???E*Jj???e?ܨ?v.5????-Ј?\n?<??GcR??b3?d?jk???.\\q?un??:???Y???h???????徾???e???2??R?\0\\??JF??N???i??\Z??0?????q~???j?)Lm?\n4?LcLz$????^o?Q?Kh(w:?B@Z????73?????^?w???:U?]6wʂF???Ouk??????T+LJL?`Sѵ???t?{?V\n???n???;??*KV?\'??????4?b?@???[?%??%??9?Z?[6{ ???3???8?M?xN???C??agV?ڽ\nKTv?9t`??0iYF?ζ_cg?3;?n?F?#?k?)?uShK??ր?K1?yeY%qR?*m\n&7?nc??????\0C??$?*??gu??A????Z?I????U?z^/??ڼ??q?)???d#h??	?f? ?ʄ^??n?IF?n%J?\r?q????A.?~??6?{?x?H??5l???????۸;?nVX??+SݚĶ;???&???&?q??Lչ|????? ??	k??V8}c?\Z?q?????BG???^?\r0n5+??r????Ę?v?g?I?C)?[2S:?????S?7*t??E??L*?5k?.O? ???B?1??[6!*?l?M??k?:?`r?itv[f?L?`vڬl?o?]???\"?AHVYA?d?qBhv????Jzi-?5ԭ??Xnߌ:?(5?5????r`??c????.?A?E??\Z??\????$g??o??m?ϕ???т??5?&Đ?~a?\????:n?]?	?C?m??\Z?y-3s[*???S?U??!??2a??3?O???wa????N/??sy?Sxܦʵ?Y??<B???+??t?(?d?2?V????i&??|mVm?l{Zca????7?ɴ3?:????6????????c?8?bS?i?V.?̕?n\no??i?\r??*??vF??٩\"?Hgv<4??&JʍRoFr8????\Zsފ|n??????j??Uo???o1-OlL5???5$0??f3q}(?:Sa?Fv)?o&??$wwu??F+]?4J???/-???ha?aIh?f?#t???ҦG?\?ޢ4\Z/?Rɔk??4??n?^}ZB6??\'?????&b?lm????5?̈??OpKS?HD?9l,1M,????6?ssٜ??rbZ?Ė??T???\n?Vj:??z???\\?r?FT^?A0H??=????H???Ei?d?m??????6n?K???T????](??e2\Z\"r0??:?2?K???5c??k\r?????l?@ךQ[`??Ԉ᠓V(c(??̔Kp5?P??OoiuV???ڶ??-\"Ԕ? ??4??( Bu1Jmx^ܴ??&??BY?????\n?0???ƪѝvژ[??eW*\0/?G?R!???x??]???8ͤ???il=Z?\"?R??U?,????Q??t???`??\r?9??+?????\n?.=??[?\Z?????M?f??????=p`c\\???Y\0r?0?$T?R??7aV???????)???Cl???????6I???V?`=?:?ݹ?v?3bk??S?*:U?2Ǉۂ??-R??Tj(`hoA[(?F??\"?\'KaQw?.,???w?\n??)ٚ?????ls?&?0???Z??Z?oQ??\'??B??X???M??x??X)??F?+?՘.{?i\0??͸5K??fЄևnW ,???%Uǈj?\0?a?U?:0#ζ?Ȃ?2???j(??P??D?8p?q?j?^~?b?;ﵻ???/?;̐d?к\\[M??T 	??$7????u捅Z-P??bVS?.3m2쑉??&?ЪVS?z???sb1?&??KC<???h??N{=,?%??{?g??????f???	??,?ʲ?2?n`M?????2+Qroז??S%:cl?R\r???Z?AUzت?UHi??????K?9ٸP&????P??yHAw\Z<?Ez5?Az??B???Q?]u?昁??j?FĪB??????kR?T2ch?S[????w[lԐS???ˍ??ۍI???2?TÆN?5!?\r\"? k3?e[d???i???*t????햰!???@u??&?\r{?/*;?K?ڢ????$?K=y?9?L?ǭ5??<W0?????T?+Ԭ??fAԭz?/???f?v?|U?Pe?.½????\'Բ_Qn?*????&|NVӢKB?Z?sD~YVD????r??T?\"???aM4?????n?9??w??nV?1?յzM??q?̈|?UI\\kթ???JۦZP??4k?Q??????D?1ˬ??????͵^?l?p!R%?զ??????4?85??fK??҈@????\r)????7Z?FP?l?7?L?$??????9k?o?Kd?b%?f.|Y?07Opv;t??U?qC\n?X\Z??*??ږ<??u??g ?60?\r?I??3ۘnC?;Z{?????*K?Z?k????Ez??Vw???????-9Զ?FK???4?Dﯹ\\?k??j?8`Fr??;V?31U#\\?I?˕?m????EŬ?????F??????_?? ????7?)2hB	q??yiN?3???:?pIhq?t2S?Cmed?eN??#?Š*???u?In???5??I???13k????/ѸY??h3?ų???\\?Pf?\rF?%?To???ƙ??<?PF^???-?pMm?1??l:k\Z\r??Z???TW?L?NJ\rb<??֚k.:??10%????^?3Q2t???PuZ?????P???)?e?7?pK????f?Vwח?7?B?[]?????YA:P%嶺?2ֵ?qc?\r????f??8^T?,?clA??TWa???????B6??k?dZ??8??̜C[zy?w婦u򝼮㣅?M??Q?̢˺]?w9??z???n?^83#??#??*$5+???Py??M?]?lF???3?i8?uf?b?l@}j莛s?(lhOu!?CI???ϕ6?)???n?@?\nen?i??????C?\r\\?A????ϐm%?&x??jM-|1?0naV?r??*??8:?ҙ~?Jg?J?ndR5?1v???j?t?Z?Q?;|???6UZ?7????????]Z^?\rjDC?Z??7645&?wJ??\rpǪS?Y?:???+YynY݉?????ΌtT#???k?c-?w\n6?q<?eZ??\n?:AOW??F????Bg?\"q??[??zs??je*D?^?{Z???]U?7Q?^\Z????G?\Z?]H?????(1R?S ?ﯛMv>????Z?6Ke??a??>2S????͐?6?.8????9?KjJ?0?\r?nT??$?Aܰ??ʘ?X?ŵ?Y?d?V![???????P???????*Ҳ?0?L??e<?:@?g\n???nS?3\n?????U._?\Z?|??I????i???d????5??c??c??C?_?????1??`?\n? ?ޖ??T?N????"t??\'?n}S_??ʌ?UAa????Y~0!9	????\?;BXy?4??3?̖)|??e???+e?????~?????v??**?W;?[??RBnD??????+fI/r?)???Jv2á\r???TS?????V^?????=r??b???$?m??D??Ej?D??-첌?U?U?b? ?rF??N??ƈ\'Х<l5????F?cC?P??d?;??t?8?N>o?(j?w?;?6|???Q??-k48?̀Q\ZT?eVCp1?]??,??\\h?g?^?	?V?q?:)Wݹ,2??:????\r!kt?cg????>??R%???TQ:F^2??H??knp??j?e*[???QM?? ?\"??B????e?*xRX`f?M????%?\???S%?k???Ѥ??j?҄?V?[?v??tk?\"eEέ?DE??g??n?MoW?\\?ǭ?6??N??`ђL???I????!??kT?Z???G?\"?$/?y??x]?9???:;????sY?9?a??F?iZNO?`U]r?/P?FgP?uV#I????R?H.[v?4?.???Ұ?C?Ԓ	?F,vp}Q Q???n3??`????5?3?\Z?+`?.֧?\"?\r??&?1?Z͕???*)???^???a+}??Z?v?q???j?)?5h??z?j??f4?)öT<????p	??p?*q]??\Zk???c??x?[o?(e?????+`???3?8Sxg?f?j?S???O?\r?q$?{56K??eU#???v?s8??????mP?\\a??A?8~?P????R??߿?????}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}?}??}?????o?????9_????PKC???ņ?~^l?y??ņ?~^l?y??ņ?~^l?y??ņ?~^l?y??ņ?~^l?y???Ü????0?2E???K????:?)???g\n?3????L???S????g\n?3????L???S????g\n?3????O??|??6??v?.??K??\'??????????L?&??????gr?39????L?&??????gr?39????L?&?????dr^??Xr~?odi??S?G?w]3eK?g????}L???+??2?y>S?<????/ ?ᯀcW&?^?O?.N7??^?@*}q?G?ژR??9[?L???X_?c??h?V?:?E??vc?`????8?o2???????H???o?????79?????s?\'?????7??n???????nuR!\\ƻ????H?e?>??5????_e??v?&!??#ר??f:}?*!ޕ?S{ϒdvyK?<&??sS?n ޔ?x???i??wS? ޔ?[$?-|W1???[???r???y\r?I?ȷE????!??l??????M??i?!?M???\n?ѽ?}?Z??B?2?vo!^?(v?L?\n?L?P?Y???ڪf?S(B?????B?6?5*=f??"g???L????????.o???ʻ?|?tSÇ3?Ō??d?r??#X??o\\W?؅?GX??]??44?????к???????>9F???k?.c<2??Gլ+V?zE?#?h????????e???9/????:?B?p???V\'?|??܅?F?????\Z??F?B#?-???0??\\????4?i??CK??9?ԑ;-(???8K+???D??qe???8?VVn?N??3???p??Y[?-???\\????t?d8?????4s??\r?\Zs??XB?*F??E????/??;???X?????E??T????4???V]??yq?}vS?q\0[\\????:	e??7e???N?K?_??"q????I??????%sy?h?qM??R@ӯ?i?ע??\"???p[4????qJ-C֯I_???:?\"??pd??aY??&?cp???1???M?8g%??8?????\n??As???	????sM?????H??B_fn???????&??_??ds?????s{_???7%?<?{?????l?\0+fĴ+??]\"\Z?௪???9???뼸߷??uۿ>e\0?/d?Y?!?,??????#0?e?????qR7?N??_?o.?1+??w6<Bc?7|????x!?/???n?????x??V?ܛ????s;޽?????r?6o`^?ܠ???@?C??n????g?hE?)\'>?e????s?k?m?h?????1?`n?????U|????G8?2{E\'{TNg??J?!?_??BI}?SS????}??????4????k??~i???D?Q????*o<Z???2??$=????????<?<?????|?B??JԖq?-??.7?]l??82,???<?????????1l?(=W?\"??2????#?_???,o???;\\\nT????????9??5???ë?B??M?Y?>????\0??Wt?~??6?kʔhNs_W?!???A???Ns?????W_?ʛ?%?bY?ޛ?ȼ?y\0|??&??M?:??%??b6HR???E}?+N͘;?)7??I??K10p?e???[??oԭ7X?E?}?u??>?f???\r^??*???PF?%(??+??\n???A6)?aгq?&??H#?y\"?$.?30dW??9+y??T?_Y\Z?^_????????_+???????Ѡ??D????k?ϙg.Og?$??\Z?t\nM!?????Qﾼ\'_?/+?)h?<??Aw{???????|??x}8|H??Y?뷧@(?h????ϯAR???YVu??IN??yN%9%?/?????C? ?P?$??y?>1???X@\Zէ{ȯ?ӡW?a????N??S?	???D????4\'?a?b??\'????o%?^????I\0%????t??g???ȿ?K??5??c,?g\0?适/?Z1??w????t????$oZ???/??5??q?6\0I?OI?8?@aҊ??ⅲ???@?Uo??S<?f???#????X???0? ^??,?j?#T?2+??D?W??????M??2?S????#?w?;Z???0?O?N??B?p??ē«?%=?˕??~?oo?Q????	??u@&>\"A$\0׾????l?񷣾}??:\r??p(?x?h?\0?χ??|?0?????<???*?N?????<??????1??#F?\n???X?\n&?[?HʟW??p=?᷽v??%??ւ?^?Iϟhe/j??o??D\\O{?????o#?\Z??E?H?<y?????\ZX?oO?w8Xѕ)??????S???_E?oA??\r?\\? ?tթ??->|	?????!O??k?????8ϗU?{0???_??~?Pqf?,?b??Ð/???`?????_U:I?Ǐ?0?{&<??g?F?0?[???4c^?`\nE~???ɏf1?Y\"??	?Bn?2֯????޾a??W+=2^???6?G??'^^|???8?N?w4?????m$_z@???\0l??~a?id?\'?|???4?.*.Ӧ0ߙ??%iS!]߃??K??\Ԛ??/???Q???!s??u??O?I/.?????Z?Ԉj+??q\"s??n>?X?B?Ax??6????Y^?W??{?/??+)?iz?<???X<?~??????V?8\"?Uro???'?H?o\\??l??!????BbiO??????W?C?|?A????;???|R?Y??+=???h?ˊ\0?~??@I0???d?????r ????b???8?p%x?k????Nk`\\t??u???Z??|?I?_<GT??Z???????e?-z+?????^?I\0l??U?9?W_??O?????~?&?t}N<?o???\0<?9@??0?????+?O?\'??^<\"??.?M????}?I?us.p?*H??????\0t?H?Ѭo \0?=|?@?>????\"`w???.???Ħ?\r9?9m1??W?\n??? ?US??7uȓn????λUf?????M??=????r*]??}\0p?????DNPh1?Z??????c???????0?c<?>?9)혧???-s????\0V=???U?>????k?????Oe??????????{5??c?\0]???x?Xc?ɻp]?^????"?"?S\r	?\"CP`^Pj?q?????T`K???\n ???lϵ??~H??ԳG??1zS??nhr?D?9`?7? ?x({V?X?_}???*??????~OVs??O??x=??Bw(k??Y??P?QG???au?ʡ?????\d??*\'%\'?eJ??p??rE??H?%??1F?9??Ns??B^b?x|???of?r?ݏ??(4?????Y?q??'???=0????Xy`@????????\'?????>??篰ϽA???}?0????\"5??Y?#??S?;ZǨ?H?Am??W;?0Ht?D/???zc?3V~?Z?	~&{??\r?X?p???77x??o??w??????=??y???N??&\\E???)v%tx???O?̃&a??v0?? B?{O?d???;i>????o#????\'q?c??8?????????h?!kqǥ?q???1?w??{?\n????????K?F?:?o???tX?D?턛.X?p9ֈj/?GuG?????|W??z?M?SꤑC?T?|???y\ZA?;ׄ??G<?a{a?\'?ˌ%?|??=4䷓Q??sIY?=???K??`?!?X?eL??)J?[??ˁz???6?`?Oyj?ΠE1???s\rӌ?)?y?`?\0???x\rc1C?????c0???X????????$?????mi\'?<??j?Bn?$qQH$h?2?/F?Ɉe??a????GK?????ԃ?L>???E????|?I??'M?h?=\r??;?????^??#??|?w???R?_t?!eA(^?????x}mOe??$?h?Gˣ?ر?~w?(?B>??o?'~??x~x8?|0|??<3?^,L?9~????@???q??d?1?????ch;?????Q?rw??`??p???Ko?m^??iހOR??/?M??J/^_?]??'#???++\0???8\'?m?r?&????(F~???A??Ń??v??p??a?d*????Jr???>W<?=|~?	??|?599??^8g1f{{ϼH?`5?m\"?f???????????????]??>2????<BBw???=??jٯ?%nͽxU???~6!?h??f?-???q???h>A??e~W??~?-?$N???:v3,t\"??^?????1譙\'?=??n?\0?????Y`?#? H$??IE?O[??x?t24ѿ#?\0??XQ?????9?H???Y\ru?c?^?AE????A?nx1??_H?'SH\nj???/:?^??0??r??[=???????Oؼ??=??~???/r??.?\'?)?\'~dm^Ή}??\'Ny???]ͅ\\?G?:????<??WE?????ԩp?? ???_#^>t??d??~+!ǜk????3eZ???L???0??-X????\n7??J^??X=???	\03?w;??#;\r?ơ????N?????=?N??=?aD\Z?E?{?x?G?|`????.^??(???????f<x4??D_?T??????ž?0?W????/_-`HV???????\0?????x???g>j\"??8?׈??Ex8!h\"????QDg?&?O?:Z@_???ę?????-cͅ??\'-??????%??????SW??$\'?t?D?h??I|?-??AP.a5H?$???\r\'???`???\'??B??Pz?DPGd??Y?T??k`??\ru?Ux??}???E??\'8?>D??az>҉_???ggN????#?x(<P?#\n???Y?6?????ι??C?y?F???&?????kꆚ?p?N??]?k????Z/?L?^?????G*?5?S??|A???氉??>Lq?:?\'??_?U????`C!?Y?/:?????????|?xi?Mt>?P1WⰧ????????=NK??9????0Q?\0??Qݛm`!????:I????r?/???ð?<???~z?????`N\0??N?x?=??\0?????t? ?????????h???b???G??A?^н???;??z?	?Gs?????????}????JF??;?g??_O?E??NtV5N??q?9?MĴ???;m?ZK?\'i???\Z ??A???kF??????.??\Z?????S??m???w????Ԍs܅?)6r{M??ryOf<AG??Sc&?G@??,??k^[??g?v?_???7??Ks?C=ߞs???aj?*]??<???ZQ?v?I??????b?̌R?QnO=K????_ߓ?7(!?^<Y|R??;????j?^?q????@??H?.?/J???fߎN?'_C???z*<?Rw>??{??w?c???- _?xtB??l?K\Ze?(?ii? O?????2?']<z#????;U??&?E?+^y5~??n?'IFߘ??S?????_z?B????=????7r???}M?4??|??o??b?p?jw?o???U	??g??&ߓ??o0JR3?G?@?Ŝk???~????LV?=ɔz@An???$??\\??S?2?r?a?\n????d? ?'}?F??x???\n`?\"??.?e\0??W??????? ????????ϗ??@???Ϳp???????' Lz???\0????"??TAQ?U6??>??9q?EpB?a̰?`M??????ѡ??G#?,38??????ć????¢??H??g?j?od?;?ԃ???cJ???????p??%??߼T`?|\n??BA??g$o#????x?????#(????????;pe?2nO??Qy?????VI?#?r?????N$_????b?d?ޅ??U????Hé/w>e7?^r??C?up?j????V?F???????=J??Ѡc????Ʌ??]>??2?H!???~?w?2N??[<:??d??~?*?&|???]c?????8\'???D??????4?:?|??;????????ptz??[q????0Yd_/y????T0b??V?\"M?BG4~??\\?*\nW???1xɰX??v2y?o?t??e{?q???^?K??&??~??9??x???9θ(܅??????S?Q*?\ni???@?? ?ղ???????&:???H??o??l}2do?????@?-?C?????6Z??lvoq. Š??Y)q??/?AM?pPS????H?8????q?W?B?>F{??I??h?[?0???x?????z??(????????d??$?>X?B???hx 7??3??\'??c?B????????*%N?????/??W?S??X??=??O??uf{oN?W???5?\'?????5C+?????ÖF?t?9?^??cx^\n?l???_?w??<????U\"]p|?n???/?q7??9?:Ql???_??Ж???SK?@-D1[q?_??\'?2????i?/????C\'\\??3?ЗE??o?m?]??=??NF?-\\?+z?(]ݩ\Z?tc?ao??\\7#?????VT?g?-~2Փ?????/???A??-?$8?d?)???\\?J1????v?\"S?\0{?d?\r?????a????.q?#P?\'??Q4???.??F???\r??U???\'??{?.???B?H??7\\????K???&????????1qJ?KT\nϼ>????Z\'????\\G??=N??h???ϒ?p1????0?!s???N?ȕ?S?)I:(?O????n??_\0[?	l?*?oT??#(I~>??&pF????G??0?\0\r<tﵪ???\'??g??&R\'M???????'??A??hP??y9???? m????տ??6?O:4???? ?\07H-????2???ʿz????х?w/???%c8?b???????~?ׂ-vg???V???wG/????/?\0???#???O)}????????ߤ?4???ROɧ?7\\?}?z?B:?}\r^?xV?\r_B????????(????V????h??\Z⣆l???|???????>iƍ?qϛ??C???ј\'???g??ޏ-???1~?G???}k\'???aG????????hO[?R??tB~????"x?$?"h??\\?f?B6?E3?<??tp??N?/?CwI???p?xZ%?o??.?^bϱQн?x??????~?ӿW?l?;8??x\n?3??\Z??<\ro?0????x??W\0???{?{>???OjFr?z0?????^?\0)???\r??}??޷???u????[?£??\"/???k&????&Φl?G?(५??Ux?,?7u}?*L???????\0??x??/??\\?\0??/@q?t?$?\r?Xg?Ǣ7?[3???qz#???????џ???`?E7? Y?Y?c?????R?x??k???\"?|???????`???I??x0???*?% ?:??????,?{?"X??4=n䨅???1?o~????(?V?Og?o?f0\0?L{???/>1??7???u==???w<AP??k???I?@~?>|?\0????Þf7z????(y{?H?<`Ǳ?o=G\r???w????N?Q???f!??ZK[^Wf\"??Վ[?ŀDx?h,??????Z;?^?W???.???pa?????Y??????~?+\n???4O<G???????<f??:????7y??a-??(??y?&?K?n????A??{??w???b09?????????c*??!?"O?\K?.??????\r??ׇS?????'w??y????W?G??0͖?qu??r?d??????z?0\Z?W??\n??zC?P?o<???s??????b?ge?Nh?8???w`?B??|?_?gw?a?Ny?ֽ?n?ܲ\0?hC??A??p1ĽN???????4/k???KO|????Wp???!???9?\\???F??8a?K3\Z??(_???x?6?\0*X?D??W?@?Lg?$?A?\\?v\09?oz???rw?VA~????k]_$?ٜéJ??,????????1^???7f??O?N??z??_????????v????}?1|?ez????GoZ??_??o?/?/?̈?1??3??W?|??\'Kkyߕ]\n|h?ܜ?ύ/??G??ïU?H????? ??R?5??????z!??p?E?|?=??i???M?a?Ӳ~EL/?f?{???^?(???N,??V??B:\'0y:?ʡ?<??<?nh?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:63b1c8982efdeccc421b9e01d6cadf3a','e?͒?8??]>?fz0IHB?Ü?8US???ۄ???l M???Y?????Y????5(k????&D??J{Vf;&l<??! +??ZU??ғ?????CӠ	?T?????Z??QİXɟdk?jڰ?6??Wƺ???o\Z?t+S??+PX???????\"\Z?h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?r?é.?????+??}????I%?\\?o?)??n-.gknT)?L7??Z??????еR?f*ٕj?p??Vn??{M!?=P??D?;愄;ٞ??^?ё???_???2H??I5\'3??W?~NW??#?$??? ??????NG2?W)?V???\0??*6??QoHCZG?z?*??х!v???%?Z??AR\'D=p\"	)??'??????{XHɩv??m3?zy?r??R??-???'Gu??(]??6C?^??z? }?t?c\ZL3?.??>cep~?\Z?_?|C?rؐ?rڐ?\6?g[???o?۸?6p?D????q,{;????????'?<TP??d9U]?ϟ?????˞ׇB^???^?~?"???!??k4?>??^?C?Ͳ??[E???????g^;?????????ݷ??*??????V?vlI3I?ۇ/e???8_?????W̸,??_?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:67975d496c2e004e3c9080d044c2c65a','e?Ks?0????p?l?z?3?EZ@AH?$L??{W<ܴ?vW?bqE???u??>???F?g?????FcR9V$?8??#+??\nz?YUF?k?????v}]????????\0?????琇?X??F[Y7~????U\'??Qm-^a0???g??F?????E0?????Y\r*?~b\Z?h~u?c9???;֪&?Hʬ׭6??24R`?"*??ZE?\'RS?ziM?c]db??+ن}??7Q%???n41???r??/T)%u;??Zoo???B?,ٙj.q0??v??rys?!??%P??\r?\\??l?T??d?\'+??pn??+kR??????ѕk?)	??!????Ӂ?A??\n?ƽዳQ1? ????4~??}_???\Z??r??u???\'\'ɡ??j?Q,?B?[??	~?e??p?fFr??AB[AO??i???T?\r?\'??Q]??)?W??L?????^?J??]o?]?4??<v??KX??? eE?H?\"?٭?E+???EN+?&k??:]????ׁ?s????΋ۇE0??b~???v8??e??~ʪ<?s??/?r???ƦN??}????T?d?Yʫ4;???dz[?v?~??B?h?ŕm?"?%/??l?<?V-?{?~ڧ???????RQIE;????????]q??^??a????D$??a???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:67bb658efdd62c79be4ebf6bdc539cd0','e?Ks?0????p??1??cf2BZ@AHT?n???+?n???}??N/QN??0???=Xp_???nZ*?%y?\'L??O?: 9??:?@??V??????p-۾?????????Z?2)X??`>,???VFT?[???n?MP[A7??rnVЧ?:?a???c????ŗ??E?O??4ƇJ???j?a\"????V?T&?j???BA?KuFKt<?\n?????"Z???]9?Go1?񁖺:??s????!d?}AiFY\r??VJ\n?ī?5K?05P.T5??Ú?*??*? ??ү{WPL4????m????2Ђ??k??2z@??Y??%?????8(F?!??o;??iOƠm???p???e???b???e??6X@-Ǩ\\?.?.????Y??S\r?:\"?Aa04|??hݱ	H?????kwZ??&_O???>?*E????????n???Vߦoh?s?|Wo?\Z???IU?0??6\"?3=|????vE?rڐ?rِtC??mHm??v??;?ϑ????:/n???????9nr???QR?q?&?L)/2?OiV?Q??ԩ???Izͮ?f\'(??\\$?E\'?Z2Θ7?ޖ????>????#?e~\'{??p????.??|?Z?????<w7????{\\??y)$?g???%-?Kr?????Yg(??Yr??v???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:6bb70c3ffad6f3d07aa883cbed031e2b','e?͒???S???????r????c??????q?o????????!?sר?\ro??2){t{??????????b\nkLdt];k?O?0?õ???3B?#?'\'	:???F??P??XU<?zݴq?k]????m=?(?0??tW??&ekt??2?;?U???LJ?	???j??t3	?̑\r}~?UC~???;?Keh?EVH??w?Ϥ?((u??S]t?b?PW???=?l?Jv?;?s???? [\\?ިRF?&IU???ۡ??m3??5?:[k?W쁢??\r???ǼTp\'?:\Z?2:?????+?0Rٕw#??d|????n??Z	?$???????C?????ٙ`?;M?7\Z??r???T@g??bK.]Rg?Y\nh?r?ZduB?/??Ð!??hݱ???????j?_??????g.\\??\Z=l?$>???<E??w??\Z???x\r????3`???q????8???????)7d?!?\r9n?C?rِ?6?????؆]l???K?}y_wL?`?i?5mv??H??\n?ǲ?P????`s??????u???š??5?/E2??h?B??=????#?eug;????????yϼvx?^I????~?o??Y??Z??U?\r??f????P??g.?u\r???\\.{JW???x??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:6d1715fec1ca2064ad87312fba79e4ff','e?Ks?0????p???z?3?EZ@AH?$L??{W<ܴ?vW?bqEz?'?ޡ}6g/?v?????????r?H6??p8??GV0??3???Vר\'??REå??F?B!=?;\'\Z-Jŕ?M?a?\"?????n?BW/?Njc??Z? (?`Hكj?a????I秋`?????\ZTH??Ƈ*??=\n????]v?UM~??Y?[mMeh???ET??5?O??((?ҚǺ???PW????|????.v????hÁ78???P???D?j	??????D???g????کb7?9???ޕ@??f??+????QNV;??@DW???%3?`CW????\\cJI??\rA@}w)??d??R??r_?????Tlv??????\nh??o??}?=9I?????N?z`yb?"??-;6??0?0?c??nz?p???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?\\?no{?)+*PnA?+?[?lE?ٯ?E?+rZ?4Y?u?:?w?<?#????u^?,?yo???,??w???,?$?	p?O?\d8??76uj69??-?)?}???\'\")K8%\"=\n?S0??hğ???=????#?eqe?????˷Ǹg[???UK?;?????}]???9?TTRю-h&i?=}?\"+?\"=?y?<?????n?\'̪??{?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:719f840163d300e3219f50c6413fdcb5','e?͒?8??S:%Ygl?y?????T#5?AH?$L?????xpqS?????)????틹xi?{q??a?h4 ?cUr`܄CI\'Y?60*?Ȧ1Zݢ??j\r?????????h??W??w=?<?Ū?6???]m?l???jh???!e??\0?5{?|?%?_.??o?Z??jP!?Әj@?,?F6عV-?ERf?4???cQ!H?(r??????kz??"?????r<?????.?D?k?Í?f?A??l?*???Tk?=u=5?AH?%?P?NF7??#o.1?_#??J?80????J??\n??8`?????f\"??9???t?3QJ5?ez?KHa? s?v?¾so??T0Ƚ?b?+???d?־?T@??G.?Cg?Er???\ZDuB?ˣ?!~?h۱(???????k?mHh+??#??w???*9??>??;?8E?0?????+X	???S?ۑ?q??w	?????j@?\r9??#??;rڑ??i?G????>?x?F???ۺ?}X?+?y30???E????yŲ??)?ʺ???tj5?H9 ?9???????;ei???X??e?F?????9?Y7v`??<=}??????ꙴZi??⇩?z???}]f??9?T5Rю?h&i?}}wU^???̓??,I0;?\\$???Y#x]<????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:764b4b941636b61f0c301f56b8352cd8','e?͒?8??]>?fzB????jJ6?;k?0٭}??\r?Iq?>K???J??b?6:?o???͡??b@?q\0???&L8?t??#?X?\r???i?V??WK\\Eí??E??z2?N4??()???C?U?me???6^6??F?\r?xCPP?C?T\nk??^tJ:?\\??u??x0?A?ԟ@Lc~?-???`???`???I??????N???\nA???F?ㅴ?έ???B???z`??<??T?.???S???6D???UJI?$?r?#u=m?PK?%?R?NF7?{ o?1??G?J4?0+j????$?eq??\n??Ate??)?9??S?r??(?\Z??e??kHa? s?v??po?lT0Ƚ?b????d?r?*?QsT?#??.????\"9T?\r?:!?Q?a???O?????ε;mHh+??3??g?@????p?|??x5??\rMjmR?\r??????)?Hø?W?#???$?j@?\rIw?َ?R?yG???rܣ}?>?w?<Y#???uq??ֽV??`M?BS?\0?C?????J???????2!???ˊL???????~?&??0????;????rD?\\??m\"|Pr?????=ޫW??q??????U?????R?E;???????UYu.2?????Is?c?/)KQ??_?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:76d347cff76c6e4e8391e59f803b0c8c','e???0?y\n?N?pc?z?3?E,? $W?n???\07???6?N?gݰ????8???t_?2??n;Ҳ|?e\\?EF????XA/# ?J+yv??P?????Ѻ?????*ɥ??\"??X=??n?Vi\'?N(m??\Z?\"H(K??>e??\0?Z?>?????CU??(?>??/?@???цcP???V5?2f?j???%?,????-)?jRA?F?8?t^??C]9l?o)??\\LBȹ?D?2\\ߠ4???J??B??????M?P\nU?%?P?ZU??#?/Aү?zW\0%?l?????t???ء?~k??2z ??Y??td=PJ%*?x?w??iOF?t?d߹????VP?ٕƏzC{??1T@-GU????.??t崳(??\ZsB??&?!|??hٱ	H?????k/?o+?)?#/?????Jѯ?$>`??+?8E??\Z?$?+?????Ꞇqޏ]?a?,w????i?"?W$Y?tEN+???E??\Z?UGk?Zw???}}}?n????O??`Y?*??(3(?}??FI??!???ƦN????*??X?5???Ue?x????F|g??????7?e?wJ??^?m??i?Ȫھw????ru?}]??gs?)???76??????????ī?????s??ҟ???\'??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:77f60d0a9b14b1c05a2c6ea95b10e7a0','e?͒?0??;>?\'?	$aߡ?;??\0/?m?v??rd??>K???L?ER?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4?????J???r????????f$Ռ??\r]??]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??W$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV֠܊d?ߐÆ?Rl?CNrސ4٢m?6?w?\r<]\"???uY?,?eo????\RQ%<????s]????!?~???ZLr???Yv?'????a/???2??Ј?8O?zx?!G4??lᝒ????????V>?V#????0v_.W??????6???*ڱ%???/o?<??]$\"?s???\'9d?@8?????_??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:794c80acf343de976d0dbda6333f8802','e?ے? ??)R\\????^?TM??ʈ??n?o??1?|t7D[?????{\'??????Ҏk?Ғ\"???????0^? A ?J+yvLX(ep\\?P???8??b??R?ng9??H???n?Vi\'?N(m??n\Z~??1??>e??eM???\n????wfH??iLU???z?CyP6t??V5?hL?=*,C#Y??-1?jT???F?|????????1??\\LBȥ?D?d??Ai\n??Z?+VJ\n?ě?@???n\ZL?z*Y?5|Ԫf??9?I??	??OepC?/??:?????X;b!???&?9ߕ`??m?1?(????>??ӞL?m?ʾs???e???b?+???n(]c??ZN?\\?!?|g?yg?W>??#?\Z6A5?'??????????S??5?z???S)?-????u?(u?:C?\\??# |?x?\'T=?.????lD\ng?	bRT ??n?CN?mH?!?r?lHm?u??ou???????v?!X????^R]h?g?Sv?iv̒2g??,J/?9????;???PeQ?i??U???I?]N?eyp??Zp???0/^?C0???=Y)?S??mޙ]???j????al???{/??>??E%$???>o??8??????c+d??:??d?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:79dd8538d642f353136f470539835bf5','?}۸?????ň?-?6R??M?y?/i??g{}Eٌ)QKR?SY??y?+I?????k7	???`\0?|p???pМ??4GY/?Γh\Z͊v???????????\'ś$???1?8??w???Mf5??)????Yc?E7o??[$?Sw𭸊?>?B?%D???M??p[???cq??\0??j?1(?z??ôx6??|?2?^d?Q??w_?????(?????2?\'??g?W?$?r??Xd3??	??q?Õ????K?8?ۊ)?,??`\Zy7A???t?)9ɹ?2???2?}gu???]\n0_??/WC? P??[?g(?z?<΢???+ll? ?\\?j?$etߙ-??(s?KY?\"??ͧ\"?g?.??(????Z?!?Yt???yT???M/??픙}??????s?Y?$??d	?d??Z*?` ?	|94Jt4??Q\Z???)~=?4?c r?Bͣp?i???'T?8\r?hR?NI{??Y???_>??N???T??D5=??=&y??B?)2d?)?J??گTl?UJ\0u\\;?K\0?|???BQ?4k#h?\r???D??jw:&!_t\Zh?i[???.2%)/F97ڞ?????>u???????Bͦ?GY\\W??0\r=H}?]???4I?y??h?1????0????4ؽ(?????_??Nq?Ni????A????7???By\"=?Dc???]3??f??:?//???LWt??(?k,???x????>??m?XR^?\00P[f?i?T??????m??Uʥރ??\Z5?K\r?F????????o??2߾?i\n ?-jH??????W?yU?QVX??{??(????^^????І?????-?r`5?I?\nR????芠u?_$?{_IN?????H??_#	p??\0???0???A7+???s??g??n???*??u?`˕?\0???T?8?m?\\?|%\ZרkI?LK~k??/?Ry6h?????A??#ߥ?????_??k?????6?_Rf%??_?g?q3C޽???̴?>ei#_?N?#??????4??@b??6&a??yp?73?!?ʾ\n??˥??V??E??Z???\0\"ih?H3??DPPzQ????]?Xʹ?!?rң?G??G?????*??Ta???r){S?????,}#C??@?\r?R?2G?????J?????q????῱?B?*?R?-?7o ?iEm,???}d?.??׵%V?r:?Z?????ԟ??KkR?~?L????\rC?4?xu??RB ;Z??/??M???/w?W?F?w?s?́P#????@\Z?d???E?mRk6??T?9??s???ъ?a@???\0JZ0.?b?L?ռU㡧tFǰ4??C2?????0?n????ؔ????????2?Bc?;0?N????? ??;?Nf??x?1?u?w)̐?0?od??x0?+;?+ۉ?u{K,=`??@\Z&?Y??4~???]6?X?-Za?9~??:??]??N???$?T?????z?&Jj?\"P\Z???/`\0?G??6??X????W?Ӏ???=??0?? ???kկ???%??iLy??\G??GK?MQ?I???I|???E?? 1?qǤ?[?@??V???e??p?}G6J???Q???M$?lo???F3?Ħ??oм(???+?@?lU??????z???(l߬???Fy?9xVzѺ&??,և???G?m\Z?k,?WC^??j?%O???t????r?r=o\Z??o??{?I??f??\'I\Z?,??*V\r?'?f?Z??N?L??	?v6????j\\G_?<??? o???b?Ey?????8%?L?<??r?p08???p?\Z?=x????????|6???X۪???1͋,Ț^?e:\0???\0mvDy\\F?ӻ??94?ѭv?~????;?}dk??6p>??;J?±=?\\x??x2?ѹ?????p?A?h??o??0??????=??Ή?G?虞?]?4???v5?nwhdv_9?3\n???\"??3?sp?0\0*?????{???e_	[?,J2\\?X?*?G;???³>I?Ն:??&?D?m?\Z??]Y:wP=?Ksx???\"\\\\g0	?)??{E?e?0????<V? +F????????@?:=\n????"t?KC?\"??H?ŰBS?j???p!!hq2???4?_??(??Щ? ؛???ho9/绯??DW????????c????&?K8,@?I???݀Zn?????a???HƳA??6?4????	??w	?=H\Z???????Pp??? ??gc4?6?f??p??XQ??4]?5z5\Z?x?߭g?;J?>???@?nx\'????(???????qL?v????臇????<}??????S=&>4???\"???GZY?!???\Z?t?#??[?He쉚s?v?wv=???????@oG\\????????h?}\\?:a?&????(?y??Z????????GO:g?v?????yv??\"?8?.?\n?OӌIr{;?s?ۛ??\Z??ޢA?7<????(?O?y??{???7~?1?^?_??=~k????\rI9פ??>G!L$??,5@?\n????0?b?8β??c?e\'??ǗnÒ?\"?w۾?????c?sT??z\Z??\nĐ??\Z?{?S.\\?5Ll?2?%*)??I?:,??_??u\"?4?D7?t2?(?ھt?Y:?h\'|???\"??{-V?\???<?Aten9??^????J?V??x?i?U?3?=I)U\"j?l\r?ۖE???-?\n?%`Y??^??TN??7?v?}*????h??걡?d??r??@??z??j??o0%j?<a?fׄX??ӨydrB`?Ô?-??m??<?/T?P?%cT??\nPyB6?}????@%??N?Twi$4?????*?]??ƀ????OSZ[A???E???zܧ$?u??}?????zC?J?}1???????م???"?DwaD????Q?ho??	????i?5??l?~@?B?/?L??	W䣦????ք???3????ʵ|֯t????]?"ܷ?????/??ĕ?T?Z???q??ޤ?0?DC,?qA??)5??i???ή{??ӽs?:??r??HӤ??0?i??4??fH??Ƙ?(a?V2?8TwX\0#52?TEM?`l7ʑ36ʷT?\01a??i??Q?EY?f???úMES??R?CF??P??k\n?ė????3?v?<d,##UDCN{??\'???n?:?q?-?sT |{C1?\'\Zv??y[?????-^?<I?l?G?????\r?????\n!?c?[AH0???>?q??pВ????|?.?m1??,???\nTߦ??f?r4?v]????~y?k??.?z??wjS ?ʺs?΅26*?U?w(-?]?Ư?H\n=?\'???Y?-??^??e?????\r??;2 \\?ԓ????[??;?\"????n?)1?)??kV\nЕ??`a?0x??\"?N??0?x?"N?????覔~?x^?;??l|???\"?Y??rW?֞?,?V?????0d*N\n?=??Xt?yR????`J?%t6???Ύ?@?M?????(%MЪ?X??jPi?K?|?r???x?N?pc?oY\\D?ޫ.???e?XM7ft???,??1)s??<]????Q???-~z???\\/??\T?>\0Bv@??? k??.E?o?+?}i?K$穽\\d?5t}\n?x?#??#?<fY?????????? ??????S???X??8?0?b?y4??.c?w(AW?)7?m?m??1T??{??~]??%,?_vZ???$?m9?ذ????;?ꨕm?q?xE?=>?t??%K?\0?\'??:?m1??b?'?)??u??ؚ*Rh?p??W?G)%????&I?9h?\nS???XEk@??<A5nT?to?O?q?$??\r2=	\Z???]. tM??,??l??7???1!?d?4?-9????4˂\ZB??????s?????w#H\Za0?V\r֓4?\0?!ᢾ??gA?NG??l=??uۼ??D ?e?~????6!E䃂??l??zG.???e?qeŇ???4JoK.F??h4?|?r1??2ş?n?!E!Tz-m(:??? ?1???O\0k2???Y????`܇Q?!Z.?>;?M??????	??????!?????<???G4???Dm??"??????OM?n?\\{??aT?[?q??z1xz??2$??c0??0???b?e@d?(?|??!????!#$6x?)d:?O??_\\e-J?̩?v\Z????Ub\0?*?\Z?ep:X+9	+\Z??г??5L?????i?z?\0CL^*h%8=t?Ji???[?DT?????\"I6??jy??r+Z?`[???d4?~p?????3???k???W?#x??=8|???ǯ???ݟ?????~????N~??o??F!L:/???t???bqs{?埖^xh?}V?̧?'&I\n\0??m?O?`?y6?????:}݅?(0V??????ܕ0?Y:?2My?P??+?b????0?~?}:cG?Uj?{?b?#????F???)f+Q????#?-`E??=???Cn,KpY?R_?!+?>iS/lU?r2?ma?)ĺ?q?ޫMD?ت?g???[\\UC????Ex?f?oS??(\n09M?`?~݄\"??4{*????|??p1Z?e???\\F??vX?ParrZ-q??W?*A?\n???\"??&??%??-z?????$???t??b????FwFd?V?m???[-r?U?$????,?u?n???\Z?????O4F?Q\"?o??\\^!??<?Mv?6K?	??O?Ϲ7??mH??A-?????@k?A5??>?\0(b??&:?5?S<?і?Њ?B??x?#?&u????@:???G)?Wņ^?,?ѷJ??%2\\è1>???\Z\"y??C{T8?`[\nA?\Z??\\Ġ??a0???\Z?2|F??948m^?-?r??????_????I???Jp?	l?ƾ??@;? ???֌?}???]???wZu?<?zվD(??C?FJ\n	g8???#\',???Ѕ:I??ao?????y0	??O?/????????P???7????׈@g???];?m܇Y^????`V???³0?ɣ0X8?7!??????e??K?????\0U\r?U?u}1Ƥ8???4???T!???F^?@\0??ɧ?7,E?????|??(?AS߶Z??Jٶi?t?R{?dʮ?f??/?SyLgZ?H??55??T?ө??5W?j?D?ݶ??Ua?\?n?W????\Z??O?_*\\?Y??(J??N?䊭S\n??T|?tP^]?&h?S?hz[f?e?????N{n???9?+??V?N<6??Ҟ??PX??.???2kn3?????=$za??6???ڮ.Z??)?2S<??M??O`?QR?????b???\\043с??$?<uHZ??g&4?r1^?\'k?T^Ri?"g?9tj\n???\'<?ĳ\n??0?Ut?!?	?04????	a sх??z????bE?????\n?_N8???:?Xts??d?(e8???0H???????q^H??$⼪2???쨙??`?G?Xu???x?i??[c#?j??cm I?5????)\\b??ҍ?klD??2?\nf??Y8T?????8??D?᠍????i??N???pGT??!??iz??|{\"???oΟ???Ν?O??]???\0?b\'y?Q/?????\n3m??jڬ?~??S?\n&??v???U]ϩ????[͇ʀh???i??<?????<?W?=?<g1?<OJ?rs?*??"?\r?洍?3?????)YLg]<??Q05??-?ah?z?w???p??????$ExF}h^?~??@??K??/AԱ;J?B??.??\"Eb????7\nϏ?\r٭V?/??Z???Ҝ\rh?s?6???y?p?3K?ϑ??\\J???!?0?6?\rٚs??݋?p}N??T<N?g???g\".?s?͞????pF??in?S?n?????X;JR??rW\"????t\n??L????]΢Y?????L??????e\r<?????1>0K?~rL,??,??C?	X??<??Z???\r?JQ ???g ??j????H>??>?Eb?r?qԂT`?~?H?EᏎV?P\Z??Z?5??u?{??????f\n5W1?E4???n\"?ed\'?(?i??\"?n?xE?9	)?0??????v??h?`?"lXu?R??Lvt???[t|?q??\"??1??d???????\0 4???Z??=E߇棭?????ԋ?q	g????vh\"?if5?o>?)??eg??????????Q?4=??\"??]6?0?WN\0???????????]|??=4??d??[;p?o?_1k?D??"Ku2n?k?"A??LvE,,???Ϯ?H?BC???IS?Ӷ?֗g??^??,??}\n?ho\'k?6c$?Ӊ?ɩX?>????f????7;j9O:gg??跋???_?g?????d|u?K\Z????\'??pxaq9???????gg???\"?\0?	f??\0W????}B\rqm??QqqҢ????????f?p?3??5L?p???N=b?v??????i???l???o????.^??????\0zx~?????}?~?y???k?8????4I??|?2???ڊ??\"??D????U???!?g????\"w[3Q>?????(?oIV}!??\n?Nܿ>3???p?P?0???.?Η}?0?????6?????p??-?<?A?R?)?????????9<[9R}?,m=???z??kszO0?'?????]?$??5g???s.?hqy1ő???͢?Q^\\??ߞ8?v?s/8?????ӱ&?f????\Z?x??ss??\rT??9?%Q??+?\C?Khp\r\r???u4w9?Ѽf?\'?1????7??\0??\Z???^\nt???4???t????bF\nހl?\r\\݊ƽ?p鏇x*?F?????E1????????M??????????|p??Y???????.?2]uv\\?ӛt????h?1foq?W?g???d???>\\?P??3\n>???i?żG???sB?{?)?????i???펳Kkڽ?(?@fa,?????????R??BuˑC?W?b???ES?A?ꨶ?J?(?!?u???0	a?y=9?ﮬ?E3?:?C?ф?W?k???;w$`$????0_?L\'?U???B_?iP??g??o?uP??i	?;????X?,???^??\"m?x??E?4???!K?H?qt%??n???P???#??:>?}?E?==*?R<?0\r?C??.????:$??Ń:?\n&1?Y$?w??..u?\Z?ۻ??!?.????\"?K??+?n?&\0?K?*4?P?E????b???;G??Ѷ???lW?????:IDg??	?\\J??O???ma?0@A^??????\0ܼ?D?%????}?EɌ??I?@?͖q?l=R?\\????'?????|??R56J?j?\0RWf?O???\n?r.??\Zԯ??\n#?:???Dg?Ve??P??}??JPֈ5&??j?AL?G?q?D0????Ol?? U?a?ֶ???+???\0?ݒe???`\r?~Uő?Q\\?,G`}x????2(Ҭ???lǗ??魼KJ? ?.???w???F?-	ad?5?H܃???(??Emo??????r???. A&??k???Ԡ?I????\n4??%???C????w?????d?9Vd??rļ?\n$?EETm?V??90???:?`V??c+?? c??k`W???z?#??eL~??\'?}WD????}\ZϢI%?????k??uCp!cx|?????r+X????M1,???P&?3???????????????Ч-?G?!):??f??'ک-?!>??KO?_??N?\r?k?kXSX?\nk?s\n?2X????R?Y?-v?y5????????2?????O??}???y餷?_???&K?J?;g??ߧ鵾ρ?kY????t?Lĳ`?`0? ro?v???vj??iĹ?/E?Sd?R?)~b??\\?/ň?!?g?k???!\Z\"??s??s`?>՜???????M?sH?:b?\r\\??n\r???emeKח\"M@?????V?0???qZ?????,t(Υ?S?\0w??Y\r?P!b??e??PކJԷY?筯Ww=s??|??????ۤ?T??	hS\0?Oz?????'?~????????? ???ja?ɧ?tFL??\"x?QQE?b2?<?LX??(??a??UOpk=???a?y|QKQ?`_A??}??8????;<a????????sU?H??P???_Y`~??T???ޢěE?\'ry>Jx????$?????W??B\n?J]?&?:??$ooL??H????B??h,j\0d)?}??\n?_͂Ě?Q?ļ?ْ׋????D?u?޾??Q?Gp2T:b?>????H?ժ?Fvle?z??;,???<??b????9;?=?4k?x?\\N?`?:vi????????0?????``X???3VR??3Υ??C??U?h????\'_q?K??Y??\\?*k?j?{B?'???V?t[????w?u?Ƒ+ڸ}?[\\`??[g??{????*?&,K?\n???ʛ??ٞ::???nh?\'\n?????.??	?_??jcʏ???]??????k?|??????8D{X??-??.??,???????Q??7?K??Z?d?v}??cc??Q???X?[f??B?Y-???5???t?I!q?:O??)8?(R?lJY?j???J?	?"ڪA\\??!?NL]??\r??>???,+ET?,?Z?\"??????ح?a???2?ˮ?\I?Tj?Oد?~?o?f?o?q??z͝??q??prH??oP?+??	F???A&???R?57???????`s??1h?r㱏?cر????>dxeF?P|l?J??ɣB?Ye(يzAQhatIKzv?/??+?fཚwX????	??3?@j??!??/v?Ŷ丟?A?????\\XQyC??J+??Ml#YB\Zs/\r??bd???s??f^?	????Y??8?Z?h4?????o6\0???????hF7??菭nr`Lw????????ktG)L???9?\rp&??\?????N?<Ilnc\Zā!??? ????@0??A??۟??1??5??E?ɀ9~?h??s?>?u???ۜ???	??i????\0?8??#??C??h??v~??N?}G???o????7ڍ1?Nu>KX4???ד?!?\?R???$??\0?p4GLهjC?????~Y?I<?҅u???-??ưcQ??xèY6?d??/-V??]?Ht`??-?????t?~!`?2a qu?p?mh?\'uBݮd^???N(4΄?K?le`M\0#\\??V?2T\0???????!¸\'??0ҙ????h??5?m*???2??+?nFLق,?H?%_??ZSZ)?GP?)?????n?,?????h??n?+?SW/Kٲ_?8?٧W???-??˷s?S?euZIQ?q??U??ɪ?h?H??hʧAU?r???R???e]?\r?5ʟ?C?d?k?9ݪITR2????;?fǠ??C???ҺM??,??M???????.???????ؘ??}~i4???D?\r????/?Jr???z\r???o???7??z???Uf?2#?????v?X?hg?q\'???D?xg??????????[4?K)???1(??d??H%\r?`O?H??__?Wm???X???/\Z?N???hYl.????9?17?I?9иfm???q?pk???s????Ad?@\\[?X?:A1UP???\'??U??????x?uu????_ͺF??#)???Z?x\\>???Ihܳ쉏3?E?;C?X?????????ԔGy#O?+?-:?N??.?g@??X?z????!˟?o?KP??q?\0?<???(??3H <?n???/?_?o9?a:????\nL???8\n\'H\n_>???G?W?qm?<J?%?r?^ٱ?T???h???NF?7cE?k%Xc?L???*?Y??S?bV?E??????g/j???\0????,wB?s?2?笘??܊#?A?:??E^yWb??4??78\"ຜ?M?6̀\0?G`o??55?m?%?KFE0L?\0?<?.1y??bL?j?쵗?)????AX??????(g[??K?ߒ?m۴*??Q???~?/??;???n?+?)?E???/???/?)?~uD\\x?4?)L??\"?+H????????Kݧ???>??????G?&?^N\r??@D???/p?`.??\r??7:?\'x;?͜?	?F???&8???;?kh?mq???E???s?~W??s??????W??$PA?>??ϣ0qԹ?%?-,???}?????:????\ZK????\Z?3^>?ǿ?8?PZw??;|m?N?ނ/??	????`????<?O?F?\0?2=ix??????3\'??????0	??0??\'?B?+b?[?Tl?????C?????????x?t??{?(w<?bF@??_??כ[??\n????dB-??d?-U?1?[?Uk???$?U&?9E???O?,?h??>??^? ??5??u6;??i?D???0?$??????w~S\\?@???{???Ƴx???????????????/^D??gϞ}????l?~????????|1{????ç?????????hrEn5??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:7b0c54a357c2a246d39dae19d68c270c','e???0?y??N?p?m???cf2?????\\I????{W<ܤ?vW??@?\"ɳm???h??K?ݳC??????+??Xi%?#+??\nz?YUF?k???????F?B!=9?? \Z-Jŕ?l?Y?H?F[Y7~a???U\'???-^a0???g Yc????8????03?A??@Lc??ͯN???QY?`??ɘ?????F\n?YD??;??FQ?Ԥ?R/?iq???????n????|Mb??É?f??A????UJI?$????u?%?AH]?%;S?FW???7??O?+?=l???䛇???$?yY?D??seCY3?iJn???D???\\cJI??\rA@}w)??d?WI?̽ድQQ`ط???4~????\Z5??r???Ї??????j?Q,??(?[??	~?e??p?n$???݂????b=??w????\Z~N?????S?:s???Aݚ?z+!~?t?a\nt?0?cW?-+??$??@?IWd?\"?9?H?\"??W?"??֪????;YOn?}}}?=?<?w;<1?Ǘ?U?????)?&i??J?$?????ƦN?ǌ?i???wG??I.?lW??e?[?v?~t?B?h?ŕm??)??˷???x-ɪ?ƽw?????}]??gs?????7???????\"/????????,d??DF?????^?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:7c4ad6f5b1627929c2373bf49ae84786','e?ɒ?0??S:eq&f???w???\Z?\rBr$a??	??}??? \\????ph_?K?݋C??????+?;?X?h%?#+??\Z?Y??[?????A?B!=9?? \Z-*ŕ??!?X?<썶?i??/?jc??nZ?\"(®`Hك?@??葏????Ap??????Y\r*??\0b\Z?5h~s??6??ʆ?;ժ??H?Н6??2?R`?"\Z???5?Ϥ!?zeM?S]d??ԕt?GyL??C.?\'\Zǘ?m8?????????I0??w???h[!u3??5?8\Z]K;W쎼?DI?????p#?",??9?b?!??)?ʚ?LSrs6t%ڧt?3RJ5?yz?KHa? ?h?J???Z?}\'??J????*?*?Q?*?????r?T?\r?9!?qep???w??N?B?N??$????WƻG?@???p?r|??xԛ?\r?jiR???????)?@ø짮~s{Vz;?HXY?r+?nH?!??6?ņ?6?????????;?nO?>??.????\'???\"?i\r??(xu?<Ǌ?zȪ???`s????????,???+?Uv??4;?e?[?q?~t?B?h?ō?J??????????&?F\Z??\'?0v_.W??????N7??T??4??}yse^<q?UrL?sz?6?꜄??t|?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:7e0587d5f8dde6525ab60fde75d7b98e','e?͒?8??]>?fz 	?aN{??)apc?????6?&?r}?d?Y?*?Iņ?th???ݛC????F?0R9V%??(??GV1?\r???i?V??\'??ZEí??E?B!=?\'\'\Z-jŕ?C?a?*}?????FW/?Ajc??Z?!(?`Hك?a?#???I痃`?????\ZTH?	??Z??;?????0v?UK~??٨{m&Me??ET??5?/??((?ښ?!?????t???\0??*?Z??q??І??6?F?RR?	?5????\Zm? ?n???\'?i??=?7??#??J4;0??6?J??2??8`?????f\"??9???t?3QJ5?e??kHa? s?v??po???`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B|??h۱(??J?ε;mHh+??3??w??*9??>??;?<E?0??rMjmR?\r????????a\\幫?\\?oG?)?\ZPnC?;rڑ?;rّ|G?)w$M?hu?;???O????}]?,?uo???X?^)?\'M??????yL??????????eY^`}eQ?\0	???????0????;????rD?,??6>(9xy???5??+i?Ҹ_?S???z]f??9?5Rю?h&i?}?pչ?Ɋ\\dMAO??3?/I#0?^??~????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:7ea008b99cac57d9a03e77476d0fcc26','??????????bDɖs?a?N:?Ι?dw??/E?cJT??팤?[\\IJvzfϞ?v?c?@U?P(\n@?O?Ϟ??m/I?q???<??Ѭh7?????/??\n?G?????x??uӻ\\?\"Ng?w?_?z??\Z_???o??1Ϣ?7ҟ-?d??{?V\\??z!b?\"w_?M??p[???cq??\0??j?1(?z??ôx6??|?2?^d??p]?񂻯??^PY{IB????	G?xp??v?kKz9YT,?Id???????????k?????D?n?Y0??? YD^:ǔ??\|?G??2v}gu??g???`??]???`?????o?3P??gQ???6?|@.A?Z??2????9?U)?W?????Td?Ⲛ??\"\Z?l??ҟE???????<??2/n????'???????5J??@!KV{?%С????Q???#@?DGs???u?q:\r???@9\"?(?\n???@~B?????&?蔴?/??????7???I\\OT?>=.???)?Ǒ\"C6??d??JŶZ?PP??s???\\??!u?fm???a?R ?h6)??q?c???V???|?"S???s?x(\rA	?????x@?????*?Z??E??p?^?Ѓ?څip?I?$??(?6\Zsoz+?	C?rw)A?݋???/.A?~??????k#\r0???$??3??Z?=?C(O?G8?hL4?t??k??}?l?	X???DoYd??{\'^@i?X??\'????f???]??"??Z??ɀ?N??R$??? ,?]?o??R.?D????[?p5B,H7?j?0???,W]???-??HS\01?hPC?VD,(?Ƹ?*F?˫????ݛ?E)\\?4?r????"????6??.?[??(??Vәԯ E?[??	?QW?E⸫U%9M\"?F?!q̃{?$?A4??J???ݬ?@?U[ɞ??!??W???_?-W?`2/ER????q}?\\??%\r?2-?mdb翨/I??EX???????|???????oTf???c??I??<?b|?!?]?`?ax?\"v?O0?h????|Id?:?lס?V2??0?	?ژ?-?!K?$`ofHC:?}?J?K1???%????|??\0D???%?fPR??????~N[?<????i?C??G{??mR??Q??n_U:?¦CXS???JgMUY?F?f???\n\Zޣ??e?~o??N?F?	깁?o=??c???7T??6;Zo?@?ӊ???????]???kK?đ???8?0??	????????֤&???L???v\rC?4?xu??RB {Z??/??]????^??j?F??0??F?????\Z?4??)??ڤ??χ??XsN9?H?բO???˟??&?`\\p??F?y??O錎aiz?d.??&???K??S.???[?D???@???1??:??.;O?0?\'?:?????I???ޥ0Cn0D?4??E??p???l\'????Zti?LfKg?1?x6i0?lW??s?\0?tT??R=??>??H???<???ˋ???(I??@i?^C??3???`ٮb0b?]5?M?_?8?????????U??_???,??1?Bs?Γ-?E4Ei&1P%??E$n?????S??ZmZ?ve???nߑ?R!?}??rMI+??ml7??&?id?4/\ntG5??????????`\"\n?$&?Q^\0???^??I?/??~{???Qi?F??\ZK??Wf??Z}ɓ??a%]lfb?\\sCϛF??[|?^3H???1?$\r?AO??u???Y:??@?-?8/?y?C=???5???\Z??A#??I????w~S\\?(OY?????i<?/?t?<<9|z??h|??ɋ??d|p>{z?"x=?	???M?m?????dM?i?\0~????6;?<&???}\r?St??p?*w<?z?b???\r??W???pl? ?=???t.g?6Yy?#\\dP*\Zz??[?|???????,?s??6z?\' E?\r???n?]͢[?\Z??W??֌Bg@25?1u??/\0?J欅?j??Ĥy{??9>???*??\n??4?9̪??}???Ү	,?@[????<DW????Tϙd??bR???.`?x?iYu?io{?U?0Ț???vf?j??N?B/&????Ґ???\r\n?1??r??\Z~(ǵ\Z\\HZ?̫(?M???\r*?@?Bt*G\'??\0?)>????+=]+?????`-y??rp4????\'GR?5?7??ۺ2??r;>`???9??Џ???\Z?F?dp?\n	?=H\Z???????Pp??? ??gc4?6???/???E?Ʒ?m????~????-`D7???!?\0],?????6-???Zh?`?????????q??>=^\\^??????r???c=&????\"???GZY?!?,\nFU58???G?3??^??5????{??????+?ޞ$??<a#9????t?M?c???RQ??ʹ$;??????zG?:g????????;?7?^??N?ӧiF?$???9???t?AXo?i??e??|ȧ?\??????O4?V2???[??HT?lHʹ&?t?\na\"??`??~?P?Xe@????{??F?,;?E(?=??\rKn?H??:[?l?T???9??|n?*C\"?2i???N?p5??0A?q????p~&!k??=?}mF։,??z?8?T_?????g霢???[`?8J3?X??rm~?O?\ѕ??\w??ExE ??N*9X??[?=?TY??D$?T??Eð5?;E#???p?Dw??e-??{m?9????????????뇆???JȽ/??0}h??????c??????????]bL~\n?Q)????9?)<ZQۢ/??6_????dKƨ?oh%??̑,?????0JY?0t??H0h???U.Avyc?\ZF|?_c>Mim?O???E???v???a???$oq{??!r\'?r]?T???6`l???????ϰa?V\"?#r??F??{;?M0?I?Mc??d?????xA?c\Z?f?O?\"5W????&toOf????nQ????y?C?-\'?:?.O?඙??_???"?ר?Ō?????N??\'\ZbA???????{?????ݣA??c?֓}E?&E<?Lc???4Cb.F4ƤDq???A7????*??\0`???*j?c?Q???Q??\n?	sUL?v?????-ʲ4????F???*?Ҭ6??2\npN?`v??]S??<?~?n\'`΄V?\\?????T\r9?B/?\0???? oQ???Q??-Ÿ?h؁fk??.??xI?\r?	I`(?????6\0{B{??	??܏Qn!?,n???=O?J?AK溫ծ|?.?m1??,???\nTߦ??f?r4?v]????>?????????H???\?s???JqB??J?????EsR?B????9??dVmK?81?׭?@??on??4??Gs<??zn?{??<???????9??`i?dJ?bJ#?Z??t%,?X?? ???7?/޻??? :???-?_)?7?\0c)?꬈:l<BV?????(K8h;?U?_ek-????Oc??t?T 07?,??	?Ͷ?5??#?4PzES#i)??AI?* ?=??\ZT??*yC?*.???ӷ3ܘ?[???j???:G?&VӇ???d%?~Gg??\))??)???4????^G3*?׋??Az\'????P??R?\0????K?Eu??_Z<??j/Yb\r]????6}?%?YV????:q(o H{?\"?F?`????\"(?ww?51?;??(????J?y?Q??n[l[?<n??E??_?e	?????02/I:K;Φ6?i2???:je?~?^EQ?!Q???\';???>?????`[(??IoJ??]n??????& 3??J	???Io???+?=V?Z??]?OF??)??Cx??h??6??0s?LDO????G?䁮	<????-.??n?{?xsL??8l?|QKΦ?k?Ͳ??bo?d;??Ŝe11???????FLG1?UA??d? \0gH??/f???`?????q[?aݶoa#fmŇ~?x???MH?????[??ޑ?|?D?O?Y???6	?????-\Z?+?\\?<?L?':?[bHDQ??G?Σ?tz?}?????????jVm?t?Z?an??KǱ????E??Z??M|??\"N~?????<??0?yD?????)r8m?ȯ8???ϵKF????g????7??!፨F\Z??(x???,(\"kDa???錗.O	!??CM!ӹz????kQb`N???܏???\0????*?????XјŅ????a\"??6J,????[??=b?A+????J??%??ԴLI?e?A??nYђ?rt?Ș???\'?1???c???L?N??E?,?c_???????gϿ}q???o??????~??????_?????¤sr?N??t?{???ۻ/????3?\"d>]>q??\0@??Ӷ???g??)Aϼ??]8?cE?y?}?/͎?	3???/??׮??n??B?c f??	nM??i֧3??|??f?@???)6?4??!?Z?"?C???8|@y?z?????#?\n?????,?e??}I????F??M??U????????ǥz???b????=?5??\Z?U-??4???x??C??P??i?\0???&???8P?Nx??X??6օ?к/cF?2?l????*?????{???:T	*?t?(_ϑ?o?1??,I?????n??\0%???$?;5???N?4?3\"S?:m????۬?$?.n?d?~v`ЌHg߶?,??~?1?\0??zs6???n??X?k?s״?YbfI0??~z}ν͞o@?Ř?h?ԅx??Z[?f??@??F0????y?Zࡌ??ւVTN\n?????߷?k?NG????L??=H?6?e???Uj???ZF???J,???ڣ??=?\"?`??\"?r?Πfs?0??b_???i??l9??#|??]GfF?ʕNGX(?t]???g|=??6_??????iBLc?i?/ї?;?Ix?U7???W??B?8do???p??.\Z N??r?"K??\r]?S?]ǭ&?q,???,???A??]??^?zz?잺#T?.}????q?????t?@?NgصS????-s	??3????G?????0~?c??Bd?By?@n??Ǐ oz{!@U@?BU`]_̇1)i?3\r#&$U}Ձ<???-\0$8t??rK?&??9??\rs?\'?k???????RvmZ\"???? ??+r{?Y??ʋq???V6?&zrMͫ}U?*?͕x5???Z!Q`?-?x?AUX???[s???n?????\n?d֥=?R$????b딂>1?:?W?	\Z5??!?ޖ?m???ͽo?Ӟ?igmN??t9????????)ֱ֠?2??ی???\0?^???1?\r???????;?\n????G@C???x???Wԁ??mY]?!??C3?M?Kr???\roqfB?*?>}?????rV??C??\0??0*?r?/C<????_EQA??1??@C??`Q?2]?r???K< ?(VD@?Z(??????~???,?E7W]?AV`.?Q?Ð?q???$??yYK\Z??ɍE\"Ϋ*?????ix?\0vaq4??UG\Z??0O??\"?sul?\rv?\r$ɲ?????/?K???p`̓?[????,?0??j9ݱX??u??|!???}m?3?}{``\\??????b7?0M>F??w ????????dX>ӅN?k?+v??~???(lc??0?k??ͪ?ܗ8???ab;lb??X??zK??????쟝??s??\n??z??1N?s???D(7̡?.??kN?:?l?Jm?????C*?S??????y7I\')ހ#???@Ň\0&?(????ej?\\r=}	????\nLt)?)?5?^??Qx~$?]??j}inI?H? ???A????????7?W9????ʥD???hS???9\'{ؽ(\\\0?D?@?t9(.q&bB?Sm?<v?nF??3*]Ls??bV??H?6B?Q??v\"o?????6??ɤS?*??2M?xDl2?FdyP?_??\n2??/)??k?<}S???\n?I0?<\n??n\'xx&`Y$???}?|2l8U??\0?L4?8)?T/ugo?/_A?@??,פɐ?F????^??-\nt?Z??7c?m`????įUW?j\r?t6S??????%??u?,#;	F9?O??u+????H?? ?PO??E??ǢD##aêӕ??e???%^@ݢ??S????aީv#??VKu??Y\0?	?ՒO????>4mu?@????^,?K8se???C???H3???MI,;?H?}_i?,???4??????????)?u?r?V7̵=W?\'?m?U???????a?6??????)Xk$Z?Y??q?(wX{	?0??+ba??g?~v??F2?\Z?V?????<K-??x?of????P?C{8Y??#????N?HN?g??Ǉ?????<??f?-??????v񿖫?6=??<~r???.p?@T?????^DX?FN??;????Y?Ю??\0c???????\0`o?PC\\+?TT\\?????????x?Ӈ\r8ŃNz?\Z&b8?_?1{???A??u?<?:;?????????8y???\0}z?:??\'????O??|pD???I?Qp:?$??>^??JWXmEu??????]j-U^???Rv?????ڳ?IM?????(???G?ط$???U\'????X?T5@=??????????V?\0??gk?????N?\\?r??N????h????>U?v?E?????9?G???yQw???\\M???1q,#ǜ?q4ZL.?8?Y?Y?\"ʋ^??gX???2q?p:??b???|QY???mnN???ʷ?#y?$?uśkht	\r??!??洎?G??????-???????@6U????K?.????F??P?.x?6CV?H??m???[Ѹ?.??O?Ө????(?YI??\'e ????.\"??r?ԓ??p?K???????8??W???&]$?,-\Z,C?ٛE???y?????E?e???sό???;oFbZd1???????N>E??u??8-?ӣ?????iM?7????e?1??\Z/4W?)wT???c9rȶ?_?????j6HT??Di=?4??N?f??ד?<??Z?P43??0??MH=}o???ϐɺs?AF???????tr????)???@^\">Zw<?V>^[ј???h?#]????\\???҆??Wy~iP?#h@?\Z??\ZG7Q??<????x?\n?5?:?Z??.??\nQ??c?????:?)\r????L?C??<??`??E?׽????Wm?ѹ?;?B?`2\r?Fx?_?|S???r?4?Y???????/??We??8\n?v?\'???eQ?!7????Dt??????y???瑿?\n?\Z`k)?}WY0??H?S???Ӈ_???????$-?l??#??%NR*?|ҿe]?IQm?o?Uc???f	 Eqe????辣`??I?Qa@?:h?0b???a?L!Jt?fU?	?\0o?J?i??e?Xa??l?v?\rqDGI???Op{???Q~???????'5q???[?l??v\r????8??<???֙??o?YpO?\"?;?<A?Ho?RRq~1??????\Z??$??!?׸\"?%I/?l5?\n?:?~?(?d9?\'\\@?L??F?UZ?A9???p1\rB?h^?.?nh#??)????iI?s???? ?KH?݋?????1r.`X/!uD???dW-@??????!}?VG\0#˘?Z#_^??\"*???g?x]?2>??I?\0??vn nQ72??X`??[0!??E??~?b?Ò*/??z?3??W?^<?VyZ?,?&\"*w???????GJ????Y8???vj˸u?????t?g?ӧj??׵65?)?J?5??Z,?k???ʇR?Y?-??y5????????2?????O??}???y餷?_???&K?J?;g??ߧ鵾ρ?kY????t?Lĳ`?`0? ro?v???vj??iĹ?/E?Sd?R?)~b??Lėb???????\rV\n??9???90L?j΂???a@???$K?1?.pF?7????????????& f?R???\0???8-q????y:??x??;?W???eq??r?۲V`(oC%?,??+????r{?>V????R??K??	??)\0??'=z???pK??]??S???????ȣu?F?Y?n?0???:#&n???ר??F1?H~&?w??c??rcЪ\'?????Ű??<???(]??????E\n???k<d?O???+e?%?\\3?\?????ij???ߡ<9?????(???\\???Cs???0-?(1?[-?¥?B?R??	?y\'????R?j%?(???r?Ƣ@???7˫??H??nuI?1?-y???tY???\\?^?~\'C??'v?9<?\\?:kd?6??ל4?!??2??w;M????YSG??r?[ױK???촜m??????V{h?H??U??۱?:?W?&G??Z;T}o??????|?.5?܈g??p\'??iw?e̻?5????%???Zm?w?u?Ƒ+ڸ??[\\`?7?g?64{???*?!,K?\n???ʛ??ٞ::???nh?\'\n?????.??	?߸?jcʏ???S???	???zg?{|??????8D{X??-??.??,???????Q????K??Z?d?v}??cc??Q???ب[f??B?Y-???\r???t?I!q?:O?)8?(R?lJ??+j???J?	?"ڪA\\??!?NL]??\r??>???,+ET?,?Z?\"??????ح?a???2?ˮ?\K?Tj?Oد?~[5\\3Ʒ???^s?\\温=?R@?????:}?????l??36????6K͍!??إ)*؜C5Rk\Z????v?0?wʯ^?Q?5\ZE?ɀRl}(?D?bVJ??^P?]Ғ?????x???7?5Jj??ČE%??/f(?4{?-9?sP???VT????Ҋ?h????KéD6?Y*???!s??WbBe?lc??&?????\Z?>~???r???G~??4	??r??c+??ӝ\0??0?v???>?`?Z?\nSfcqWNk?Ir~5z?.????O?ۘq`?"?.?!?#?/L?%C<?\'HPi??d?y?H??xyd2`???q????Oi?ç?mNL{?Tx???RM??H?n0?v}??!\n?G??N;?????#??Vm?85Z???F???g	?????\"?-D?+X\n_??d]?????????@maH????F?7??K\":??Q??n????=??1??`,j?o5˦????n????je)?4OV????c?S?	????;lc@+<?? ?$/?Rgw?C?q&?\\?`+C\0k??_?B~??`}߾?\r\rȯ?q???????RC5??1viS?yO?3@o?)t?X/U0b?d?\",?zp6?w?І?!=???2mv????@??GK4u????zYʖ=?J??>?:?AD?i?]????,???ڌ???G?\n?HV?P?B?E\"0DS>\r?R?????Jĥ\'-?vn?Q?t??r k[S?NM????d????;u???u??????f`???Xԕ??}?tߴ?=??H??????K?i??>??$?o\0?~>\Z?x?W??r?7?x-??N???.??&h?Y&?2???_??????+??ǒE??;I?$JF???0o???t????c?ߢ?J?G\"??A???#{tHG*i??Ot???5??v????Z\n???^????S_???b??J???s?????\'w6??;?h?\\\ZD??I\0č??eLu??S0?~{??Y??Z9??^??YW7Zma]ߌ?լk?9??N??5/??ӛx?Ā?˞?8???3???n$???????A?FMiq?7??r>բ?-?N?Z?z??\Z?寷????iN??5???????E?A??\\<Vyy?zGy??4??S`2ߗ`???8AR??D?=jO?B?k3????;ˉze?RA˫C???U?:Q0?܌In?`?3??(f)ko?c?M;?Y]?_;???d/j???\0????,wB?s?2?笘??܊#?A?:??E^yWb??4??78\"জ?M?6̀\0?G`o??55?m?%?KFE0L?\0?<?.1y??bL?j?쵗?)????AX??????(g[??K?ߑ?m۴*??Q???~?/??;???n?+?)?E???/???/?)?~uD\\x?4?)L??\"?+H????????Kݧ?7??\'>??????G?&?^N\r??@D???/p?`.??\r??7:?\'x{?͜?	?F???n&8???;?kh?mq???E???s?~W??s??????W?6?PA??ο?????pp?? ???Ep?z???g?0<|?????o','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:80bd143259265baa8418c9811ad3e99c','e?ɒ?0??.??x<o?y??r???Fj@??I?8??{Z<??I??[/?\'??gm??ڍ?xi????2?4\Z[?ʱ|?f܄EF+Y????Ȳ4Zݢ??\n??:\n???	?Q(?$o?y???o??U???Y?R??A?vC?Ts?5D???%????Z??jP!??.*A??1?cTֵ-ءV?2f?n?????c???x$???k\Z?"۠U????k?????_G?r*v8???7hÁ????R???H?i??????@[#???d????ڱbw?%J???n?Dkf???????Ӂ?,??_???2????4%7?`CW?}JG?6=?$Ps? ??????N2?v??$?νᳵQQ`???ͮ4~????\Z5????w???+ǝC%?8???X7Q???D??=L$???݌???c==?x?????~N?????S?Zs??^MM\n]????:^3?????n?o;?	?PnF???Ar\\?ӂdr^?d?DK?Rv?ԝ,?\'??___??ۇ?`z???x????v???\0(N??\0)x??????'\'~.Q?8l??b?ۊ,???w+4??w@?!?fY????xzz??????[?\"?J\Z?ޒ~????u??????????f??????wT?d?K?x(\0H~?Y????????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:810622990fbefe6aecff490754f841f8','e???0??\n?Ni?Ʊ??CO=f&???D%a??????M?iw?,6MN?Sʚ~?4[????t?rj?\riY?????????@\'# ?B+yz??????mW?h]@?G???Z?R?ֳ?X,M???(+??ډ?J??????,?Oف?[????%?u????????!???YQ?6Cd]ӀjU?_$e֩Z?Q*?c?"(x?g?$?))\nJ=3?ơ.??ԕ??}v??h?UA%?????!??9?n??VW????Ẁ??24B.T9??????+6#??ү?z?%z??????J?2:???????????df???ӕ?tO)??C?g״>??ӞA?U\n{??Y???kA?W\Z??rɮ?\e??ZQ??\\??g?Q?(??ZuB?Ã?!|?_hٱH?????j?? ???F_?{?ig?=????$??????p??\r?rj???????IPeG??W?K??$,-@???\"??#r??D??D$?(?:??⸓8???߷??iq;?????a3???????R??:Z????-?~c?xa???z~\\?=?????4??S{u)}???7??BҎLi?h==}???????\\vE??\0yQ.???8??|^???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:81ae346010ca9233a6d4f1e1c00523b6','e???0????N?qSd0???cf2?X@AH?$L?߽+n????cq?????ph??K?ݓC???G???+?&???GV?\nk?gd]??Q??J\rײ???+???	??TBI???+??l??M???Y?R??AAU?){P?(???x??|~{??ƬR?1??Z??:???cdC߃?jՐ_$e6??QSZYa?"*??ZE?g??ziM?S]db??+?{?=Ѓo?Jt?;?c??? Z\\?_?RJ?&A??R?_?m*???dg????ڹb7?9???ޕ@?v̊\n?d{G%{IF????????f$??9???t?3RJj????????]??}????`?;I?\Z??r?(}k??FMQ??\\޺0????????ꄨVD!?!,B??кc3P8}	#9?]??г??{^\Z??Ur??I??T7???o.?4??I????O??@7\r?"O]??Vx;?ନA??H?!ن6$ߐ?o?Cx?Eۨ?6l???o??>??,?ۇE???b~N???5`zH???'?1?\ZO?쐥UVg??6wj1???]	??\\???P?uy???me?F?????9?Y??l??9xx??????i5Ҹ??⇱?v?????.3??^*j?h?4??޾??\"+?9e??O??i\n9%Ƒ?$9?2?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:856a981e32b0a20d4d8974a26d30b30e','?Z???=<???(??{?hzĪ?e?GZ@-W??8c;u????~?=?sq*?????????8~?????\"??\"IF?H?͏d???)??d?????I????\\^_??????????)???I7?H)???~???9?O??\n|?9oI?A??&$?mjkϺK?\Z&x??K?n(??h?????[O??????????}??n?????T:0??Ӻd?????7\n?	??tw?q???K՘]???)????1?8EQ?Zzx?$?`?\01K؈??? qJۄ?1????Q%xD?610{ш?6]%JB?\'???˫.?$h?)Fn{?L?sJI*Hc?\n̄D\n??r??3Zԣ??pɉK?\rFb?r?}0????\'d,??i+Дह?l??H!??Q???JB??\ZSšN???rD?)Z??\??0?????3????<???ڨ?m@6?\"?OLO????p?m???\0O\r?΂=??{?Dɇ֩??>?|??{??g???[m?{?4??\rYaጼ?k?4?P?c?\\F0.?\'aJ?1??]???R??rC?rv???$?tl+?b?*?U[8?vfאW??E\Z5?????>G???4}1A?Z?,ȇ?3\Z???I??9(\06?í?BP[S?3??J?_?f?F??/=??v?f8Z?Ƅ Hɾ????mIYQõ^?\rg\0Ũ??}?]%??[:Ҩo??ǰ??\n?udNNOrbP??\\X??i?\"???"? ?P???`6f?3?1*S??T?ա????/?i?pRk?E8I?1^/ڙ??<g\ZX????>+???????e9c1w????%\nuXѵ?\\???Qr??b\\ҹJەeG??}?G?U?t\\?\r?h^E?]?	?d$?)?b,??n???y??~??V?q?`<vd?c핡g?$ʻ??r?ȧϺ\\?=?	-???\"?ƹ??d?d0?4?jգ?&^?8???Er$)b??]?)?	J???`??\???F<p/9?#??gDMl??+q^??_9N/?t?????0-A???Uj??r?A?Y??չ?tA|??ւ?˓????<\"?&??Pb?\\q????ؿY??k2o5???g???8u???-???	a???s\nHV8vD6??1=ny??ZS???9??]G?\"WL#?;??8?U?????V?Y????UR[?%?2?6n$?§???ZI?Y?Z#?\nN??+?Y???Go??Y?6?|o[?7???*ģ,???????\0??$?}/?E???@?z˩NLF??H???ww??I?D??j\r?t?yՖ?&XV??????̪+F?J?	?)Ɵ????Y[?E	??x?	(?f?s?2?Re???5?4Y=?????s3?j??;?JdMb>??N)T\'?eR???????6Zd!?ǲ????*???DA???Xx????1???\"?P?n?????G\'W????V]?q\"???eT??z?H\r7?????? ͅ?(k?s?c<?)F???E#??-T?K????E?G???}N?????M????]????atP??`0?#?6?4#??\'E\\}???X??!????w?|E?%?(??"??d?l?w??Iк??Iu????%??R?????5\0?KJݭ>4Ϋt?g???\"\"???5DE?d??j?j??6lWѱ ???P?w?:????H2U??Vv???~3???C?jW??@?un޷;??jl\'j??4?@jdg?????{??YY?4?E??k??[p???V??)\')?????L???6d(??w??j{??????9??1??Z5??K???լ?0?????0???????(?Obp?Dko??7vB????a??D?\Z???bn??D??{aXc????v??s?TVۆ????i??.???X?mТ??W??`?\ZC???e?E????]?Z??rG??0ʕے??i?????z?!??8??b8?\"?{3?ǒ?J~eR????\'S?U??,s??~ף????X34?L???????޻\")o?@P??s	%?l???????B?H????ċ<?\(??.ֵ??NUK?4ቀ???,k?Wu?s;?7??>??\Z?+,?~?o,]???T???О	??N??????S6B*????V??b{????y????7?]???ҝ?|û?????????w?>?????(?`?14???g?????/??݇f????I>??^??????`p???V:n&??????????\n&x?/??%?)?<7??*?ʕ????[?????a?F=4腻??.\Z?????????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:8a9a7f13d91bbdf285f2dd0337037c9d','e?Ks?0????p?????cf2?? $W?n???+n???}??2-?II?a?aw???????ER9R&[?8???R.*?'dU?nQ?KTEå???$????h4??)???,?E?A6???]m??:???jh?????=???=?<k?t~????~qgV?\n?????P?ݜ?G?X&bd}ׁkU?_?ʤ׭6??4???ET??5\nO??0ujM+ƺ???`W?[?;?|????.v????_Іk?6???RR?	?X{O]?????ǒ]??FW??#o.1?_=??&?o?enh[????D?????????f@??96t%??5f?????!?.!??Ӂ?A???νa??Q1? ??M?8~??}O}c??F?Q?]޻Ї???䄒W1??#?X???'??????0?0?c??nz?????P%?5???Fu?(^u?}C????z+!~?x?%\nt?0??.!????))+PnA?+rX?lE?9?H?\"?9?H????v??;]?Α????:/n???Ê?9nR????S???9?I???????????>?84;s^?rʋ?r?fU???e\0G|??????ْE?w???^?m???nP??ƽw??????L?ks|????[??{?peV??E??9??W?S^?O?\"9?7???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:902bd7ef0405721fcefbb159a0565c58','e?Ks?0????p???z?3=V? $W?n???+n???}??*?쳊t??=?P?\'?_??G???ʶ??8??0?\"$? ???k??????}]?	?P\r??Ls?x{??cX??dk?????6(?c]R[@??\n?0??n??Z?\'>??|?.???0F?n??c? ?1>$??????C????Z?P??5v0X?F	HY$?(?ipV???Μma?????v?ؒ???\rMRI.??C?????????V??HTe?????p\rP?L=??W0X#??*vC??SH?z???h?%?zE?<j?4*?A??z?`ɕ??h恺ؕ?_?o?	0?NC?ߝc\nc?#???????g?S?Qn?\\p??7(??????\n\r??u????'\'ɃV?j??aOB\n?;???DˎM@?=????݂ĶR3?z??o?V?\Z~N??????S??:{???A??]?P?h???K45u???W??T???rRI???+?[??)Wd?\"?9??E???????:?????yq???W?q3YP?Ȏ???]????{)????F?N???Ǭ(N{V?cE?e?r????}4???????|x?AG8?J?d።??????g6-\\?\rj?????x???\n?.??_??Ҹc+?I\\o??z?NY??d????\"?$cyy?Y?/yy?{~ ??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:91fd0a22c148db0555f8bf20eb4a24c1','e???0?y??Nm??\Z?w??????\\I????{W<ܤ?vW??@?????\"??4xpO??5????у5??=??6.^p%Y\0R	5t T][?/?*ϸN???|H?\n?n?Dh??h%???e????q?i?????\n:8?J??1?twb(k???Ȃh??>??y=?2g???߀??Q͌?x??$eC?7ժ????0????2?JB?"??g5?I?*0u?S]T???ؕ|G>?yL????\\?O?)?\r?n&ZX???RZ?n&є3?S7C????2???\?hM??\?+\n??$?\Z?w?a?Ŏ8!?}˸ԪW????b???R(gG4??s?+???S?`?? ??????NG2????(?ʃ???`?\n?M?~?܇?????T?C^?0??΃Vg?k??a?H?$C8`??D?@?=,$????????s???Z\r[?9?78???Q:?y??F?4)v?̜b???4㲟????\nn?O@IU3?$ߐ??ߐbCRn??7?f[?UM???7?n???___??;ć`y???z?2c^dY??^?Y	Y???????S?K????@?#=????(????Yt????????x??@8?Bvd??1???}zg??T?h??{????~]v?gs???????????k??ݿH?????|???????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:927acc483fc2c3509dedfa1435d217b5','e?Ks?0?????k?M?CO=f&#l????^??n???~دs?ϝG?l?Y??/?-Z?-(??^1a???$d9?XB?#??\Z}MzRy(t2?˾?*?!?*?A?s?5??+?????l?SUf??U?????A??nc?ts\nk?A??0D????ܘ3?c? ?1\\T?W??A?N`??k[pC?*?:??*C?$?,?B????x$EA??8??1V?????????B?T?˩???2\\??\0Q?mͅ*??iFU?uӵ?\ZA*S\r%;S??֔ʍ??`??_??\0Jt?bNH???~j?2ڑ????3x?ɕ?=?fd?\\???׶??$\Z?D????H??}??}??ٷ??(7???4~??CW????\n5??u????+GɣVk??Q?HB\nC8???Ѽc#????đj????0???{^??#ժ[?I??T???k/??Ԥ?8???i0UG??W?5˃?p?????d?Y??d? ?9.?A?z??Q??7_Χ?}}}?w??`?q?6?Rnˣ8pγ????????????76vj2????Zd?/NP?1??\???d?[[???~t?B?h?啭??%/?Ӟyl??V??o)~蛧????lGks?)/?????{??6?eb{ܔ\"??$Q????????~{y`??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:9522459c2d608a6286abb93a646c04c3','e?͒?8??S>e??	?4??T???ؽ?iһ?ﾲ???Y?%Y[?Ul????_???Yt_?e???? ?eUtb\\?ÅN\r8dk??I:F@??V??Za???p/۩?????ܓ?jjɥ?C?"?a?*~??2??NWi\'?(m??\Z?!Hh\Z??>er???x|?)?[/??o??y\\<?Q }? ??<Ԃ?+?EІc?l\ZG0K?:?&5(=+*C/\ZY/]?-?J:??R??p??}???rb??<?Fp}P	.?b??s????x???UJ\n5?ī??G?\Zk4=B#T???58k?n?V쁜??????w5P?ى??l?bd??????+X;S????&df?????z??\ZT??c\Z?>??Ӟ,A?U\n???滳?!@/???4~??????\\?r=?|ta?'Wɢ7\\k?QB???~?}? q?6?r??G|[A??^?y??}??T???\'??Q=??\nW????,?&????]???4???t???X??? fU?Hr ?I$;??@??Hy qtDǨ??1?x?E????v~l{ۯ?????4k(?&*?NyZ\\????$*???dk?6?6o1?8j?s|N/??M?\"??2Ƌ7Yߖ\Zh????=????#???lგ????_Þy???V\'??5R?0߮7????KO?6???VHڱ???o?J?2K?4+y????C]?g??G)??~????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:97a0463cf5aadc143a6fc22f935d5c27','e?K??0??s?)??&?;d?e?R?h?!9?0qR?{Z<????[??LΧ}??ph_?K?݋C??????+?;?X䴪?#+Y??)??????wCӠ?a-=9?? \Z]W?+ɻ??Cd?2y?me???6^?^jc??nZ?\"(?k??!e??\0ɚ?G>?筒???]??jP!?Ә.???f??*?????"?Awڌ???Zc???x&\r???k:??"??U????;?68?????r)v8???7hÁ?????R???L?i??????B?"?7S?Ts???ڹbw?%J?5P??D?????????SF^{??H?֌d???C??+??#ך?R?Qs?? ??????N2?v??$?ν᫵QQ`???ͮ4~????\Z5????wa??+?%?8???X7Q??|G?@?=,$???Ê????c==?x??????O?????S?zs???Q-M\n]????:??h???on?o|	+(?\"?6?ن?6??????:?N?????Q??????,?xb?O/??C?<?%??\"KE^Eu(28??~??S???"????y????Or??*q????2@#??????????c+?wJ???~z??s???Zi?????\\?ϒ?.3г9?\n??i&????Y?a<??0j?p<MEA?3????}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:99f1c02cc2f28d8ef8a4683dad2b3c40','e?ɒ?0??S:eq&,??9嘪T#5?AH?$L?T?-\\ܤOݭ??+?!)Y??틹xi?{q??e??h4? ?ce?c܄ŉV<??	?aP??um??E;!T*:??nh\Zt>\"ғ??ѢR\\I???????+?֯l???66?????!?n??=??$k????J:?????ܙՠB? ?1]T??\'?ic,Ǩl??S?\Z??d??3j*C+??A??[?(?\ZRA?W?8??A??C]??p??A??&1???q?noІoqY}?J)????nxwO]}??ER7S?Ts??ѵ?s?țK????@?;f??????SA^{??H?֌d???C??+??#ך?R?9???B\nS??D???}??ڨ(0?I?W\Z??r?P????T??B޻0??????W?k?Q,??(?[??	??u??p?Fr?]?\"????O??2???䰅??èn?ţ?\?hTK?BW?`%???wL?n\Z??u??KX???ee\rʭH?!????ؐÆ7??rI?-ڪN??ӭ?+<]??????<?<˻?????Ǻ???????0;&??]|???Z\\??ȫ????@d?<X???8???ne?F??????Y7?c+?wJ???~z??s???Zi?????\\?ϒ?.3г9???[????????Hy?q??I??>??p?	?r?O??}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:9f12b4d1d16d89da572d56f0816e6cb8','?Z???=<?????????2??e??Z?Rj[vd???a???B^l?$_۲	j?Hڒ?s??9??????3C|??S?H?	?0K|IX?????	??IƇ(M?.??$^?3????????ߧ???2$?\"?D47??6?r,3????\n|?oI?A??&$?mZ??}??$\Z\'x???n(??h??\0???G????????#gps70??\'a?$?L?J?Yj`/F?????P???Iw?gY*??T?نK9??\\\r????	????{ ?ΰ??Y??=??S?'ğ??A??>??(?????ٓ?F??Q X!??g?/{^\r?X&~/ M1?۳@d??QJRAZ?`?$?R?\'????F=YJ?\'????5`$&-\'??????????M[??\'?TG0J?\"?????	e??$?Pט*M?@??#L?\'?`x?*߁??&???6nu???}?屔??M?????|dzb,ć????x?`?t5ؽ`?5?????|蝊=??Z???_r&?\\????gI{?\"?\",??׺f?M???*??????L??z?=z?TF???E|?]?:M?9	?-?A?;?[Ű?C?g?\r??$??Ф??r??????\ZX???cA><U?E?ѨG????H?u??>?	,n???? ?w???P?????\Zh?I?? =Lago??U?}L???MP?ξ???T-j?K_?????Ӵo???ĲC>?cKK\Z?\rz???/??Q??%s?\nx????sa=???0R{??0???B??֞?YȺ3?'1*S??T???$^?g????8?5?,?$G?????C\0??bM˷?\"-6??e?T????ʘv?35斣?byU?B?+??s?):m?????t?Ҷ??_???YJ??+í????^Ь?d\"??)?b,??n???}??~??:??8C????i̠?zVK???:ܰ?|F??L?|f???,)?Zy????{d/+?H?9?? I?0l??ڶM?Qe,[w?s?;8	??o=^??\'P?ψ?*e[???_ZN/u?????0=A???.?SuȼJ?ֹ:W?.?Ϻak0!i??6J=O?l?	?Z*??%??t??X??7??{M???:>???y?A????]?E??ZB!!,??:???d?c?Ad??O~?kcj?????C??v?I ??R???"?O}W?Z?c?b/?-?S?F(|?????d??ѯ???????[n|t??????՜өJ?<?"?????\0?@B.?\"9UT?s	tΣ????T??????w{?\r?TKTͰ??p?Ѩ?"?N1???˪?$uFs?0?\"????A?S??\'1Kj?I?Y????S??????e???ʞ?u5?4??\'?'t?.^5??w??Ȇ?6@?R?N??ʤ??H=?ս???!?eC??u`? ?S,<?f?N??????w?wt???????U????+???Pｆb\0?????\0????0e-?`?7?n?b??_4????5ﳄ?_?Q?{TމSIp<?̗?yJج?r???????2.+M?FU??\nF#?7??`#?3r?|zR???]́?uI?~70?\\??H?+\"?JvL???_????(?\'?????*E*=?:[#??????r?qV??;?U?\"?L?/?SCT4oE??v??P??:?1???Vg??0?CIf????Մ???%???B]5?K???7w?+`5?c?TtH-\Z+ 5?Spވ????FO?YY?4?y??k?{[#p??ޖS?(\')?=W}???F??:d(?f??V?\Z???????yQ+??j?^?????Ԛ\r??G?c\0???z??݄??$?O???Uyc\'T?Z??&?X???>T7?S????p??5?ᮺ@??j?̟??Ae?mhi?E?????J???-Z?{e???1?z*^T\\6?\0??? +w?-N?\\?-??&*?????????<4?$??!\"L?7?y(Y???&?X??<??W?+?&?b0w<`??=???????f8?IT?h?<(??W?#?\n?b.??<窸u??Q??\ZIy?P??x?\'<K??ҥv?47??F.Mx, ?E~?+˚?U?\B?Nm#?Og???˸??Kh????0?gB???2	??M?ʺ\n??\"???tIf??	?}??|D?????E???.v}s?]p|[%???p???\0??J?XM?uF???o???K?l??T?c3?E?$????hw?t???V:n&????????????/???)?<7??*?ʕ????˭{?y/Cw4??=_j?`? ?t??9\\?q{???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:a25e427ad203b9c521a06ddc14d11af0','?zG? ??OAVk@?PI?;??cK?ڻ?mK?^??D?,	`(JM`???32?\0Rݞ?????gdddDddD???g??k/i_?.V?־+g??]v;??嬘?????????r??6?/?ƫ?Rs\\B6?_??I??6???ˏ???d?Z????ŇUz?,V????????????Z?9???L?d?J?\Z??}?	OL?????????7???O??gwg??:/?//FO????????z?-g???*????Y?W\\??????*??!??@?IyU?~W?jZ?_A???NzV==;?????HX?xZN.??\n\n?Y?sV?`4??.??<9;;;>??-W?????G?_}=??|?_I??]1????X~v?=M֫???O?b=??N???I????l??j4??1\'??Η?ڃ\"??{??0?a?2w?;?w?????B?;??9?l??u?O?\0??,?o????????N??????ZFk0????.???{8>??h?`\Z??6???????ut?]^?o??qUx$O?ٴX????g??;I?vW?/`\"X??xx[??p/???i?r~ߏW??O>~WV???߿D??????\'?[?>ͮ????j???(???]???Z`ϗ??Ϋ????οX.?M+??U???eQ*as??!5??T|??Qҳ?鸪?aR~????W!???\\\Z??ĭ?J?'?rC??R7\0?t?_^????\'??o Ks????x?H??+?1<??O??v????ۚ?<9?O>&?ց4?)?Nԏ??à0??Z???};??V0I?ԑ?|?j??X?9???)?|aKr΋????\"?????)??HGs?Ň?????H??????Z???5=?W\0??Ph<???3b$?ړ?}\0nޖ??f???}???D??=ᎇ\r??4:??i:.g?#??nA?n?/`﯊?\0o?????f?+X =~?&@ʝ\nl???5??????N?^?????;ʰ?Q??#0???|>-R?b:??u)m???0	:??????)?WE?638@??????|??????AK?Z?ow1^B??????\nJ<???(n,ݓؖ???\Z???$???7&br??|C??????~:t???pX?uL^??mS????ٰ???K!鉎l?O?\n:b???x?B/I2d/9?k????U???g?7.\r??CC9:y??`??????Ƴ??7y?$o@???????P?t݁??R???\'???o???W~S??B??\Z?p???`y?????~??q?`T?/m.?Ųx??:?90g?[=??b`B???F?|???2?Dq8?M?)?,??ǧ??C\'???????=Xg?U?Q\0?Ey?b?n???U???D;?r?@?2	?B????6J?	?;:e\"􃼞??e??qY.???~k?????D-o+??ͻ??\0!2X?YB?Ifv??????v?%)?v3^?`[??,??Wdl?w͙??#?Z?[g????'??3{?ϗ????Y? ?\'?2?.	???Z6?j?HJ??~(	X^\0??H?|?<??8[ā$8???^??2????e??X???=?\r7;???*??ZG???̟Y????	??׏.?Z?v?\rp??.???Q?\\????????\0???D????^Q!\nL?B&5ļQ??K?$? ??g9?-h??V3?s?B???mV,?(4I??Ű+_???????ZQ#????F!?e?\\\r??C?(???F?3~Fǿm????ڄ[?}????	?+?0????J}.?\'f?O?????(?`??՟??#???<A???O\'\n?>&???e??R???{?	?;C?n????cA?GGqÈHX??q+K#d:??N??՛??ڶ?O??jQ???\'??O?eQͧ?u??\\wd9?y ?^]?V??\\?Ts?5?????+sG?????\ZƧ???X.?	sMfTΟ12??Xɣ?h?O&_?Gu???[????I? B̴/?\ob\nŀ?C?*n???????j;?Ϩ?\nqq=?]?1?ф5?II%??,?S!f??{?$-??x?????Jqm`??)߯/????6qj???0v?qƟ>i??Y@<???)??`??u_????1V?~?I7?~??0?߹=I@?a!P??T??a?????+????ZQ???*????\Z?V?2{^?T???????hΟ??[???AfX??\Z~8??+?p????cD2h+\Z?(\'????\'i?????,?I???I???a:??>r&??Wp\\?AZn??:/H	?_?Va?mc????)??	>???Ԯ???n%??n~\"<^V?{?????5??T??v|?NL??IJ?Q?̭?q?}?#??Եk??#- ?0(??dh1?e?P????%???,????1խro?7????&m??? ???QS?C-?????p??p3?7??`?Lh?X	??q.	??J9?3p?^?d??Y??1IT?ű?/????CL?/?|V?U??'?w\\}?]\0UDJ()>???\r;$???$?\n???\Z?ί????????$(?0???G[Yh\Z????W?W??x???i???[??N?\0???S?\\?????)?L?x??.u??????5?W??zu?%7ՑEWw?.?R???@p?BA?X?R?jAѯ?x??VK???tGz?{?J ???x?U6-+@?	??֥H?I􃛇T????Y?1`????.??}?????SB?Gc ???⦸??S??%AϦ4u??m??+33??{V\0?!?\0Ի??܊???%d?!I??hT?P?T-Ԗ+o?x??Y???t???p??0ª???TIX??#?(??????*???zy |??&8f?'-???\"?s4܅(o	p??????57???\n???,1_?????\\???U?Eͦ???(u}\r???	ׅ8?!?iu+?=??\0^L?ʜҔl???.???ɓ??\'?c???^P????????Fȹ???F??Z?]r?i????h^?B?R?08\\?}.g??Gx?????????5??U??\0!44	???|Gt?j??u??\r?)x[ ߚ??VE,N?_?\\΂݉J??n?ڢO|q????^o?Rm????\\?hT;נ???r@% `m*?Tog??(?̀n?d??7EF??/\n6????EW]?????????Z~????7 ?	??l(٨a?????Tf	???KR???͛?\Z?g)????ͺ{<A?B?d?Ƌ?9?{]?9??^?<?/????\0?U?Ap?K ?` I3?Z???6ˆ*{b?q?=?c?{????S)Z? K԰N~?????N٭??gHQ?=.g~K????77?_??i?P???w5pUO?j???w?? ???W???(?~?-?????W;???|7?s\\?3D???ME?8????M@[6?r???}?U?O?$}??Lq`Ox?bJ?&3I??!]Om ??E??????????1??Pl?9??vY??Z????{?u?!???r??ѰT;\r??L???^??H?I8R??%??k??G??{k&?z?%m?PY????`?\r6?T̼jW??G?\Z?\n̞???5[?o6????k?K?&???}fӝRd?NK??*??????B???v????f?i??!?}??%#?<??qY?e???&??dW>?M>?\n??r$,ٕM?5$?HjT^????r?,?Re?????\'?b4???\nSG???v?O????5Kp??????`5&7??|??Z!.?p]??kP???W?'_xģ??\n?f?|=??P???F;??Z??i?)?ro?????g*????*?/V?I?\'h??9.??8Z?????????xz7?X???b??-G?L?/|??=?pL?V(?`?XR?????&?=?8??;p??=?X??????????}@??N????|ȶW[D+2`??\?5?K??????????⚦2?\"ȥ?i??P?W???^?&2J?Ԋvb?d*??G??Ð\Z㿤??`?n???%???a,??t??r??u?%?z%??2\rm??dۄ,?B\'2s?,??.?3?m??f?7???????~dA??:Fh???<??Q??p{?ڑ/{<گ??59??7??\"???],?+D????s??3l??\\r???g?A?b ?cD??)?Lc~???%C?i????k(_\Z?u???%??d????D??x?CnӉ?Zm<???Z,3??7~ ES?<%?\0??)?q]?a(???H|?ًׅ??T?x?y]??7?I@(E????*`?&y???8?0??\r??fC했??U?}Ժ?N?h????m;}??j?v?~?	Yϱ??R1?-???(>?y5r3n??M$??e?}>?R?\"2b?Q:?D?_?~????1?.?J?O?i???\0??8HV??U?\"?D??????u???xG?}?\n?bK???u*???8_??+ֈ??ބ?D???h?????Il?9^g???\r*?p0?k?,??8J??3???Xf????	*??\r???>?u?????:????v??/W???????y?cG??M???X?????v???٫?&c????????O?Ʀ??W?E??TY񞰍??@׺p??a?¸? ?|?	??vU???%(??r??o??.O????O???????c?;޿^????p?????]|?N?UE??|1?(W{????b??x??M?/?/Pf:?8<~??L9??x?F7ޑ?NR8-i?ɼ\n??͉???4?l]]Ά????????ėT????i?;??<^E??)??????Z?\n?V??0!5?????,??#?,???pF\Z????X??>?8?<\\q_?V?w?{??1V38D`?b??\r?0?\nb~B?wǰZ?\"?/\'?O\\?^Wr????&?:8?M?~??????F~F?^??X?T??zm?H???6S???7??s???G\nTVFI??\nU9??Y?????\n6?vۤ??rP.????P????Z??Afy?????3??????\'?\Z&jl??h?iIj+A??t?R?&?=??֚??;)+?'j	`?J3?Z??e&\0???VW\"????X\'??Z??N??R??ˆ??8???]?JA?Jj??P?|?h?;z???ܷXH$????	?}Ut????g/\"ݼfЖ??YRE?ɑs%????u?O}ѐ????:&??\r??o|?L?.:s>?h?ߕ?????$?\\8k?>Ҹ?w???1Djk????t??b?>j??eU??S?^?9??$???N????	?*\'r?\nH?K`?&?d`I6???эM|???I??? @|ay??G?\'\'\'\0?`??c??"???°E?6.????-!E\0\Z?r???@?r???\\}Y?????6???$?jJŤ0??W1?????!T??C?\'????S??n??c?0??h????3-?\rݦ???h??A?ƫρ?:?2?UҞモ??????2s?%?7юds?N???}b?{_M??:??&}?w?<+$O??P????h?%?$L?????T??hS?HmW???q?????????3?L*N?????s?nI??d/9Ij97????i\r$?k?d?-??q????vɛD?^ߛ??6?Yvz%ȧ?H??7:??L.ߎ??˻H??U?n???-??\'W?C$t??L??SD(?=y?t%v?\Zj?	~?~?n???fOhXva ??EU?R??q_P:??`?ǜ\n????27?Nzѩ?1??]:???=?e:??=۬φ????@????Ώ?/???=??/??E??ݢ\r?VS?p??c???????5pCP??@Ԝ?????/?j?\Z????f???m]?z?_^????:??}utzzqy????}????????PZ???\r??? ?Ir???9?8?!f\r?i??Q?)??????7#ةX?˅i???=[?g{5??"?!???2??.??8Pr?????ߋ?y8:???H;E???%?k\0???9gp???5?JN?\'	?%aON?6̼???3????????M??	h6?u	l?J??'b??K?ƕ?\:?f\0??W9? ?\Z0???!?n?Iw???9>FѦ??-?{???KHTS#?4?zU?\????????Zz?-wy}\r??uߜNzt?s!~???\"?\'\\??<?`G#?P??nAV??x_?-?????Z??.7H}8<????qɽ?h???\'!W8????1-?G??!??`???G?ޠ?{r?\Z1??z4/0֤?kX??{??-N+!\n??oi?´H7OR7ڌ?6??PѠ????\\???~YH???0	?ĂƽI?????4\ZOi?Z?o\"?????????0??_w??-???ađA?n̻???q?????3c??Bu?]?????*_?J????5h!?:㜮???8????#??W??v????)???\\	??,?????ʅ%LF?v??5v>????C?7???WjTIȔ73??N?d?A?Y??LAP?Zj?G	!Z???s???r=???F?\ZCN^<?|.?$	6$??Y?Ja=?t?=?U?NmZ)??n\'???vȅh??I6䯓?e??? ?(?Y??k?7I???=??@FP>!s1\r%#m? ?,y/??O\ZAT5???X???4???7???л?G??a???? ?????c??????ᮊ?Yr?4I?{?%3uQ?m|??O?7t??:| x?0????????-??}BЬ??o?8???y???s ??ڡb?pD?FHM??~?%???]?????h????oQ???\"?r?\'y?;\nr???()?úa%%??f`J?y\rL??b5`\0?]Z?<?`?j\r??r??\ZLS}3???<9????x?F??kסư?X?0???????_???EZ??`?`?????^\'??T??_:aK{?9=??;???v;?(~Qd?M?4??@?4H?٧?????B_??ɖQTp???pm?)z??d????_?[???$????5??\'?????flZ7e??= ??????@??v??!Y??E5?Rl?o?Si\r}?\Z?,?4???&z3????_?6??aT?cZ[u?????q?? ?3㾱?\r,?ҡMЦf#? 1\n?q?ą	??D?????X?s`?f5!??l\Z؊X?+{(\0x??kXd??6??Q)? ^?\\;b?G@ƽ??\rMr?S?\'?\"t????d?b?h??=???0;*?A???'?7l;P3?e?????ǘ\rG???4P?d??e?C5?5???o\n?T%@de?ߡ?i?{rA?0<??F\"6b\rl3ul??Lj?????2\\?????~{??v???15?b?^q(7Fp???j??T||(d?U#SU????????9?d\'H1N??%ׇ?%ff??,??lͦ@O??Iףx%\\/?fl]??Z_?????CE?P?x??Ʒ?9u??xK?&GUk?????Z?\?F?fK??t>_?I4[L??|I??n>?~???C?uu????0Q?f>????????&?`\nɼ?ا??e?5?H????Zß ;??ޤ??NCŦ?P?5Ʞ????פ???I???7Q??<+??Ǔ?????6??0?}??	@5????`??]????????\'Ϸ??֑??ۡ?????d??}}?z??,;g`աu????C,???\r$?j?|??Ωh?]??????:a?$?/`?Ӽ???,???48?m˫7?M_kx1?Y<?????K??h???\'Ԋ??ӽ&$?b!?K?]?Ɍ???Z??˸>??Hg\\͚??@?????LۍV{?|??k????]8?.iL?i@???ڈ\\=T\'?L??]¬????ii??Ż2?3?Zޕ?a?_?????Q??UD38?/C-6??k??A??\\b?a????\Zd?裇??.1???2f??QB???K?Q???rɻ??????e??=??W???L4???s??>i??߃]?H\nD&T??yEHǀ?????$ z?V?\"?A[T?\"???????o?6u????k`\0+?y?NE????j)??֐??v^?:?\",?xB?Q??????|???ƻY\Z=?M?2?Z???n?-?:?\Z?K1d.?t=gi?h??6?????v??%?B??O?????)Ƙ?D??9???T???Y?N??Gw??n;W??	??C4???p??Y?}ٲ\ni???0?4s0y?񵝢?5?^?????e?Ƞ?+???Q<j\\??x(???߻?o?? o#q3???w???Q6T]??e1x???pT\ZgjW_?\n??????ș?F\'?B\Z???MK[?j?iy)??? ??F(7?2????O4??:)Ԩ2.?3`??#?4??ZHi????\ZCsi?W@?ZՇms??+\'E??p?/?˂q3?V?)oP???HcpQX??.?\\???\\[??1??~?v???U?,Bk\\\"8R???IO?r?=???..????_???_??<[??.@???F??;?ؒx(?J?*?O?E???/~d???0?bMm?z???c{?h4?/5+????7z/?_e?z?/\\????5??D:򇨷???,FZ@?8?#}fbwL\"??ق??xrb	??3??????SY????w@?C?@:P?\'???2???+?]\0???q?1??fZB?????1??r\0r?Y/??*`??T)?Ĩ??#y????6??鄜??a?u?Р???Ñ8?????`ܜ?3k??~???1/kP=?Y&?6z??t??\rx ??&????Rk??\\???+??`Eh??T?U?	~?y?b<;\\??l?4Ѱ????`???\Z~?n???<?ܑ??*/?]y?I`x??7\\??O|1;~??>?DP?nλΕ??e?M??j???q0?\Z6?^????Տ????^???+c?Vza?f\0/\'QN???L2t&??|L??k??}fI9???`~Uf0?????ǔS?????N????Q?&y??????R??II?3?\rJ?J??v!>???S????l???I,`??Z???A??h_?86W?<^9?cF=1?때\n?o?????p???\'?{wx???v?iX??yz????d%_????J?.F\'??5\Zq?JW?Q???V)?Kh8??.61u??-????E?N????????c??f????#??z???????§?'7????<?\0???\"V?t?Lٽ???\Z?7?T??k?P??a?K??z?k???`????????u;j??r4?<??ÄdE8YPD????f)%z=?\(??F+I?r?ht????7S?p&??t?Ϣ,???????D??\"??i???D???1??f??׏@???ak????<t??????^n+?r?)??}???7T??@?%E????k??#*?????b?+??p?C?cViK?.??<???q?2??D]oo.R?UV?n??|F7????ڔ????ʏϺ?Sr?\02?WP?bS(???^n6????O???????A??gwgUw?????g??}?kv?z??\ZS??+IM?gr~uG?qr??NhT	??????????M?_?p?j?r?s?o??e????L?\?ڡ?\n??????dJ9f?v??̣?_?	`??W武Ԣg߹fv?SF~^?x?????Dd?0͘???????@???p???>?+??O?gAw#??ō??h?\n[? *?$	??2??jSA?~ϩ??3?p?n?B?r??f?D?=@o?6j????	_J@?G\Z?????Ӯ?????Iڭ?η??9????8?5??׋>??????n7?݋KE?!?f$?KP?I?"뵼?????߁TFf??^??=y?0?ʄHT??ј?ܦ?Z?n?????y?JE??Ӂ???f?\"???\\??m??f??í?xQL?K4V?â?c1??3U\Z??Y??h:??~*~??\n?l??b????;=???YD???p ?׎??????/??9M?*K?h????y{m.?j??-$??52	?k??d.?p???ס?NR?\r?z+MV?3-???\r????~H????]Cl?;	~?ڿ???i?}Кc;1v???e?^?)?1??jm??~??V?ȝ????N??????y0z?箬???f|.#bB????d\r?D?c???њ(?B???#?6~.?<x?@9?d???h?$`??6?T??u???3?5?f??^??t!|?`???l?W\Z?Lo??}???2???sSS?<^?[t}|??-?E?%o~ް?Ţ??֒7?ь)??me?Y????Kn????U?01~H????5?a?????????A&?6g\'6???7?Gr??ӳ0????p1???E?9=HHT?/M??e??????z\"?G?l%????(???>??;?(?r??a2?????|?.#?g??!v???B?\n??????_?[??Z?\'\rYKyB??U??I_?c϶????\'@??D???V}#??S?$s??????Fn??\"?V??9UQ?IN???k?\n?4\Z???V=11B?y??0?Wt?ޛS?2?????{??IR??*??۩=?N??:????me	g8T?4?????h_?K?\rB?:???r???!?qc? \n?? [x?@???u??8?3?$?gnV%,??\\??<I????|Y??\Z??s??{?2??x|??????xٟ⿊?]?k???)?rP??j??뷙S???_??[;?0=BI]R??Ӊ\\????$!??Mz?o?+?????B?F???꫺\':????,?p???{ҩ1??\r??BH?w?:??}C?N?Ȗ??_Q?????^?%?OD0| ?c???O?NF?????^3??[z?????2?hc]1?\nt???նjC??u?/??????{}?\"?kG¨s.?YP??0+?gH?j?ho??{ ???r?*\Zi???/??^2???$S?????^????}???^h#?&l˗???@???ۿX-??0??:??ʣ??\\????@?\"?:????????7??????϶???ۇ???@?K-a?@@???Qu?,????????i??j?	?`?b?????_\\???52?s??6?vi?PB??J??<??b6;ن??????,+L???q?64???@N:??M?l??GT9#?CM?9sj??OD׮A ????V,:??ܫU0?˭??po???\\?????_yP????E0?oG????)?@????????$??G?<?P+o?OR?߂??V???1?6??6?\'?Y\r??\Z??d???!)?H?(\\???L??X??䐁i?v ?y?i???2??Ӄڶ???????????5?MBg2??N??7?\r>?O?P?v?K?a?B??q????L??ɦ?f?+`??\n?*(?\'?9??/??Xo??7??????ݵa?\"????76?w\\??E??i??w?E???M????qX!?Ll$????A????n?[?ij/σRME????z@oM?S~??ڏ?$??j?? ?m?p?o?&?qq7&n?4E??[9???????f????????e?h%?#<??g?̾{??kQN???9???Y\\*ȉ????5?8?\n???%:?ޠoҚ??0N~j?\nw8??o?׫????-??k?YiM?a?x?4$*??e?!?:^j????1????Bb?<?????=_QÝ8??Ok???H?hj]???u??m?j\n	̡jd??M2NÈw?Bv?v??V_??YH?;F`Kn|w%?d?<i,1??|l???\'???&???z??,|RC?O?{???YU?g ?????x&T2:???\Z?;??ؐG?q??6\Z?\'?)<?????f~[???B??&??c8?%?v?????չ??d.\Z7????6?\Z#%ǌql??p???`?n?2(??*?Mv?6Xiԡ???2?p?׃????zm???????k????\'??-:??3VR?9ws???7S\r8?TU?5[????#ϋ?}?????m\'?!????09d?????C5???w??\0He+???	???ms?c?$0???-??L???????Ж\n?\?q?Gv??u? ΢7?????????X?/???.m??`????WZ??????/m\01?ƣ$?8>?@?q??\r?F%r?A;??>?y5z?b?1u??\'????&??Y?c%?a?gL??l䊆??\r\Z??l?C?$???&???1?X+?}?hÂ?_tQ???o<?oB?^??2?????~??w????Qx\'??|?g????g?[?z?????D??~??{t?ҡ???Zzۆ??>?q???Ϟa??lC????3?+?\0?1???]?<?x??ZI??Q???b@·?d??\n?}?U??J??L???????F?j=?????Y?lWvlX?K??%7b?Rg?We^O=ǹ?r͸?&Tv?$?A???jM.^?Zӽ??A??$4l?W&	?2{??I?????F?C??I?V?M??P?.?????t8?S??ԩG??a)?I??!????Z[6??O??X???/????Z*l9??˔?Iܼ?K?ן??*<??????L^h?d?3{	?4?r??J???S?u??GC\Z]?(?؄???QD??!?QX?????????#?>?%?ۖ??p??v?p??AVZu9???P?????\0??lΞ???m:p?eu.???g??\'zk7?`g?.@?1?C(?o?j?#???F?܊%?\n^E1Ĺ????c??@??uj??SPy?v??????\ZE?|?Y?]???]	T???*0)u(DA¡4?:?z?k??Jyt?????i??.??lW?[?y?kB	a\"?o?c+ҋn?N??????<??????:?H???Xn??t?:???u(???0j?A??}??\"z%q&?cKN?C??S0?LbL[Z#?????`????]???R(??e?*?p9?t@??~????OҋF?\Zh?	l?O>????ua??\"NQdO{\n?J???s[???y%??\n?Ş9??R*??q?\r$????\\?l?|F??0?[-;?? K?W???wg?k+^??+X??^?"0?u???]??????g?pBb,o?,?M:??fo??\"?#FF?P_???k.?%~K???\'	z?G??	???????.Ŭ?*?iP??m??M?\"Hl?Y??ߎ2j??t?????wϚ]b?E5ː??P?}???\n{????1???o?\Z{V?`F??S??J?LH?|K?hƤ?????^???y\rvU?*??׋?^??:????\"j?Vf?n`????/k????????-IT޼?????\"-?]???3m?ǋ?????w|?gQ??????9w\r???E?m\0????2?????U???y????\\???;e?D?{??7̶2????f[Cm?Ɣ~bhRO?????ŵ®?E?u?0\rK-~???{????8n(??ǹ??H???w?8!?8F???\'3?-?\"9?????L?La\\?<?????܂??????&?%??????>?k???ߣU?F????ש??5;|$?6p?????؊Qn?????????????????ɒ?e#?#<?Co\'????/?????? ??{??}6?g???\r????H:???O?n?U?Nj?Aa???M?????~w_???f@?7?"?A?څ???2?h??ы????	?\'n???i?=?^?Z|????<???????𼸾????\r??3????:g?????Y?/gó??h=<LF????k??ˏ𠆤?????q??!|??Y?4???v??-???z|?aA???9?7B???_^??<?}?????I??/??????3tD?????N?~>?O??????5?T?D??.??w?3~???cW??????¢?5????G=f??\Zi?\ZR?]7?P?T???\rM?{:?4N~!B1???{?L?rL?>}\\\0?};?????w9????l1^??I?=^?|?8ɂ\nNp???A?N2?~3?lԧ&?P?????@4X.?\'?|C?e????ӏ??;????E=v???udt(N?ŃCW@?)?????(s*\0?.??(eG=??C?'??xVv???̃:8?-7?:Q?M4\'????????1????-N>1?}?\??9????????????03???݈^C???c[????h=????M??0??=???F7???M?>R.a?R? ;??????)????A=??\\???^?\' )??<?3???	g?B???!?????????cjK??X?8?j6?Щ)\rn[??8Q???=?C뵑?C$G??z??C??8G???\"????2??ry?`?Z8??$2??|4_?'?I?????H?/?\"?;\Z???tk/܍??RA???????9?C?/3??????????n????NY??>??c?Y??N?x_?%a_.57s? ?5?????????z?T????????2S?B??V??a???Jg??a??b?Qꨘo\Z?r4:??4*?<E0]!u?:??D???|i?H????)?O?????!?,?Գxm???9??Ĕ%9?A=1Aj`??????9;KD???b?{M:n? ????^?=?u?17?y??????sY?*1?*?j??7?????y?|???Wފx^8????<똛?3????;?}?z?????Xa8\r???D?Ll????z2;͉?asT?????,\r????P귋?9jl?????L?`??E?P\'/\'?\'??8??S?)R????c?k3,UO5??r?n?Q\\M?4?nAn???_u??'.wȇ????*2?#XsI?????c???_?YLE?F???_E4?V?R???f.~?~4??Ύ+1??$???\r?????ȐR?W??$؆vh????rĂ?Z:>????ܵ\rݵ?z?@u==????Zf9?K^??????????_?=?>6	?>1?:P???p?*?ۜ{?3L?}?d?_|??y?MF????o_????????????gG??I;???^??\nbP?tI9j{??E??o?	+?U??^?? ???>?g????4]???	p????`???@?G????\Z?3֗??G@P\'?\r??Vv=?L?jZ?M:??:???2餃??????_cg???j??J_ܭ???\Z[??>?G?F??????le\',??U?ޙ*?>?)B??k?9??nqQi??xѻo\n???hf?#J???P??޺>?\Z??G2??l0???????	~?P?lf?@??]?V?U?^??f.???*.O-U????~D???\n]p???²rѽ4?9;B?C?m??<??4fP?xcE?h*???????ӡGb?DWF??XԬ??r>aA??tf`ɋ?Gw0?a@?vP??}?p??b??A	w??0?(??˅z.^??t3??Dc???{??\'??Y??3I?OA????~=?'?n[?h??u?\\?<=???Hj;?Hx?P?i?	``???C? ?(????i???/?~;??6\0???@???Y?oF$???i???TX?}\0#?Rgk]3ΐ?ǚC??v%:\0?#??????J?0i?Z\"??????'K??)]{pp(???z?̏?z@SQ.A?YZޢ??>??\"\rV\nOf:????1?)??~Gy?V??;a\"v?&?????Ap(C}??0???#??W???t?2?b?|g??Z?b;???#???9\"???T??\'?1`?E?U???f?Т?????/g?5p?0?C	???n??<7?˳?g?f5?kƂ?:???,Y?m??9??????ݘ!?d?D}6?Ӿk??u`????N??J|6???$????$?O????????3ͭ?HD8]??>9?????ϝ2????K\ZѝY??И\'???FlBҠ?ף?SG??ѷ\\d낦<v?&]?Q??l???E{????>??rs?^<?~?????)???c????ūt3????\n????|Nt???Y԰?so????<ՎPM?D>R???2:????C?aW%???????FAT?(A???\r\n?????H?ȧz??/QM??I??x???????Yp?N-*?-??l?|}69.??\n???8?\r)E?2?|[e:yKT?<? x????z-??D???\n~Z<?;~I????q??d????w?\'??\'????????gK?&|?SmG??w????0?6;w??&????O??jq$?9Q????????.mG??0??6z`??]????P????C\n???A!R????ڹ A*?>??\Zt?\n?????!?@)?I1??ۻ??g??/3.??M??}?$\Z???????P??!?8???????????c&??1?\rw???$?KU&?9??5?"?ڿ8??Q??3??3@?7d*??Q??b?	Y??I?[?Y3?W???\"???U{?Ţ????pl???X,?>?\n????L????*???\Z	?$=?I;+??*?5?CB?+?`*???T?????D?ر텚FɷG??\'??????d`Ey??s\Z4????głfsC?Q????0???h?1?b{r1??6O?҄a1???-?rI??P/\0?h|nt2??Gy??@??nݙ??/?p????!???E?D?vp\r?9?=?u{???ު?*H?&ѵ???id$??H?????K\Z\'?׆i??????^???\0?ld?hL??n98A=???^}??8$?(e;I?:???\\?>>=\r??P?q?\'=??\'????ZpO5????2?e?0?/Ͷ????:??g?%??e ??WH,s?C???6G???c?#8?If?N]??ѻ?P???,<?=???9H??H???]Jls7@\n??4[??El??]?1jO???6?V??????R?????I????m????}?3pu;[???ճ?6\Z<`@w?Lc?7??5??OgE{O???a?y}\'?v?;˚Ŷ???????N??????t)????\"?x?Ӱ$k{?\Z?f?͓i4??G?b????????\'E? R?[)w???/?5uGas%?O?bV͐???w?}?xޫ??Ӽ*ٿ?k?=;g3/??dM<????Z6?{ǊY??N{p?=T?}??>??$蟚???cٯ??Z??ߤex?????x?N??o??? ?/???????M(??KN?#>?r??t[???:?p???c??=h?o???????7?4?w??|>??Z?sG8^г??[?yޘ?q??d????G?i??	2???\0iH[o?F\r??l???ڊ?*\n+[i????O??7q?с?"Y???8z⬝*c?@|?i??S4?K??ԿI?p???^????{??\Z?X?1?v??I?>I?r?\'??\\??+???i?)?Y??9??x%\rD@?Z?7??\'??&?r??_$}l???%??c-j؈ai@k#??n8k??Y?A+??bL ?֐?????=?????K?#?6[??Z(\0HM?A???8????GW?m?$~?)?????ބ)!GN?ʏ?v?i8?n<????	??~9??	??[??????݂rJ<v??M?[٧?[?iPoJ?????~??^wm\Z?F????/??_$\n1?W??? M?U;??.V?C\"`??????ٳT?f???5?>?-???O\'?d?!???????&???}???z???????S??,?\Z#=???????&?\0l??L4??7O??_?w?\'???n??F??!f+4???R??z?,;\r??v??ܵ??|Z7S???|?Q??????\n?"?r¼?g??ӝ??6Ξ???އ6?Q}0??? ???\nʉ`??i1??M+÷~?è)eJ?4????-.˽?Uc?t?3???ZWKX?\"??1R?f3\0Y???Z??Z?x????X?????????????z;??Uq??J??ϫI???K?n????@4???[[B\'V???q2??;9#~r??t?E?U_T?d??n??<\"?_;aB??????N@??ò?WK-????k@?PڸsgO|ֲ??ή?r,?4S??7f???s??;b?Q^&e??????$??5?????%v??8??O??????m?`?m\'|?	?????|R?>?????r?>9=?)apZb{>ֻ?}`U?t,???????I?i\0$?`q?\r?h?&~\\?칃?}?s\Z??Ct????o??V?	? ??/?M\'f?ݿ?E??????xMǌ??uʡB?0??I?q??O???!$I?O?H?v<ۤ???????9wo?]\0fI.?~?q??Z蕀Y?m/e?T5C?_?O?????????Ђp?:?M\rz?Sϰiwl\ZBk???0??R??ᴂ?tj_??+???\'?? ??nC/d??&t??l?C???X??B}M???/#؆Ǚ?B??W;??ӕ????\'/?????A{????Alo/?]q?-S ?h9e??B=??NҚ??4?A??Nx??kdv???m???b?Y????L?z6?n??6u/%&A?zu$????ܹn?y??t\\?-??γ[?qn??????0??(Aǿ?\"Mȗq?HП?t???\\?a?F?I?i?(IdWIڈw???$E???s=8?x+?w?/?L??lUN???'??e?\n?P_3??ZS??B??\0gn鎳c8^?7?i???z8?u??h?.????\"\0??P??/ǀ????{?Ҁ1???F???үMC?????1˾????}??????M??dא\"?!9?0v?t2????O9P}`G?????N?P?%?]?ϲ???F?????	#?? ?ă????6{nژaӘ?D?sI]:\r?j?dw\\??^?\n?;c\'\\?Rp???????6^?l8?-?dB?p?Y+w???Y?=Y/|aՄuvL~??????{9#[?ΏX\n?s???ȃm?????sV	?hv?y>p?D`Pɳ;=?4~C9n߃?????????9???8.+?????ڃEU(?v*???]V???? ?P??aU?X????ܽJs?DH?^*??x?Vo?6???N???Һ??rz?jCt???R?\r???????Ɣ?OX	1?48L>(qW??sw?????21?@0???ðJk????\Z?QM@??|??u?X?\"K?0?k????B\n?{?$???+?\"???a?z?n?d-a??}?׫?t?5H??????\"{:1???\0??G??RO??Z?^=?Or??Gzh?ֶ?L&4?\r???0	??$?????+??$$`??zZ??c?}v??ݮu?,?ө?7?j?	N7??nYʲzet??o??ҡuL???*??pf??^]f?5? -,?Z?^N??H?U=?????Y8T?y\Z?	ؓؤ?Mw?ԑ????TՍk??ö?\\\Z???&???e?=<\"??QMIQ?\Zޟ?\r??!{?7?? ????g?6????O??m?<?<@?D????qM??8#???BC?gN?|??k????Cy_.??X??Pɢ???1?s??:??p>*ũ???bx?p[?D9K?????,d?;p??n???a)??&O???\0?[?T݆?Е?A,R˳?-?6:ZX?C??????y*??Q??e;O@kC!#96V??6(???هn?p??????&????N?&?C?????Е??????a3cJ?B?\0St?	???oݚܱ?b_???IC??lf\"ƛ?M?6R??W?̶???Uj>?EU?n?u????^??&jv{#?Д?o;iZ??`?WR???VE4?3T/???g?Y>??拭] ?%CĆ??,??؅܍e?ݎ??Y,?wE?H?w???'?x??iL9????Q{-?/?~p?1A?!?^H²y?c??????$?8??+?5u&4σ?=~T?{ޅ(??????????\Z??PX??:??T$-???$6?\Z????)?@9?.?b~,ݝM:y??V\'?5y?0??O\0?_?+?e?6E???-?Ѕ???},????9bs?\\?7Wk?Z\0??[??1?ߤm4??:??hq?⸄?lw?MJ>t?B?H????$???gw?>??v????[_??z\0S?>N??[?[?c?!~o?k4??5],??	S?ώ????f?r?\0H??'?]=??XS/_}??????fs?/(?0??7<͒?ϋRԖ?p???	:\"??S?k??N\' Uq??JbX5.?B?=\\B~b?????J?i?B3?????R|????@C?? d_-?n???x?Oq1?1??p??$C?2??]\0(??????4r_?x??_:\n?0?ʾ8B?u??r?????????"??.?%??e?:?\'7)?\'??????\"t??Z?1??,T;?4W\Z&?3F;?^ҭ??ǁ???4??c?1sޔ???0?\????}????tN??b?\\??\'\Z?Zx??NA??x?w\\?-???\0g??֩??????G?cq8V?Z\'?v??\'IsV???`@?\r?ob???????蠥??\"0ʏ\"ƯP???9Ja溲???\"ߢyV?mI??m????-???|E?_?@?|?\'M????AI????έH??!l1???\r7k藓?9?2??Q?u?s????8\r?4ImG3?????\x??n?bnM?@????3ov?DE?U?n??z??#9?\"?ػ4?\r???⑚???Ҁ??vz?,?+@t?*ωڅ?Ι??)??d?Hl?r?e ????M ?N?y????6@?	?r??ؿ1[?7? O?j?\Z?7??ێ???5??h?B?3???59hQ??X????????.?=^??E?Pw~t???H??7?G?L\'?BD=?S?'??t??M?? ?DVƥ??A?<?b//?%??Z?)\\;?׫?\nhAČ?\\?p;?w??qx?@?Z/u??$Ů????k?d4K???H+?[\'?\"??\n??j?#?&Y??uq۶??\"J?+??X??,??0	&^G?k?U?!?)aO??HRzV??4]^+??E#?m-?c?h?=o??????M????I??\'KE?T?(O?"b??.???j????~??G?̄x???_E???e??9D8?؝+?8r<??pV?oѱޏ8T$?̩?`?l??7??VN\np?u??j?f3\"6@\Zڶ@?????3K?????X=d??\r??A8$_?O2Ҳd????zFGPv?_ѓ)??x?x?\Z/?۠? ??$?????ګ?M????*L_????=BC??????A0_?q??N?>S\rj?d?R? ?̠?sW????=?mΗ???{_KQ?$?2\n???DDȱ??n??%G??	W?(سSP0??4 ?s??Պ?????O|ș%;u??\Z/YR?B4;???o{??eX??????E?????r[?Y???ɓq?[K?6E4???\0?bv??wY4x???m??^B??.nyŊ@s?η?}Q{X?\0??;L??K???Gb!??hj?nT???gTȴ@yG?検??4O?{?X??g?9?XI?\'?0¨???k\r:??]?MO#1D-??]???7??Ⱥ????@mU?0{???7?}?߾?7?????a?`??"@`??$?P?X??z?fk?,ʉ?	?J;B????weD}?S?&l????.}c???q?,???U?R	??/??48????d????5檡E?e<+???{?L??????M0C???<^?E>Li?1S8b??\r?L??t?$V?????]3g?MS_?8???ل???~Bj??????VmF????%?p??M????????/Z4??BI??ZBGǭ8_/֎?ٙ\')Wd?;I???x?????1?׸i?u?<??R?A??(??K??R<?z???? t???(??ߵ%[-???q#6??w ?Rہ?ud?P?瞋?ᄼ?m?????;u?R?????????潄%?????dV?ZbN???êP1	??)??϶轣n÷偗>?>????????[W?e#sG#\\N\Z???/`͜?R??]W9>????X?\"???e?5??5໘??M}ȈO????;????ё?4???5_^?%O?\"1?ťL+R???_?^]???\r??td?ͪ????<?*?Z:??\Z????\0?cˤ- ??Z??S\Z?\0?7??Ċ???\re1t?f;??tbP??rup?.?;OOQ[=˕W\"?\r?\'?S????s??v*?#u䙑??O?:??;&?qa???N?D,;\r궶r???2???#:%??ڋb?t??o????,f?$?????^?%?l?,i?+~???7???{??3?????e?ߏE????mL?I?$\rL9C??+2?\'?r???p??!]?偛\r~\r|?G?\'???????!T?ױU ?,?Q?^n\Z???U;Q??}<Soj???o?\n1?#z?b_?rl\\}?VolCi ??5B?\0???cg?ӳ0=6?b??c\n?{ҷ9ǅ{z?!~???aTv?v?????:3?޻?-?Ś?-_?n??v-\'H?i?n? lC3????8??'?\"???&?????/?h뵡&o?"??V?>??I?!??Ȃ??????ݰ???)D?дᅥ??6?r=p?zm?uML4\n?$??????\n^W?r?L=]??iڝ????C48Fsa??(b?.U6Ѿk)?.????"H??Z?\"aU@??2^??n:??;???????%v???Ԩ?]?v?]G\'?8܁????4?3??l?B?Z??\\e??$f?????\n2??`t??:?r6Ȭ]Лs???a8%??6?cq~XNF???????/?Z????Z???F?=?t?r?l??s*ن???ZYv?M?7]-??BЬ??7?&t?????J9U?+8IeldSAҖ?2???j?v??}???4+Wg쿉?[???m??:?O???B??ot??Ŏ6/??铓??????+b??8???g?/)???s8???Xp&>?mU,?????9Z??Z_???????r48?tеЇt?[?\\?u???nώ:?4??ݳIA?C.????.?_?߯^2>??X?{_V?9?????9??t~????????\n????W?|?U??????|??????PЗ?8???|Y??B?0??.??.R?xS??[?r???????????Ykf{?6T??һEz-S??/\ZaR>???㷘???]ջ??_?]?? ??*?0?E?!???}??n2HNz?\ZXl??t?&mm\\????????,??J.a??L8?)h?M?2?̗?3f?~ޕ?????;]޺?9 ???{??L?h=VlW??1H??g???>zۖ[\\;?u?EC????p*????????Ŕ5?HGus?v?8?{4\"j3???&p???_??j?I???M?&/ֆ.U??v???ӧ??l?v?FV??H?ԓ2?me3?ne?j?????\r?????K?5?ދ\"|?a??+V?£?re@􉮿y?2??ˏ??h?E??7????\??\nDי??{?Ҟ?d|L?U3h??wl?v+bR?!\"?X?F?v?1??\?[ݍ?%??%x<H? <琞h???kH?O[?? ???Ud???? ??\?????-,p?r???Z?0q)1t?>?ri??Mׂ&jV&?t\Z&???ꮮ??[?????J?\0?????????6\n+4??I?l|.???BN?m???8Fw4?0??10M??d?0S?؝D\\??????!!?\r?????0?߭??E?\\נ?\"?z??????\0B???=>=9I;I????@??0??`|???e\nwS???؊B?1?-%1T??????-?+?x?u|?<8Y?`\'+~?V8(o$???)h8hO?r?y?-*?x\rL??????????;^t)9h?bY??1??zjm????*0%?0?????PG??ل?{5?_???H!????H??p??>9a?R????4?hN??`!??a?J1i)?;2Ө?vc?'??S?9?hӔ?,7????E&	2K???&i??\Z????&???3???0?|?e6?"A??u?<r???,???%m????QG,D?4???f??pp??????\'S?\r????]K?[V(V??lU???M?\Z1	e?I?BoD???o?????7??????ς+n|#?ry(?.?^?xY?????	Ap?E???b?|L?V9?QD??.R-y?.(FK??֞??}P???Y?A??˽?uyq?5J?M?AW??'a??\nW$?25?7?Q?C??ު$2_I??{?2??(?]-Q\r?n????Q?BPH???G?	??왣????b???<`?S?ro???????]H?DK; ?,T#??]\"??|M?_VD&?˺B??5???T????k{E?WѠՒ?(&?$??????5U??S??]f??9?????ER?Ɣ??m?*?E?$???g\'??_???lx6B?/???????z\\]???%zS?FQ??:H{????$?-??h9xr|?Ȑ?]?̧?z2^????ا1:\Z???t}$?zͺ??b\\Uw???xvU?????W?M?uj?9]?Ż?????:??????x???Ύ??9?ƺ??#?V????E??5G\'?'?T????????x???}???????np??????|??z*j??s?9%?O}??-*Ђ?/s眶V?f?o???o??[???Pa?h???/???/????;?1Dc/EG?	????Rz?I\'M)?W??????h*x?~?a3?D????0?????2?-??|?<=NF???譪??O???4????c??\"ی1?[????T????s?k???&#N9}3?????v?Z???J??8B#e? yk?S/<???L????f?<??>?u-?S??t???G?4#V?	q\r?+MȦe??6`???j(???????p?$Z???#ؔihh?9??}???&w+4???4Zr?04????Z$#\'kU????B??{???????\1i???U]<t??Ur?k???t3y2?\'?ax?c???.?O2???8?~??`?G????髯?{?`j?????G?Kk???jl??a??l?F?$6??Eی??}???g?A̢\"?A`?277??vV?ϰ??@?????H^??F????<\"޻??g??J:Ѓ??.V+t????ΈKP5??k\ZB???MM??zd?\n???3-MS???n@ϟ????L؏d?S8<D??Κ??ZվGX??7_t\"????Ġ???p8????h?B????#??^??}?A:??5????3??v???ܓ?c%ߩ۔???e???$????}?o<?C\nاs?$??t?5a?n?q ?????~?????&????+??[??kB?]??\']??^??????@G?:??+?r]?D?????TT??b??_?6????jm?\n??]?$??R?u?b???YBh?&\"????[k???-???y??Y?H??glp,7??+??(m???f?7?@????)??DS )?????(?b?c??E?@$`??9???P???G?^x?N?4ޓ?S;qȀ???1?z????a??S???Β?R޶?ix?B?3KP?LR???zye?	??\0????/?Kٓ|aaο%???/ބ??h?????U?W?w???<??\'^2g?^?ϛbu=?hC?4} ?K????zHmL,????ː?Imd?Dt???\'S\ZH???S1?nX?(b?M??w\0[??????p?1?r???N?b??????[?`???M?ƭ??W?E?f;???8?????e}?????Z1P?5?nō?r{tl?Y?i/ԝ?[#c?m?????lO<i??lIɭ8???;??z.f@??)?$?j?--?\'`?C?p3?\Z??f?%??????%???\0??%.]??H#??מj*L?\Z?v̽QG?,5u?qg????????;?=??}?Dn?w?<?%?;?񚸾??B????{???\n???y0??e?{?\"??D| c6F\'?i6?4??\\?Z^cĵ?J8?????zJ?Ys#??9Ԑ??)??\\??????0A??\0???:+9?\rX?g89????t?d???????%?????\"??2???a??B)+/??O??促?~??????z!/LBf???%]P6J?Z???????D?gUѰ??]?????.???ˁ4?\'_c??R????X?a??)??N:?}??\r?lY?=K,???]Ȱ???Pi?y?l?W?\'u?p???)?PM??\\??/l?~?Ø????h?.=?j?襄~?b??U?Du?$?$s?\';?%]???@.:????\\?\"?R?X?x??Hż??,??߹??^\'T?D\\???)???m?HD;?Z?뗩??3????r??ʮuM?WNzFc4???N??7Ch? ??DI?ݽ?\'??\'D??Xl???o?|??????U[uQ???F?????|??F??;9i???g\'\'h{??????kדJJh?EN?m???:??J?[}??n?????? ׶???i?V,???;F??ѡ???^X??q?$?E|L?1ҾmQ?[sW<?4?,K?Or?S???u_??a?Җ?????z???ӷi?????.)\rO???z??G??φ??????	?f?jn???\r?1?a???{??\"????\\?i??y 41??B????i????A^?e????n?1?h?G?'Z?ĵ6???#?6;????!!-?[&knJ8??A?X?s????/?T?y\r.??Y<wX݌D??)`o?x???B\Z??]??F??<ʇQBv???H͇??;??iu]̰???y\"?]????4???R???Nr|?7?.????O??????Q?b9?t~r??,?[a\Zvt?k??H????q?Ȓj????N?z?Z???????3|n\n?~/ꨡ?<%d??????SH??u3\'?*uN?"?f?m??(??5??ޝ?f?????μ??F?Sa???ޘCb??8s#??Y??\0?z`{??4o??7???\":\0??????.ۗ???N??ҫ??????u)?|2ƺ2W??<??ڒP??#W??&\\};\n3????N???M?^\\?^;?Ǝ?T????C??+??c??`???K??.A?O?G4?????\0$???\W{Mm?#Sk?ҧ!??Y\0??hچa??5???D<????j?I????{B//Ҟo???ٕ?v?Բe???Zr?8??ytui>??R????=?ўYFsR??????Sf?௻??h? ???R?a?????$?f??ׂ{3P?N??%???1?I-??\"?!?[)1?5??m??HyҠ??L???+?v???lB????`y\Z?L??V?]X?4*?=?1?{~?zW\ZO&?ծ?C??C??????????O?"?	Þ?Hi???6??#{Q-??????;4??1ڳ?%ʽ?}?*?.;JC??Iv??G?t???????$\'???8s????B~Rc	?,???K:I\Zz?n?~???}*P,?1V4??M?Z?Ֆ?OM?e????u?!HR????????uM%?UNFI??	N?????Iv{?=H	??\0?m??4($o@\ZC?0?????*????4???????s??/3??,???n??]ȫ?K4{z???I??S?auw?a??ك?+?8?&~??????.???UH).?T?'?6U????U?%ңLB?)??*n?q??اn%??F}V\'3:?Z?[??(?????o4Hzyp:qw?+?qb???T????|???HS???\0?eG?Ͱ?????\\?n?y)????6?&S???????^%????Q? ???=?{i?,??'?sJ?>?a???1j??14(a? !;?5?S??????\r3ߓ?3)G潭????????????:22??Bi??fh??Pjz?W?1???3ZBZh?????r?`r?C[??'ϕZ?[?&????gs??b??'{???a??j%N?G?hSA???nS?L????~?#u)?-?	d?j????́v??????u??6N????????ʷ?????????????`?Tnb?????h\'?:ɯ???\0`oYӫ???MF4d??H<#???_??v??*?D???LЊ?????f?R?????i????f&{?u>?????_??????ET\"D	m?????????d??=?	YV_??4?5:ɓg|?%?W???6$ f?4>??n??K9}?\'o?+?v?B??̀?we??7f??Fy?ϟ???̝?_?;??? ??.?.?\Zv:Hk-?-??RO??NlAd?\Z?F\"?a?ݸڟ??H9?????@???Nt.j?S?Q????b??`????iL?p?k?%??׾?d?>????p???;?T35O9?5S=??5Q?X?0???K????i?lۤ=a????/?{?S,$??y@??A???M?<??l?;?D??????B??5???A\noR?N=?o$?Z^??^?zE?AG?+hjven????\'M??|???fo?>???5?B	k%??????P/??VK????8??4ܘ?:??>ps?i?;9ɜ!\0???6??mBwʱQ?q?M?}????\r{\r?p??q?gʤAə??4e????E0????/b?q\n??????X???????_mBf??????ux;\r??E?Tv?L??|_▝_???7o~J??Ԉ0?ݠs??e???a?V??z??}?B????~F?ֽ?(	D????+W??????5JxMST???S?ݲ?K?=u???@????/UC?J#U??w?up)d?;?\0@{*?"?~_ ?;_3????}~?f??٫rrgU???????I?? ?&\r?\?/T%T?E?E?2?(?s׭??^n???ɾ)&Goh?3?\Zr??	????k*W?UpE%??\\p?_?7?^??????w22?3>???7?p3????lw???Q?n??d\\=??\r\'m?????s@1?M?{?:?qQ?1\'?d??"???VlÊY?6?t?\'PBKW\0Tν:C}??r??\'f;?\0(?U??D??92O?.1\"???8q??+???#?0???'?{????;}??W?q1??r??:?????6>\Z?Os?Bx۶?/?ѽ?:?????bK?\'?ӈ???P?Ÿ?w:t??\Z??????hm>???????&??(?i???gc??f????O/??????_d?+R?????Z???zY)????8??????M:?$m????r????\0???U????????m熈?????)?%.??;<WI?K?|???????[%??1?h?;?????@?Ţ??ɭkPbmƳ??}U̾?\0??d??Ys\r???t??[??r	\'L>??g]?G!?W<W??t?a(???Qi???8?D??"?????W?]`??xP?vCŎ?\Z\Zf?\0ɾ}??S=?g??V??奆?V?ѵL8??OAS?\rn????Y@E??F?[?|zT?1?^g?2?y??	????????,???T}?_??L)Ƴ?֍??JƫZ?.g?;??aL{?9\Z\\???\'=	??BR???X=ưQۘi4??01?U?v????\'????U\\n̄?>h?I????R??rЅ\'X?[wI&????bKq???X??s։??\0??Y?>???]???02\"????w6$?J\rX???ڱO??????s?`㰠?*n?<G??O8s?v?S?Ū>n\"?D?????L??\"?!???8?J?¿	q:?g?G\r/?????lN????f??v\rԋ?,+??b????]?`???z??0?px:?Q?3V?3%???t?V-I]Jbc?}X?u???wy?%?֒J$\0efJv??m)v?5???kne?}??U??+*??r:?ˇ썃yHb֐?׽?Կ?Ѓ*??sȦp1v???????????^}7??6??f4?	|??Ɍ??GēȐ??rI??s??ۅ8?w\r\r@??????U?ԃ??Z??G?????=Ƃ\n?A2???%GN??g$?? ?i????NTz?M??}[?????9??r?ñ????fu?<?H??Yv?s^dm??>M;XR??Z??2?M-P?T?г͢??8ʓ???}\nyi??\'?Q????a6?6?g5??#[???????????5??.YІΑ??윷q\'$3?G9??9??)?\n?????$r0????J?)?I?Q?:?(ǵ?\\a(w????i8??S?b?\Z ???k:??@?(=;??M?`??\ZGh?\n?PQ??x?F^?Ա?\'?O9p]?	?9??\\ta?5?N??L?????ژ???^ ?????9^?F?0?1???L?k??f?ەɠ?ˤ??4??#?q????8?|3??QS[???6Tt?\\x9s?N???j?;?qcT\"?{?bp?\\?-e\Z?H?N?Ń????g??-?ԛ???E???ݽ??ध?ƶ???4?????o??\n????1????C??o?L?????m?-)?3??&9??m%.RV?>?V?C.??.\rȷ??2\0c?b??09??7*M??w??Vm??r?@?j/????M??????ӧX??Q?f??ҳ%?3??"?}??;?I??dh9???b?\0\r?);?.&????4\"J?Kcʄ????m???Gn#J?C?????????_<:z?z%?J??Δa????I???Af??$?n?V?gX?e???????e?K??51ʗ?????I?????????Y?????z?29?+X\\?ο??j???z??=??^????l<??????zI???5?\r\'?\"cٶW\'	?a?WD????;?X??X?)D[??0x???X?	????ś\Z?Ãp?`$O??!??~??P???\";N{\'?Ԥ{w?6???k????????e\Z40d?.???????k9?Z	anG?????b/???n?????F??M@d????	 ?????Zꨦi[???=@?Eb|???Ҫ?TX????????*|?5L?,?+?????\"???|?\\&ڙ?\Z?(?TuD\"?$]?I?^???R??ⱷ/Z?\0?0?	eY???7????\">?Z5??Ry??D\n????Q?r}?V???}nYH]?(??}???d?Y?#1???f???J??Cq8?????驥9.w???wB?E?tJ?y?4UՉ?GG,??r??????Ȕ??N???q?N=.?z\\?#1f?{ ???\'\' VU???????(????!BP_F??X$???Š:?|0?K?|?S???ܼ-??c??!??f??XO?v??J???p1	*^???훃?8?K?B?2WU???>?y?M??#D???d??ބ`?9#???|????????\Z???~3oc?ne??(r-G+DI=\\Ԋ??\r????٤?]??K\nb?KG?????l?=?}? dK͠c??Z?M?~&#??:L?q??1??w?蓏??T}?ObI?????????P?????	?\n~N?J/,?????lh1?LF\0F???5????????V?\Z0???A?)	c?B_??+\n??d}????????????ghL?Z??Z?=??????,U+6U8e?}??z?u????!??r?vf\rS?$8???~?ʋ?`N?(-jL~d?%C>-?J?#Ce21?\rQ???,n??N???)Ni?E?e?Ⱑ???х?F???????H?+%oL???꥝?????\r?ץ? ??>??.1,?IAN8ɪ??:????|U???]3????R0Oj???ݷ?J?f??ݿ~b?f?$?.\0???????i?}3??[\'Z#<??ߎO??7?0?qS?wA?ҌK?DO4l?:N?????OߏY?Wl?V*m??b?/?c<20+{?\"-#?:t3i?_?i\r?Z\n(?}ȼ??WуwI?u?ĔyE.-??u0r,JUh_ba`X?????8,?\0?#?u??Ch????K?)???\Z@kP?̋???y*?J???x*<C1E?|`?pd?\'3??8/????R??ɣ~??W???N????????????(\r\0N???rÎ?7??&?gn???l?e1%??????y??????s?H;??vzf??ʠ?T?S0:?\na˙?????ĭ??k???>I?r???|?Q??A{,[Mh?߫}????ԙ?⦸???@@??Plv5????????Ѯ???}(WN??prr???'????ً~???CϏͿ4??=??\0u?B???sP???,???Y?8?I?5r?*???<ѡ\'??3{&c???	-????Ģ??8??0??T?????~,x?]Q???????V????\0???0r?HP?l,??$ok?H\0y?c?=U?j??˵V??hC??F???氉??=??׍?;???`o?a??s</G?uK[?d????]Lo\'ӑog_:?5o?D]?+Gp\Z$?[????g?=????$??? ,;?<?i?ꇨi????޹H`?K??-??C?GM9?9l?xj??MXFb4p?_? I1x?-?!??e?|???7s?#\"????Z?)?.na?ߖv???{Rg	???????:???!??G?l=?/? ?ɟR\\Y???????a?q#?)???/??b?HJ?Z?????Z?4x{?Y??Ȏ?W????^s??\0????{???Ym??h7????v??S??T??c&?a?_??Z3???yN??m?(#\"?M#?|?R`??h? ???????ֽ,5u^=[?+?-??/?fs??4D?????F˒P?ijm?????=Cq\rh?3P-j?m??=.¤d݁!?\n????h?x?L???9?\0???	??$?1yӉh=?\ZÈ??????8?깗??+?????wx\\??r¬???5h\'F?????3,?Q??)??ZXT??{Љ??)\\?"=?~V??pjl?P?`???%z1?e?o_ J۲???}L??z??Ƭ9?s?*-+?9?{No$????&r?6?n?\'?!~????lAD2l!?1!?<?E??r?s??Hf?;)??g،???g?dd?? ??\r??~3%m9~5V?n7k????Y??o?????ΠоD??<@jěwc?RF\Z?n??Ѳ?mYXe?u\'\'|\"????Qu?:>g??????M?E??-??k????l???-???Z?\\??ݕ?2ƈ?Q?{:Q??	?9:?Ay,??[p?s??t?ٽ%:????eq???E}M?tؖtCDP?)qW??]?????)&??]???????༡?:?Ri??g??7??";?*?Du?:?z???7T?V?_avu?1??vi_??q%]??b???????[&Pq??S????\\??C?;,G#f?0??M?C?N\n?v-??i??Zz????\"?IOA?7???ѩ??\\2??7k*?4??X5/????$\n\0`WRW?\"?O.??(?ЯF???\0?QK!?,\0Zz????n??\0?y/??4s???Y?낃??}?Ojq?l`k?1???-?????yѦ??xc??w?????U??0^??.????????zv??\"?3???????9???F???p?a??X?he????h+lR??????^???]????/???ÎV??8t??3XM@Σ\\?Wb?@}???.D?>W?.?????l?????N???յ???????OңS??K?`??????{?O;???|??????֋1?[??R7A+\r+Kӱ????b?.??S?8??r??hO湵E??'?Q????????΃= ?@+??4\\???A???:??qLEĵ??đ???C?_OEM??_CkvH????ǸP1TAC`??Zu?\"???wn&1UP?W[&RY??f??O0?^??u@?g!W???`???9EA??z??y????????'??;?U??????O\n???\0Q?x??Y??m????????????Z^Е|???HEg??04l?Ѽ?a??;?????h???E\'@u???؅!HG{8rj?qw?Z-ۇ?av???Cc??N??`?r?H?,??:?I??M|1?? ???Ƨ????N??	???NvÍ?I?8??????|??????av???OO?\'??q2??e??w1???\Z???~?1?+z?????~??N???\Z???M?~>[]???K???f+k]ٚ?vUؔ??IE?????????V?p?'?StXO???????;?????^??Q?????4??+f{?p?R]?<?\n?????W\n??#?ߙ???y`??=wfS,\Z\r>??|gq?3?U?Roo7\\???[.Tr????m?????Ļ@$ė????+?Q1???z_uHl?ۣgfI???H?r?}q}??\"8nZ??Jf/P????s8%?HQA?X?????]?\\Y\"!?ކ7N??$?nv>&_CO?`MZ?Ӳ?????r?y?/?8?m4?x???ž??$XNd0??Óvv?Fo??W?s?)I{??d?S?F??t1??p`????????@?kB?*??:	?Gu?\r??:???\0p?C?\'\Z??????????s??E???#8?QB_u?^?C⡐y??0???@?B]KT??%*6?X?????F?t?????=ssP?????b??ad~?k}9;ٗ:??\??????9?C?oo\r?7L?/!???\QI???????]??ԋha?"??F??8?m\'???????;????)p?U?=???B6?Q]?0???#??,G?T?[??Ү??j=<?M?+??_?3S?M*?n\\1?-?F??wGY~q僩4,G?9?Q?,?Y=@#?\n????O??????ބ?0?O??L^?0}8?????>?/rHuR?i?i^3??:??<???:?|O!0G?????f???ż\0@?\'?!??i?j??0?$?: l?)_8?Oa2?\0?\Z??Ns??;???>ў??G?\"?)???l?ExB??????xr?H?\0??TA(qx+???Xt?v?d?I21ĵ5????F\"??dW??b?"??/E?d?|????9n_1????O?j<???Yc?!v`???\r????m,?O???,80?e*?ݒ?*?@|nr	?K?EB?????\r?F??ZeI?4-?ٓ^?*d????C[??????e?2G?2E?\"????/??G6?M\0???~?H d,??vRE??\Zҿ;$/?v?K:f????8??HR?RَUؐ?Msv(?QW~??????m???????F?:??}??????}\Z????\????P?ʗw???2+??Q9t|?Y????=??????`WK????;L????u??p???3?????}?????\'?$w??a?l?N,;???I????\ZZp?l??(!??c????x9\"??>5 [C(?ZRs\\6?1	??\r?;/?????D̲Y?????????\\$;???7??{n?F?7w?$%8 ?G?5??\Z?-???-?ҿ?fiI?`?0??N?0l[VMQ?u8[h_?T$ջr????1\'0?e???? ?x@,6)??85?%???9?]?9????窴??,P0(????7\r?????D?uA??rk??????e\Z??>q???ϛ\Z???h 0i??N????0\n???}?J`\Z?c??M???S?w:?	??%???n1????h^?}??@\'.?}?????^???????Ȯ5??F ??-??z????!?Z	?!??~?l❞?+녫??}?$?mr??rW[?#S=??????h?Ù&?\r?=?L?}???q?I??Q?5?^P ?N_\n!?ylO^ɺ????ҘWࡧ?i\'???????Z??????p[???{\r쏎t?)??pwڵ??F??M?????܈ԯ???0??????Oey!?הÞcc??l̀???y?$?=????p?j?????????$\'??n??>?#???Z??B]?x_??H;??m?64VV??????DnY?H?S?á?g4p6?F+x???H?P??g?t7e???;􁳻R?=I????.Y?;????Y???d????|m??v???WU?4:hRصZ\r?Z0???9p$O???w??ӊr??f???>T??N\r47N0???w??h??n???x?!ب?Ƕw???8??.?C6?п?Lg???JW?????ZwRz\"?Tف???OU??????Q[??Sw??y=??\Zm?v?X?@h?U????????]\'?r???g?oX??␀????K??.???\"??B???b?n????A	???Z???7W?????<?v???5??I??s????0\r?*?	{???=??-??p?\Z}?-9?\Zz?ԁnǋg?!?F>)4?y`h!??3?????????m???Z???e??F?[??&`m\rg?Šgױ??????9\\?}?Z??4?{ڇl? 6 ?D??xh?qy?}y?s??PQ!*?t3ݴ???y?i?X3?gw5??Hѝ???[KT???8??????vJ+U?wr?????\Z.?=J﫻?0V6H?aғ?\"???|???&&?.???J????|??\\b?'?o?C??xh???ÿ)&??F?Y8??\Z????0?-O??,?Q<?tK?M??L*????y\ry\nн???bUxw?8?4?s?\'?G?P??? ညڛ%??Ie??J?*?F?3u??\'??s??V??}5?]`[\n~j@t?V???-x????q??;?[k?X??????q5?????\Z_?}>B????k?Ӷ=??Ei??1?>=??7??A?) M\r5??}{???G֚?R???c?W????E??>q?aCI/!*?qϕ??4 *{{??/?????????+~w?x????????ܻ)g?ǣ?U????ϟ????g?~?g???L.N?????/O?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:a4862a8cc6ecb66e3dea89c74649a444','e?͒?8??]>?fz B????jJ??;k?0٭}??\r?Iq?>K???J?R?az?s??????q>???T?UɁq%?xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B????>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???Y.???Tr?d??????+87Qѕ5??!????+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?ӆ???^|?<?x?l???~N??????s[??I?M\n]?????>0?iWy?????Aʪ?ې㎜v$ۑ|G?9??#?I?=???N?q??????x_??`?a?5oV^???fY??n???"??????????T?.	O?L?E??2XdI???e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?v??_}]f??9?T5Rю?h&i?}?pUVAVG(9/???\'?????] ˲ׯ???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:af0382a43fae424422ee6ea1bf1a05fd','e?K??0??+2>????<???;?#?\0/?m?v??Ȓ?}?d?6???(gݰ????8???t_?2??n;Ҳ<????????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺒l?o)??\\T?˹?F?2\\??4?|?J??B??????M?P\nU?%?P?ZU??#?/!?_=??\0J4???????ede?C???Ape??	?Y?????(??i<?軋Oa?'c?t?¾s??????b?+???d??1T@-Ǩ\\C.??g?I?(??\ZuB?Ã?!|??hٱ	H?????k?_?P???G^hg???_?I|?~TW??????4ȹI??W0?O?&A?\r??]?a#?;?\'?Y^?????E???"?9??E???????:?????yq;??W?q3??W1???3?)?E???????????S?IQ??U????@?šH??8??LoK\r4??w@/?!????-[Dx????&???|CZ?????ah?/W????{Z??y%$??f?????hJ ??i??I?H??C?U??{?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:b170d2f682bd30993aa2a98e3990d97a','e?͒?8??]>?fz?$????jJ??;k?0٭}??\r?Iq?>K???J?<????훹zi?{s???@*Ǫ??	??xd??<# ??u?zB:?U4?nl[t>\"ғ?r?ѢV\\I?????'?+?ot???66?m???!???=??\n?=?<?~??=j?0?A?ԟ@Lc~??N??`,??`???I??????N\n?YD? ]?[??BZ??R?????B???v`??<??T?.???S???6x???UJI?$???G?j?????Kv??K??n?]*?@?\cH?Ի\Z(??Y.??E8*9H2:?????+87Qѕ5?fd?l???uf??j??א????????٨`?{I?7\Z??r??}g??F???\\>?0??????.5?ꄨ?G!??-B??ѶcP8+	#9??!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ㎜v???;rّrG???Q?????>????????\"X?vX1͛???K?\0<??4y-2?????r^???'[:??䜧???\\4u)?T\r/?k?????e?F?????9?Ywv`????|??\Z????ꕴZiܯ?⇩?v??_}]f??9?T5Rю?h&i?}?pթ??"Y?_?Z??<dP^???(x??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:b1b03acacc891b6f29d62913c066c3d4','e???0@?\n?NY??Y?䔣?\\???C&??{Z?qS?u?z??=쳒t???砬?^?/	c??Ft??\'e?!??O? %?B?A???F_?W*????Z?????A?s?5??+??`1,R??Z??,t?\rJv???Љ?\0\r???)?0?????t\r~a??ƜS?)??	?]??G?:&Rd}ׁkU?_?ʤ7????24???ER????\ZO??0??V?uQ]?U?????{?|?????.v?1bH?_0?k??悕??????????F\0W?Kvƚ+1X#??*vC??SH?z???C?E?<j?4ڡ??????$W??????W?~?W???ąa0\rAD}w?)???dڧ?b?,[??NF?UXlr??ޠ?*4h?Uh??}?>9I^huS\r?:\"?IHa0\' }??hٱ	h1~3?#9֮X??0???{^??#ժ_?I??TW???g/?4???p\n????????]??R׋O@I)A???X??Vd?\"?9??Eh?F?:l?????s????΋;?0??b~?????+?? ?eǜÑn???#?ɾ????S???T4;d??yA?*?T?~\0J?h2??-?????|x?AG8?J6d።????o?i???>?V???~ڧ????u???R)??[??{????h??~?D???|??h????|??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:b35e73f64a434df1afb358bf447f22e8','e?Ks?0????pS????i!??0u;??	p?????Iqܗ????ɜ?4?9??2?4\Z{?ʱr?c܄ÉN<??	?aP??um??F=!T*\Z?e74\r:\n???	?Q)?$?zy??ɝl??M???Y?R??A?vC?Tw\nk????J:?_????]ܘՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B???Q?&\rEA?W?8??!V?????????|U?˥?F?3ܾ?\r?r6?B?RRw3	?????\nm? ?n?????G?ki??7?ү?zW%z??\\ɶG%{IF????????f$Ք??\r]??)]?֌??@???އ?R?:???]??o??:r\'??B??!??o-Ш)*ߒ???zr?*y??Q??????E???Zwl\n??!a$??+?nz??p???}?J[?1?w8???Q??e??F?4)t?VB??????a\\䩫?ܞ???V֠܊??mH?!?\r9nH?!?\ryސd?Eۨ?m?6?x?D?????}X?+??XR?Z????Sq?<±(????????N-&|???????\0????>?2??Ј?9O?zx?!G4??lፒ??????Z>?V#?{?~?o?+?2??????vlI3I?ۻ+?Xd?1?<??@M??^??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:b4b179e82c26c40639f621479b89207a','?Wmo???_?A)Ɗ?i?iA?[???`-Q6c??)?g???R??!u?{?s枟_?????	?tX???<???*?\\:A???\n?p????\";???	????##???p?,R??i?\r?指b??MH.????9EF?	???ʒb棂ϸ?s??G???8?????RI???u?????????z;?\"?????????}?Q???	???????Ģ?{??????f??&????{6B#{`4uHD$?VG?1?PE????.?<H?a??K?????(lAU??0.?+?#6??{	{abj?`7k?Q??6ɘ??7Ӭ??{(\"??G???C?8?l\r??????????R??p?????\'??e;k?\Z{Y*??\n??	fc*??2?]???(?\n??:???tN???mɝJkIϦyW?68?d!T?\"4???Y.?k?t?$?.`?H͚???q?eU???E,+??*bU?	R[|׃]1cXnبߴ?L2?v??W\0i)~?=???S>ɧ???zq$kjm???ٻ???֒?-???'~?!?Ƀ???3[v?3խu$Ծ&/<??????|X??P?ݺ?\'???J??#?\r??`?{???ۜ?????/bN?ɨ?_?]??UV?n?V0{??q??j0??&?{???B??????h???????Df???Z??>????+{SuSs?3z????;?c??;]?mK???=?}????S??X=?{???????CgN5B??޳a???w~(Gl(??????????^??\"??????*/e?????n)Ӑ??C?R?\\???Xjr??? ???<???? ?ȭ?{???;?O?(?qm;???e?n ????Sz?om??XBR??<??}?	??4????=??\0\rCe\"d????K(l?Yȑy??rR???\\"??JE???Q?PiBe?s60\Z?5??xe?Au-??L?$????o?\r?A????z(!???9???8??a՗?????Y?XT??o,\nDզ??i?$?ZU3h#7?-l??lSCJ?^??Յ??_Տ\0??????VHh??͘??	u??ȼH_??05S\r*?ax?*G?STI??\\???V??*?Ό.??????lv?>?]z???BlrX`8d?Ժ?b|zuMߝg??E??:?<;?????>?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:b667743ef4820df42b13d6011043b6ff','e???@?\nO]G?eG???z??\"!?E?$e??RK??x@l?l???????:??=Zp_???n:*?%Et L??O?: ??:?@T?V??????p-۾?????????Z?2)X??`>,R??VFԍ[????MP[A7??rnVЧ???Z?>P?Z)??.??o?/3?J??i?UT???(h?D?5c?j??Lz?=(,C#8?,?????-?Dj?S/?na?????v%9????uMP	.??C???Ҍ??7?????W-)k??ߕ`\Z?\\?z,?k.`Ъf?؂????~?ػ?b??1??ڞ?Q?N???t???f\\=?j?f??	?	^???4}?է0vړ1h??a/??:k?+???ㇽA??kP?*נ˥??>9I???T???{`XB?0\r??'Zwl?a&~$??+?J?k??????R??9?؏?>NQ??m??97??F?????T???]?a#R8?\'?IQQiW$ِtC?\r9mH?!?r?l???m???a??????????v~?ۯ??? <????SUey?R?q??Y??Y??ԩ?9???9)/q?P真Nytb?2o2?-5??Z??|x?AG8?Nd??n??m?̾?{?G?Zh???th??7?^??{\\??E%$?g?Ӈ-????K??Iī,)?QGYZ?????#??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:b784cadac06b7853b7c49231b597a797','e???0?y??N?p0`l?=????"P?+	S??????????[?!*X?>ͳ>;??}??e???? ?eE?c\\?őV8d???A:F@ԵV?Z?a???q??CӠua%9?? jU??K????E??\"??eDӺ???ԽP??4xA?PUf}?dw?5E|?)???????ܘQ }? ?1]T??+?i?\rǠl?0S?\Z??d??=**C+*Y?;?3ZR?4??R/?????񇺲߱??R?=?6???K????d??Ai???Յ*%???K?-u5?????Jv??????+vCN???_??J4????o???أ?~kG??2z$??Y??td[=RJ*?x????iO&?t?d߸????NP?مƏzC{7??5T@-\'U????.??t弳(??ZsB??&?!|??hݱH???????j???o+?9?=/?????J1l?$???x?E???\Z?$?????????q?]?a#V83?'?YQ??+?ߐdC?r????7?q?E[?Vv??o?ǋ?___????`y???zXƳ???.y?O?????<?????;????=?~LR?&?A~??(??C?Wut??R???u????\nD?\\]َ??xxx??ޙ???Y5B?????/?K?N7???4??=}?"-??r??GZfI?s???v?z??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:b7eb54ebc34e46b302a95bcab05396e1','e?͒?8??]>?fz?I ??N{??)apc?????6?&??,?C?*-??b?6:?o???͡???@?q\0??????UL`??\Z?????+??m??PHO???F?Zq%y???X?J?d??l;???f?????o\n??R???+PX???'???"??????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r???+ف}????wQ%?\\?n4N1????g?oT)%u???Z?????B?.ٕj.q2??v??ys?!?=R??DOf??;ٖ? ?DVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?|CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#??w?Ŏ?;rޑˎ???N?a?????\Z?????ۇE???b??7+Q\\?c????5?R????/dyr??O?tj5???"?Y^?2h ?s???Tf?dy[?s?~??B?h?ŝ??%//߿????%?V\Z?k??a?o?WE_?im?U?T?c+?IZo?\\u??kʮ??E?\'\\N5?:9??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:bba1812358b6559b6fdc9b44f49c1146','e?K??0??+v|?݆< a?CO=v?#??;?Mh??l K???Y??B?2+?ɺ???(k?????Ck??=+?&l<??! +??nzUU?[ғ??p)???ч?P?@?I????V???1,Vf?5N?X?ZT?c]R[@?W\rR??)?(?????t\r~4?qg΀??????PFܼ?G?:?)????????2?k??????H\nQ?@pV???Νmq?????ue?ao??<?:MRI.???C????D???+UJ+?$?r?u?]? ??ǒ]??nk*妊???ү?zǁ=n?nd[ģV?\"?#Y9?z???e?\\9;??<??]I?;??(%?F?4????0v:?1h??Ja??bq?:?Q?ٕƏzCr?h?1?А???zr?<juũI????$?0?CH??Zvl\Z?a&q$??$????s??}?Z?k?>?8??n>NQ??u??=7)v?\nNA???????a?屫??????2VV????d?\"?9?H?\"Ŋ?V?"???g밳u?:?????yq???W?q30?$???2??A??b????~??S??w?\\T????I???q?E4??h?|??=????#?eyc?????????x+?I?V??~??k?Y?e{Z??e?4??f???7_J?;e???????3???d??????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:bdfa172c59345128572601048b97a7c3','?kc۸???\nY?Ɉ?-\'?\n?8I7???x????EɌ)RKR~T??f?)?{???\"???`0?????=??7??Ga֍??8??Ia7??1??npW???4.???j??Q????v??Ó0Ex[8?k?k̲??Cz?????o??? ?*!t???=?????9?.5??????Z???????[??,?x???N?????_?y¡???e???ʐ??@N?!?V?`?6?3????6?[?^E????????????L???L?r???9?%?????].?`?ǚ[?k????,???+ll? ?\\?j?et??a?Y?)?[???)?(?8L?~Te?r???r<?\0߻yX?D???	q?f?y????9Ьa???d	?D?Jm*@c ?%	|94J???Q\Z?S?J${=?4??!?????<S?W,?=??Fi0GEZtJ?y?&A:\n???8????T?qy5]?ee????k\n?Ӳ?Ȑ\rF?7R???b[?R(??عW??8*lk\0E??F??D/9B7?Iq9?????\r??栧ѹ?L	?a?Zm?ipJ`<?:W????V?U?f????Պ???>?L????c?G?\\k??r??e7?g\rv7?[?^?A?~?:?S\\???c#\r0?????mMo:???????&\nͮ???i?????\\,#?L?-??????????	??Q?~R?????????+\0`d@mV?%S????-?Y?g??R.?D6???]??jXn?A????]??|c??\0\"h????҈PP??m?*???FyPa??iQ??!?::?ݼHgv??І??????\n0?N?~	)P?@tEЍ????.+???4?????5?\0	?_+	??t?Bǀ?????]???^?­?S??\\?\n?μIU???,F?ɗ?q???4?4䷖?????$?g?am?'???>??yX\r?I????m??I??<?||?%WoXh3C???\r?'??ii4=?F?$2|?G??e?2?0?q?lL???3?of@C:?}??.J???YJN?j?:?I?@[??@?Ae%??J?9?ryd?`5??L7H??.a??Pc?kݾ?t??ºCXS???JsgMVY?F?f???\njޣ??e?????J??Ԣ?\\??????X???????]j???xҟV?0???6??=7,s][b%?}%Ł??I?H@L?x?I??n?0&u0????%?f4???????q????c???Y8???4_??_?Z???\06B?\0k?k5i ?Q???I?d????X3?rΒ eHV?V<5\0Z?/VP?Ђq?Ci\Z??Z5??????9\'???pN?????>???????C?#?Lt?И????A?͠??b??[?Jf????}1N??f?r?0??D?2xМ+3?ۉuk{?/=`??&?Y??7>Fy%?#?m?Xo?`{???qW???S{ɧ???1???4???????qLmWd}J??v? ???????#??i?`????u5hݟ?\'????%?EɼkjS)D>ב???$???(?b?I|?}?â?ĵ?XǤ?[?)?<O?6-??"y?T\0V?g?F?s???rM	+Gml\'??Ƒnd?\r??%?E??M?rX?QV?????F?\Z?ql?\0??g??k??????Z?*mӨ?c)?\Z?S?/y?1`PI盙X+G?s???\Z]Elk??q?߬ט?N???E??Հ~?,I?p?:?"??w0?r??j~p6?»~#?I????gv]\\?0O??=0Nq????? ?O?O???쇣??^?{?\'??q?`?8|6z4?M?m???L?"?4u?	\0~	????6;??\'???}?sx??p?*v<w??b??????y????p?A.??{???.k%7Y?G0ϠT4?????H?$???????/??D?L??C?l&j_	??J??\Z??????΀djD`?\ZE98pw\0?Jf??????Ąy{ٓ?9%.Y,I??9??V?g}???\ru\'?Z???0?????teaqx?u?I???W!!???V?S?Ŧ???U??y%???Y1*???l[?x¨?????^?Nbs)HSG8?Z?1???	9?P?c48??8?W^f7?Ί;???rh!*?E\'p?0K?|???+5]+???VU0?<i??pԿ?? ?	???݀Zn???Ì??)???~/?6~?F???????.$\r?m~ov?S(????\\a???t?????܏Vh<?+??F?F#$??t?i#??h4z?>??.?x?0i??,i???)????????Q??/?????Q???'??1??S?)??=?`??p\\???rp?g?-?o?"?\'rν??Y?u)>?z???g?Ap???r<?s{??+t??1G?!?0?Y???Z???]??l???e??????????;q?gg;?&ҋ??}?f??!?????h??I!\\?Y?r??|????s?????˥??{??.?\'3$?\?J:?\Z0?X`???0}??(T?4 ?????{???Z?,;?E(?=???\rKn\nO?m{*[?L?T??΢r??\U ?x?WgR???r?~?0`?`?Q	?BBV?B?r?k=??g????׃???N?z?\??,Kg???????\n?k?t???"?????MT??褂?,L<?A?I?????*5hh??ˠ????X????e???u}*?U[?5?v?}*????h??ꡡ?d/?r??\Z??z??Zj?eio0%j??a!gׄX????iX?<?!0p}?`?\r?h?w%???\Z?D?*??F?F*O?ɠ?8??Xq?a<???JuZ?Fc??Hl^??2??j?8~??4??t>E5O4(???.???0?:?"??-n/u1D???1J??t?c????](9J???V\"?\rBr???????\ZI˒Mc??d+????{A?c\Z?f?O?<5W????&toOf?\'8??&spp7/p ?,?6???~>?`?????T}?)-?Q???|}|ۼ???yO?aF?	??M\nEz*???a???????|??[??l?r??? ?pq????????_?-,0V??ɲ??X`?6=.??/?TS?9?????K????s??????Oh???,m6?Y??????ehUf????̧n???VYo?t?l?s?????[??????\0@U?2Bb??J!?b:??<8?E?1?95?<?????"\02??s9???8???p????uĲ?bAE~pݠ?????V?S~.??*ʹ_JC?i.??ӝ\r?2}??#????6??\"????}@a}\\kaNHz?3$?I????#N6\Zy?E?????>{????????????/????????????\'???x????`&<???????n???????q?\0=?XG?va?bb5?Fm?????Ճ??VԸvPih?4??׶n&(Dt??b\"?????3?\"m??B_??T???y?G?????6lK?5?Bf?g|6???r?????7???X?L?\\?/.???Kg?Ī?\0?5)՗??	k?O???*??D?0??\"U??T?&?ndT?????2?\Z?U?Eu???Zg?\0?GN??=??N?q??\\?g?;???*????~gT<???b?A??????j_&?ƾE??VV???????^?E??{ri???8c??΀׀?Y:???L?4??膋)8/?7???x??????P??,ͺ\r??\'?\'????g?+ ?D}H??????]????`?)?????{?i	??i?Д??\\\r?????	??'??WR???j?;?8?[?\'??j??!??M?ڶ??????Y&??ƻUl??k???<?l\ZCǹ\n?K?!?????Q?a?Dt\0?aEITD???f0Ms??[K?|Ω?????F{?????????D??P0?ZG1??8?-O`&????س???`??I?"????Sf?l?w?бr??D(??C?FJ	\'8???C+(??Ô?u??#j?<\\x?n`??#??i??΋ߘ^?:?zOe?*_?]???V?>g?\\#?????vJs??Y^?c??Vc???~????QL?8???q%\\???INq?Yӛ)?????L??\\OC??HB???8?C\0?`QT\\p??\"??\nD??????(??VKR?)?-?ά?? ??+rs?Y??ʋ~,B?p??%~?G??x5???$?\\?P(ε\n??6_??U????K?[f4\n???|?0???JW???ݦ?2?f??<?U??J|j[t?B???j?#?ڿ???֏?=KK?X?=?f?ύD?%?0??=?)?[?'?p??u]??x????C?z)?>>´?????U?\n???f?G?GB?Bѵvz?<\Z?AR???'N?ӑl|	?hV<?͘hCmڬ$?<uHZ??g&4?rq5??c?T\\`??`lbXQ?9[\\g+?5?8??\0?et??$??/?\0\n??u?O5 	n sރ?1??.???XUj!A???????????? ?;?-1???0?F?Hˡ	E?ut??1D???Q^?ܘ??Y?̖?TOØ?؅Q???v+????aѲH#?????\??$Q֠??????aJ??am????70?Q@fվ??????Ѻ]JvY\041?\'\\妛%?f??o?????C?ח???<???z????-H??8t?<??]???\'???\0?????0	?}??ZS9m?}???)L?5?v???Q]T?K?????????6?????r??g????.\'%B??^@m?_s?\rWd;????ϧI?|????x??9??։???#?Z????%!7\0?0??l:??5wK,XE=\"c2)uGI&??V????n4+??]???d?Z??4kJ?b??K @\n?I????V{?????7?W9s?4??Z?K??????w?]?.Z\\?ㅻ>????rPZ<^fB?S?<v?N?KgT???[,ɢ?Ɏ??M???????????*\"?N!?#????b??	?dyP?????????}f\r??q???[sD.I?~<?|F,?,??Q??W2r?j?~??4?*E&B\"????K]\\?&??H????<6pu?r]?aԀ?`?~9??E??3[?wUH~l?m\r???{?6*+Q??w??ˀ?\"?\ZT??!?????u:\ZG?^ѴDLB??䃰1?$JXT?h?TGL\\?????gv?l?~?\'I?_?=??Cf??sk????Z??6?;????VK<?n?????ӽ#U?jk?z?0.??q?REDD??fV?٩???Xtv?.?\"??;ί?GV/m$_?sivJaD??]6?0?????????\"?\a??p?7ѵWC???R0?0??G\'?p?o?_1\n?Z?RqAkkM??kWe9??5??	P?(??ώ?Hz?jŨ?A?F9??E??P\rⲘ????Gě!r?E?8[???#???]?<^?b??qp??§?????v~lY??g?]?????X????lo???xty?K\Z???\'?\\?X?F>??[mt1???Y??mѦ\0???L??p??#\0??Ir???n?y??S\nҪ?????????f??&8?k???=?z?ۅ??O?:???????q-q???]?????\0?|??O?ϋ??~??????N???`?I??x????0??1??xZ??v??dym?2J???.?????<w[1aF?n1???J?	??u?I???????>???u\rP?:??|???䀕??l?Ӳ`?tE?߁??~h?-?Un?RȴQ?5??????,U???]?????׊????n???W?tT????c?(?'S??a???/.تןޞX?*v?.`?c8??b??U???Ր????k?t??<r0????UW???F\'q\rv???4g1?_3G\'t?l>?\r???lD??U??????<-??f[?*]???Y?#$?A?????????Ѹ???~*???%?\nf??7įÿ??~;????zr?zNdi???*Z\Z8?????Q?N?<5??h0b???/VI??pG???(%2|??+r??~\'\Zso݄?4?"?I???z@?w3?f?ֶm?:??[_?[???ݝ]?r?E?Ӷ???Z[i??S??B?*??\"ۂK}???Z?????<??\nFi?3???N3O??^ʻ?\"???D?m??O??֫?d?n?????????8?)`>???.!0?sT??\n}??E]?V??z?i?|/\Z?|?Ϳ?s0{Yz???y?7???a?/w\r\ni?\r?qC?@?B?????????O???V?U??|A??Ż?y??8?AO??f?Ӱڤ*\r???.^5R???;xdP?$??m?榃???F???????????w?\n???1?\'iG??J?P?I^??	.)6ʌd?e?_`????+???a[m????C???¡p&@?s\Z#???(Pg????}[Y	????`2??????72?????i\r?-??z?o??YJ?)C??PX[?[??6J?	T/??S??܊??\rV2??1,?_?\rH?1t???ޜޮ?#??rO*?.\r? ?SA?9k)??uC?a?w[?܌?0c??r+ﰵƍvJu\\|???Q6???{o7?x??<???֛e1X???Ŀ?&~?f?4A???7⠱?@?_L?*?v???6?t04d?\nW$??$?̖IX???^#???r?$?ěpxB??\n??U.?~`:?M?????	L?mg?L??$E?8?d?Ϡ????\n????????a䬀A????\n[?]?\04???K??YM??Z?????򰰳?}??O?$Ga<:??N?\0??v?!?????K?c?z0!??E??^?b??*/D??eUӓ?U?^?4??Yf?????;?v??H??????m??xP?]z????z ??ֺv?U???Fz&?P+??A?hu??|H=???bw?Ga??=wu\n??????WIf???????fK\'ݝ??{??Q?x?#p?Ip\\?)M??u???P?;r?z\"????#(?Kx#h?ta??tr???G?{?\0wS???I????}ZƄ??'??S3??? ?\n?h??R?W?"?????????3???0???,(K??.pJ?7?????EmeK՗bM@???????0L=????Vn?&ϳ??@?JN?f\r?;???,\r#Vn~S?ŭiD}?y?v]q?Wn.v????V?????0??0ڈ\"???K????X??Ū?????????v?y?2?`??`?|??C0b?n5?{??Jj??4??݆9?$??o%?l=A>?}+????\r???H??u3y????	???:?	/W?u?t?ͽ\r9?A?\\??f???	??ˑ??7\'by>???%?S?cmq??^??)$*u???Q??ֹ?F. ?-??b?]?-jlh)?}Ѯ\n?w?Cbͭ?%1/?p???|HǿkB?%?7oGQ?^x????`???????#3??i5???\na<?%???jb?6P??{???\n??????c????Y?Jo???´???0P??r3V\\??3΄?\"Pm???C?_??	??ʵx????v?ʘw?Z?ۜQ?#Z?:?Dږ??	q?W??????ZF?*???u=?)?5m?=??\nX??}wS???????sG????q74??E??C?????j???51??Tg?.??0[?????>??L?N?J?r???????\0?Q??t7??L????!ys?(?aH!+?<֦?ZwL?>M??????#dM????nշE?\nP&E???????DH?`A\Z?)e??.???<????h???Vq????u?6(??#??T??\"0????S?0?????S-???D??]??6???W>a????????A?vc???͝?&4???qvH?o x?+?\'\n?~??8c?s^H???#?~?]??9P#?ƨaʍFޏa?f??????_C??(???$?3??d#?E?,???[???_\n???{9??dUS????c=\Z?@j.T?څ?41M9}26???l??aI?Q\nj-ߋֱ?d?;?Ld?cKy$_???/2???@?Ә?h?5?\?3\Z????`????A)\n???u??????,????IX?y???1??q*??^Ʌ^1?o?*??ЈC9yE9?}?`??=N?J??F?m???M???s??W?.I?_z????_n??W?????	P\r?}{?p?B6?!-w??̽S??1???\\????r???v?0??C???\r?W?a?2????c	??\0?{?pe?14???rjD?&??˒????q???Z6??ڲF]?3lZ??^Z??C??l/???\n?$?O@:??0ř0 bz31???y?\nPy?SZ??۽?N,m????q?j??!?K?0?>?mOT???????Hyc???̓?\r]?K?]?6?B?θqS	?l~?}&??g=|	?)??????????u?h[rt?a?DsK???˗?|у/?????#2m????a?VR?\\?<5TU???L?BY???M???U?\n?9?T\"?=)a?tCk???h׀?ilM1?5iRH??!8?gg??kıs??v?~?鴛6??????W}?(????sĩR?i???/??????p??|?Qb˿????z??^?+??u?g??5b?r??Uf?2-????P~??y,Y8?2P???A?d??c???8??????k8?s)??G!???ۣ?zX???y?dOI??}`?Wm??_???/\Z?V???,6î????̵?k??Y\\)_O???=GQwRQ;(???Q{&??1?ZTL????a??b?\0j?Fcs\r?]???uu7???P?IJ9?C?ƴ4\Z??o?\r\Z7-????E???i????PvK?~?Ϗ?Gy-??,g?T?!??R\\?O?Rq???? ?f??KP??q:???h:????SH <?\n??F2/?O??4Mv?)?\n?I4?$??x??????̗hG??gY?Z??????h???NF?kŊ ?n?ƀ?b^*/f!j???kM;???l???\\n???FB9??.Jl?;???j4s猘???#?1?:???\\??|????w8B????&?ݱ??p<#T??J?-???K<i5?894c????n?٭?2_?\\HR:\Za?Ǿojiܚ???(?$o ?}M?m??H_?G?5???l??m???n?V????????R?????????ƫf?9?_??AZz?>U??_?wuF[?????S#??z9???J?l???\03????b?b??kwq͘}f[?A??f???6.????\"c[?9V\n]k?$-쮱(?0????jS???[	t??:±???R?~Qo8\Z??g?????z??????y>|?<n<?j?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:c0fd42ccaa9f6617450b7928859cc97c','e?͒?8??S>e??	?a??=?*%l???&?[??衋??Y?????????????P?7???L???????L???B@V2?5:0?????\'??J\'õ쇦AB??\'\'Z#+-??ϣ?a????8մa?klPu??uIm?4H?0?@wW??&D???4????9:??R\Z?5q?????Ȇ?7ժ!?H?0????2?Jb?")D?n?YM?g??z??S]TcU?PW??<?=?h?Jr?;?S??? Z\\?ܨRZ?n&Q??R7C_?k?2??+?\?M??\?\n??B?{??@?w?	w?=ǣV?\"?#Y9?z???#e?\\9;?jNf?Ů$???|kGJI?0ADC?)L??d\nڧ?R??X??NF?STlv????*??\nh?Uh??C?=9K???\??N?z?R??O??;6????8?S?+?nf???+??}?Z\r[?9?O8??>OQ??m??F?4)v?NA?????f?a\\䩫?|?????5h?\"?????r9m?C.Rl϶h5߆ͷq??????????"X?v\\1M??eG<5???9?Sv????ϟ???ń?Q?x?/??r??c]ԗ#ϒ???@#?????????۱U?J^^?}M{?{?JZ???WO???????.;??^*k?iǖ4??޾}??????\\??>???p̪s?_.???^?~a?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:c3c6f8fb6029f31e108319c2c8148f14','??????????bDɖs?????K&q?̬?R%3?D5I?H:Ͼu???l\'3{????\n@?P?\n`>xr????Asv??e?x?H?Y4/?O,??/??«Qz?????8?jz??,??sWm??7???\n??nwud?E]???|?$CL???·??[???x?1w}???^??%??@?P??OAqٛ?9L????=##?A6?\n?/??B?N?E??WĄh<?y=?p?g?w??? ????E??G?Hh?+v?;n?????4??#??????2f?w$?K????ϋ(?4(c???I<???+??z???????CՋnq????g?\0?T?%+PF???r6?2g?.e??????,?O]?qPDCݘ???B????<??????gQ?^?????ɣg?_????n??<b?%PȒ?jt?\0??P?Q???#@?DG???\'\ZB???ïG;?&rDNQ?y.3]c~??	Ev8N?\n???S???h??????E:Ga$p=??q??<?Jat:?dV?)?F????Tl?UJ\0u\\;?K\0?|???BQ?4k#h????D?q9?;??/\r??-@O?+%)/G9wځ???@?>\r???l??0?Bͦ?GY\\\r7??P\r=H}?^?W?4I?E??h?2?f7B??0??W?\"??{Q^??<d?ĭ??\r????(??6?0??N?<o;??n???8??z??????0\n?f?C??ۀu.??N?I???g?(?m,???x????!??k???_?r\00[????Y?\Z?׷??)?F\"?j?-e4?!$?]??0|?,WC??[??"M??E@	Re???????/P?J??<-J?`2?y??G|???d0???7?a??hK}X]gR??hf?tCЍ??/??+???4???ر2?5?\0	??	??+t?A?Wm#{???,Z^?\"??[W?\nl?\0??U)?{??'_????@+??J??%)<wH??????A??Z#ߧ7k??_)?[?٪??1i???$̊?1??ϯ??0<C?޽??mxZM????/?_gP#??????t?x`?1Q?6&aϾ?E0\rؚҔNe_y???RL?+BɢYz]-?b+\0??\r?s	$T??\0((??䠝?&???fZ??m??l??Zl?b???W5?k?\\ʾ??XSM???!??????h?vU???????EzQ?Fn?Z?_?o,??????Ub???????????????2مyni溾?ɚ4??rw???be\r????;˧m???.ȣ??p?PE?C?4??q^??????/_?/k?F?\0??F??????4????|?/??(XN9?H?֢OC??˟?	?ZP.?b?T?սU?:c`X?^???=?#8PsZ?e?@Rl?q}?`??~????=???A??0dIF??O\'3s?}?\02m_L??\nr?!\Z??,BXV?N????K8????ɬ??R?4~???OL,???]?@?\Zը]???????$+O?gy??y%	?]?\r(\r???P?¢?n?6?;X?????W?Ӏɴ?#??0?? ??o?/?b??%??i?<???Q????+?r3???r?(????uX???LZ?eL?j?i?ޕ??p?}GvJ???Q???]$?lߩc?I?j6?M%?ߠ{??;?s,S?~?Ty?%+y?n?(0l_o?F~?9yVFѶ.?????]??????U?ʪ!?̲1???%ϋ?????憞7???*歽f?$??^bV?$\r?AO/?M??`?m??? Z%q^t?3L?z6???j?Ax5??σFe????7W?uq1Ȣ<]fa????~f??|?>x2xr????????????`>{z?x};~6???????)͋,Ț^Ӗef:\0???\0?mvDyL?W?}?\Z????T??????BY8??????A.??{<?\\?m??G?̠TT??˭?X????Fm??X?=\"?hOO@?!l\'\Z_	???G7?v?d?_:?[W??aE??+g??}\02g#,Uc?9&???b??????T????6?q??\n?$-??\'?????0??h??de?x???i?.?V!!E???@?<?]?\nKˢ?~Iz۫x???A6?@??޷3;NW?0uzr)0??E?v???eD m?.?a???C$?C9???C??^E??h?(>?mPQ\n?\"?S9:A?78Mգ??????_?7m?kɓ?N?????u,?p???I???݀?֕)????ӌ?'????4k<??:??A?$? i?f?????B??o????nK??QI???I??N???C???c?????v{????ݬ?<~???r/???i?6o???%?????s?????y?|z<?LF???a8==?????n?i??p^???,?M????YUM?Ñ???2?D???????<??-?? ???????????+????9F??}$???>??K?g?}zv?ڴ??Q??????????gg{?&ҋ?ә0?4??$ww#????y:?N?3?r*$?p??r???\Z??y ޑo?Ds?z-ï??????D?Ɋ??kRIG???ƿ@?\Z ?\n??U\n?	?^??TgY`?1Ȳ\\???i?۰d??dQ?]_g+??oG???????F?UH?]?J\Z??0|?\\??586N??d???f??ǿ??:?S??^?;g:??{m_?o?,]P?>`wLGi??+tP?]??<?At?r????"?$w??5X??[?=?T???D$%W??E?5?;E#???0?Dw?e+??ym?9??????????????????LȽ/??0}h??????c??K??y??yׄXӟ?YT?<2kB``?????EԶ???/?*?(?%cT??\n?B6|$?>??? ??eV?]??2\Zû???*???Ā??X?MSZ[A?j?Ѣ?I=??s0?:?????rn/?0D???	r???????xo;??%?lE???nÈLi??Q?ho??	????k?5?\no?|??A?/hg??ԭ?1W䣤????ք??{?1????݀[Rȴ:?PE?]??k?S??\'??????]?z0c?Nx???r???B?L?}??%?%Q|)\nb?.Ko?,??/??	???yp??g1V0????I?????????i??w<?w???\"\"LiQ?ylf?,?ă???n?k???wikV???H??$?o?x)??<L,Q+?=?4K2????>-??8N?iV$A/???H?NU?oPe???E<?m??${?+?$?\Z?V4?2r???	A%,眤??l??Xk.???????????P??P_???*?)?7?NGԻ?????Xf \Zcҏq?J?A7?U&AU????T?LUԔ?`??mʷ??b?\??]??C?eY??\0?L{?%{e????\n7)v????	r?pdOq\ni;7??4B???p????LJа??H???`?0y?"Nz(??\n?o??뉎??????T?ҩ?bi\'???,?S?/j????C??x]??G?`&?;T?c2??w??;we??T2??	??@?m\Z(iV~o?8?6????:???G=???IGe?????;\n???.ruSX??,????sz+1?ڙvqb?wo?Q?M??f???Ƒg?O=???????sK?po?A!Ka?S?(?4?X)@W?_??????D??t?kB?w??t*ɇ??~?x^?k;n|???m<ª???Pk?HC?}?T?dcYY=?\"\01?ٰ/?B???\'??? ftHg???s??H=\r?X??eE1\'i?V??GPU}?Cք`T?4\'?u???N???[??wj??]hm#??>l?8<OaU?????̕???ޕAK?^???4?"?p)^s??wB?\0?\0?*M???%??4WW{?\՗\Z? 2?ګe?XS?0?8?-@??????/O???q??\\??D???e?^??h?\"&??GS?260X?tSc??s??Z?-?;C??GA/i??Z???E,-a?L?J*Y??6??Ϡ??\"je?fY^EN?Q??x$;???>?y????4??*?xb?'n?;?i????????	?v?R????7??t?O?Dw@??'tC?Ƶʔ??)??i4??ĳx????\r????K?Yx??.?>[L?`\n?y?xL????\Z????MK?????!??)?$;eYS?7?s6?A????*h??,??	??40a4.??4?\r?^\"???HD\0?ZF]?????RD@>(x????j?w?%8?Q??ZQ?V?O???MB??m?˂??\n/?R&?3?-/??	???6??G?\\0???YT??5`v??li?30???,??S_?pj???~?O5-??{D?????_dxr???\rwus\'Q????????S???,em?2J?/g^??=?5?zi???I?sPX???,??????㋺<???\rj\n?-??}?7?R?0?N;???x?)U\0?*_??&`>t?8?rbV4fv?ea?????RLP???[??=???????{d???|??Fj???e??[?4?В?r??|?}Z??qFxi?S??\"??B֦??N?9̭E?,?c_]\0?a6??>~?ٷ??~???7o??û??ˏ?????~?x?o????g0\n??Ɵ???]??????-????Ǉ,?O??L?\0??u?a??w?;>%?2/???????#?fg?֖fK|W????]?[AA?۠????0?????/y}:cO???B4?P lm??T?h????[?f7P????#n?IƠ?M???F?Hp???b??+l>iU/?U?x???\?u?R?7w?b????=?[j??p??\"c?*??????GN??8`6??\"?O?@??b??/\Z?.f@˾?!*??Me?\ZVlT??<??VK????Q????L?晬???weI2?V??F?Ud??P5???t??	bc???F{Fd?^??8???2?@?$??ŝ??q?????\Z???O4F?Q\"?sήn?9?B\03y???mۗ*?\"??_J??:??jϷ a?LZ	t??WC?-?03_?X??P#NR)?<Q-?[?B+*\'?????|?w??NG??????$?F?\Z??u?Hw\r?????h????v_??gW\nA?\Z?/?.b??P???FV?\ZX??s3?榻?w???>??I3x]?t:BE????	z|=??:_??????B??Ǵf????-(%???????%B!?h??襤??A\rgA?9a?%]??.?)H????x????O???? ?????.??._>=|vO[?\"T?.}????\']??-,????N)B?*o???IzkTV??A??^w?Gf?p\\?nB??a\'\"??3???\"?@?P????61??␶n??0??B?<????B?\0 ??3}!??4?m?ց?8N@l?@ew,?\"???$UʮML????X$S?En.0?j9?V?=-O????̓???\\SW?^-?:??E?9w!VH??{?͠\Z,c?֜?F?k綩l?$????i??d???.??xf??Ƨ?Cw@????+?M???̟????ߚigmN??t9???????o???c-B?[d??-/U?O?H?,???1m`??Ŵ}]?ؠ?n?<???M????????????5?"?k??\???????:?m?x??	?!T0?|?h???W??L?~α???g??x\'? ????.??? ?&??\Zo=??$!4d.??<????F?\"??B?@CE??O8H???Xts5$?>X?Jq<1Njza?$x?E?????!urc??????z????㈣q?:??<ԭ????nёC5cر6?$?Z?n>ҿ61??t????u]|Ae1??RY8tMA{?Ѻk?????6??־=?.n???7D?xY?b+?܃??p???9t?:w:{=y?? ?ۧ??\0??????????k?f?Vc??Н????=?????,i???[g?v?#?j#(??Ah???85?.?ړ??\0????a??9m?R?[(??J??y?a??&8??L?B/?n?NS??,v??bp???_?7??!(Ps3??u??R?4S?ѥ?R?H,u??Ra?w!?ժ???\'Y?W@??S?s???;L?s?y?p?f??˞#?]??#?}????=^-???p/??۟CrK????T{=?]{?????9Ŭ????hi????$e??#?????*&?NRP&??4???<\Z????c	V?ȴ?J?`?ю??5??>f,B?????i0?<\n??<?a?,y?i???>6?*Eyʅx&zC?o<????ceӗ?? 9~?!??i2?????????b?@???V?4ĥ/?X[*?2??????jM?t???:nRD3?:??/#;	F9???]????\'?|??z?\\?\'Q¢?cQ????a5??2????q???????s^ì??YP????*Y??\n?ՒO??h(?>?mu?@=4?نS/???2?2@¡???$???ӣ?$??]??????SE~\ZJRF}?{J??h????W????????y???=?}|??\ZF?c??4?[?͗L?Z$?^??uƍ???;(??Y]K?x???h$???iuӤ)? ???H?0 8\n^??~?????:k? 6c$?????6?h?>}|xx?y͠?σ?????u??????k??g????'???4@5?N~??E??]ddS?????㜝??m\n?\\?>??\r\0?>?\0{x?????????E?z????????L6???8?ᣯS??z???A??}?<?:;?#????????q?G?ç\0??}?O????~???~??k?8??{??4I⣻z?1???؊?X?\"??D???????????gc?;\"wWW?|????a????U?}d??????X??5@=?r????????o7.<???=?(?+p??Z:y@?p??R:?5KuG?????U?0?????>I׆uqK???\Z??kΈ?c9?\???z1é???͢??Q^\\??ߜ8???\r?Ki8!?????ӹ&?f??`?\Z?~?וֹs??Z???9?%?0?+?\D㓗h??{?lsZHsW#q?+?t\"?3?Z|?m? ۚAv?p??[m?s??(J<[?1+c$?rȶ???	??x?\'??i^??O??P?,%m}???E3n?_G!\n???9????8q??y:)?hi?"/t?~ǥ6?N?ɸ1O??????}q#{?????r@?.??`??{?ޜ????g?݇??L?F??u??8-?ӣ?????iM?????f?1?P5^h??S?4?P?????؇@-?,???6?=<?????p0LC^Y2??1)a?y}(?)?Q<?҉?\ZqG}4!??u??5c?T֭?\nPm????N?/??[Fѿ?0?kz?~?i=X?[?|4@?cZ?E???^?ހ??"/\r??6L???s??\ZA?Ґ%P?????t???\0tq??(?W??\'??q??yT???p\"???)?@???Ii????Z???I@???????MW??j?????@?1???\n?.??	???\n??tN?y?&???;??Q?P??ѧ?-ՕEazp?;??$?????R????G?f[((P?7ŀ???me%@????{?=$@??ZF??$mqل]/???/oE7??ȷX???k^)????r??j?2??Q\\?>???7?`{kZи\Z*?C??#(S??9?_?b?z??7|%?4aP??,??)ۨ?1\rC??Q?lw[o?>?2ʏ?T9?U???&?\0>?8zK?-rԶ??5???K?Gq??????????P?ŲO?*??yM???_L???????:?-?d??H?AF????A?[g?ߞ??YA?	? o??0U?VjP?\\̂??r?Yy????!?e<w?>,m )??+:?0(9??	?}Qa?[??3F?????m??\n?Ƞ?]???0د?`h?????aag?????4??d|??x???@>?C?\\???y?߁	?,?e??Ц?T??T&?3n???5?SNc???r?H%?????????\n]{Y??L;?e?ć??????S?^?Z??U??Z?5?VU????jE? G?}????Ѧ????>x C???̮??\"?߷xw??z{}??????a???D?c0?????^?Ⱥ????8??<&	?OM\"????ra?j??#?E@X)?۔D??^??1_A\"???k???\rV\n??9???94L?k΂?V?bDӧ??(K?1?\r?@??fM???UmcK??bM????????0,???c?\\W3?˳С@?JN?^C???_\r?\Z???B???Z?!?\r????RVv.,?ڕ??O?[9/Bo?J?\\R\r?K?*?M!@L>??O?2?Q?t??Ǐu?\\??&?0%?a????y??q\'??(1q?????F5??\Z?a??o????֗?v;A1?})??????=?H??s3}?????o?b?l???k曋:E??ֆ????#W{|???\n??-8??E?7??j=??a??_?iVD????Y?t???MP\rȫ8I?\????@\n?[?Ÿ?7????0???k?]??/?b??Hb^??ɫ刎ׄ???ތ?ղ(?#*??U???]?`j?#;??????<?\"?"?????P?? ͛:4ި.??`?M]ui??*;-?[?l1?T?ލ?T???I??q?G??R;T?o??????|??????-??Z??Ce?ݭ???5????%???^o?????L??o?T?(??)?-}??????l?????ځ???cͧ??????{?!??:??lB5ķn?ژ??????ꮶ??Y`[?\n@????ǆQ???_	X.?!?????h&?????,?7k??????o?A?;?X?????Bֶ?yl?_\ZxL?>M???e??\"dM?????,Kw(@?????!?biƦ?m????7?d???-T+??#E?Ӊi(??A@?.??U??*?e?V??B??r-???,C?:IF?a????J=?U???vۿ???n?????w??s?x?G?<?Aݯ?\'t??V?\r2?????Y???????`Ӈj$?5L???1?a??(?<hxc??a~_ ?\rJ??????Yd(?n{A^h\raI?}\"?.q`@????????vU??&P.J?T????2>GC?r?$?+>????0d)(?b/?6?%??i8??cKE$_??d.2?L??????Q??W|F??ou|????43??@?ޛ??$d?Ɂ? ??ѳ??!K???]??r~5?!????\Z??ۘq??EN]CG~_ ?0K?;x`OР??????H]AF?\"????tㆿD;?????O?ó???	?\0qi???\0?8m??#??SV#??`o???d??^?qc?l?;?WFa\"\'?:?%,\Zr???RD????gɪ?\08??01e?txRs??????6??J,!:?gQ??>cqO\'{Læ1n?Xը+?j?N+??????bh?ڒ^???Dq?	p???8?W??B??P??\0?&u)?:??\n?3??[X?תp??*dv\0?Tۗ??	?%!´\'nw?0ҹ???_?h?f?5??+^+??M2??5?nF?lA?} ??\'g3~	m)????`???n?U?lU[??Hϣ%???AO]?(e?|??Nff?^??\"[???.??AY?i%E?U?SU?G$?N(s??"?)?U??Bc??I%???}?7???NO????sZ???d.?av??͎A?>k??0v?n??X??????/?.????6????>?0zV?S????o@?~:\Z?x?WһzW/?7lx%???!W缻.??&H?Y&/37??_6???+??ŒE??;I?$rFG<??qTf%??[4?K)?HDї1(??rh???X%\r??????0??????RK!_4??????м?????b??\\???q?J? ??cu????:\Z?g\0qk!bS]?D?A????5uU???Nc4??uW?Z?w}9???V??Nr??\"-?4???\Zw-{??!??????~>?o?6?{?k??o䉓??E\'[̩?-??%?(6,?o?s??????xR?C???Ϧ?EPt	?\'^?s??Y??:???xu?%??8\n%H\n_>??^?G??qi?<J?wg9Q/?B*hyu??J?\'#\n?KĽXa??0?_l??bV;??F}L????^\0F??Z?w??%?-@???\06˜?\5???+?>??Ҫ??B6????x?+C\0?6??#\"n??<?cӌx???YS???-锪d4?Ў?w???s?We??Ի?G?9a?\'??c???9??????5?m?T??2:2?a???/U?????s<kT?wT\n?Q?5Z?{?DQ/?????6????n???>x(???/??\'??~eWm>??j`??\"??n?y????ë?ao???????d]????Cx??u?\r-?-.?M????N_?Y?r.???Զ??޶???????A?ː?L-???#????b?A-?Yq??a??,?Ǔ?V???w?ѳ????????0?????I??Ns??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:c538672023d5a7fe39c3ec0874cf68f0','?Z?????u??j\Z?h0ەb&??e?T-PSj[vdˑ?????¼?I??e2T??ڒ?s??9??{<????\"?? I?O?4?$a??Gl?NB$??so?$????????m?e2?|?m???o(C?%JdNs;????G?e??0Q?O>g-?h?(ՄD\\?K?ZE??????/6?u??-E?}\r???8$Bb?u{?\"???????`?n????w?Lx?$҂)^)??M?<:?????s\'ݝ???x?5f.??2?5T?G?$2 \'(lZC????? b1?2??$Jh?oF?.?9??0?Oi?fO\"\Zԥ?D???o?<??b???b{??$????JvN)Ii????pF??%8c?z???-?C9????HD\ZNn?e???8e?	?m??M	??먊`?\")D?4m?k?;I蓠?1????C????_A??e?|??ڀڸU?ƣ.?!??R?????_??鉰^?e*??3F}K??????=e???D???>S???:tqřdr??????eP?4??F^뚭?4?P?c?\\F0.??'aJ?1??\\???R)??rC?\rv??????l+m???%?	??????0D???@S??s?$/&?gB?x???\?aF?AB?ݟ\"	??!y?Ʒ???????1?9???mT@?ʗ??;{3??bB?d_i?bt??ݵ?*Qö^??rg!\0Ŵ??}?]%??[ZҨ???|???vJ-??U??????? 7M^???^??\n????֞?>?Q?R??$??????.????/????9?E?/??E?<k\ZX??i?a?>-??????F????0???Ȫ?5\nuXѯ??X(M?????ĸ?????eG??Z???????[n)?Zx?ՂfM%S?Hpai???HW???d????J?r? ?d?c?г^e????}?b?????BeaH?PQ{???$$?Y=???V-?"??O(?? I?0l??ڶI?Pe,[??s?[8	??g=^???P?ψ??*e[???_YN/?t?????0A0??6?uȼ~?Ѻ:ח.?O?a+0\"oU???J=O?l?	?Z*???????X??W˽8C????}|?Ev&?N??!?úR???5?\"BBX?#???mF?n???6??????????N?!Q?;\n???ןv?SB8?[?E?T?6_g\\gW\r?????i\Z:?????\0(?k?RA?Q?\0й??w[?Q??????ۅ?O?%?P}G?WkTp!Kf??m?i?eَ???_@?vE?Pɠ?)?????????*?sE	??Gx??DP3t?OY??r?_\Ze,??*=??c??3;???/?˚?:@?Q?N0????H?\\muww?R???ς?xXE????? ?|????3gLn7_d??c???t????q՗ò?Nd??5PJ??b?????h??\??O?7???1g??7O???r?Fh??iL?տ(d?)?ĉ$8???y25O1??>?????????40?#܈6r?@#̈q??W_sot?F???????M?_?&\n ????7U??\}?OHb????G?\r-Bcf?}=???????\"?Rwg\0????ުz_᥂|??\Z??y\'R?E5R+;kn?Uܾ\"d^\Z?!/?ht։?)?Fd????v??5???]??? XB-Au??v???N??3o????yCƿ?W#j=U?ge????{?M???r??;?SwOyIA??kckwX<??BF@Q7????#8\0???ȸRb8??U??????;ث4k?C xf?u\0?-?????'x|??7??;?????a??D?????? ?P`8c?эԭ\0???e??{	\Z?]CSk??YMT????g??C?M????4??U8Оx\r?Xy?mmB?\0?I?V)kHu?????J³?*6??!a?????3??????]????\0?'??P^1p??*?r<4?L???^????y>Rܧ??\0?????n??\?)?;\n?]?(?.\0?????????V?T.K??J????\nH?D???fUWP??eӈ|?q?c?R????Z?K%??횐??h?L?eS?Ү?gH?%]?9??????O>??`?zgik{?cB???o9wˑg?l\n????Nt>r??(9Q???	?N)???mxV?~?`1]M??J?b&8?2????8?j??J??t?LTӁ????v#?dcc??My3???W???????\?ra???HL???p?]?tt8?rG?\Zxt썰?w4??ã`o??r??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:c67f67edb22519634f06a993cde7c206','?:kw???+?l?#??ǎɰ=????\'?????????\"?|Xve???@?͞?i?`?ya0??^??Ĵ?,O??c???4f?????I?E??4???i?`AL\')Ȍ??j?O?C???????e?X??E<??Z??V+???R?????????_fdB????O9-??@/J)).hJ q|????Ej+h??.*??)?.4????*X6??7*(??<PP??????7?@?=?Rv\r?nn?6mP?h?????o?dc??????:??Te?$??ru\'?#B??RM????βJ?xF??Z1?0??%O?a?V?T??????????O??Ι\\???`U?z???\0??,M\r?JW??)??7]M?we??\Z?h?\0FG?G??vvZ?????,HV&??}`?????+???M???(?P?1?e?????-??q??V$e?????Mf,mD2?\n~???-T?P?]r[?\0??]????C?Q??Ĭ.?J??G*??Yt{?^??	??N?=??LD?H4?-???+??#??@+??Mo???	??r??	?????A??\"?t??ĭ;?`?R+z?t_??????0b???d??? ~PK?T??d?I?l?(m(?\rB???D<k=?i?i]??~R??l???Z?L^J?I5\rX?/Ͼ+\r?b77??O?]???Lk??@?U???p4 ?μ?`?ZZ???Yh?!???h??ɍ,?B4fq??\'?ƒK7X????!??\n)݄8X.??c??\r??܃??CPhFǚѲG?^R?8ԃS?xe=.??\r??.~??ZR7\r?H?n???=??J+?\\7?%?wg?-Z??r\Zp?I˱??)??ݾ??K??t?7?+X.*q9H?-	P?5?_??????w?R$,yp?E??b?P?[OB????Ǔ?????Y??????{a?o??*	??Ƶ-?\0??yJ\"?]]__[????~????N?q?\\ף??!??~?G\0??ߗ??h\rş^?΁??D?:	M?Ip?$7{???f?????=?v?x??SP????^?6???W?E?!????œ>\0?\'D???S8?	?\'֕%????ҍ%?? \'?(w04+??0??0\n????~???ۮ????gi-?????8ZV??1???z3?A\"?)EҊ????????/^?ON^?<>6??*??ӈ??V(a ?B??_? UaT???;?\n?6???#4V?p?"?<?.7\\?????V\0?:%?)?l??J??\r?Ń?`?<??鸋D?e?k???{???R\0???qi?Z?}??D-?????m?KA?C ?_*\ZD???[???????R??&???C???	B??C??6?Zś??<;/??*?????0y?H?$??od?h?V??c(???t\r???V^???-k??????????-]??Y??;?ph?;ږ<fe??V??m;?lT??????ug:X6VC\"]KVXh3!???_ q?=˪?6[b	K??\r??z?$lj??\n?aEݍ&1??ML?Y?l?m?E???g?S;,ڶ?j?K?(?N_n??&??+?fT?Ih]י?\"?9D??/???꺢8O8?\n??Rs}u??{???[?\n??\nz:??aQ?b6?1Tِ?H????ET??????Hv?{w\\?bZE????4*?9?B?m3R??גg????????\04??6Ò?I{P?E?P?SD??w??%T?u?>?@???3????w ?mS?\"???3+q??n^??Ƽ[?0?!?T?i:???:?iW[G?\Z݀G?A?0GC0gjt,T???????1;v??;???Q????1e???????R??`4?50?n?]~?ic??{&?]?p?K???fY????:?/??p3?U??????ϼK??:M?Sߒ3?? Gb(0=D?(?k?FuS?X?\n????l?邶?BG?cWr-m?ǻp{?vs???$#~ÐT???I?:\'E??5?7?믤6R__??,v?8a]l?\"?=fAˋ??2A?;?mĽ????Tu)7???PI!?l1?????9܂??P?p!y:?tqip[???{???llst`?oA??]p?,ɠ?eЦ??9zI?.X?)?\'???b9๹!y.n7D?l?x?F{?????ZB????lka??4|7G??NhZ\'nC?!????O3??J???Bc??&?ATl#?{g??!???謜??9T???><?f?޴??~???U5<>???8?@??????(????FJ! ?\ZG?<>JK\"Z?z&(4/?\\?*]Bx??????#?|<:i??L??Ş\n??\Z??hڻ??Bȋ?!=????H???Ily??т???%9?铂?SwK?b??J???(??++I??????	\rt?*?M?0?ޔA???\nA?:???XZ??P???o\ZV?C?$<%c??b??l?t(????D?N`Y^W[&X=?B?d??$????[??B?+?Oa\nW5Ps?????Ny\Z????????G??=iE,BZS??^??Z=A\'?????0(gv?\r??ų??n?0 l\ZVR???>?8???t?#??S??mc????S???[K?ʘ?@?)?6????#???FWPö?#/??\2\0?????X?;???e???AH??#???V?Rb|\r?Xm?*?|??J?`zd?t?!??A\'\'?k?S???j????pl????b????E?b?I?բ???C??,;?	??Ǖ??0?]????((G???z?!I?I?"o??mS??B?k?͘d0?sf\0\"??[?ʉco?]?s?OA$?	??v?vo?POq#??)?p?)?*?P??;?????}?r\0??d????;???L?!;?N?0_????!??d)??kt0??~?Kf?#?*\Z?ۧA@d???h{2%k??l?1?????????=?Vx?4X?r?????тvwa?????&}?Jo?%?Lr?????q???pI??b[Q?^??4???|??nE/?职??9^1??(??z?5?Cf\r𮡥?,???[?b,??NG߲((S??wwa??<???C(Riwa\n??x???ިN???D]??m??P<M/y???????,??5?o湁?????9~?XcI??5?(O?<?{|?Ӿ7yq]v??Ї??f???????c?.Ƽ??y??~?kzG?\0kk??$????U<gZU???G???/ug)6?3א????T??#/???????c?p??X?R\r???\r????Q~??n=?_??? ???\n?????\0?g??|?Q??!?[?2???0???L?G??F?ɘ8??????T?W\ZC?I?[4?r?^ƇR???C?\"??LA{^͆:?ʬzaH?!$Xs???z?F??EQJ?rm?f?@)]zk??b??????H?z㴦????W??[??J\n??b????]?ŇUDԑ??!????<!M?????AF???B?x???_?ȫI??w?Y?????w%~u?mN?\0?\Zx>?w!1??%??%??{?1?D	??T?\"??z?#??.`????????????;?>sb??0K%??????o?????B???2?s4<?n?v[2?\"嗛>??$z?[R???????0G?}???8???#?5?????r)??o??;??c????8??HQ????????T?`oɃ?? ??7?[f??B??g???ܚ?r???JjI߶?fr??-?d?I???FI?lY?b*?޳?y·J?\0vj????R??>N?\Z?T???O???b?:???w???f????/?v^P۷?????????0???)?3tqY?l*?y?????????SI?->/?????>@??-+>޴?bԨ6??68?Z\"???жW?;?Gi???+?'?]?	?I?.f?9kԁ???(???k????????\r01?b?mAoٸ???????o????::N??i<>8x?r?0???QL????D?+?7','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:c85e0224436b681a31455315e5285bd6','e???0?y??N?pSp??cf2?X@AH?$L?߽+n????~ \\??_?~|\Z?'s?????˄?h?*Ǌ??	\'ZU???Z?Y??k????RE??rM???????htU*???vE??n~?7???+[m??{???f+h񂠠??n??=??$k??^?J:???uu;?1?A??@Lc??-?N6?X?Q??`?Z5ɘ\r????VV??awo???3iH?^Z?T???u%ٱ??Q?=?6?ĐK?É?f??A??m????LK?u=??????Jv??K????+vCޜ??_??J4?+*??o?J???R?c?~????f$ӄ??\r]??	?֌?R?Z?<??9?0u:?I??]%?????þ?Tlv????o-ШI?o)?C?]9?*y??ќ?????2?E???Zwl\n??!a$??V$?????ƻ{?@?????r???xԛ?\r?jiR???????)?@ø짮?p{Vx;?ନA?I6??rI7$ې|CN?|?E[?+?ou??(????y?}x?w;<1??????\'{?k??\0?T&ǌ??R?	~}}es???]?????<MN5-??<9????2@#????????WW?c+?7J?y??c????\Zi?O?a쾝/??????N7?T?4??}{wű??Ir<?2;q8??x?$<-?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:d58d15fa85d13b7ba75a522f30b3648f','e???0????N?qS??!?z?3?EZ@AH?$L?߽+N???kW&?i_?~|\Z?'s???????h?*???q?xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ??s?ѢR\\I???+?;?+?֯t???66?????!?n??=???=?<o?t~??=jq??1?A??@Lcz?ͯN6?`,???`?Z5?I?\r????V\n?YD? ??[??L\Z??R????????u%ݱ??Q?=?6?D?K?Í?f?}A??l????T+?-u=??AH?%;S??F???!o??_??J4??\\?G%{IFYY?x??s#e]Y3?jJf???D???\\kFJI??A@?)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K???\??N?z`yb?"???;6????0?S?+?nz??p???}?J[?1?w8???Q??e??F?4)t?VB??????a\\䩫?ܞ???V֠܊?rؐ?rڐ|C?\ryސd?Eۨ?m?6?x?D?????}X?+??X?????~?␊4?s?J?xH?S????͝ZL?}?\"??? ?*M?S&???4???me?F???;???!?Y\\َ?\"?Qr?????^???qo=?c???%}]f??9?T?ю-i&i?}{w?Y!???\"ɡ?????:??E???{?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:d9c42f81c224e5d31a4bebcbee098559','e?͒?0??;>?\'?aߡ?;??\0/?m?v??rd??>K???L??d??28?/???š??ޣ??T????\n:	?J&??AyF@ֵ???tP?h???4?D(?\'??@?E???????,V&??6?_???mlT[A?WB?){P?(???x??|~{?~qgV?\n?????P\r?ߜl&?X?1???N?j??2t?ͨ????\nA???F???^Y?TهX???co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c???m?J???2????????f$Ք??\r]??)]?֌??@???ކ?R?:???]????:r\'??J??!??o-Ш)*ߒ???zr?*yŹQ??????E???Zwl\n??!a$??V$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??=+??$??A?I7??r????rސd?Eۨ?m?6?x?D?????}X?+??X~???+D??????"?y???6wj19?9\\??U??.?V??q?`2??Ј?8O?zx?!G4??lᝒ????????V>?V#????0v_.W??????6???*ڱ%???/o?<???i]$<M???C?n+^!?E????}}b??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:e3ea743a13586678401eb012a0c49aaf','e?͒?0?????? aߡ?wfG^???4??Ȓ?K??,le?gݰ????8???t_?2??n;Ҳ|?e\\??}???\nz?QUZ????Bål??F??82pN<Ԫ,$???w=?܇?????q]???:??	jh? ?,?????=?o??n:????pgF??????Q?߬?GA?!????????2?????(1d?tg?$??)\nJ?0?ű.??ԕx?zKy?t??\\??\'\n????9????T))T;?Z\0o恵?+??P?X??\?%??;r?B???n?D?-3????S?N?QBV;?/`?WF?\Z??E0?+A??#??R*Qq?????????{2mCW)?w?/??z?Tlv??????\n???k????]9I?????N?z`xB??\'??????=????Â????|==?;?h??\Z~N??????S?:}?? ???^??L??{\Z????Y??? by?H?\"?9?H?\"?+rZ???5ZG?Î?G??9?___??\"???_1???,???<??t???X?*;??????S?Ix?ZA???,? N????*.??LwK\r4??w@/?!????-[Dx????&???|CZ?????ah?/W?????????vlN3I?????\0?9?iv:?,?Q{~<T?o/O??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:e5200d9af75eafce6b35b25deea82834','e?͒?8??]>?fz?	!??N{??)apc?????6?&??,?C?*-OIņ?th???ݛC????F?0R9V%?8???#???F??F?{?????vcۢ???????\0?????琇?X?>?[?~???????Qm-?a70???W??f?????E0?????Y\r*??b\Z?\rh~w??c9??\0;ת%?H?Խ6??2tR`?"*?n?ZE???zmM?s]?b??PW????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@?f??;ٖ? ɨ +??pn??+k&R??????ѕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr?]?!???_/ϼ6???万????è??ū?ܖohRk?BWo`%???L?nG\Z????????????$ۑ|G?;R?iG?9?eG???Q?????>????????\"X?vX1͛????QpȠ???(??u?&y~L???dK?VޤB?v?\'??K?eťl?er9?&?,o+4????C?Ͳ??????????g^{?W????\r?L??????2#??????vlE3I?ۇ??Y??4e??<?Qg?@?svΏ?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:e6ea8993f24e4c3cf0c85bfa863c39a4','e?K?? ??+?8???v?CN9?*?*+?p????u?o?w?[[???_&???8??}???K(?V|!-????J<1p?Ԅ?&?ѶZ???#???S???84pN<Ԋ5?JA?????E?A???w;]??hG??	j;h????????=???n???W?qgF??????P?ެ?A?d??Yjա_??R?ҳ???EP??????0???/u??U????O??????*??l??2<??4???+%?\ZV???u5?\r7=&T???|֪f??9}	!???w\r`?ى?????J1\n4???{??v??+?gT=???|W???l?gL?qEa?ަ?SX:??\r]Ű?i?;k? ???ㇽA???rP?*ף?&?|r?,???ZuD?C? ?C???c+?|?6?r?]?#???V_O???>?*?????????Q_?h?[?|W?`???OD???^????vf? &u??@?I$;??@?)?:?8:?c?1?w|<?"???u[?/?mo???$?????(Jʶ?8???HY?n?????~??S?II^?i?$9??FM?i??4?қ?oK\r8???0?C?????x?????g?~??Q??1~??/???Y??\'\\??u+$?\Zg??7[?5??U??甧4?mDˬi???T?>??D^?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:e6f2184c4a9114023c609af36addcc83','e?͒?0??????BB`ߡ?wfG^???4??Ȓ?}?d?!l??(gݰ????8???t_?2??n;Ҳ<????????XA/# ?J+yz??P???m_?]@X\nG???Z?????g???X??Q7n???U\'?6Am\r^$??Y@?????Z?>?????CU??(?>???@??(h?D???V5?ERf?j???%?,???.???\"5EA?F?8?t>V񇺲߲????&??s????d?~Ai????Օ*%?j\'??=u????Kv??????*vGN_BH?z????/????J?2:?????X;P??????"ߕ???+??R*Qq?????????{2mCW)?w?/??\0??n*6??QoHv}?ZC????ޅ????$?R\\q?AP\'D=0<!n?'??????{??ɱv??5?zz???S)?5????u?(\\u?:}C????# |?t?eT?0??6b?3=~???H? ?9?H?\"?9?H?\"??$??u?;^?????}}}????~?7?1?EZ??,???????A\nE??ԩ٤:?!J?i?Y?FEeTV?R?z[j??G?zx?!G4??m?"?%OO/?a?Z??Ҫ????C?|?????.??_?!i?4??ޞ?l??????dq?D??ET?m{??ͷ?\'??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:e71b0c09fd3ad5ab0ca61e06036ed654','e???0??\n?N?q0???cf2?????\\I????{W<ܴ?vW????L\n?r??C?h?\Z??/?\Z?H???7?L\'Y?V??Ȫ2Z]???J\r???\Z??????h?(W??7=?<?Ŋ?6???]m??:???jh???!e?=?5z?|\0?%??.??o?Z?n?P!?;??@?(?F?رV5?ERf?n?4???cQ!Hg?(r<?????kZ?"???C]?????|U?˹?F?3\\??\r?|6?B?RR?	?%????m? ??ǒ????+i??ݐ7?ү?zW%???d{\nG%;IF9YY?x??se]Y3???\r]??{?r?(%???}?9?0v:?1h?Ja߸7|q6*?R?مƏzC???*?QcT?!??.???$9T?\r?:!?Q?ap???O????L????$??ks???}?J?k?9?w8??n?Q??e??57)t?VB????躧a?屫?\\?no{?)+*PnA?+???E?9??E?W?E?????u?:?????yq???V?q3?$y.?S??Cz8VI???&??@???ol?l????????c?R\0?T?y?g9?dz[?t?~??B?h?ŕ?\"?%???m???Ŗ?ji?G???/??????6Ǘ?J*ڱ????W\n<?e?Jd r?3SL?IvDq??O??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:e759469756a4e587c69cc5ba37fb088a','e?͒?0??;>?\'? aߡ?;??\0/?m?v??rd??>K???L?<)Y??틹xi?{q??e??h4? ?ce?c܄ÉN<??	?aP??um??E=!T*\Z?e74\r:\n???8	?Q)?$?zy?????M???Y?R??A?vC?Tw\nk????J:?_????_ܙՠB? ?1=T??\'?I0?c?l??S?\Z??3j*C+??B?.??&\rEA?W?8??!V????߱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4????G%{IFYY?x??s#e]Y3???\r]??{?r?)%????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N?;?Hh+??#??w???*9l?$>???8E??\Z???+X	???S????q???~s	+?????A???C??mH?!ņ?6?i?Eۨ??6?x?D?????}X?+??ؾ??	@Z???Wu?\'???????l?b???????*;??J??!???me?F?????9?Y7?c??<=}???????Zi??⇱?r???%}]f??9?T?ю-i&i?}ys?\";????TPr?g??JN\'x?????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:e9ee541aa9f0c22fc1f7a632c75e9352','e?K??0??+2>???y????wfG^???4??W6?%??,?!lQκa?4;}qB+???e?w?v ?ey?e\\?ÉN%8d9+??^:F@T?V??a???p)۾?Ѻ???܃?*ɥ?]?"?a?<~??2?n?Wi\'?N(m??\Z?\"H(K??>e??\0?5z|\0?)??.??o???_ܙQ }? ?1>T??+?Іc???0c?j?z?=(*C#JY/]?-?Dj??R/?nq?????u%ٲ????&??s????d?~Ai????Օ*%?j\'??=u????Kv??????*vGN_BH?z??h?e??p#ۣ?J?2?????(???2??%?'te=PJ%*?x?w??iOƠm??}??Y???[A?W\Z??rɮ/\\c??Z?Q??\\޻????dQ?+N5ꄨ?!??\rB??Ѳc?8~3?9?]?P???G^hg???_?I|?~TW??????4ȹI??W0?O?&A?\r??]?a#?;?\'?Y^????H?\"???"?9??E???????:?????yq;??W?q30?3Ĩ?#(?<??p?H???ool?lB1?iv?c|(??Q`???α7?ޖ\Zh???^?C??yc[?????˷M??o???j??G??_????K??6Ǘ?Hڱ9??????<#f??\E<I*WG8?	?fxN?d?剽?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:ec84f1b963607c398285168a2f0620b1','e?͒?0??????Iaߡ?wfG^???4??Ȓ?}?d?!l??gݰ????8???t_?2??n;Ҳ<???!?S	Y?????U????RX(d0\\ʶ?k?. ,?#??C??r)x{׳?X,?d?????ډ?J??????,?Oفl/@a????\n?o??*?wfH??i?U??͊z??\"?????\")?^?J???CA?KpFKr<??????[?":??C]I?죷??@?	*??\l?p?_P?op>ku?JI?ډx?x{O]?]??A(??ǒ]???*a??ݑӗү?zW\0%z????????`???(???2??%?'te=PJ%*?x?w??iOƠm??}??Y???[A?W\Z??rɮ/\\c??Z?Q??\\޻????dQ?+N5ꄨ?!??\rB??Ѳc?8~3?9?? ???&_O???>?*E????????????N_?oh?s?|W?`??L??{\Z????,w????i$Y???V?"銜V$[???Z??????????????v~?ۯ???`e??(>?|?8???H??LS???ƦN????Cq?	$Yr??$8\'Iu8#?????#???~??B?h??۲E?wJ??^?mٴx??Um?????ru?}]???9??WBҎ?&i?=??#?U\\??\Z????%?N3H?(M?\"?{yb??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:ecada9cca07d056a9f471e71a98a2588','e?Ks?0????p ??z?3?EZ@AH?$L??{W<?O??}iqEz?'??n?K?????ޡ??T?Ɇq>???#+??\nz?YUF?k?????v}]????????\0??????X?H?????????????/\n??R???PX??????????03?A??@Lc??ͯN֣`,?Y?`??I??????F\n?YD? ??[??Dj??R/?iq?????u%۰????&?D??b??C?}?6x??o?/T)%u;??Zo?uߕh!u=??5?8]I;UlFޜcH?z?	?h?a????|*?2??????(????T32s6t%?t?Z3PJ5?i??Ha? c?v??7|?T0ȭ?b????dߗ??T@?ƨ|C.???t?9T?\r?:!?Q?ap???'Zvl\n?p#a$??,Hh+??=/?w???*ٯ?$?0?+x?E???r\r???X	???)?O??Ǯ?p	+?????@???Ev+???E+r\\?ӊ??Z??N???u?-?___o?ۇEp?a?7K0Ϗy???e???U??\'??????:5????W???0K?4M?e?\"?d?[??O??x?!G4??l?????g[???UK?;??????.??o**?h?4??ޞ>\\?+????D??T?)R8!ˏ?o???','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:ee16705a15442a567a0c25bace548b75','e?͒?0??;>?\'?	!aߡ?;??\0/?m?v??rd??>K???L?cR?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????u%۱??Q?=?6?D?K?Í?f?}A??l?*???T+?=u=??AH?%?P??F???#o.1?_??J4????G%{IF9YY?x??s#e]Y3?jFf???D???\\kFJI??A@oC	)L?d\n??R??r_?????Tlv??????\nh??o??C?=9K???\??N?z`yb?"???;6????0?S?+?nz???+??}?J[?>?8??>NQ??u??F?4)t?\nVB??????a\\䩫?\?o|)+kPnE?\r??C?r9nH?!?\r9oH?l??v??;??.??????,n???Ê?>mv?\";&?8??O?P9?#??????6wj1I?Nȳ?8Ui?C??2??N3&??0????;???rD?,nl??9xz????o?i5Ҹ?=?c????K???ksz????[????????$?4?2ȏ$<?;a~8UE???{?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:ef618e9c67c39c81f68e2ccf94332ca3','e???0?y??N?p????cf2?????\\I????{W<ܤ?vW??@?\"?ۂu??>???F?g?????FcR9Vl7???8??GV0??3???V?\'??RE??u???Bzr?A4Z??+???Cd?\"??me???6^V??F??xAP ?]???՞?d????I秃?ۣ???\ZTH??Ƌ*??=n????]v?UMq??Y?[mMeh???E4?3xk?HM*(?ҚǺ?h??+??/?7????N41?\r??r??/T)%u;?`Zoo???B?,ٙj.q0??v??rys??~?Ի(??Y.??yX*?rړ??C?87P1?5???l??O?5f??j??w??@F?v?d߸7|?6*\n?VR?مƏzC{ߗ??T@?FU????.??t????\ZDsB??&?!~??hٱ	(?????k?-Hh+??=/?w???*ٯ?$?0?+x?E???\Z???X	???rS?랆qޏ]?ᶬ?O????$]?lEv+?_?Ê?r\\?ӊ$?Z?Nֲ???-<??????:??<????????ϲ}?\'B?????4??ӑow?????]???G<?*??x%`??"???#?p??hğ???]???P ?eqe?Px????|g[??dUK?;?C?t?????.??9?TR?[?????]??!????ďIu8b?u?Y?{???^?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:f2559802c82b3fd0d3b0c5d7f4ca6ae6','?Z?????u??j\Z????1?bkȲ?I??)ٖ??$?/sy?}????0/?G??mل?*???\\tttt?,?????\"??\"I<?\'a????dc?	74#??Q?????7C?x?p????2?l???6E\\??!i?)%??????`???z???\'??4N?jB\".ߥu???IH?I??кD?"???0r!1߸?u??8?ݽ???Ã??L???I??I?S?R8?K?\Z??????P???Iw?gY*???T?نK9??\\\r????	????{$?ΰ??Y??{ ?????? f0?IFY?`?f}b`?$?A}?J??V?o??WC$???HS??,?d甒T???)????r^?3֨???qɩM?Fb?r?:{??G?-??$?g?k?n4%8i??:?Q?`?in???????'A]c?84I???M?0EK??8?ËT??r???q??????,O??j?E???H??c! >?b?>TJ?????HW?=f_?{?Dɇީ??>?|?????Gǫ?g???{m?[???A ?(?\Zy?k?N+?w?v??R??`\\??O^c???׻?%??2^??.??%???\0~h??b????=R;?m?$GQ?????@[??p??/&h`B?x???\?aF?AB?ݟ\"	??!??&????????1?9??Wŭ?^&??!??????V??1!R??4A9:??[R??a[/}????i_gWA?e?|iǖ?4??a+_???????%s?\nx????sa=???0R{??0???B????YȺ3?1*S??T???,^?????8?5?\"?$G?????C\0??GbM˷?\"-6??e?T???q?ʘv?35斣?byU?B?+??s?):m?????t?Ҷ??_???YJ??+í????^Ь??ÇG1???n?t[H??o??\???!CK?<f?=?%Q?n?>#x>???>?H?T?	???$s$??=???V??"??O(?? I?0l??ڶM?Qe,[w?s?;8	??o=^??=??gDml??-q?l??,??O?A??cVan?? XLM?ک:d^?_?\??K?]??5????y?U???=\"?¼?\n%f?\'??u???/??E???x????Ӡ????"?j\r??????~?n?S@?±? ?????p?\'?{?5\"???9??mG????ӎqJGr??ނ??????ө????oJ}??򻆐K?DN??\0???z??????L?ܻ?m???Z?j??w???F\r?t?yՖ?&XV??3?3N?9?NUW??ڟ<W???YR?j??&?P?P?z??\\?B5C??~?*\'??u?QƢ9????8Q??;?s?M???8A?lḨ???C??\0?`>???Vw???,\\?,??U?f\n?ȷ?;?6????E??:F??Gw?\'?N?.W}9??~?6?_?eT??*?r??H\r7??????? y??(k?s?!??y???~??z??j>d	1?T???AN??????7?f?6+{??M%???????h`???m?Z?F????\"?????p??)\Z|3???A?&?m@rUI?n?׹??h]-}??:?G?zP)R9???\Z?D??\Z??c?U??&???5DE?d??jW?켹?{???Y>???s??$:????\Z??b~X????\\o??ώ?&t???j	?3??c?w?????Ec?Fv?1??Z????+????mrwkNU?\Z???;?Jjw??_[???}?M3?{?]\r?}p??A?܀????\Z?こ??uG;?f7?a?0???	?A??E?^?݄??$?O???Uyc\'T?Z??&?X???>V7?Ә?\ng??]u+?=?|EY??????Ê,mV??8#B????ʐSLScG?T???l?oY\0??\'^C,V?[?&@?rW?8MT?Z?P?=?????6?J+?CD?xo???C?L???t???b?O??n.???0TW\\?u???v?yP?!??????) (??s?\"?B??]??N?B?ʫ??n1?<?\*??.????i?R-m???R+Q??2??Ձ???d??t&??X???????s??RIn~?@?&dn:??!?@?H??T??	|??K2?]????n?,mln~,B??v?r??뛻;???*C?A?????(NOTz:??h??3??d????_ XB?ÿ?Rv??	.?f&???wF?ڹ????S?a?????čY\'\'kk???ȟ?G?t?????????KW?L.??????㣝?4?v?\'?v???????o?9\'?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:f298f73521ef811231e7054dacb22d13','e?ے? ??)R\\???98?{9US?2\"d???ݷA͘?>????+???v??3/?v;???FCǤr?H????8?0? *?OȪ2Zݢ????*:.???kp>\"ң??ѢT\\I?????o??u???YuR???bB?){??CYc?????Ap??????Y?H??Ƌ*???z??*뻎ٱV5?4&?n?4???b????0?jT???ִ0?vA???]I????A?Mbȹ?D?3\\ߠ\rg??ym?+??n\'LK?{?J?\r0!u=???0]I;U쎼?DI?z???K,솾ǰT??蔣??B?sn?b(k4M???+??טS?9?? ??????2?v??(?νድQQ`ط?M?8~????\Z5??r??w?????%?0??#?X7Q???'????????Iɱvق??2=?z???P%?5???Fu?(u?}C????zeV?????(???qޏ]??Rx?\'????r??H?\"???"?9??Eh?Fk?-??uӵp:+????u~?}x?;<1?Ǘ????3?IrNyr?=&i???3MO??72ujva??!?????eI^?? ??Bp??????^???` ?eq#[?Px?????3?n??ji????>_???????l?7?T??8???=?b_T?T??U\'Jӌ????M????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:f7544e4189a8ed6732e95ed80ea19623','e???0????N?q?6???cf2?????\\I????{W<ܴ?vW????\'?ޡ}6g/?v?????????r?H6??p8??GV0??3???Vר\'??REå??F?B!=?;\'\Z-Jŕ?M?a?\"?????n?BW/?Njc??Z? (?`Hكj?a????I秋`?????\ZTH??Ƈ*??=\n????]v?UM~??Y?[mMeh???ET??5?O??((?ҚǺ???PW?\r???>Ёo?Jt9;?b??????_?RJ?\"A??R?W?m??X?3?\?t%???C????D?f??+????ў?,v?????2???H5#3?`CW?~FW?1?$Ps?? ???;??2?W)???/??0??*6??QoH?}?K4j???օ>t???$?J^p?AT\'D=?<\n1n?'??????{?Iɱv?	m=?z???>P%?5???Fu?^u?}C????z+!~?t?a\nt?0??.a??=~??(? يlWd?\"???"?9?H????v??;]?Α????:/n???Ê?9n???4?<+?#첼?(NOQ??ol?lr(\'?	ݗ?M?2??i??6\'??dz[?v?~??B?h?ŕm?"?%/??l?<?V-?{?~ڧ???????RQIE;????????]Q?????(?6??AHOy?}???^?','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:f93add0ca5dbffb887b43ab05c5e0503','e?͒?0??;>?\'?	aߡ?;?F/?m?v??rd??>K???LOǤd??28?/???š??ޣ??T??Ɏq?j?JV??AyF@\na??E?Z:?T4\\?h\Zt>\"??\'??@??q%yw??X?Ld??lZ????mlT[A?WumW0??u??&????E0????;?\ZTH????h~s??c9???;ժ!?H?Н6??2??ƘET??5?Ϥ?((?ʚ?????PW?;?68?z????)v????/hÁ?????R???L?j??????B?"?7S?Ts???ڹbw?%????@??fy\r7?=????$???,??_???2???IuOf???D?=]?֌?R????\r?%?0u:?)h?Ja߹7|u6*?R?ٕƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap???w??N?B?N??$????WƻG?@???p?r|??x՛?\r?jiR???????)?@ø?W??????RV\nPnE??m?C?r9n?C?\r9oH?l??v??;??.??????,n???Ê?>mV?,N?r??<??K???:s̲?~??S?????fȓ???\'????h}?d~[?q?~??B?h??۱U?wJ???~z?{?[?LZ?4?O???\\?ϒ?.3??^*?T?cK?IZo_?\y(????p?J??(N??*??I?dϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:f952aa4fa3702922275fd0e5b810c97f','e???0?y??N?pS ??z?3?EZ@AH?$L?߽+n????~ \\???d??48?O???ɡ??qޣ??T??ɎqGZ	?J&??AyF@ֵ?\Z?P????i??PHO?.H?F?Jq%yw?sȃ,V?w{??lZ???˺??h??/\n??+R???3??)z?x??|~{?vpcV?\n?߁??Q\r?_?l???????N?j(.?1t?ͨ????awo???3iH?^Y?T???u%۱??Q?=?6?ĐK?É?f??A??m????L+?-u=??AH?%;S??F???!o?ү?zW%????????$???,??????2????#7?`CW?}FG?5#?$Ps?? ??????N2?v??$?ƽ᫵QQ`????4~????\Z5????ua??+?%/8???X7Q???@?@?=,$????	m=?????P%?-???Fu???C?Z??z+!~?t?c\nt3?.????\\?o?\0)+kPnE?\ryސ???rؐbC?rڐ4٢??+;?N??E???/??C?????9?l_G??\"??g?-?^???Ui}??????S?Kq?rL$?\n??~(ȋ?}???ne?F??????YW?c+?7J?y??c????\Zi?O?a쾝/??????N7??T??4??}{w徬Oy????S?eE^R_ӄ???????','2038-01-19 03:14:07'),('sergios_mwcloud-pvt_:resourceloader:filter:minify-js:4:fed1a05bba703193b94838f685a2e9b5','e?͒?8??]>?fz?	$??N{??)apc?????6?&??,?C?*=?Iņ?th???ݛC????F?0R9V%?8???#???F??F?{?????vcۢ???????\0?????琇?X?>?[?~???????Qm-?a70???W??f?????E0?????Y\r*??b\Z?\rh~w??c9??\0;ת%?H?Խ6??2tR`?"*?n?ZE???zmM?s]?b??PW????0??t?;??b????;\\?ߨRJ?!A??R?P????\\?+?\?t#???\ZC?{??@?f??;ٞ???QAVޯ?DDW?????C??+Q??+י?R?9,C?8\\C\ns???v????{?g?b?A?????7$?????\Z5G?r??:KO.?C%o????X????Dێ-@?=?$??\?|CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#??w?ؑrGN;rޑˎ???N?a?????\Z?????ۇE???b??7K.%4?,????iR?K8GqL??dK?V??,? ??Γ?rL??cS?9?????Ј?9O?zx?!G4??lგ????_??^??V+??5P?0?߮7????ˌ?6痪F*ڱ???o?:V\r???????/?~n?^??????','2038-01-19 03:14:07');
/*!40000 ALTER TABLE `pvt_objectcache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_langlinks`
--

DROP TABLE IF EXISTS `fzg_langlinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_langlinks` (
  `ll_from` int(10) unsigned NOT NULL default '0',
  `ll_lang` varbinary(20) NOT NULL default '',
  `ll_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `ll_from` (`ll_from`,`ll_lang`),
  KEY `ll_lang` (`ll_lang`,`ll_title`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_langlinks`
--

LOCK TABLES `fzg_langlinks` WRITE;
/*!40000 ALTER TABLE `fzg_langlinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_langlinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_querycache_info`
--

DROP TABLE IF EXISTS `fzg_querycache_info`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_querycache_info` (
  `qci_type` varbinary(32) NOT NULL default '',
  `qci_timestamp` binary(14) NOT NULL default '19700101000000',
  UNIQUE KEY `qci_type` (`qci_type`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_querycache_info`
--

LOCK TABLES `fzg_querycache_info` WRITE;
/*!40000 ALTER TABLE `fzg_querycache_info` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_querycache_info` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_filearchive`
--

DROP TABLE IF EXISTS `fzg_filearchive`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_filearchive` (
  `fa_id` int(11) NOT NULL auto_increment,
  `fa_name` varbinary(255) NOT NULL default '',
  `fa_archive_name` varbinary(255) default '',
  `fa_storage_group` varbinary(16) default NULL,
  `fa_storage_key` varbinary(64) default '',
  `fa_deleted_user` int(11) default NULL,
  `fa_deleted_timestamp` binary(14) default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `fa_deleted_reason` blob,
  `fa_size` int(10) unsigned default '0',
  `fa_width` int(11) default '0',
  `fa_height` int(11) default '0',
  `fa_metadata` mediumblob,
  `fa_bits` int(11) default '0',
  `fa_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `fa_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') default 'unknown',
  `fa_minor_mime` varbinary(100) default 'unknown',
  `fa_description` tinyblob,
  `fa_user` int(10) unsigned default '0',
  `fa_user_text` varbinary(255) default NULL,
  `fa_timestamp` binary(14) default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `fa_deleted` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`fa_id`),
  KEY `fa_name` (`fa_name`,`fa_timestamp`),
  KEY `fa_storage_group` (`fa_storage_group`,`fa_storage_key`),
  KEY `fa_deleted_timestamp` (`fa_deleted_timestamp`),
  KEY `fa_user_timestamp` (`fa_user_text`,`fa_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_filearchive`
--

LOCK TABLES `fzg_filearchive` WRITE;
/*!40000 ALTER TABLE `fzg_filearchive` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_filearchive` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_externallinks`
--

DROP TABLE IF EXISTS `fzg_externallinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_externallinks` (
  `el_from` int(10) unsigned NOT NULL default '0',
  `el_to` blob NOT NULL,
  `el_index` blob NOT NULL,
  KEY `el_from` (`el_from`,`el_to`(40)),
  KEY `el_to` (`el_to`(60),`el_from`),
  KEY `el_index` (`el_index`(60))
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_externallinks`
--

LOCK TABLES `fzg_externallinks` WRITE;
/*!40000 ALTER TABLE `fzg_externallinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_externallinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_valid_tag`
--

DROP TABLE IF EXISTS `peg_valid_tag`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_valid_tag` (
  `vt_tag` varbinary(255) NOT NULL,
  PRIMARY KEY  (`vt_tag`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_valid_tag`
--

LOCK TABLES `peg_valid_tag` WRITE;
/*!40000 ALTER TABLE `peg_valid_tag` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_valid_tag` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_imagelinks`
--

DROP TABLE IF EXISTS `fzg_imagelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_imagelinks` (
  `il_from` int(10) unsigned NOT NULL default '0',
  `il_to` varbinary(255) NOT NULL default '',
  UNIQUE KEY `il_from` (`il_from`,`il_to`),
  UNIQUE KEY `il_to` (`il_to`,`il_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_imagelinks`
--

LOCK TABLES `fzg_imagelinks` WRITE;
/*!40000 ALTER TABLE `fzg_imagelinks` DISABLE KEYS */;
INSERT INTO `fzg_imagelinks` VALUES (1,'FZG.DOCS.Pantalla.Presupuesto.jpg'),(1,'FZG.DOCS.Procesos.Ayuda.jpg'),(1,'FZG.DOCS.Procesos.Composicion.jpg'),(1,'FZG.DOCS.Procesos.Precios.jpg'),(1,'FZG.DOCS.Procesos.Presupuesto.jpg'),(1,'FZG.DOCS.Procesos.Productos.jpg');
/*!40000 ALTER TABLE `fzg_imagelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_user`
--

DROP TABLE IF EXISTS `pvt_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_user` (
  `user_id` int(10) unsigned NOT NULL auto_increment,
  `user_name` varbinary(255) NOT NULL default '',
  `user_real_name` varbinary(255) NOT NULL default '',
  `user_password` tinyblob NOT NULL,
  `user_newpassword` tinyblob NOT NULL,
  `user_newpass_time` binary(14) default NULL,
  `user_email` tinyblob NOT NULL,
  `user_options` blob NOT NULL,
  `user_touched` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `user_token` binary(32) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `user_email_authenticated` binary(14) default NULL,
  `user_email_token` binary(32) default NULL,
  `user_email_token_expires` binary(14) default NULL,
  `user_registration` binary(14) default NULL,
  `user_editcount` int(11) default NULL,
  PRIMARY KEY  (`user_id`),
  UNIQUE KEY `user_name` (`user_name`),
  KEY `user_email_token` (`user_email_token`),
  KEY `user_email` (`user_email`(50))
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_user`
--

LOCK TABLES `pvt_user` WRITE;
/*!40000 ALTER TABLE `pvt_user` DISABLE KEYS */;
INSERT INTO `pvt_user` VALUES (1,'Administrador','',':B:29efb671:5822599a62c2ea13df1f9b4ca5920861','',NULL,'sergio_sosa@hotmail.com','','20140303160817','9c810864ec74e1f7571681fa7dc25801',NULL,'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',NULL,'20120112132733',262),(2,'Fzgusr','Usuario FazzGlass',':B:e04d2a61:4874697a80fa4a54fae0d4a0de6c3f9e','',NULL,'fazzglass@hotmail.com','','20120330175502','9a9096781034341cc429e0a4d8866615',NULL,'485b261316972d5d8c54da99a2f80575','20120220220751','20120213220751',0);
/*!40000 ALTER TABLE `pvt_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_ipblocks`
--

DROP TABLE IF EXISTS `fzg_ipblocks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_ipblocks` (
  `ipb_id` int(11) NOT NULL auto_increment,
  `ipb_address` tinyblob NOT NULL,
  `ipb_user` int(10) unsigned NOT NULL default '0',
  `ipb_by` int(10) unsigned NOT NULL default '0',
  `ipb_by_text` varbinary(255) NOT NULL default '',
  `ipb_reason` tinyblob NOT NULL,
  `ipb_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `ipb_auto` tinyint(1) NOT NULL default '0',
  `ipb_anon_only` tinyint(1) NOT NULL default '0',
  `ipb_create_account` tinyint(1) NOT NULL default '1',
  `ipb_enable_autoblock` tinyint(1) NOT NULL default '1',
  `ipb_expiry` varbinary(14) NOT NULL default '',
  `ipb_range_start` tinyblob NOT NULL,
  `ipb_range_end` tinyblob NOT NULL,
  `ipb_deleted` tinyint(1) NOT NULL default '0',
  `ipb_block_email` tinyint(1) NOT NULL default '0',
  `ipb_allow_usertalk` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`ipb_id`),
  UNIQUE KEY `ipb_address` (`ipb_address`(255),`ipb_user`,`ipb_auto`,`ipb_anon_only`),
  KEY `ipb_user` (`ipb_user`),
  KEY `ipb_range` (`ipb_range_start`(8),`ipb_range_end`(8)),
  KEY `ipb_timestamp` (`ipb_timestamp`),
  KEY `ipb_expiry` (`ipb_expiry`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_ipblocks`
--

LOCK TABLES `fzg_ipblocks` WRITE;
/*!40000 ALTER TABLE `fzg_ipblocks` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_ipblocks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_tag_summary`
--

DROP TABLE IF EXISTS `fzg_tag_summary`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_tag_summary` (
  `ts_rc_id` int(11) default NULL,
  `ts_log_id` int(11) default NULL,
  `ts_rev_id` int(11) default NULL,
  `ts_tags` blob NOT NULL,
  UNIQUE KEY `tag_summary_rc_id` (`ts_rc_id`),
  UNIQUE KEY `tag_summary_log_id` (`ts_log_id`),
  UNIQUE KEY `tag_summary_rev_id` (`ts_rev_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_tag_summary`
--

LOCK TABLES `fzg_tag_summary` WRITE;
/*!40000 ALTER TABLE `fzg_tag_summary` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_tag_summary` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_user_groups`
--

DROP TABLE IF EXISTS `pvt_user_groups`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_user_groups` (
  `ug_user` int(10) unsigned NOT NULL default '0',
  `ug_group` varbinary(16) NOT NULL default '',
  PRIMARY KEY  (`ug_user`,`ug_group`),
  UNIQUE KEY `ug_user_group` (`ug_user`,`ug_group`),
  KEY `ug_group` (`ug_group`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_user_groups`
--

LOCK TABLES `pvt_user_groups` WRITE;
/*!40000 ALTER TABLE `pvt_user_groups` DISABLE KEYS */;
INSERT INTO `pvt_user_groups` VALUES (1,'bureaucrat'),(2,'fzgusr'),(1,'sysop');
/*!40000 ALTER TABLE `pvt_user_groups` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_iwlinks`
--

DROP TABLE IF EXISTS `fzg_iwlinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_iwlinks` (
  `iwl_from` int(10) unsigned NOT NULL default '0',
  `iwl_prefix` varbinary(20) NOT NULL default '',
  `iwl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `iwl_from` (`iwl_from`,`iwl_prefix`,`iwl_title`),
  UNIQUE KEY `iwl_prefix_title_from` (`iwl_prefix`,`iwl_title`,`iwl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_iwlinks`
--

LOCK TABLES `fzg_iwlinks` WRITE;
/*!40000 ALTER TABLE `fzg_iwlinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_iwlinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_pagelinks`
--

DROP TABLE IF EXISTS `pvt_pagelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_pagelinks` (
  `pl_from` int(10) unsigned NOT NULL default '0',
  `pl_namespace` int(11) NOT NULL default '0',
  `pl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `pl_from` (`pl_from`,`pl_namespace`,`pl_title`),
  UNIQUE KEY `pl_namespace` (`pl_namespace`,`pl_title`,`pl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_pagelinks`
--

LOCK TABLES `pvt_pagelinks` WRITE;
/*!40000 ALTER TABLE `pvt_pagelinks` DISABLE KEYS */;
INSERT INTO `pvt_pagelinks` VALUES (1,0,'911Project_Lista_Compras'),(1,0,'Curso_Mecánica_-_1º'),(1,0,'Curso_Mecánica_-_2º'),(1,0,'Diagrama_(EN)'),(1,0,'Diagrama_(ES)'),(1,0,'Glosario_ES-EN-FR'),(1,0,'Mercado'),(1,0,'Notas_SCL_Bicicletas'),(1,0,'SAS_AA_Data'),(1,0,'SAS_MD_Data'),(1,0,'SAS_Pendientes'),(1,0,'SAS_ZZ_Data'),(1,0,'Spanex_Competencia'),(1,0,'Spanex_Ideas'),(1,0,'Spanex_Mercado'),(1,0,'Sugerencias_Mantenimiento'),(1,0,'TourConsultants_Francia'),(1,0,'TourConsultants_República_Checa'),(11,0,'Diagrama_(EN)'),(32,0,'Mercado'),(37,0,'Curso_Mecánica_-_1º');
/*!40000 ALTER TABLE `pvt_pagelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_job`
--

DROP TABLE IF EXISTS `peg_job`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_job` (
  `job_id` int(10) unsigned NOT NULL auto_increment,
  `job_cmd` varbinary(60) NOT NULL default '',
  `job_namespace` int(11) NOT NULL,
  `job_title` varbinary(255) NOT NULL,
  `job_params` blob NOT NULL,
  PRIMARY KEY  (`job_id`),
  KEY `job_cmd` (`job_cmd`,`job_namespace`,`job_title`,`job_params`(128))
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_job`
--

LOCK TABLES `peg_job` WRITE;
/*!40000 ALTER TABLE `peg_job` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_job` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_msg_resource`
--

DROP TABLE IF EXISTS `fzg_msg_resource`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_msg_resource` (
  `mr_resource` varbinary(255) NOT NULL,
  `mr_lang` varbinary(32) NOT NULL,
  `mr_blob` mediumblob NOT NULL,
  `mr_timestamp` binary(14) NOT NULL,
  UNIQUE KEY `mr_resource_lang` (`mr_resource`,`mr_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_msg_resource`
--

LOCK TABLES `fzg_msg_resource` WRITE;
/*!40000 ALTER TABLE `fzg_msg_resource` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_msg_resource` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_user`
--

DROP TABLE IF EXISTS `peg_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_user` (
  `user_id` int(10) unsigned NOT NULL auto_increment,
  `user_name` varbinary(255) NOT NULL default '',
  `user_real_name` varbinary(255) NOT NULL default '',
  `user_password` tinyblob NOT NULL,
  `user_newpassword` tinyblob NOT NULL,
  `user_newpass_time` binary(14) default NULL,
  `user_email` tinyblob NOT NULL,
  `user_options` blob NOT NULL,
  `user_touched` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `user_token` binary(32) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `user_email_authenticated` binary(14) default NULL,
  `user_email_token` binary(32) default NULL,
  `user_email_token_expires` binary(14) default NULL,
  `user_registration` binary(14) default NULL,
  `user_editcount` int(11) default NULL,
  PRIMARY KEY  (`user_id`),
  UNIQUE KEY `user_name` (`user_name`),
  KEY `user_email_token` (`user_email_token`),
  KEY `user_email` (`user_email`(50))
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_user`
--

LOCK TABLES `peg_user` WRITE;
/*!40000 ALTER TABLE `peg_user` DISABLE KEYS */;
INSERT INTO `peg_user` VALUES (1,'Administrador','',':B:acb394e7:21fe3c1e080fcaf7d8ddadce8fbaf357','',NULL,'sergio_sosa@hotmail.com','','20140221181922','402cb8048e1f1e3da18312d47d9be6bd',NULL,'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',NULL,'20120111184056',1367);
/*!40000 ALTER TABLE `peg_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_l10n_cache`
--

DROP TABLE IF EXISTS `fzg_l10n_cache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_l10n_cache` (
  `lc_lang` varbinary(32) NOT NULL,
  `lc_key` varbinary(255) NOT NULL,
  `lc_value` mediumblob NOT NULL,
  KEY `lc_lang_key` (`lc_lang`,`lc_key`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_l10n_cache`
--

LOCK TABLES `fzg_l10n_cache` WRITE;
/*!40000 ALTER TABLE `fzg_l10n_cache` DISABLE KEYS */;
INSERT INTO `fzg_l10n_cache` VALUES ('en','fallback','b:0;'),('en','namespaceNames','a:17:{i:-2;s:5:\"Media\";i:-1;s:7:\"Special\";i:0;s:0:\"\";i:1;s:4:\"Talk\";i:2;s:4:\"User\";i:3;s:9:\"User_talk\";i:5;s:7:\"$1_talk\";i:6;s:4:\"File\";i:7;s:9:\"File_talk\";i:8;s:9:\"MediaWiki\";i:9;s:14:\"MediaWiki_talk\";i:10;s:8:\"Template\";i:11;s:13:\"Template_talk\";i:12;s:4:\"Help\";i:13;s:9:\"Help_talk\";i:14;s:8:\"Category\";i:15;s:13:\"Category_talk\";}'),('en','bookstoreList','a:4:{s:6:\"AddALL\";s:56:\"http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN\";s:9:\"PriceSCAN\";s:53:\"http://www.pricescan.com/books/bookDetail.asp?isbn=$1\";s:14:\"Barnes & Noble\";s:67:\"http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1\";s:10:\"Amazon.com\";s:41:\"http://www.amazon.com/exec/obidos/ISBN=$1\";}'),('en','magicWords','a:150:{s:8:\"redirect\";a:2:{i:0;i:0;i:1;s:9:\"#REDIRECT\";}s:5:\"notoc\";a:2:{i:0;i:0;i:1;s:9:\"__NOTOC__\";}s:9:\"nogallery\";a:2:{i:0;i:0;i:1;s:13:\"__NOGALLERY__\";}s:8:\"forcetoc\";a:2:{i:0;i:0;i:1;s:12:\"__FORCETOC__\";}s:3:\"toc\";a:2:{i:0;i:0;i:1;s:7:\"__TOC__\";}s:13:\"noeditsection\";a:2:{i:0;i:0;i:1;s:17:\"__NOEDITSECTION__\";}s:8:\"noheader\";a:2:{i:0;i:0;i:1;s:12:\"__NOHEADER__\";}s:12:\"currentmonth\";a:3:{i:0;i:1;i:1;s:12:\"CURRENTMONTH\";i:2;s:13:\"CURRENTMONTH2\";}s:13:\"currentmonth1\";a:2:{i:0;i:1;i:1;s:13:\"CURRENTMONTH1\";}s:16:\"currentmonthname\";a:2:{i:0;i:1;i:1;s:16:\"CURRENTMONTHNAME\";}s:19:\"currentmonthnamegen\";a:2:{i:0;i:1;i:1;s:19:\"CURRENTMONTHNAMEGEN\";}s:18:\"currentmonthabbrev\";a:2:{i:0;i:1;i:1;s:18:\"CURRENTMONTHABBREV\";}s:10:\"currentday\";a:2:{i:0;i:1;i:1;s:10:\"CURRENTDAY\";}s:11:\"currentday2\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTDAY2\";}s:14:\"currentdayname\";a:2:{i:0;i:1;i:1;s:14:\"CURRENTDAYNAME\";}s:11:\"currentyear\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTYEAR\";}s:11:\"currenttime\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTTIME\";}s:11:\"currenthour\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTHOUR\";}s:10:\"localmonth\";a:3:{i:0;i:1;i:1;s:10:\"LOCALMONTH\";i:2;s:11:\"LOCALMONTH2\";}s:11:\"localmonth1\";a:2:{i:0;i:1;i:1;s:11:\"LOCALMONTH1\";}s:14:\"localmonthname\";a:2:{i:0;i:1;i:1;s:14:\"LOCALMONTHNAME\";}s:17:\"localmonthnamegen\";a:2:{i:0;i:1;i:1;s:17:\"LOCALMONTHNAMEGEN\";}s:16:\"localmonthabbrev\";a:2:{i:0;i:1;i:1;s:16:\"LOCALMONTHABBREV\";}s:8:\"localday\";a:2:{i:0;i:1;i:1;s:8:\"LOCALDAY\";}s:9:\"localday2\";a:2:{i:0;i:1;i:1;s:9:\"LOCALDAY2\";}s:12:\"localdayname\";a:2:{i:0;i:1;i:1;s:12:\"LOCALDAYNAME\";}s:9:\"localyear\";a:2:{i:0;i:1;i:1;s:9:\"LOCALYEAR\";}s:9:\"localtime\";a:2:{i:0;i:1;i:1;s:9:\"LOCALTIME\";}s:9:\"localhour\";a:2:{i:0;i:1;i:1;s:9:\"LOCALHOUR\";}s:13:\"numberofpages\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFPAGES\";}s:16:\"numberofarticles\";a:2:{i:0;i:1;i:1;s:16:\"NUMBEROFARTICLES\";}s:13:\"numberoffiles\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFFILES\";}s:13:\"numberofusers\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFUSERS\";}s:19:\"numberofactiveusers\";a:2:{i:0;i:1;i:1;s:19:\"NUMBEROFACTIVEUSERS\";}s:13:\"numberofedits\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFEDITS\";}s:13:\"numberofviews\";a:2:{i:0;i:1;i:1;s:13:\"NUMBEROFVIEWS\";}s:8:\"pagename\";a:2:{i:0;i:1;i:1;s:8:\"PAGENAME\";}s:9:\"pagenamee\";a:2:{i:0;i:1;i:1;s:9:\"PAGENAMEE\";}s:9:\"namespace\";a:2:{i:0;i:1;i:1;s:9:\"NAMESPACE\";}s:10:\"namespacee\";a:2:{i:0;i:1;i:1;s:10:\"NAMESPACEE\";}s:9:\"talkspace\";a:2:{i:0;i:1;i:1;s:9:\"TALKSPACE\";}s:10:\"talkspacee\";a:2:{i:0;i:1;i:1;s:10:\"TALKSPACEE\";}s:12:\"subjectspace\";a:3:{i:0;i:1;i:1;s:12:\"SUBJECTSPACE\";i:2;s:12:\"ARTICLESPACE\";}s:13:\"subjectspacee\";a:3:{i:0;i:1;i:1;s:13:\"SUBJECTSPACEE\";i:2;s:13:\"ARTICLESPACEE\";}s:12:\"fullpagename\";a:2:{i:0;i:1;i:1;s:12:\"FULLPAGENAME\";}s:13:\"fullpagenamee\";a:2:{i:0;i:1;i:1;s:13:\"FULLPAGENAMEE\";}s:11:\"subpagename\";a:2:{i:0;i:1;i:1;s:11:\"SUBPAGENAME\";}s:12:\"subpagenamee\";a:2:{i:0;i:1;i:1;s:12:\"SUBPAGENAMEE\";}s:12:\"basepagename\";a:2:{i:0;i:1;i:1;s:12:\"BASEPAGENAME\";}s:13:\"basepagenamee\";a:2:{i:0;i:1;i:1;s:13:\"BASEPAGENAMEE\";}s:12:\"talkpagename\";a:2:{i:0;i:1;i:1;s:12:\"TALKPAGENAME\";}s:13:\"talkpagenamee\";a:2:{i:0;i:1;i:1;s:13:\"TALKPAGENAMEE\";}s:15:\"subjectpagename\";a:3:{i:0;i:1;i:1;s:15:\"SUBJECTPAGENAME\";i:2;s:15:\"ARTICLEPAGENAME\";}s:16:\"subjectpagenamee\";a:3:{i:0;i:1;i:1;s:16:\"SUBJECTPAGENAMEE\";i:2;s:16:\"ARTICLEPAGENAMEE\";}s:3:\"msg\";a:2:{i:0;i:0;i:1;s:4:\"MSG:\";}s:5:\"subst\";a:2:{i:0;i:0;i:1;s:6:\"SUBST:\";}s:9:\"safesubst\";a:2:{i:0;i:0;i:1;s:10:\"SAFESUBST:\";}s:5:\"msgnw\";a:2:{i:0;i:0;i:1;s:6:\"MSGNW:\";}s:13:\"img_thumbnail\";a:3:{i:0;i:1;i:1;s:9:\"thumbnail\";i:2;s:5:\"thumb\";}s:15:\"img_manualthumb\";a:3:{i:0;i:1;i:1;s:12:\"thumbnail=$1\";i:2;s:8:\"thumb=$1\";}s:9:\"img_right\";a:2:{i:0;i:1;i:1;s:5:\"right\";}s:8:\"img_left\";a:2:{i:0;i:1;i:1;s:4:\"left\";}s:8:\"img_none\";a:2:{i:0;i:1;i:1;s:4:\"none\";}s:9:\"img_width\";a:2:{i:0;i:1;i:1;s:4:\"$1px\";}s:10:\"img_center\";a:3:{i:0;i:1;i:1;s:6:\"center\";i:2;s:6:\"centre\";}s:10:\"img_framed\";a:4:{i:0;i:1;i:1;s:6:\"framed\";i:2;s:8:\"enframed\";i:3;s:5:\"frame\";}s:13:\"img_frameless\";a:2:{i:0;i:1;i:1;s:9:\"frameless\";}s:8:\"img_page\";a:3:{i:0;i:1;i:1;s:7:\"page=$1\";i:2;s:7:\"page $1\";}s:11:\"img_upright\";a:4:{i:0;i:1;i:1;s:7:\"upright\";i:2;s:10:\"upright=$1\";i:3;s:10:\"upright $1\";}s:10:\"img_border\";a:2:{i:0;i:1;i:1;s:6:\"border\";}s:12:\"img_baseline\";a:2:{i:0;i:1;i:1;s:8:\"baseline\";}s:7:\"img_sub\";a:2:{i:0;i:1;i:1;s:3:\"sub\";}s:9:\"img_super\";a:3:{i:0;i:1;i:1;s:5:\"super\";i:2;s:3:\"sup\";}s:7:\"img_top\";a:2:{i:0;i:1;i:1;s:3:\"top\";}s:12:\"img_text_top\";a:2:{i:0;i:1;i:1;s:8:\"text-top\";}s:10:\"img_middle\";a:2:{i:0;i:1;i:1;s:6:\"middle\";}s:10:\"img_bottom\";a:2:{i:0;i:1;i:1;s:6:\"bottom\";}s:15:\"img_text_bottom\";a:2:{i:0;i:1;i:1;s:11:\"text-bottom\";}s:8:\"img_link\";a:2:{i:0;i:1;i:1;s:7:\"link=$1\";}s:7:\"img_alt\";a:2:{i:0;i:1;i:1;s:6:\"alt=$1\";}s:3:\"int\";a:2:{i:0;i:0;i:1;s:4:\"INT:\";}s:8:\"sitename\";a:2:{i:0;i:1;i:1;s:8:\"SITENAME\";}s:2:\"ns\";a:2:{i:0;i:0;i:1;s:3:\"NS:\";}s:3:\"nse\";a:2:{i:0;i:0;i:1;s:4:\"NSE:\";}s:8:\"localurl\";a:2:{i:0;i:0;i:1;s:9:\"LOCALURL:\";}s:9:\"localurle\";a:2:{i:0;i:0;i:1;s:10:\"LOCALURLE:\";}s:11:\"articlepath\";a:2:{i:0;i:0;i:1;s:11:\"ARTICLEPATH\";}s:6:\"server\";a:2:{i:0;i:0;i:1;s:6:\"SERVER\";}s:10:\"servername\";a:2:{i:0;i:0;i:1;s:10:\"SERVERNAME\";}s:10:\"scriptpath\";a:2:{i:0;i:0;i:1;s:10:\"SCRIPTPATH\";}s:9:\"stylepath\";a:2:{i:0;i:0;i:1;s:9:\"STYLEPATH\";}s:7:\"grammar\";a:2:{i:0;i:0;i:1;s:8:\"GRAMMAR:\";}s:6:\"gender\";a:2:{i:0;i:0;i:1;s:7:\"GENDER:\";}s:14:\"notitleconvert\";a:3:{i:0;i:0;i:1;s:18:\"__NOTITLECONVERT__\";i:2;s:8:\"__NOTC__\";}s:16:\"nocontentconvert\";a:3:{i:0;i:0;i:1;s:20:\"__NOCONTENTCONVERT__\";i:2;s:8:\"__NOCC__\";}s:11:\"currentweek\";a:2:{i:0;i:1;i:1;s:11:\"CURRENTWEEK\";}s:10:\"currentdow\";a:2:{i:0;i:1;i:1;s:10:\"CURRENTDOW\";}s:9:\"localweek\";a:2:{i:0;i:1;i:1;s:9:\"LOCALWEEK\";}s:8:\"localdow\";a:2:{i:0;i:1;i:1;s:8:\"LOCALDOW\";}s:10:\"revisionid\";a:2:{i:0;i:1;i:1;s:10:\"REVISIONID\";}s:11:\"revisionday\";a:2:{i:0;i:1;i:1;s:11:\"REVISIONDAY\";}s:12:\"revisionday2\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONDAY2\";}s:13:\"revisionmonth\";a:2:{i:0;i:1;i:1;s:13:\"REVISIONMONTH\";}s:14:\"revisionmonth1\";a:2:{i:0;i:1;i:1;s:14:\"REVISIONMONTH1\";}s:12:\"revisionyear\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONYEAR\";}s:17:\"revisiontimestamp\";a:2:{i:0;i:1;i:1;s:17:\"REVISIONTIMESTAMP\";}s:12:\"revisionuser\";a:2:{i:0;i:1;i:1;s:12:\"REVISIONUSER\";}s:6:\"plural\";a:2:{i:0;i:0;i:1;s:7:\"PLURAL:\";}s:7:\"fullurl\";a:2:{i:0;i:0;i:1;s:8:\"FULLURL:\";}s:8:\"fullurle\";a:2:{i:0;i:0;i:1;s:9:\"FULLURLE:\";}s:12:\"canonicalurl\";a:2:{i:0;i:0;i:1;s:13:\"CANONICALURL:\";}s:13:\"canonicalurle\";a:2:{i:0;i:0;i:1;s:14:\"CANONICALURLE:\";}s:7:\"lcfirst\";a:2:{i:0;i:0;i:1;s:8:\"LCFIRST:\";}s:7:\"ucfirst\";a:2:{i:0;i:0;i:1;s:8:\"UCFIRST:\";}s:2:\"lc\";a:2:{i:0;i:0;i:1;s:3:\"LC:\";}s:2:\"uc\";a:2:{i:0;i:0;i:1;s:3:\"UC:\";}s:3:\"raw\";a:2:{i:0;i:0;i:1;s:4:\"RAW:\";}s:12:\"displaytitle\";a:2:{i:0;i:1;i:1;s:12:\"DISPLAYTITLE\";}s:9:\"rawsuffix\";a:2:{i:0;i:1;i:1;s:1:\"R\";}s:14:\"newsectionlink\";a:2:{i:0;i:1;i:1;s:18:\"__NEWSECTIONLINK__\";}s:16:\"nonewsectionlink\";a:2:{i:0;i:1;i:1;s:20:\"__NONEWSECTIONLINK__\";}s:14:\"currentversion\";a:2:{i:0;i:1;i:1;s:14:\"CURRENTVERSION\";}s:9:\"urlencode\";a:2:{i:0;i:0;i:1;s:10:\"URLENCODE:\";}s:12:\"anchorencode\";a:2:{i:0;i:0;i:1;s:12:\"ANCHORENCODE\";}s:16:\"currenttimestamp\";a:2:{i:0;i:1;i:1;s:16:\"CURRENTTIMESTAMP\";}s:14:\"localtimestamp\";a:2:{i:0;i:1;i:1;s:14:\"LOCALTIMESTAMP\";}s:13:\"directionmark\";a:3:{i:0;i:1;i:1;s:13:\"DIRECTIONMARK\";i:2;s:7:\"DIRMARK\";}s:8:\"language\";a:2:{i:0;i:0;i:1;s:10:\"#LANGUAGE:\";}s:15:\"contentlanguage\";a:3:{i:0;i:1;i:1;s:15:\"CONTENTLANGUAGE\";i:2;s:11:\"CONTENTLANG\";}s:16:\"pagesinnamespace\";a:3:{i:0;i:1;i:1;s:17:\"PAGESINNAMESPACE:\";i:2;s:10:\"PAGESINNS:\";}s:14:\"numberofadmins\";a:2:{i:0;i:1;i:1;s:14:\"NUMBEROFADMINS\";}s:9:\"formatnum\";a:2:{i:0;i:0;i:1;s:9:\"FORMATNUM\";}s:7:\"padleft\";a:2:{i:0;i:0;i:1;s:7:\"PADLEFT\";}s:8:\"padright\";a:2:{i:0;i:0;i:1;s:8:\"PADRIGHT\";}s:7:\"special\";a:2:{i:0;i:0;i:1;s:7:\"special\";}s:11:\"defaultsort\";a:4:{i:0;i:1;i:1;s:12:\"DEFAULTSORT:\";i:2;s:15:\"DEFAULTSORTKEY:\";i:3;s:20:\"DEFAULTCATEGORYSORT:\";}s:8:\"filepath\";a:2:{i:0;i:0;i:1;s:9:\"FILEPATH:\";}s:3:\"tag\";a:2:{i:0;i:0;i:1;s:3:\"tag\";}s:9:\"hiddencat\";a:2:{i:0;i:1;i:1;s:13:\"__HIDDENCAT__\";}s:15:\"pagesincategory\";a:3:{i:0;i:1;i:1;s:15:\"PAGESINCATEGORY\";i:2;s:10:\"PAGESINCAT\";}s:8:\"pagesize\";a:2:{i:0;i:1;i:1;s:8:\"PAGESIZE\";}s:5:\"index\";a:2:{i:0;i:1;i:1;s:9:\"__INDEX__\";}s:7:\"noindex\";a:2:{i:0;i:1;i:1;s:11:\"__NOINDEX__\";}s:13:\"numberingroup\";a:3:{i:0;i:1;i:1;s:13:\"NUMBERINGROUP\";i:2;s:10:\"NUMINGROUP\";}s:14:\"staticredirect\";a:2:{i:0;i:1;i:1;s:18:\"__STATICREDIRECT__\";}s:15:\"protectionlevel\";a:2:{i:0;i:1;i:1;s:15:\"PROTECTIONLEVEL\";}s:10:\"formatdate\";a:3:{i:0;i:0;i:1;s:10:\"formatdate\";i:2;s:10:\"dateformat\";}s:8:\"url_path\";a:2:{i:0;i:0;i:1;s:4:\"PATH\";}s:8:\"url_wiki\";a:2:{i:0;i:0;i:1;s:4:\"WIKI\";}s:9:\"url_query\";a:2:{i:0;i:0;i:1;s:5:\"QUERY\";}}'),('en','messages:svgedit-editbutton-edit','s:12:\"Edit drawing\";'),('en','messages:svgedit-summary-label','s:12:\"Edit summary\";'),('en','messages:svgedit-summary-default','s:26:\"/* Modified in svg-edit */\";'),('en','messages:svgedit-editor-save-close','s:14:\"Save and close\";'),('en','messages:svgedit-editor-close','s:6:\"Cancel\";'),('en','messages:svgedit-desc','s:85:\"In-browser editing of SVG drawings with [http://code.google.com/p/svg-edit/ SVG-Edit]\";'),('en','messages:svgedit-edit-tab','s:12:\"Edit drawing\";'),('en','messages:svgedit-edit-tab-tooltip','s:45:\"You can edit this SVG drawing in your browser\";'),('en','messages:svgedit-toolbar-insert','s:11:\"SVG drawing\";'),('en','messages:sidebar','s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";'),('en','messages:tog-underline','s:17:\"Link underlining:\";'),('en','messages:tog-highlightbroken','s:114:\"Format broken links <a href=\"\" class=\"new\">like this</a> (alternative: Like this<a href=\"\" class=\"internal\">?</a>)\";'),('en','messages:tog-justify','s:18:\"Justify paragraphs\";'),('en','messages:tog-hideminor','s:34:\"Hide minor edits in recent changes\";'),('en','messages:tog-hidepatrolled','s:38:\"Hide patrolled edits in recent changes\";'),('en','messages:tog-newpageshidepatrolled','s:39:\"Hide patrolled pages from new page list\";'),('en','messages:tog-extendwatchlist','s:62:\"Expand watchlist to show all changes, not just the most recent\";'),('en','messages:tog-usenewrc','s:49:\"Use enhanced recent changes (requires JavaScript)\";'),('en','messages:tog-numberheadings','s:20:\"Auto-number headings\";'),('en','messages:tog-showtoolbar','s:39:\"Show edit toolbar (requires JavaScript)\";'),('en','messages:tog-editondblclick','s:48:\"Edit pages on double click (requires JavaScript)\";'),('en','messages:tog-editsection','s:39:\"Enable section editing via [edit] links\";'),('en','messages:tog-editsectiononrightclick','s:80:\"Enable section editing by right clicking on section titles (requires JavaScript)\";'),('en','messages:tog-showtoc','s:60:\"Show table of contents (for pages with more than 3 headings)\";'),('en','messages:tog-rememberpassword','s:78:\"Remember my login on this browser (for a maximum of $1 {{PLURAL:$1|day|days}})\";'),('en','messages:tog-watchcreations','s:34:\"Add pages I create to my watchlist\";'),('en','messages:tog-watchdefault','s:32:\"Add pages I edit to my watchlist\";'),('en','messages:tog-watchmoves','s:32:\"Add pages I move to my watchlist\";'),('en','messages:tog-watchdeletion','s:34:\"Add pages I delete to my watchlist\";'),('en','messages:tog-minordefault','s:31:\"Mark all edits minor by default\";'),('en','messages:tog-previewontop','s:28:\"Show preview before edit box\";'),('en','messages:tog-previewonfirst','s:26:\"Show preview on first edit\";'),('en','messages:tog-nocache','s:28:\"Disable browser page caching\";'),('en','messages:tog-enotifwatchlistpages','s:48:\"E-mail me when a page on my watchlist is changed\";'),('en','messages:tog-enotifusertalkpages','s:43:\"E-mail me when my user talk page is changed\";'),('en','messages:tog-enotifminoredits','s:39:\"E-mail me also for minor edits of pages\";'),('en','messages:tog-enotifrevealaddr','s:48:\"Reveal my e-mail address in notification e-mails\";'),('en','messages:tog-shownumberswatching','s:33:\"Show the number of watching users\";'),('en','messages:tog-oldsig','s:19:\"Existing signature:\";'),('en','messages:tog-fancysig','s:55:\"Treat signature as wikitext (without an automatic link)\";'),('en','messages:tog-externaleditor','s:160:\"Use external editor by default (for experts only, needs special settings on your computer. [//www.mediawiki.org/wiki/Manual:External_editors More information.])\";'),('en','messages:tog-externaldiff','s:158:\"Use external diff by default (for experts only, needs special settings on your computer. [//www.mediawiki.org/wiki/Manual:External_editors More information.])\";'),('en','messages:tog-showjumplinks','s:36:\"Enable \"jump to\" accessibility links\";'),('en','messages:tog-uselivepreview','s:53:\"Use live preview (requires JavaScript) (experimental)\";'),('en','messages:tog-forceeditsummary','s:44:\"Prompt me when entering a blank edit summary\";'),('en','messages:tog-watchlisthideown','s:32:\"Hide my edits from the watchlist\";'),('en','messages:tog-watchlisthidebots','s:33:\"Hide bot edits from the watchlist\";'),('en','messages:tog-watchlisthideminor','s:35:\"Hide minor edits from the watchlist\";'),('en','messages:tog-watchlisthideliu','s:48:\"Hide edits by logged in users from the watchlist\";'),('en','messages:tog-watchlisthideanons','s:48:\"Hide edits by anonymous users from the watchlist\";'),('en','messages:tog-watchlisthidepatrolled','s:39:\"Hide patrolled edits from the watchlist\";'),('en','messages:tog-nolangconversion','s:27:\"Disable variants conversion\";'),('en','messages:tog-ccmeonemails','s:47:\"Send me copies of e-mails I send to other users\";'),('en','messages:tog-diffonly','s:36:\"Do not show page content below diffs\";'),('en','messages:tog-showhiddencats','s:22:\"Show hidden categories\";'),('en','messages:tog-noconvertlink','s:29:\"Disable link title conversion\";'),('en','messages:tog-norollbackdiff','s:37:\"Omit diff after performing a rollback\";'),('en','messages:underline-always','s:6:\"Always\";'),('en','messages:underline-never','s:5:\"Never\";'),('en','messages:underline-default','s:15:\"Browser default\";'),('en','messages:editfont-style','s:21:\"Edit area font style:\";'),('en','messages:editfont-default','s:15:\"Browser default\";'),('en','messages:editfont-monospace','s:15:\"Monospaced font\";'),('en','messages:editfont-sansserif','s:15:\"Sans-serif font\";'),('en','messages:editfont-serif','s:10:\"Serif font\";'),('en','messages:sunday','s:6:\"Sunday\";'),('en','messages:monday','s:6:\"Monday\";'),('en','messages:tuesday','s:7:\"Tuesday\";'),('en','messages:wednesday','s:9:\"Wednesday\";'),('en','messages:thursday','s:8:\"Thursday\";'),('en','messages:friday','s:6:\"Friday\";'),('en','messages:saturday','s:8:\"Saturday\";'),('en','messages:sun','s:3:\"Sun\";'),('en','messages:mon','s:3:\"Mon\";'),('en','messages:tue','s:3:\"Tue\";'),('en','messages:wed','s:3:\"Wed\";'),('en','messages:thu','s:3:\"Thu\";'),('en','messages:fri','s:3:\"Fri\";'),('en','messages:sat','s:3:\"Sat\";'),('en','messages:january','s:7:\"January\";'),('en','messages:february','s:8:\"February\";'),('en','messages:march','s:5:\"March\";'),('en','messages:april','s:5:\"April\";'),('en','messages:may_long','s:3:\"May\";'),('en','messages:june','s:4:\"June\";'),('en','messages:july','s:4:\"July\";'),('en','messages:august','s:6:\"August\";'),('en','messages:september','s:9:\"September\";'),('en','messages:october','s:7:\"October\";'),('en','messages:november','s:8:\"November\";'),('en','messages:december','s:8:\"December\";'),('en','messages:january-gen','s:7:\"January\";'),('en','messages:february-gen','s:8:\"February\";'),('en','messages:march-gen','s:5:\"March\";'),('en','messages:april-gen','s:5:\"April\";'),('en','messages:may-gen','s:3:\"May\";'),('en','messages:june-gen','s:4:\"June\";'),('en','messages:july-gen','s:4:\"July\";'),('en','messages:august-gen','s:6:\"August\";'),('en','messages:september-gen','s:9:\"September\";'),('en','messages:october-gen','s:7:\"October\";'),('en','messages:november-gen','s:8:\"November\";'),('en','messages:december-gen','s:8:\"December\";'),('en','messages:jan','s:3:\"Jan\";'),('en','messages:feb','s:3:\"Feb\";'),('en','messages:mar','s:3:\"Mar\";'),('en','messages:apr','s:3:\"Apr\";'),('en','messages:may','s:3:\"May\";'),('en','messages:jun','s:3:\"Jun\";'),('en','messages:jul','s:3:\"Jul\";'),('en','messages:aug','s:3:\"Aug\";'),('en','messages:sep','s:3:\"Sep\";'),('en','messages:oct','s:3:\"Oct\";'),('en','messages:nov','s:3:\"Nov\";'),('en','messages:dec','s:3:\"Dec\";'),('en','messages:pagecategories','s:33:\"{{PLURAL:$1|Category|Categories}}\";'),('en','messages:pagecategorieslink','s:18:\"Special:Categories\";'),('en','messages:category_header','s:22:\"Pages in category \"$1\"\";'),('en','messages:subcategories','s:13:\"Subcategories\";'),('en','messages:category-media-header','s:22:\"Media in category \"$1\"\";'),('en','messages:category-empty','s:55:\"\'\'This category currently contains no pages or media.\'\'\";'),('en','messages:hidden-categories','s:47:\"{{PLURAL:$1|Hidden category|Hidden categories}}\";'),('en','messages:hidden-category-category','s:17:\"Hidden categories\";'),('en','messages:category-subcat-count','s:156:\"{{PLURAL:$2|This category has only the following subcategory.|This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}, out of $2 total.}}\";'),('en','messages:category-subcat-count-limited','s:75:\"This category has the following {{PLURAL:$1|subcategory|$1 subcategories}}.\";'),('en','messages:category-article-count','s:145:\"{{PLURAL:$2|This category contains only the following page.|The following {{PLURAL:$1|page is|$1 pages are}} in this category, out of $2 total.}}\";'),('en','messages:category-article-count-limited','s:73:\"The following {{PLURAL:$1|page is|$1 pages are}} in the current category.\";'),('en','messages:category-file-count','s:145:\"{{PLURAL:$2|This category contains only the following file.|The following {{PLURAL:$1|file is|$1 files are}} in this category, out of $2 total.}}\";'),('en','messages:category-file-count-limited','s:73:\"The following {{PLURAL:$1|file is|$1 files are}} in the current category.\";'),('en','messages:listingcontinuesabbrev','s:5:\"cont.\";'),('en','messages:index-category','s:13:\"Indexed pages\";'),('en','messages:noindex-category','s:15:\"Noindexed pages\";'),('en','messages:broken-file-category','s:28:\"Pages with broken file links\";'),('en','messages:linkprefix','s:31:\"/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD\";'),('en','messages:about','s:5:\"About\";'),('en','messages:article','s:12:\"Content page\";'),('en','messages:newwindow','s:21:\"(opens in new window)\";'),('en','messages:cancel','s:6:\"Cancel\";'),('en','messages:moredotdotdot','s:7:\"More...\";'),('en','messages:mypage','s:7:\"My page\";'),('en','messages:mytalk','s:7:\"My talk\";'),('en','messages:anontalk','s:24:\"Talk for this IP address\";'),('en','messages:navigation','s:10:\"Navigation\";'),('en','messages:and','s:8:\"&#32;and\";'),('en','messages:qbfind','s:4:\"Find\";'),('en','messages:qbbrowse','s:6:\"Browse\";'),('en','messages:qbedit','s:4:\"Edit\";'),('en','messages:qbpageoptions','s:9:\"This page\";'),('en','messages:qbpageinfo','s:7:\"Context\";'),('en','messages:qbmyoptions','s:8:\"My pages\";'),('en','messages:qbspecialpages','s:13:\"Special pages\";'),('en','messages:faq','s:3:\"FAQ\";'),('en','messages:faqpage','s:11:\"Project:FAQ\";'),('en','messages:sitetitle','s:12:\"{{SITENAME}}\";'),('en','messages:sitesubtitle','s:0:\"\";'),('en','messages:vector-action-addsection','s:9:\"Add topic\";'),('en','messages:vector-action-delete','s:6:\"Delete\";'),('en','messages:vector-action-move','s:4:\"Move\";'),('en','messages:vector-action-protect','s:7:\"Protect\";'),('en','messages:vector-action-undelete','s:8:\"Undelete\";'),('en','messages:vector-action-unprotect','s:17:\"Change protection\";'),('en','messages:vector-simplesearch-preference','s:53:\"Enable enhanced search suggestions (Vector skin only)\";'),('en','messages:vector-view-create','s:6:\"Create\";'),('en','messages:vector-view-edit','s:4:\"Edit\";'),('en','messages:vector-view-history','s:12:\"View history\";'),('en','messages:vector-view-view','s:4:\"Read\";'),('en','messages:vector-view-viewsource','s:11:\"View source\";'),('en','messages:actions','s:7:\"Actions\";'),('en','messages:namespaces','s:10:\"Namespaces\";'),('en','messages:variants','s:8:\"Variants\";'),('en','messages:errorpagetitle','s:5:\"Error\";'),('en','messages:returnto','s:13:\"Return to $1.\";'),('en','messages:tagline','s:17:\"From {{SITENAME}}\";'),('en','messages:help','s:4:\"Help\";'),('en','messages:search','s:6:\"Search\";'),('en','messages:searchbutton','s:6:\"Search\";'),('en','messages:go','s:2:\"Go\";'),('en','messages:searcharticle','s:2:\"Go\";'),('en','messages:history','s:12:\"Page history\";'),('en','messages:history_short','s:7:\"History\";'),('en','messages:updatedmarker','s:27:\"updated since my last visit\";'),('en','messages:printableversion','s:17:\"Printable version\";'),('en','messages:permalink','s:14:\"Permanent link\";'),('en','messages:print','s:5:\"Print\";'),('en','messages:view','s:4:\"View\";'),('en','messages:edit','s:4:\"Edit\";'),('en','messages:create','s:6:\"Create\";'),('en','messages:editthispage','s:14:\"Edit this page\";'),('en','messages:create-this-page','s:16:\"Create this page\";'),('en','messages:delete','s:6:\"Delete\";'),('en','messages:deletethispage','s:16:\"Delete this page\";'),('en','messages:undelete_short','s:40:\"Undelete {{PLURAL:$1|one edit|$1 edits}}\";'),('en','messages:viewdeleted_short','s:52:\"View {{PLURAL:$1|one deleted edit|$1 deleted edits}}\";'),('en','messages:protect','s:7:\"Protect\";'),('en','messages:protect_change','s:6:\"change\";'),('en','messages:protectthispage','s:17:\"Protect this page\";'),('en','messages:unprotect','s:17:\"Change protection\";'),('en','messages:unprotectthispage','s:30:\"Change protection of this page\";'),('en','messages:newpage','s:8:\"New page\";'),('en','messages:talkpage','s:17:\"Discuss this page\";'),('en','messages:talkpagelinktext','s:4:\"Talk\";'),('en','messages:specialpage','s:12:\"Special page\";'),('en','messages:personaltools','s:14:\"Personal tools\";'),('en','messages:postcomment','s:11:\"New section\";'),('en','messages:addsection','s:1:\"+\";'),('en','messages:articlepage','s:17:\"View content page\";'),('en','messages:talk','s:10:\"Discussion\";'),('en','messages:views','s:5:\"Views\";'),('en','messages:toolbox','s:7:\"Toolbox\";'),('en','messages:userpage','s:14:\"View user page\";'),('en','messages:projectpage','s:17:\"View project page\";'),('en','messages:imagepage','s:14:\"View file page\";'),('en','messages:mediawikipage','s:17:\"View message page\";'),('en','messages:templatepage','s:18:\"View template page\";'),('en','messages:viewhelppage','s:14:\"View help page\";'),('en','messages:categorypage','s:18:\"View category page\";'),('en','messages:viewtalkpage','s:15:\"View discussion\";'),('en','messages:otherlanguages','s:18:\"In other languages\";'),('en','messages:redirectedfrom','s:20:\"(Redirected from $1)\";'),('en','messages:redirectpagesub','s:13:\"Redirect page\";'),('en','messages:talkpageheader','s:1:\"-\";'),('en','messages:lastmodifiedat','s:41:\"This page was last modified on $1, at $2.\";'),('en','messages:viewcount','s:56:\"This page has been accessed {{PLURAL:$1|once|$1 times}}.\";'),('en','messages:protectedpage','s:14:\"Protected page\";'),('en','messages:jumpto','s:8:\"Jump to:\";'),('en','messages:jumptonavigation','s:10:\"navigation\";'),('en','messages:jumptosearch','s:6:\"search\";'),('en','messages:view-pool-error','s:159:\"Sorry, the servers are overloaded at the moment.\nToo many users are trying to view this page.\nPlease wait a while before you try to access this page again.\n\n$1\";'),('en','messages:pool-timeout','s:28:\"Timeout waiting for the lock\";'),('en','messages:pool-queuefull','s:18:\"Pool queue is full\";'),('en','messages:pool-errorunknown','s:13:\"Unknown error\";'),('en','messages:aboutsite','s:18:\"About {{SITENAME}}\";'),('en','messages:aboutpage','s:13:\"Project:About\";'),('en','messages:copyright','s:30:\"Content is available under $1.\";'),('en','messages:copyrightpage','s:25:\"{{ns:project}}:Copyrights\";'),('en','messages:currentevents','s:14:\"Current events\";'),('en','messages:currentevents-url','s:22:\"Project:Current events\";'),('en','messages:disclaimers','s:11:\"Disclaimers\";'),('en','messages:disclaimerpage','s:26:\"Project:General disclaimer\";'),('en','messages:edithelp','s:12:\"Editing help\";'),('en','messages:edithelppage','s:12:\"Help:Editing\";'),('en','messages:helppage','s:13:\"Help:Contents\";'),('en','messages:mainpage','s:9:\"Main Page\";'),('en','messages:mainpage-description','s:9:\"Main page\";'),('en','messages:policy-url','s:14:\"Project:Policy\";'),('en','messages:portal','s:16:\"Community portal\";'),('en','messages:portal-url','s:24:\"Project:Community portal\";'),('en','messages:privacy','s:14:\"Privacy policy\";'),('en','messages:privacypage','s:22:\"Project:Privacy policy\";'),('en','messages:badaccess','s:16:\"Permission error\";'),('en','messages:badaccess-group0','s:61:\"You are not allowed to execute the action you have requested.\";'),('en','messages:badaccess-groups','s:99:\"The action you have requested is limited to users in {{PLURAL:$2|the group|one of the groups}}: $1.\";'),('en','messages:versionrequired','s:32:\"Version $1 of MediaWiki required\";'),('en','messages:versionrequiredtext','s:91:\"Version $1 of MediaWiki is required to use this page.\nSee [[Special:Version|version page]].\";'),('en','messages:ok','s:2:\"OK\";'),('en','messages:pagetitle','s:17:\"$1 - {{SITENAME}}\";'),('en','messages:pagetitle-view-mainpage','s:12:\"{{SITENAME}}\";'),('en','messages:retrievedfrom','s:19:\"Retrieved from \"$1\"\";'),('en','messages:youhavenewmessages','s:17:\"You have $1 ($2).\";'),('en','messages:newmessageslink','s:12:\"new messages\";'),('en','messages:newmessagesdifflink','s:11:\"last change\";'),('en','messages:youhavenewmessagesmulti','s:27:\"You have new messages on $1\";'),('en','messages:newtalkseparator','s:6:\",&#32;\";'),('en','messages:editsection','s:4:\"edit\";'),('en','messages:editsection-brackets','s:4:\"[$1]\";'),('en','messages:editold','s:4:\"edit\";'),('en','messages:viewsourceold','s:11:\"view source\";'),('en','messages:editlink','s:4:\"edit\";'),('en','messages:viewsourcelink','s:11:\"view source\";'),('en','messages:editsectionhint','s:16:\"Edit section: $1\";'),('en','messages:toc','s:8:\"Contents\";'),('en','messages:showtoc','s:4:\"show\";'),('en','messages:hidetoc','s:4:\"hide\";'),('en','messages:collapsible-collapse','s:8:\"Collapse\";'),('en','messages:collapsible-expand','s:6:\"Expand\";'),('en','messages:thisisdeleted','s:19:\"View or restore $1?\";'),('en','messages:viewdeleted','s:8:\"View $1?\";'),('en','messages:restorelink','s:47:\"{{PLURAL:$1|one deleted edit|$1 deleted edits}}\";'),('en','messages:feedlinks','s:5:\"Feed:\";'),('en','messages:feed-invalid','s:31:\"Invalid subscription feed type.\";'),('en','messages:feed-unavailable','s:35:\"Syndication feeds are not available\";'),('en','messages:site-rss-feed','s:11:\"$1 RSS feed\";'),('en','messages:site-atom-feed','s:12:\"$1 Atom feed\";'),('en','messages:page-rss-feed','s:13:\"\"$1\" RSS feed\";'),('en','messages:page-atom-feed','s:14:\"\"$1\" Atom feed\";'),('en','messages:feed-atom','s:4:\"Atom\";'),('en','messages:feed-rss','s:3:\"RSS\";'),('en','messages:sitenotice','s:1:\"-\";'),('en','messages:anonnotice','s:1:\"-\";'),('en','messages:newsectionheaderdefaultlevel','s:8:\"== $1 ==\";'),('en','messages:red-link-title','s:24:\"$1 (page does not exist)\";'),('en','messages:sort-descending','s:15:\"Sort descending\";'),('en','messages:sort-ascending','s:14:\"Sort ascending\";'),('en','messages:nstab-main','s:4:\"Page\";'),('en','messages:nstab-user','s:9:\"User page\";'),('en','messages:nstab-media','s:10:\"Media page\";'),('en','messages:nstab-special','s:12:\"Special page\";'),('en','messages:nstab-project','s:12:\"Project page\";'),('en','messages:nstab-image','s:4:\"File\";'),('en','messages:nstab-mediawiki','s:7:\"Message\";'),('en','messages:nstab-template','s:8:\"Template\";'),('en','messages:nstab-help','s:9:\"Help page\";'),('en','messages:nstab-category','s:8:\"Category\";'),('en','messages:mainpage-nstab','s:0:\"\";'),('en','messages:nosuchaction','s:14:\"No such action\";'),('en','messages:nosuchactiontext','s:176:\"The action specified by the URL is invalid.\nYou might have mistyped the URL, or followed an incorrect link.\nThis might also indicate a bug in the software used by {{SITENAME}}.\";'),('en','messages:nosuchspecialpage','s:20:\"No such special page\";'),('en','messages:nospecialpagetext','s:154:\"<strong>You have requested an invalid special page.</strong>\n\nA list of valid special pages can be found at [[Special:SpecialPages|{{int:specialpages}}]].\";'),('en','messages:error','s:5:\"Error\";'),('en','messages:databaseerror','s:14:\"Database error\";'),('en','messages:dberrortext','s:239:\"A database query syntax error has occurred.\nThis may indicate a bug in the software.\nThe last attempted database query was:\n<blockquote><tt>$1</tt></blockquote>\nfrom within function \"<tt>$2</tt>\".\nDatabase returned error \"<tt>$3: $4</tt>\".\";'),('en','messages:dberrortextcl','s:147:\"A database query syntax error has occurred.\nThe last attempted database query was:\n\"$1\"\nfrom within function \"$2\".\nDatabase returned error \"$3: $4\"\";'),('en','messages:laggedslavemode','s:51:\"\'\'\'Warning:\'\'\' Page may not contain recent updates.\";'),('en','messages:readonly','s:15:\"Database locked\";'),('en','messages:enterlockreason','s:84:\"Enter a reason for the lock, including an estimate of when the lock will be released\";'),('en','messages:readonlytext','s:216:\"The database is currently locked to new entries and other modifications, probably for routine database maintenance, after which it will be back to normal.\n\nThe administrator who locked it offered this explanation: $1\";'),('en','messages:missing-article','s:349:\"The database did not find the text of a page that it should have found, named \"$1\" $2.\n\nThis is usually caused by following an outdated diff or history link to a page that has been deleted.\n\nIf this is not the case, you may have found a bug in the software.\nPlease report this to an [[Special:ListUsers/sysop|administrator]], making note of the URL.\";'),('en','messages:missingarticle-rev','s:15:\"(revision#: $1)\";'),('en','messages:missingarticle-diff','s:14:\"(Diff: $1, $2)\";'),('en','messages:readonly_lag','s:98:\"The database has been automatically locked while the slave database servers catch up to the master\";'),('en','messages:internalerror','s:14:\"Internal error\";'),('en','messages:internalerror_info','s:18:\"Internal error: $1\";'),('en','messages:fileappenderrorread','s:34:\"Could not read \"$1\" during append.\";'),('en','messages:fileappenderror','s:30:\"Could not append \"$1\" to \"$2\".\";'),('en','messages:filecopyerror','s:33:\"Could not copy file \"$1\" to \"$2\".\";'),('en','messages:filerenameerror','s:35:\"Could not rename file \"$1\" to \"$2\".\";'),('en','messages:filedeleteerror','s:27:\"Could not delete file \"$1\".\";'),('en','messages:directorycreateerror','s:32:\"Could not create directory \"$1\".\";'),('en','messages:filenotfound','s:25:\"Could not find file \"$1\".\";'),('en','messages:fileexistserror','s:42:\"Unable to write to file \"$1\": File exists.\";'),('en','messages:unexpected','s:28:\"Unexpected value: \"$1\"=\"$2\".\";'),('en','messages:formerror','s:29:\"Error: Could not submit form.\";'),('en','messages:badarticleerror','s:45:\"This action cannot be performed on this page.\";'),('en','messages:cannotdelete','s:93:\"The page or file \"$1\" could not be deleted.\nIt may have already been deleted by someone else.\";'),('en','messages:badtitle','s:9:\"Bad title\";'),('en','messages:badtitletext','s:175:\"The requested page title was invalid, empty, or an incorrectly linked inter-language or inter-wiki title.\nIt may contain one or more characters which cannot be used in titles.\";'),('en','messages:perfcached','s:55:\"The following data is cached and may not be up to date.\";'),('en','messages:perfcachedts','s:54:\"The following data is cached, and was last updated $1.\";'),('en','messages:querypage-no-updates','s:88:\"Updates for this page are currently disabled.\nData here will not presently be refreshed.\";'),('en','messages:wrong_wfQuery_params','s:68:\"Incorrect parameters to wfQuery()<br />\nFunction: $1<br />\nQuery: $2\";'),('en','messages:viewsource','s:11:\"View source\";'),('en','messages:viewsourcefor','s:6:\"for $1\";'),('en','messages:actionthrottled','s:16:\"Action throttled\";'),('en','messages:actionthrottledtext','s:178:\"As an anti-spam measure, you are limited from performing this action too many times in a short space of time, and you have exceeded this limit.\nPlease try again in a few minutes.\";'),('en','messages:protectedpagetext','s:48:\"This page has been protected to prevent editing.\";'),('en','messages:viewsourcetext','s:46:\"You can view and copy the source of this page:\";'),('en','messages:protectedinterface','s:86:\"This page provides interface text for the software, and is protected to prevent abuse.\";'),('en','messages:editinginterface','s:325:\"\'\'\'Warning:\'\'\' You are editing a page which is used to provide interface text for the software.\nChanges to this page will affect the appearance of the user interface for other users.\nFor translations, please consider using [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], the MediaWiki localisation project.\";'),('en','messages:sqlhidden','s:18:\"(SQL query hidden)\";'),('en','messages:cascadeprotected','s:180:\"This page has been protected from editing, because it is included in the following {{PLURAL:$1|page, which is|pages, which are}} protected with the \"cascading\" option turned on:\n$2\";'),('en','messages:namespaceprotected','s:67:\"You do not have permission to edit pages in the \'\'\'$1\'\'\' namespace.\";'),('en','messages:customcssprotected','s:103:\"You do not have permission to edit this CSS page, because it contains another user\'s personal settings.\";'),('en','messages:customjsprotected','s:110:\"You do not have permission to edit this JavaScript page, because it contains another user\'s personal settings.\";'),('en','messages:ns-specialprotected','s:31:\"Special pages cannot be edited.\";'),('en','messages:titleprotected','s:92:\"This title has been protected from creation by [[User:$1|$1]].\nThe reason given is \"\'\'$2\'\'\".\";'),('en','messages:virus-badscanner','s:48:\"Bad configuration: Unknown virus scanner: \'\'$1\'\'\";'),('en','messages:virus-scanfailed','s:21:\"scan failed (code $1)\";'),('en','messages:virus-unknownscanner','s:18:\"unknown antivirus:\";'),('en','messages:logouttext','s:280:\"\'\'\'You are now logged out.\'\'\'\n\nYou can continue to use {{SITENAME}} anonymously, or you can [[Special:UserLogin|log in again]] as the same or as a different user.\nNote that some pages may continue to be displayed as if you were still logged in, until you clear your browser cache.\";'),('en','messages:welcomecreation','s:128:\"== Welcome, $1! ==\nYour account has been created.\nDo not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].\";'),('en','messages:yourname','s:9:\"Username:\";'),('en','messages:yourpassword','s:9:\"Password:\";'),('en','messages:yourpasswordagain','s:16:\"Retype password:\";'),('en','messages:remembermypassword','s:78:\"Remember my login on this browser (for a maximum of $1 {{PLURAL:$1|day|days}})\";'),('en','messages:securelogin-stick-https','s:35:\"Stay connected to HTTPS after login\";'),('en','messages:yourdomainname','s:12:\"Your domain:\";'),('en','messages:externaldberror','s:105:\"There was either an authentication database error or you are not allowed to update your external account.\";'),('en','messages:login','s:6:\"Log in\";'),('en','messages:nav-login-createaccount','s:23:\"Log in / create account\";'),('en','messages:loginprompt','s:56:\"You must have cookies enabled to log in to {{SITENAME}}.\";'),('en','messages:userlogin','s:23:\"Log in / create account\";'),('en','messages:userloginnocreate','s:6:\"Log in\";'),('en','messages:logout','s:7:\"Log out\";'),('en','messages:userlogout','s:7:\"Log out\";'),('en','messages:notloggedin','s:13:\"Not logged in\";'),('en','messages:nologin','s:26:\"Don\'t have an account? $1.\";'),('en','messages:nologinlink','s:17:\"Create an account\";'),('en','messages:createaccount','s:14:\"Create account\";'),('en','messages:gotaccount','s:28:\"Already have an account? $1.\";'),('en','messages:gotaccountlink','s:6:\"Log in\";'),('en','messages:userlogin-resetlink','s:29:\"Forgotten your login details?\";'),('en','messages:createaccountmail','s:9:\"By e-mail\";'),('en','messages:createaccountreason','s:7:\"Reason:\";'),('en','messages:badretype','s:39:\"The passwords you entered do not match.\";'),('en','messages:userexists','s:64:\"Username entered already in use.\nPlease choose a different name.\";'),('en','messages:loginerror','s:11:\"Login error\";'),('en','messages:createaccounterror','s:28:\"Could not create account: $1\";'),('en','messages:nocookiesnew','s:195:\"The user account was created, but you are not logged in.\n{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them, then log in with your new username and password.\";'),('en','messages:nocookieslogin','s:103:\"{{SITENAME}} uses cookies to log in users.\nYou have cookies disabled.\nPlease enable them and try again.\";'),('en','messages:nocookiesfornew','s:134:\"The user account was not created, as we could not confirm its source.\nEnsure you have cookies enabled, reload this page and try again.\";'),('en','messages:nocookiesforlogin','s:22:\"{{int:nocookieslogin}}\";'),('en','messages:noname','s:40:\"You have not specified a valid username.\";'),('en','messages:loginsuccesstitle','s:16:\"Login successful\";'),('en','messages:loginsuccess','s:52:\"\'\'\'You are now logged in to {{SITENAME}} as \"$1\".\'\'\'\";'),('en','messages:nosuchuser','s:139:\"There is no user by the name \"$1\".\nUsernames are case sensitive.\nCheck your spelling, or [[Special:UserLogin/signup|create a new account]].\";'),('en','messages:nosuchusershort','s:55:\"There is no user by the name \"$1\".\nCheck your spelling.\";'),('en','messages:nouserspecified','s:31:\"You have to specify a username.\";'),('en','messages:login-userblocked','s:40:\"This user is blocked. Login not allowed.\";'),('en','messages:wrongpassword','s:45:\"Incorrect password entered.\nPlease try again.\";'),('en','messages:wrongpasswordempty','s:45:\"Password entered was blank.\nPlease try again.\";'),('en','messages:passwordtooshort','s:67:\"Passwords must be at least {{PLURAL:$1|1 character|$1 characters}}.\";'),('en','messages:password-name-match','s:51:\"Your password must be different from your username.\";'),('en','messages:password-login-forbidden','s:57:\"The use of this username and password has been forbidden.\";'),('en','messages:mailmypassword','s:19:\"E-mail new password\";'),('en','messages:passwordremindertitle','s:39:\"New temporary password for {{SITENAME}}\";'),('en','messages:passwordremindertext','s:493:\"Someone (probably you, from IP address $1) requested a new\npassword for {{SITENAME}} ($4). A temporary password for user\n\"$2\" has been created and was set to \"$3\". If this was your\nintent, you will need to log in and choose a new password now.\nYour temporary password will expire in {{PLURAL:$5|one day|$5 days}}.\n\nIf someone else made this request, or if you have remembered your password,\nand you no longer wish to change it, you may ignore this message and\ncontinue using your old password.\";'),('en','messages:noemail','s:50:\"There is no e-mail address recorded for user \"$1\".\";'),('en','messages:noemailcreate','s:42:\"You need to provide a valid e-mail address\";'),('en','messages:passwordsent','s:113:\"A new password has been sent to the e-mail address registered for \"$1\".\nPlease log in again after you receive it.\";'),('en','messages:blocked-mailpassword','s:118:\"Your IP address is blocked from editing, and so is not allowed to use the password recovery function to prevent abuse.\";'),('en','messages:eauthentsent','s:219:\"A confirmation e-mail has been sent to the nominated e-mail address.\nBefore any other e-mail is sent to the account, you will have to follow the instructions in the e-mail, to confirm that the account is actually yours.\";'),('en','messages:throttled-mailpassword','s:178:\"A password reminder has already been sent, within the last {{PLURAL:$1|hour|$1 hours}}.\nTo prevent abuse, only one password reminder will be sent per {{PLURAL:$1|hour|$1 hours}}.\";'),('en','messages:loginstart','s:0:\"\";'),('en','messages:loginend','s:0:\"\";'),('en','messages:loginend-https','s:0:\"\";'),('en','messages:signupstart','s:18:\"{{int:loginstart}}\";'),('en','messages:signupend','s:16:\"{{int:loginend}}\";'),('en','messages:signupend-https','s:0:\"\";'),('en','messages:mailerror','s:22:\"Error sending mail: $1\";'),('en','messages:acct_creation_throttle_hit','s:250:\"Visitors to this wiki using your IP address have created {{PLURAL:$1|1 account|$1 accounts}} in the last day, which is the maximum allowed in this time period.\nAs a result, visitors using this IP address cannot create any more accounts at the moment.\";'),('en','messages:emailauthenticated','s:50:\"Your e-mail address was authenticated on $2 at $3.\";'),('en','messages:emailnotauthenticated','s:103:\"Your e-mail address is not yet authenticated.\nNo e-mail will be sent for any of the following features.\";'),('en','messages:noemailprefs','s:73:\"Specify an e-mail address in your preferences for these features to work.\";'),('en','messages:emailconfirmlink','s:27:\"Confirm your e-mail address\";'),('en','messages:invalidemailaddress','s:137:\"The e-mail address cannot be accepted as it appears to have an invalid format.\nPlease enter a well-formatted address or empty that field.\";'),('en','messages:accountcreated','s:15:\"Account created\";'),('en','messages:accountcreatedtext','s:41:\"The user account for $1 has been created.\";'),('en','messages:createaccount-title','s:33:\"Account creation for {{SITENAME}}\";'),('en','messages:createaccount-text','s:219:\"Someone created an account for your e-mail address on {{SITENAME}} ($4) named \"$2\", with password \"$3\".\nYou should log in and change your password now.\n\nYou may ignore this message, if this account was created in error.\";'),('en','messages:usernamehasherror','s:39:\"Username cannot contain hash characters\";'),('en','messages:login-throttled','s:78:\"You have made too many recent login attempts.\nPlease wait before trying again.\";'),('en','messages:login-abort-generic','s:37:\"Your login was unsuccessful - Aborted\";'),('en','messages:loginlanguagelabel','s:12:\"Language: $1\";'),('en','messages:loginlanguagelinks','s:99:\"* Deutsch|de\n* English|en\n* Esperanto|eo\n* Français|fr\n* Español|es\n* Italiano|it\n* Nederlands|nl\";'),('en','messages:suspicious-userlogout','s:106:\"Your request to log out was denied because it looks like it was sent by a broken browser or caching proxy.\";'),('en','messages:pear-mail-error','s:2:\"$1\";'),('en','messages:php-mail-error','s:2:\"$1\";'),('en','messages:php-mail-error-unknown','s:39:\"Unknown error in PHP\'s mail() function.\";'),('en','messages:resetpass','s:15:\"Change password\";'),('en','messages:resetpass_announce','s:101:\"You logged in with a temporary e-mailed code.\nTo finish logging in, you must set a new password here:\";'),('en','messages:resetpass_text','s:22:\"<!-- Add text here -->\";'),('en','messages:resetpass_header','s:23:\"Change account password\";'),('en','messages:oldpassword','s:13:\"Old password:\";'),('en','messages:newpassword','s:13:\"New password:\";'),('en','messages:retypenew','s:20:\"Retype new password:\";'),('en','messages:resetpass_submit','s:23:\"Set password and log in\";'),('en','messages:resetpass_success','s:66:\"Your password has been changed successfully!\nNow logging you in...\";'),('en','messages:resetpass_forbidden','s:27:\"Passwords cannot be changed\";'),('en','messages:resetpass-no-info','s:51:\"You must be logged in to access this page directly.\";'),('en','messages:resetpass-submit-loggedin','s:15:\"Change password\";'),('en','messages:resetpass-submit-cancel','s:6:\"Cancel\";'),('en','messages:resetpass-wrong-oldpass','s:133:\"Invalid temporary or current password.\nYou may have already successfully changed your password or requested a new temporary password.\";'),('en','messages:resetpass-temp-password','s:19:\"Temporary password:\";'),('en','messages:passwordreset','s:14:\"Reset password\";'),('en','messages:passwordreset-text','s:73:\"Complete this form to receive an e-mail reminder of your account details.\";'),('en','messages:passwordreset-legend','s:14:\"Reset password\";'),('en','messages:passwordreset-disabled','s:48:\"Password resets have been disabled on this wiki.\";'),('en','messages:passwordreset-pretext','s:52:\"{{PLURAL:$1||Enter one of the pieces of data below}}\";'),('en','messages:passwordreset-username','s:9:\"Username:\";'),('en','messages:passwordreset-domain','s:7:\"Domain:\";'),('en','messages:passwordreset-email','s:15:\"E-mail address:\";'),('en','messages:passwordreset-emailtitle','s:31:\"Account details on {{SITENAME}}\";'),('en','messages:passwordreset-emailtext-ip','s:556:\"Someone (probably you, from IP address $1) requested a reminder of your\naccount details for {{SITENAME}} ($4). The following user {{PLURAL:$3|account is|accounts are}}\nassociated with this e-mail address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword.\";'),('en','messages:passwordreset-emailtext-user','s:537:\"User $1 on {{SITENAME}} requested a reminder of your account details for {{SITENAME}}\n($4). The following user {{PLURAL:$3|account is|accounts are}} associated with this e-mail address:\n\n$2\n\n{{PLURAL:$3|This temporary password|These temporary passwords}} will expire in {{PLURAL:$5|one day|$5 days}}.\nYou should log in and choose a new password now. If someone else made this\nrequest, or if you have remembered your original password, and you no longer\nwish to change it, you may ignore this message and continue using your old\npassword.\";'),('en','messages:passwordreset-emailelement','s:35:\"Username: $1\nTemporary password: $2\";'),('en','messages:passwordreset-emailsent','s:32:\"A reminder e-mail has been sent.\";'),('en','messages:bold_sample','s:9:\"Bold text\";'),('en','messages:bold_tip','s:9:\"Bold text\";'),('en','messages:italic_sample','s:11:\"Italic text\";'),('en','messages:italic_tip','s:11:\"Italic text\";'),('en','messages:link_sample','s:10:\"Link title\";'),('en','messages:link_tip','s:13:\"Internal link\";'),('en','messages:extlink_sample','s:33:\"http://www.example.com link title\";'),('en','messages:extlink_tip','s:39:\"External link (remember http:// prefix)\";'),('en','messages:headline_sample','s:13:\"Headline text\";'),('en','messages:headline_tip','s:16:\"Level 2 headline\";'),('en','messages:nowiki_sample','s:30:\"Insert non-formatted text here\";'),('en','messages:nowiki_tip','s:22:\"Ignore wiki formatting\";'),('en','messages:image_sample','s:11:\"Example.jpg\";'),('en','messages:image_tip','s:13:\"Embedded file\";'),('en','messages:media_sample','s:11:\"Example.ogg\";'),('en','messages:media_tip','s:9:\"File link\";'),('en','messages:sig_tip','s:29:\"Your signature with timestamp\";'),('en','messages:hr_tip','s:31:\"Horizontal line (use sparingly)\";'),('en','messages:summary','s:8:\"Summary:\";'),('en','messages:subject','s:17:\"Subject/headline:\";'),('en','messages:minoredit','s:20:\"This is a minor edit\";'),('en','messages:watchthis','s:15:\"Watch this page\";'),('en','messages:savearticle','s:9:\"Save page\";'),('en','messages:preview','s:7:\"Preview\";'),('en','messages:showpreview','s:12:\"Show preview\";'),('en','messages:showlivepreview','s:12:\"Live preview\";'),('en','messages:showdiff','s:12:\"Show changes\";'),('en','messages:anoneditwarning','s:99:\"\'\'\'Warning:\'\'\' You are not logged in.\nYour IP address will be recorded in this page\'s edit history.\";'),('en','messages:anonpreviewwarning','s:90:\"\'\'You are not logged in. Saving will record your IP address in this page\'s edit history.\'\'\";'),('en','messages:missingsummary','s:133:\"\'\'\'Reminder:\'\'\' You have not provided an edit summary.\nIf you click \"{{int:savearticle}}\" again, your edit will be saved without one.\";'),('en','messages:missingcommenttext','s:29:\"Please enter a comment below.\";'),('en','messages:missingcommentheader','s:153:\"\'\'\'Reminder:\'\'\' You have not provided a subject/headline for this comment.\nIf you click \"{{int:savearticle}}\" again, your edit will be saved without one.\";'),('en','messages:summary-preview','s:16:\"Summary preview:\";'),('en','messages:subject-preview','s:25:\"Subject/headline preview:\";'),('en','messages:blockedtitle','s:15:\"User is blocked\";'),('en','messages:blockedtext','s:574:\"\'\'\'Your username or IP address has been blocked.\'\'\'\n\nThe block was made by $1.\nThe reason given is \'\'$2\'\'.\n\n* Start of block: $8\n* Expiry of block: $6\n* Intended blockee: $7\n\nYou can contact $1 or another [[{{MediaWiki:Grouppage-sysop}}|administrator]] to discuss the block.\nYou cannot use the \'e-mail this user\' feature unless a valid e-mail address is specified in your [[Special:Preferences|account preferences]] and you have not been blocked from using it.\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make.\";'),('en','messages:autoblockedtext','s:636:\"Your IP address has been automatically blocked because it was used by another user, who was blocked by $1.\nThe reason given is this:\n\n:\'\'$2\'\'\n\n* Start of block: $8\n* Expiry of block: $6\n* Intended blockee: $7\n\nYou may contact $1 or one of the other [[{{MediaWiki:Grouppage-sysop}}|administrators]] to discuss the block.\n\nNote that you may not use the \"e-mail this user\" feature unless you have a valid e-mail address registered in your [[Special:Preferences|user preferences]] and you have not been blocked from using it.\n\nYour current IP address is $3, and the block ID is #$5.\nPlease include all above details in any queries you make.\";'),('en','messages:blockednoreason','s:15:\"no reason given\";'),('en','messages:blockedoriginalsource','s:38:\"The source of \'\'\'$1\'\'\' is shown below:\";'),('en','messages:blockededitsource','s:56:\"The text of \'\'\'your edits\'\'\' to \'\'\'$1\'\'\' is shown below:\";'),('en','messages:whitelistedittitle','s:22:\"Login required to edit\";'),('en','messages:whitelistedittext','s:29:\"You have to $1 to edit pages.\";'),('en','messages:confirmedittext','s:157:\"You must confirm your e-mail address before editing pages.\nPlease set and validate your e-mail address through your [[Special:Preferences|user preferences]].\";'),('en','messages:nosuchsectiontitle','s:19:\"Cannot find section\";'),('en','messages:nosuchsectiontext','s:115:\"You tried to edit a section that does not exist.\nIt may have been moved or deleted while you were viewing the page.\";'),('en','messages:loginreqtitle','s:14:\"Login required\";'),('en','messages:loginreqlink','s:6:\"log in\";'),('en','messages:loginreqpagetext','s:32:\"You must $1 to view other pages.\";'),('en','messages:accmailtitle','s:14:\"Password sent.\";'),('en','messages:accmailtext','s:200:\"A randomly generated password for [[User talk:$1|$1]] has been sent to $2.\n\nThe password for this new account can be changed on the \'\'[[Special:ChangePassword|change password]]\'\' page upon logging in.\";'),('en','messages:newarticle','s:5:\"(New)\";'),('en','messages:newarticletext','s:239:\"You have followed a link to a page that does not exist yet.\nTo create the page, start typing in the box below (see the [[{{MediaWiki:Helppage}}|help page]] for more info).\nIf you are here by mistake, click your browser\'s \'\'\'back\'\'\' button.\";'),('en','messages:newarticletextanon','s:22:\"{{int:newarticletext}}\";'),('en','messages:talkpagetext','s:31:\"<!-- MediaWiki:talkpagetext -->\";'),('en','messages:anontalkpagetext','s:469:\"----\'\'This is the discussion page for an anonymous user who has not created an account yet, or who does not use it.\nWe therefore have to use the numerical IP address to identify him/her.\nSuch an IP address can be shared by several users.\nIf you are an anonymous user and feel that irrelevant comments have been directed at you, please [[Special:UserLogin/signup|create an account]] or [[Special:UserLogin|log in]] to avoid future confusion with other anonymous users.\'\'\";'),('en','messages:noarticletext','s:296:\"There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs],\nor [{{fullurl:{{FULLPAGENAME}}|action=edit}} edit this page]</span>.\";'),('en','messages:noarticletext-nopermission','s:237:\"There is currently no text in this page.\nYou can [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages,\nor <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} search the related logs]</span>.\";'),('en','messages:noarticletextanon','s:21:\"{{int:noarticletext}}\";'),('en','messages:userpage-userdoesnotexist','s:87:\"User account \"$1\" is not registered.\nPlease check if you want to create/edit this page.\";'),('en','messages:userpage-userdoesnotexist-view','s:36:\"User account \"$1\" is not registered.\";'),('en','messages:blocked-notice-logextract','s:91:\"This user is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:clearyourcache','s:503:\"\'\'\'Note:\'\'\' After saving, you may have to bypass your browser\'s cache to see the changes.\n* \'\'\'Firefox / Safari:\'\'\' Hold \'\'Shift\'\' while clicking \'\'Reload\'\', or press either \'\'Ctrl-F5\'\' or \'\'Ctrl-R\'\' (\'\'Command-R\'\' on a Mac)\n* \'\'\'Google Chrome:\'\'\' Press \'\'Ctrl-Shift-R\'\' (\'\'Command-Shift-R\'\' on a Mac)\n* \'\'\'Internet Explorer:\'\'\' Hold \'\'Ctrl\'\' while clicking \'\'Refresh\'\', or press \'\'Ctrl-F5\'\'\n* \'\'\'Konqueror:\'\'\' Click \'\'Reload\'\' or press \'\'F5\'\'\n* \'\'\'Opera:\'\'\' Clear the cache in \'\'Tools → Preferences\'\'\";'),('en','messages:usercssyoucanpreview','s:83:\"\'\'\'Tip:\'\'\' Use the \"{{int:showpreview}}\" button to test your new CSS before saving.\";'),('en','messages:userjsyoucanpreview','s:90:\"\'\'\'Tip:\'\'\' Use the \"{{int:showpreview}}\" button to test your new JavaScript before saving.\";'),('en','messages:usercsspreview','s:91:\"\'\'\'Remember that you are only previewing your user CSS.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:userjspreview','s:106:\"\'\'\'Remember that you are only testing/previewing your user JavaScript.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:sitecsspreview','s:86:\"\'\'\'Remember that you are only previewing this CSS.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:sitejspreview','s:98:\"\'\'\'Remember that you are only previewing this JavaScript code.\'\'\'\n\'\'\'It has not yet been saved!\'\'\'\";'),('en','messages:userinvalidcssjstitle','s:160:\"\'\'\'Warning:\'\'\' There is no skin \"$1\".\nCustom .css and .js pages use a lowercase title, e.g. {{ns:user}}:Foo/vector.css as opposed to {{ns:user}}:Foo/Vector.css.\";'),('en','messages:updated','s:9:\"(Updated)\";'),('en','messages:note','s:11:\"\'\'\'Note:\'\'\'\";'),('en','messages:previewnote','s:81:\"\'\'\'Remember that this is only a preview.\'\'\'\nYour changes have not yet been saved!\";'),('en','messages:previewconflict','s:102:\"This preview reflects the text in the upper text editing area as it will appear if you choose to save.\";'),('en','messages:session_fail_preview','s:179:\"\'\'\'Sorry! We could not process your edit due to a loss of session data.\'\'\'\nPlease try again.\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in.\";'),('en','messages:session_fail_preview_html','s:338:\"\'\'\'Sorry! We could not process your edit due to a loss of session data.\'\'\'\n\n\'\'Because {{SITENAME}} has raw HTML enabled, the preview is hidden as a precaution against JavaScript attacks.\'\'\n\n\'\'\'If this is a legitimate edit attempt, please try again.\'\'\'\nIf it still does not work, try [[Special:UserLogout|logging out]] and logging back in.\";'),('en','messages:token_suffix_mismatch','s:259:\"\'\'\'Your edit has been rejected because your client mangled the punctuation characters in the edit token.\'\'\'\nThe edit has been rejected to prevent corruption of the page text.\nThis sometimes happens when you are using a buggy web-based anonymous proxy service.\";'),('en','messages:edit_form_incomplete','s:114:\"\'\'\'Some parts of the edit form did not reach the server; double-check that your edits are intact and try again.\'\'\'\";'),('en','messages:editing','s:10:\"Editing $1\";'),('en','messages:editingsection','s:20:\"Editing $1 (section)\";'),('en','messages:editingcomment','s:24:\"Editing $1 (new section)\";'),('en','messages:editconflict','s:17:\"Edit conflict: $1\";'),('en','messages:explainconflict','s:333:\"Someone else has changed this page since you started editing it.\nThe upper text area contains the page text as it currently exists.\nYour changes are shown in the lower text area.\nYou will have to merge your changes into the existing text.\n\'\'\'Only\'\'\' the text in the upper text area will be saved when you press \"{{int:savearticle}}\".\";'),('en','messages:yourtext','s:9:\"Your text\";'),('en','messages:storedversion','s:15:\"Stored revision\";'),('en','messages:nonunicodebrowser','s:184:\"\'\'\'Warning: Your browser is not unicode compliant.\'\'\'\nA workaround is in place to allow you to safely edit pages: Non-ASCII characters will appear in the edit box as hexadecimal codes.\";'),('en','messages:editingold','s:135:\"\'\'\'Warning: You are editing an out-of-date revision of this page.\'\'\'\nIf you save it, any changes made since this revision will be lost.\";'),('en','messages:yourdiff','s:11:\"Differences\";'),('en','messages:copyrightwarning','s:406:\"Please note that all contributions to {{SITENAME}} are considered to be released under the $2 (see $1 for details).\nIf you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.\n\'\'\'Do not submit copyrighted work without permission!\'\'\'\";'),('en','messages:copyrightwarning2','s:394:\"Please note that all contributions to {{SITENAME}} may be edited, altered, or removed by other contributors.\nIf you do not want your writing to be edited mercilessly, then do not submit it here.<br />\nYou are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see $1 for details).\n\'\'\'Do not submit copyrighted work without permission!\'\'\'\";'),('en','messages:editpage-tos-summary','s:1:\"-\";'),('en','messages:longpage-hint','s:1:\"-\";'),('en','messages:longpageerror','s:132:\"\'\'\'Error: The text you have submitted is $1 kilobytes long, which is longer than the maximum of $2 kilobytes.\'\'\'\nIt cannot be saved.\";'),('en','messages:readonlywarning','s:253:\"\'\'\'Warning: The database has been locked for maintenance, so you will not be able to save your edits right now.\'\'\'\nYou may wish to cut-n-paste the text into a text file and save it for later.\n\nThe administrator who locked it offered this explanation: $1\";'),('en','messages:protectedpagewarning','s:159:\"\'\'\'Warning: This page has been protected so that only users with administrator privileges can edit it.\'\'\'\nThe latest log entry is provided below for reference:\";'),('en','messages:semiprotectedpagewarning','s:137:\"\'\'\'Note:\'\'\' This page has been protected so that only registered users can edit it.\nThe latest log entry is provided below for reference:\";'),('en','messages:cascadeprotectedwarning','s:189:\"\'\'\'Warning:\'\'\' This page has been protected so that only users with administrator privileges can edit it, because it is included in the following cascade-protected {{PLURAL:$1|page|pages}}:\";'),('en','messages:titleprotectedwarning','s:174:\"\'\'\'Warning: This page has been protected so that [[Special:ListGroupRights|specific rights]] are needed to create it.\'\'\'\nThe latest log entry is provided below for reference:\";'),('en','messages:templatesused','s:51:\"{{PLURAL:$1|Template|Templates}} used on this page:\";'),('en','messages:templatesusedpreview','s:54:\"{{PLURAL:$1|Template|Templates}} used in this preview:\";'),('en','messages:templatesusedsection','s:54:\"{{PLURAL:$1|Template|Templates}} used in this section:\";'),('en','messages:template-protected','s:11:\"(protected)\";'),('en','messages:template-semiprotected','s:16:\"(semi-protected)\";'),('en','messages:hiddencategories','s:78:\"This page is a member of {{PLURAL:$1|1 hidden category|$1 hidden categories}}:\";'),('en','messages:edittools','s:61:\"<!-- Text here will be shown below edit and upload forms. -->\";'),('en','messages:edittools-upload','s:1:\"-\";'),('en','messages:nocreatetitle','s:21:\"Page creation limited\";'),('en','messages:nocreatetext','s:157:\"{{SITENAME}} has restricted the ability to create new pages.\nYou can go back and edit an existing page, or [[Special:UserLogin|log in or create an account]].\";'),('en','messages:nocreate-loggedin','s:47:\"You do not have permission to create new pages.\";'),('en','messages:sectioneditnotsupported-title','s:29:\"Section editing not supported\";'),('en','messages:sectioneditnotsupported-text','s:46:\"Section editing is not supported in this page.\";'),('en','messages:permissionserrors','s:18:\"Permissions errors\";'),('en','messages:permissionserrorstext','s:86:\"You do not have permission to do that, for the following {{PLURAL:$1|reason|reasons}}:\";'),('en','messages:permissionserrorstext-withaction','s:81:\"You do not have permission to $2, for the following {{PLURAL:$1|reason|reasons}}:\";'),('en','messages:recreate-moveddeleted-warn','s:222:\"\'\'\'Warning: You are recreating a page that was previously deleted.\'\'\'\n\nYou should consider whether it is appropriate to continue editing this page.\nThe deletion and move log for this page are provided here for convenience:\";'),('en','messages:moveddeleted-notice','s:100:\"This page has been deleted.\nThe deletion and move log for the page are provided below for reference.\";'),('en','messages:log-fulllog','s:13:\"View full log\";'),('en','messages:edit-hook-aborted','s:45:\"Edit aborted by hook.\nIt gave no explanation.\";'),('en','messages:edit-gone-missing','s:59:\"Could not update the page.\nIt appears to have been deleted.\";'),('en','messages:edit-conflict','s:14:\"Edit conflict.\";'),('en','messages:edit-no-change','s:62:\"Your edit was ignored, because no change was made to the text.\";'),('en','messages:edit-already-exists','s:47:\"Could not create a new page.\nIt already exists.\";'),('en','messages:addsection-preload','s:0:\"\";'),('en','messages:addsection-editintro','s:0:\"\";'),('en','messages:expensive-parserfunction-warning','s:183:\"\'\'\'Warning:\'\'\' This page contains too many expensive parser function calls.\n\nIt should have less than $2 {{PLURAL:$2|call|calls}}, there {{PLURAL:$1|is now $1 call|are now $1 calls}}.\";'),('en','messages:expensive-parserfunction-category','s:51:\"Pages with too many expensive parser function calls\";'),('en','messages:post-expand-template-inclusion-warning','s:87:\"\'\'\'Warning:\'\'\' Template include size is too large.\nSome templates will not be included.\";'),('en','messages:post-expand-template-inclusion-category','s:45:\"Pages where template include size is exceeded\";'),('en','messages:post-expand-template-argument-warning','s:137:\"\'\'\'Warning:\'\'\' This page contains at least one template argument which has a too large expansion size.\nThese arguments have been omitted.\";'),('en','messages:post-expand-template-argument-category','s:43:\"Pages containing omitted template arguments\";'),('en','messages:parser-template-loop-warning','s:30:\"Template loop detected: [[$1]]\";'),('en','messages:parser-template-recursion-depth-warning','s:44:\"Template recursion depth limit exceeded ($1)\";'),('en','messages:language-converter-depth-warning','s:44:\"Language converter depth limit exceeded ($1)\";'),('en','messages:undo-success','s:161:\"The edit can be undone.\nPlease check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.\";'),('en','messages:undo-failure','s:67:\"The edit could not be undone due to conflicting intermediate edits.\";'),('en','messages:undo-norev','s:70:\"The edit could not be undone because it does not exist or was deleted.\";'),('en','messages:undo-summary','s:75:\"Undo revision $1 by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]])\";'),('en','messages:cantcreateaccounttitle','s:21:\"Cannot create account\";'),('en','messages:cantcreateaccount-text','s:118:\"Account creation from this IP address (\'\'\'$1\'\'\') has been blocked by [[User:$3|$3]].\n\nThe reason given by $3 is \'\'$2\'\'\";'),('en','messages:viewpagelogs','s:23:\"View logs for this page\";'),('en','messages:nohistory','s:39:\"There is no edit history for this page.\";'),('en','messages:currentrev','s:15:\"Latest revision\";'),('en','messages:currentrev-asof','s:24:\"Latest revision as of $1\";'),('en','messages:revisionasof','s:17:\"Revision as of $1\";'),('en','messages:revision-info','s:23:\"Revision as of $1 by $2\";'),('en','messages:revision-info-current','s:1:\"-\";'),('en','messages:revision-nav','s:65:\"($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)\";'),('en','messages:previousrevision','s:18:\"← Older revision\";'),('en','messages:nextrevision','s:18:\"Newer revision →\";'),('en','messages:currentrevisionlink','s:15:\"Latest revision\";'),('en','messages:cur','s:3:\"cur\";'),('en','messages:next','s:4:\"next\";'),('en','messages:last','s:4:\"prev\";'),('en','messages:page_first','s:5:\"first\";'),('en','messages:page_last','s:4:\"last\";'),('en','messages:histlegend','s:279:\"Diff selection: Mark the radio boxes of the revisions to compare and hit enter or the button at the bottom.<br />\nLegend: \'\'\'({{int:cur}})\'\'\' = difference with latest revision, \'\'\'({{int:last}})\'\'\' = difference with preceding revision, \'\'\'{{int:minoreditletter}}\'\'\' = minor edit.\";'),('en','messages:history-fieldset-title','s:14:\"Browse history\";'),('en','messages:history-show-deleted','s:12:\"Deleted only\";'),('en','messages:history_copyright','s:1:\"-\";'),('en','messages:histfirst','s:8:\"Earliest\";'),('en','messages:histlast','s:6:\"Latest\";'),('en','messages:historysize','s:31:\"({{PLURAL:$1|1 byte|$1 bytes}})\";'),('en','messages:historyempty','s:7:\"(empty)\";'),('en','messages:history-feed-title','s:16:\"Revision history\";'),('en','messages:history-feed-description','s:42:\"Revision history for this page on the wiki\";'),('en','messages:history-feed-item-nocomment','s:8:\"$1 at $2\";'),('en','messages:history-feed-empty','s:155:\"The requested page does not exist.\nIt may have been deleted from the wiki, or renamed.\nTry [[Special:Search|searching on the wiki]] for relevant new pages.\";'),('en','messages:rev-deleted-comment','s:22:\"(edit summary removed)\";'),('en','messages:rev-deleted-user','s:18:\"(username removed)\";'),('en','messages:rev-deleted-event','s:20:\"(log action removed)\";'),('en','messages:rev-deleted-user-contribs','s:65:\"[username or IP address removed - edit hidden from contributions]\";'),('en','messages:rev-deleted-text-permission','s:145:\"This page revision has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-deleted-text-unhide','s:207:\"This page revision has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this revision] if you wish to proceed.\";'),('en','messages:rev-suppressed-text-unhide','s:215:\"This page revision has been \'\'\'suppressed\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this revision] if you wish to proceed.\";'),('en','messages:rev-deleted-text-view','s:162:\"This page revision has been \'\'\'deleted\'\'\'.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-text-view','s:170:\"This page revision has been \'\'\'suppressed\'\'\'.\nYou can view it; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\";'),('en','messages:rev-deleted-no-diff','s:181:\"You cannot view this diff because one of the revisions has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-no-diff','s:78:\"You cannot view this diff because one of the revisions has been \'\'\'deleted\'\'\'.\";'),('en','messages:rev-deleted-unhide-diff','s:218:\"One of the revisions of this diff has been \'\'\'deleted\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\nYou can still [$1 view this diff] if you wish to proceed.\";'),('en','messages:rev-suppressed-unhide-diff','s:226:\"One of the revisions of this diff has been \'\'\'suppressed\'\'\'.\nDetails can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\nYou can still [$1 view this diff] if you wish to proceed.\";'),('en','messages:rev-deleted-diff-view','s:184:\"One of the revisions of this diff has been \'\'\'deleted\'\'\'.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} deletion log].\";'),('en','messages:rev-suppressed-diff-view','s:192:\"One of the revisions of this diff has been \'\'\'suppressed\'\'\'.\nYou can view this diff; details can be found in the [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} suppression log].\";'),('en','messages:rev-delundel','s:9:\"show/hide\";'),('en','messages:rev-showdeleted','s:4:\"show\";'),('en','messages:revisiondelete','s:25:\"Delete/undelete revisions\";'),('en','messages:revdelete-nooldid-title','s:23:\"Invalid target revision\";'),('en','messages:revdelete-nooldid-text','s:167:\"You have either not specified a target revision(s) to perform this\nfunction, the specified revision does not exist, or you are attempting to hide the current revision.\";'),('en','messages:revdelete-nologtype-title','s:17:\"No log type given\";'),('en','messages:revdelete-nologtype-text','s:60:\"You have not specified a log type to perform this action on.\";'),('en','messages:revdelete-nologid-title','s:17:\"Invalid log entry\";'),('en','messages:revdelete-nologid-text','s:112:\"You have either not specified a target log event to perform this function or the specified entry does not exist.\";'),('en','messages:revdelete-no-file','s:34:\"The file specified does not exist.\";'),('en','messages:revdelete-show-file-confirm','s:97:\"Are you sure you want to view a deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?\";'),('en','messages:revdelete-show-file-submit','s:3:\"Yes\";'),('en','messages:revdelete-selected','s:68:\"\'\'\'{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:\'\'\'\";'),('en','messages:logdelete-selected','s:59:\"\'\'\'{{PLURAL:$1|Selected log event|Selected log events}}:\'\'\'\";'),('en','messages:revdelete-text','s:325:\"\'\'\'Deleted revisions and events will still appear in the page history and logs, but parts of their content will be inaccessible to the public.\'\'\'\nOther administrators on {{SITENAME}} will still be able to access the hidden content and can undelete it again through this same interface, unless additional restrictions are set.\";'),('en','messages:revdelete-confirm','s:168:\"Please confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].\";'),('en','messages:revdelete-suppress-text','s:209:\"Suppression should \'\'\'only\'\'\' be used for the following cases:\n* Potentially libelous information\n* Inappropriate personal information\n*: \'\'home addresses and telephone numbers, social security numbers, etc.\'\'\";'),('en','messages:revdelete-legend','s:27:\"Set visibility restrictions\";'),('en','messages:revdelete-hide-text','s:18:\"Hide revision text\";'),('en','messages:revdelete-hide-image','s:17:\"Hide file content\";'),('en','messages:revdelete-hide-name','s:22:\"Hide action and target\";'),('en','messages:revdelete-hide-comment','s:17:\"Hide edit summary\";'),('en','messages:revdelete-hide-user','s:33:\"Hide editor\'s username/IP address\";'),('en','messages:revdelete-hide-restricted','s:51:\"Suppress data from administrators as well as others\";'),('en','messages:revdelete-radio-same','s:15:\"(do not change)\";'),('en','messages:revdelete-radio-set','s:3:\"Yes\";'),('en','messages:revdelete-radio-unset','s:2:\"No\";'),('en','messages:revdelete-suppress','s:51:\"Suppress data from administrators as well as others\";'),('en','messages:revdelete-unsuppress','s:41:\"Remove restrictions on restored revisions\";'),('en','messages:revdelete-log','s:7:\"Reason:\";'),('en','messages:revdelete-submit','s:50:\"Apply to selected {{PLURAL:$1|revision|revisions}}\";'),('en','messages:revdelete-logentry','s:39:\"changed revision visibility of \"[[$1]]\"\";'),('en','messages:logdelete-logentry','s:36:\"changed event visibility of \"[[$1]]\"\";'),('en','messages:revdelete-success','s:47:\"\'\'\'Revision visibility successfully updated.\'\'\'\";'),('en','messages:revdelete-failure','s:50:\"\'\'\'Revision visibility could not be updated:\'\'\'\n$1\";'),('en','messages:logdelete-success','s:38:\"\'\'\'Log visibility successfully set.\'\'\'\";'),('en','messages:logdelete-failure','s:41:\"\'\'\'Log visibility could not be set:\'\'\'\n$1\";'),('en','messages:revdel-restore','s:17:\"change visibility\";'),('en','messages:revdel-restore-deleted','s:17:\"deleted revisions\";'),('en','messages:revdel-restore-visible','s:17:\"visible revisions\";'),('en','messages:pagehist','s:12:\"Page history\";'),('en','messages:deletedhist','s:15:\"Deleted history\";'),('en','messages:revdelete-content','s:7:\"content\";'),('en','messages:revdelete-summary','s:12:\"edit summary\";'),('en','messages:revdelete-uname','s:8:\"username\";'),('en','messages:revdelete-restricted','s:38:\"applied restrictions to administrators\";'),('en','messages:revdelete-unrestricted','s:39:\"removed restrictions for administrators\";'),('en','messages:revdelete-hid','s:6:\"hid $1\";'),('en','messages:revdelete-unhid','s:8:\"unhid $1\";'),('en','messages:revdelete-log-message','s:42:\"$1 for $2 {{PLURAL:$2|revision|revisions}}\";'),('en','messages:logdelete-log-message','s:36:\"$1 for $2 {{PLURAL:$2|event|events}}\";'),('en','messages:revdelete-hide-current','s:86:\"Error hiding the item dated $2, $1: This is the current revision.\nIt cannot be hidden.\";'),('en','messages:revdelete-show-no-access','s:106:\"Error showing the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it.\";'),('en','messages:revdelete-modify-no-access','s:108:\"Error modifying the item dated $2, $1: This item has been marked \"restricted\".\nYou do not have access to it.\";'),('en','messages:revdelete-modify-missing','s:60:\"Error modifying item ID $1: It is missing from the database!\";'),('en','messages:revdelete-no-change','s:83:\"\'\'\'Warning:\'\'\' The item dated $2, $1 already had the requested visibility settings.\";'),('en','messages:revdelete-concurrent-change','s:151:\"Error modifying the item dated $2, $1: Its status appears to have been changed by someone else while you attempted to modify it.\nPlease check the logs.\";'),('en','messages:revdelete-only-restricted','s:149:\"Error hiding the item dated $2, $1: You cannot suppress items from view by administrators without also selecting one of the other visibility options.\";'),('en','messages:revdelete-reason-dropdown','s:119:\"*Common delete reasons\n** Copyright violation\n** Inappropriate personal information\n** Potentially libelous information\";'),('en','messages:revdelete-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:revdelete-reasonotherlist','s:12:\"Other reason\";'),('en','messages:revdelete-edit-reasonlist','s:19:\"Edit delete reasons\";'),('en','messages:revdelete-offender','s:16:\"Revision author:\";'),('en','messages:suppressionlog','s:15:\"Suppression log\";'),('en','messages:suppressionlogtext','s:184:\"Below is a list of deletions and blocks involving content hidden from administrators.\nSee the [[Special:BlockList|IP block list]] for the list of currently operational bans and blocks.\";'),('en','messages:mergehistory','s:20:\"Merge page histories\";'),('en','messages:mergehistory-header','s:156:\"This page lets you merge revisions of the history of one source page into a newer page.\nMake sure that this change will maintain historical page continuity.\";'),('en','messages:mergehistory-box','s:29:\"Merge revisions of two pages:\";'),('en','messages:mergehistory-from','s:12:\"Source page:\";'),('en','messages:mergehistory-into','s:17:\"Destination page:\";'),('en','messages:mergehistory-list','s:22:\"Mergeable edit history\";'),('en','messages:mergehistory-merge','s:224:\"The following revisions of [[:$1]] can be merged into [[:$2]].\nUse the radio button column to merge in only the revisions created at and before the specified time.\nNote that using the navigation links will reset this column.\";'),('en','messages:mergehistory-go','s:20:\"Show mergeable edits\";'),('en','messages:mergehistory-submit','s:15:\"Merge revisions\";'),('en','messages:mergehistory-empty','s:27:\"No revisions can be merged.\";'),('en','messages:mergehistory-success','s:80:\"$3 {{PLURAL:$3|revision|revisions}} of [[:$1]] successfully merged into [[:$2]].\";'),('en','messages:mergehistory-fail','s:77:\"Unable to perform history merge, please recheck the page and time parameters.\";'),('en','messages:mergehistory-no-source','s:30:\"Source page $1 does not exist.\";'),('en','messages:mergehistory-no-destination','s:35:\"Destination page $1 does not exist.\";'),('en','messages:mergehistory-invalid-source','s:34:\"Source page must be a valid title.\";'),('en','messages:mergehistory-invalid-destination','s:39:\"Destination page must be a valid title.\";'),('en','messages:mergehistory-autocomment','s:27:\"Merged [[:$1]] into [[:$2]]\";'),('en','messages:mergehistory-comment','s:31:\"Merged [[:$1]] into [[:$2]]: $3\";'),('en','messages:mergehistory-same-destination','s:47:\"Source and destination pages cannot be the same\";'),('en','messages:mergehistory-reason','s:7:\"Reason:\";'),('en','messages:mergelog','s:9:\"Merge log\";'),('en','messages:pagemerge-logentry','s:46:\"merged [[$1]] into [[$2]] (revisions up to $3)\";'),('en','messages:revertmerge','s:7:\"Unmerge\";'),('en','messages:mergelogpagetext','s:75:\"Below is a list of the most recent merges of one page history into another.\";'),('en','messages:history-title','s:24:\"Revision history of \"$1\"\";'),('en','messages:difference','s:30:\"(Difference between revisions)\";'),('en','messages:difference-multipage','s:26:\"(Difference between pages)\";'),('en','messages:lineno','s:8:\"Line $1:\";'),('en','messages:compareselectedversions','s:26:\"Compare selected revisions\";'),('en','messages:showhideselectedversions','s:28:\"Show/hide selected revisions\";'),('en','messages:editundo','s:4:\"undo\";'),('en','messages:diff-multi','s:112:\"({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by {{PLURAL:$2|one user|$2 users}} not shown)\";'),('en','messages:diff-multi-manyusers','s:118:\"({{PLURAL:$1|One intermediate revision|$1 intermediate revisions}} by more than $2 {{PLURAL:$2|user|users}} not shown)\";'),('en','messages:search-summary','s:0:\"\";'),('en','messages:searchresults','s:14:\"Search results\";'),('en','messages:searchresults-title','s:23:\"Search results for \"$1\"\";'),('en','messages:searchresulttext','s:95:\"For more information about searching {{SITENAME}}, see [[{{MediaWiki:Helppage}}|{{int:help}}]].\";'),('en','messages:searchsubtitle','s:166:\"You searched for \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|all pages starting with \"$1\"]]{{int:pipe-separator}}[[Special:WhatLinksHere/$1|all pages that link to \"$1\"]])\";'),('en','messages:searchsubtitleinvalid','s:25:\"You searched for \'\'\'$1\'\'\'\";'),('en','messages:toomanymatches','s:60:\"Too many matches were returned, please try a different query\";'),('en','messages:titlematches','s:18:\"Page title matches\";'),('en','messages:notitlematches','s:21:\"No page title matches\";'),('en','messages:textmatches','s:17:\"Page text matches\";'),('en','messages:notextmatches','s:20:\"No page text matches\";'),('en','messages:prevn','s:25:\"previous {{PLURAL:$1|$1}}\";'),('en','messages:nextn','s:21:\"next {{PLURAL:$1|$1}}\";'),('en','messages:prevn-title','s:40:\"Previous $1 {{PLURAL:$1|result|results}}\";'),('en','messages:nextn-title','s:36:\"Next $1 {{PLURAL:$1|result|results}}\";'),('en','messages:shown-title','s:45:\"Show $1 {{PLURAL:$1|result|results}} per page\";'),('en','messages:viewprevnext','s:40:\"View ($1 {{int:pipe-separator}} $2) ($3)\";'),('en','messages:searchmenu-legend','s:14:\"Search options\";'),('en','messages:searchmenu-exists','s:51:\"\'\'\'There is a page named \"[[:$1]]\" on this wiki.\'\'\'\";'),('en','messages:searchmenu-new','s:45:\"\'\'\'Create the page \"[[:$1]]\" on this wiki!\'\'\'\";'),('en','messages:searchmenu-new-nocreate','s:0:\"\";'),('en','messages:searchhelp-url','s:13:\"Help:Contents\";'),('en','messages:searchmenu-prefix','s:56:\"[[Special:PrefixIndex/$1|Browse pages with this prefix]]\";'),('en','messages:searchmenu-help','s:46:\"[[{{MediaWiki:Searchhelp-url}}|{{int:help}}]]?\";'),('en','messages:searchprofile-articles','s:13:\"Content pages\";'),('en','messages:searchprofile-project','s:22:\"Help and Project pages\";'),('en','messages:searchprofile-images','s:10:\"Multimedia\";'),('en','messages:searchprofile-everything','s:10:\"Everything\";'),('en','messages:searchprofile-advanced','s:8:\"Advanced\";'),('en','messages:searchprofile-articles-tooltip','s:12:\"Search in $1\";'),('en','messages:searchprofile-project-tooltip','s:12:\"Search in $1\";'),('en','messages:searchprofile-images-tooltip','s:16:\"Search for files\";'),('en','messages:searchprofile-everything-tooltip','s:44:\"Search all of content (including talk pages)\";'),('en','messages:searchprofile-advanced-tooltip','s:27:\"Search in custom namespaces\";'),('en','messages:search-result-size','s:34:\"$1 ({{PLURAL:$2|1 word|$2 words}})\";'),('en','messages:search-result-category-size','s:111:\"{{PLURAL:$1|1 member|$1 members}} ({{PLURAL:$2|1 subcategory|$2 subcategories}}, {{PLURAL:$3|1 file|$3 files}})\";'),('en','messages:search-result-score','s:14:\"Relevance: $1%\";'),('en','messages:search-redirect','s:13:\"(redirect $1)\";'),('en','messages:search-section','s:12:\"(section $1)\";'),('en','messages:search-suggest','s:16:\"Did you mean: $1\";'),('en','messages:search-interwiki-caption','s:15:\"Sister projects\";'),('en','messages:search-interwiki-default','s:11:\"$1 results:\";'),('en','messages:search-interwiki-custom','s:0:\"\";'),('en','messages:search-interwiki-more','s:6:\"(more)\";'),('en','messages:search-mwsuggest-enabled','s:16:\"with suggestions\";'),('en','messages:search-mwsuggest-disabled','s:14:\"no suggestions\";'),('en','messages:search-relatedarticle','s:7:\"Related\";'),('en','messages:mwsuggest-disable','s:24:\"Disable AJAX suggestions\";'),('en','messages:searcheverything-enable','s:24:\"Search in all namespaces\";'),('en','messages:searchrelated','s:7:\"related\";'),('en','messages:searchall','s:3:\"all\";'),('en','messages:showingresults','s:90:\"Showing below up to {{PLURAL:$1|\'\'\'1\'\'\' result|\'\'\'$1\'\'\' results}} starting with #\'\'\'$2\'\'\'.\";'),('en','messages:showingresultsnum','s:84:\"Showing below {{PLURAL:$3|\'\'\'1\'\'\' result|\'\'\'$3\'\'\' results}} starting with #\'\'\'$2\'\'\'.\";'),('en','messages:showingresultsheader','s:88:\"{{PLURAL:$5|Result \'\'\'$1\'\'\' of \'\'\'$3\'\'\'|Results \'\'\'$1 - $2\'\'\' of \'\'\'$3\'\'\'}} for \'\'\'$4\'\'\'\";'),('en','messages:nonefound','s:198:\"\'\'\'Note\'\'\': Only some namespaces are searched by default.\nTry prefixing your query with \'\'all:\'\' to search all content (including talk pages, templates, etc), or use the desired namespace as prefix.\";'),('en','messages:search-nonefound','s:41:\"There were no results matching the query.\";'),('en','messages:powersearch','s:15:\"Advanced search\";'),('en','messages:powersearch-legend','s:15:\"Advanced search\";'),('en','messages:powersearch-ns','s:21:\"Search in namespaces:\";'),('en','messages:powersearch-redir','s:14:\"List redirects\";'),('en','messages:powersearch-field','s:10:\"Search for\";'),('en','messages:powersearch-togglelabel','s:6:\"Check:\";'),('en','messages:powersearch-toggleall','s:3:\"All\";'),('en','messages:powersearch-togglenone','s:4:\"None\";'),('en','messages:search-external','s:15:\"External search\";'),('en','messages:searchdisabled','s:143:\"{{SITENAME}} search is disabled.\nYou can search via Google in the meantime.\nNote that their indexes of {{SITENAME}} content may be out of date.\";'),('en','messages:googlesearch','s:630:\"<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n	<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n	<input type=\"hidden\" name=\"num\" value=\"50\" />\n	<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n	<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n	<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n	<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>\";'),('en','messages:opensearch-desc','s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";'),('en','messages:qbsettings','s:8:\"Quickbar\";'),('en','messages:qbsettings-none','s:4:\"None\";'),('en','messages:qbsettings-fixedleft','s:10:\"Fixed left\";'),('en','messages:qbsettings-fixedright','s:11:\"Fixed right\";'),('en','messages:qbsettings-floatingleft','s:13:\"Floating left\";'),('en','messages:qbsettings-floatingright','s:14:\"Floating right\";'),('en','messages:qbsettings-directionality','s:62:\"Fixed, depending on the script directionality of your language\";'),('en','messages:preferences','s:11:\"Preferences\";'),('en','messages:preferences-summary','s:0:\"\";'),('en','messages:mypreferences','s:14:\"My preferences\";'),('en','messages:prefs-edits','s:16:\"Number of edits:\";'),('en','messages:prefsnologin','s:13:\"Not logged in\";'),('en','messages:prefsnologintext','s:127:\"You must be <span class=\"plainlinks\">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} logged in]</span> to set user preferences.\";'),('en','messages:changepassword','s:15:\"Change password\";'),('en','messages:prefs-skin','s:4:\"Skin\";'),('en','messages:skin-preview','s:7:\"Preview\";'),('en','messages:datedefault','s:13:\"No preference\";'),('en','messages:prefs-beta','s:13:\"Beta features\";'),('en','messages:prefs-datetime','s:13:\"Date and time\";'),('en','messages:prefs-labs','s:13:\"Labs features\";'),('en','messages:prefs-personal','s:12:\"User profile\";'),('en','messages:prefs-rc','s:14:\"Recent changes\";'),('en','messages:prefs-watchlist','s:9:\"Watchlist\";'),('en','messages:prefs-watchlist-days','s:26:\"Days to show in watchlist:\";'),('en','messages:prefs-watchlist-days-max','s:14:\"Maximum 7 days\";'),('en','messages:prefs-watchlist-edits','s:56:\"Maximum number of changes to show in expanded watchlist:\";'),('en','messages:prefs-watchlist-edits-max','s:20:\"Maximum number: 1000\";'),('en','messages:prefs-watchlist-token','s:16:\"Watchlist token:\";'),('en','messages:prefs-misc','s:4:\"Misc\";'),('en','messages:prefs-resetpass','s:15:\"Change password\";'),('en','messages:prefs-email','s:14:\"E-mail options\";'),('en','messages:prefs-rendering','s:10:\"Appearance\";'),('en','messages:saveprefs','s:4:\"Save\";'),('en','messages:resetprefs','s:21:\"Clear unsaved changes\";'),('en','messages:restoreprefs','s:28:\"Restore all default settings\";'),('en','messages:prefs-editing','s:7:\"Editing\";'),('en','messages:prefs-edit-boxsize','s:24:\"Size of the edit window.\";'),('en','messages:rows','s:5:\"Rows:\";'),('en','messages:columns','s:8:\"Columns:\";'),('en','messages:searchresultshead','s:6:\"Search\";'),('en','messages:resultsperpage','s:14:\"Hits per page:\";'),('en','messages:stub-threshold','s:72:\"Threshold for <a href=\"#\" class=\"stub\">stub link</a> formatting (bytes):\";'),('en','messages:stub-threshold-disabled','s:8:\"Disabled\";'),('en','messages:recentchangesdays','s:31:\"Days to show in recent changes:\";'),('en','messages:recentchangesdays-max','s:33:\"Maximum $1 {{PLURAL:$1|day|days}}\";'),('en','messages:recentchangescount','s:35:\"Number of edits to show by default:\";'),('en','messages:prefs-help-recentchangescount','s:55:\"This includes recent changes, page histories, and logs.\";'),('en','messages:prefs-help-watchlist-token','s:237:\"Filling in this field with a secret key will generate an RSS feed for your watchlist.\nAnyone who knows the key in this field will be able to read your watchlist, so choose a secure value.\nHere\'s a randomly-generated value you can use: $1\";'),('en','messages:savedprefs','s:33:\"Your preferences have been saved.\";'),('en','messages:timezonelegend','s:10:\"Time zone:\";'),('en','messages:localtime','s:11:\"Local time:\";'),('en','messages:timezoneuseserverdefault','s:21:\"Use wiki default ($1)\";'),('en','messages:timezoneuseoffset','s:22:\"Other (specify offset)\";'),('en','messages:timezoneoffset','s:9:\"Offset¹:\";'),('en','messages:servertime','s:12:\"Server time:\";'),('en','messages:guesstimezone','s:20:\"Fill in from browser\";'),('en','messages:timezoneregion-africa','s:6:\"Africa\";'),('en','messages:timezoneregion-america','s:7:\"America\";'),('en','messages:timezoneregion-antarctica','s:10:\"Antarctica\";'),('en','messages:timezoneregion-arctic','s:6:\"Arctic\";'),('en','messages:timezoneregion-asia','s:4:\"Asia\";'),('en','messages:timezoneregion-atlantic','s:14:\"Atlantic Ocean\";'),('en','messages:timezoneregion-australia','s:9:\"Australia\";'),('en','messages:timezoneregion-europe','s:6:\"Europe\";'),('en','messages:timezoneregion-indian','s:12:\"Indian Ocean\";'),('en','messages:timezoneregion-pacific','s:13:\"Pacific Ocean\";'),('en','messages:allowemail','s:30:\"Enable e-mail from other users\";'),('en','messages:prefs-searchoptions','s:14:\"Search options\";'),('en','messages:prefs-namespaces','s:10:\"Namespaces\";'),('en','messages:defaultns','s:37:\"Otherwise search in these namespaces:\";'),('en','messages:default','s:7:\"default\";'),('en','messages:prefs-files','s:5:\"Files\";'),('en','messages:prefs-custom-css','s:10:\"Custom CSS\";'),('en','messages:prefs-custom-js','s:17:\"Custom JavaScript\";'),('en','messages:prefs-common-css-js','s:36:\"Shared CSS/JavaScript for all skins:\";'),('en','messages:prefs-reset-intro','s:92:\"You can use this page to reset your preferences to the site defaults.\nThis cannot be undone.\";'),('en','messages:prefs-emailconfirm-label','s:20:\"E-mail confirmation:\";'),('en','messages:prefs-textboxsize','s:22:\"Size of editing window\";'),('en','messages:youremail','s:7:\"E-mail:\";'),('en','messages:username','s:9:\"Username:\";'),('en','messages:uid','s:8:\"User ID:\";'),('en','messages:prefs-memberingroups','s:37:\"Member of {{PLURAL:$1|group|groups}}:\";'),('en','messages:prefs-memberingroups-type','s:2:\"$1\";'),('en','messages:prefs-registration','s:18:\"Registration time:\";'),('en','messages:prefs-registration-date-time','s:2:\"$1\";'),('en','messages:yourrealname','s:10:\"Real name:\";'),('en','messages:yourlanguage','s:9:\"Language:\";'),('en','messages:yourvariant','s:25:\"Content language variant:\";'),('en','messages:yournick','s:14:\"New signature:\";'),('en','messages:prefs-help-signature','s:129:\"Comments on talk pages should be signed with \"<nowiki>~~~~</nowiki>\" which will be converted into your signature and a timestamp.\";'),('en','messages:badsig','s:39:\"Invalid raw signature.\nCheck HTML tags.\";'),('en','messages:badsiglength','s:96:\"Your signature is too long.\nIt must not be more than $1 {{PLURAL:$1|character|characters}} long.\";'),('en','messages:yourgender','s:7:\"Gender:\";'),('en','messages:gender-unknown','s:11:\"Undisclosed\";'),('en','messages:gender-male','s:4:\"Male\";'),('en','messages:gender-female','s:6:\"Female\";'),('en','messages:prefs-help-gender','s:94:\"Optional: Used for gender-correct addressing by the software.\nThis information will be public.\";'),('en','messages:email','s:6:\"E-mail\";'),('en','messages:prefs-help-realname','s:111:\"Real name is optional.\nIf you choose to provide it, this will be used for giving you attribution for your work.\";'),('en','messages:prefs-help-email','s:95:\"E-mail address is optional, but is needed for password resets, should you forget your password.\";'),('en','messages:prefs-help-email-others','s:163:\"You can also choose to let others contact you by e-mail through a link on your user or talk page.\nYour e-mail address is not revealed when other users contact you.\";'),('en','messages:prefs-help-email-required','s:27:\"E-mail address is required.\";'),('en','messages:prefs-info','s:17:\"Basic information\";'),('en','messages:prefs-i18n','s:20:\"Internationalisation\";'),('en','messages:prefs-signature','s:9:\"Signature\";'),('en','messages:prefs-dateformat','s:11:\"Date format\";'),('en','messages:prefs-timeoffset','s:11:\"Time offset\";'),('en','messages:prefs-advancedediting','s:16:\"Advanced options\";'),('en','messages:prefs-advancedrc','s:16:\"Advanced options\";'),('en','messages:prefs-advancedrendering','s:16:\"Advanced options\";'),('en','messages:prefs-advancedsearchoptions','s:16:\"Advanced options\";'),('en','messages:prefs-advancedwatchlist','s:16:\"Advanced options\";'),('en','messages:prefs-displayrc','s:15:\"Display options\";'),('en','messages:prefs-displaysearchoptions','s:15:\"Display options\";'),('en','messages:prefs-displaywatchlist','s:15:\"Display options\";'),('en','messages:prefs-diffs','s:5:\"Diffs\";'),('en','messages:email-address-validity-valid','s:28:\"E-mail address appears valid\";'),('en','messages:email-address-validity-invalid','s:28:\"Enter a valid e-mail address\";'),('en','messages:userrights','s:22:\"User rights management\";'),('en','messages:userrights-summary','s:0:\"\";'),('en','messages:userrights-lookup-user','s:18:\"Manage user groups\";'),('en','messages:userrights-user-editname','s:17:\"Enter a username:\";'),('en','messages:editusergroup','s:16:\"Edit user groups\";'),('en','messages:editinguser','s:164:\"Changing user rights of user \'\'\'[[User:$1|$1]]\'\'\' ([[User talk:$1|{{int:talkpagelinktext}}]]{{int:pipe-separator}}[[Special:Contributions/$1|{{int:contribslink}}]])\";'),('en','messages:userrights-editusergroup','s:16:\"Edit user groups\";'),('en','messages:saveusergroups','s:16:\"Save user groups\";'),('en','messages:userrights-groupsmember','s:10:\"Member of:\";'),('en','messages:userrights-groupsmember-auto','s:19:\"Implicit member of:\";'),('en','messages:userrights-groups-help','s:234:\"You may alter the groups this user is in:\n* A checked box means the user is in that group.\n* An unchecked box means the user is not in that group.\n* A * indicates that you cannot remove the group once you have added it, or vice versa.\";'),('en','messages:userrights-reason','s:7:\"Reason:\";'),('en','messages:userrights-no-interwiki','s:62:\"You do not have permission to edit user rights on other wikis.\";'),('en','messages:userrights-nodatabase','s:43:\"Database $1 does not exist or is not local.\";'),('en','messages:userrights-nologin','s:90:\"You must [[Special:UserLogin|log in]] with an administrator account to assign user rights.\";'),('en','messages:userrights-notallowed','s:67:\"Your account does not have permission to add or remove user rights.\";'),('en','messages:userrights-changeable-col','s:21:\"Groups you can change\";'),('en','messages:userrights-unchangeable-col','s:24:\"Groups you cannot change\";'),('en','messages:userrights-irreversible-marker','s:3:\"$1*\";'),('en','messages:group','s:6:\"Group:\";'),('en','messages:group-user','s:5:\"Users\";'),('en','messages:group-autoconfirmed','s:19:\"Autoconfirmed users\";'),('en','messages:group-bot','s:4:\"Bots\";'),('en','messages:group-sysop','s:14:\"Administrators\";'),('en','messages:group-bureaucrat','s:11:\"Bureaucrats\";'),('en','messages:group-suppress','s:10:\"Oversights\";'),('en','messages:group-all','s:5:\"(all)\";'),('en','messages:group-user-member','s:4:\"user\";'),('en','messages:group-autoconfirmed-member','s:18:\"autoconfirmed user\";'),('en','messages:group-bot-member','s:3:\"bot\";'),('en','messages:group-sysop-member','s:13:\"administrator\";'),('en','messages:group-bureaucrat-member','s:10:\"bureaucrat\";'),('en','messages:group-suppress-member','s:9:\"oversight\";'),('en','messages:grouppage-user','s:20:\"{{ns:project}}:Users\";'),('en','messages:grouppage-autoconfirmed','s:34:\"{{ns:project}}:Autoconfirmed users\";'),('en','messages:grouppage-bot','s:19:\"{{ns:project}}:Bots\";'),('en','messages:grouppage-sysop','s:29:\"{{ns:project}}:Administrators\";'),('en','messages:grouppage-bureaucrat','s:26:\"{{ns:project}}:Bureaucrats\";'),('en','messages:grouppage-suppress','s:24:\"{{ns:project}}:Oversight\";'),('en','messages:right-read','s:10:\"Read pages\";'),('en','messages:right-edit','s:10:\"Edit pages\";'),('en','messages:right-createpage','s:45:\"Create pages (which are not discussion pages)\";'),('en','messages:right-createtalk','s:23:\"Create discussion pages\";'),('en','messages:right-createaccount','s:24:\"Create new user accounts\";'),('en','messages:right-minoredit','s:19:\"Mark edits as minor\";'),('en','messages:right-move','s:10:\"Move pages\";'),('en','messages:right-move-subpages','s:30:\"Move pages with their subpages\";'),('en','messages:right-move-rootuserpages','s:20:\"Move root user pages\";'),('en','messages:right-movefile','s:10:\"Move files\";'),('en','messages:right-suppressredirect','s:56:\"Not create redirects from source pages when moving pages\";'),('en','messages:right-upload','s:12:\"Upload files\";'),('en','messages:right-reupload','s:24:\"Overwrite existing files\";'),('en','messages:right-reupload-own','s:44:\"Overwrite existing files uploaded by oneself\";'),('en','messages:right-reupload-shared','s:53:\"Override files on the shared media repository locally\";'),('en','messages:right-upload_by_url','s:23:\"Upload files from a URL\";'),('en','messages:right-purge','s:52:\"Purge the site cache for a page without confirmation\";'),('en','messages:right-autoconfirmed','s:25:\"Edit semi-protected pages\";'),('en','messages:right-bot','s:34:\"Be treated as an automated process\";'),('en','messages:right-nominornewtalk','s:72:\"Not have minor edits to discussion pages trigger the new messages prompt\";'),('en','messages:right-apihighlimits','s:32:\"Use higher limits in API queries\";'),('en','messages:right-writeapi','s:20:\"Use of the write API\";'),('en','messages:right-delete','s:12:\"Delete pages\";'),('en','messages:right-bigdelete','s:33:\"Delete pages with large histories\";'),('en','messages:right-deleterevision','s:47:\"Delete and undelete specific revisions of pages\";'),('en','messages:right-deletedhistory','s:59:\"View deleted history entries, without their associated text\";'),('en','messages:right-deletedtext','s:55:\"View deleted text and changes between deleted revisions\";'),('en','messages:right-browsearchive','s:20:\"Search deleted pages\";'),('en','messages:right-undelete','s:15:\"Undelete a page\";'),('en','messages:right-suppressrevision','s:55:\"Review and restore revisions hidden from administrators\";'),('en','messages:right-suppressionlog','s:17:\"View private logs\";'),('en','messages:right-block','s:30:\"Block other users from editing\";'),('en','messages:right-blockemail','s:32:\"Block a user from sending e-mail\";'),('en','messages:right-hideuser','s:43:\"Block a username, hiding it from the public\";'),('en','messages:right-ipblock-exempt','s:46:\"Bypass IP blocks, auto-blocks and range blocks\";'),('en','messages:right-proxyunbannable','s:34:\"Bypass automatic blocks of proxies\";'),('en','messages:right-unblockself','s:18:\"Unblock themselves\";'),('en','messages:right-protect','s:49:\"Change protection levels and edit protected pages\";'),('en','messages:right-editprotected','s:51:\"Edit protected pages (without cascading protection)\";'),('en','messages:right-editinterface','s:23:\"Edit the user interface\";'),('en','messages:right-editusercssjs','s:42:\"Edit other users\' CSS and JavaScript files\";'),('en','messages:right-editusercss','s:27:\"Edit other users\' CSS files\";'),('en','messages:right-edituserjs','s:34:\"Edit other users\' JavaScript files\";'),('en','messages:right-rollback','s:72:\"Quickly rollback the edits of the last user who edited a particular page\";'),('en','messages:right-markbotedits','s:35:\"Mark rolled-back edits as bot edits\";'),('en','messages:right-noratelimit','s:30:\"Not be affected by rate limits\";'),('en','messages:right-import','s:29:\"Import pages from other wikis\";'),('en','messages:right-importupload','s:31:\"Import pages from a file upload\";'),('en','messages:right-patrol','s:31:\"Mark others\' edits as patrolled\";'),('en','messages:right-autopatrol','s:54:\"Have one\'s own edits automatically marked as patrolled\";'),('en','messages:right-patrolmarks','s:32:\"View recent changes patrol marks\";'),('en','messages:right-unwatchedpages','s:30:\"View a list of unwatched pages\";'),('en','messages:right-trackback','s:18:\"Submit a trackback\";'),('en','messages:right-mergehistory','s:26:\"Merge the history of pages\";'),('en','messages:right-userrights','s:20:\"Edit all user rights\";'),('en','messages:right-userrights-interwiki','s:40:\"Edit user rights of users on other wikis\";'),('en','messages:right-siteadmin','s:28:\"Lock and unlock the database\";'),('en','messages:right-override-export-depth','s:54:\"Export pages including linked pages up to a depth of 5\";'),('en','messages:right-sendemail','s:26:\"Send e-mail to other users\";'),('en','messages:rightslog','s:15:\"User rights log\";'),('en','messages:rightslogtext','s:40:\"This is a log of changes to user rights.\";'),('en','messages:rightslogentry','s:45:\"changed group membership for $1 from $2 to $3\";'),('en','messages:rightslogentry-autopromote','s:40:\"was automatically promoted from $2 to $3\";'),('en','messages:rightsnone','s:6:\"(none)\";'),('en','messages:action-read','s:14:\"read this page\";'),('en','messages:action-edit','s:14:\"edit this page\";'),('en','messages:action-createpage','s:12:\"create pages\";'),('en','messages:action-createtalk','s:23:\"create discussion pages\";'),('en','messages:action-createaccount','s:24:\"create this user account\";'),('en','messages:action-minoredit','s:23:\"mark this edit as minor\";'),('en','messages:action-move','s:14:\"move this page\";'),('en','messages:action-move-subpages','s:32:\"move this page, and its subpages\";'),('en','messages:action-move-rootuserpages','s:20:\"move root user pages\";'),('en','messages:action-movefile','s:14:\"move this file\";'),('en','messages:action-upload','s:16:\"upload this file\";'),('en','messages:action-reupload','s:28:\"overwrite this existing file\";'),('en','messages:action-reupload-shared','s:41:\"override this file on a shared repository\";'),('en','messages:action-upload_by_url','s:27:\"upload this file from a URL\";'),('en','messages:action-writeapi','s:17:\"use the write API\";'),('en','messages:action-delete','s:16:\"delete this page\";'),('en','messages:action-deleterevision','s:20:\"delete this revision\";'),('en','messages:action-deletedhistory','s:32:\"view this page\'s deleted history\";'),('en','messages:action-browsearchive','s:20:\"search deleted pages\";'),('en','messages:action-undelete','s:18:\"undelete this page\";'),('en','messages:action-suppressrevision','s:39:\"review and restore this hidden revision\";'),('en','messages:action-suppressionlog','s:21:\"view this private log\";'),('en','messages:action-block','s:28:\"block this user from editing\";'),('en','messages:action-protect','s:38:\"change protection levels for this page\";'),('en','messages:action-import','s:34:\"import this page from another wiki\";'),('en','messages:action-importupload','s:35:\"import this page from a file upload\";'),('en','messages:action-patrol','s:30:\"mark others\' edit as patrolled\";'),('en','messages:action-autopatrol','s:34:\"have your edit marked as patrolled\";'),('en','messages:action-unwatchedpages','s:32:\"view the list of unwatched pages\";'),('en','messages:action-trackback','s:18:\"submit a trackback\";'),('en','messages:action-mergehistory','s:30:\"merge the history of this page\";'),('en','messages:action-userrights','s:20:\"edit all user rights\";'),('en','messages:action-userrights-interwiki','s:40:\"edit user rights of users on other wikis\";'),('en','messages:action-siteadmin','s:27:\"lock or unlock the database\";'),('en','messages:nchanges','s:31:\"$1 {{PLURAL:$1|change|changes}}\";'),('en','messages:recentchanges','s:14:\"Recent changes\";'),('en','messages:recentchanges-url','s:21:\"Special:RecentChanges\";'),('en','messages:recentchanges-legend','s:22:\"Recent changes options\";'),('en','messages:recentchangestext','s:55:\"Track the most recent changes to the wiki on this page.\";'),('en','messages:recentchanges-feed-description','s:55:\"Track the most recent changes to the wiki in this feed.\";'),('en','messages:recentchanges-label-newpage','s:28:\"This edit created a new page\";'),('en','messages:recentchanges-label-minor','s:20:\"This is a minor edit\";'),('en','messages:recentchanges-label-bot','s:32:\"This edit was performed by a bot\";'),('en','messages:recentchanges-label-unpatrolled','s:36:\"This edit has not yet been patrolled\";'),('en','messages:rcnote','s:126:\"Below {{PLURAL:$1|is \'\'\'1\'\'\' change|are the last \'\'\'$1\'\'\' changes}} in the last {{PLURAL:$2|day|\'\'\'$2\'\'\' days}}, as of $5, $4.\";'),('en','messages:rcnotefrom','s:60:\"Below are the changes since \'\'\'$2\'\'\' (up to \'\'\'$1\'\'\' shown).\";'),('en','messages:rclistfrom','s:33:\"Show new changes starting from $1\";'),('en','messages:rcshowhideminor','s:14:\"$1 minor edits\";'),('en','messages:rcshowhidebots','s:7:\"$1 bots\";'),('en','messages:rcshowhideliu','s:18:\"$1 logged-in users\";'),('en','messages:rcshowhideanons','s:18:\"$1 anonymous users\";'),('en','messages:rcshowhidepatr','s:18:\"$1 patrolled edits\";'),('en','messages:rcshowhidemine','s:11:\"$1 my edits\";'),('en','messages:rclinks','s:44:\"Show last $1 changes in last $2 days<br />$3\";'),('en','messages:diff','s:4:\"diff\";'),('en','messages:hist','s:4:\"hist\";'),('en','messages:hide','s:4:\"Hide\";'),('en','messages:show','s:4:\"Show\";'),('en','messages:minoreditletter','s:1:\"m\";'),('en','messages:newpageletter','s:1:\"N\";'),('en','messages:boteditletter','s:1:\"b\";'),('en','messages:unpatrolledletter','s:1:\"!\";'),('en','messages:sectionlink','s:3:\"→\";'),('en','messages:number_of_watching_users_RCview','s:4:\"[$1]\";'),('en','messages:number_of_watching_users_pageview','s:38:\"[$1 watching {{PLURAL:$1|user|users}}]\";'),('en','messages:rc_categories','s:39:\"Limit to categories (separate with \"|\")\";'),('en','messages:rc_categories_any','s:3:\"Any\";'),('en','messages:rc-change-size','s:2:\"$1\";'),('en','messages:newsectionsummary','s:20:\"/* $1 */ new section\";'),('en','messages:rc-enhanced-expand','s:34:\"Show details (requires JavaScript)\";'),('en','messages:rc-enhanced-hide','s:12:\"Hide details\";'),('en','messages:recentchangeslinked','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-feed','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-toolbox','s:15:\"Related changes\";'),('en','messages:recentchangeslinked-title','s:23:\"Changes related to \"$1\"\";'),('en','messages:recentchangeslinked-backlink','s:6:\"← $1\";'),('en','messages:recentchangeslinked-noresult','s:51:\"No changes on linked pages during the given period.\";'),('en','messages:recentchangeslinked-summary','s:180:\"This is a list of changes made recently to pages linked from a specified page (or to members of a specified category).\nPages on [[Special:Watchlist|your watchlist]] are \'\'\'bold\'\'\'.\";'),('en','messages:recentchangeslinked-page','s:10:\"Page name:\";'),('en','messages:recentchangeslinked-to','s:54:\"Show changes to pages linked to the given page instead\";'),('en','messages:upload','s:11:\"Upload file\";'),('en','messages:uploadbtn','s:11:\"Upload file\";'),('en','messages:reuploaddesc','s:43:\"Cancel upload and return to the upload form\";'),('en','messages:upload-tryagain','s:32:\"Submit modified file description\";'),('en','messages:uploadnologin','s:13:\"Not logged in\";'),('en','messages:uploadnologintext','s:60:\"You must be [[Special:UserLogin|logged in]] to upload files.\";'),('en','messages:upload_directory_missing','s:79:\"The upload directory ($1) is missing and could not be created by the webserver.\";'),('en','messages:upload_directory_read_only','s:59:\"The upload directory ($1) is not writable by the webserver.\";'),('en','messages:uploaderror','s:12:\"Upload error\";'),('en','messages:upload-summary','s:0:\"\";'),('en','messages:upload-recreate-warning','s:137:\"\'\'\'Warning: A file by that name has been deleted or moved.\'\'\'\n\nThe deletion and move log for this page are provided here for convenience:\";'),('en','messages:uploadtext','s:775:\"Use the form below to upload files.\nTo view or search previously uploaded files go to the [[Special:FileList|list of uploaded files]], (re)uploads are also logged in the [[Special:Log/upload|upload log]], deletions in the [[Special:Log/delete|deletion log]].\n\nTo include a file in a page, use a link in one of the following forms:\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></tt>\'\'\' to use the full version of the file\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt text]]</nowiki></tt>\'\'\' to use a 200 pixel wide rendition in a box in the left margin with \'alt text\' as description\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></tt>\'\'\' for directly linking to the file without displaying the file\";'),('en','messages:upload-permitted','s:25:\"Permitted file types: $1.\";'),('en','messages:upload-preferred','s:25:\"Preferred file types: $1.\";'),('en','messages:upload-prohibited','s:26:\"Prohibited file types: $1.\";'),('en','messages:uploadfooter','s:1:\"-\";'),('en','messages:uploadlog','s:10:\"upload log\";'),('en','messages:uploadlogpage','s:10:\"Upload log\";'),('en','messages:uploadlogpagetext','s:126:\"Below is a list of the most recent file uploads.\nSee the [[Special:NewFiles|gallery of new files]] for a more visual overview.\";'),('en','messages:filename','s:8:\"Filename\";'),('en','messages:filedesc','s:7:\"Summary\";'),('en','messages:fileuploadsummary','s:8:\"Summary:\";'),('en','messages:filereuploadsummary','s:13:\"File changes:\";'),('en','messages:filestatus','s:17:\"Copyright status:\";'),('en','messages:filesource','s:7:\"Source:\";'),('en','messages:uploadedfiles','s:14:\"Uploaded files\";'),('en','messages:ignorewarning','s:35:\"Ignore warning and save file anyway\";'),('en','messages:ignorewarnings','s:19:\"Ignore any warnings\";'),('en','messages:minlength1','s:39:\"File names must be at least one letter.\";'),('en','messages:illegalfilename','s:125:\"The filename \"$1\" contains characters that are not allowed in page titles.\nPlease rename the file and try uploading it again.\";'),('en','messages:badfilename','s:35:\"File name has been changed to \"$1\".\";'),('en','messages:filetype-mime-mismatch','s:76:\"File extension \".$1\" does not match the detected MIME type of the file ($2).\";'),('en','messages:filetype-badmime','s:59:\"Files of the MIME type \"$1\" are not allowed to be uploaded.\";'),('en','messages:filetype-bad-ie-mime','s:133:\"Cannot upload this file because Internet Explorer would detect it as \"$1\", which is a disallowed and potentially dangerous file type.\";'),('en','messages:filetype-unwanted-type','s:93:\"\'\'\'\".$1\"\'\'\' is an unwanted file type.\nPreferred {{PLURAL:$3|file type is|file types are}} $2.\";'),('en','messages:filetype-banned-type','s:140:\"\'\'\'\".$1\"\'\'\' {{PLURAL:$4|is not a permitted file type|are not permitted file types}}.\nPermitted {{PLURAL:$3|file type is|file types are}} $2.\";'),('en','messages:filetype-missing','s:40:\"The file has no extension (like \".jpg\").\";'),('en','messages:empty-file','s:33:\"The file you submitted was empty.\";'),('en','messages:file-too-large','s:37:\"The file you submitted was too large.\";'),('en','messages:filename-tooshort','s:26:\"The filename is too short.\";'),('en','messages:filetype-banned','s:28:\"This type of file is banned.\";'),('en','messages:verification-error','s:41:\"This file did not pass file verification.\";'),('en','messages:hookaborted','s:68:\"The modification you tried to make was aborted by an extension hook.\";'),('en','messages:illegal-filename','s:28:\"The filename is not allowed.\";'),('en','messages:overwrite','s:44:\"Overwriting an existing file is not allowed.\";'),('en','messages:unknown-error','s:25:\"An unknown error occured.\";'),('en','messages:tmp-create-error','s:32:\"Could not create temporary file.\";'),('en','messages:tmp-write-error','s:29:\"Error writing temporary file.\";'),('en','messages:large-file','s:68:\"It is recommended that files are no larger than $1;\nthis file is $2.\";'),('en','messages:largefileserver','s:59:\"This file is bigger than the server is configured to allow.\";'),('en','messages:emptyfile','s:144:\"The file you uploaded seems to be empty.\nThis might be due to a typo in the file name.\nPlease check whether you really want to upload this file.\";'),('en','messages:windows-nonascii-filename','s:61:\"This wiki does not support filenames with special characters.\";'),('en','messages:fileexists','s:132:\"A file with this name exists already, please check \'\'\'<tt>[[:$1]]</tt>\'\'\' if you are not sure if you want to change it.\n[[$1|thumb]]\";'),('en','messages:filepageexists','s:277:\"The description page for this file has already been created at \'\'\'<tt>[[:$1]]</tt>\'\'\', but no file with this name currently exists.\nThe summary you enter will not appear on the description page.\nTo make your summary appear there, you will need to manually edit it.\n[[$1|thumb]]\";'),('en','messages:fileexists-extension','s:184:\"A file with a similar name exists: [[$2|thumb]]\n* Name of the uploading file: \'\'\'<tt>[[:$1]]</tt>\'\'\'\n* Name of the existing file: \'\'\'<tt>[[:$2]]</tt>\'\'\'\nPlease choose a different name.\";'),('en','messages:fileexists-thumbnail-yes','s:226:\"The file seems to be an image of reduced size \'\'(thumbnail)\'\'.\n[[$1|thumb]]\nPlease check the file \'\'\'<tt>[[:$1]]</tt>\'\'\'.\nIf the checked file is the same image of original size it is not necessary to upload an extra thumbnail.\";'),('en','messages:file-thumbnail-no','s:198:\"The filename begins with \'\'\'<tt>$1</tt>\'\'\'.\nIt seems to be an image of reduced size \'\'(thumbnail)\'\'.\nIf you have this image in full resolution upload this one, otherwise change the file name please.\";'),('en','messages:fileexists-forbidden','s:166:\"A file with this name already exists, and cannot be overwritten.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]\";'),('en','messages:fileexists-shared-forbidden','s:169:\"A file with this name exists already in the shared file repository.\nIf you still want to upload your file, please go back and use a new name.\n[[File:$1|thumb|center|$1]]\";'),('en','messages:file-exists-duplicate','s:67:\"This file is a duplicate of the following {{PLURAL:$1|file|files}}:\";'),('en','messages:file-deleted-duplicate','s:149:\"A file identical to this file ([[:$1]]) has previously been deleted.\nYou should check that file\'s deletion history before proceeding to re-upload it.\";'),('en','messages:uploadwarning','s:14:\"Upload warning\";'),('en','messages:uploadwarning-text','s:55:\"Please modify the file description below and try again.\";'),('en','messages:savefile','s:9:\"Save file\";'),('en','messages:uploadedimage','s:17:\"uploaded \"[[$1]]\"\";'),('en','messages:overwroteimage','s:34:\"uploaded a new version of \"[[$1]]\"\";'),('en','messages:uploaddisabled','s:17:\"Uploads disabled.\";'),('en','messages:copyuploaddisabled','s:23:\"Upload by URL disabled.\";'),('en','messages:uploadfromurl-queued','s:28:\"Your upload has been queued.\";'),('en','messages:uploaddisabledtext','s:26:\"File uploads are disabled.\";'),('en','messages:php-uploaddisabledtext','s:72:\"File uploads are disabled in PHP.\nPlease check the file_uploads setting.\";'),('en','messages:uploadscripted','s:92:\"This file contains HTML or script code that may be erroneously interpreted by a web browser.\";'),('en','messages:uploadvirus','s:38:\"The file contains a virus!\nDetails: $1\";'),('en','messages:uploadjava','s:155:\"The file is a ZIP file which contains a Java .class file.\nUploading Java files is not allowed, because they can cause security restrictions to be bypassed.\";'),('en','messages:upload-source','s:11:\"Source file\";'),('en','messages:sourcefilename','s:16:\"Source filename:\";'),('en','messages:sourceurl','s:11:\"Source URL:\";'),('en','messages:destfilename','s:21:\"Destination filename:\";'),('en','messages:upload-maxfilesize','s:21:\"Maximum file size: $1\";'),('en','messages:upload-description','s:16:\"File description\";'),('en','messages:upload-options','s:14:\"Upload options\";'),('en','messages:watchthisupload','s:15:\"Watch this file\";'),('en','messages:filewasdeleted','s:136:\"A file of this name has been previously uploaded and subsequently deleted.\nYou should check the $1 before proceeding to upload it again.\";'),('en','messages:filename-bad-prefix','s:200:\"The name of the file you are uploading begins with \'\'\'\"$1\"\'\'\', which is a non-descriptive name typically assigned automatically by digital cameras.\nPlease choose a more descriptive name for your file.\";'),('en','messages:filename-prefix-blacklist','s:432:\" #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical file names assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->\";'),('en','messages:upload-success-subj','s:17:\"Successful upload\";'),('en','messages:upload-success-msg','s:79:\"Your upload from [$2] was successful. It is available here: [[:{{ns:file}}:$1]]\";'),('en','messages:upload-failure-subj','s:14:\"Upload problem\";'),('en','messages:upload-failure-msg','s:51:\"There was a problem with your upload from [$2]:\n\n$1\";'),('en','messages:upload-warning-subj','s:14:\"Upload warning\";'),('en','messages:upload-warning-msg','s:134:\"There was a problem with your upload from [$2]. You may return to the [[Special:Upload/stash/$1|upload form]] to correct this problem.\";'),('en','messages:upload-proto-error','s:18:\"Incorrect protocol\";'),('en','messages:upload-proto-error-text','s:87:\"Remote upload requires URLs beginning with <code>http://</code> or <code>ftp://</code>.\";'),('en','messages:upload-file-error','s:14:\"Internal error\";'),('en','messages:upload-file-error-text','s:145:\"An internal error occurred when attempting to create a temporary file on the server.\nPlease contact an [[Special:ListUsers/sysop|administrator]].\";'),('en','messages:upload-misc-error','s:20:\"Unknown upload error\";'),('en','messages:upload-misc-error-text','s:189:\"An unknown error occurred during the upload.\nPlease verify that the URL is valid and accessible and try again.\nIf the problem persists, contact an [[Special:ListUsers/sysop|administrator]].\";'),('en','messages:upload-too-many-redirects','s:36:\"The URL contained too many redirects\";'),('en','messages:upload-unknown-size','s:12:\"Unknown size\";'),('en','messages:upload-http-error','s:25:\"An HTTP error occured: $1\";'),('en','messages:zip-file-open-error','s:62:\"An error was encountered when opening the file for ZIP checks.\";'),('en','messages:zip-wrong-format','s:38:\"The specified file was not a ZIP file.\";'),('en','messages:zip-bad','s:99:\"The file is a corrupt or otherwise unreadable ZIP file.\nIt cannot be properly checked for security.\";'),('en','messages:zip-unsupported','s:118:\"The file is a ZIP file which uses ZIP features not supported by MediaWiki.\nIt cannot be properly checked for security.\";'),('en','messages:uploadstash','s:12:\"Upload stash\";'),('en','messages:uploadstash-summary','s:195:\"This page provides access to files which are uploaded (or in the process of uploading) but are not yet published to the wiki. These files are not visible to anyone but the user who uploaded them.\";'),('en','messages:uploadstash-clear','s:19:\"Clear stashed files\";'),('en','messages:uploadstash-nofiles','s:26:\"You have no stashed files.\";'),('en','messages:uploadstash-badtoken','s:104:\"Performing of that action was unsuccessful, perhaps because your editing credentials expired. Try again.\";'),('en','messages:uploadstash-errclear','s:36:\"Clearing the files was unsuccessful.\";'),('en','messages:uploadstash-refresh','s:25:\"Refresh the list of files\";'),('en','messages:img-auth-accessdenied','s:13:\"Access denied\";'),('en','messages:img-auth-nopathinfo','s:198:\"Missing PATH_INFO.\nYour server is not set up to pass this information.\nIt may be CGI-based and cannot support img_auth.\n[//www.mediawiki.org/wiki/Manual:Image_Authorization See image authorization.]\";'),('en','messages:img-auth-notindir','s:57:\"Requested path is not in the configured upload directory.\";'),('en','messages:img-auth-badtitle','s:44:\"Unable to construct a valid title from \"$1\".\";'),('en','messages:img-auth-nologinnWL','s:55:\"You are not logged in and \"$1\" is not in the whitelist.\";'),('en','messages:img-auth-nofile','s:25:\"File \"$1\" does not exist.\";'),('en','messages:img-auth-isdir','s:71:\"You are trying to access a directory \"$1\".\nOnly file access is allowed.\";'),('en','messages:img-auth-streaming','s:15:\"Streaming \"$1\".\";'),('en','messages:img-auth-public','s:158:\"The function of img_auth.php is to output files from a private wiki.\nThis wiki is configured as a public wiki.\nFor optimal security, img_auth.php is disabled.\";'),('en','messages:img-auth-noread','s:39:\"User does not have access to read \"$1\".\";'),('en','messages:img-auth-bad-query-string','s:36:\"The URL has an invalid query string.\";'),('en','messages:http-invalid-url','s:15:\"Invalid URL: $1\";'),('en','messages:http-invalid-scheme','s:44:\"URLs with the \"$1\" scheme are not supported.\";'),('en','messages:http-request-error','s:41:\"HTTP request failed due to unknown error.\";'),('en','messages:http-read-error','s:16:\"HTTP read error.\";'),('en','messages:http-timed-out','s:23:\"HTTP request timed out.\";'),('en','messages:http-curl-error','s:22:\"Error fetching URL: $1\";'),('en','messages:http-host-unreachable','s:20:\"Could not reach URL.\";'),('en','messages:http-bad-status','s:50:\"There was a problem during the HTTP request: $1 $2\";'),('en','messages:upload-curl-error6','s:19:\"Could not reach URL\";'),('en','messages:upload-curl-error6-text','s:102:\"The URL provided could not be reached.\nPlease double-check that the URL is correct and the site is up.\";'),('en','messages:upload-curl-error28','s:14:\"Upload timeout\";'),('en','messages:upload-curl-error28-text','s:138:\"The site took too long to respond.\nPlease check the site is up, wait a short while and try again.\nYou may want to try at a less busy time.\";'),('en','messages:license','s:10:\"Licensing:\";'),('en','messages:license-header','s:9:\"Licensing\";'),('en','messages:nolicense','s:13:\"None selected\";'),('en','messages:licenses','s:1:\"-\";'),('en','messages:license-nopreview','s:23:\"(Preview not available)\";'),('en','messages:upload_source_url','s:35:\" (a valid, publicly accessible URL)\";'),('en','messages:upload_source_file','s:26:\" (a file on your computer)\";'),('en','messages:listfiles-summary','s:149:\"This special page shows all uploaded files.\nWhen filtered by user, only files where that user uploaded the most recent version of the file are shown.\";'),('en','messages:listfiles_search_for','s:22:\"Search for media name:\";'),('en','messages:imgfile','s:4:\"file\";'),('en','messages:listfiles','s:9:\"File list\";'),('en','messages:listfiles_thumb','s:9:\"Thumbnail\";'),('en','messages:listfiles_date','s:4:\"Date\";'),('en','messages:listfiles_name','s:4:\"Name\";'),('en','messages:listfiles_user','s:4:\"User\";'),('en','messages:listfiles_size','s:4:\"Size\";'),('en','messages:listfiles_description','s:11:\"Description\";'),('en','messages:listfiles_count','s:8:\"Versions\";'),('en','messages:file-anchor-link','s:4:\"File\";'),('en','messages:filehist','s:12:\"File history\";'),('en','messages:filehist-help','s:66:\"Click on a date/time to view the file as it appeared at that time.\";'),('en','messages:filehist-deleteall','s:10:\"delete all\";'),('en','messages:filehist-deleteone','s:6:\"delete\";'),('en','messages:filehist-revert','s:6:\"revert\";'),('en','messages:filehist-current','s:7:\"current\";'),('en','messages:filehist-datetime','s:9:\"Date/Time\";'),('en','messages:filehist-thumb','s:9:\"Thumbnail\";'),('en','messages:filehist-thumbtext','s:30:\"Thumbnail for version as of $1\";'),('en','messages:filehist-nothumb','s:12:\"No thumbnail\";'),('en','messages:filehist-user','s:4:\"User\";'),('en','messages:filehist-dimensions','s:10:\"Dimensions\";'),('en','messages:filehist-filesize','s:9:\"File size\";'),('en','messages:filehist-comment','s:7:\"Comment\";'),('en','messages:filehist-missing','s:12:\"File missing\";'),('en','messages:imagelinks','s:10:\"File usage\";'),('en','messages:linkstoimage','s:66:\"The following {{PLURAL:$1|page links|$1 pages link}} to this file:\";'),('en','messages:linkstoimage-more','s:215:\"More than $1 {{PLURAL:$1|page links|pages link}} to this file.\nThe following list shows the {{PLURAL:$1|first page link|first $1 page links}} to this file only.\nA [[Special:WhatLinksHere/$2|full list]] is available.\";'),('en','messages:nolinkstoimage','s:42:\"There are no pages that link to this file.\";'),('en','messages:morelinkstoimage','s:58:\"View [[Special:WhatLinksHere/$1|more links]] to this file.\";'),('en','messages:linkstoimage-redirect','s:21:\"$1 (file redirect) $2\";'),('en','messages:duplicatesoffile','s:135:\"The following {{PLURAL:$1|file is a duplicate|$1 files are duplicates}} of this file ([[Special:FileDuplicateSearch/$2|more details]]):\";'),('en','messages:sharedupload','s:55:\"This file is from $1 and may be used by other projects.\";'),('en','messages:sharedupload-desc-there','s:122:\"This file is from $1 and may be used by other projects.\nPlease see the [$2 file description page] for further information.\";'),('en','messages:sharedupload-desc-here','s:127:\"This file is from $1 and may be used by other projects.\nThe description on its [$2 file description page] there is shown below.\";'),('en','messages:shareddescriptionfollows','s:1:\"-\";'),('en','messages:filepage-nofile','s:28:\"No file by this name exists.\";'),('en','messages:filepage-nofile-link','s:56:\"No file by this name exists, but you can [$1 upload it].\";'),('en','messages:uploadnewversion-linktext','s:33:\"Upload a new version of this file\";'),('en','messages:shared-repo-from','s:7:\"from $1\";'),('en','messages:shared-repo','s:19:\"a shared repository\";'),('en','messages:shared-repo-name-wikimediacommons','s:17:\"Wikimedia Commons\";'),('en','messages:filepage.css','s:101:\"/* CSS placed here is included on the file description page, also included on foreign client wikis */\";'),('en','messages:filerevert','s:9:\"Revert $1\";'),('en','messages:filerevert-backlink','s:6:\"← $1\";'),('en','messages:filerevert-legend','s:11:\"Revert file\";'),('en','messages:filerevert-intro','s:88:\"You are about to revert the file \'\'\'[[Media:$1|$1]]\'\'\' to the [$4 version as of $3, $2].\";'),('en','messages:filerevert-comment','s:7:\"Reason:\";'),('en','messages:filerevert-defaultcomment','s:32:\"Reverted to version as of $2, $1\";'),('en','messages:filerevert-submit','s:6:\"Revert\";'),('en','messages:filerevert-success','s:73:\"\'\'\'[[Media:$1|$1]]\'\'\' has been reverted to the [$4 version as of $3, $2].\";'),('en','messages:filerevert-badversion','s:76:\"There is no previous local version of this file with the provided timestamp.\";'),('en','messages:filedelete','s:9:\"Delete $1\";'),('en','messages:filedelete-backlink','s:6:\"← $1\";'),('en','messages:filedelete-legend','s:11:\"Delete file\";'),('en','messages:filedelete-intro','s:85:\"You are about to delete the file \'\'\'[[Media:$1|$1]]\'\'\' along with all of its history.\";'),('en','messages:filedelete-intro-old','s:72:\"You are deleting the version of \'\'\'[[Media:$1|$1]]\'\'\' as of [$4 $3, $2].\";'),('en','messages:filedelete-comment','s:7:\"Reason:\";'),('en','messages:filedelete-submit','s:6:\"Delete\";'),('en','messages:filedelete-success','s:26:\"\'\'\'$1\'\'\' has been deleted.\";'),('en','messages:filedelete-success-old','s:67:\"The version of \'\'\'[[Media:$1|$1]]\'\'\' as of $3, $2 has been deleted.\";'),('en','messages:filedelete-nofile','s:24:\"\'\'\'$1\'\'\' does not exist.\";'),('en','messages:filedelete-nofile-old','s:71:\"There is no archived version of \'\'\'$1\'\'\' with the specified attributes.\";'),('en','messages:filedelete-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:filedelete-reason-otherlist','s:12:\"Other reason\";'),('en','messages:filedelete-reason-dropdown','s:64:\"*Common delete reasons\n** Copyright violation\n** Duplicated file\";'),('en','messages:filedelete-edit-reasonlist','s:19:\"Edit delete reasons\";'),('en','messages:filedelete-maintenance','s:74:\"Deletion and restoration of files temporarily disabled during maintenance.\";'),('en','messages:mimesearch','s:11:\"MIME search\";'),('en','messages:mimesearch-summary','s:115:\"This page enables the filtering of files for their MIME type.\nInput: contenttype/subtype, e.g. <tt>image/jpeg</tt>.\";'),('en','messages:mimetype','s:10:\"MIME type:\";'),('en','messages:download','s:8:\"download\";'),('en','messages:unwatchedpages','s:15:\"Unwatched pages\";'),('en','messages:unwatchedpages-summary','s:0:\"\";'),('en','messages:listredirects','s:17:\"List of redirects\";'),('en','messages:listredirects-summary','s:0:\"\";'),('en','messages:unusedtemplates','s:16:\"Unused templates\";'),('en','messages:unusedtemplates-summary','s:0:\"\";'),('en','messages:unusedtemplatestext','s:171:\"This page lists all pages in the {{ns:template}} namespace which are not included in another page.\nRemember to check for other links to the templates before deleting them.\";'),('en','messages:unusedtemplateswlh','s:11:\"other links\";'),('en','messages:randompage','s:11:\"Random page\";'),('en','messages:randompage-nopages','s:75:\"There are no pages in the following {{PLURAL:$2|namespace|namespaces}}: $1.\";'),('en','messages:randompage-url','s:14:\"Special:Random\";'),('en','messages:randomredirect','s:15:\"Random redirect\";'),('en','messages:randomredirect-nopages','s:45:\"There are no redirects in the namespace \"$1\".\";'),('en','messages:statistics','s:10:\"Statistics\";'),('en','messages:statistics-summary','s:0:\"\";'),('en','messages:statistics-header-pages','s:15:\"Page statistics\";'),('en','messages:statistics-header-edits','s:15:\"Edit statistics\";'),('en','messages:statistics-header-views','s:15:\"View statistics\";'),('en','messages:statistics-header-users','s:15:\"User statistics\";'),('en','messages:statistics-header-hooks','s:16:\"Other statistics\";'),('en','messages:statistics-articles','s:13:\"Content pages\";'),('en','messages:statistics-pages','s:5:\"Pages\";'),('en','messages:statistics-pages-desc','s:60:\"All pages in the wiki, including talk pages, redirects, etc.\";'),('en','messages:statistics-files','s:14:\"Uploaded files\";'),('en','messages:statistics-edits','s:40:\"Page edits since {{SITENAME}} was set up\";'),('en','messages:statistics-edits-average','s:22:\"Average edits per page\";'),('en','messages:statistics-views-total','s:11:\"Views total\";'),('en','messages:statistics-views-total-desc','s:62:\"Views to non-existing pages and special pages are not included\";'),('en','messages:statistics-views-peredit','s:14:\"Views per edit\";'),('en','messages:statistics-users','s:38:\"Registered [[Special:ListUsers|users]]\";'),('en','messages:statistics-users-active','s:12:\"Active users\";'),('en','messages:statistics-users-active-desc','s:72:\"Users who have performed an action in the last {{PLURAL:$1|day|$1 days}}\";'),('en','messages:statistics-mostpopular','s:17:\"Most viewed pages\";'),('en','messages:statistics-footer','s:0:\"\";'),('en','messages:disambiguations','s:37:\"Pages linking to disambiguation pages\";'),('en','messages:disambiguations-summary','s:0:\"\";'),('en','messages:disambiguationspage','s:17:\"Template:disambig\";'),('en','messages:disambiguations-text','s:231:\"The following pages link to a \'\'\'disambiguation page\'\'\'.\nThey should link to the appropriate topic instead.<br />\nA page is treated as disambiguation page if it uses a template which is linked from [[MediaWiki:Disambiguationspage]]\";'),('en','messages:doubleredirects','s:16:\"Double redirects\";'),('en','messages:doubleredirects-summary','s:0:\"\";'),('en','messages:doubleredirectstext','s:297:\"This page lists pages which redirect to other redirect pages.\nEach row contains links to the first and second redirect, as well as the target of the second redirect, which is usually the \"real\" target page, which the first redirect should point to.\n<del>Crossed out</del> entries have been solved.\";'),('en','messages:double-redirect-fixed-move','s:50:\"[[$1]] has been moved.\nIt now redirects to [[$2]].\";'),('en','messages:double-redirect-fixed-maintenance','s:45:\"Fixing double redirect from [[$1]] to [[$2]].\";'),('en','messages:double-redirect-fixer','s:14:\"Redirect fixer\";'),('en','messages:brokenredirects','s:16:\"Broken redirects\";'),('en','messages:brokenredirects-summary','s:0:\"\";'),('en','messages:brokenredirectstext','s:51:\"The following redirects link to non-existent pages:\";'),('en','messages:brokenredirects-edit','s:4:\"edit\";'),('en','messages:brokenredirects-delete','s:6:\"delete\";'),('en','messages:withoutinterwiki','s:28:\"Pages without language links\";'),('en','messages:withoutinterwiki-summary','s:59:\"The following pages do not link to other language versions.\";'),('en','messages:withoutinterwiki-legend','s:6:\"Prefix\";'),('en','messages:withoutinterwiki-submit','s:4:\"Show\";'),('en','messages:fewestrevisions','s:31:\"Pages with the fewest revisions\";'),('en','messages:fewestrevisions-summary','s:0:\"\";'),('en','messages:nbytes','s:27:\"$1 {{PLURAL:$1|byte|bytes}}\";'),('en','messages:ncategories','s:36:\"$1 {{PLURAL:$1|category|categories}}\";'),('en','messages:nlinks','s:27:\"$1 {{PLURAL:$1|link|links}}\";'),('en','messages:nmembers','s:31:\"$1 {{PLURAL:$1|member|members}}\";'),('en','messages:nrevisions','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:nviews','s:27:\"$1 {{PLURAL:$1|view|views}}\";'),('en','messages:nimagelinks','s:35:\"Used on $1 {{PLURAL:$1|page|pages}}\";'),('en','messages:ntransclusions','s:35:\"used on $1 {{PLURAL:$1|page|pages}}\";'),('en','messages:specialpage-empty','s:37:\"There are no results for this report.\";'),('en','messages:lonelypages','s:14:\"Orphaned pages\";'),('en','messages:lonelypages-summary','s:0:\"\";'),('en','messages:lonelypagestext','s:88:\"The following pages are not linked from or transcluded into other pages in {{SITENAME}}.\";'),('en','messages:uncategorizedpages','s:19:\"Uncategorized pages\";'),('en','messages:uncategorizedpages-summary','s:0:\"\";'),('en','messages:uncategorizedcategories','s:24:\"Uncategorized categories\";'),('en','messages:uncategorizedcategories-summary','s:0:\"\";'),('en','messages:uncategorizedimages','s:19:\"Uncategorized files\";'),('en','messages:uncategorizedimages-summary','s:0:\"\";'),('en','messages:uncategorizedtemplates','s:23:\"Uncategorized templates\";'),('en','messages:uncategorizedtemplates-summary','s:0:\"\";'),('en','messages:unusedcategories','s:17:\"Unused categories\";'),('en','messages:unusedimages','s:12:\"Unused files\";'),('en','messages:popularpages','s:13:\"Popular pages\";'),('en','messages:popularpages-summary','s:0:\"\";'),('en','messages:wantedcategories','s:17:\"Wanted categories\";'),('en','messages:wantedcategories-summary','s:0:\"\";'),('en','messages:wantedpages','s:12:\"Wanted pages\";'),('en','messages:wantedpages-summary','s:0:\"\";'),('en','messages:wantedpages-badtitle','s:31:\"Invalid title in result set: $1\";'),('en','messages:wantedfiles','s:12:\"Wanted files\";'),('en','messages:wantedfiles-summary','s:0:\"\";'),('en','messages:wantedtemplates','s:16:\"Wanted templates\";'),('en','messages:wantedtemplates-summary','s:0:\"\";'),('en','messages:mostlinked','s:20:\"Most linked-to pages\";'),('en','messages:mostlinked-summary','s:0:\"\";'),('en','messages:mostlinkedcategories','s:25:\"Most linked-to categories\";'),('en','messages:mostlinkedcategories-summary','s:0:\"\";'),('en','messages:mostlinkedtemplates','s:24:\"Most linked-to templates\";'),('en','messages:mostlinkedtemplates-summary','s:0:\"\";'),('en','messages:mostcategories','s:30:\"Pages with the most categories\";'),('en','messages:mostcategories-summary','s:0:\"\";'),('en','messages:mostimages','s:20:\"Most linked-to files\";'),('en','messages:mostimages-summary','s:0:\"\";'),('en','messages:mostrevisions','s:29:\"Pages with the most revisions\";'),('en','messages:mostrevisions-summary','s:0:\"\";'),('en','messages:prefixindex','s:21:\"All pages with prefix\";'),('en','messages:prefixindex-summary','s:0:\"\";'),('en','messages:shortpages','s:11:\"Short pages\";'),('en','messages:shortpages-summary','s:0:\"\";'),('en','messages:longpages','s:10:\"Long pages\";'),('en','messages:longpages-summary','s:0:\"\";'),('en','messages:deadendpages','s:14:\"Dead-end pages\";'),('en','messages:deadendpages-summary','s:0:\"\";'),('en','messages:deadendpagestext','s:63:\"The following pages do not link to other pages in {{SITENAME}}.\";'),('en','messages:protectedpages','s:15:\"Protected pages\";'),('en','messages:protectedpages-indef','s:27:\"Indefinite protections only\";'),('en','messages:protectedpages-summary','s:0:\"\";'),('en','messages:protectedpages-cascade','s:26:\"Cascading protections only\";'),('en','messages:protectedpagestext','s:56:\"The following pages are protected from moving or editing\";'),('en','messages:protectedpagesempty','s:55:\"No pages are currently protected with these parameters.\";'),('en','messages:protectedtitles','s:16:\"Protected titles\";'),('en','messages:protectedtitles-summary','s:0:\"\";'),('en','messages:protectedtitlestext','s:48:\"The following titles are protected from creation\";'),('en','messages:protectedtitlesempty','s:56:\"No titles are currently protected with these parameters.\";'),('en','messages:listusers','s:9:\"User list\";'),('en','messages:listusers-summary','s:0:\"\";'),('en','messages:listusers-editsonly','s:26:\"Show only users with edits\";'),('en','messages:listusers-creationsort','s:21:\"Sort by creation date\";'),('en','messages:usereditcount','s:27:\"$1 {{PLURAL:$1|edit|edits}}\";'),('en','messages:usercreated','s:19:\"Created on $1 at $2\";'),('en','messages:newpages','s:9:\"New pages\";'),('en','messages:newpages-summary','s:0:\"\";'),('en','messages:newpages-username','s:9:\"Username:\";'),('en','messages:ancientpages','s:12:\"Oldest pages\";'),('en','messages:ancientpages-summary','s:0:\"\";'),('en','messages:move','s:4:\"Move\";'),('en','messages:movethispage','s:14:\"Move this page\";'),('en','messages:unusedimagestext','s:191:\"The following files exist but are not embedded in any page.\nPlease note that other web sites may link to a file with a direct URL, and so may still be listed here despite being in active use.\";'),('en','messages:unusedcategoriestext','s:89:\"The following category pages exist, although no other page or category makes use of them.\";'),('en','messages:notargettitle','s:9:\"No target\";'),('en','messages:notargettext','s:73:\"You have not specified a target page or user to perform this function on.\";'),('en','messages:nopagetitle','s:19:\"No such target page\";'),('en','messages:nopagetext','s:50:\"The target page you have specified does not exist.\";'),('en','messages:pager-newer-n','s:30:\"{{PLURAL:$1|newer 1|newer $1}}\";'),('en','messages:pager-older-n','s:30:\"{{PLURAL:$1|older 1|older $1}}\";'),('en','messages:suppress','s:9:\"Oversight\";'),('en','messages:querypage-disabled','s:54:\"This special page is disabled for performance reasons.\";'),('en','messages:booksources','s:12:\"Book sources\";'),('en','messages:booksources-summary','s:0:\"\";'),('en','messages:booksources-search-legend','s:23:\"Search for book sources\";'),('en','messages:booksources-isbn','s:5:\"ISBN:\";'),('en','messages:booksources-go','s:2:\"Go\";'),('en','messages:booksources-text','s:140:\"Below is a list of links to other sites that sell new and used books, and may also have further information about books you are looking for:\";'),('en','messages:booksources-invalid-isbn','s:94:\"The given ISBN does not appear to be valid; check for errors copying from the original source.\";'),('en','messages:rfcurl','s:27:\"//tools.ietf.org/html/rfc$1\";'),('en','messages:pubmedurl','s:46:\"//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract\";'),('en','messages:specialloguserlabel','s:5:\"User:\";'),('en','messages:speciallogtitlelabel','s:6:\"Title:\";'),('en','messages:log','s:4:\"Logs\";'),('en','messages:all-logs-page','s:15:\"All public logs\";'),('en','messages:alllogstext','s:184:\"Combined display of all available logs of {{SITENAME}}.\nYou can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).\";'),('en','messages:logempty','s:25:\"No matching items in log.\";'),('en','messages:log-title-wildcard','s:37:\"Search titles starting with this text\";'),('en','messages:allpages','s:9:\"All pages\";'),('en','messages:allpages-summary','s:0:\"\";'),('en','messages:alphaindexline','s:8:\"$1 to $2\";'),('en','messages:nextpage','s:14:\"Next page ($1)\";'),('en','messages:prevpage','s:18:\"Previous page ($1)\";'),('en','messages:allpagesfrom','s:26:\"Display pages starting at:\";'),('en','messages:allpagesto','s:24:\"Display pages ending at:\";'),('en','messages:allarticles','s:9:\"All pages\";'),('en','messages:allinnamespace','s:24:\"All pages ($1 namespace)\";'),('en','messages:allnotinnamespace','s:31:\"All pages (not in $1 namespace)\";'),('en','messages:allpagesprev','s:8:\"Previous\";'),('en','messages:allpagesnext','s:4:\"Next\";'),('en','messages:allpagessubmit','s:2:\"Go\";'),('en','messages:allpagesprefix','s:26:\"Display pages with prefix:\";'),('en','messages:allpagesbadtitle','s:149:\"The given page title was invalid or had an inter-language or inter-wiki prefix.\nIt may contain one or more characters which cannot be used in titles.\";'),('en','messages:allpages-bad-ns','s:42:\"{{SITENAME}} does not have namespace \"$1\".\";'),('en','messages:categories','s:10:\"Categories\";'),('en','messages:categories-summary','s:0:\"\";'),('en','messages:categoriespagetext','s:204:\"The following {{PLURAL:$1|category contains|categories contain}} pages or media.\n[[Special:UnusedCategories|Unused categories]] are not shown here.\nAlso see [[Special:WantedCategories|wanted categories]].\";'),('en','messages:categoriesfrom','s:31:\"Display categories starting at:\";'),('en','messages:special-categories-sort-count','s:13:\"sort by count\";'),('en','messages:special-categories-sort-abc','s:19:\"sort alphabetically\";'),('en','messages:deletedcontributions','s:26:\"Deleted user contributions\";'),('en','messages:deletedcontributions-title','s:26:\"Deleted user contributions\";'),('en','messages:sp-deletedcontributions-contribs','s:13:\"contributions\";'),('en','messages:linksearch','s:21:\"External links search\";'),('en','messages:linksearch-pat','s:15:\"Search pattern:\";'),('en','messages:linksearch-ns','s:10:\"Namespace:\";'),('en','messages:linksearch-ok','s:6:\"Search\";'),('en','messages:linksearch-text','s:87:\"Wildcards such as \"*.wikipedia.org\" may be used.<br />\nSupported protocols: <tt>$1</tt>\";'),('en','messages:linksearch-line','s:20:\"$1 is linked from $2\";'),('en','messages:linksearch-error','s:55:\"Wildcards may appear only at the start of the hostname.\";'),('en','messages:listusersfrom','s:26:\"Display users starting at:\";'),('en','messages:listusers-submit','s:4:\"Show\";'),('en','messages:listusers-noresult','s:14:\"No user found.\";'),('en','messages:listusers-blocked','s:9:\"(blocked)\";'),('en','messages:activeusers','s:17:\"Active users list\";'),('en','messages:activeusers-summary','s:0:\"\";'),('en','messages:activeusers-intro','s:96:\"This is a list of users who had some kind of activity within the last $1 {{PLURAL:$1|day|days}}.\";'),('en','messages:activeusers-count','s:65:\"$1 {{PLURAL:$1|edit|edits}} in the last {{PLURAL:$3|day|$3 days}}\";'),('en','messages:activeusers-from','s:26:\"Display users starting at:\";'),('en','messages:activeusers-hidebots','s:9:\"Hide bots\";'),('en','messages:activeusers-hidesysops','s:19:\"Hide administrators\";'),('en','messages:activeusers-noresult','s:15:\"No users found.\";'),('en','messages:newuserlogpage','s:17:\"User creation log\";'),('en','messages:newuserlogpagetext','s:32:\"This is a log of user creations.\";'),('en','messages:newuserlogentry','s:0:\"\";'),('en','messages:newuserlog-byemail','s:23:\"password sent by e-mail\";'),('en','messages:newuserlog-create-entry','s:16:\"New user account\";'),('en','messages:newuserlog-create2-entry','s:22:\"created new account $1\";'),('en','messages:newuserlog-autocreate-entry','s:29:\"Account created automatically\";'),('en','messages:listgrouprights','s:17:\"User group rights\";'),('en','messages:listgrouprights-summary','s:201:\"The following is a list of user groups defined on this wiki, with their associated access rights.\nThere may be [[{{MediaWiki:Listgrouprights-helppage}}|additional information]] about individual rights.\";'),('en','messages:listgrouprights-key','s:121:\"* <span class=\"listgrouprights-granted\">Granted right</span>\n* <span class=\"listgrouprights-revoked\">Revoked right</span>\";'),('en','messages:listgrouprights-group','s:5:\"Group\";'),('en','messages:listgrouprights-rights','s:6:\"Rights\";'),('en','messages:listgrouprights-helppage','s:17:\"Help:Group rights\";'),('en','messages:listgrouprights-members','s:17:\"(list of members)\";'),('en','messages:listgrouprights-right-display','s:61:\"<span class=\"listgrouprights-granted\">$1 <tt>($2)</tt></span>\";'),('en','messages:listgrouprights-right-revoked','s:61:\"<span class=\"listgrouprights-revoked\">$1 <tt>($2)</tt></span>\";'),('en','messages:listgrouprights-addgroup','s:34:\"Add {{PLURAL:$2|group|groups}}: $1\";'),('en','messages:listgrouprights-removegroup','s:37:\"Remove {{PLURAL:$2|group|groups}}: $1\";'),('en','messages:listgrouprights-addgroup-all','s:14:\"Add all groups\";'),('en','messages:listgrouprights-removegroup-all','s:17:\"Remove all groups\";'),('en','messages:listgrouprights-addgroup-self','s:49:\"Add {{PLURAL:$2|group|groups}} to own account: $1\";'),('en','messages:listgrouprights-removegroup-self','s:54:\"Remove {{PLURAL:$2|group|groups}} from own account: $1\";'),('en','messages:listgrouprights-addgroup-self-all','s:29:\"Add all groups to own account\";'),('en','messages:listgrouprights-removegroup-self-all','s:34:\"Remove all groups from own account\";'),('en','messages:mailnologin','s:15:\"No send address\";'),('en','messages:mailnologintext','s:150:\"You must be [[Special:UserLogin|logged in]] and have a valid e-mail address in your [[Special:Preferences|preferences]] to send e-mail to other users.\";'),('en','messages:emailuser','s:16:\"E-mail this user\";'),('en','messages:emailpage','s:11:\"E-mail user\";'),('en','messages:emailpagetext','s:251:\"You can use the form below to send an e-mail message to this user.\nThe e-mail address you entered in [[Special:Preferences|your user preferences]] will appear as the \"From\" address of the e-mail, so the recipient will be able to reply directly to you.\";'),('en','messages:usermailererror','s:27:\"Mail object returned error:\";'),('en','messages:defemailsubject','s:19:\"{{SITENAME}} e-mail\";'),('en','messages:usermaildisabled','s:20:\"User e-mail disabled\";'),('en','messages:usermaildisabledtext','s:50:\"You cannot send e-mail to other users on this wiki\";'),('en','messages:noemailtitle','s:17:\"No e-mail address\";'),('en','messages:noemailtext','s:51:\"This user has not specified a valid e-mail address.\";'),('en','messages:nowikiemailtitle','s:17:\"No e-mail allowed\";'),('en','messages:nowikiemailtext','s:60:\"This user has chosen not to receive e-mail from other users.\";'),('en','messages:emailnotarget','s:47:\"Non-existent or invalid username for recipient.\";'),('en','messages:emailtarget','s:27:\"Enter username of recipient\";'),('en','messages:emailusername','s:9:\"Username:\";'),('en','messages:emailusernamesubmit','s:6:\"Submit\";'),('en','messages:email-legend','s:43:\"Send an e-mail to another {{SITENAME}} user\";'),('en','messages:emailfrom','s:5:\"From:\";'),('en','messages:emailto','s:3:\"To:\";'),('en','messages:emailsubject','s:8:\"Subject:\";'),('en','messages:emailmessage','s:8:\"Message:\";'),('en','messages:emailsend','s:4:\"Send\";'),('en','messages:emailccme','s:31:\"E-mail me a copy of my message.\";'),('en','messages:emailccsubject','s:30:\"Copy of your message to $1: $2\";'),('en','messages:emailsent','s:11:\"E-mail sent\";'),('en','messages:emailsenttext','s:34:\"Your e-mail message has been sent.\";'),('en','messages:emailuserfooter','s:79:\"This e-mail was sent by $1 to $2 by the \"E-mail user\" function at {{SITENAME}}.\";'),('en','messages:usermessage-summary','s:23:\"Leaving system message.\";'),('en','messages:usermessage-editor','s:16:\"System messenger\";'),('en','messages:usermessage-template','s:21:\"MediaWiki:UserMessage\";'),('en','messages:watchlist','s:12:\"My watchlist\";'),('en','messages:mywatchlist','s:12:\"My watchlist\";'),('en','messages:watchlistfor2','s:9:\"For $1 $2\";'),('en','messages:nowatchlist','s:36:\"You have no items on your watchlist.\";'),('en','messages:watchlistanontext','s:50:\"Please $1 to view or edit items on your watchlist.\";'),('en','messages:watchnologin','s:13:\"Not logged in\";'),('en','messages:watchnologintext','s:69:\"You must be [[Special:UserLogin|logged in]] to modify your watchlist.\";'),('en','messages:addwatch','s:16:\"Add to watchlist\";'),('en','messages:addedwatchtext','s:278:\"The page \"[[:$1]]\" has been added to your [[Special:Watchlist|watchlist]].\nFuture changes to this page and its associated talk page will be listed there, and the page will appear \'\'\'bolded\'\'\' in the [[Special:RecentChanges|list of recent changes]] to make it easier to pick out.\";'),('en','messages:removewatch','s:21:\"Remove from watchlist\";'),('en','messages:removedwatchtext','s:78:\"The page \"[[:$1]]\" has been removed from [[Special:Watchlist|your watchlist]].\";'),('en','messages:watch','s:5:\"Watch\";'),('en','messages:watchthispage','s:15:\"Watch this page\";'),('en','messages:unwatch','s:7:\"Unwatch\";'),('en','messages:unwatchthispage','s:13:\"Stop watching\";'),('en','messages:notanarticle','s:18:\"Not a content page\";'),('en','messages:notvisiblerev','s:54:\"The last revision by a different user has been deleted\";'),('en','messages:watchnochange','s:68:\"None of your watched items were edited in the time period displayed.\";'),('en','messages:watchlist-details','s:74:\"{{PLURAL:$1|$1 page|$1 pages}} on your watchlist, not counting talk pages.\";'),('en','messages:wlheader-enotif','s:33:\"* E-mail notification is enabled.\";'),('en','messages:wlheader-showupdated','s:83:\"* Pages which have been changed since you last visited them are shown in \'\'\'bold\'\'\'\";'),('en','messages:watchmethod-recent','s:39:\"checking recent edits for watched pages\";'),('en','messages:watchmethod-list','s:39:\"checking watched pages for recent edits\";'),('en','messages:watchlistcontains','s:52:\"Your watchlist contains $1 {{PLURAL:$1|page|pages}}.\";'),('en','messages:iteminvalidname','s:39:\"Problem with item \'$1\', invalid name...\";'),('en','messages:wlnote','s:115:\"Below {{PLURAL:$1|is the last change|are the last \'\'\'$1\'\'\' changes}} in the last {{PLURAL:$2|hour|\'\'\'$2\'\'\' hours}}.\";'),('en','messages:wlshowlast','s:29:\"Show last $1 hours $2 days $3\";'),('en','messages:watchlist-options','s:17:\"Watchlist options\";'),('en','messages:watching','s:11:\"Watching...\";'),('en','messages:unwatching','s:13:\"Unwatching...\";'),('en','messages:watcherrortext','s:66:\"An error occurred while changing your watchlist settings for \"$1\".\";'),('en','messages:enotif_mailer','s:32:\"{{SITENAME}} notification mailer\";'),('en','messages:enotif_reset','s:22:\"Mark all pages visited\";'),('en','messages:enotif_newpagetext','s:19:\"This is a new page.\";'),('en','messages:enotif_impersonal_salutation','s:17:\"{{SITENAME}} user\";'),('en','messages:changed','s:7:\"changed\";'),('en','messages:created','s:7:\"created\";'),('en','messages:enotif_subject','s:70:\"{{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED by $PAGEEDITOR\";'),('en','messages:enotif_lastvisited','s:45:\"See $1 for all changes since your last visit.\";'),('en','messages:enotif_lastdiff','s:27:\"See $1 to view this change.\";'),('en','messages:enotif_anon_editor','s:17:\"anonymous user $1\";'),('en','messages:enotif_body','s:839:\"Dear $WATCHINGUSERNAME,\n\n\nThe {{SITENAME}} page $PAGETITLE has been $CHANGEDORCREATED on $PAGEEDITDATE by $PAGEEDITOR, see $PAGETITLE_URL for the current revision.\n\n$NEWPAGE\n\nEditor\'s summary: $PAGESUMMARY $PAGEMINOREDIT\n\nContact the editor:\nmail: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nThere will be no other notifications in case of further changes unless you visit this page.\nYou could also reset the notification flags for all your watched pages on your watchlist.\n\n			 Your friendly {{SITENAME}} notification system\n\n--\nTo change your e-mail notification settings, visit\n{{canonicalurl:{{#special:Preferences}}}}\n\nTo change your watchlist settings, visit\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nTo delete the page from your watchlist, visit\n$UNWATCHURL\n\nFeedback and further assistance:\n{{canonicalurl:{{MediaWiki:Helppage}}}}\";'),('en','messages:deletepage','s:11:\"Delete page\";'),('en','messages:confirm','s:7:\"Confirm\";'),('en','messages:excontent','s:17:\"content was: \"$1\"\";'),('en','messages:excontentauthor','s:82:\"content was: \"$1\" (and the only contributor was \"[[Special:Contributions/$2|$2]]\")\";'),('en','messages:exbeforeblank','s:33:\"content before blanking was: \"$1\"\";'),('en','messages:exblank','s:14:\"page was empty\";'),('en','messages:delete-confirm','s:11:\"Delete \"$1\"\";'),('en','messages:delete-backlink','s:6:\"← $1\";'),('en','messages:delete-legend','s:6:\"Delete\";'),('en','messages:historywarning','s:117:\"\'\'\'Warning:\'\'\' The page you are about to delete has a history with approximately $1 {{PLURAL:$1|revision|revisions}}:\";'),('en','messages:confirmdeletetext','s:230:\"You are about to delete a page along with all of its history.\nPlease confirm that you intend to do this, that you understand the consequences, and that you are doing this in accordance with [[{{MediaWiki:Policy-url}}|the policy]].\";'),('en','messages:actioncomplete','s:15:\"Action complete\";'),('en','messages:actionfailed','s:13:\"Action failed\";'),('en','messages:deletedtext','s:63:\"\"$1\" has been deleted.\nSee $2 for a record of recent deletions.\";'),('en','messages:deletedarticle','s:16:\"deleted \"[[$1]]\"\";'),('en','messages:suppressedarticle','s:19:\"suppressed \"[[$1]]\"\";'),('en','messages:dellogpage','s:12:\"Deletion log\";'),('en','messages:dellogpagetext','s:45:\"Below is a list of the most recent deletions.\";'),('en','messages:deletionlog','s:12:\"deletion log\";'),('en','messages:reverted','s:28:\"Reverted to earlier revision\";'),('en','messages:deletecomment','s:7:\"Reason:\";'),('en','messages:deleteotherreason','s:24:\"Other/additional reason:\";'),('en','messages:deletereasonotherlist','s:12:\"Other reason\";'),('en','messages:deletereason-dropdown','s:76:\"*Common delete reasons\n** Author request\n** Copyright violation\n** Vandalism\";'),('en','messages:delete-edit-reasonlist','s:21:\"Edit deletion reasons\";'),('en','messages:delete-toobig','s:170:\"This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeletion of such pages has been restricted to prevent accidental disruption of {{SITENAME}}.\";'),('en','messages:delete-warning-toobig','s:160:\"This page has a large edit history, over $1 {{PLURAL:$1|revision|revisions}}.\nDeleting it may disrupt database operations of {{SITENAME}};\nproceed with caution.\";'),('en','messages:rollback','s:15:\"Roll back edits\";'),('en','messages:rollback_short','s:8:\"Rollback\";'),('en','messages:rollbacklink','s:8:\"rollback\";'),('en','messages:rollbackfailed','s:15:\"Rollback failed\";'),('en','messages:cantrollback','s:65:\"Cannot revert edit;\nlast contributor is only author of this page.\";'),('en','messages:alreadyrolled','s:352:\"Cannot rollback last edit of [[:$1]] by [[User:$2|$2]] ([[User talk:$2|talk]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nsomeone else has edited or rolled back the page already.\n\nThe last edit to the page was by [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).\";'),('en','messages:editcomment','s:31:\"The edit summary was: \"\'\'$1\'\'\".\";'),('en','messages:revertpage','s:108:\"Reverted edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|talk]]) to last revision by [[User:$1|$1]]\";'),('en','messages:revertpage-nouser','s:71:\"Reverted edits by (username removed) to last revision by [[User:$1|$1]]\";'),('en','messages:rollback-success','s:58:\"Reverted edits by $1;\nchanged back to last revision by $2.\";'),('en','messages:sessionfailure-title','s:15:\"Session failure\";'),('en','messages:sessionfailure','s:192:\"There seems to be a problem with your login session;\nthis action has been canceled as a precaution against session hijacking.\nGo back to the previous page, reload that page and then try again.\";'),('en','messages:protectlogpage','s:14:\"Protection log\";'),('en','messages:protectlogtext','s:159:\"Below is a list of changes to page protections.\nSee the [[Special:ProtectedPages|protected pages list]] for the list of currently operational page protections.\";'),('en','messages:protectedarticle','s:18:\"protected \"[[$1]]\"\";'),('en','messages:modifiedarticleprotection','s:37:\"changed protection level for \"[[$1]]\"\";'),('en','messages:unprotectedarticle','s:32:\"removed protection from \"[[$1]]\"\";'),('en','messages:movedarticleprotection','s:51:\"moved protection settings from \"[[$2]]\" to \"[[$1]]\"\";'),('en','messages:protect-title','s:32:\"Change protection level for \"$1\"\";'),('en','messages:prot_1movedto2','s:22:\"[[$1]] moved to [[$2]]\";'),('en','messages:protect-backlink','s:6:\"← $1\";'),('en','messages:protect-legend','s:18:\"Confirm protection\";'),('en','messages:protectcomment','s:7:\"Reason:\";'),('en','messages:protectexpiry','s:8:\"Expires:\";'),('en','messages:protect_expiry_invalid','s:23:\"Expiry time is invalid.\";'),('en','messages:protect_expiry_old','s:27:\"Expiry time is in the past.\";'),('en','messages:protect-unchain-permissions','s:30:\"Unlock further protect options\";'),('en','messages:protect-text','s:72:\"You may view and change the protection level here for the page \'\'\'$1\'\'\'.\";'),('en','messages:protect-locked-blocked','s:103:\"You cannot change protection levels while blocked.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-locked-dblock','s:120:\"Protection levels cannot be changed due to an active database lock.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-locked-access','s:124:\"Your account does not have permission to change page protection levels.\nHere are the current settings for the page \'\'\'$1\'\'\':\";'),('en','messages:protect-cascadeon','s:246:\"This page is currently protected because it is included in the following {{PLURAL:$1|page, which has|pages, which have}} cascading protection turned on.\nYou can change this page\'s protection level, but it will not affect the cascading protection.\";'),('en','messages:protect-default','s:15:\"Allow all users\";'),('en','messages:protect-fallback','s:23:\"Require \"$1\" permission\";'),('en','messages:protect-level-autoconfirmed','s:32:\"Block new and unregistered users\";'),('en','messages:protect-level-sysop','s:19:\"Administrators only\";'),('en','messages:protect-summary-cascade','s:9:\"cascading\";'),('en','messages:protect-expiring','s:16:\"expires $1 (UTC)\";'),('en','messages:protect-expiry-indefinite','s:10:\"indefinite\";'),('en','messages:protect-cascade','s:58:\"Protect pages included in this page (cascading protection)\";'),('en','messages:protect-cantedit','s:100:\"You cannot change the protection levels of this page, because you do not have permission to edit it.\";'),('en','messages:protect-othertime','s:11:\"Other time:\";'),('en','messages:protect-othertime-op','s:10:\"other time\";'),('en','messages:protect-existing-expiry','s:28:\"Existing expiry time: $3, $2\";'),('en','messages:protect-otherreason','s:24:\"Other/additional reason:\";'),('en','messages:protect-otherreason-op','s:12:\"Other reason\";'),('en','messages:protect-dropdown','s:127:\"*Common protection reasons\n** Excessive vandalism\n** Excessive spamming\n** Counter-productive edit warring\n** High traffic page\";'),('en','messages:protect-edit-reasonlist','s:23:\"Edit protection reasons\";'),('en','messages:protect-expiry-options','s:139:\"1 hour:1 hour,1 day:1 day,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,infinite:infinite\";'),('en','messages:restriction-type','s:11:\"Permission:\";'),('en','messages:restriction-level','s:18:\"Restriction level:\";'),('en','messages:minimum-size','s:8:\"Min size\";'),('en','messages:maximum-size','s:9:\"Max size:\";'),('en','messages:pagesize','s:7:\"(bytes)\";'),('en','messages:restriction-edit','s:4:\"Edit\";'),('en','messages:restriction-move','s:4:\"Move\";'),('en','messages:restriction-create','s:6:\"Create\";'),('en','messages:restriction-upload','s:6:\"Upload\";'),('en','messages:restriction-level-sysop','s:15:\"fully protected\";'),('en','messages:restriction-level-autoconfirmed','s:14:\"semi protected\";'),('en','messages:restriction-level-all','s:9:\"any level\";'),('en','messages:undelete','s:18:\"View deleted pages\";'),('en','messages:undeletepage','s:30:\"View and restore deleted pages\";'),('en','messages:undeletepagetitle','s:64:\"\'\'\'The following consists of deleted revisions of [[:$1|$1]]\'\'\'.\";'),('en','messages:viewdeletedpage','s:18:\"View deleted pages\";'),('en','messages:undeletepagetext','s:178:\"The following {{PLURAL:$1|page has been deleted but is|$1 pages have been deleted but are}} still in the archive and can be restored.\nThe archive may be periodically cleaned out.\";'),('en','messages:undelete-fieldset-title','s:17:\"Restore revisions\";'),('en','messages:undeleteextrahelp','s:250:\"To restore the page\'s entire history, leave all checkboxes deselected and click \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\nTo perform a selective restoration, check the boxes corresponding to the revisions to be restored, and click \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\";'),('en','messages:undeleterevisions','s:44:\"$1 {{PLURAL:$1|revision|revisions}} archived\";'),('en','messages:undeletehistory','s:198:\"If you restore the page, all revisions will be restored to the history.\nIf a new page with the same name has been created since the deletion, the restored revisions will appear in the prior history.\";'),('en','messages:undeleterevdel','s:179:\"Undeletion will not be performed if it will result in the top page or file revision being partially deleted.\nIn such cases, you must uncheck or unhide the newest deleted revision.\";'),('en','messages:undeletehistorynoadmin','s:236:\"This page has been deleted.\nThe reason for deletion is shown in the summary below, along with details of the users who had edited this page before deletion.\nThe actual text of these deleted revisions is only available to administrators.\";'),('en','messages:undelete-revision','s:47:\"Deleted revision of $1 (as of $4, at $5) by $3:\";'),('en','messages:undeleterevision-missing','s:121:\"Invalid or missing revision.\nYou may have a bad link, or the revision may have been restored or removed from the archive.\";'),('en','messages:undelete-nodiff','s:27:\"No previous revision found.\";'),('en','messages:undeletebtn','s:7:\"Restore\";'),('en','messages:undeletelink','s:12:\"view/restore\";'),('en','messages:undeleteviewlink','s:4:\"view\";'),('en','messages:undeletereset','s:5:\"Reset\";'),('en','messages:undeleteinvert','s:16:\"Invert selection\";'),('en','messages:undeletecomment','s:7:\"Reason:\";'),('en','messages:undeletedarticle','s:17:\"restored \"[[$1]]\"\";'),('en','messages:undeletedrevisions','s:46:\"{{PLURAL:$1|1 revision|$1 revisions}} restored\";'),('en','messages:undeletedrevisions-files','s:80:\"{{PLURAL:$1|1 revision|$1 revisions}} and {{PLURAL:$2|1 file|$2 files}} restored\";'),('en','messages:undeletedfiles','s:38:\"{{PLURAL:$1|1 file|$1 files}} restored\";'),('en','messages:cannotundelete','s:64:\"Undelete failed;\nsomeone else may have undeleted the page first.\";'),('en','messages:undeletedpage','s:126:\"\'\'\'$1 has been restored\'\'\'\n\nConsult the [[Special:Log/delete|deletion log]] for a record of recent deletions and restorations.\";'),('en','messages:undelete-header','s:71:\"See [[Special:Log/delete|the deletion log]] for recently deleted pages.\";'),('en','messages:undelete-search-box','s:20:\"Search deleted pages\";'),('en','messages:undelete-search-prefix','s:25:\"Show pages starting with:\";'),('en','messages:undelete-search-submit','s:6:\"Search\";'),('en','messages:undelete-no-results','s:48:\"No matching pages found in the deletion archive.\";'),('en','messages:undelete-filename-mismatch','s:67:\"Cannot undelete file revision with timestamp $1: Filename mismatch.\";'),('en','messages:undelete-bad-store-key','s:82:\"Cannot undelete file revision with timestamp $1: File was missing before deletion.\";'),('en','messages:undelete-cleanup-error','s:40:\"Error deleting unused archive file \"$1\".\";'),('en','messages:undelete-missing-filearchive','s:107:\"Unable to restore file archive ID $1 because it is not in the database.\nIt may have already been undeleted.\";'),('en','messages:undelete-error-short','s:25:\"Error undeleting file: $1\";'),('en','messages:undelete-error-long','s:54:\"Errors were encountered while undeleting the file:\n\n$1\";'),('en','messages:undelete-show-file-confirm','s:99:\"Are you sure you want to view the deleted revision of the file \"<nowiki>$1</nowiki>\" from $2 at $3?\";'),('en','messages:undelete-show-file-submit','s:3:\"Yes\";'),('en','messages:namespace','s:10:\"Namespace:\";'),('en','messages:invert','s:16:\"Invert selection\";'),('en','messages:tooltip-invert','s:111:\"Check this box to hide changes to pages within the selected namespace (and the associated namespace if checked)\";'),('en','messages:namespace_association','s:20:\"Associated namespace\";'),('en','messages:tooltip-namespace_association','s:99:\"Check this box to also include the talk or subject namespace associated with the selected namespace\";'),('en','messages:blanknamespace','s:6:\"(Main)\";'),('en','messages:contributions','s:18:\"User contributions\";'),('en','messages:contributions-title','s:25:\"User contributions for $1\";'),('en','messages:mycontris','s:16:\"My contributions\";'),('en','messages:contribsub2','s:11:\"For $1 ($2)\";'),('en','messages:nocontribs','s:46:\"No changes were found matching these criteria.\";'),('en','messages:uctop','s:5:\"(top)\";'),('en','messages:month','s:25:\"From month (and earlier):\";'),('en','messages:year','s:24:\"From year (and earlier):\";'),('en','messages:sp-contributions-newbies','s:39:\"Show contributions of new accounts only\";'),('en','messages:sp-contributions-newbies-sub','s:16:\"For new accounts\";'),('en','messages:sp-contributions-newbies-title','s:35:\"User contributions for new accounts\";'),('en','messages:sp-contributions-blocklog','s:9:\"block log\";'),('en','messages:sp-contributions-deleted','s:26:\"deleted user contributions\";'),('en','messages:sp-contributions-uploads','s:7:\"uploads\";'),('en','messages:sp-contributions-logs','s:4:\"logs\";'),('en','messages:sp-contributions-talk','s:4:\"talk\";'),('en','messages:sp-contributions-userrights','s:22:\"user rights management\";'),('en','messages:sp-contributions-blocked-notice','s:91:\"This user is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:sp-contributions-blocked-notice-anon','s:97:\"This IP address is currently blocked.\nThe latest block log entry is provided below for reference:\";'),('en','messages:sp-contributions-search','s:24:\"Search for contributions\";'),('en','messages:sp-contributions-username','s:23:\"IP address or username:\";'),('en','messages:sp-contributions-toponly','s:41:\"Only show edits that are latest revisions\";'),('en','messages:sp-contributions-submit','s:6:\"Search\";'),('en','messages:sp-contributions-explain','s:0:\"\";'),('en','messages:sp-contributions-footer','s:1:\"-\";'),('en','messages:sp-contributions-footer-anon','s:1:\"-\";'),('en','messages:whatlinkshere','s:15:\"What links here\";'),('en','messages:whatlinkshere-title','s:23:\"Pages that link to \"$1\"\";'),('en','messages:whatlinkshere-summary','s:0:\"\";'),('en','messages:whatlinkshere-page','s:5:\"Page:\";'),('en','messages:whatlinkshere-backlink','s:6:\"← $1\";'),('en','messages:linkshere','s:42:\"The following pages link to \'\'\'[[:$1]]\'\'\':\";'),('en','messages:nolinkshere','s:31:\"No pages link to \'\'\'[[:$1]]\'\'\'.\";'),('en','messages:nolinkshere-ns','s:55:\"No pages link to \'\'\'[[:$1]]\'\'\' in the chosen namespace.\";'),('en','messages:isredirect','s:13:\"redirect page\";'),('en','messages:istemplate','s:12:\"transclusion\";'),('en','messages:isimage','s:9:\"file link\";'),('en','messages:whatlinkshere-prev','s:34:\"{{PLURAL:$1|previous|previous $1}}\";'),('en','messages:whatlinkshere-next','s:26:\"{{PLURAL:$1|next|next $1}}\";'),('en','messages:whatlinkshere-links','s:9:\"← links\";'),('en','messages:whatlinkshere-hideredirs','s:12:\"$1 redirects\";'),('en','messages:whatlinkshere-hidetrans','s:16:\"$1 transclusions\";'),('en','messages:whatlinkshere-hidelinks','s:8:\"$1 links\";'),('en','messages:whatlinkshere-hideimages','s:14:\"$1 image links\";'),('en','messages:whatlinkshere-filters','s:7:\"Filters\";'),('en','messages:autoblockid','s:13:\"Autoblock #$1\";'),('en','messages:block','s:10:\"Block user\";'),('en','messages:unblock','s:12:\"Unblock user\";'),('en','messages:blockip','s:10:\"Block user\";'),('en','messages:blockip-title','s:10:\"Block user\";'),('en','messages:blockip-legend','s:10:\"Block user\";'),('en','messages:blockiptext','s:280:\"Use the form below to block write access from a specific IP address or username.\nThis should be done only to prevent vandalism, and in accordance with [[{{MediaWiki:Policy-url}}|policy]].\nFill in a specific reason below (for example, citing particular pages that were vandalized).\";'),('en','messages:ipadressorusername','s:23:\"IP address or username:\";'),('en','messages:ipbexpiry','s:7:\"Expiry:\";'),('en','messages:ipbreason','s:7:\"Reason:\";'),('en','messages:ipbreasonotherlist','s:12:\"Other reason\";'),('en','messages:ipbreason-dropdown','s:253:\"*Common block reasons\n** Inserting false information\n** Removing content from pages\n** Spamming links to external sites\n** Inserting nonsense/gibberish into pages\n** Intimidating behaviour/harassment\n** Abusing multiple accounts\n** Unacceptable username\";'),('en','messages:ipb-hardblock','s:57:\"Prevent logged-in users from editing from this IP address\";'),('en','messages:ipbcreateaccount','s:24:\"Prevent account creation\";'),('en','messages:ipbemailban','s:32:\"Prevent user from sending e-mail\";'),('en','messages:ipbenableautoblock','s:112:\"Automatically block the last IP address used by this user, and any subsequent IP addresses they try to edit from\";'),('en','messages:ipbsubmit','s:15:\"Block this user\";'),('en','messages:ipbother','s:11:\"Other time:\";'),('en','messages:ipboptions','s:157:\"2 hours:2 hours,1 day:1 day,3 days:3 days,1 week:1 week,2 weeks:2 weeks,1 month:1 month,3 months:3 months,6 months:6 months,1 year:1 year,indefinite:infinite\";'),('en','messages:ipbotheroption','s:5:\"other\";'),('en','messages:ipbotherreason','s:24:\"Other/additional reason:\";'),('en','messages:ipbhidename','s:34:\"Hide username from edits and lists\";'),('en','messages:ipbwatchuser','s:37:\"Watch this user\'s user and talk pages\";'),('en','messages:ipb-disableusertalk','s:64:\"Prevent this user from editing their own talk page while blocked\";'),('en','messages:ipb-change-block','s:37:\"Re-block the user with these settings\";'),('en','messages:ipb-confirm','s:13:\"Confirm block\";'),('en','messages:badipaddress','s:18:\"Invalid IP address\";'),('en','messages:blockipsuccesssub','s:15:\"Block succeeded\";'),('en','messages:blockipsuccesstext','s:113:\"[[Special:Contributions/$1|$1]] has been blocked.<br />\nSee [[Special:BlockList|IP block list]] to review blocks.\";'),('en','messages:ipb-blockingself','s:67:\"You are about to block yourself!  Are you sure you want to do that?\";'),('en','messages:ipb-confirmhideuser','s:156:\"You are about to block a user with \"hide user\" enabled.  This will suppress the user\'s name in all lists and log entries.  Are you sure you want to do that?\";'),('en','messages:ipb-edit-dropdown','s:18:\"Edit block reasons\";'),('en','messages:ipb-unblock-addr','s:10:\"Unblock $1\";'),('en','messages:ipb-unblock','s:32:\"Unblock a username or IP address\";'),('en','messages:ipb-blocklist','s:20:\"View existing blocks\";'),('en','messages:ipb-blocklist-contribs','s:20:\"Contributions for $1\";'),('en','messages:unblockip','s:12:\"Unblock user\";'),('en','messages:unblockiptext','s:90:\"Use the form below to restore write access to a previously blocked IP address or username.\";'),('en','messages:ipusubmit','s:17:\"Remove this block\";'),('en','messages:unblocked','s:33:\"[[User:$1|$1]] has been unblocked\";'),('en','messages:unblocked-range','s:21:\"$1 has been unblocked\";'),('en','messages:unblocked-id','s:25:\"Block $1 has been removed\";'),('en','messages:blocklist','s:13:\"Blocked users\";'),('en','messages:ipblocklist','s:13:\"Blocked users\";'),('en','messages:ipblocklist-legend','s:19:\"Find a blocked user\";'),('en','messages:blocklist-userblocks','s:19:\"Hide account blocks\";'),('en','messages:blocklist-tempblocks','s:21:\"Hide temporary blocks\";'),('en','messages:blocklist-addressblocks','s:21:\"Hide single IP blocks\";'),('en','messages:blocklist-timestamp','s:9:\"Timestamp\";'),('en','messages:blocklist-target','s:6:\"Target\";'),('en','messages:blocklist-expiry','s:7:\"Expires\";'),('en','messages:blocklist-by','s:14:\"Blocking admin\";'),('en','messages:blocklist-params','s:16:\"Block parameters\";'),('en','messages:blocklist-reason','s:6:\"Reason\";'),('en','messages:blocklist-summary','s:0:\"\";'),('en','messages:ipblocklist-submit','s:6:\"Search\";'),('en','messages:ipblocklist-localblock','s:11:\"Local block\";'),('en','messages:ipblocklist-otherblocks','s:32:\"Other {{PLURAL:$1|block|blocks}}\";'),('en','messages:infiniteblock','s:8:\"infinite\";'),('en','messages:expiringblock','s:19:\"expires on $1 at $2\";'),('en','messages:anononlyblock','s:10:\"anon. only\";'),('en','messages:noautoblockblock','s:18:\"autoblock disabled\";'),('en','messages:createaccountblock','s:24:\"account creation blocked\";'),('en','messages:emailblock','s:14:\"e-mail blocked\";'),('en','messages:blocklist-nousertalk','s:25:\"cannot edit own talk page\";'),('en','messages:ipblocklist-empty','s:23:\"The blocklist is empty.\";'),('en','messages:ipblocklist-no-results','s:52:\"The requested IP address or username is not blocked.\";'),('en','messages:blocklink','s:5:\"block\";'),('en','messages:unblocklink','s:7:\"unblock\";'),('en','messages:change-blocklink','s:12:\"change block\";'),('en','messages:contribslink','s:8:\"contribs\";'),('en','messages:autoblocker','s:120:\"Autoblocked because your IP address has been recently used by \"[[User:$1|$1]]\".\nThe reason given for $1\'s block is: \"$2\"\";'),('en','messages:blocklogpage','s:9:\"Block log\";'),('en','messages:blocklog-showlog','s:85:\"This user has been blocked previously.\nThe block log is provided below for reference:\";'),('en','messages:blocklog-showsuppresslog','s:99:\"This user has been blocked and hidden previously.\nThe suppress log is provided below for reference:\";'),('en','messages:blocklogentry','s:43:\"blocked [[$1]] with an expiry time of $2 $3\";'),('en','messages:reblock-logentry','s:62:\"changed block settings for [[$1]] with an expiry time of $2 $3\";'),('en','messages:blocklogtext','s:204:\"This is a log of user blocking and unblocking actions.\nAutomatically blocked IP addresses are not listed.\nSee the [[Special:BlockList|IP block list]] for the list of currently operational bans and blocks.\";'),('en','messages:unblocklogentry','s:12:\"unblocked $1\";'),('en','messages:block-log-flags-anononly','s:20:\"anonymous users only\";'),('en','messages:block-log-flags-nocreate','s:25:\"account creation disabled\";'),('en','messages:block-log-flags-noautoblock','s:18:\"autoblock disabled\";'),('en','messages:block-log-flags-noemail','s:14:\"e-mail blocked\";'),('en','messages:block-log-flags-nousertalk','s:25:\"cannot edit own talk page\";'),('en','messages:block-log-flags-angry-autoblock','s:26:\"enhanced autoblock enabled\";'),('en','messages:block-log-flags-hiddenname','s:15:\"username hidden\";'),('en','messages:range_block_disabled','s:61:\"The administrator ability to create range blocks is disabled.\";'),('en','messages:ipb_expiry_invalid','s:20:\"Expiry time invalid.\";'),('en','messages:ipb_expiry_temp','s:41:\"Hidden username blocks must be permanent.\";'),('en','messages:ipb_hide_invalid','s:60:\"Unable to suppress this account; it may have too many edits.\";'),('en','messages:ipb_already_blocked','s:23:\"\"$1\" is already blocked\";'),('en','messages:ipb-needreblock','s:58:\"$1 is already blocked. Do you want to change the settings?\";'),('en','messages:ipb-otherblocks-header','s:32:\"Other {{PLURAL:$1|block|blocks}}\";'),('en','messages:unblock-hideuser','s:64:\"You cannot unblock this user, as their username has been hidden.\";'),('en','messages:ipb_cant_unblock','s:65:\"Error: Block ID $1 not found. It may have been unblocked already.\";'),('en','messages:ipb_blocked_as_range','s:146:\"Error: The IP address $1 is not blocked directly and cannot be unblocked.\nIt is, however, blocked as part of the range $2, which can be unblocked.\";'),('en','messages:ip_range_invalid','s:17:\"Invalid IP range.\";'),('en','messages:ip_range_toolarge','s:45:\"Range blocks larger than /$1 are not allowed.\";'),('en','messages:blockme','s:8:\"Block me\";'),('en','messages:proxyblocker','s:13:\"Proxy blocker\";'),('en','messages:proxyblocker-disabled','s:26:\"This function is disabled.\";'),('en','messages:proxyblockreason','s:199:\"Your IP address has been blocked because it is an open proxy.\nPlease contact your Internet service provider or technical support of your organization and inform them of this serious security problem.\";'),('en','messages:proxyblocksuccess','s:5:\"Done.\";'),('en','messages:sorbs','s:5:\"DNSBL\";'),('en','messages:sorbsreason','s:77:\"Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.\";'),('en','messages:sorbs_create_account_reason','s:106:\"Your IP address is listed as an open proxy in the DNSBL used by {{SITENAME}}.\nYou cannot create an account\";'),('en','messages:cant-block-while-blocked','s:51:\"You cannot block other users while you are blocked.\";'),('en','messages:cant-see-hidden-user','s:152:\"The user you are trying to block has already been blocked and hidden.\nSince you do not have the hideuser right, you cannot see or edit the user\'s block.\";'),('en','messages:ipbblocked','s:73:\"You cannot block or unblock other users, because you are yourself blocked\";'),('en','messages:ipbnounblockself','s:39:\"You are not allowed to unblock yourself\";'),('en','messages:lockdb','s:13:\"Lock database\";'),('en','messages:unlockdb','s:15:\"Unlock database\";'),('en','messages:lockdbtext','s:294:\"Locking the database will suspend the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do, and that you will unlock the database when your maintenance is done.\";'),('en','messages:unlockdbtext','s:227:\"Unlocking the database will restore the ability of all users to edit pages, change their preferences, edit their watchlists, and other things requiring changes in the database.\nPlease confirm that this is what you intend to do.\";'),('en','messages:lockconfirm','s:40:\"Yes, I really want to lock the database.\";'),('en','messages:unlockconfirm','s:42:\"Yes, I really want to unlock the database.\";'),('en','messages:lockbtn','s:13:\"Lock database\";'),('en','messages:unlockbtn','s:15:\"Unlock database\";'),('en','messages:locknoconfirm','s:39:\"You did not check the confirmation box.\";'),('en','messages:lockdbsuccesssub','s:23:\"Database lock succeeded\";'),('en','messages:unlockdbsuccesssub','s:21:\"Database lock removed\";'),('en','messages:lockdbsuccesstext','s:120:\"The database has been locked.<br />\nRemember to [[Special:UnlockDB|remove the lock]] after your maintenance is complete.\";'),('en','messages:unlockdbsuccesstext','s:31:\"The database has been unlocked.\";'),('en','messages:lockfilenotwritable','s:116:\"The database lock file is not writable.\nTo lock or unlock the database, this needs to be writable by the web server.\";'),('en','messages:databasenotlocked','s:27:\"The database is not locked.\";'),('en','messages:lockedbyandtime','s:33:\"(by {{GENDER:$1|$1}} on $2 at $3)\";'),('en','messages:move-page','s:7:\"Move $1\";'),('en','messages:move-page-legend','s:9:\"Move page\";'),('en','messages:movepagetext','s:883:\"Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nYou can update redirects that point to the original title automatically.\nIf you choose not to, be sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will \'\'\'not\'\'\' be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n\'\'\'Warning!\'\'\'\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding.\";'),('en','messages:movepagetext-noredirectfixer','s:788:\"Using the form below will rename a page, moving all of its history to the new name.\nThe old title will become a redirect page to the new title.\nBe sure to check for [[Special:DoubleRedirects|double]] or [[Special:BrokenRedirects|broken redirects]].\nYou are responsible for making sure that links continue to point where they are supposed to go.\n\nNote that the page will \'\'\'not\'\'\' be moved if there is already a page at the new title, unless it is empty or a redirect and has no past edit history.\nThis means that you can rename a page back to where it was renamed from if you make a mistake, and you cannot overwrite an existing page.\n\n\'\'\'Warning!\'\'\'\nThis can be a drastic and unexpected change for a popular page;\nplease be sure you understand the consequences of this before proceeding.\";'),('en','messages:movepagetalktext','s:247:\"The associated talk page will be automatically moved along with it \'\'\'unless:\'\'\'\n*A non-empty talk page already exists under the new name, or\n*You uncheck the box below.\n\nIn those cases, you will have to move or merge the page manually if desired.\";'),('en','messages:movearticle','s:10:\"Move page:\";'),('en','messages:moveuserpage-warning','s:132:\"\'\'\'Warning:\'\'\' You are about to move a user page. Please note that only the page will be moved and the user will \'\'not\'\' be renamed.\";'),('en','messages:movenologin','s:13:\"Not logged in\";'),('en','messages:movenologintext','s:81:\"You must be a registered user and [[Special:UserLogin|logged in]] to move a page.\";'),('en','messages:movenotallowed','s:41:\"You do not have permission to move pages.\";'),('en','messages:movenotallowedfile','s:41:\"You do not have permission to move files.\";'),('en','messages:cant-move-user-page','s:68:\"You do not have permission to move user pages (apart from subpages).\";'),('en','messages:cant-move-to-user-page','s:84:\"You do not have permission to move a page to a user page (except to a user subpage).\";'),('en','messages:newtitle','s:13:\"To new title:\";'),('en','messages:move-watch','s:33:\"Watch source page and target page\";'),('en','messages:movepagebtn','s:9:\"Move page\";'),('en','messages:pagemovedsub','s:14:\"Move succeeded\";'),('en','messages:movepage-moved','s:33:\"\'\'\'\"$1\" has been moved to \"$2\"\'\'\'\";'),('en','messages:movepage-moved-redirect','s:28:\"A redirect has been created.\";'),('en','messages:movepage-moved-noredirect','s:47:\"The creation of a redirect has been suppressed.\";'),('en','messages:articleexists','s:105:\"A page of that name already exists, or the name you have chosen is not valid.\nPlease choose another name.\";'),('en','messages:cantmove-titleprotected','s:95:\"You cannot move a page to this location, because the new title has been protected from creation\";'),('en','messages:talkexists','s:155:\"\'\'\'The page itself was moved successfully, but the talk page could not be moved because one already exists at the new title.\nPlease merge them manually.\'\'\'\";'),('en','messages:movedto','s:8:\"moved to\";'),('en','messages:movetalk','s:25:\"Move associated talk page\";'),('en','messages:move-subpages','s:24:\"Move subpages (up to $1)\";'),('en','messages:move-talk-subpages','s:37:\"Move subpages of talk page (up to $1)\";'),('en','messages:movepage-page-exists','s:67:\"The page $1 already exists and cannot be automatically overwritten.\";'),('en','messages:movepage-page-moved','s:33:\"The page $1 has been moved to $2.\";'),('en','messages:movepage-page-unmoved','s:37:\"The page $1 could not be moved to $2.\";'),('en','messages:movepage-max-pages','s:98:\"The maximum of $1 {{PLURAL:$1|page|pages}} has been moved and no more will be moved automatically.\";'),('en','messages:1movedto2','s:22:\"moved [[$1]] to [[$2]]\";'),('en','messages:1movedto2_redir','s:36:\"moved [[$1]] to [[$2]] over redirect\";'),('en','messages:move-redirect-suppressed','s:19:\"redirect suppressed\";'),('en','messages:movelogpage','s:8:\"Move log\";'),('en','messages:movelogpagetext','s:34:\"Below is a list of all page moves.\";'),('en','messages:movesubpage','s:30:\"{{PLURAL:$1|Subpage|Subpages}}\";'),('en','messages:movesubpagetext','s:60:\"This page has $1 {{PLURAL:$1|subpage|subpages}} shown below.\";'),('en','messages:movenosubpage','s:26:\"This page has no subpages.\";'),('en','messages:movereason','s:7:\"Reason:\";'),('en','messages:revertmove','s:6:\"revert\";'),('en','messages:delete_and_move','s:15:\"Delete and move\";'),('en','messages:delete_and_move_text','s:121:\"== Deletion required ==\nThe destination page \"[[:$1]]\" already exists.\nDo you want to delete it to make way for the move?\";'),('en','messages:delete_and_move_confirm','s:20:\"Yes, delete the page\";'),('en','messages:delete_and_move_reason','s:28:\"Deleted to make way for move\";'),('en','messages:selfmove','s:75:\"Source and destination titles are the same;\ncannot move a page over itself.\";'),('en','messages:immobile-source-namespace','s:35:\"Cannot move pages in namespace \"$1\"\";'),('en','messages:immobile-target-namespace','s:37:\"Cannot move pages into namespace \"$1\"\";'),('en','messages:immobile-target-namespace-iw','s:51:\"Interwiki link is not a valid target for page move.\";'),('en','messages:immobile-source-page','s:25:\"This page is not movable.\";'),('en','messages:immobile-target-page','s:38:\"Cannot move to that destination title.\";'),('en','messages:imagenocrossnamespace','s:38:\"Cannot move file to non-file namespace\";'),('en','messages:nonfile-cannot-move-to-file','s:38:\"Cannot move non-file to file namespace\";'),('en','messages:imagetypemismatch','s:46:\"The new file extension does not match its type\";'),('en','messages:imageinvalidfilename','s:31:\"The target file name is invalid\";'),('en','messages:fix-double-redirects','s:53:\"Update any redirects that point to the original title\";'),('en','messages:move-leave-redirect','s:23:\"Leave a redirect behind\";'),('en','messages:protectedpagemovewarning','s:159:\"\'\'\'Warning:\'\'\' This page has been protected so that only users with administrator privileges can move it.\nThe latest log entry is provided below for reference:\";'),('en','messages:semiprotectedpagemovewarning','s:137:\"\'\'\'Note:\'\'\' This page has been protected so that only registered users can move it.\nThe latest log entry is provided below for reference:\";'),('en','messages:move-over-sharedrepo','s:115:\"== File exists ==\n[[:$1]] exists on a shared repository. Moving a file to this title will override the shared file.\";'),('en','messages:file-exists-sharedrepo','s:90:\"The file name chosen is already in use on a shared repository.\nPlease choose another name.\";'),('en','messages:export','s:12:\"Export pages\";'),('en','messages:exporttext','s:588:\"You can export the text and editing history of a particular page or set of pages wrapped in some XML.\nThis can be imported into another wiki using MediaWiki via the [[Special:Import|import page]].\n\nTo export pages, enter the titles in the text box below, one title per line, and select whether you want the current revision as well as all old revisions, with the page history lines, or the current revision with the info about the last edit.\n\nIn the latter case you can also use a link, for example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] for the page \"[[{{MediaWiki:Mainpage}}]]\".\";'),('en','messages:exportcuronly','s:55:\"Include only the current revision, not the full history\";'),('en','messages:exportnohistory','s:116:\"----\n\'\'\'Note:\'\'\' Exporting the full history of pages through this form has been disabled due to performance reasons.\";'),('en','messages:export-submit','s:6:\"Export\";'),('en','messages:export-addcattext','s:24:\"Add pages from category:\";'),('en','messages:export-addcat','s:3:\"Add\";'),('en','messages:export-addnstext','s:25:\"Add pages from namespace:\";'),('en','messages:export-addns','s:3:\"Add\";'),('en','messages:export-download','s:12:\"Save as file\";'),('en','messages:export-templates','s:17:\"Include templates\";'),('en','messages:export-pagelinks','s:35:\"Include linked pages to a depth of:\";'),('en','messages:allmessages','s:15:\"System messages\";'),('en','messages:allmessagesname','s:4:\"Name\";'),('en','messages:allmessagesdefault','s:20:\"Default message text\";'),('en','messages:allmessagescurrent','s:20:\"Current message text\";'),('en','messages:allmessagestext','s:256:\"This is a list of system messages available in the MediaWiki namespace.\nPlease visit [//www.mediawiki.org/wiki/Localisation MediaWiki Localisation] and [//translatewiki.net translatewiki.net] if you wish to contribute to the generic MediaWiki localisation.\";'),('en','messages:allmessagesnotsupportedDB','s:80:\"This page cannot be used because \'\'\'$wgUseDatabaseMessages\'\'\' has been disabled.\";'),('en','messages:allmessages-filter-legend','s:6:\"Filter\";'),('en','messages:allmessages-filter','s:30:\"Filter by customisation state:\";'),('en','messages:allmessages-filter-unmodified','s:10:\"Unmodified\";'),('en','messages:allmessages-filter-all','s:3:\"All\";'),('en','messages:allmessages-filter-modified','s:8:\"Modified\";'),('en','messages:allmessages-prefix','s:17:\"Filter by prefix:\";'),('en','messages:allmessages-language','s:9:\"Language:\";'),('en','messages:allmessages-filter-submit','s:2:\"Go\";'),('en','messages:thumbnail-more','s:7:\"Enlarge\";'),('en','messages:filemissing','s:12:\"File missing\";'),('en','messages:thumbnail_error','s:28:\"Error creating thumbnail: $1\";'),('en','messages:djvu_page_error','s:22:\"DjVu page out of range\";'),('en','messages:djvu_no_xml','s:33:\"Unable to fetch XML for DjVu file\";'),('en','messages:thumbnail_invalid_params','s:28:\"Invalid thumbnail parameters\";'),('en','messages:thumbnail_dest_directory','s:38:\"Unable to create destination directory\";'),('en','messages:thumbnail_image-type','s:24:\"Image type not supported\";'),('en','messages:thumbnail_gd-library','s:56:\"Incomplete GD library configuration: Missing function $1\";'),('en','messages:thumbnail_image-missing','s:28:\"File seems to be missing: $1\";'),('en','messages:import','s:12:\"Import pages\";'),('en','messages:importinterwiki','s:16:\"Transwiki import\";'),('en','messages:import-interwiki-text','s:174:\"Select a wiki and page title to import.\nRevision dates and editors\' names will be preserved.\nAll transwiki import actions are logged at the [[Special:Log/import|import log]].\";'),('en','messages:import-interwiki-source','s:17:\"Source wiki/page:\";'),('en','messages:import-interwiki-history','s:40:\"Copy all history revisions for this page\";'),('en','messages:import-interwiki-templates','s:21:\"Include all templates\";'),('en','messages:import-interwiki-submit','s:6:\"Import\";'),('en','messages:import-interwiki-namespace','s:22:\"Destination namespace:\";'),('en','messages:import-upload-filename','s:9:\"Filename:\";'),('en','messages:import-comment','s:8:\"Comment:\";'),('en','messages:importtext','s:133:\"Please export the file from the source wiki using the [[Special:Export|export utility]].\nSave it to your computer and upload it here.\";'),('en','messages:importstart','s:18:\"Importing pages...\";'),('en','messages:import-revision-count','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:importnopages','s:19:\"No pages to import.\";'),('en','messages:imported-log-entries','s:48:\"Imported $1 {{PLURAL:$1|log entry|log entries}}.\";'),('en','messages:importfailed','s:34:\"Import failed: <nowiki>$1</nowiki>\";'),('en','messages:importunknownsource','s:26:\"Unknown import source type\";'),('en','messages:importcantopen','s:26:\"Could not open import file\";'),('en','messages:importbadinterwiki','s:18:\"Bad interwiki link\";'),('en','messages:importnotext','s:16:\"Empty or no text\";'),('en','messages:importsuccess','s:16:\"Import finished!\";'),('en','messages:importhistoryconflict','s:72:\"Conflicting history revision exists (may have imported this page before)\";'),('en','messages:importnosources','s:86:\"No transwiki import sources have been defined and direct history uploads are disabled.\";'),('en','messages:importnofile','s:28:\"No import file was uploaded.\";'),('en','messages:importuploaderrorsize','s:78:\"Upload of import file failed.\nThe file is bigger than the allowed upload size.\";'),('en','messages:importuploaderrorpartial','s:67:\"Upload of import file failed.\nThe file was only partially uploaded.\";'),('en','messages:importuploaderrortemp','s:60:\"Upload of import file failed.\nA temporary folder is missing.\";'),('en','messages:import-parse-failure','s:24:\"XML import parse failure\";'),('en','messages:import-noarticle','s:18:\"No page to import!\";'),('en','messages:import-nonewrevisions','s:39:\"All revisions were previously imported.\";'),('en','messages:xml-error-string','s:35:\"$1 at line $2, col $3 (byte $4): $5\";'),('en','messages:import-upload','s:15:\"Upload XML data\";'),('en','messages:import-token-mismatch','s:39:\"Loss of session data.\nPlease try again.\";'),('en','messages:import-invalid-interwiki','s:38:\"Cannot import from the specified wiki.\";'),('en','messages:importlogpage','s:10:\"Import log\";'),('en','messages:importlogpagetext','s:67:\"Administrative imports of pages with edit history from other wikis.\";'),('en','messages:import-logentry-upload','s:30:\"imported [[$1]] by file upload\";'),('en','messages:import-logentry-upload-detail','s:35:\"$1 {{PLURAL:$1|revision|revisions}}\";'),('en','messages:import-logentry-interwiki','s:14:\"transwikied $1\";'),('en','messages:import-logentry-interwiki-detail','s:43:\"$1 {{PLURAL:$1|revision|revisions}} from $2\";'),('en','messages:accesskey-pt-userpage','s:1:\".\";'),('en','messages:accesskey-pt-anonuserpage','s:1:\".\";'),('en','messages:accesskey-pt-mytalk','s:1:\"n\";'),('en','messages:accesskey-pt-anontalk','s:1:\"n\";'),('en','messages:accesskey-pt-preferences','s:0:\"\";'),('en','messages:accesskey-pt-watchlist','s:1:\"l\";'),('en','messages:accesskey-pt-mycontris','s:1:\"y\";'),('en','messages:accesskey-pt-login','s:1:\"o\";'),('en','messages:accesskey-pt-anonlogin','s:1:\"o\";'),('en','messages:accesskey-pt-logout','s:0:\"\";'),('en','messages:accesskey-ca-talk','s:1:\"t\";'),('en','messages:accesskey-ca-edit','s:1:\"e\";'),('en','messages:accesskey-ca-addsection','s:1:\"+\";'),('en','messages:accesskey-ca-viewsource','s:1:\"e\";'),('en','messages:accesskey-ca-history','s:1:\"h\";'),('en','messages:accesskey-ca-protect','s:1:\"=\";'),('en','messages:accesskey-ca-unprotect','s:1:\"=\";'),('en','messages:accesskey-ca-delete','s:1:\"d\";'),('en','messages:accesskey-ca-undelete','s:1:\"d\";'),('en','messages:accesskey-ca-move','s:1:\"m\";'),('en','messages:accesskey-ca-watch','s:1:\"w\";'),('en','messages:accesskey-ca-unwatch','s:1:\"w\";'),('en','messages:accesskey-search','s:1:\"f\";'),('en','messages:accesskey-search-go','s:0:\"\";'),('en','messages:accesskey-search-fulltext','s:0:\"\";'),('en','messages:accesskey-p-logo','s:0:\"\";'),('en','messages:accesskey-n-mainpage','s:1:\"z\";'),('en','messages:accesskey-n-mainpage-description','s:1:\"z\";'),('en','messages:accesskey-n-portal','s:0:\"\";'),('en','messages:accesskey-n-currentevents','s:0:\"\";'),('en','messages:accesskey-n-recentchanges','s:1:\"r\";'),('en','messages:accesskey-n-randompage','s:1:\"x\";'),('en','messages:accesskey-n-help','s:0:\"\";'),('en','messages:accesskey-t-whatlinkshere','s:1:\"j\";'),('en','messages:accesskey-t-recentchangeslinked','s:1:\"k\";'),('en','messages:accesskey-feed-rss','s:0:\"\";'),('en','messages:accesskey-feed-atom','s:0:\"\";'),('en','messages:accesskey-t-contributions','s:0:\"\";'),('en','messages:accesskey-t-emailuser','s:0:\"\";'),('en','messages:accesskey-t-permalink','s:0:\"\";'),('en','messages:accesskey-t-print','s:1:\"p\";'),('en','messages:accesskey-t-upload','s:1:\"u\";'),('en','messages:accesskey-t-specialpages','s:1:\"q\";'),('en','messages:accesskey-ca-nstab-main','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-user','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-media','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-special','s:0:\"\";'),('en','messages:accesskey-ca-nstab-project','s:1:\"a\";'),('en','messages:accesskey-ca-nstab-image','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-mediawiki','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-template','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-help','s:1:\"c\";'),('en','messages:accesskey-ca-nstab-category','s:1:\"c\";'),('en','messages:accesskey-minoredit','s:1:\"i\";'),('en','messages:accesskey-save','s:1:\"s\";'),('en','messages:accesskey-preview','s:1:\"p\";'),('en','messages:accesskey-diff','s:1:\"v\";'),('en','messages:accesskey-compareselectedversions','s:1:\"v\";'),('en','messages:accesskey-watch','s:1:\"w\";'),('en','messages:accesskey-upload','s:1:\"s\";'),('en','messages:accesskey-preferences-save','s:1:\"s\";'),('en','messages:accesskey-summary','s:1:\"b\";'),('en','messages:accesskey-userrights-set','s:1:\"s\";'),('en','messages:accesskey-blockip-block','s:1:\"s\";'),('en','messages:accesskey-export','s:1:\"s\";'),('en','messages:accesskey-import','s:1:\"s\";'),('en','messages:tooltip-pt-userpage','s:14:\"Your user page\";'),('en','messages:tooltip-pt-anonuserpage','s:51:\"The user page for the IP address you are editing as\";'),('en','messages:tooltip-pt-mytalk','s:14:\"Your talk page\";'),('en','messages:tooltip-pt-anontalk','s:43:\"Discussion about edits from this IP address\";'),('en','messages:tooltip-pt-preferences','s:16:\"Your preferences\";'),('en','messages:tooltip-pt-watchlist','s:46:\"A list of pages you are monitoring for changes\";'),('en','messages:tooltip-pt-mycontris','s:28:\"A list of your contributions\";'),('en','messages:tooltip-pt-login','s:58:\"You are encouraged to log in; however, it is not mandatory\";'),('en','messages:tooltip-pt-anonlogin','s:58:\"You are encouraged to log in; however, it is not mandatory\";'),('en','messages:tooltip-pt-logout','s:7:\"Log out\";'),('en','messages:tooltip-ca-talk','s:33:\"Discussion about the content page\";'),('en','messages:tooltip-ca-edit','s:67:\"You can edit this page. Please use the preview button before saving\";'),('en','messages:tooltip-ca-addsection','s:19:\"Start a new section\";'),('en','messages:tooltip-ca-viewsource','s:47:\"This page is protected.\nYou can view its source\";'),('en','messages:tooltip-ca-history','s:27:\"Past revisions of this page\";'),('en','messages:tooltip-ca-protect','s:17:\"Protect this page\";'),('en','messages:tooltip-ca-unprotect','s:30:\"Change protection of this page\";'),('en','messages:tooltip-ca-delete','s:16:\"Delete this page\";'),('en','messages:tooltip-ca-undelete','s:57:\"Restore the edits done to this page before it was deleted\";'),('en','messages:tooltip-ca-move','s:14:\"Move this page\";'),('en','messages:tooltip-ca-watch','s:31:\"Add this page to your watchlist\";'),('en','messages:tooltip-ca-unwatch','s:36:\"Remove this page from your watchlist\";'),('en','messages:tooltip-search','s:19:\"Search {{SITENAME}}\";'),('en','messages:tooltip-search-go','s:43:\"Go to a page with this exact name if exists\";'),('en','messages:tooltip-search-fulltext','s:30:\"Search the pages for this text\";'),('en','messages:tooltip-p-logo','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-mainpage','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-mainpage-description','s:19:\"Visit the main page\";'),('en','messages:tooltip-n-portal','s:56:\"About the project, what you can do, where to find things\";'),('en','messages:tooltip-n-currentevents','s:45:\"Find background information on current events\";'),('en','messages:tooltip-n-recentchanges','s:36:\"A list of recent changes in the wiki\";'),('en','messages:tooltip-n-randompage','s:18:\"Load a random page\";'),('en','messages:tooltip-n-help','s:21:\"The place to find out\";'),('en','messages:tooltip-t-whatlinkshere','s:39:\"A list of all wiki pages that link here\";'),('en','messages:tooltip-t-recentchangeslinked','s:45:\"Recent changes in pages linked from this page\";'),('en','messages:tooltip-feed-rss','s:22:\"RSS feed for this page\";'),('en','messages:tooltip-feed-atom','s:23:\"Atom feed for this page\";'),('en','messages:tooltip-t-contributions','s:36:\"A list of contributions of this user\";'),('en','messages:tooltip-t-emailuser','s:27:\"Send an e-mail to this user\";'),('en','messages:tooltip-t-upload','s:12:\"Upload files\";'),('en','messages:tooltip-t-specialpages','s:27:\"A list of all special pages\";'),('en','messages:tooltip-t-print','s:30:\"Printable version of this page\";'),('en','messages:tooltip-t-permalink','s:43:\"Permanent link to this revision of the page\";'),('en','messages:tooltip-ca-nstab-main','s:21:\"View the content page\";'),('en','messages:tooltip-ca-nstab-user','s:18:\"View the user page\";'),('en','messages:tooltip-ca-nstab-media','s:19:\"View the media page\";'),('en','messages:tooltip-ca-nstab-special','s:55:\"This is a special page, you cannot edit the page itself\";'),('en','messages:tooltip-ca-nstab-project','s:21:\"View the project page\";'),('en','messages:tooltip-ca-nstab-image','s:18:\"View the file page\";'),('en','messages:tooltip-ca-nstab-mediawiki','s:23:\"View the system message\";'),('en','messages:tooltip-ca-nstab-template','s:17:\"View the template\";'),('en','messages:tooltip-ca-nstab-help','s:18:\"View the help page\";'),('en','messages:tooltip-ca-nstab-category','s:22:\"View the category page\";'),('en','messages:tooltip-minoredit','s:25:\"Mark this as a minor edit\";'),('en','messages:tooltip-save','s:17:\"Save your changes\";'),('en','messages:tooltip-preview','s:52:\"Preview your changes, please use this before saving!\";'),('en','messages:tooltip-diff','s:39:\"Show which changes you made to the text\";'),('en','messages:tooltip-compareselectedversions','s:67:\"See the differences between the two selected revisions of this page\";'),('en','messages:tooltip-watch','s:31:\"Add this page to your watchlist\";'),('en','messages:tooltip-recreate','s:49:\"Recreate the page even though it has been deleted\";'),('en','messages:tooltip-upload','s:12:\"Start upload\";'),('en','messages:tooltip-rollback','s:76:\"\"Rollback\" reverts edit(s) to this page of the last contributor in one click\";'),('en','messages:tooltip-undo','s:107:\"\"Undo\" reverts this edit and opens the edit form in preview mode. It allows adding a reason in the summary.\";'),('en','messages:tooltip-preferences-save','s:16:\"Save preferences\";'),('en','messages:tooltip-summary','s:21:\"Enter a short summary\";'),('en','messages:common.css','s:50:\"/* CSS placed here will be applied to all skins */\";'),('en','messages:standard.css','s:60:\"/* CSS placed here will affect users of the Standard skin */\";'),('en','messages:nostalgia.css','s:61:\"/* CSS placed here will affect users of the Nostalgia skin */\";'),('en','messages:cologneblue.css','s:64:\"/* CSS placed here will affect users of the Cologne Blue skin */\";'),('en','messages:monobook.css','s:60:\"/* CSS placed here will affect users of the Monobook skin */\";'),('en','messages:myskin.css','s:58:\"/* CSS placed here will affect users of the MySkin skin */\";'),('en','messages:chick.css','s:57:\"/* CSS placed here will affect users of the Chick skin */\";'),('en','messages:simple.css','s:58:\"/* CSS placed here will affect users of the Simple skin */\";'),('en','messages:modern.css','s:58:\"/* CSS placed here will affect users of the Modern skin */\";'),('en','messages:vector.css','s:58:\"/* CSS placed here will affect users of the Vector skin */\";'),('en','messages:print.css','s:50:\"/* CSS placed here will affect the print output */\";'),('en','messages:handheld.css','s:99:\"/* CSS placed here will affect handheld devices based on the skin configured in $wgHandheldStyle */\";'),('en','messages:noscript.css','s:64:\"/* CSS placed here will affect users with JavaScript disabled */\";'),('en','messages:group-autoconfirmed.css','s:58:\"/* CSS placed here will affect autoconfirmed users only */\";'),('en','messages:group-bot.css','s:43:\"/* CSS placed here will affect bots only */\";'),('en','messages:group-sysop.css','s:45:\"/* CSS placed here will affect sysops only */\";'),('en','messages:group-bureaucrat.css','s:50:\"/* CSS placed here will affect bureaucrats only */\";'),('en','messages:common.js','s:74:\"/* Any JavaScript here will be loaded for all users on every page load. */\";'),('en','messages:standard.js','s:74:\"/* Any JavaScript here will be loaded for users using the Standard skin */\";'),('en','messages:nostalgia.js','s:75:\"/* Any JavaScript here will be loaded for users using the Nostalgia skin */\";'),('en','messages:cologneblue.js','s:78:\"/* Any JavaScript here will be loaded for users using the Cologne Blue skin */\";'),('en','messages:monobook.js','s:74:\"/* Any JavaScript here will be loaded for users using the MonoBook skin */\";'),('en','messages:myskin.js','s:72:\"/* Any JavaScript here will be loaded for users using the MySkin skin */\";'),('en','messages:chick.js','s:71:\"/* Any JavaScript here will be loaded for users using the Chick skin */\";'),('en','messages:simple.js','s:72:\"/* Any JavaScript here will be loaded for users using the Simple skin */\";'),('en','messages:modern.js','s:72:\"/* Any JavaScript here will be loaded for users using the Modern skin */\";'),('en','messages:vector.js','s:72:\"/* Any JavaScript here will be loaded for users using the Vector skin */\";'),('en','messages:group-autoconfirmed.js','s:69:\"/* Any JavaScript here will be loaded for autoconfirmed users only */\";'),('en','messages:group-bot.js','s:54:\"/* Any JavaScript here will be loaded for bots only */\";'),('en','messages:group-sysop.js','s:56:\"/* Any JavaScript here will be loaded for sysops only */\";'),('en','messages:group-bureaucrat.js','s:61:\"/* Any JavaScript here will be loaded for bureaucrats only */\";'),('en','messages:notacceptable','s:69:\"The wiki server cannot provide data in a format your client can read.\";'),('en','messages:anonymous','s:50:\"Anonymous {{PLURAL:$1|user|users}} of {{SITENAME}}\";'),('en','messages:siteuser','s:20:\"{{SITENAME}} user $1\";'),('en','messages:anonuser','s:30:\"{{SITENAME}} anonymous user $1\";'),('en','messages:lastmodifiedatby','s:41:\"This page was last modified $2, $1 by $3.\";'),('en','messages:othercontribs','s:20:\"Based on work by $1.\";'),('en','messages:others','s:6:\"others\";'),('en','messages:siteusers','s:40:\"{{SITENAME}} {{PLURAL:$2|user|users}} $1\";'),('en','messages:anonusers','s:50:\"{{SITENAME}} anonymous {{PLURAL:$2|user|users}} $1\";'),('en','messages:creditspage','s:12:\"Page credits\";'),('en','messages:nocredits','s:49:\"There is no credits info available for this page.\";'),('en','messages:spamprotectiontitle','s:22:\"Spam protection filter\";'),('en','messages:spamprotectiontext','s:125:\"The text you wanted to save was blocked by the spam filter.\nThis is probably caused by a link to a blacklisted external site.\";'),('en','messages:spamprotectionmatch','s:56:\"The following text is what triggered our spam filter: $1\";'),('en','messages:spambot_username','s:22:\"MediaWiki spam cleanup\";'),('en','messages:spam_reverting','s:53:\"Reverting to last revision not containing links to $1\";'),('en','messages:spam_blanking','s:45:\"All revisions contained links to $1, blanking\";'),('en','messages:pageinfo-title','s:20:\"Information for \"$1\"\";'),('en','messages:pageinfo-header-edits','s:5:\"Edits\";'),('en','messages:pageinfo-header-watchlist','s:9:\"Watchlist\";'),('en','messages:pageinfo-header-views','s:5:\"Views\";'),('en','messages:pageinfo-subjectpage','s:4:\"Page\";'),('en','messages:pageinfo-talkpage','s:9:\"Talk page\";'),('en','messages:pageinfo-watchers','s:18:\"Number of watchers\";'),('en','messages:pageinfo-edits','s:15:\"Number of edits\";'),('en','messages:pageinfo-authors','s:26:\"Number of distinct authors\";'),('en','messages:pageinfo-views','s:15:\"Number of views\";'),('en','messages:pageinfo-viewsperedit','s:14:\"Views per edit\";'),('en','messages:skinname-standard','s:7:\"Classic\";'),('en','messages:skinname-nostalgia','s:9:\"Nostalgia\";'),('en','messages:skinname-cologneblue','s:12:\"Cologne Blue\";'),('en','messages:skinname-monobook','s:8:\"MonoBook\";'),('en','messages:skinname-myskin','s:6:\"MySkin\";'),('en','messages:skinname-chick','s:5:\"Chick\";'),('en','messages:skinname-simple','s:6:\"Simple\";'),('en','messages:skinname-modern','s:6:\"Modern\";'),('en','messages:skinname-vector','s:6:\"Vector\";'),('en','messages:markaspatrolleddiff','s:17:\"Mark as patrolled\";'),('en','messages:markaspatrolledlink','s:4:\"[$1]\";'),('en','messages:markaspatrolledtext','s:27:\"Mark this page as patrolled\";'),('en','messages:markedaspatrolled','s:19:\"Marked as patrolled\";'),('en','messages:markedaspatrolledtext','s:62:\"The selected revision of [[:$1]] has been marked as patrolled.\";'),('en','messages:rcpatroldisabled','s:30:\"Recent changes patrol disabled\";'),('en','messages:rcpatroldisabledtext','s:56:\"The recent changes patrol feature is currently disabled.\";'),('en','messages:markedaspatrollederror','s:24:\"Cannot mark as patrolled\";'),('en','messages:markedaspatrollederrortext','s:52:\"You need to specify a revision to mark as patrolled.\";'),('en','messages:markedaspatrollederror-noautopatrol','s:58:\"You are not allowed to mark your own changes as patrolled.\";'),('en','messages:patrol-log-page','s:10:\"Patrol log\";'),('en','messages:patrol-log-header','s:37:\"This is a log of patrolled revisions.\";'),('en','messages:patrol-log-line','s:28:\"marked $1 of $2 patrolled $3\";'),('en','messages:patrol-log-auto','s:11:\"(automatic)\";'),('en','messages:patrol-log-diff','s:11:\"revision $1\";'),('en','messages:log-show-hide-patrol','s:13:\"$1 patrol log\";'),('en','messages:deletedrevision','s:23:\"Deleted old revision $1\";'),('en','messages:filedeleteerror-short','s:23:\"Error deleting file: $1\";'),('en','messages:filedeleteerror-long','s:52:\"Errors were encountered while deleting the file:\n\n$1\";'),('en','messages:filedelete-missing','s:59:\"The file \"$1\" cannot be deleted, because it does not exist.\";'),('en','messages:filedelete-old-unregistered','s:56:\"The specified file revision \"$1\" is not in the database.\";'),('en','messages:filedelete-current-unregistered','s:47:\"The specified file \"$1\" is not in the database.\";'),('en','messages:filedelete-archive-read-only','s:60:\"The archive directory \"$1\" is not writable by the webserver.\";'),('en','messages:previousdiff','s:14:\"← Older edit\";'),('en','messages:nextdiff','s:14:\"Newer edit →\";'),('en','messages:mediawarning','s:106:\"\'\'\'Warning\'\'\': This file type may contain malicious code.\nBy executing it, your system may be compromised.\";'),('en','messages:imagemaxsize','s:55:\"Image size limit:<br />\'\'(for file description pages)\'\'\";'),('en','messages:thumbsize','s:15:\"Thumbnail size:\";'),('en','messages:widthheight','s:8:\"$1 × $2\";'),('en','messages:widthheightpage','s:37:\"$1 × $2, $3 {{PLURAL:$3|page|pages}}\";'),('en','messages:file-info','s:28:\"file size: $1, MIME type: $2\";'),('en','messages:file-info-size','s:45:\"$1 × $2 pixels, file size: $3, MIME type: $4\";'),('en','messages:file-info-size-pages','s:74:\"$1 × $2 pixels, file size: $3, MIME type: $4, $5 {{PLURAL:$5|page|pages}}\";'),('en','messages:file-nohires','s:46:\"<small>No higher resolution available.</small>\";'),('en','messages:svg-long-desc','s:50:\"SVG file, nominally $1 × $2 pixels, file size: $3\";'),('en','messages:show-big-image','s:15:\"Full resolution\";'),('en','messages:show-big-image-preview','s:40:\"<small>Size of this preview: $1.</small>\";'),('en','messages:show-big-image-other','s:37:\"<small>Other resolutions: $1.</small>\";'),('en','messages:show-big-image-size','s:15:\"$1 × $2 pixels\";'),('en','messages:file-info-gif-looped','s:6:\"looped\";'),('en','messages:file-info-gif-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('en','messages:file-info-png-looped','s:6:\"looped\";'),('en','messages:file-info-png-repeat','s:34:\"played $1 {{PLURAL:$1|time|times}}\";'),('en','messages:file-info-png-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('en','messages:newimages','s:20:\"Gallery of new files\";'),('en','messages:imagelisttext','s:63:\"Below is a list of \'\'\'$1\'\'\' {{PLURAL:$1|file|files}} sorted $2.\";'),('en','messages:newimages-summary','s:48:\"This special page shows the last uploaded files.\";'),('en','messages:newimages-legend','s:6:\"Filter\";'),('en','messages:newimages-label','s:27:\"Filename (or a part of it):\";'),('en','messages:showhidebots','s:9:\"($1 bots)\";'),('en','messages:noimages','s:15:\"Nothing to see.\";'),('en','messages:ilsubmit','s:6:\"Search\";'),('en','messages:bydate','s:7:\"by date\";'),('en','messages:sp-newimages-showfrom','s:35:\"Show new files starting from $2, $1\";'),('en','messages:video-dims','s:12:\"$1, $2 × $3\";'),('en','messages:seconds-abbrev','s:1:\"s\";'),('en','messages:minutes-abbrev','s:1:\"m\";'),('en','messages:hours-abbrev','s:1:\"h\";'),('en','messages:days-abbrev','s:1:\"d\";'),('en','messages:bad_image_list','s:252:\"The format is as follows:\n\nOnly list items (lines starting with *) are considered.\nThe first link on a line must be a link to a bad file.\nAny subsequent links on the same line are considered to be exceptions, i.e. pages where the file may occur inline.\";'),('en','messages:variantname-zh-hans','s:4:\"hans\";'),('en','messages:variantname-zh-hant','s:4:\"hant\";'),('en','messages:variantname-zh-cn','s:2:\"cn\";'),('en','messages:variantname-zh-tw','s:2:\"tw\";'),('en','messages:variantname-zh-hk','s:2:\"hk\";'),('en','messages:variantname-zh-mo','s:2:\"mo\";'),('en','messages:variantname-zh-sg','s:2:\"sg\";'),('en','messages:variantname-zh-my','s:2:\"my\";'),('en','messages:variantname-zh','s:2:\"zh\";'),('en','messages:variantname-gan-hans','s:4:\"hans\";'),('en','messages:variantname-gan-hant','s:4:\"hant\";'),('en','messages:variantname-gan','s:3:\"gan\";'),('en','messages:variantname-sr-ec','s:5:\"sr-ec\";'),('en','messages:variantname-sr-el','s:5:\"sr-el\";'),('en','messages:variantname-sr','s:2:\"sr\";'),('en','messages:variantname-kk-kz','s:5:\"kk-kz\";'),('en','messages:variantname-kk-tr','s:5:\"kk-tr\";'),('en','messages:variantname-kk-cn','s:5:\"kk-cn\";'),('en','messages:variantname-kk-cyrl','s:7:\"kk-cyrl\";'),('en','messages:variantname-kk-latn','s:7:\"kk-latn\";'),('en','messages:variantname-kk-arab','s:7:\"kk-arab\";'),('en','messages:variantname-kk','s:2:\"kk\";'),('en','messages:variantname-ku-arab','s:7:\"ku-Arab\";'),('en','messages:variantname-ku-latn','s:7:\"ku-Latn\";'),('en','messages:variantname-ku','s:2:\"ku\";'),('en','messages:variantname-tg-cyrl','s:7:\"tg-Cyrl\";'),('en','messages:variantname-tg-latn','s:7:\"tg-Latn\";'),('en','messages:variantname-tg','s:2:\"tg\";'),('en','messages:variantname-ike-cans','s:8:\"ike-Cans\";'),('en','messages:variantname-ike-latn','s:8:\"ike-Latn\";'),('en','messages:variantname-iu','s:2:\"iu\";'),('en','messages:metadata','s:8:\"Metadata\";'),('en','messages:metadata-help','s:232:\"This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.\nIf the file has been modified from its original state, some details may not fully reflect the modified file.\";'),('en','messages:metadata-expand','s:21:\"Show extended details\";'),('en','messages:metadata-collapse','s:21:\"Hide extended details\";'),('en','messages:metadata-fields','s:329:\"Image metadata fields listed in this message will be included on image page display when the metadata table is collapsed.\nOthers will be hidden by default.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude\";'),('en','messages:metadata-langitem','s:12:\"\'\'\'$2:\'\'\' $1\";'),('en','messages:metadata-langitem-default','s:2:\"$1\";'),('en','messages:exif-imagewidth','s:5:\"Width\";'),('en','messages:exif-imagelength','s:6:\"Height\";'),('en','messages:exif-bitspersample','s:18:\"Bits per component\";'),('en','messages:exif-compression','s:18:\"Compression scheme\";'),('en','messages:exif-photometricinterpretation','s:17:\"Pixel composition\";'),('en','messages:exif-orientation','s:11:\"Orientation\";'),('en','messages:exif-samplesperpixel','s:20:\"Number of components\";'),('en','messages:exif-planarconfiguration','s:16:\"Data arrangement\";'),('en','messages:exif-ycbcrsubsampling','s:27:\"Subsampling ratio of Y to C\";'),('en','messages:exif-ycbcrpositioning','s:19:\"Y and C positioning\";'),('en','messages:exif-xresolution','s:21:\"Horizontal resolution\";'),('en','messages:exif-yresolution','s:19:\"Vertical resolution\";'),('en','messages:exif-stripoffsets','s:19:\"Image data location\";'),('en','messages:exif-rowsperstrip','s:24:\"Number of rows per strip\";'),('en','messages:exif-stripbytecounts','s:26:\"Bytes per compressed strip\";'),('en','messages:exif-jpeginterchangeformat','s:18:\"Offset to JPEG SOI\";'),('en','messages:exif-jpeginterchangeformatlength','s:18:\"Bytes of JPEG data\";'),('en','messages:exif-whitepoint','s:24:\"White point chromaticity\";'),('en','messages:exif-primarychromaticities','s:29:\"Chromaticities of primarities\";'),('en','messages:exif-ycbcrcoefficients','s:46:\"Color space transformation matrix coefficients\";'),('en','messages:exif-referenceblackwhite','s:40:\"Pair of black and white reference values\";'),('en','messages:exif-datetime','s:25:\"File change date and time\";'),('en','messages:exif-imagedescription','s:11:\"Image title\";'),('en','messages:exif-make','s:19:\"Camera manufacturer\";'),('en','messages:exif-model','s:12:\"Camera model\";'),('en','messages:exif-software','s:13:\"Software used\";'),('en','messages:exif-artist','s:6:\"Author\";'),('en','messages:exif-copyright','s:16:\"Copyright holder\";'),('en','messages:exif-exifversion','s:12:\"Exif version\";'),('en','messages:exif-flashpixversion','s:26:\"Supported Flashpix version\";'),('en','messages:exif-colorspace','s:11:\"Color space\";'),('en','messages:exif-componentsconfiguration','s:25:\"Meaning of each component\";'),('en','messages:exif-compressedbitsperpixel','s:22:\"Image compression mode\";'),('en','messages:exif-pixelydimension','s:11:\"Image width\";'),('en','messages:exif-pixelxdimension','s:12:\"Image height\";'),('en','messages:exif-usercomment','s:13:\"User comments\";'),('en','messages:exif-relatedsoundfile','s:18:\"Related audio file\";'),('en','messages:exif-datetimeoriginal','s:32:\"Date and time of data generation\";'),('en','messages:exif-datetimedigitized','s:27:\"Date and time of digitizing\";'),('en','messages:exif-subsectime','s:19:\"DateTime subseconds\";'),('en','messages:exif-subsectimeoriginal','s:27:\"DateTimeOriginal subseconds\";'),('en','messages:exif-subsectimedigitized','s:28:\"DateTimeDigitized subseconds\";'),('en','messages:exif-exposuretime','s:13:\"Exposure time\";'),('en','messages:exif-exposuretime-format','s:11:\"$1 sec ($2)\";'),('en','messages:exif-fnumber','s:8:\"F Number\";'),('en','messages:exif-fnumber-format','s:4:\"f/$1\";'),('en','messages:exif-exposureprogram','s:16:\"Exposure Program\";'),('en','messages:exif-spectralsensitivity','s:20:\"Spectral sensitivity\";'),('en','messages:exif-isospeedratings','s:16:\"ISO speed rating\";'),('en','messages:exif-shutterspeedvalue','s:18:\"APEX shutter speed\";'),('en','messages:exif-aperturevalue','s:13:\"APEX aperture\";'),('en','messages:exif-brightnessvalue','s:15:\"APEX brightness\";'),('en','messages:exif-exposurebiasvalue','s:18:\"APEX exposure bias\";'),('en','messages:exif-maxaperturevalue','s:21:\"Maximum land aperture\";'),('en','messages:exif-subjectdistance','s:16:\"Subject distance\";'),('en','messages:exif-meteringmode','s:13:\"Metering mode\";'),('en','messages:exif-lightsource','s:12:\"Light source\";'),('en','messages:exif-flash','s:5:\"Flash\";'),('en','messages:exif-focallength','s:17:\"Lens focal length\";'),('en','messages:exif-focallength-format','s:5:\"$1 mm\";'),('en','messages:exif-subjectarea','s:12:\"Subject area\";'),('en','messages:exif-flashenergy','s:12:\"Flash energy\";'),('en','messages:exif-focalplanexresolution','s:24:\"Focal plane X resolution\";'),('en','messages:exif-focalplaneyresolution','s:24:\"Focal plane Y resolution\";'),('en','messages:exif-focalplaneresolutionunit','s:27:\"Focal plane resolution unit\";'),('en','messages:exif-subjectlocation','s:16:\"Subject location\";'),('en','messages:exif-exposureindex','s:14:\"Exposure index\";'),('en','messages:exif-sensingmethod','s:14:\"Sensing method\";'),('en','messages:exif-filesource','s:11:\"File source\";'),('en','messages:exif-scenetype','s:10:\"Scene type\";'),('en','messages:exif-customrendered','s:23:\"Custom image processing\";'),('en','messages:exif-exposuremode','s:13:\"Exposure mode\";'),('en','messages:exif-whitebalance','s:13:\"White balance\";'),('en','messages:exif-digitalzoomratio','s:18:\"Digital zoom ratio\";'),('en','messages:exif-focallengthin35mmfilm','s:26:\"Focal length in 35 mm film\";'),('en','messages:exif-scenecapturetype','s:18:\"Scene capture type\";'),('en','messages:exif-gaincontrol','s:13:\"Scene control\";'),('en','messages:exif-contrast','s:8:\"Contrast\";'),('en','messages:exif-saturation','s:10:\"Saturation\";'),('en','messages:exif-sharpness','s:9:\"Sharpness\";'),('en','messages:exif-devicesettingdescription','s:27:\"Device settings description\";'),('en','messages:exif-subjectdistancerange','s:22:\"Subject distance range\";'),('en','messages:exif-imageuniqueid','s:15:\"Unique image ID\";'),('en','messages:exif-gpsversionid','s:15:\"GPS tag version\";'),('en','messages:exif-gpslatituderef','s:23:\"North or south latitude\";'),('en','messages:exif-gpslatitude','s:8:\"Latitude\";'),('en','messages:exif-gpslongituderef','s:22:\"East or west longitude\";'),('en','messages:exif-gpslongitude','s:9:\"Longitude\";'),('en','messages:exif-gpsaltituderef','s:18:\"Altitude reference\";'),('en','messages:exif-gpsaltitude','s:8:\"Altitude\";'),('en','messages:exif-gpstimestamp','s:23:\"GPS time (atomic clock)\";'),('en','messages:exif-gpssatellites','s:31:\"Satellites used for measurement\";'),('en','messages:exif-gpsstatus','s:15:\"Receiver status\";'),('en','messages:exif-gpsmeasuremode','s:16:\"Measurement mode\";'),('en','messages:exif-gpsdop','s:21:\"Measurement precision\";'),('en','messages:exif-gpsspeedref','s:10:\"Speed unit\";'),('en','messages:exif-gpsspeed','s:21:\"Speed of GPS receiver\";'),('en','messages:exif-gpstrackref','s:35:\"Reference for direction of movement\";'),('en','messages:exif-gpstrack','s:21:\"Direction of movement\";'),('en','messages:exif-gpsimgdirectionref','s:32:\"Reference for direction of image\";'),('en','messages:exif-gpsimgdirection','s:18:\"Direction of image\";'),('en','messages:exif-gpsmapdatum','s:25:\"Geodetic survey data used\";'),('en','messages:exif-gpsdestlatituderef','s:37:\"Reference for latitude of destination\";'),('en','messages:exif-gpsdestlatitude','s:20:\"Latitude destination\";'),('en','messages:exif-gpsdestlongituderef','s:38:\"Reference for longitude of destination\";'),('en','messages:exif-gpsdestlongitude','s:24:\"Longitude of destination\";'),('en','messages:exif-gpsdestbearingref','s:36:\"Reference for bearing of destination\";'),('en','messages:exif-gpsdestbearing','s:22:\"Bearing of destination\";'),('en','messages:exif-gpsdestdistanceref','s:37:\"Reference for distance to destination\";'),('en','messages:exif-gpsdestdistance','s:23:\"Distance to destination\";'),('en','messages:exif-gpsprocessingmethod','s:29:\"Name of GPS processing method\";'),('en','messages:exif-gpsareainformation','s:16:\"Name of GPS area\";'),('en','messages:exif-gpsdatestamp','s:8:\"GPS date\";'),('en','messages:exif-gpsdifferential','s:27:\"GPS differential correction\";'),('en','messages:exif-coordinate-format','s:19:\"$1° $2′ $3″ $4\";'),('en','messages:exif-jpegfilecomment','s:17:\"JPEG file comment\";'),('en','messages:exif-keywords','s:8:\"Keywords\";'),('en','messages:exif-worldregioncreated','s:42:\"World region that the picture was taken in\";'),('en','messages:exif-countrycreated','s:37:\"Country that the picture was taken in\";'),('en','messages:exif-countrycodecreated','s:50:\"Code for the country that the picture was taken in\";'),('en','messages:exif-provinceorstatecreated','s:47:\"Province or state that the picture was taken in\";'),('en','messages:exif-citycreated','s:34:\"City that the picture was taken in\";'),('en','messages:exif-sublocationcreated','s:53:\"Sublocation of the city that the picture was taken in\";'),('en','messages:exif-worldregiondest','s:18:\"World region shown\";'),('en','messages:exif-countrydest','s:13:\"Country shown\";'),('en','messages:exif-countrycodedest','s:22:\"Code for country shown\";'),('en','messages:exif-provinceorstatedest','s:23:\"Province or state shown\";'),('en','messages:exif-citydest','s:10:\"City shown\";'),('en','messages:exif-sublocationdest','s:25:\"Sublocation of city shown\";'),('en','messages:exif-objectname','s:11:\"Short title\";'),('en','messages:exif-specialinstructions','s:20:\"Special instructions\";'),('en','messages:exif-headline','s:8:\"Headline\";'),('en','messages:exif-credit','s:15:\"Credit/Provider\";'),('en','messages:exif-source','s:6:\"Source\";'),('en','messages:exif-editstatus','s:25:\"Editorial status of image\";'),('en','messages:exif-urgency','s:7:\"Urgency\";'),('en','messages:exif-fixtureidentifier','s:12:\"Fixture name\";'),('en','messages:exif-locationdest','s:17:\"Location depicted\";'),('en','messages:exif-locationdestcode','s:25:\"Code of location depicted\";'),('en','messages:exif-objectcycle','s:38:\"Time of day that media is intended for\";'),('en','messages:exif-contact','s:19:\"Contact information\";'),('en','messages:exif-writer','s:6:\"Writer\";'),('en','messages:exif-languagecode','s:8:\"Language\";'),('en','messages:exif-iimversion','s:11:\"IIM version\";'),('en','messages:exif-iimcategory','s:8:\"Category\";'),('en','messages:exif-iimsupplementalcategory','s:23:\"Supplemental categories\";'),('en','messages:exif-datetimeexpires','s:16:\"Do not use after\";'),('en','messages:exif-datetimereleased','s:11:\"Released on\";'),('en','messages:exif-originaltransmissionref','s:35:\"Original transmission location code\";'),('en','messages:exif-identifier','s:10:\"Identifier\";'),('en','messages:exif-lens','s:9:\"Lens used\";'),('en','messages:exif-serialnumber','s:23:\"Serial number of camera\";'),('en','messages:exif-cameraownername','s:15:\"Owner of camera\";'),('en','messages:exif-label','s:5:\"Label\";'),('en','messages:exif-datetimemetadata','s:31:\"Date metadata was last modified\";'),('en','messages:exif-nickname','s:22:\"Informal name of image\";'),('en','messages:exif-rating','s:17:\"Rating (out of 5)\";'),('en','messages:exif-rightscertificate','s:29:\"Rights management certificate\";'),('en','messages:exif-copyrighted','s:16:\"Copyright status\";'),('en','messages:exif-copyrightowner','s:15:\"Copyright owner\";'),('en','messages:exif-usageterms','s:11:\"Usage terms\";'),('en','messages:exif-webstatement','s:26:\"Online copyright statement\";'),('en','messages:exif-originaldocumentid','s:30:\"Unique ID of original document\";'),('en','messages:exif-licenseurl','s:25:\"URL for copyright license\";'),('en','messages:exif-morepermissionsurl','s:33:\"Alternative licensing information\";'),('en','messages:exif-attributionurl','s:39:\"When re-using this work, please link to\";'),('en','messages:exif-preferredattributionname','s:38:\"When re-using this work, please credit\";'),('en','messages:exif-pngfilecomment','s:16:\"PNG file comment\";'),('en','messages:exif-disclaimer','s:10:\"Disclaimer\";'),('en','messages:exif-contentwarning','s:15:\"Content warning\";'),('en','messages:exif-giffilecomment','s:16:\"GIF file comment\";'),('en','messages:exif-intellectualgenre','s:12:\"Type of item\";'),('en','messages:exif-subjectnewscode','s:12:\"Subject code\";'),('en','messages:exif-scenecode','s:15:\"IPTC scene code\";'),('en','messages:exif-event','s:14:\"Event depicted\";'),('en','messages:exif-organisationinimage','s:21:\"Organization depicted\";'),('en','messages:exif-personinimage','s:15:\"Person depicted\";'),('en','messages:exif-originalimageheight','s:37:\"Height of image before it was cropped\";'),('en','messages:exif-originalimagewidth','s:36:\"Width of image before it was cropped\";'),('en','messages:exif-make-value','s:2:\"$1\";'),('en','messages:exif-model-value','s:2:\"$1\";'),('en','messages:exif-software-value','s:2:\"$1\";'),('en','messages:exif-software-version-value','s:15:\"$1 (Version $2)\";'),('en','messages:exif-contact-value','s:52:\"$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8\";'),('en','messages:exif-subjectnewscode-value','s:7:\"$2 ($1)\";'),('en','messages:exif-compression-1','s:12:\"Uncompressed\";'),('en','messages:exif-compression-2','s:64:\"CCITT Group 3 1-Dimensional Modified Huffman run length encoding\";'),('en','messages:exif-compression-3','s:26:\"CCITT Group 3 fax encoding\";'),('en','messages:exif-compression-4','s:26:\"CCITT Group 4 fax encoding\";'),('en','messages:exif-compression-5','s:3:\"LZW\";'),('en','messages:exif-compression-6','s:10:\"JPEG (old)\";'),('en','messages:exif-compression-7','s:4:\"JPEG\";'),('en','messages:exif-compression-8','s:15:\"Deflate (Adobe)\";'),('en','messages:exif-compression-32773','s:24:\"PackBits (Macintosh RLE)\";'),('en','messages:exif-compression-32946','s:15:\"Deflate (PKZIP)\";'),('en','messages:exif-compression-34712','s:8:\"JPEG2000\";'),('en','messages:exif-copyrighted-true','s:11:\"Copyrighted\";'),('en','messages:exif-copyrighted-false','s:13:\"Public domain\";'),('en','messages:exif-photometricinterpretation-2','s:3:\"RGB\";'),('en','messages:exif-photometricinterpretation-6','s:5:\"YCbCr\";'),('en','messages:exif-unknowndate','s:12:\"Unknown date\";'),('en','messages:exif-orientation-1','s:6:\"Normal\";'),('en','messages:exif-orientation-2','s:20:\"Flipped horizontally\";'),('en','messages:exif-orientation-3','s:13:\"Rotated 180°\";'),('en','messages:exif-orientation-4','s:18:\"Flipped vertically\";'),('en','messages:exif-orientation-5','s:39:\"Rotated 90° CCW and flipped vertically\";'),('en','messages:exif-orientation-6','s:16:\"Rotated 90° CCW\";'),('en','messages:exif-orientation-7','s:38:\"Rotated 90° CW and flipped vertically\";'),('en','messages:exif-orientation-8','s:15:\"Rotated 90° CW\";'),('en','messages:exif-planarconfiguration-1','s:13:\"chunky format\";'),('en','messages:exif-planarconfiguration-2','s:13:\"planar format\";'),('en','messages:exif-xyresolution-i','s:6:\"$1 dpi\";'),('en','messages:exif-xyresolution-c','s:6:\"$1 dpc\";'),('en','messages:exif-colorspace-1','s:4:\"sRGB\";'),('en','messages:exif-colorspace-65535','s:12:\"Uncalibrated\";'),('en','messages:exif-componentsconfiguration-0','s:14:\"does not exist\";'),('en','messages:exif-componentsconfiguration-1','s:1:\"Y\";'),('en','messages:exif-componentsconfiguration-2','s:2:\"Cb\";'),('en','messages:exif-componentsconfiguration-3','s:2:\"Cr\";'),('en','messages:exif-componentsconfiguration-4','s:1:\"R\";'),('en','messages:exif-componentsconfiguration-5','s:1:\"G\";'),('en','messages:exif-componentsconfiguration-6','s:1:\"B\";'),('en','messages:exif-exposureprogram-0','s:11:\"Not defined\";'),('en','messages:exif-exposureprogram-1','s:6:\"Manual\";'),('en','messages:exif-exposureprogram-2','s:14:\"Normal program\";'),('en','messages:exif-exposureprogram-3','s:17:\"Aperture priority\";'),('en','messages:exif-exposureprogram-4','s:16:\"Shutter priority\";'),('en','messages:exif-exposureprogram-5','s:47:\"Creative program (biased toward depth of field)\";'),('en','messages:exif-exposureprogram-6','s:49:\"Action program (biased toward fast shutter speed)\";'),('en','messages:exif-exposureprogram-7','s:67:\"Portrait mode (for closeup photos with the background out of focus)\";'),('en','messages:exif-exposureprogram-8','s:66:\"Landscape mode (for landscape photos with the background in focus)\";'),('en','messages:exif-subjectdistance-value','s:9:\"$1 meters\";'),('en','messages:exif-meteringmode-0','s:7:\"Unknown\";'),('en','messages:exif-meteringmode-1','s:7:\"Average\";'),('en','messages:exif-meteringmode-2','s:23:\"Center weighted average\";'),('en','messages:exif-meteringmode-3','s:4:\"Spot\";'),('en','messages:exif-meteringmode-4','s:10:\"Multi-Spot\";'),('en','messages:exif-meteringmode-5','s:7:\"Pattern\";'),('en','messages:exif-meteringmode-6','s:7:\"Partial\";'),('en','messages:exif-meteringmode-255','s:5:\"Other\";'),('en','messages:exif-lightsource-0','s:7:\"Unknown\";'),('en','messages:exif-lightsource-1','s:8:\"Daylight\";'),('en','messages:exif-lightsource-2','s:11:\"Fluorescent\";'),('en','messages:exif-lightsource-3','s:29:\"Tungsten (incandescent light)\";'),('en','messages:exif-lightsource-4','s:5:\"Flash\";'),('en','messages:exif-lightsource-9','s:12:\"Fine weather\";'),('en','messages:exif-lightsource-10','s:14:\"Cloudy weather\";'),('en','messages:exif-lightsource-11','s:5:\"Shade\";'),('en','messages:exif-lightsource-12','s:39:\"Daylight fluorescent (D 5700 – 7100K)\";'),('en','messages:exif-lightsource-13','s:40:\"Day white fluorescent (N 4600 – 5400K)\";'),('en','messages:exif-lightsource-14','s:41:\"Cool white fluorescent (W 3900 – 4500K)\";'),('en','messages:exif-lightsource-15','s:37:\"White fluorescent (WW 3200 – 3700K)\";'),('en','messages:exif-lightsource-17','s:16:\"Standard light A\";'),('en','messages:exif-lightsource-18','s:16:\"Standard light B\";'),('en','messages:exif-lightsource-19','s:16:\"Standard light C\";'),('en','messages:exif-lightsource-20','s:3:\"D55\";'),('en','messages:exif-lightsource-21','s:3:\"D65\";'),('en','messages:exif-lightsource-22','s:3:\"D75\";'),('en','messages:exif-lightsource-23','s:3:\"D50\";'),('en','messages:exif-lightsource-24','s:19:\"ISO studio tungsten\";'),('en','messages:exif-lightsource-255','s:18:\"Other light source\";'),('en','messages:exif-flash-fired-0','s:18:\"Flash did not fire\";'),('en','messages:exif-flash-fired-1','s:11:\"Flash fired\";'),('en','messages:exif-flash-return-0','s:35:\"no strobe return detection function\";'),('en','messages:exif-flash-return-2','s:32:\"strobe return light not detected\";'),('en','messages:exif-flash-return-3','s:28:\"strobe return light detected\";'),('en','messages:exif-flash-mode-1','s:23:\"compulsory flash firing\";'),('en','messages:exif-flash-mode-2','s:28:\"compulsory flash suppression\";'),('en','messages:exif-flash-mode-3','s:9:\"auto mode\";'),('en','messages:exif-flash-function-1','s:17:\"No flash function\";'),('en','messages:exif-flash-redeye-1','s:22:\"red-eye reduction mode\";'),('en','messages:exif-focalplaneresolutionunit-2','s:6:\"inches\";'),('en','messages:exif-sensingmethod-1','s:9:\"Undefined\";'),('en','messages:exif-sensingmethod-2','s:26:\"One-chip color area sensor\";'),('en','messages:exif-sensingmethod-3','s:26:\"Two-chip color area sensor\";'),('en','messages:exif-sensingmethod-4','s:28:\"Three-chip color area sensor\";'),('en','messages:exif-sensingmethod-5','s:28:\"Color sequential area sensor\";'),('en','messages:exif-sensingmethod-7','s:16:\"Trilinear sensor\";'),('en','messages:exif-sensingmethod-8','s:30:\"Color sequential linear sensor\";'),('en','messages:exif-filesource-3','s:20:\"Digital still camera\";'),('en','messages:exif-scenetype-1','s:29:\"A directly photographed image\";'),('en','messages:exif-customrendered-0','s:14:\"Normal process\";'),('en','messages:exif-customrendered-1','s:14:\"Custom process\";'),('en','messages:exif-exposuremode-0','s:13:\"Auto exposure\";'),('en','messages:exif-exposuremode-1','s:15:\"Manual exposure\";'),('en','messages:exif-exposuremode-2','s:12:\"Auto bracket\";'),('en','messages:exif-whitebalance-0','s:18:\"Auto white balance\";'),('en','messages:exif-whitebalance-1','s:20:\"Manual white balance\";'),('en','messages:exif-scenecapturetype-0','s:8:\"Standard\";'),('en','messages:exif-scenecapturetype-1','s:9:\"Landscape\";'),('en','messages:exif-scenecapturetype-2','s:8:\"Portrait\";'),('en','messages:exif-scenecapturetype-3','s:11:\"Night scene\";'),('en','messages:exif-gaincontrol-0','s:4:\"None\";'),('en','messages:exif-gaincontrol-1','s:11:\"Low gain up\";'),('en','messages:exif-gaincontrol-2','s:12:\"High gain up\";'),('en','messages:exif-gaincontrol-3','s:13:\"Low gain down\";'),('en','messages:exif-gaincontrol-4','s:14:\"High gain down\";'),('en','messages:exif-contrast-0','s:6:\"Normal\";'),('en','messages:exif-contrast-1','s:4:\"Soft\";'),('en','messages:exif-contrast-2','s:4:\"Hard\";'),('en','messages:exif-saturation-0','s:6:\"Normal\";'),('en','messages:exif-saturation-1','s:14:\"Low saturation\";'),('en','messages:exif-saturation-2','s:15:\"High saturation\";'),('en','messages:exif-sharpness-0','s:6:\"Normal\";'),('en','messages:exif-sharpness-1','s:4:\"Soft\";'),('en','messages:exif-sharpness-2','s:4:\"Hard\";'),('en','messages:exif-subjectdistancerange-0','s:7:\"Unknown\";'),('en','messages:exif-subjectdistancerange-1','s:5:\"Macro\";'),('en','messages:exif-subjectdistancerange-2','s:10:\"Close view\";'),('en','messages:exif-subjectdistancerange-3','s:12:\"Distant view\";'),('en','messages:exif-gpslatitude-n','s:14:\"North latitude\";'),('en','messages:exif-gpslatitude-s','s:14:\"South latitude\";'),('en','messages:exif-gpslongitude-e','s:14:\"East longitude\";'),('en','messages:exif-gpslongitude-w','s:14:\"West longitude\";'),('en','messages:exif-gpsaltitude-above-sealevel','s:45:\"$1 {{PLURAL:$1|meter|meters}} above sea level\";'),('en','messages:exif-gpsaltitude-below-sealevel','s:45:\"$1 {{PLURAL:$1|meter|meters}} below sea level\";'),('en','messages:exif-gpsstatus-a','s:23:\"Measurement in progress\";'),('en','messages:exif-gpsstatus-v','s:28:\"Measurement interoperability\";'),('en','messages:exif-gpsmeasuremode-2','s:25:\"2-dimensional measurement\";'),('en','messages:exif-gpsmeasuremode-3','s:25:\"3-dimensional measurement\";'),('en','messages:exif-gpsspeed-k','s:19:\"Kilometers per hour\";'),('en','messages:exif-gpsspeed-m','s:14:\"Miles per hour\";'),('en','messages:exif-gpsspeed-n','s:5:\"Knots\";'),('en','messages:exif-gpsdestdistance-k','s:10:\"Kilometers\";'),('en','messages:exif-gpsdestdistance-m','s:5:\"Miles\";'),('en','messages:exif-gpsdestdistance-n','s:14:\"Nautical miles\";'),('en','messages:exif-gpsdop-excellent','s:14:\"Excellent ($1)\";'),('en','messages:exif-gpsdop-good','s:9:\"Good ($1)\";'),('en','messages:exif-gpsdop-moderate','s:13:\"Moderate ($1)\";'),('en','messages:exif-gpsdop-fair','s:9:\"Fair ($1)\";'),('en','messages:exif-gpsdop-poor','s:9:\"Poor ($1)\";'),('en','messages:exif-objectcycle-a','s:12:\"Morning only\";'),('en','messages:exif-objectcycle-p','s:12:\"Evening only\";'),('en','messages:exif-objectcycle-b','s:24:\"Both morning and evening\";'),('en','messages:exif-gpsdirection-t','s:14:\"True direction\";'),('en','messages:exif-gpsdirection-m','s:18:\"Magnetic direction\";'),('en','messages:exif-ycbcrpositioning-1','s:8:\"Centered\";'),('en','messages:exif-ycbcrpositioning-2','s:8:\"Co-sited\";'),('en','messages:exif-dc-contributor','s:12:\"Contributors\";'),('en','messages:exif-dc-coverage','s:34:\"Spatial or temporal scope of media\";'),('en','messages:exif-dc-date','s:7:\"Date(s)\";'),('en','messages:exif-dc-publisher','s:9:\"Publisher\";'),('en','messages:exif-dc-relation','s:13:\"Related media\";'),('en','messages:exif-dc-rights','s:6:\"Rights\";'),('en','messages:exif-dc-source','s:12:\"Source media\";'),('en','messages:exif-dc-type','s:13:\"Type of media\";'),('en','messages:exif-rating-rejected','s:8:\"Rejected\";'),('en','messages:exif-isospeedratings-overflow','s:18:\"Greater than 65535\";'),('en','messages:exif-maxaperturevalue-value','s:14:\"$1 APEX (f/$2)\";'),('en','messages:exif-iimcategory-ace','s:31:\"Arts, culture and entertainment\";'),('en','messages:exif-iimcategory-clj','s:13:\"Crime and law\";'),('en','messages:exif-iimcategory-dis','s:23:\"Disasters and accidents\";'),('en','messages:exif-iimcategory-fin','s:20:\"Economy and business\";'),('en','messages:exif-iimcategory-edu','s:9:\"Education\";'),('en','messages:exif-iimcategory-evn','s:11:\"Environment\";'),('en','messages:exif-iimcategory-hth','s:6:\"Health\";'),('en','messages:exif-iimcategory-hum','s:14:\"Human interest\";'),('en','messages:exif-iimcategory-lab','s:6:\"Labour\";'),('en','messages:exif-iimcategory-lif','s:21:\"Lifestyle and leisure\";'),('en','messages:exif-iimcategory-pol','s:8:\"Politics\";'),('en','messages:exif-iimcategory-rel','s:19:\"Religion and belief\";'),('en','messages:exif-iimcategory-sci','s:22:\"Science and technology\";'),('en','messages:exif-iimcategory-soi','s:13:\"Social issues\";'),('en','messages:exif-iimcategory-spo','s:6:\"Sports\";'),('en','messages:exif-iimcategory-war','s:24:\"War, conflict and unrest\";'),('en','messages:exif-iimcategory-wea','s:7:\"Weather\";'),('en','messages:exif-urgency-normal','s:11:\"Normal ($1)\";'),('en','messages:exif-urgency-low','s:8:\"Low ($1)\";'),('en','messages:exif-urgency-high','s:9:\"High ($1)\";'),('en','messages:exif-urgency-other','s:26:\"User-defined priority ($1)\";'),('en','messages:edit-externally','s:44:\"Edit this file using an external application\";'),('en','messages:edit-externally-help','s:100:\"(See the [//www.mediawiki.org/wiki/Manual:External_editors setup instructions] for more information)\";'),('en','messages:watchlistall2','s:3:\"all\";'),('en','messages:namespacesall','s:3:\"all\";'),('en','messages:monthsall','s:3:\"all\";'),('en','messages:limitall','s:3:\"all\";'),('en','messages:confirmemail','s:22:\"Confirm e-mail address\";'),('en','messages:confirmemail_noemail','s:92:\"You do not have a valid e-mail address set in your [[Special:Preferences|user preferences]].\";'),('en','messages:confirmemail_text','s:284:\"{{SITENAME}} requires that you validate your e-mail address before using e-mail features.\nActivate the button below to send a confirmation mail to your address.\nThe mail will include a link containing a code;\nload the link in your browser to confirm that your e-mail address is valid.\";'),('en','messages:confirmemail_pending','s:180:\"A confirmation code has already been e-mailed to you;\nif you recently created your account, you may wish to wait a few minutes for it to arrive before trying to request a new code.\";'),('en','messages:confirmemail_send','s:24:\"Mail a confirmation code\";'),('en','messages:confirmemail_sent','s:25:\"Confirmation e-mail sent.\";'),('en','messages:confirmemail_oncreate','s:176:\"A confirmation code was sent to your e-mail address.\nThis code is not required to log in, but you will need to provide it before enabling any e-mail-based features in the wiki.\";'),('en','messages:confirmemail_sendfailed','s:129:\"{{SITENAME}} could not send your confirmation mail.\nPlease check your e-mail address for invalid characters.\n\nMailer returned: $1\";'),('en','messages:confirmemail_invalid','s:53:\"Invalid confirmation code.\nThe code may have expired.\";'),('en','messages:confirmemail_needlogin','s:46:\"You need to $1 to confirm your e-mail address.\";'),('en','messages:confirmemail_success','s:100:\"Your e-mail address has been confirmed.\nYou may now [[Special:UserLogin|log in]] and enjoy the wiki.\";'),('en','messages:confirmemail_loggedin','s:43:\"Your e-mail address has now been confirmed.\";'),('en','messages:confirmemail_error','s:46:\"Something went wrong saving your confirmation.\";'),('en','messages:confirmemail_subject','s:40:\"{{SITENAME}} e-mail address confirmation\";'),('en','messages:confirmemail_body','s:400:\"Someone, probably you, from IP address $1,\nhas registered an account \"$2\" with this e-mail address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and activate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf you did *not* register the account, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_body_changed','s:415:\"Someone, probably you, from IP address $1,\nhas changed the e-mail address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and reactivate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_body_set','s:411:\"Someone, probably you, from IP address $1,\nhas set the e-mail address of the account \"$2\" to this address on {{SITENAME}}.\n\nTo confirm that this account really does belong to you and reactivate\ne-mail features on {{SITENAME}}, open this link in your browser:\n\n$3\n\nIf the account does *not* belong to you, follow this link\nto cancel the e-mail address confirmation:\n\n$5\n\nThis confirmation code will expire at $4.\";'),('en','messages:confirmemail_invalidated','s:36:\"E-mail address confirmation canceled\";'),('en','messages:invalidateemail','s:26:\"Cancel e-mail confirmation\";'),('en','messages:scarytranscludedisabled','s:36:\"[Interwiki transcluding is disabled]\";'),('en','messages:scarytranscludefailed','s:30:\"[Template fetch failed for $1]\";'),('en','messages:scarytranscludetoolong','s:17:\"[URL is too long]\";'),('en','messages:trackbackbox','s:34:\"Trackbacks for this page:<br />\n$1\";'),('en','messages:trackback','s:16:\"; $4 $5: [$2 $1]\";'),('en','messages:trackbackexcerpt','s:37:\"; $4 $5: [$2 $1]: <nowiki>$3</nowiki>\";'),('en','messages:trackbackremove','s:13:\"([$1 Delete])\";'),('en','messages:trackbacklink','s:9:\"Trackback\";'),('en','messages:trackbackdeleteok','s:39:\"The trackback was successfully deleted.\";'),('en','messages:deletedwhileediting','s:63:\"\'\'\'Warning\'\'\': This page was deleted after you started editing!\";'),('en','messages:confirmrecreate','s:168:\"User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing with reason:\n: \'\'$2\'\'\nPlease confirm that you really want to recreate this page.\";'),('en','messages:confirmrecreate-noreason','s:148:\"User [[User:$1|$1]] ([[User talk:$1|talk]]) deleted this page after you started editing.  Please confirm that you really want to recreate this page.\";'),('en','messages:recreate','s:8:\"Recreate\";'),('en','messages:unit-pixel','s:2:\"px\";'),('en','messages:confirm_purge_button','s:2:\"OK\";'),('en','messages:confirm-purge-top','s:29:\"Clear the cache of this page?\";'),('en','messages:confirm-purge-bottom','s:79:\"Purging a page clears the cache and forces the most current revision to appear.\";'),('en','messages:confirm-watch-button','s:2:\"OK\";'),('en','messages:confirm-watch-top','s:32:\"Add this page to your watchlist?\";'),('en','messages:confirm-unwatch-button','s:2:\"OK\";'),('en','messages:confirm-unwatch-top','s:37:\"Remove this page from your watchlist?\";'),('en','messages:semicolon-separator','s:6:\";&#32;\";'),('en','messages:comma-separator','s:6:\",&#32;\";'),('en','messages:colon-separator','s:6:\":&#32;\";'),('en','messages:autocomment-prefix','s:6:\"-&#32;\";'),('en','messages:pipe-separator','s:11:\"&#32;|&#32;\";'),('en','messages:word-separator','s:5:\"&#32;\";'),('en','messages:ellipsis','s:3:\"...\";'),('en','messages:percent','s:3:\"$1%\";'),('en','messages:parentheses','s:4:\"($1)\";'),('en','messages:imgmultipageprev','s:17:\"← previous page\";'),('en','messages:imgmultipagenext','s:13:\"next page →\";'),('en','messages:imgmultigo','s:3:\"Go!\";'),('en','messages:imgmultigoto','s:13:\"Go to page $1\";'),('en','messages:ascending_abbrev','s:3:\"asc\";'),('en','messages:descending_abbrev','s:4:\"desc\";'),('en','messages:table_pager_next','s:9:\"Next page\";'),('en','messages:table_pager_prev','s:13:\"Previous page\";'),('en','messages:table_pager_first','s:10:\"First page\";'),('en','messages:table_pager_last','s:9:\"Last page\";'),('en','messages:table_pager_limit','s:22:\"Show $1 items per page\";'),('en','messages:table_pager_limit_label','s:15:\"Items per page:\";'),('en','messages:table_pager_limit_submit','s:2:\"Go\";'),('en','messages:table_pager_empty','s:10:\"No results\";'),('en','messages:autosumm-blank','s:16:\"Blanked the page\";'),('en','messages:autosumm-replace','s:26:\"Replaced content with \"$1\"\";'),('en','messages:autoredircomment','s:25:\"Redirected page to [[$1]]\";'),('en','messages:autosumm-new','s:22:\"Created page with \"$1\"\";'),('en','messages:autoblock_whitelist','s:406:\"AOL http://webmaster.info.aol.com/proxyinfo.html\n*64.12.96.0/19\n*149.174.160.0/20\n*152.163.240.0/21\n*152.163.248.0/22\n*152.163.252.0/23\n*152.163.96.0/22\n*152.163.100.0/23\n*195.93.32.0/22\n*195.93.48.0/22\n*195.93.64.0/19\n*195.93.96.0/19\n*195.93.16.0/20\n*198.81.0.0/22\n*198.81.16.0/20\n*198.81.8.0/23\n*202.67.64.128/25\n*205.188.192.0/20\n*205.188.208.0/23\n*205.188.112.0/20\n*205.188.146.144/30\n*207.200.112.0/21\";'),('en','messages:size-bytes','s:4:\"$1 B\";'),('en','messages:size-kilobytes','s:5:\"$1 KB\";'),('en','messages:size-megabytes','s:5:\"$1 MB\";'),('en','messages:size-gigabytes','s:5:\"$1 GB\";'),('en','messages:livepreview-loading','s:10:\"Loading...\";'),('en','messages:livepreview-ready','s:17:\"Loading... Ready!\";'),('en','messages:livepreview-failed','s:40:\"Live preview failed!\nTry normal preview.\";'),('en','messages:livepreview-error','s:47:\"Failed to connect: $1 \"$2\".\nTry normal preview.\";'),('en','messages:lag-warn-normal','s:81:\"Changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list.\";'),('en','messages:lag-warn-high','s:114:\"Due to high database server lag, changes newer than $1 {{PLURAL:$1|second|seconds}} may not be shown in this list.\";'),('en','messages:watchlistedit-numitems','s:78:\"Your watchlist contains {{PLURAL:$1|1 title|$1 titles}}, excluding talk pages.\";'),('en','messages:watchlistedit-noitems','s:34:\"Your watchlist contains no titles.\";'),('en','messages:watchlistedit-normal-title','s:14:\"Edit watchlist\";'),('en','messages:watchlistedit-normal-legend','s:28:\"Remove titles from watchlist\";'),('en','messages:watchlistedit-normal-explain','s:197:\"Titles on your watchlist are shown below.\nTo remove a title, check the box next to it, and click \"{{int:Watchlistedit-normal-submit}}\".\nYou can also [[Special:EditWatchlist/raw|edit the raw list]].\";'),('en','messages:watchlistedit-normal-submit','s:13:\"Remove titles\";'),('en','messages:watchlistedit-normal-done','s:69:\"{{PLURAL:$1|1 title was|$1 titles were}} removed from your watchlist:\";'),('en','messages:watchlistedit-raw-title','s:18:\"Edit raw watchlist\";'),('en','messages:watchlistedit-raw-legend','s:18:\"Edit raw watchlist\";'),('en','messages:watchlistedit-raw-explain','s:241:\"Titles on your watchlist are shown below, and can be edited by adding to and removing from the list;\none title per line.\nWhen finished, click \"{{int:Watchlistedit-raw-submit}}\".\nYou can also [[Special:EditWatchlist|use the standard editor]].\";'),('en','messages:watchlistedit-raw-titles','s:7:\"Titles:\";'),('en','messages:watchlistedit-raw-submit','s:16:\"Update watchlist\";'),('en','messages:watchlistedit-raw-done','s:32:\"Your watchlist has been updated.\";'),('en','messages:watchlistedit-raw-added','s:47:\"{{PLURAL:$1|1 title was|$1 titles were}} added:\";'),('en','messages:watchlistedit-raw-removed','s:49:\"{{PLURAL:$1|1 title was|$1 titles were}} removed:\";'),('en','messages:watchlisttools-view','s:21:\"View relevant changes\";'),('en','messages:watchlisttools-edit','s:23:\"View and edit watchlist\";'),('en','messages:watchlisttools-raw','s:18:\"Edit raw watchlist\";'),('en','messages:iranian-calendar-m1','s:9:\"Farvardin\";'),('en','messages:iranian-calendar-m2','s:11:\"Ordibehesht\";'),('en','messages:iranian-calendar-m3','s:7:\"Khordad\";'),('en','messages:iranian-calendar-m4','s:3:\"Tir\";'),('en','messages:iranian-calendar-m5','s:6:\"Mordad\";'),('en','messages:iranian-calendar-m6','s:9:\"Shahrivar\";'),('en','messages:iranian-calendar-m7','s:4:\"Mehr\";'),('en','messages:iranian-calendar-m8','s:4:\"Aban\";'),('en','messages:iranian-calendar-m9','s:4:\"Azar\";'),('en','messages:iranian-calendar-m10','s:3:\"Dey\";'),('en','messages:iranian-calendar-m11','s:6:\"Bahman\";'),('en','messages:iranian-calendar-m12','s:6:\"Esfand\";'),('en','messages:hijri-calendar-m1','s:8:\"Muharram\";'),('en','messages:hijri-calendar-m2','s:5:\"Safar\";'),('en','messages:hijri-calendar-m3','s:14:\"Rabi\' al-awwal\";'),('en','messages:hijri-calendar-m4','s:14:\"Rabi\' al-thani\";'),('en','messages:hijri-calendar-m5','s:15:\"Jumada al-awwal\";'),('en','messages:hijri-calendar-m6','s:15:\"Jumada al-thani\";'),('en','messages:hijri-calendar-m7','s:5:\"Rajab\";'),('en','messages:hijri-calendar-m8','s:8:\"Sha\'aban\";'),('en','messages:hijri-calendar-m9','s:7:\"Ramadan\";'),('en','messages:hijri-calendar-m10','s:7:\"Shawwal\";'),('en','messages:hijri-calendar-m11','s:13:\"Dhu al-Qi\'dah\";'),('en','messages:hijri-calendar-m12','s:13:\"Dhu al-Hijjah\";'),('en','messages:hebrew-calendar-m1','s:7:\"Tishrei\";'),('en','messages:hebrew-calendar-m2','s:8:\"Cheshvan\";'),('en','messages:hebrew-calendar-m3','s:6:\"Kislev\";'),('en','messages:hebrew-calendar-m4','s:5:\"Tevet\";'),('en','messages:hebrew-calendar-m5','s:6:\"Shevat\";'),('en','messages:hebrew-calendar-m6','s:4:\"Adar\";'),('en','messages:hebrew-calendar-m6a','s:6:\"Adar I\";'),('en','messages:hebrew-calendar-m6b','s:7:\"Adar II\";'),('en','messages:hebrew-calendar-m7','s:5:\"Nisan\";'),('en','messages:hebrew-calendar-m8','s:4:\"Iyar\";'),('en','messages:hebrew-calendar-m9','s:5:\"Sivan\";'),('en','messages:hebrew-calendar-m10','s:5:\"Tamuz\";'),('en','messages:hebrew-calendar-m11','s:2:\"Av\";'),('en','messages:hebrew-calendar-m12','s:4:\"Elul\";'),('en','messages:hebrew-calendar-m1-gen','s:7:\"Tishrei\";'),('en','messages:hebrew-calendar-m2-gen','s:8:\"Cheshvan\";'),('en','messages:hebrew-calendar-m3-gen','s:6:\"Kislev\";'),('en','messages:hebrew-calendar-m4-gen','s:5:\"Tevet\";'),('en','messages:hebrew-calendar-m5-gen','s:6:\"Shevat\";'),('en','messages:hebrew-calendar-m6-gen','s:4:\"Adar\";'),('en','messages:hebrew-calendar-m6a-gen','s:6:\"Adar I\";'),('en','messages:hebrew-calendar-m6b-gen','s:7:\"Adar II\";'),('en','messages:hebrew-calendar-m7-gen','s:5:\"Nisan\";'),('en','messages:hebrew-calendar-m8-gen','s:4:\"Iyar\";'),('en','messages:hebrew-calendar-m9-gen','s:5:\"Sivan\";'),('en','messages:hebrew-calendar-m10-gen','s:5:\"Tamuz\";'),('en','messages:hebrew-calendar-m11-gen','s:2:\"Av\";'),('en','messages:hebrew-calendar-m12-gen','s:4:\"Elul\";'),('en','messages:signature','s:21:\"[[{{ns:user}}:$1|$2]]\";'),('en','messages:signature-anon','s:36:\"[[{{#special:Contributions}}/$1|$2]]\";'),('en','messages:timezone-utc','s:3:\"UTC\";'),('en','messages:unknown_extension_tag','s:26:\"Unknown extension tag \"$1\"\";'),('en','messages:duplicate-defaultsort','s:77:\"\'\'\'Warning:\'\'\' Default sort key \"$2\" overrides earlier default sort key \"$1\".\";'),('en','messages:version','s:7:\"Version\";'),('en','messages:version-extensions','s:20:\"Installed extensions\";'),('en','messages:version-specialpages','s:13:\"Special pages\";'),('en','messages:version-parserhooks','s:12:\"Parser hooks\";'),('en','messages:version-variables','s:9:\"Variables\";'),('en','messages:version-antispam','s:15:\"Spam prevention\";'),('en','messages:version-skins','s:5:\"Skins\";'),('en','messages:version-api','s:3:\"API\";'),('en','messages:version-other','s:5:\"Other\";'),('en','messages:version-mediahandlers','s:14:\"Media handlers\";'),('en','messages:version-hooks','s:5:\"Hooks\";'),('en','messages:version-extension-functions','s:19:\"Extension functions\";'),('en','messages:version-parser-extensiontags','s:21:\"Parser extension tags\";'),('en','messages:version-parser-function-hooks','s:21:\"Parser function hooks\";'),('en','messages:version-hook-name','s:9:\"Hook name\";'),('en','messages:version-hook-subscribedby','s:13:\"Subscribed by\";'),('en','messages:version-version','s:12:\"(Version $1)\";'),('en','messages:version-svn-revision','s:5:\"(r$2)\";'),('en','messages:version-license','s:7:\"License\";'),('en','messages:version-poweredby-credits','s:88:\"This wiki is powered by \'\'\'[//www.mediawiki.org/ MediaWiki]\'\'\', copyright © 2001-$1 $2.\";'),('en','messages:version-poweredby-others','s:6:\"others\";'),('en','messages:version-license-info','s:777:\"MediaWiki is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nMediaWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received [{{SERVER}}{{SCRIPTPATH}}/COPYING a copy of the GNU General Public License] along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA or [//www.gnu.org/licenses/old-licenses/gpl-2.0.html read it online].\";'),('en','messages:version-software','s:18:\"Installed software\";'),('en','messages:version-software-product','s:7:\"Product\";'),('en','messages:version-software-version','s:7:\"Version\";'),('en','messages:filepath','s:9:\"File path\";'),('en','messages:filepath-page','s:5:\"File:\";'),('en','messages:filepath-submit','s:2:\"Go\";'),('en','messages:filepath-summary','s:161:\"This special page returns the complete path for a file.\nImages are shown in full resolution, other file types are started with their associated program directly.\";'),('en','messages:fileduplicatesearch','s:26:\"Search for duplicate files\";'),('en','messages:fileduplicatesearch-summary','s:48:\"Search for duplicate files based on hash values.\";'),('en','messages:fileduplicatesearch-legend','s:22:\"Search for a duplicate\";'),('en','messages:fileduplicatesearch-filename','s:9:\"Filename:\";'),('en','messages:fileduplicatesearch-submit','s:6:\"Search\";'),('en','messages:fileduplicatesearch-info','s:52:\"$1 × $2 pixel<br />File size: $3<br />MIME type: $4\";'),('en','messages:fileduplicatesearch-result-1','s:43:\"The file \"$1\" has no identical duplication.\";'),('en','messages:fileduplicatesearch-result-n','s:82:\"The file \"$1\" has {{PLURAL:$2|1 identical duplication|$2 identical duplications}}.\";'),('en','messages:fileduplicatesearch-noresults','s:25:\"No file named \"$1\" found.\";'),('en','messages:specialpages','s:13:\"Special pages\";'),('en','messages:specialpages-summary','s:0:\"\";'),('en','messages:specialpages-note','s:188:\"----\n* Normal special pages.\n* <span class=\"mw-specialpagerestricted\">Restricted special pages.</span>\n* <span class=\"mw-specialpagecached\">Cached special pages (might be obsolete).</span>\";'),('en','messages:specialpages-group-maintenance','s:19:\"Maintenance reports\";'),('en','messages:specialpages-group-other','s:19:\"Other special pages\";'),('en','messages:specialpages-group-login','s:15:\"Login / sign up\";'),('en','messages:specialpages-group-changes','s:23:\"Recent changes and logs\";'),('en','messages:specialpages-group-media','s:25:\"Media reports and uploads\";'),('en','messages:specialpages-group-users','s:16:\"Users and rights\";'),('en','messages:specialpages-group-highuse','s:14:\"High use pages\";'),('en','messages:specialpages-group-pages','s:14:\"Lists of pages\";'),('en','messages:specialpages-group-pagetools','s:10:\"Page tools\";'),('en','messages:specialpages-group-wiki','s:19:\"Wiki data and tools\";'),('en','messages:specialpages-group-redirects','s:25:\"Redirecting special pages\";'),('en','messages:specialpages-group-spam','s:10:\"Spam tools\";'),('en','messages:blankpage','s:10:\"Blank page\";'),('en','messages:intentionallyblankpage','s:38:\"This page is intentionally left blank.\";'),('en','messages:external_image_whitelist','s:440:\" #Leave this line exactly as it is<pre>\n#Put regular expression fragments (just the part that goes between the //) below\n#These will be matched with the URLs of external (hotlinked) images\n#Those that match will be displayed as images, otherwise only a link to the image will be shown\n#Lines beginning with # are treated as comments\n#This is case-insensitive\n\n#Put all regex fragments above this line. Leave this line exactly as it is</pre>\";'),('en','messages:tags','s:17:\"Valid change tags\";'),('en','messages:tag-filter','s:28:\"[[Special:Tags|Tag]] filter:\";'),('en','messages:tag-filter-submit','s:6:\"Filter\";'),('en','messages:tags-title','s:4:\"Tags\";'),('en','messages:tags-intro','s:84:\"This page lists the tags that the software may mark an edit with, and their meaning.\";'),('en','messages:tags-tag','s:8:\"Tag name\";'),('en','messages:tags-display-header','s:26:\"Appearance on change lists\";'),('en','messages:tags-description-header','s:27:\"Full description of meaning\";'),('en','messages:tags-hitcount-header','s:14:\"Tagged changes\";'),('en','messages:tags-edit','s:4:\"edit\";'),('en','messages:tags-hitcount','s:31:\"$1 {{PLURAL:$1|change|changes}}\";'),('en','messages:comparepages','s:13:\"Compare pages\";'),('en','messages:compare-selector','s:22:\"Compare page revisions\";'),('en','messages:compare-page1','s:6:\"Page 1\";'),('en','messages:compare-page2','s:6:\"Page 2\";'),('en','messages:compare-rev1','s:10:\"Revision 1\";'),('en','messages:compare-rev2','s:10:\"Revision 2\";'),('en','messages:compare-submit','s:7:\"Compare\";'),('en','messages:dberr-header','s:23:\"This wiki has a problem\";'),('en','messages:dberr-problems','s:56:\"Sorry!\nThis site is experiencing technical difficulties.\";'),('en','messages:dberr-again','s:40:\"Try waiting a few minutes and reloading.\";'),('en','messages:dberr-info','s:40:\"(Cannot contact the database server: $1)\";'),('en','messages:dberr-usegoogle','s:49:\"You can try searching via Google in the meantime.\";'),('en','messages:dberr-outofdate','s:58:\"Note that their indexes of our content may be out of date.\";'),('en','messages:dberr-cachederror','s:71:\"This is a cached copy of the requested page, and may not be up to date.\";'),('en','messages:htmlform-invalid-input','s:42:\"There are problems with some of your input\";'),('en','messages:htmlform-select-badoption','s:46:\"The value you specified is not a valid option.\";'),('en','messages:htmlform-int-invalid','s:42:\"The value you specified is not an integer.\";'),('en','messages:htmlform-float-invalid','s:40:\"The value you specified is not a number.\";'),('en','messages:htmlform-int-toolow','s:50:\"The value you specified is below the minimum of $1\";'),('en','messages:htmlform-int-toohigh','s:50:\"The value you specified is above the maximum of $1\";'),('en','messages:htmlform-required','s:22:\"This value is required\";'),('en','messages:htmlform-submit','s:6:\"Submit\";'),('en','messages:htmlform-reset','s:12:\"Undo changes\";'),('en','messages:htmlform-selectorother-other','s:5:\"Other\";'),('en','messages:sqlite-has-fts','s:32:\"$1 with full-text search support\";'),('en','messages:sqlite-no-fts','s:35:\"$1 without full-text search support\";'),('en','rtl','b:0;'),('en','capitalizeAllNouns','b:0;'),('en','digitTransformTable','N;'),('en','separatorTransformTable','N;'),('en','fallback8bitEncoding','s:12:\"windows-1252\";'),('en','linkPrefixExtension','b:0;'),('en','linkTrail','s:18:\"/^([a-z]+)(.*)$/sD\";'),('en','namespaceAliases','a:0:{}'),('en','dateFormats','a:12:{s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j F Y\";s:8:\"dmy both\";s:10:\"H:i, j F Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}'),('en','datePreferences','a:5:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";i:4;s:8:\"ISO 8601\";}'),('en','datePreferenceMigrationMap','a:4:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";}'),('en','defaultDateFormat','s:10:\"dmy or mdy\";'),('en','extraUserToggles','a:0:{}'),('en','specialPageAliases','a:97:{s:11:\"Activeusers\";a:1:{i:0;s:11:\"ActiveUsers\";}s:11:\"Allmessages\";a:1:{i:0;s:11:\"AllMessages\";}s:8:\"Allpages\";a:1:{i:0;s:8:\"AllPages\";}s:12:\"Ancientpages\";a:1:{i:0;s:12:\"AncientPages\";}s:8:\"Badtitle\";a:1:{i:0;s:8:\"Badtitle\";}s:9:\"Blankpage\";a:1:{i:0;s:9:\"BlankPage\";}s:5:\"Block\";a:3:{i:0;s:5:\"Block\";i:1;s:7:\"BlockIP\";i:2;s:9:\"BlockUser\";}s:7:\"Blockme\";a:1:{i:0;s:7:\"BlockMe\";}s:11:\"Booksources\";a:1:{i:0;s:11:\"BookSources\";}s:15:\"BrokenRedirects\";a:1:{i:0;s:15:\"BrokenRedirects\";}s:10:\"Categories\";a:1:{i:0;s:10:\"Categories\";}s:14:\"ChangePassword\";a:3:{i:0;s:14:\"ChangePassword\";i:1;s:9:\"ResetPass\";i:2;s:13:\"ResetPassword\";}s:12:\"ComparePages\";a:1:{i:0;s:12:\"ComparePages\";}s:12:\"Confirmemail\";a:1:{i:0;s:12:\"ConfirmEmail\";}s:13:\"Contributions\";a:2:{i:0;s:13:\"Contributions\";i:1;s:8:\"Contribs\";}s:13:\"CreateAccount\";a:1:{i:0;s:13:\"CreateAccount\";}s:12:\"Deadendpages\";a:1:{i:0;s:12:\"DeadendPages\";}s:20:\"DeletedContributions\";a:1:{i:0;s:20:\"DeletedContributions\";}s:15:\"Disambiguations\";a:1:{i:0;s:15:\"Disambiguations\";}s:15:\"DoubleRedirects\";a:1:{i:0;s:15:\"DoubleRedirects\";}s:13:\"EditWatchlist\";a:1:{i:0;s:13:\"EditWatchlist\";}s:9:\"Emailuser\";a:1:{i:0;s:9:\"EmailUser\";}s:6:\"Export\";a:1:{i:0;s:6:\"Export\";}s:15:\"Fewestrevisions\";a:1:{i:0;s:15:\"FewestRevisions\";}s:19:\"FileDuplicateSearch\";a:1:{i:0;s:19:\"FileDuplicateSearch\";}s:8:\"Filepath\";a:1:{i:0;s:8:\"FilePath\";}s:6:\"Import\";a:1:{i:0;s:6:\"Import\";}s:15:\"Invalidateemail\";a:1:{i:0;s:15:\"InvalidateEmail\";}s:9:\"BlockList\";a:3:{i:0;s:9:\"BlockList\";i:1;s:10:\"ListBlocks\";i:2;s:11:\"IPBlockList\";}s:10:\"LinkSearch\";a:1:{i:0;s:10:\"LinkSearch\";}s:10:\"Listadmins\";a:1:{i:0;s:10:\"ListAdmins\";}s:8:\"Listbots\";a:1:{i:0;s:8:\"ListBots\";}s:9:\"Listfiles\";a:3:{i:0;s:9:\"ListFiles\";i:1;s:8:\"FileList\";i:2;s:9:\"ImageList\";}s:15:\"Listgrouprights\";a:2:{i:0;s:15:\"ListGroupRights\";i:1;s:15:\"UserGroupRights\";}s:13:\"Listredirects\";a:1:{i:0;s:13:\"ListRedirects\";}s:9:\"Listusers\";a:2:{i:0;s:9:\"ListUsers\";i:1;s:8:\"UserList\";}s:6:\"Lockdb\";a:1:{i:0;s:6:\"LockDB\";}s:3:\"Log\";a:2:{i:0;s:3:\"Log\";i:1;s:4:\"Logs\";}s:11:\"Lonelypages\";a:2:{i:0;s:11:\"LonelyPages\";i:1;s:13:\"OrphanedPages\";}s:9:\"Longpages\";a:1:{i:0;s:9:\"LongPages\";}s:12:\"MergeHistory\";a:1:{i:0;s:12:\"MergeHistory\";}s:10:\"MIMEsearch\";a:1:{i:0;s:10:\"MIMESearch\";}s:14:\"Mostcategories\";a:1:{i:0;s:14:\"MostCategories\";}s:10:\"Mostimages\";a:3:{i:0;s:15:\"MostLinkedFiles\";i:1;s:9:\"MostFiles\";i:2;s:10:\"MostImages\";}s:10:\"Mostlinked\";a:2:{i:0;s:15:\"MostLinkedPages\";i:1;s:10:\"MostLinked\";}s:20:\"Mostlinkedcategories\";a:2:{i:0;s:20:\"MostLinkedCategories\";i:1;s:18:\"MostUsedCategories\";}s:19:\"Mostlinkedtemplates\";a:2:{i:0;s:19:\"MostLinkedTemplates\";i:1;s:17:\"MostUsedTemplates\";}s:13:\"Mostrevisions\";a:1:{i:0;s:13:\"MostRevisions\";}s:8:\"Movepage\";a:1:{i:0;s:8:\"MovePage\";}s:15:\"Mycontributions\";a:1:{i:0;s:15:\"MyContributions\";}s:6:\"Mypage\";a:1:{i:0;s:6:\"MyPage\";}s:6:\"Mytalk\";a:1:{i:0;s:6:\"MyTalk\";}s:9:\"Myuploads\";a:1:{i:0;s:9:\"MyUploads\";}s:9:\"Newimages\";a:2:{i:0;s:8:\"NewFiles\";i:1;s:9:\"NewImages\";}s:8:\"Newpages\";a:1:{i:0;s:8:\"NewPages\";}s:13:\"PasswordReset\";a:1:{i:0;s:13:\"PasswordReset\";}s:13:\"PermanentLink\";a:2:{i:0;s:13:\"PermanentLink\";i:1;s:9:\"PermaLink\";}s:12:\"Popularpages\";a:1:{i:0;s:12:\"PopularPages\";}s:11:\"Preferences\";a:1:{i:0;s:11:\"Preferences\";}s:11:\"Prefixindex\";a:1:{i:0;s:11:\"PrefixIndex\";}s:14:\"Protectedpages\";a:1:{i:0;s:14:\"ProtectedPages\";}s:15:\"Protectedtitles\";a:1:{i:0;s:15:\"ProtectedTitles\";}s:10:\"Randompage\";a:2:{i:0;s:6:\"Random\";i:1;s:10:\"RandomPage\";}s:14:\"Randomredirect\";a:1:{i:0;s:14:\"RandomRedirect\";}s:13:\"Recentchanges\";a:1:{i:0;s:13:\"RecentChanges\";}s:19:\"Recentchangeslinked\";a:2:{i:0;s:19:\"RecentChangesLinked\";i:1;s:14:\"RelatedChanges\";}s:14:\"Revisiondelete\";a:1:{i:0;s:14:\"RevisionDelete\";}s:12:\"RevisionMove\";a:1:{i:0;s:12:\"RevisionMove\";}s:6:\"Search\";a:1:{i:0;s:6:\"Search\";}s:10:\"Shortpages\";a:1:{i:0;s:10:\"ShortPages\";}s:12:\"Specialpages\";a:1:{i:0;s:12:\"SpecialPages\";}s:10:\"Statistics\";a:1:{i:0;s:10:\"Statistics\";}s:4:\"Tags\";a:1:{i:0;s:4:\"Tags\";}s:7:\"Unblock\";a:1:{i:0;s:7:\"Unblock\";}s:23:\"Uncategorizedcategories\";a:1:{i:0;s:23:\"UncategorizedCategories\";}s:19:\"Uncategorizedimages\";a:2:{i:0;s:18:\"UncategorizedFiles\";i:1;s:19:\"UncategorizedImages\";}s:18:\"Uncategorizedpages\";a:1:{i:0;s:18:\"UncategorizedPages\";}s:22:\"Uncategorizedtemplates\";a:1:{i:0;s:22:\"UncategorizedTemplates\";}s:8:\"Undelete\";a:1:{i:0;s:8:\"Undelete\";}s:8:\"Unlockdb\";a:1:{i:0;s:8:\"UnlockDB\";}s:16:\"Unusedcategories\";a:1:{i:0;s:16:\"UnusedCategories\";}s:12:\"Unusedimages\";a:2:{i:0;s:11:\"UnusedFiles\";i:1;s:12:\"UnusedImages\";}s:15:\"Unusedtemplates\";a:1:{i:0;s:15:\"UnusedTemplates\";}s:14:\"Unwatchedpages\";a:1:{i:0;s:14:\"UnwatchedPages\";}s:6:\"Upload\";a:1:{i:0;s:6:\"Upload\";}s:11:\"UploadStash\";a:1:{i:0;s:11:\"UploadStash\";}s:9:\"Userlogin\";a:1:{i:0;s:9:\"UserLogin\";}s:10:\"Userlogout\";a:1:{i:0;s:10:\"UserLogout\";}s:10:\"Userrights\";a:3:{i:0;s:10:\"UserRights\";i:1;s:9:\"MakeSysop\";i:2;s:7:\"MakeBot\";}s:7:\"Version\";a:1:{i:0;s:7:\"Version\";}s:16:\"Wantedcategories\";a:1:{i:0;s:16:\"WantedCategories\";}s:11:\"Wantedfiles\";a:1:{i:0;s:11:\"WantedFiles\";}s:11:\"Wantedpages\";a:2:{i:0;s:11:\"WantedPages\";i:1;s:11:\"BrokenLinks\";}s:15:\"Wantedtemplates\";a:1:{i:0;s:15:\"WantedTemplates\";}s:9:\"Watchlist\";a:1:{i:0;s:9:\"Watchlist\";}s:13:\"Whatlinkshere\";a:1:{i:0;s:13:\"WhatLinksHere\";}s:16:\"Withoutinterwiki\";a:1:{i:0;s:16:\"WithoutInterwiki\";}}'),('en','imageFiles','a:11:{s:11:\"button-bold\";s:15:\"button_bold.png\";s:13:\"button-italic\";s:17:\"button_italic.png\";s:11:\"button-link\";s:15:\"button_link.png\";s:14:\"button-extlink\";s:18:\"button_extlink.png\";s:15:\"button-headline\";s:19:\"button_headline.png\";s:12:\"button-image\";s:16:\"button_image.png\";s:12:\"button-media\";s:16:\"button_media.png\";s:11:\"button-math\";s:15:\"button_math.png\";s:13:\"button-nowiki\";s:17:\"button_nowiki.png\";s:10:\"button-sig\";s:14:\"button_sig.png\";s:9:\"button-hr\";s:13:\"button_hr.png\";}'),('en','preloadedMessages','a:95:{i:0;s:9:\"aboutpage\";i:1;s:9:\"aboutsite\";i:2;s:17:\"accesskey-ca-edit\";i:3;s:20:\"accesskey-ca-history\";i:4;s:23:\"accesskey-ca-nstab-main\";i:5;s:17:\"accesskey-ca-talk\";i:6;s:25:\"accesskey-n-currentevents\";i:7;s:16:\"accesskey-n-help\";i:8;s:32:\"accesskey-n-mainpage-description\";i:9;s:18:\"accesskey-n-portal\";i:10;s:22:\"accesskey-n-randompage\";i:11;s:25:\"accesskey-n-recentchanges\";i:12;s:23:\"accesskey-n-sitesupport\";i:13;s:16:\"accesskey-p-logo\";i:14;s:18:\"accesskey-pt-login\";i:15;s:16:\"accesskey-search\";i:16;s:25:\"accesskey-search-fulltext\";i:17;s:19:\"accesskey-search-go\";i:18;s:21:\"accesskey-t-permalink\";i:19;s:17:\"accesskey-t-print\";i:20;s:31:\"accesskey-t-recentchangeslinked\";i:21;s:24:\"accesskey-t-specialpages\";i:22;s:25:\"accesskey-t-whatlinkshere\";i:23;s:10:\"anonnotice\";i:24;s:15:\"colon-separator\";i:25;s:13:\"currentevents\";i:26;s:17:\"currentevents-url\";i:27;s:14:\"disclaimerpage\";i:28;s:11:\"disclaimers\";i:29;s:4:\"edit\";i:30;s:4:\"help\";i:31;s:8:\"helppage\";i:32;s:13:\"history_short\";i:33;s:6:\"jumpto\";i:34;s:16:\"jumptonavigation\";i:35;s:12:\"jumptosearch\";i:36;s:14:\"lastmodifiedat\";i:37;s:8:\"mainpage\";i:38;s:20:\"mainpage-description\";i:39;s:23:\"nav-login-createaccount\";i:40;s:10:\"navigation\";i:41;s:10:\"nstab-main\";i:42;s:15:\"opensearch-desc\";i:43;s:14:\"pagecategories\";i:44;s:18:\"pagecategorieslink\";i:45;s:9:\"pagetitle\";i:46;s:23:\"pagetitle-view-mainpage\";i:47;s:9:\"permalink\";i:48;s:13:\"personaltools\";i:49;s:6:\"portal\";i:50;s:10:\"portal-url\";i:51;s:16:\"printableversion\";i:52;s:7:\"privacy\";i:53;s:11:\"privacypage\";i:54;s:10:\"randompage\";i:55;s:14:\"randompage-url\";i:56;s:13:\"recentchanges\";i:57;s:17:\"recentchanges-url\";i:58;s:27:\"recentchangeslinked-toolbox\";i:59;s:13:\"retrievedfrom\";i:60;s:6:\"search\";i:61;s:13:\"searcharticle\";i:62;s:12:\"searchbutton\";i:63;s:7:\"sidebar\";i:64;s:14:\"site-atom-feed\";i:65;s:13:\"site-rss-feed\";i:66;s:10:\"sitenotice\";i:67;s:12:\"specialpages\";i:68;s:7:\"tagline\";i:69;s:4:\"talk\";i:70;s:7:\"toolbox\";i:71;s:15:\"tooltip-ca-edit\";i:72;s:18:\"tooltip-ca-history\";i:73;s:21:\"tooltip-ca-nstab-main\";i:74;s:15:\"tooltip-ca-talk\";i:75;s:23:\"tooltip-n-currentevents\";i:76;s:14:\"tooltip-n-help\";i:77;s:30:\"tooltip-n-mainpage-description\";i:78;s:16:\"tooltip-n-portal\";i:79;s:20:\"tooltip-n-randompage\";i:80;s:23:\"tooltip-n-recentchanges\";i:81;s:21:\"tooltip-n-sitesupport\";i:82;s:14:\"tooltip-p-logo\";i:83;s:20:\"tooltip-p-navigation\";i:84;s:16:\"tooltip-pt-login\";i:85;s:14:\"tooltip-search\";i:86;s:23:\"tooltip-search-fulltext\";i:87;s:17:\"tooltip-search-go\";i:88;s:19:\"tooltip-t-permalink\";i:89;s:15:\"tooltip-t-print\";i:90;s:29:\"tooltip-t-recentchangeslinked\";i:91;s:22:\"tooltip-t-specialpages\";i:92;s:23:\"tooltip-t-whatlinkshere\";i:93;s:5:\"views\";i:94;s:13:\"whatlinkshere\";}'),('en','namespaceGenderAliases','a:0:{}'),('en','fallbackSequence','a:0:{}'),('en','deps','a:5:{i:0;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEn.php\";s:9:\"timestamp\";i:1326230387;}i:1;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}s:24:\"wgExtensionMessagesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:24:\"wgExtensionMessagesFiles\";s:5:\"value\";a:1:{s:7:\"SVGEdit\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";}}s:23:\"wgExtensionAliasesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:23:\"wgExtensionAliasesFiles\";s:5:\"value\";a:0:{}}s:7:\"version\";O:18:\"ConstantDependency\":2:{s:4:\"name\";s:13:\"MW_LC_VERSION\";s:5:\"value\";i:1;}}'),('en','list','a:1:{s:8:\"messages\";a:2988:{i:0;s:23:\"svgedit-editbutton-edit\";i:1;s:21:\"svgedit-summary-label\";i:2;s:23:\"svgedit-summary-default\";i:3;s:25:\"svgedit-editor-save-close\";i:4;s:20:\"svgedit-editor-close\";i:5;s:12:\"svgedit-desc\";i:6;s:16:\"svgedit-edit-tab\";i:7;s:24:\"svgedit-edit-tab-tooltip\";i:8;s:22:\"svgedit-toolbar-insert\";i:9;s:7:\"sidebar\";i:10;s:13:\"tog-underline\";i:11;s:19:\"tog-highlightbroken\";i:12;s:11:\"tog-justify\";i:13;s:13:\"tog-hideminor\";i:14;s:17:\"tog-hidepatrolled\";i:15;s:25:\"tog-newpageshidepatrolled\";i:16;s:19:\"tog-extendwatchlist\";i:17;s:12:\"tog-usenewrc\";i:18;s:18:\"tog-numberheadings\";i:19;s:15:\"tog-showtoolbar\";i:20;s:18:\"tog-editondblclick\";i:21;s:15:\"tog-editsection\";i:22;s:27:\"tog-editsectiononrightclick\";i:23;s:11:\"tog-showtoc\";i:24;s:20:\"tog-rememberpassword\";i:25;s:18:\"tog-watchcreations\";i:26;s:16:\"tog-watchdefault\";i:27;s:14:\"tog-watchmoves\";i:28;s:17:\"tog-watchdeletion\";i:29;s:16:\"tog-minordefault\";i:30;s:16:\"tog-previewontop\";i:31;s:18:\"tog-previewonfirst\";i:32;s:11:\"tog-nocache\";i:33;s:24:\"tog-enotifwatchlistpages\";i:34;s:23:\"tog-enotifusertalkpages\";i:35;s:20:\"tog-enotifminoredits\";i:36;s:20:\"tog-enotifrevealaddr\";i:37;s:23:\"tog-shownumberswatching\";i:38;s:10:\"tog-oldsig\";i:39;s:12:\"tog-fancysig\";i:40;s:18:\"tog-externaleditor\";i:41;s:16:\"tog-externaldiff\";i:42;s:17:\"tog-showjumplinks\";i:43;s:18:\"tog-uselivepreview\";i:44;s:20:\"tog-forceeditsummary\";i:45;s:20:\"tog-watchlisthideown\";i:46;s:21:\"tog-watchlisthidebots\";i:47;s:22:\"tog-watchlisthideminor\";i:48;s:20:\"tog-watchlisthideliu\";i:49;s:22:\"tog-watchlisthideanons\";i:50;s:26:\"tog-watchlisthidepatrolled\";i:51;s:20:\"tog-nolangconversion\";i:52;s:16:\"tog-ccmeonemails\";i:53;s:12:\"tog-diffonly\";i:54;s:18:\"tog-showhiddencats\";i:55;s:17:\"tog-noconvertlink\";i:56;s:18:\"tog-norollbackdiff\";i:57;s:16:\"underline-always\";i:58;s:15:\"underline-never\";i:59;s:17:\"underline-default\";i:60;s:14:\"editfont-style\";i:61;s:16:\"editfont-default\";i:62;s:18:\"editfont-monospace\";i:63;s:18:\"editfont-sansserif\";i:64;s:14:\"editfont-serif\";i:65;s:6:\"sunday\";i:66;s:6:\"monday\";i:67;s:7:\"tuesday\";i:68;s:9:\"wednesday\";i:69;s:8:\"thursday\";i:70;s:6:\"friday\";i:71;s:8:\"saturday\";i:72;s:3:\"sun\";i:73;s:3:\"mon\";i:74;s:3:\"tue\";i:75;s:3:\"wed\";i:76;s:3:\"thu\";i:77;s:3:\"fri\";i:78;s:3:\"sat\";i:79;s:7:\"january\";i:80;s:8:\"february\";i:81;s:5:\"march\";i:82;s:5:\"april\";i:83;s:8:\"may_long\";i:84;s:4:\"june\";i:85;s:4:\"july\";i:86;s:6:\"august\";i:87;s:9:\"september\";i:88;s:7:\"october\";i:89;s:8:\"november\";i:90;s:8:\"december\";i:91;s:11:\"january-gen\";i:92;s:12:\"february-gen\";i:93;s:9:\"march-gen\";i:94;s:9:\"april-gen\";i:95;s:7:\"may-gen\";i:96;s:8:\"june-gen\";i:97;s:8:\"july-gen\";i:98;s:10:\"august-gen\";i:99;s:13:\"september-gen\";i:100;s:11:\"october-gen\";i:101;s:12:\"november-gen\";i:102;s:12:\"december-gen\";i:103;s:3:\"jan\";i:104;s:3:\"feb\";i:105;s:3:\"mar\";i:106;s:3:\"apr\";i:107;s:3:\"may\";i:108;s:3:\"jun\";i:109;s:3:\"jul\";i:110;s:3:\"aug\";i:111;s:3:\"sep\";i:112;s:3:\"oct\";i:113;s:3:\"nov\";i:114;s:3:\"dec\";i:115;s:14:\"pagecategories\";i:116;s:18:\"pagecategorieslink\";i:117;s:15:\"category_header\";i:118;s:13:\"subcategories\";i:119;s:21:\"category-media-header\";i:120;s:14:\"category-empty\";i:121;s:17:\"hidden-categories\";i:122;s:24:\"hidden-category-category\";i:123;s:21:\"category-subcat-count\";i:124;s:29:\"category-subcat-count-limited\";i:125;s:22:\"category-article-count\";i:126;s:30:\"category-article-count-limited\";i:127;s:19:\"category-file-count\";i:128;s:27:\"category-file-count-limited\";i:129;s:22:\"listingcontinuesabbrev\";i:130;s:14:\"index-category\";i:131;s:16:\"noindex-category\";i:132;s:20:\"broken-file-category\";i:133;s:10:\"linkprefix\";i:134;s:5:\"about\";i:135;s:7:\"article\";i:136;s:9:\"newwindow\";i:137;s:6:\"cancel\";i:138;s:13:\"moredotdotdot\";i:139;s:6:\"mypage\";i:140;s:6:\"mytalk\";i:141;s:8:\"anontalk\";i:142;s:10:\"navigation\";i:143;s:3:\"and\";i:144;s:6:\"qbfind\";i:145;s:8:\"qbbrowse\";i:146;s:6:\"qbedit\";i:147;s:13:\"qbpageoptions\";i:148;s:10:\"qbpageinfo\";i:149;s:11:\"qbmyoptions\";i:150;s:14:\"qbspecialpages\";i:151;s:3:\"faq\";i:152;s:7:\"faqpage\";i:153;s:9:\"sitetitle\";i:154;s:12:\"sitesubtitle\";i:155;s:24:\"vector-action-addsection\";i:156;s:20:\"vector-action-delete\";i:157;s:18:\"vector-action-move\";i:158;s:21:\"vector-action-protect\";i:159;s:22:\"vector-action-undelete\";i:160;s:23:\"vector-action-unprotect\";i:161;s:30:\"vector-simplesearch-preference\";i:162;s:18:\"vector-view-create\";i:163;s:16:\"vector-view-edit\";i:164;s:19:\"vector-view-history\";i:165;s:16:\"vector-view-view\";i:166;s:22:\"vector-view-viewsource\";i:167;s:7:\"actions\";i:168;s:10:\"namespaces\";i:169;s:8:\"variants\";i:170;s:14:\"errorpagetitle\";i:171;s:8:\"returnto\";i:172;s:7:\"tagline\";i:173;s:4:\"help\";i:174;s:6:\"search\";i:175;s:12:\"searchbutton\";i:176;s:2:\"go\";i:177;s:13:\"searcharticle\";i:178;s:7:\"history\";i:179;s:13:\"history_short\";i:180;s:13:\"updatedmarker\";i:181;s:16:\"printableversion\";i:182;s:9:\"permalink\";i:183;s:5:\"print\";i:184;s:4:\"view\";i:185;s:4:\"edit\";i:186;s:6:\"create\";i:187;s:12:\"editthispage\";i:188;s:16:\"create-this-page\";i:189;s:6:\"delete\";i:190;s:14:\"deletethispage\";i:191;s:14:\"undelete_short\";i:192;s:17:\"viewdeleted_short\";i:193;s:7:\"protect\";i:194;s:14:\"protect_change\";i:195;s:15:\"protectthispage\";i:196;s:9:\"unprotect\";i:197;s:17:\"unprotectthispage\";i:198;s:7:\"newpage\";i:199;s:8:\"talkpage\";i:200;s:16:\"talkpagelinktext\";i:201;s:11:\"specialpage\";i:202;s:13:\"personaltools\";i:203;s:11:\"postcomment\";i:204;s:10:\"addsection\";i:205;s:11:\"articlepage\";i:206;s:4:\"talk\";i:207;s:5:\"views\";i:208;s:7:\"toolbox\";i:209;s:8:\"userpage\";i:210;s:11:\"projectpage\";i:211;s:9:\"imagepage\";i:212;s:13:\"mediawikipage\";i:213;s:12:\"templatepage\";i:214;s:12:\"viewhelppage\";i:215;s:12:\"categorypage\";i:216;s:12:\"viewtalkpage\";i:217;s:14:\"otherlanguages\";i:218;s:14:\"redirectedfrom\";i:219;s:15:\"redirectpagesub\";i:220;s:14:\"talkpageheader\";i:221;s:14:\"lastmodifiedat\";i:222;s:9:\"viewcount\";i:223;s:13:\"protectedpage\";i:224;s:6:\"jumpto\";i:225;s:16:\"jumptonavigation\";i:226;s:12:\"jumptosearch\";i:227;s:15:\"view-pool-error\";i:228;s:12:\"pool-timeout\";i:229;s:14:\"pool-queuefull\";i:230;s:17:\"pool-errorunknown\";i:231;s:9:\"aboutsite\";i:232;s:9:\"aboutpage\";i:233;s:9:\"copyright\";i:234;s:13:\"copyrightpage\";i:235;s:13:\"currentevents\";i:236;s:17:\"currentevents-url\";i:237;s:11:\"disclaimers\";i:238;s:14:\"disclaimerpage\";i:239;s:8:\"edithelp\";i:240;s:12:\"edithelppage\";i:241;s:8:\"helppage\";i:242;s:8:\"mainpage\";i:243;s:20:\"mainpage-description\";i:244;s:10:\"policy-url\";i:245;s:6:\"portal\";i:246;s:10:\"portal-url\";i:247;s:7:\"privacy\";i:248;s:11:\"privacypage\";i:249;s:9:\"badaccess\";i:250;s:16:\"badaccess-group0\";i:251;s:16:\"badaccess-groups\";i:252;s:15:\"versionrequired\";i:253;s:19:\"versionrequiredtext\";i:254;s:2:\"ok\";i:255;s:9:\"pagetitle\";i:256;s:23:\"pagetitle-view-mainpage\";i:257;s:13:\"retrievedfrom\";i:258;s:18:\"youhavenewmessages\";i:259;s:15:\"newmessageslink\";i:260;s:19:\"newmessagesdifflink\";i:261;s:23:\"youhavenewmessagesmulti\";i:262;s:16:\"newtalkseparator\";i:263;s:11:\"editsection\";i:264;s:20:\"editsection-brackets\";i:265;s:7:\"editold\";i:266;s:13:\"viewsourceold\";i:267;s:8:\"editlink\";i:268;s:14:\"viewsourcelink\";i:269;s:15:\"editsectionhint\";i:270;s:3:\"toc\";i:271;s:7:\"showtoc\";i:272;s:7:\"hidetoc\";i:273;s:20:\"collapsible-collapse\";i:274;s:18:\"collapsible-expand\";i:275;s:13:\"thisisdeleted\";i:276;s:11:\"viewdeleted\";i:277;s:11:\"restorelink\";i:278;s:9:\"feedlinks\";i:279;s:12:\"feed-invalid\";i:280;s:16:\"feed-unavailable\";i:281;s:13:\"site-rss-feed\";i:282;s:14:\"site-atom-feed\";i:283;s:13:\"page-rss-feed\";i:284;s:14:\"page-atom-feed\";i:285;s:9:\"feed-atom\";i:286;s:8:\"feed-rss\";i:287;s:10:\"sitenotice\";i:288;s:10:\"anonnotice\";i:289;s:28:\"newsectionheaderdefaultlevel\";i:290;s:14:\"red-link-title\";i:291;s:15:\"sort-descending\";i:292;s:14:\"sort-ascending\";i:293;s:10:\"nstab-main\";i:294;s:10:\"nstab-user\";i:295;s:11:\"nstab-media\";i:296;s:13:\"nstab-special\";i:297;s:13:\"nstab-project\";i:298;s:11:\"nstab-image\";i:299;s:15:\"nstab-mediawiki\";i:300;s:14:\"nstab-template\";i:301;s:10:\"nstab-help\";i:302;s:14:\"nstab-category\";i:303;s:14:\"mainpage-nstab\";i:304;s:12:\"nosuchaction\";i:305;s:16:\"nosuchactiontext\";i:306;s:17:\"nosuchspecialpage\";i:307;s:17:\"nospecialpagetext\";i:308;s:5:\"error\";i:309;s:13:\"databaseerror\";i:310;s:11:\"dberrortext\";i:311;s:13:\"dberrortextcl\";i:312;s:15:\"laggedslavemode\";i:313;s:8:\"readonly\";i:314;s:15:\"enterlockreason\";i:315;s:12:\"readonlytext\";i:316;s:15:\"missing-article\";i:317;s:18:\"missingarticle-rev\";i:318;s:19:\"missingarticle-diff\";i:319;s:12:\"readonly_lag\";i:320;s:13:\"internalerror\";i:321;s:18:\"internalerror_info\";i:322;s:19:\"fileappenderrorread\";i:323;s:15:\"fileappenderror\";i:324;s:13:\"filecopyerror\";i:325;s:15:\"filerenameerror\";i:326;s:15:\"filedeleteerror\";i:327;s:20:\"directorycreateerror\";i:328;s:12:\"filenotfound\";i:329;s:15:\"fileexistserror\";i:330;s:10:\"unexpected\";i:331;s:9:\"formerror\";i:332;s:15:\"badarticleerror\";i:333;s:12:\"cannotdelete\";i:334;s:8:\"badtitle\";i:335;s:12:\"badtitletext\";i:336;s:10:\"perfcached\";i:337;s:12:\"perfcachedts\";i:338;s:20:\"querypage-no-updates\";i:339;s:20:\"wrong_wfQuery_params\";i:340;s:10:\"viewsource\";i:341;s:13:\"viewsourcefor\";i:342;s:15:\"actionthrottled\";i:343;s:19:\"actionthrottledtext\";i:344;s:17:\"protectedpagetext\";i:345;s:14:\"viewsourcetext\";i:346;s:18:\"protectedinterface\";i:347;s:16:\"editinginterface\";i:348;s:9:\"sqlhidden\";i:349;s:16:\"cascadeprotected\";i:350;s:18:\"namespaceprotected\";i:351;s:18:\"customcssprotected\";i:352;s:17:\"customjsprotected\";i:353;s:19:\"ns-specialprotected\";i:354;s:14:\"titleprotected\";i:355;s:16:\"virus-badscanner\";i:356;s:16:\"virus-scanfailed\";i:357;s:20:\"virus-unknownscanner\";i:358;s:10:\"logouttext\";i:359;s:15:\"welcomecreation\";i:360;s:8:\"yourname\";i:361;s:12:\"yourpassword\";i:362;s:17:\"yourpasswordagain\";i:363;s:18:\"remembermypassword\";i:364;s:23:\"securelogin-stick-https\";i:365;s:14:\"yourdomainname\";i:366;s:15:\"externaldberror\";i:367;s:5:\"login\";i:368;s:23:\"nav-login-createaccount\";i:369;s:11:\"loginprompt\";i:370;s:9:\"userlogin\";i:371;s:17:\"userloginnocreate\";i:372;s:6:\"logout\";i:373;s:10:\"userlogout\";i:374;s:11:\"notloggedin\";i:375;s:7:\"nologin\";i:376;s:11:\"nologinlink\";i:377;s:13:\"createaccount\";i:378;s:10:\"gotaccount\";i:379;s:14:\"gotaccountlink\";i:380;s:19:\"userlogin-resetlink\";i:381;s:17:\"createaccountmail\";i:382;s:19:\"createaccountreason\";i:383;s:9:\"badretype\";i:384;s:10:\"userexists\";i:385;s:10:\"loginerror\";i:386;s:18:\"createaccounterror\";i:387;s:12:\"nocookiesnew\";i:388;s:14:\"nocookieslogin\";i:389;s:15:\"nocookiesfornew\";i:390;s:17:\"nocookiesforlogin\";i:391;s:6:\"noname\";i:392;s:17:\"loginsuccesstitle\";i:393;s:12:\"loginsuccess\";i:394;s:10:\"nosuchuser\";i:395;s:15:\"nosuchusershort\";i:396;s:15:\"nouserspecified\";i:397;s:17:\"login-userblocked\";i:398;s:13:\"wrongpassword\";i:399;s:18:\"wrongpasswordempty\";i:400;s:16:\"passwordtooshort\";i:401;s:19:\"password-name-match\";i:402;s:24:\"password-login-forbidden\";i:403;s:14:\"mailmypassword\";i:404;s:21:\"passwordremindertitle\";i:405;s:20:\"passwordremindertext\";i:406;s:7:\"noemail\";i:407;s:13:\"noemailcreate\";i:408;s:12:\"passwordsent\";i:409;s:20:\"blocked-mailpassword\";i:410;s:12:\"eauthentsent\";i:411;s:22:\"throttled-mailpassword\";i:412;s:10:\"loginstart\";i:413;s:8:\"loginend\";i:414;s:14:\"loginend-https\";i:415;s:11:\"signupstart\";i:416;s:9:\"signupend\";i:417;s:15:\"signupend-https\";i:418;s:9:\"mailerror\";i:419;s:26:\"acct_creation_throttle_hit\";i:420;s:18:\"emailauthenticated\";i:421;s:21:\"emailnotauthenticated\";i:422;s:12:\"noemailprefs\";i:423;s:16:\"emailconfirmlink\";i:424;s:19:\"invalidemailaddress\";i:425;s:14:\"accountcreated\";i:426;s:18:\"accountcreatedtext\";i:427;s:19:\"createaccount-title\";i:428;s:18:\"createaccount-text\";i:429;s:17:\"usernamehasherror\";i:430;s:15:\"login-throttled\";i:431;s:19:\"login-abort-generic\";i:432;s:18:\"loginlanguagelabel\";i:433;s:18:\"loginlanguagelinks\";i:434;s:21:\"suspicious-userlogout\";i:435;s:15:\"pear-mail-error\";i:436;s:14:\"php-mail-error\";i:437;s:22:\"php-mail-error-unknown\";i:438;s:9:\"resetpass\";i:439;s:18:\"resetpass_announce\";i:440;s:14:\"resetpass_text\";i:441;s:16:\"resetpass_header\";i:442;s:11:\"oldpassword\";i:443;s:11:\"newpassword\";i:444;s:9:\"retypenew\";i:445;s:16:\"resetpass_submit\";i:446;s:17:\"resetpass_success\";i:447;s:19:\"resetpass_forbidden\";i:448;s:17:\"resetpass-no-info\";i:449;s:25:\"resetpass-submit-loggedin\";i:450;s:23:\"resetpass-submit-cancel\";i:451;s:23:\"resetpass-wrong-oldpass\";i:452;s:23:\"resetpass-temp-password\";i:453;s:13:\"passwordreset\";i:454;s:18:\"passwordreset-text\";i:455;s:20:\"passwordreset-legend\";i:456;s:22:\"passwordreset-disabled\";i:457;s:21:\"passwordreset-pretext\";i:458;s:22:\"passwordreset-username\";i:459;s:20:\"passwordreset-domain\";i:460;s:19:\"passwordreset-email\";i:461;s:24:\"passwordreset-emailtitle\";i:462;s:26:\"passwordreset-emailtext-ip\";i:463;s:28:\"passwordreset-emailtext-user\";i:464;s:26:\"passwordreset-emailelement\";i:465;s:23:\"passwordreset-emailsent\";i:466;s:11:\"bold_sample\";i:467;s:8:\"bold_tip\";i:468;s:13:\"italic_sample\";i:469;s:10:\"italic_tip\";i:470;s:11:\"link_sample\";i:471;s:8:\"link_tip\";i:472;s:14:\"extlink_sample\";i:473;s:11:\"extlink_tip\";i:474;s:15:\"headline_sample\";i:475;s:12:\"headline_tip\";i:476;s:13:\"nowiki_sample\";i:477;s:10:\"nowiki_tip\";i:478;s:12:\"image_sample\";i:479;s:9:\"image_tip\";i:480;s:12:\"media_sample\";i:481;s:9:\"media_tip\";i:482;s:7:\"sig_tip\";i:483;s:6:\"hr_tip\";i:484;s:7:\"summary\";i:485;s:7:\"subject\";i:486;s:9:\"minoredit\";i:487;s:9:\"watchthis\";i:488;s:11:\"savearticle\";i:489;s:7:\"preview\";i:490;s:11:\"showpreview\";i:491;s:15:\"showlivepreview\";i:492;s:8:\"showdiff\";i:493;s:15:\"anoneditwarning\";i:494;s:18:\"anonpreviewwarning\";i:495;s:14:\"missingsummary\";i:496;s:18:\"missingcommenttext\";i:497;s:20:\"missingcommentheader\";i:498;s:15:\"summary-preview\";i:499;s:15:\"subject-preview\";i:500;s:12:\"blockedtitle\";i:501;s:11:\"blockedtext\";i:502;s:15:\"autoblockedtext\";i:503;s:15:\"blockednoreason\";i:504;s:21:\"blockedoriginalsource\";i:505;s:17:\"blockededitsource\";i:506;s:18:\"whitelistedittitle\";i:507;s:17:\"whitelistedittext\";i:508;s:15:\"confirmedittext\";i:509;s:18:\"nosuchsectiontitle\";i:510;s:17:\"nosuchsectiontext\";i:511;s:13:\"loginreqtitle\";i:512;s:12:\"loginreqlink\";i:513;s:16:\"loginreqpagetext\";i:514;s:12:\"accmailtitle\";i:515;s:11:\"accmailtext\";i:516;s:10:\"newarticle\";i:517;s:14:\"newarticletext\";i:518;s:18:\"newarticletextanon\";i:519;s:12:\"talkpagetext\";i:520;s:16:\"anontalkpagetext\";i:521;s:13:\"noarticletext\";i:522;s:26:\"noarticletext-nopermission\";i:523;s:17:\"noarticletextanon\";i:524;s:25:\"userpage-userdoesnotexist\";i:525;s:30:\"userpage-userdoesnotexist-view\";i:526;s:25:\"blocked-notice-logextract\";i:527;s:14:\"clearyourcache\";i:528;s:20:\"usercssyoucanpreview\";i:529;s:19:\"userjsyoucanpreview\";i:530;s:14:\"usercsspreview\";i:531;s:13:\"userjspreview\";i:532;s:14:\"sitecsspreview\";i:533;s:13:\"sitejspreview\";i:534;s:21:\"userinvalidcssjstitle\";i:535;s:7:\"updated\";i:536;s:4:\"note\";i:537;s:11:\"previewnote\";i:538;s:15:\"previewconflict\";i:539;s:20:\"session_fail_preview\";i:540;s:25:\"session_fail_preview_html\";i:541;s:21:\"token_suffix_mismatch\";i:542;s:20:\"edit_form_incomplete\";i:543;s:7:\"editing\";i:544;s:14:\"editingsection\";i:545;s:14:\"editingcomment\";i:546;s:12:\"editconflict\";i:547;s:15:\"explainconflict\";i:548;s:8:\"yourtext\";i:549;s:13:\"storedversion\";i:550;s:17:\"nonunicodebrowser\";i:551;s:10:\"editingold\";i:552;s:8:\"yourdiff\";i:553;s:16:\"copyrightwarning\";i:554;s:17:\"copyrightwarning2\";i:555;s:20:\"editpage-tos-summary\";i:556;s:13:\"longpage-hint\";i:557;s:13:\"longpageerror\";i:558;s:15:\"readonlywarning\";i:559;s:20:\"protectedpagewarning\";i:560;s:24:\"semiprotectedpagewarning\";i:561;s:23:\"cascadeprotectedwarning\";i:562;s:21:\"titleprotectedwarning\";i:563;s:13:\"templatesused\";i:564;s:20:\"templatesusedpreview\";i:565;s:20:\"templatesusedsection\";i:566;s:18:\"template-protected\";i:567;s:22:\"template-semiprotected\";i:568;s:16:\"hiddencategories\";i:569;s:9:\"edittools\";i:570;s:16:\"edittools-upload\";i:571;s:13:\"nocreatetitle\";i:572;s:12:\"nocreatetext\";i:573;s:17:\"nocreate-loggedin\";i:574;s:29:\"sectioneditnotsupported-title\";i:575;s:28:\"sectioneditnotsupported-text\";i:576;s:17:\"permissionserrors\";i:577;s:21:\"permissionserrorstext\";i:578;s:32:\"permissionserrorstext-withaction\";i:579;s:26:\"recreate-moveddeleted-warn\";i:580;s:19:\"moveddeleted-notice\";i:581;s:11:\"log-fulllog\";i:582;s:17:\"edit-hook-aborted\";i:583;s:17:\"edit-gone-missing\";i:584;s:13:\"edit-conflict\";i:585;s:14:\"edit-no-change\";i:586;s:19:\"edit-already-exists\";i:587;s:18:\"addsection-preload\";i:588;s:20:\"addsection-editintro\";i:589;s:32:\"expensive-parserfunction-warning\";i:590;s:33:\"expensive-parserfunction-category\";i:591;s:38:\"post-expand-template-inclusion-warning\";i:592;s:39:\"post-expand-template-inclusion-category\";i:593;s:37:\"post-expand-template-argument-warning\";i:594;s:38:\"post-expand-template-argument-category\";i:595;s:28:\"parser-template-loop-warning\";i:596;s:39:\"parser-template-recursion-depth-warning\";i:597;s:32:\"language-converter-depth-warning\";i:598;s:12:\"undo-success\";i:599;s:12:\"undo-failure\";i:600;s:10:\"undo-norev\";i:601;s:12:\"undo-summary\";i:602;s:22:\"cantcreateaccounttitle\";i:603;s:22:\"cantcreateaccount-text\";i:604;s:12:\"viewpagelogs\";i:605;s:9:\"nohistory\";i:606;s:10:\"currentrev\";i:607;s:15:\"currentrev-asof\";i:608;s:12:\"revisionasof\";i:609;s:13:\"revision-info\";i:610;s:21:\"revision-info-current\";i:611;s:12:\"revision-nav\";i:612;s:16:\"previousrevision\";i:613;s:12:\"nextrevision\";i:614;s:19:\"currentrevisionlink\";i:615;s:3:\"cur\";i:616;s:4:\"next\";i:617;s:4:\"last\";i:618;s:10:\"page_first\";i:619;s:9:\"page_last\";i:620;s:10:\"histlegend\";i:621;s:22:\"history-fieldset-title\";i:622;s:20:\"history-show-deleted\";i:623;s:17:\"history_copyright\";i:624;s:9:\"histfirst\";i:625;s:8:\"histlast\";i:626;s:11:\"historysize\";i:627;s:12:\"historyempty\";i:628;s:18:\"history-feed-title\";i:629;s:24:\"history-feed-description\";i:630;s:27:\"history-feed-item-nocomment\";i:631;s:18:\"history-feed-empty\";i:632;s:19:\"rev-deleted-comment\";i:633;s:16:\"rev-deleted-user\";i:634;s:17:\"rev-deleted-event\";i:635;s:25:\"rev-deleted-user-contribs\";i:636;s:27:\"rev-deleted-text-permission\";i:637;s:23:\"rev-deleted-text-unhide\";i:638;s:26:\"rev-suppressed-text-unhide\";i:639;s:21:\"rev-deleted-text-view\";i:640;s:24:\"rev-suppressed-text-view\";i:641;s:19:\"rev-deleted-no-diff\";i:642;s:22:\"rev-suppressed-no-diff\";i:643;s:23:\"rev-deleted-unhide-diff\";i:644;s:26:\"rev-suppressed-unhide-diff\";i:645;s:21:\"rev-deleted-diff-view\";i:646;s:24:\"rev-suppressed-diff-view\";i:647;s:12:\"rev-delundel\";i:648;s:15:\"rev-showdeleted\";i:649;s:14:\"revisiondelete\";i:650;s:23:\"revdelete-nooldid-title\";i:651;s:22:\"revdelete-nooldid-text\";i:652;s:25:\"revdelete-nologtype-title\";i:653;s:24:\"revdelete-nologtype-text\";i:654;s:23:\"revdelete-nologid-title\";i:655;s:22:\"revdelete-nologid-text\";i:656;s:17:\"revdelete-no-file\";i:657;s:27:\"revdelete-show-file-confirm\";i:658;s:26:\"revdelete-show-file-submit\";i:659;s:18:\"revdelete-selected\";i:660;s:18:\"logdelete-selected\";i:661;s:14:\"revdelete-text\";i:662;s:17:\"revdelete-confirm\";i:663;s:23:\"revdelete-suppress-text\";i:664;s:16:\"revdelete-legend\";i:665;s:19:\"revdelete-hide-text\";i:666;s:20:\"revdelete-hide-image\";i:667;s:19:\"revdelete-hide-name\";i:668;s:22:\"revdelete-hide-comment\";i:669;s:19:\"revdelete-hide-user\";i:670;s:25:\"revdelete-hide-restricted\";i:671;s:20:\"revdelete-radio-same\";i:672;s:19:\"revdelete-radio-set\";i:673;s:21:\"revdelete-radio-unset\";i:674;s:18:\"revdelete-suppress\";i:675;s:20:\"revdelete-unsuppress\";i:676;s:13:\"revdelete-log\";i:677;s:16:\"revdelete-submit\";i:678;s:18:\"revdelete-logentry\";i:679;s:18:\"logdelete-logentry\";i:680;s:17:\"revdelete-success\";i:681;s:17:\"revdelete-failure\";i:682;s:17:\"logdelete-success\";i:683;s:17:\"logdelete-failure\";i:684;s:14:\"revdel-restore\";i:685;s:22:\"revdel-restore-deleted\";i:686;s:22:\"revdel-restore-visible\";i:687;s:8:\"pagehist\";i:688;s:11:\"deletedhist\";i:689;s:17:\"revdelete-content\";i:690;s:17:\"revdelete-summary\";i:691;s:15:\"revdelete-uname\";i:692;s:20:\"revdelete-restricted\";i:693;s:22:\"revdelete-unrestricted\";i:694;s:13:\"revdelete-hid\";i:695;s:15:\"revdelete-unhid\";i:696;s:21:\"revdelete-log-message\";i:697;s:21:\"logdelete-log-message\";i:698;s:22:\"revdelete-hide-current\";i:699;s:24:\"revdelete-show-no-access\";i:700;s:26:\"revdelete-modify-no-access\";i:701;s:24:\"revdelete-modify-missing\";i:702;s:19:\"revdelete-no-change\";i:703;s:27:\"revdelete-concurrent-change\";i:704;s:25:\"revdelete-only-restricted\";i:705;s:25:\"revdelete-reason-dropdown\";i:706;s:21:\"revdelete-otherreason\";i:707;s:25:\"revdelete-reasonotherlist\";i:708;s:25:\"revdelete-edit-reasonlist\";i:709;s:18:\"revdelete-offender\";i:710;s:14:\"suppressionlog\";i:711;s:18:\"suppressionlogtext\";i:712;s:12:\"mergehistory\";i:713;s:19:\"mergehistory-header\";i:714;s:16:\"mergehistory-box\";i:715;s:17:\"mergehistory-from\";i:716;s:17:\"mergehistory-into\";i:717;s:17:\"mergehistory-list\";i:718;s:18:\"mergehistory-merge\";i:719;s:15:\"mergehistory-go\";i:720;s:19:\"mergehistory-submit\";i:721;s:18:\"mergehistory-empty\";i:722;s:20:\"mergehistory-success\";i:723;s:17:\"mergehistory-fail\";i:724;s:22:\"mergehistory-no-source\";i:725;s:27:\"mergehistory-no-destination\";i:726;s:27:\"mergehistory-invalid-source\";i:727;s:32:\"mergehistory-invalid-destination\";i:728;s:24:\"mergehistory-autocomment\";i:729;s:20:\"mergehistory-comment\";i:730;s:29:\"mergehistory-same-destination\";i:731;s:19:\"mergehistory-reason\";i:732;s:8:\"mergelog\";i:733;s:18:\"pagemerge-logentry\";i:734;s:11:\"revertmerge\";i:735;s:16:\"mergelogpagetext\";i:736;s:13:\"history-title\";i:737;s:10:\"difference\";i:738;s:20:\"difference-multipage\";i:739;s:6:\"lineno\";i:740;s:23:\"compareselectedversions\";i:741;s:24:\"showhideselectedversions\";i:742;s:8:\"editundo\";i:743;s:10:\"diff-multi\";i:744;s:20:\"diff-multi-manyusers\";i:745;s:14:\"search-summary\";i:746;s:13:\"searchresults\";i:747;s:19:\"searchresults-title\";i:748;s:16:\"searchresulttext\";i:749;s:14:\"searchsubtitle\";i:750;s:21:\"searchsubtitleinvalid\";i:751;s:14:\"toomanymatches\";i:752;s:12:\"titlematches\";i:753;s:14:\"notitlematches\";i:754;s:11:\"textmatches\";i:755;s:13:\"notextmatches\";i:756;s:5:\"prevn\";i:757;s:5:\"nextn\";i:758;s:11:\"prevn-title\";i:759;s:11:\"nextn-title\";i:760;s:11:\"shown-title\";i:761;s:12:\"viewprevnext\";i:762;s:17:\"searchmenu-legend\";i:763;s:17:\"searchmenu-exists\";i:764;s:14:\"searchmenu-new\";i:765;s:23:\"searchmenu-new-nocreate\";i:766;s:14:\"searchhelp-url\";i:767;s:17:\"searchmenu-prefix\";i:768;s:15:\"searchmenu-help\";i:769;s:22:\"searchprofile-articles\";i:770;s:21:\"searchprofile-project\";i:771;s:20:\"searchprofile-images\";i:772;s:24:\"searchprofile-everything\";i:773;s:22:\"searchprofile-advanced\";i:774;s:30:\"searchprofile-articles-tooltip\";i:775;s:29:\"searchprofile-project-tooltip\";i:776;s:28:\"searchprofile-images-tooltip\";i:777;s:32:\"searchprofile-everything-tooltip\";i:778;s:30:\"searchprofile-advanced-tooltip\";i:779;s:18:\"search-result-size\";i:780;s:27:\"search-result-category-size\";i:781;s:19:\"search-result-score\";i:782;s:15:\"search-redirect\";i:783;s:14:\"search-section\";i:784;s:14:\"search-suggest\";i:785;s:24:\"search-interwiki-caption\";i:786;s:24:\"search-interwiki-default\";i:787;s:23:\"search-interwiki-custom\";i:788;s:21:\"search-interwiki-more\";i:789;s:24:\"search-mwsuggest-enabled\";i:790;s:25:\"search-mwsuggest-disabled\";i:791;s:21:\"search-relatedarticle\";i:792;s:17:\"mwsuggest-disable\";i:793;s:23:\"searcheverything-enable\";i:794;s:13:\"searchrelated\";i:795;s:9:\"searchall\";i:796;s:14:\"showingresults\";i:797;s:17:\"showingresultsnum\";i:798;s:20:\"showingresultsheader\";i:799;s:9:\"nonefound\";i:800;s:16:\"search-nonefound\";i:801;s:11:\"powersearch\";i:802;s:18:\"powersearch-legend\";i:803;s:14:\"powersearch-ns\";i:804;s:17:\"powersearch-redir\";i:805;s:17:\"powersearch-field\";i:806;s:23:\"powersearch-togglelabel\";i:807;s:21:\"powersearch-toggleall\";i:808;s:22:\"powersearch-togglenone\";i:809;s:15:\"search-external\";i:810;s:14:\"searchdisabled\";i:811;s:12:\"googlesearch\";i:812;s:15:\"opensearch-desc\";i:813;s:10:\"qbsettings\";i:814;s:15:\"qbsettings-none\";i:815;s:20:\"qbsettings-fixedleft\";i:816;s:21:\"qbsettings-fixedright\";i:817;s:23:\"qbsettings-floatingleft\";i:818;s:24:\"qbsettings-floatingright\";i:819;s:25:\"qbsettings-directionality\";i:820;s:11:\"preferences\";i:821;s:19:\"preferences-summary\";i:822;s:13:\"mypreferences\";i:823;s:11:\"prefs-edits\";i:824;s:12:\"prefsnologin\";i:825;s:16:\"prefsnologintext\";i:826;s:14:\"changepassword\";i:827;s:10:\"prefs-skin\";i:828;s:12:\"skin-preview\";i:829;s:11:\"datedefault\";i:830;s:10:\"prefs-beta\";i:831;s:14:\"prefs-datetime\";i:832;s:10:\"prefs-labs\";i:833;s:14:\"prefs-personal\";i:834;s:8:\"prefs-rc\";i:835;s:15:\"prefs-watchlist\";i:836;s:20:\"prefs-watchlist-days\";i:837;s:24:\"prefs-watchlist-days-max\";i:838;s:21:\"prefs-watchlist-edits\";i:839;s:25:\"prefs-watchlist-edits-max\";i:840;s:21:\"prefs-watchlist-token\";i:841;s:10:\"prefs-misc\";i:842;s:15:\"prefs-resetpass\";i:843;s:11:\"prefs-email\";i:844;s:15:\"prefs-rendering\";i:845;s:9:\"saveprefs\";i:846;s:10:\"resetprefs\";i:847;s:12:\"restoreprefs\";i:848;s:13:\"prefs-editing\";i:849;s:18:\"prefs-edit-boxsize\";i:850;s:4:\"rows\";i:851;s:7:\"columns\";i:852;s:17:\"searchresultshead\";i:853;s:14:\"resultsperpage\";i:854;s:14:\"stub-threshold\";i:855;s:23:\"stub-threshold-disabled\";i:856;s:17:\"recentchangesdays\";i:857;s:21:\"recentchangesdays-max\";i:858;s:18:\"recentchangescount\";i:859;s:29:\"prefs-help-recentchangescount\";i:860;s:26:\"prefs-help-watchlist-token\";i:861;s:10:\"savedprefs\";i:862;s:14:\"timezonelegend\";i:863;s:9:\"localtime\";i:864;s:24:\"timezoneuseserverdefault\";i:865;s:17:\"timezoneuseoffset\";i:866;s:14:\"timezoneoffset\";i:867;s:10:\"servertime\";i:868;s:13:\"guesstimezone\";i:869;s:21:\"timezoneregion-africa\";i:870;s:22:\"timezoneregion-america\";i:871;s:25:\"timezoneregion-antarctica\";i:872;s:21:\"timezoneregion-arctic\";i:873;s:19:\"timezoneregion-asia\";i:874;s:23:\"timezoneregion-atlantic\";i:875;s:24:\"timezoneregion-australia\";i:876;s:21:\"timezoneregion-europe\";i:877;s:21:\"timezoneregion-indian\";i:878;s:22:\"timezoneregion-pacific\";i:879;s:10:\"allowemail\";i:880;s:19:\"prefs-searchoptions\";i:881;s:16:\"prefs-namespaces\";i:882;s:9:\"defaultns\";i:883;s:7:\"default\";i:884;s:11:\"prefs-files\";i:885;s:16:\"prefs-custom-css\";i:886;s:15:\"prefs-custom-js\";i:887;s:19:\"prefs-common-css-js\";i:888;s:17:\"prefs-reset-intro\";i:889;s:24:\"prefs-emailconfirm-label\";i:890;s:17:\"prefs-textboxsize\";i:891;s:9:\"youremail\";i:892;s:8:\"username\";i:893;s:3:\"uid\";i:894;s:20:\"prefs-memberingroups\";i:895;s:25:\"prefs-memberingroups-type\";i:896;s:18:\"prefs-registration\";i:897;s:28:\"prefs-registration-date-time\";i:898;s:12:\"yourrealname\";i:899;s:12:\"yourlanguage\";i:900;s:11:\"yourvariant\";i:901;s:8:\"yournick\";i:902;s:20:\"prefs-help-signature\";i:903;s:6:\"badsig\";i:904;s:12:\"badsiglength\";i:905;s:10:\"yourgender\";i:906;s:14:\"gender-unknown\";i:907;s:11:\"gender-male\";i:908;s:13:\"gender-female\";i:909;s:17:\"prefs-help-gender\";i:910;s:5:\"email\";i:911;s:19:\"prefs-help-realname\";i:912;s:16:\"prefs-help-email\";i:913;s:23:\"prefs-help-email-others\";i:914;s:25:\"prefs-help-email-required\";i:915;s:10:\"prefs-info\";i:916;s:10:\"prefs-i18n\";i:917;s:15:\"prefs-signature\";i:918;s:16:\"prefs-dateformat\";i:919;s:16:\"prefs-timeoffset\";i:920;s:21:\"prefs-advancedediting\";i:921;s:16:\"prefs-advancedrc\";i:922;s:23:\"prefs-advancedrendering\";i:923;s:27:\"prefs-advancedsearchoptions\";i:924;s:23:\"prefs-advancedwatchlist\";i:925;s:15:\"prefs-displayrc\";i:926;s:26:\"prefs-displaysearchoptions\";i:927;s:22:\"prefs-displaywatchlist\";i:928;s:11:\"prefs-diffs\";i:929;s:28:\"email-address-validity-valid\";i:930;s:30:\"email-address-validity-invalid\";i:931;s:10:\"userrights\";i:932;s:18:\"userrights-summary\";i:933;s:22:\"userrights-lookup-user\";i:934;s:24:\"userrights-user-editname\";i:935;s:13:\"editusergroup\";i:936;s:11:\"editinguser\";i:937;s:24:\"userrights-editusergroup\";i:938;s:14:\"saveusergroups\";i:939;s:23:\"userrights-groupsmember\";i:940;s:28:\"userrights-groupsmember-auto\";i:941;s:22:\"userrights-groups-help\";i:942;s:17:\"userrights-reason\";i:943;s:23:\"userrights-no-interwiki\";i:944;s:21:\"userrights-nodatabase\";i:945;s:18:\"userrights-nologin\";i:946;s:21:\"userrights-notallowed\";i:947;s:25:\"userrights-changeable-col\";i:948;s:27:\"userrights-unchangeable-col\";i:949;s:30:\"userrights-irreversible-marker\";i:950;s:5:\"group\";i:951;s:10:\"group-user\";i:952;s:19:\"group-autoconfirmed\";i:953;s:9:\"group-bot\";i:954;s:11:\"group-sysop\";i:955;s:16:\"group-bureaucrat\";i:956;s:14:\"group-suppress\";i:957;s:9:\"group-all\";i:958;s:17:\"group-user-member\";i:959;s:26:\"group-autoconfirmed-member\";i:960;s:16:\"group-bot-member\";i:961;s:18:\"group-sysop-member\";i:962;s:23:\"group-bureaucrat-member\";i:963;s:21:\"group-suppress-member\";i:964;s:14:\"grouppage-user\";i:965;s:23:\"grouppage-autoconfirmed\";i:966;s:13:\"grouppage-bot\";i:967;s:15:\"grouppage-sysop\";i:968;s:20:\"grouppage-bureaucrat\";i:969;s:18:\"grouppage-suppress\";i:970;s:10:\"right-read\";i:971;s:10:\"right-edit\";i:972;s:16:\"right-createpage\";i:973;s:16:\"right-createtalk\";i:974;s:19:\"right-createaccount\";i:975;s:15:\"right-minoredit\";i:976;s:10:\"right-move\";i:977;s:19:\"right-move-subpages\";i:978;s:24:\"right-move-rootuserpages\";i:979;s:14:\"right-movefile\";i:980;s:22:\"right-suppressredirect\";i:981;s:12:\"right-upload\";i:982;s:14:\"right-reupload\";i:983;s:18:\"right-reupload-own\";i:984;s:21:\"right-reupload-shared\";i:985;s:19:\"right-upload_by_url\";i:986;s:11:\"right-purge\";i:987;s:19:\"right-autoconfirmed\";i:988;s:9:\"right-bot\";i:989;s:20:\"right-nominornewtalk\";i:990;s:19:\"right-apihighlimits\";i:991;s:14:\"right-writeapi\";i:992;s:12:\"right-delete\";i:993;s:15:\"right-bigdelete\";i:994;s:20:\"right-deleterevision\";i:995;s:20:\"right-deletedhistory\";i:996;s:17:\"right-deletedtext\";i:997;s:19:\"right-browsearchive\";i:998;s:14:\"right-undelete\";i:999;s:22:\"right-suppressrevision\";i:1000;s:20:\"right-suppressionlog\";i:1001;s:11:\"right-block\";i:1002;s:16:\"right-blockemail\";i:1003;s:14:\"right-hideuser\";i:1004;s:20:\"right-ipblock-exempt\";i:1005;s:21:\"right-proxyunbannable\";i:1006;s:17:\"right-unblockself\";i:1007;s:13:\"right-protect\";i:1008;s:19:\"right-editprotected\";i:1009;s:19:\"right-editinterface\";i:1010;s:19:\"right-editusercssjs\";i:1011;s:17:\"right-editusercss\";i:1012;s:16:\"right-edituserjs\";i:1013;s:14:\"right-rollback\";i:1014;s:18:\"right-markbotedits\";i:1015;s:17:\"right-noratelimit\";i:1016;s:12:\"right-import\";i:1017;s:18:\"right-importupload\";i:1018;s:12:\"right-patrol\";i:1019;s:16:\"right-autopatrol\";i:1020;s:17:\"right-patrolmarks\";i:1021;s:20:\"right-unwatchedpages\";i:1022;s:15:\"right-trackback\";i:1023;s:18:\"right-mergehistory\";i:1024;s:16:\"right-userrights\";i:1025;s:26:\"right-userrights-interwiki\";i:1026;s:15:\"right-siteadmin\";i:1027;s:27:\"right-override-export-depth\";i:1028;s:15:\"right-sendemail\";i:1029;s:9:\"rightslog\";i:1030;s:13:\"rightslogtext\";i:1031;s:14:\"rightslogentry\";i:1032;s:26:\"rightslogentry-autopromote\";i:1033;s:10:\"rightsnone\";i:1034;s:11:\"action-read\";i:1035;s:11:\"action-edit\";i:1036;s:17:\"action-createpage\";i:1037;s:17:\"action-createtalk\";i:1038;s:20:\"action-createaccount\";i:1039;s:16:\"action-minoredit\";i:1040;s:11:\"action-move\";i:1041;s:20:\"action-move-subpages\";i:1042;s:25:\"action-move-rootuserpages\";i:1043;s:15:\"action-movefile\";i:1044;s:13:\"action-upload\";i:1045;s:15:\"action-reupload\";i:1046;s:22:\"action-reupload-shared\";i:1047;s:20:\"action-upload_by_url\";i:1048;s:15:\"action-writeapi\";i:1049;s:13:\"action-delete\";i:1050;s:21:\"action-deleterevision\";i:1051;s:21:\"action-deletedhistory\";i:1052;s:20:\"action-browsearchive\";i:1053;s:15:\"action-undelete\";i:1054;s:23:\"action-suppressrevision\";i:1055;s:21:\"action-suppressionlog\";i:1056;s:12:\"action-block\";i:1057;s:14:\"action-protect\";i:1058;s:13:\"action-import\";i:1059;s:19:\"action-importupload\";i:1060;s:13:\"action-patrol\";i:1061;s:17:\"action-autopatrol\";i:1062;s:21:\"action-unwatchedpages\";i:1063;s:16:\"action-trackback\";i:1064;s:19:\"action-mergehistory\";i:1065;s:17:\"action-userrights\";i:1066;s:27:\"action-userrights-interwiki\";i:1067;s:16:\"action-siteadmin\";i:1068;s:8:\"nchanges\";i:1069;s:13:\"recentchanges\";i:1070;s:17:\"recentchanges-url\";i:1071;s:20:\"recentchanges-legend\";i:1072;s:17:\"recentchangestext\";i:1073;s:30:\"recentchanges-feed-description\";i:1074;s:27:\"recentchanges-label-newpage\";i:1075;s:25:\"recentchanges-label-minor\";i:1076;s:23:\"recentchanges-label-bot\";i:1077;s:31:\"recentchanges-label-unpatrolled\";i:1078;s:6:\"rcnote\";i:1079;s:10:\"rcnotefrom\";i:1080;s:10:\"rclistfrom\";i:1081;s:15:\"rcshowhideminor\";i:1082;s:14:\"rcshowhidebots\";i:1083;s:13:\"rcshowhideliu\";i:1084;s:15:\"rcshowhideanons\";i:1085;s:14:\"rcshowhidepatr\";i:1086;s:14:\"rcshowhidemine\";i:1087;s:7:\"rclinks\";i:1088;s:4:\"diff\";i:1089;s:4:\"hist\";i:1090;s:4:\"hide\";i:1091;s:4:\"show\";i:1092;s:15:\"minoreditletter\";i:1093;s:13:\"newpageletter\";i:1094;s:13:\"boteditletter\";i:1095;s:17:\"unpatrolledletter\";i:1096;s:11:\"sectionlink\";i:1097;s:31:\"number_of_watching_users_RCview\";i:1098;s:33:\"number_of_watching_users_pageview\";i:1099;s:13:\"rc_categories\";i:1100;s:17:\"rc_categories_any\";i:1101;s:14:\"rc-change-size\";i:1102;s:17:\"newsectionsummary\";i:1103;s:18:\"rc-enhanced-expand\";i:1104;s:16:\"rc-enhanced-hide\";i:1105;s:19:\"recentchangeslinked\";i:1106;s:24:\"recentchangeslinked-feed\";i:1107;s:27:\"recentchangeslinked-toolbox\";i:1108;s:25:\"recentchangeslinked-title\";i:1109;s:28:\"recentchangeslinked-backlink\";i:1110;s:28:\"recentchangeslinked-noresult\";i:1111;s:27:\"recentchangeslinked-summary\";i:1112;s:24:\"recentchangeslinked-page\";i:1113;s:22:\"recentchangeslinked-to\";i:1114;s:6:\"upload\";i:1115;s:9:\"uploadbtn\";i:1116;s:12:\"reuploaddesc\";i:1117;s:15:\"upload-tryagain\";i:1118;s:13:\"uploadnologin\";i:1119;s:17:\"uploadnologintext\";i:1120;s:24:\"upload_directory_missing\";i:1121;s:26:\"upload_directory_read_only\";i:1122;s:11:\"uploaderror\";i:1123;s:14:\"upload-summary\";i:1124;s:23:\"upload-recreate-warning\";i:1125;s:10:\"uploadtext\";i:1126;s:16:\"upload-permitted\";i:1127;s:16:\"upload-preferred\";i:1128;s:17:\"upload-prohibited\";i:1129;s:12:\"uploadfooter\";i:1130;s:9:\"uploadlog\";i:1131;s:13:\"uploadlogpage\";i:1132;s:17:\"uploadlogpagetext\";i:1133;s:8:\"filename\";i:1134;s:8:\"filedesc\";i:1135;s:17:\"fileuploadsummary\";i:1136;s:19:\"filereuploadsummary\";i:1137;s:10:\"filestatus\";i:1138;s:10:\"filesource\";i:1139;s:13:\"uploadedfiles\";i:1140;s:13:\"ignorewarning\";i:1141;s:14:\"ignorewarnings\";i:1142;s:10:\"minlength1\";i:1143;s:15:\"illegalfilename\";i:1144;s:11:\"badfilename\";i:1145;s:22:\"filetype-mime-mismatch\";i:1146;s:16:\"filetype-badmime\";i:1147;s:20:\"filetype-bad-ie-mime\";i:1148;s:22:\"filetype-unwanted-type\";i:1149;s:20:\"filetype-banned-type\";i:1150;s:16:\"filetype-missing\";i:1151;s:10:\"empty-file\";i:1152;s:14:\"file-too-large\";i:1153;s:17:\"filename-tooshort\";i:1154;s:15:\"filetype-banned\";i:1155;s:18:\"verification-error\";i:1156;s:11:\"hookaborted\";i:1157;s:16:\"illegal-filename\";i:1158;s:9:\"overwrite\";i:1159;s:13:\"unknown-error\";i:1160;s:16:\"tmp-create-error\";i:1161;s:15:\"tmp-write-error\";i:1162;s:10:\"large-file\";i:1163;s:15:\"largefileserver\";i:1164;s:9:\"emptyfile\";i:1165;s:25:\"windows-nonascii-filename\";i:1166;s:10:\"fileexists\";i:1167;s:14:\"filepageexists\";i:1168;s:20:\"fileexists-extension\";i:1169;s:24:\"fileexists-thumbnail-yes\";i:1170;s:17:\"file-thumbnail-no\";i:1171;s:20:\"fileexists-forbidden\";i:1172;s:27:\"fileexists-shared-forbidden\";i:1173;s:21:\"file-exists-duplicate\";i:1174;s:22:\"file-deleted-duplicate\";i:1175;s:13:\"uploadwarning\";i:1176;s:18:\"uploadwarning-text\";i:1177;s:8:\"savefile\";i:1178;s:13:\"uploadedimage\";i:1179;s:14:\"overwroteimage\";i:1180;s:14:\"uploaddisabled\";i:1181;s:18:\"copyuploaddisabled\";i:1182;s:20:\"uploadfromurl-queued\";i:1183;s:18:\"uploaddisabledtext\";i:1184;s:22:\"php-uploaddisabledtext\";i:1185;s:14:\"uploadscripted\";i:1186;s:11:\"uploadvirus\";i:1187;s:10:\"uploadjava\";i:1188;s:13:\"upload-source\";i:1189;s:14:\"sourcefilename\";i:1190;s:9:\"sourceurl\";i:1191;s:12:\"destfilename\";i:1192;s:18:\"upload-maxfilesize\";i:1193;s:18:\"upload-description\";i:1194;s:14:\"upload-options\";i:1195;s:15:\"watchthisupload\";i:1196;s:14:\"filewasdeleted\";i:1197;s:19:\"filename-bad-prefix\";i:1198;s:25:\"filename-prefix-blacklist\";i:1199;s:19:\"upload-success-subj\";i:1200;s:18:\"upload-success-msg\";i:1201;s:19:\"upload-failure-subj\";i:1202;s:18:\"upload-failure-msg\";i:1203;s:19:\"upload-warning-subj\";i:1204;s:18:\"upload-warning-msg\";i:1205;s:18:\"upload-proto-error\";i:1206;s:23:\"upload-proto-error-text\";i:1207;s:17:\"upload-file-error\";i:1208;s:22:\"upload-file-error-text\";i:1209;s:17:\"upload-misc-error\";i:1210;s:22:\"upload-misc-error-text\";i:1211;s:25:\"upload-too-many-redirects\";i:1212;s:19:\"upload-unknown-size\";i:1213;s:17:\"upload-http-error\";i:1214;s:19:\"zip-file-open-error\";i:1215;s:16:\"zip-wrong-format\";i:1216;s:7:\"zip-bad\";i:1217;s:15:\"zip-unsupported\";i:1218;s:11:\"uploadstash\";i:1219;s:19:\"uploadstash-summary\";i:1220;s:17:\"uploadstash-clear\";i:1221;s:19:\"uploadstash-nofiles\";i:1222;s:20:\"uploadstash-badtoken\";i:1223;s:20:\"uploadstash-errclear\";i:1224;s:19:\"uploadstash-refresh\";i:1225;s:21:\"img-auth-accessdenied\";i:1226;s:19:\"img-auth-nopathinfo\";i:1227;s:17:\"img-auth-notindir\";i:1228;s:17:\"img-auth-badtitle\";i:1229;s:19:\"img-auth-nologinnWL\";i:1230;s:15:\"img-auth-nofile\";i:1231;s:14:\"img-auth-isdir\";i:1232;s:18:\"img-auth-streaming\";i:1233;s:15:\"img-auth-public\";i:1234;s:15:\"img-auth-noread\";i:1235;s:25:\"img-auth-bad-query-string\";i:1236;s:16:\"http-invalid-url\";i:1237;s:19:\"http-invalid-scheme\";i:1238;s:18:\"http-request-error\";i:1239;s:15:\"http-read-error\";i:1240;s:14:\"http-timed-out\";i:1241;s:15:\"http-curl-error\";i:1242;s:21:\"http-host-unreachable\";i:1243;s:15:\"http-bad-status\";i:1244;s:18:\"upload-curl-error6\";i:1245;s:23:\"upload-curl-error6-text\";i:1246;s:19:\"upload-curl-error28\";i:1247;s:24:\"upload-curl-error28-text\";i:1248;s:7:\"license\";i:1249;s:14:\"license-header\";i:1250;s:9:\"nolicense\";i:1251;s:8:\"licenses\";i:1252;s:17:\"license-nopreview\";i:1253;s:17:\"upload_source_url\";i:1254;s:18:\"upload_source_file\";i:1255;s:17:\"listfiles-summary\";i:1256;s:20:\"listfiles_search_for\";i:1257;s:7:\"imgfile\";i:1258;s:9:\"listfiles\";i:1259;s:15:\"listfiles_thumb\";i:1260;s:14:\"listfiles_date\";i:1261;s:14:\"listfiles_name\";i:1262;s:14:\"listfiles_user\";i:1263;s:14:\"listfiles_size\";i:1264;s:21:\"listfiles_description\";i:1265;s:15:\"listfiles_count\";i:1266;s:16:\"file-anchor-link\";i:1267;s:8:\"filehist\";i:1268;s:13:\"filehist-help\";i:1269;s:18:\"filehist-deleteall\";i:1270;s:18:\"filehist-deleteone\";i:1271;s:15:\"filehist-revert\";i:1272;s:16:\"filehist-current\";i:1273;s:17:\"filehist-datetime\";i:1274;s:14:\"filehist-thumb\";i:1275;s:18:\"filehist-thumbtext\";i:1276;s:16:\"filehist-nothumb\";i:1277;s:13:\"filehist-user\";i:1278;s:19:\"filehist-dimensions\";i:1279;s:17:\"filehist-filesize\";i:1280;s:16:\"filehist-comment\";i:1281;s:16:\"filehist-missing\";i:1282;s:10:\"imagelinks\";i:1283;s:12:\"linkstoimage\";i:1284;s:17:\"linkstoimage-more\";i:1285;s:14:\"nolinkstoimage\";i:1286;s:16:\"morelinkstoimage\";i:1287;s:21:\"linkstoimage-redirect\";i:1288;s:16:\"duplicatesoffile\";i:1289;s:12:\"sharedupload\";i:1290;s:23:\"sharedupload-desc-there\";i:1291;s:22:\"sharedupload-desc-here\";i:1292;s:24:\"shareddescriptionfollows\";i:1293;s:15:\"filepage-nofile\";i:1294;s:20:\"filepage-nofile-link\";i:1295;s:25:\"uploadnewversion-linktext\";i:1296;s:16:\"shared-repo-from\";i:1297;s:11:\"shared-repo\";i:1298;s:33:\"shared-repo-name-wikimediacommons\";i:1299;s:12:\"filepage.css\";i:1300;s:10:\"filerevert\";i:1301;s:19:\"filerevert-backlink\";i:1302;s:17:\"filerevert-legend\";i:1303;s:16:\"filerevert-intro\";i:1304;s:18:\"filerevert-comment\";i:1305;s:25:\"filerevert-defaultcomment\";i:1306;s:17:\"filerevert-submit\";i:1307;s:18:\"filerevert-success\";i:1308;s:21:\"filerevert-badversion\";i:1309;s:10:\"filedelete\";i:1310;s:19:\"filedelete-backlink\";i:1311;s:17:\"filedelete-legend\";i:1312;s:16:\"filedelete-intro\";i:1313;s:20:\"filedelete-intro-old\";i:1314;s:18:\"filedelete-comment\";i:1315;s:17:\"filedelete-submit\";i:1316;s:18:\"filedelete-success\";i:1317;s:22:\"filedelete-success-old\";i:1318;s:17:\"filedelete-nofile\";i:1319;s:21:\"filedelete-nofile-old\";i:1320;s:22:\"filedelete-otherreason\";i:1321;s:27:\"filedelete-reason-otherlist\";i:1322;s:26:\"filedelete-reason-dropdown\";i:1323;s:26:\"filedelete-edit-reasonlist\";i:1324;s:22:\"filedelete-maintenance\";i:1325;s:10:\"mimesearch\";i:1326;s:18:\"mimesearch-summary\";i:1327;s:8:\"mimetype\";i:1328;s:8:\"download\";i:1329;s:14:\"unwatchedpages\";i:1330;s:22:\"unwatchedpages-summary\";i:1331;s:13:\"listredirects\";i:1332;s:21:\"listredirects-summary\";i:1333;s:15:\"unusedtemplates\";i:1334;s:23:\"unusedtemplates-summary\";i:1335;s:19:\"unusedtemplatestext\";i:1336;s:18:\"unusedtemplateswlh\";i:1337;s:10:\"randompage\";i:1338;s:18:\"randompage-nopages\";i:1339;s:14:\"randompage-url\";i:1340;s:14:\"randomredirect\";i:1341;s:22:\"randomredirect-nopages\";i:1342;s:10:\"statistics\";i:1343;s:18:\"statistics-summary\";i:1344;s:23:\"statistics-header-pages\";i:1345;s:23:\"statistics-header-edits\";i:1346;s:23:\"statistics-header-views\";i:1347;s:23:\"statistics-header-users\";i:1348;s:23:\"statistics-header-hooks\";i:1349;s:19:\"statistics-articles\";i:1350;s:16:\"statistics-pages\";i:1351;s:21:\"statistics-pages-desc\";i:1352;s:16:\"statistics-files\";i:1353;s:16:\"statistics-edits\";i:1354;s:24:\"statistics-edits-average\";i:1355;s:22:\"statistics-views-total\";i:1356;s:27:\"statistics-views-total-desc\";i:1357;s:24:\"statistics-views-peredit\";i:1358;s:16:\"statistics-users\";i:1359;s:23:\"statistics-users-active\";i:1360;s:28:\"statistics-users-active-desc\";i:1361;s:22:\"statistics-mostpopular\";i:1362;s:17:\"statistics-footer\";i:1363;s:15:\"disambiguations\";i:1364;s:23:\"disambiguations-summary\";i:1365;s:19:\"disambiguationspage\";i:1366;s:20:\"disambiguations-text\";i:1367;s:15:\"doubleredirects\";i:1368;s:23:\"doubleredirects-summary\";i:1369;s:19:\"doubleredirectstext\";i:1370;s:26:\"double-redirect-fixed-move\";i:1371;s:33:\"double-redirect-fixed-maintenance\";i:1372;s:21:\"double-redirect-fixer\";i:1373;s:15:\"brokenredirects\";i:1374;s:23:\"brokenredirects-summary\";i:1375;s:19:\"brokenredirectstext\";i:1376;s:20:\"brokenredirects-edit\";i:1377;s:22:\"brokenredirects-delete\";i:1378;s:16:\"withoutinterwiki\";i:1379;s:24:\"withoutinterwiki-summary\";i:1380;s:23:\"withoutinterwiki-legend\";i:1381;s:23:\"withoutinterwiki-submit\";i:1382;s:15:\"fewestrevisions\";i:1383;s:23:\"fewestrevisions-summary\";i:1384;s:6:\"nbytes\";i:1385;s:11:\"ncategories\";i:1386;s:6:\"nlinks\";i:1387;s:8:\"nmembers\";i:1388;s:10:\"nrevisions\";i:1389;s:6:\"nviews\";i:1390;s:11:\"nimagelinks\";i:1391;s:14:\"ntransclusions\";i:1392;s:17:\"specialpage-empty\";i:1393;s:11:\"lonelypages\";i:1394;s:19:\"lonelypages-summary\";i:1395;s:15:\"lonelypagestext\";i:1396;s:18:\"uncategorizedpages\";i:1397;s:26:\"uncategorizedpages-summary\";i:1398;s:23:\"uncategorizedcategories\";i:1399;s:31:\"uncategorizedcategories-summary\";i:1400;s:19:\"uncategorizedimages\";i:1401;s:27:\"uncategorizedimages-summary\";i:1402;s:22:\"uncategorizedtemplates\";i:1403;s:30:\"uncategorizedtemplates-summary\";i:1404;s:16:\"unusedcategories\";i:1405;s:12:\"unusedimages\";i:1406;s:12:\"popularpages\";i:1407;s:20:\"popularpages-summary\";i:1408;s:16:\"wantedcategories\";i:1409;s:24:\"wantedcategories-summary\";i:1410;s:11:\"wantedpages\";i:1411;s:19:\"wantedpages-summary\";i:1412;s:20:\"wantedpages-badtitle\";i:1413;s:11:\"wantedfiles\";i:1414;s:19:\"wantedfiles-summary\";i:1415;s:15:\"wantedtemplates\";i:1416;s:23:\"wantedtemplates-summary\";i:1417;s:10:\"mostlinked\";i:1418;s:18:\"mostlinked-summary\";i:1419;s:20:\"mostlinkedcategories\";i:1420;s:28:\"mostlinkedcategories-summary\";i:1421;s:19:\"mostlinkedtemplates\";i:1422;s:27:\"mostlinkedtemplates-summary\";i:1423;s:14:\"mostcategories\";i:1424;s:22:\"mostcategories-summary\";i:1425;s:10:\"mostimages\";i:1426;s:18:\"mostimages-summary\";i:1427;s:13:\"mostrevisions\";i:1428;s:21:\"mostrevisions-summary\";i:1429;s:11:\"prefixindex\";i:1430;s:19:\"prefixindex-summary\";i:1431;s:10:\"shortpages\";i:1432;s:18:\"shortpages-summary\";i:1433;s:9:\"longpages\";i:1434;s:17:\"longpages-summary\";i:1435;s:12:\"deadendpages\";i:1436;s:20:\"deadendpages-summary\";i:1437;s:16:\"deadendpagestext\";i:1438;s:14:\"protectedpages\";i:1439;s:20:\"protectedpages-indef\";i:1440;s:22:\"protectedpages-summary\";i:1441;s:22:\"protectedpages-cascade\";i:1442;s:18:\"protectedpagestext\";i:1443;s:19:\"protectedpagesempty\";i:1444;s:15:\"protectedtitles\";i:1445;s:23:\"protectedtitles-summary\";i:1446;s:19:\"protectedtitlestext\";i:1447;s:20:\"protectedtitlesempty\";i:1448;s:9:\"listusers\";i:1449;s:17:\"listusers-summary\";i:1450;s:19:\"listusers-editsonly\";i:1451;s:22:\"listusers-creationsort\";i:1452;s:13:\"usereditcount\";i:1453;s:11:\"usercreated\";i:1454;s:8:\"newpages\";i:1455;s:16:\"newpages-summary\";i:1456;s:17:\"newpages-username\";i:1457;s:12:\"ancientpages\";i:1458;s:20:\"ancientpages-summary\";i:1459;s:4:\"move\";i:1460;s:12:\"movethispage\";i:1461;s:16:\"unusedimagestext\";i:1462;s:20:\"unusedcategoriestext\";i:1463;s:13:\"notargettitle\";i:1464;s:12:\"notargettext\";i:1465;s:11:\"nopagetitle\";i:1466;s:10:\"nopagetext\";i:1467;s:13:\"pager-newer-n\";i:1468;s:13:\"pager-older-n\";i:1469;s:8:\"suppress\";i:1470;s:18:\"querypage-disabled\";i:1471;s:11:\"booksources\";i:1472;s:19:\"booksources-summary\";i:1473;s:25:\"booksources-search-legend\";i:1474;s:16:\"booksources-isbn\";i:1475;s:14:\"booksources-go\";i:1476;s:16:\"booksources-text\";i:1477;s:24:\"booksources-invalid-isbn\";i:1478;s:6:\"rfcurl\";i:1479;s:9:\"pubmedurl\";i:1480;s:19:\"specialloguserlabel\";i:1481;s:20:\"speciallogtitlelabel\";i:1482;s:3:\"log\";i:1483;s:13:\"all-logs-page\";i:1484;s:11:\"alllogstext\";i:1485;s:8:\"logempty\";i:1486;s:18:\"log-title-wildcard\";i:1487;s:8:\"allpages\";i:1488;s:16:\"allpages-summary\";i:1489;s:14:\"alphaindexline\";i:1490;s:8:\"nextpage\";i:1491;s:8:\"prevpage\";i:1492;s:12:\"allpagesfrom\";i:1493;s:10:\"allpagesto\";i:1494;s:11:\"allarticles\";i:1495;s:14:\"allinnamespace\";i:1496;s:17:\"allnotinnamespace\";i:1497;s:12:\"allpagesprev\";i:1498;s:12:\"allpagesnext\";i:1499;s:14:\"allpagessubmit\";i:1500;s:14:\"allpagesprefix\";i:1501;s:16:\"allpagesbadtitle\";i:1502;s:15:\"allpages-bad-ns\";i:1503;s:10:\"categories\";i:1504;s:18:\"categories-summary\";i:1505;s:18:\"categoriespagetext\";i:1506;s:14:\"categoriesfrom\";i:1507;s:29:\"special-categories-sort-count\";i:1508;s:27:\"special-categories-sort-abc\";i:1509;s:20:\"deletedcontributions\";i:1510;s:26:\"deletedcontributions-title\";i:1511;s:32:\"sp-deletedcontributions-contribs\";i:1512;s:10:\"linksearch\";i:1513;s:14:\"linksearch-pat\";i:1514;s:13:\"linksearch-ns\";i:1515;s:13:\"linksearch-ok\";i:1516;s:15:\"linksearch-text\";i:1517;s:15:\"linksearch-line\";i:1518;s:16:\"linksearch-error\";i:1519;s:13:\"listusersfrom\";i:1520;s:16:\"listusers-submit\";i:1521;s:18:\"listusers-noresult\";i:1522;s:17:\"listusers-blocked\";i:1523;s:11:\"activeusers\";i:1524;s:19:\"activeusers-summary\";i:1525;s:17:\"activeusers-intro\";i:1526;s:17:\"activeusers-count\";i:1527;s:16:\"activeusers-from\";i:1528;s:20:\"activeusers-hidebots\";i:1529;s:22:\"activeusers-hidesysops\";i:1530;s:20:\"activeusers-noresult\";i:1531;s:14:\"newuserlogpage\";i:1532;s:18:\"newuserlogpagetext\";i:1533;s:15:\"newuserlogentry\";i:1534;s:18:\"newuserlog-byemail\";i:1535;s:23:\"newuserlog-create-entry\";i:1536;s:24:\"newuserlog-create2-entry\";i:1537;s:27:\"newuserlog-autocreate-entry\";i:1538;s:15:\"listgrouprights\";i:1539;s:23:\"listgrouprights-summary\";i:1540;s:19:\"listgrouprights-key\";i:1541;s:21:\"listgrouprights-group\";i:1542;s:22:\"listgrouprights-rights\";i:1543;s:24:\"listgrouprights-helppage\";i:1544;s:23:\"listgrouprights-members\";i:1545;s:29:\"listgrouprights-right-display\";i:1546;s:29:\"listgrouprights-right-revoked\";i:1547;s:24:\"listgrouprights-addgroup\";i:1548;s:27:\"listgrouprights-removegroup\";i:1549;s:28:\"listgrouprights-addgroup-all\";i:1550;s:31:\"listgrouprights-removegroup-all\";i:1551;s:29:\"listgrouprights-addgroup-self\";i:1552;s:32:\"listgrouprights-removegroup-self\";i:1553;s:33:\"listgrouprights-addgroup-self-all\";i:1554;s:36:\"listgrouprights-removegroup-self-all\";i:1555;s:11:\"mailnologin\";i:1556;s:15:\"mailnologintext\";i:1557;s:9:\"emailuser\";i:1558;s:9:\"emailpage\";i:1559;s:13:\"emailpagetext\";i:1560;s:15:\"usermailererror\";i:1561;s:15:\"defemailsubject\";i:1562;s:16:\"usermaildisabled\";i:1563;s:20:\"usermaildisabledtext\";i:1564;s:12:\"noemailtitle\";i:1565;s:11:\"noemailtext\";i:1566;s:16:\"nowikiemailtitle\";i:1567;s:15:\"nowikiemailtext\";i:1568;s:13:\"emailnotarget\";i:1569;s:11:\"emailtarget\";i:1570;s:13:\"emailusername\";i:1571;s:19:\"emailusernamesubmit\";i:1572;s:12:\"email-legend\";i:1573;s:9:\"emailfrom\";i:1574;s:7:\"emailto\";i:1575;s:12:\"emailsubject\";i:1576;s:12:\"emailmessage\";i:1577;s:9:\"emailsend\";i:1578;s:9:\"emailccme\";i:1579;s:14:\"emailccsubject\";i:1580;s:9:\"emailsent\";i:1581;s:13:\"emailsenttext\";i:1582;s:15:\"emailuserfooter\";i:1583;s:19:\"usermessage-summary\";i:1584;s:18:\"usermessage-editor\";i:1585;s:20:\"usermessage-template\";i:1586;s:9:\"watchlist\";i:1587;s:11:\"mywatchlist\";i:1588;s:13:\"watchlistfor2\";i:1589;s:11:\"nowatchlist\";i:1590;s:17:\"watchlistanontext\";i:1591;s:12:\"watchnologin\";i:1592;s:16:\"watchnologintext\";i:1593;s:8:\"addwatch\";i:1594;s:14:\"addedwatchtext\";i:1595;s:11:\"removewatch\";i:1596;s:16:\"removedwatchtext\";i:1597;s:5:\"watch\";i:1598;s:13:\"watchthispage\";i:1599;s:7:\"unwatch\";i:1600;s:15:\"unwatchthispage\";i:1601;s:12:\"notanarticle\";i:1602;s:13:\"notvisiblerev\";i:1603;s:13:\"watchnochange\";i:1604;s:17:\"watchlist-details\";i:1605;s:15:\"wlheader-enotif\";i:1606;s:20:\"wlheader-showupdated\";i:1607;s:18:\"watchmethod-recent\";i:1608;s:16:\"watchmethod-list\";i:1609;s:17:\"watchlistcontains\";i:1610;s:15:\"iteminvalidname\";i:1611;s:6:\"wlnote\";i:1612;s:10:\"wlshowlast\";i:1613;s:17:\"watchlist-options\";i:1614;s:8:\"watching\";i:1615;s:10:\"unwatching\";i:1616;s:14:\"watcherrortext\";i:1617;s:13:\"enotif_mailer\";i:1618;s:12:\"enotif_reset\";i:1619;s:18:\"enotif_newpagetext\";i:1620;s:28:\"enotif_impersonal_salutation\";i:1621;s:7:\"changed\";i:1622;s:7:\"created\";i:1623;s:14:\"enotif_subject\";i:1624;s:18:\"enotif_lastvisited\";i:1625;s:15:\"enotif_lastdiff\";i:1626;s:18:\"enotif_anon_editor\";i:1627;s:11:\"enotif_body\";i:1628;s:10:\"deletepage\";i:1629;s:7:\"confirm\";i:1630;s:9:\"excontent\";i:1631;s:15:\"excontentauthor\";i:1632;s:13:\"exbeforeblank\";i:1633;s:7:\"exblank\";i:1634;s:14:\"delete-confirm\";i:1635;s:15:\"delete-backlink\";i:1636;s:13:\"delete-legend\";i:1637;s:14:\"historywarning\";i:1638;s:17:\"confirmdeletetext\";i:1639;s:14:\"actioncomplete\";i:1640;s:12:\"actionfailed\";i:1641;s:11:\"deletedtext\";i:1642;s:14:\"deletedarticle\";i:1643;s:17:\"suppressedarticle\";i:1644;s:10:\"dellogpage\";i:1645;s:14:\"dellogpagetext\";i:1646;s:11:\"deletionlog\";i:1647;s:8:\"reverted\";i:1648;s:13:\"deletecomment\";i:1649;s:17:\"deleteotherreason\";i:1650;s:21:\"deletereasonotherlist\";i:1651;s:21:\"deletereason-dropdown\";i:1652;s:22:\"delete-edit-reasonlist\";i:1653;s:13:\"delete-toobig\";i:1654;s:21:\"delete-warning-toobig\";i:1655;s:8:\"rollback\";i:1656;s:14:\"rollback_short\";i:1657;s:12:\"rollbacklink\";i:1658;s:14:\"rollbackfailed\";i:1659;s:12:\"cantrollback\";i:1660;s:13:\"alreadyrolled\";i:1661;s:11:\"editcomment\";i:1662;s:10:\"revertpage\";i:1663;s:17:\"revertpage-nouser\";i:1664;s:16:\"rollback-success\";i:1665;s:20:\"sessionfailure-title\";i:1666;s:14:\"sessionfailure\";i:1667;s:14:\"protectlogpage\";i:1668;s:14:\"protectlogtext\";i:1669;s:16:\"protectedarticle\";i:1670;s:25:\"modifiedarticleprotection\";i:1671;s:18:\"unprotectedarticle\";i:1672;s:22:\"movedarticleprotection\";i:1673;s:13:\"protect-title\";i:1674;s:14:\"prot_1movedto2\";i:1675;s:16:\"protect-backlink\";i:1676;s:14:\"protect-legend\";i:1677;s:14:\"protectcomment\";i:1678;s:13:\"protectexpiry\";i:1679;s:22:\"protect_expiry_invalid\";i:1680;s:18:\"protect_expiry_old\";i:1681;s:27:\"protect-unchain-permissions\";i:1682;s:12:\"protect-text\";i:1683;s:22:\"protect-locked-blocked\";i:1684;s:21:\"protect-locked-dblock\";i:1685;s:21:\"protect-locked-access\";i:1686;s:17:\"protect-cascadeon\";i:1687;s:15:\"protect-default\";i:1688;s:16:\"protect-fallback\";i:1689;s:27:\"protect-level-autoconfirmed\";i:1690;s:19:\"protect-level-sysop\";i:1691;s:23:\"protect-summary-cascade\";i:1692;s:16:\"protect-expiring\";i:1693;s:25:\"protect-expiry-indefinite\";i:1694;s:15:\"protect-cascade\";i:1695;s:16:\"protect-cantedit\";i:1696;s:17:\"protect-othertime\";i:1697;s:20:\"protect-othertime-op\";i:1698;s:23:\"protect-existing-expiry\";i:1699;s:19:\"protect-otherreason\";i:1700;s:22:\"protect-otherreason-op\";i:1701;s:16:\"protect-dropdown\";i:1702;s:23:\"protect-edit-reasonlist\";i:1703;s:22:\"protect-expiry-options\";i:1704;s:16:\"restriction-type\";i:1705;s:17:\"restriction-level\";i:1706;s:12:\"minimum-size\";i:1707;s:12:\"maximum-size\";i:1708;s:8:\"pagesize\";i:1709;s:16:\"restriction-edit\";i:1710;s:16:\"restriction-move\";i:1711;s:18:\"restriction-create\";i:1712;s:18:\"restriction-upload\";i:1713;s:23:\"restriction-level-sysop\";i:1714;s:31:\"restriction-level-autoconfirmed\";i:1715;s:21:\"restriction-level-all\";i:1716;s:8:\"undelete\";i:1717;s:12:\"undeletepage\";i:1718;s:17:\"undeletepagetitle\";i:1719;s:15:\"viewdeletedpage\";i:1720;s:16:\"undeletepagetext\";i:1721;s:23:\"undelete-fieldset-title\";i:1722;s:17:\"undeleteextrahelp\";i:1723;s:17:\"undeleterevisions\";i:1724;s:15:\"undeletehistory\";i:1725;s:14:\"undeleterevdel\";i:1726;s:22:\"undeletehistorynoadmin\";i:1727;s:17:\"undelete-revision\";i:1728;s:24:\"undeleterevision-missing\";i:1729;s:15:\"undelete-nodiff\";i:1730;s:11:\"undeletebtn\";i:1731;s:12:\"undeletelink\";i:1732;s:16:\"undeleteviewlink\";i:1733;s:13:\"undeletereset\";i:1734;s:14:\"undeleteinvert\";i:1735;s:15:\"undeletecomment\";i:1736;s:16:\"undeletedarticle\";i:1737;s:18:\"undeletedrevisions\";i:1738;s:24:\"undeletedrevisions-files\";i:1739;s:14:\"undeletedfiles\";i:1740;s:14:\"cannotundelete\";i:1741;s:13:\"undeletedpage\";i:1742;s:15:\"undelete-header\";i:1743;s:19:\"undelete-search-box\";i:1744;s:22:\"undelete-search-prefix\";i:1745;s:22:\"undelete-search-submit\";i:1746;s:19:\"undelete-no-results\";i:1747;s:26:\"undelete-filename-mismatch\";i:1748;s:22:\"undelete-bad-store-key\";i:1749;s:22:\"undelete-cleanup-error\";i:1750;s:28:\"undelete-missing-filearchive\";i:1751;s:20:\"undelete-error-short\";i:1752;s:19:\"undelete-error-long\";i:1753;s:26:\"undelete-show-file-confirm\";i:1754;s:25:\"undelete-show-file-submit\";i:1755;s:9:\"namespace\";i:1756;s:6:\"invert\";i:1757;s:14:\"tooltip-invert\";i:1758;s:21:\"namespace_association\";i:1759;s:29:\"tooltip-namespace_association\";i:1760;s:14:\"blanknamespace\";i:1761;s:13:\"contributions\";i:1762;s:19:\"contributions-title\";i:1763;s:9:\"mycontris\";i:1764;s:11:\"contribsub2\";i:1765;s:10:\"nocontribs\";i:1766;s:5:\"uctop\";i:1767;s:5:\"month\";i:1768;s:4:\"year\";i:1769;s:24:\"sp-contributions-newbies\";i:1770;s:28:\"sp-contributions-newbies-sub\";i:1771;s:30:\"sp-contributions-newbies-title\";i:1772;s:25:\"sp-contributions-blocklog\";i:1773;s:24:\"sp-contributions-deleted\";i:1774;s:24:\"sp-contributions-uploads\";i:1775;s:21:\"sp-contributions-logs\";i:1776;s:21:\"sp-contributions-talk\";i:1777;s:27:\"sp-contributions-userrights\";i:1778;s:31:\"sp-contributions-blocked-notice\";i:1779;s:36:\"sp-contributions-blocked-notice-anon\";i:1780;s:23:\"sp-contributions-search\";i:1781;s:25:\"sp-contributions-username\";i:1782;s:24:\"sp-contributions-toponly\";i:1783;s:23:\"sp-contributions-submit\";i:1784;s:24:\"sp-contributions-explain\";i:1785;s:23:\"sp-contributions-footer\";i:1786;s:28:\"sp-contributions-footer-anon\";i:1787;s:13:\"whatlinkshere\";i:1788;s:19:\"whatlinkshere-title\";i:1789;s:21:\"whatlinkshere-summary\";i:1790;s:18:\"whatlinkshere-page\";i:1791;s:22:\"whatlinkshere-backlink\";i:1792;s:9:\"linkshere\";i:1793;s:11:\"nolinkshere\";i:1794;s:14:\"nolinkshere-ns\";i:1795;s:10:\"isredirect\";i:1796;s:10:\"istemplate\";i:1797;s:7:\"isimage\";i:1798;s:18:\"whatlinkshere-prev\";i:1799;s:18:\"whatlinkshere-next\";i:1800;s:19:\"whatlinkshere-links\";i:1801;s:24:\"whatlinkshere-hideredirs\";i:1802;s:23:\"whatlinkshere-hidetrans\";i:1803;s:23:\"whatlinkshere-hidelinks\";i:1804;s:24:\"whatlinkshere-hideimages\";i:1805;s:21:\"whatlinkshere-filters\";i:1806;s:11:\"autoblockid\";i:1807;s:5:\"block\";i:1808;s:7:\"unblock\";i:1809;s:7:\"blockip\";i:1810;s:13:\"blockip-title\";i:1811;s:14:\"blockip-legend\";i:1812;s:11:\"blockiptext\";i:1813;s:18:\"ipadressorusername\";i:1814;s:9:\"ipbexpiry\";i:1815;s:9:\"ipbreason\";i:1816;s:18:\"ipbreasonotherlist\";i:1817;s:18:\"ipbreason-dropdown\";i:1818;s:13:\"ipb-hardblock\";i:1819;s:16:\"ipbcreateaccount\";i:1820;s:11:\"ipbemailban\";i:1821;s:18:\"ipbenableautoblock\";i:1822;s:9:\"ipbsubmit\";i:1823;s:8:\"ipbother\";i:1824;s:10:\"ipboptions\";i:1825;s:14:\"ipbotheroption\";i:1826;s:14:\"ipbotherreason\";i:1827;s:11:\"ipbhidename\";i:1828;s:12:\"ipbwatchuser\";i:1829;s:19:\"ipb-disableusertalk\";i:1830;s:16:\"ipb-change-block\";i:1831;s:11:\"ipb-confirm\";i:1832;s:12:\"badipaddress\";i:1833;s:17:\"blockipsuccesssub\";i:1834;s:18:\"blockipsuccesstext\";i:1835;s:16:\"ipb-blockingself\";i:1836;s:19:\"ipb-confirmhideuser\";i:1837;s:17:\"ipb-edit-dropdown\";i:1838;s:16:\"ipb-unblock-addr\";i:1839;s:11:\"ipb-unblock\";i:1840;s:13:\"ipb-blocklist\";i:1841;s:22:\"ipb-blocklist-contribs\";i:1842;s:9:\"unblockip\";i:1843;s:13:\"unblockiptext\";i:1844;s:9:\"ipusubmit\";i:1845;s:9:\"unblocked\";i:1846;s:15:\"unblocked-range\";i:1847;s:12:\"unblocked-id\";i:1848;s:9:\"blocklist\";i:1849;s:11:\"ipblocklist\";i:1850;s:18:\"ipblocklist-legend\";i:1851;s:20:\"blocklist-userblocks\";i:1852;s:20:\"blocklist-tempblocks\";i:1853;s:23:\"blocklist-addressblocks\";i:1854;s:19:\"blocklist-timestamp\";i:1855;s:16:\"blocklist-target\";i:1856;s:16:\"blocklist-expiry\";i:1857;s:12:\"blocklist-by\";i:1858;s:16:\"blocklist-params\";i:1859;s:16:\"blocklist-reason\";i:1860;s:17:\"blocklist-summary\";i:1861;s:18:\"ipblocklist-submit\";i:1862;s:22:\"ipblocklist-localblock\";i:1863;s:23:\"ipblocklist-otherblocks\";i:1864;s:13:\"infiniteblock\";i:1865;s:13:\"expiringblock\";i:1866;s:13:\"anononlyblock\";i:1867;s:16:\"noautoblockblock\";i:1868;s:18:\"createaccountblock\";i:1869;s:10:\"emailblock\";i:1870;s:20:\"blocklist-nousertalk\";i:1871;s:17:\"ipblocklist-empty\";i:1872;s:22:\"ipblocklist-no-results\";i:1873;s:9:\"blocklink\";i:1874;s:11:\"unblocklink\";i:1875;s:16:\"change-blocklink\";i:1876;s:12:\"contribslink\";i:1877;s:11:\"autoblocker\";i:1878;s:12:\"blocklogpage\";i:1879;s:16:\"blocklog-showlog\";i:1880;s:24:\"blocklog-showsuppresslog\";i:1881;s:13:\"blocklogentry\";i:1882;s:16:\"reblock-logentry\";i:1883;s:12:\"blocklogtext\";i:1884;s:15:\"unblocklogentry\";i:1885;s:24:\"block-log-flags-anononly\";i:1886;s:24:\"block-log-flags-nocreate\";i:1887;s:27:\"block-log-flags-noautoblock\";i:1888;s:23:\"block-log-flags-noemail\";i:1889;s:26:\"block-log-flags-nousertalk\";i:1890;s:31:\"block-log-flags-angry-autoblock\";i:1891;s:26:\"block-log-flags-hiddenname\";i:1892;s:20:\"range_block_disabled\";i:1893;s:18:\"ipb_expiry_invalid\";i:1894;s:15:\"ipb_expiry_temp\";i:1895;s:16:\"ipb_hide_invalid\";i:1896;s:19:\"ipb_already_blocked\";i:1897;s:15:\"ipb-needreblock\";i:1898;s:22:\"ipb-otherblocks-header\";i:1899;s:16:\"unblock-hideuser\";i:1900;s:16:\"ipb_cant_unblock\";i:1901;s:20:\"ipb_blocked_as_range\";i:1902;s:16:\"ip_range_invalid\";i:1903;s:17:\"ip_range_toolarge\";i:1904;s:7:\"blockme\";i:1905;s:12:\"proxyblocker\";i:1906;s:21:\"proxyblocker-disabled\";i:1907;s:16:\"proxyblockreason\";i:1908;s:17:\"proxyblocksuccess\";i:1909;s:5:\"sorbs\";i:1910;s:11:\"sorbsreason\";i:1911;s:27:\"sorbs_create_account_reason\";i:1912;s:24:\"cant-block-while-blocked\";i:1913;s:20:\"cant-see-hidden-user\";i:1914;s:10:\"ipbblocked\";i:1915;s:16:\"ipbnounblockself\";i:1916;s:6:\"lockdb\";i:1917;s:8:\"unlockdb\";i:1918;s:10:\"lockdbtext\";i:1919;s:12:\"unlockdbtext\";i:1920;s:11:\"lockconfirm\";i:1921;s:13:\"unlockconfirm\";i:1922;s:7:\"lockbtn\";i:1923;s:9:\"unlockbtn\";i:1924;s:13:\"locknoconfirm\";i:1925;s:16:\"lockdbsuccesssub\";i:1926;s:18:\"unlockdbsuccesssub\";i:1927;s:17:\"lockdbsuccesstext\";i:1928;s:19:\"unlockdbsuccesstext\";i:1929;s:19:\"lockfilenotwritable\";i:1930;s:17:\"databasenotlocked\";i:1931;s:15:\"lockedbyandtime\";i:1932;s:9:\"move-page\";i:1933;s:16:\"move-page-legend\";i:1934;s:12:\"movepagetext\";i:1935;s:28:\"movepagetext-noredirectfixer\";i:1936;s:16:\"movepagetalktext\";i:1937;s:11:\"movearticle\";i:1938;s:20:\"moveuserpage-warning\";i:1939;s:11:\"movenologin\";i:1940;s:15:\"movenologintext\";i:1941;s:14:\"movenotallowed\";i:1942;s:18:\"movenotallowedfile\";i:1943;s:19:\"cant-move-user-page\";i:1944;s:22:\"cant-move-to-user-page\";i:1945;s:8:\"newtitle\";i:1946;s:10:\"move-watch\";i:1947;s:11:\"movepagebtn\";i:1948;s:12:\"pagemovedsub\";i:1949;s:14:\"movepage-moved\";i:1950;s:23:\"movepage-moved-redirect\";i:1951;s:25:\"movepage-moved-noredirect\";i:1952;s:13:\"articleexists\";i:1953;s:23:\"cantmove-titleprotected\";i:1954;s:10:\"talkexists\";i:1955;s:7:\"movedto\";i:1956;s:8:\"movetalk\";i:1957;s:13:\"move-subpages\";i:1958;s:18:\"move-talk-subpages\";i:1959;s:20:\"movepage-page-exists\";i:1960;s:19:\"movepage-page-moved\";i:1961;s:21:\"movepage-page-unmoved\";i:1962;s:18:\"movepage-max-pages\";i:1963;s:9:\"1movedto2\";i:1964;s:15:\"1movedto2_redir\";i:1965;s:24:\"move-redirect-suppressed\";i:1966;s:11:\"movelogpage\";i:1967;s:15:\"movelogpagetext\";i:1968;s:11:\"movesubpage\";i:1969;s:15:\"movesubpagetext\";i:1970;s:13:\"movenosubpage\";i:1971;s:10:\"movereason\";i:1972;s:10:\"revertmove\";i:1973;s:15:\"delete_and_move\";i:1974;s:20:\"delete_and_move_text\";i:1975;s:23:\"delete_and_move_confirm\";i:1976;s:22:\"delete_and_move_reason\";i:1977;s:8:\"selfmove\";i:1978;s:25:\"immobile-source-namespace\";i:1979;s:25:\"immobile-target-namespace\";i:1980;s:28:\"immobile-target-namespace-iw\";i:1981;s:20:\"immobile-source-page\";i:1982;s:20:\"immobile-target-page\";i:1983;s:21:\"imagenocrossnamespace\";i:1984;s:27:\"nonfile-cannot-move-to-file\";i:1985;s:17:\"imagetypemismatch\";i:1986;s:20:\"imageinvalidfilename\";i:1987;s:20:\"fix-double-redirects\";i:1988;s:19:\"move-leave-redirect\";i:1989;s:24:\"protectedpagemovewarning\";i:1990;s:28:\"semiprotectedpagemovewarning\";i:1991;s:20:\"move-over-sharedrepo\";i:1992;s:22:\"file-exists-sharedrepo\";i:1993;s:6:\"export\";i:1994;s:10:\"exporttext\";i:1995;s:13:\"exportcuronly\";i:1996;s:15:\"exportnohistory\";i:1997;s:13:\"export-submit\";i:1998;s:17:\"export-addcattext\";i:1999;s:13:\"export-addcat\";i:2000;s:16:\"export-addnstext\";i:2001;s:12:\"export-addns\";i:2002;s:15:\"export-download\";i:2003;s:16:\"export-templates\";i:2004;s:16:\"export-pagelinks\";i:2005;s:11:\"allmessages\";i:2006;s:15:\"allmessagesname\";i:2007;s:18:\"allmessagesdefault\";i:2008;s:18:\"allmessagescurrent\";i:2009;s:15:\"allmessagestext\";i:2010;s:25:\"allmessagesnotsupportedDB\";i:2011;s:25:\"allmessages-filter-legend\";i:2012;s:18:\"allmessages-filter\";i:2013;s:29:\"allmessages-filter-unmodified\";i:2014;s:22:\"allmessages-filter-all\";i:2015;s:27:\"allmessages-filter-modified\";i:2016;s:18:\"allmessages-prefix\";i:2017;s:20:\"allmessages-language\";i:2018;s:25:\"allmessages-filter-submit\";i:2019;s:14:\"thumbnail-more\";i:2020;s:11:\"filemissing\";i:2021;s:15:\"thumbnail_error\";i:2022;s:15:\"djvu_page_error\";i:2023;s:11:\"djvu_no_xml\";i:2024;s:24:\"thumbnail_invalid_params\";i:2025;s:24:\"thumbnail_dest_directory\";i:2026;s:20:\"thumbnail_image-type\";i:2027;s:20:\"thumbnail_gd-library\";i:2028;s:23:\"thumbnail_image-missing\";i:2029;s:6:\"import\";i:2030;s:15:\"importinterwiki\";i:2031;s:21:\"import-interwiki-text\";i:2032;s:23:\"import-interwiki-source\";i:2033;s:24:\"import-interwiki-history\";i:2034;s:26:\"import-interwiki-templates\";i:2035;s:23:\"import-interwiki-submit\";i:2036;s:26:\"import-interwiki-namespace\";i:2037;s:22:\"import-upload-filename\";i:2038;s:14:\"import-comment\";i:2039;s:10:\"importtext\";i:2040;s:11:\"importstart\";i:2041;s:21:\"import-revision-count\";i:2042;s:13:\"importnopages\";i:2043;s:20:\"imported-log-entries\";i:2044;s:12:\"importfailed\";i:2045;s:19:\"importunknownsource\";i:2046;s:14:\"importcantopen\";i:2047;s:18:\"importbadinterwiki\";i:2048;s:12:\"importnotext\";i:2049;s:13:\"importsuccess\";i:2050;s:21:\"importhistoryconflict\";i:2051;s:15:\"importnosources\";i:2052;s:12:\"importnofile\";i:2053;s:21:\"importuploaderrorsize\";i:2054;s:24:\"importuploaderrorpartial\";i:2055;s:21:\"importuploaderrortemp\";i:2056;s:20:\"import-parse-failure\";i:2057;s:16:\"import-noarticle\";i:2058;s:21:\"import-nonewrevisions\";i:2059;s:16:\"xml-error-string\";i:2060;s:13:\"import-upload\";i:2061;s:21:\"import-token-mismatch\";i:2062;s:24:\"import-invalid-interwiki\";i:2063;s:13:\"importlogpage\";i:2064;s:17:\"importlogpagetext\";i:2065;s:22:\"import-logentry-upload\";i:2066;s:29:\"import-logentry-upload-detail\";i:2067;s:25:\"import-logentry-interwiki\";i:2068;s:32:\"import-logentry-interwiki-detail\";i:2069;s:21:\"accesskey-pt-userpage\";i:2070;s:25:\"accesskey-pt-anonuserpage\";i:2071;s:19:\"accesskey-pt-mytalk\";i:2072;s:21:\"accesskey-pt-anontalk\";i:2073;s:24:\"accesskey-pt-preferences\";i:2074;s:22:\"accesskey-pt-watchlist\";i:2075;s:22:\"accesskey-pt-mycontris\";i:2076;s:18:\"accesskey-pt-login\";i:2077;s:22:\"accesskey-pt-anonlogin\";i:2078;s:19:\"accesskey-pt-logout\";i:2079;s:17:\"accesskey-ca-talk\";i:2080;s:17:\"accesskey-ca-edit\";i:2081;s:23:\"accesskey-ca-addsection\";i:2082;s:23:\"accesskey-ca-viewsource\";i:2083;s:20:\"accesskey-ca-history\";i:2084;s:20:\"accesskey-ca-protect\";i:2085;s:22:\"accesskey-ca-unprotect\";i:2086;s:19:\"accesskey-ca-delete\";i:2087;s:21:\"accesskey-ca-undelete\";i:2088;s:17:\"accesskey-ca-move\";i:2089;s:18:\"accesskey-ca-watch\";i:2090;s:20:\"accesskey-ca-unwatch\";i:2091;s:16:\"accesskey-search\";i:2092;s:19:\"accesskey-search-go\";i:2093;s:25:\"accesskey-search-fulltext\";i:2094;s:16:\"accesskey-p-logo\";i:2095;s:20:\"accesskey-n-mainpage\";i:2096;s:32:\"accesskey-n-mainpage-description\";i:2097;s:18:\"accesskey-n-portal\";i:2098;s:25:\"accesskey-n-currentevents\";i:2099;s:25:\"accesskey-n-recentchanges\";i:2100;s:22:\"accesskey-n-randompage\";i:2101;s:16:\"accesskey-n-help\";i:2102;s:25:\"accesskey-t-whatlinkshere\";i:2103;s:31:\"accesskey-t-recentchangeslinked\";i:2104;s:18:\"accesskey-feed-rss\";i:2105;s:19:\"accesskey-feed-atom\";i:2106;s:25:\"accesskey-t-contributions\";i:2107;s:21:\"accesskey-t-emailuser\";i:2108;s:21:\"accesskey-t-permalink\";i:2109;s:17:\"accesskey-t-print\";i:2110;s:18:\"accesskey-t-upload\";i:2111;s:24:\"accesskey-t-specialpages\";i:2112;s:23:\"accesskey-ca-nstab-main\";i:2113;s:23:\"accesskey-ca-nstab-user\";i:2114;s:24:\"accesskey-ca-nstab-media\";i:2115;s:26:\"accesskey-ca-nstab-special\";i:2116;s:26:\"accesskey-ca-nstab-project\";i:2117;s:24:\"accesskey-ca-nstab-image\";i:2118;s:28:\"accesskey-ca-nstab-mediawiki\";i:2119;s:27:\"accesskey-ca-nstab-template\";i:2120;s:23:\"accesskey-ca-nstab-help\";i:2121;s:27:\"accesskey-ca-nstab-category\";i:2122;s:19:\"accesskey-minoredit\";i:2123;s:14:\"accesskey-save\";i:2124;s:17:\"accesskey-preview\";i:2125;s:14:\"accesskey-diff\";i:2126;s:33:\"accesskey-compareselectedversions\";i:2127;s:15:\"accesskey-watch\";i:2128;s:16:\"accesskey-upload\";i:2129;s:26:\"accesskey-preferences-save\";i:2130;s:17:\"accesskey-summary\";i:2131;s:24:\"accesskey-userrights-set\";i:2132;s:23:\"accesskey-blockip-block\";i:2133;s:16:\"accesskey-export\";i:2134;s:16:\"accesskey-import\";i:2135;s:19:\"tooltip-pt-userpage\";i:2136;s:23:\"tooltip-pt-anonuserpage\";i:2137;s:17:\"tooltip-pt-mytalk\";i:2138;s:19:\"tooltip-pt-anontalk\";i:2139;s:22:\"tooltip-pt-preferences\";i:2140;s:20:\"tooltip-pt-watchlist\";i:2141;s:20:\"tooltip-pt-mycontris\";i:2142;s:16:\"tooltip-pt-login\";i:2143;s:20:\"tooltip-pt-anonlogin\";i:2144;s:17:\"tooltip-pt-logout\";i:2145;s:15:\"tooltip-ca-talk\";i:2146;s:15:\"tooltip-ca-edit\";i:2147;s:21:\"tooltip-ca-addsection\";i:2148;s:21:\"tooltip-ca-viewsource\";i:2149;s:18:\"tooltip-ca-history\";i:2150;s:18:\"tooltip-ca-protect\";i:2151;s:20:\"tooltip-ca-unprotect\";i:2152;s:17:\"tooltip-ca-delete\";i:2153;s:19:\"tooltip-ca-undelete\";i:2154;s:15:\"tooltip-ca-move\";i:2155;s:16:\"tooltip-ca-watch\";i:2156;s:18:\"tooltip-ca-unwatch\";i:2157;s:14:\"tooltip-search\";i:2158;s:17:\"tooltip-search-go\";i:2159;s:23:\"tooltip-search-fulltext\";i:2160;s:14:\"tooltip-p-logo\";i:2161;s:18:\"tooltip-n-mainpage\";i:2162;s:30:\"tooltip-n-mainpage-description\";i:2163;s:16:\"tooltip-n-portal\";i:2164;s:23:\"tooltip-n-currentevents\";i:2165;s:23:\"tooltip-n-recentchanges\";i:2166;s:20:\"tooltip-n-randompage\";i:2167;s:14:\"tooltip-n-help\";i:2168;s:23:\"tooltip-t-whatlinkshere\";i:2169;s:29:\"tooltip-t-recentchangeslinked\";i:2170;s:16:\"tooltip-feed-rss\";i:2171;s:17:\"tooltip-feed-atom\";i:2172;s:23:\"tooltip-t-contributions\";i:2173;s:19:\"tooltip-t-emailuser\";i:2174;s:16:\"tooltip-t-upload\";i:2175;s:22:\"tooltip-t-specialpages\";i:2176;s:15:\"tooltip-t-print\";i:2177;s:19:\"tooltip-t-permalink\";i:2178;s:21:\"tooltip-ca-nstab-main\";i:2179;s:21:\"tooltip-ca-nstab-user\";i:2180;s:22:\"tooltip-ca-nstab-media\";i:2181;s:24:\"tooltip-ca-nstab-special\";i:2182;s:24:\"tooltip-ca-nstab-project\";i:2183;s:22:\"tooltip-ca-nstab-image\";i:2184;s:26:\"tooltip-ca-nstab-mediawiki\";i:2185;s:25:\"tooltip-ca-nstab-template\";i:2186;s:21:\"tooltip-ca-nstab-help\";i:2187;s:25:\"tooltip-ca-nstab-category\";i:2188;s:17:\"tooltip-minoredit\";i:2189;s:12:\"tooltip-save\";i:2190;s:15:\"tooltip-preview\";i:2191;s:12:\"tooltip-diff\";i:2192;s:31:\"tooltip-compareselectedversions\";i:2193;s:13:\"tooltip-watch\";i:2194;s:16:\"tooltip-recreate\";i:2195;s:14:\"tooltip-upload\";i:2196;s:16:\"tooltip-rollback\";i:2197;s:12:\"tooltip-undo\";i:2198;s:24:\"tooltip-preferences-save\";i:2199;s:15:\"tooltip-summary\";i:2200;s:10:\"common.css\";i:2201;s:12:\"standard.css\";i:2202;s:13:\"nostalgia.css\";i:2203;s:15:\"cologneblue.css\";i:2204;s:12:\"monobook.css\";i:2205;s:10:\"myskin.css\";i:2206;s:9:\"chick.css\";i:2207;s:10:\"simple.css\";i:2208;s:10:\"modern.css\";i:2209;s:10:\"vector.css\";i:2210;s:9:\"print.css\";i:2211;s:12:\"handheld.css\";i:2212;s:12:\"noscript.css\";i:2213;s:23:\"group-autoconfirmed.css\";i:2214;s:13:\"group-bot.css\";i:2215;s:15:\"group-sysop.css\";i:2216;s:20:\"group-bureaucrat.css\";i:2217;s:9:\"common.js\";i:2218;s:11:\"standard.js\";i:2219;s:12:\"nostalgia.js\";i:2220;s:14:\"cologneblue.js\";i:2221;s:11:\"monobook.js\";i:2222;s:9:\"myskin.js\";i:2223;s:8:\"chick.js\";i:2224;s:9:\"simple.js\";i:2225;s:9:\"modern.js\";i:2226;s:9:\"vector.js\";i:2227;s:22:\"group-autoconfirmed.js\";i:2228;s:12:\"group-bot.js\";i:2229;s:14:\"group-sysop.js\";i:2230;s:19:\"group-bureaucrat.js\";i:2231;s:13:\"notacceptable\";i:2232;s:9:\"anonymous\";i:2233;s:8:\"siteuser\";i:2234;s:8:\"anonuser\";i:2235;s:16:\"lastmodifiedatby\";i:2236;s:13:\"othercontribs\";i:2237;s:6:\"others\";i:2238;s:9:\"siteusers\";i:2239;s:9:\"anonusers\";i:2240;s:11:\"creditspage\";i:2241;s:9:\"nocredits\";i:2242;s:19:\"spamprotectiontitle\";i:2243;s:18:\"spamprotectiontext\";i:2244;s:19:\"spamprotectionmatch\";i:2245;s:16:\"spambot_username\";i:2246;s:14:\"spam_reverting\";i:2247;s:13:\"spam_blanking\";i:2248;s:14:\"pageinfo-title\";i:2249;s:21:\"pageinfo-header-edits\";i:2250;s:25:\"pageinfo-header-watchlist\";i:2251;s:21:\"pageinfo-header-views\";i:2252;s:20:\"pageinfo-subjectpage\";i:2253;s:17:\"pageinfo-talkpage\";i:2254;s:17:\"pageinfo-watchers\";i:2255;s:14:\"pageinfo-edits\";i:2256;s:16:\"pageinfo-authors\";i:2257;s:14:\"pageinfo-views\";i:2258;s:21:\"pageinfo-viewsperedit\";i:2259;s:17:\"skinname-standard\";i:2260;s:18:\"skinname-nostalgia\";i:2261;s:20:\"skinname-cologneblue\";i:2262;s:17:\"skinname-monobook\";i:2263;s:15:\"skinname-myskin\";i:2264;s:14:\"skinname-chick\";i:2265;s:15:\"skinname-simple\";i:2266;s:15:\"skinname-modern\";i:2267;s:15:\"skinname-vector\";i:2268;s:19:\"markaspatrolleddiff\";i:2269;s:19:\"markaspatrolledlink\";i:2270;s:19:\"markaspatrolledtext\";i:2271;s:17:\"markedaspatrolled\";i:2272;s:21:\"markedaspatrolledtext\";i:2273;s:16:\"rcpatroldisabled\";i:2274;s:20:\"rcpatroldisabledtext\";i:2275;s:22:\"markedaspatrollederror\";i:2276;s:26:\"markedaspatrollederrortext\";i:2277;s:35:\"markedaspatrollederror-noautopatrol\";i:2278;s:15:\"patrol-log-page\";i:2279;s:17:\"patrol-log-header\";i:2280;s:15:\"patrol-log-line\";i:2281;s:15:\"patrol-log-auto\";i:2282;s:15:\"patrol-log-diff\";i:2283;s:20:\"log-show-hide-patrol\";i:2284;s:15:\"deletedrevision\";i:2285;s:21:\"filedeleteerror-short\";i:2286;s:20:\"filedeleteerror-long\";i:2287;s:18:\"filedelete-missing\";i:2288;s:27:\"filedelete-old-unregistered\";i:2289;s:31:\"filedelete-current-unregistered\";i:2290;s:28:\"filedelete-archive-read-only\";i:2291;s:12:\"previousdiff\";i:2292;s:8:\"nextdiff\";i:2293;s:12:\"mediawarning\";i:2294;s:12:\"imagemaxsize\";i:2295;s:9:\"thumbsize\";i:2296;s:11:\"widthheight\";i:2297;s:15:\"widthheightpage\";i:2298;s:9:\"file-info\";i:2299;s:14:\"file-info-size\";i:2300;s:20:\"file-info-size-pages\";i:2301;s:12:\"file-nohires\";i:2302;s:13:\"svg-long-desc\";i:2303;s:14:\"show-big-image\";i:2304;s:22:\"show-big-image-preview\";i:2305;s:20:\"show-big-image-other\";i:2306;s:19:\"show-big-image-size\";i:2307;s:20:\"file-info-gif-looped\";i:2308;s:20:\"file-info-gif-frames\";i:2309;s:20:\"file-info-png-looped\";i:2310;s:20:\"file-info-png-repeat\";i:2311;s:20:\"file-info-png-frames\";i:2312;s:9:\"newimages\";i:2313;s:13:\"imagelisttext\";i:2314;s:17:\"newimages-summary\";i:2315;s:16:\"newimages-legend\";i:2316;s:15:\"newimages-label\";i:2317;s:12:\"showhidebots\";i:2318;s:8:\"noimages\";i:2319;s:8:\"ilsubmit\";i:2320;s:6:\"bydate\";i:2321;s:21:\"sp-newimages-showfrom\";i:2322;s:10:\"video-dims\";i:2323;s:14:\"seconds-abbrev\";i:2324;s:14:\"minutes-abbrev\";i:2325;s:12:\"hours-abbrev\";i:2326;s:11:\"days-abbrev\";i:2327;s:14:\"bad_image_list\";i:2328;s:19:\"variantname-zh-hans\";i:2329;s:19:\"variantname-zh-hant\";i:2330;s:17:\"variantname-zh-cn\";i:2331;s:17:\"variantname-zh-tw\";i:2332;s:17:\"variantname-zh-hk\";i:2333;s:17:\"variantname-zh-mo\";i:2334;s:17:\"variantname-zh-sg\";i:2335;s:17:\"variantname-zh-my\";i:2336;s:14:\"variantname-zh\";i:2337;s:20:\"variantname-gan-hans\";i:2338;s:20:\"variantname-gan-hant\";i:2339;s:15:\"variantname-gan\";i:2340;s:17:\"variantname-sr-ec\";i:2341;s:17:\"variantname-sr-el\";i:2342;s:14:\"variantname-sr\";i:2343;s:17:\"variantname-kk-kz\";i:2344;s:17:\"variantname-kk-tr\";i:2345;s:17:\"variantname-kk-cn\";i:2346;s:19:\"variantname-kk-cyrl\";i:2347;s:19:\"variantname-kk-latn\";i:2348;s:19:\"variantname-kk-arab\";i:2349;s:14:\"variantname-kk\";i:2350;s:19:\"variantname-ku-arab\";i:2351;s:19:\"variantname-ku-latn\";i:2352;s:14:\"variantname-ku\";i:2353;s:19:\"variantname-tg-cyrl\";i:2354;s:19:\"variantname-tg-latn\";i:2355;s:14:\"variantname-tg\";i:2356;s:20:\"variantname-ike-cans\";i:2357;s:20:\"variantname-ike-latn\";i:2358;s:14:\"variantname-iu\";i:2359;s:8:\"metadata\";i:2360;s:13:\"metadata-help\";i:2361;s:15:\"metadata-expand\";i:2362;s:17:\"metadata-collapse\";i:2363;s:15:\"metadata-fields\";i:2364;s:17:\"metadata-langitem\";i:2365;s:25:\"metadata-langitem-default\";i:2366;s:15:\"exif-imagewidth\";i:2367;s:16:\"exif-imagelength\";i:2368;s:18:\"exif-bitspersample\";i:2369;s:16:\"exif-compression\";i:2370;s:30:\"exif-photometricinterpretation\";i:2371;s:16:\"exif-orientation\";i:2372;s:20:\"exif-samplesperpixel\";i:2373;s:24:\"exif-planarconfiguration\";i:2374;s:21:\"exif-ycbcrsubsampling\";i:2375;s:21:\"exif-ycbcrpositioning\";i:2376;s:16:\"exif-xresolution\";i:2377;s:16:\"exif-yresolution\";i:2378;s:17:\"exif-stripoffsets\";i:2379;s:17:\"exif-rowsperstrip\";i:2380;s:20:\"exif-stripbytecounts\";i:2381;s:26:\"exif-jpeginterchangeformat\";i:2382;s:32:\"exif-jpeginterchangeformatlength\";i:2383;s:15:\"exif-whitepoint\";i:2384;s:26:\"exif-primarychromaticities\";i:2385;s:22:\"exif-ycbcrcoefficients\";i:2386;s:24:\"exif-referenceblackwhite\";i:2387;s:13:\"exif-datetime\";i:2388;s:21:\"exif-imagedescription\";i:2389;s:9:\"exif-make\";i:2390;s:10:\"exif-model\";i:2391;s:13:\"exif-software\";i:2392;s:11:\"exif-artist\";i:2393;s:14:\"exif-copyright\";i:2394;s:16:\"exif-exifversion\";i:2395;s:20:\"exif-flashpixversion\";i:2396;s:15:\"exif-colorspace\";i:2397;s:28:\"exif-componentsconfiguration\";i:2398;s:27:\"exif-compressedbitsperpixel\";i:2399;s:20:\"exif-pixelydimension\";i:2400;s:20:\"exif-pixelxdimension\";i:2401;s:16:\"exif-usercomment\";i:2402;s:21:\"exif-relatedsoundfile\";i:2403;s:21:\"exif-datetimeoriginal\";i:2404;s:22:\"exif-datetimedigitized\";i:2405;s:15:\"exif-subsectime\";i:2406;s:23:\"exif-subsectimeoriginal\";i:2407;s:24:\"exif-subsectimedigitized\";i:2408;s:17:\"exif-exposuretime\";i:2409;s:24:\"exif-exposuretime-format\";i:2410;s:12:\"exif-fnumber\";i:2411;s:19:\"exif-fnumber-format\";i:2412;s:20:\"exif-exposureprogram\";i:2413;s:24:\"exif-spectralsensitivity\";i:2414;s:20:\"exif-isospeedratings\";i:2415;s:22:\"exif-shutterspeedvalue\";i:2416;s:18:\"exif-aperturevalue\";i:2417;s:20:\"exif-brightnessvalue\";i:2418;s:22:\"exif-exposurebiasvalue\";i:2419;s:21:\"exif-maxaperturevalue\";i:2420;s:20:\"exif-subjectdistance\";i:2421;s:17:\"exif-meteringmode\";i:2422;s:16:\"exif-lightsource\";i:2423;s:10:\"exif-flash\";i:2424;s:16:\"exif-focallength\";i:2425;s:23:\"exif-focallength-format\";i:2426;s:16:\"exif-subjectarea\";i:2427;s:16:\"exif-flashenergy\";i:2428;s:26:\"exif-focalplanexresolution\";i:2429;s:26:\"exif-focalplaneyresolution\";i:2430;s:29:\"exif-focalplaneresolutionunit\";i:2431;s:20:\"exif-subjectlocation\";i:2432;s:18:\"exif-exposureindex\";i:2433;s:18:\"exif-sensingmethod\";i:2434;s:15:\"exif-filesource\";i:2435;s:14:\"exif-scenetype\";i:2436;s:19:\"exif-customrendered\";i:2437;s:17:\"exif-exposuremode\";i:2438;s:17:\"exif-whitebalance\";i:2439;s:21:\"exif-digitalzoomratio\";i:2440;s:26:\"exif-focallengthin35mmfilm\";i:2441;s:21:\"exif-scenecapturetype\";i:2442;s:16:\"exif-gaincontrol\";i:2443;s:13:\"exif-contrast\";i:2444;s:15:\"exif-saturation\";i:2445;s:14:\"exif-sharpness\";i:2446;s:29:\"exif-devicesettingdescription\";i:2447;s:25:\"exif-subjectdistancerange\";i:2448;s:18:\"exif-imageuniqueid\";i:2449;s:17:\"exif-gpsversionid\";i:2450;s:19:\"exif-gpslatituderef\";i:2451;s:16:\"exif-gpslatitude\";i:2452;s:20:\"exif-gpslongituderef\";i:2453;s:17:\"exif-gpslongitude\";i:2454;s:19:\"exif-gpsaltituderef\";i:2455;s:16:\"exif-gpsaltitude\";i:2456;s:17:\"exif-gpstimestamp\";i:2457;s:18:\"exif-gpssatellites\";i:2458;s:14:\"exif-gpsstatus\";i:2459;s:19:\"exif-gpsmeasuremode\";i:2460;s:11:\"exif-gpsdop\";i:2461;s:16:\"exif-gpsspeedref\";i:2462;s:13:\"exif-gpsspeed\";i:2463;s:16:\"exif-gpstrackref\";i:2464;s:13:\"exif-gpstrack\";i:2465;s:23:\"exif-gpsimgdirectionref\";i:2466;s:20:\"exif-gpsimgdirection\";i:2467;s:16:\"exif-gpsmapdatum\";i:2468;s:23:\"exif-gpsdestlatituderef\";i:2469;s:20:\"exif-gpsdestlatitude\";i:2470;s:24:\"exif-gpsdestlongituderef\";i:2471;s:21:\"exif-gpsdestlongitude\";i:2472;s:22:\"exif-gpsdestbearingref\";i:2473;s:19:\"exif-gpsdestbearing\";i:2474;s:23:\"exif-gpsdestdistanceref\";i:2475;s:20:\"exif-gpsdestdistance\";i:2476;s:24:\"exif-gpsprocessingmethod\";i:2477;s:23:\"exif-gpsareainformation\";i:2478;s:17:\"exif-gpsdatestamp\";i:2479;s:20:\"exif-gpsdifferential\";i:2480;s:22:\"exif-coordinate-format\";i:2481;s:20:\"exif-jpegfilecomment\";i:2482;s:13:\"exif-keywords\";i:2483;s:23:\"exif-worldregioncreated\";i:2484;s:19:\"exif-countrycreated\";i:2485;s:23:\"exif-countrycodecreated\";i:2486;s:27:\"exif-provinceorstatecreated\";i:2487;s:16:\"exif-citycreated\";i:2488;s:23:\"exif-sublocationcreated\";i:2489;s:20:\"exif-worldregiondest\";i:2490;s:16:\"exif-countrydest\";i:2491;s:20:\"exif-countrycodedest\";i:2492;s:24:\"exif-provinceorstatedest\";i:2493;s:13:\"exif-citydest\";i:2494;s:20:\"exif-sublocationdest\";i:2495;s:15:\"exif-objectname\";i:2496;s:24:\"exif-specialinstructions\";i:2497;s:13:\"exif-headline\";i:2498;s:11:\"exif-credit\";i:2499;s:11:\"exif-source\";i:2500;s:15:\"exif-editstatus\";i:2501;s:12:\"exif-urgency\";i:2502;s:22:\"exif-fixtureidentifier\";i:2503;s:17:\"exif-locationdest\";i:2504;s:21:\"exif-locationdestcode\";i:2505;s:16:\"exif-objectcycle\";i:2506;s:12:\"exif-contact\";i:2507;s:11:\"exif-writer\";i:2508;s:17:\"exif-languagecode\";i:2509;s:15:\"exif-iimversion\";i:2510;s:16:\"exif-iimcategory\";i:2511;s:28:\"exif-iimsupplementalcategory\";i:2512;s:20:\"exif-datetimeexpires\";i:2513;s:21:\"exif-datetimereleased\";i:2514;s:28:\"exif-originaltransmissionref\";i:2515;s:15:\"exif-identifier\";i:2516;s:9:\"exif-lens\";i:2517;s:17:\"exif-serialnumber\";i:2518;s:20:\"exif-cameraownername\";i:2519;s:10:\"exif-label\";i:2520;s:21:\"exif-datetimemetadata\";i:2521;s:13:\"exif-nickname\";i:2522;s:11:\"exif-rating\";i:2523;s:22:\"exif-rightscertificate\";i:2524;s:16:\"exif-copyrighted\";i:2525;s:19:\"exif-copyrightowner\";i:2526;s:15:\"exif-usageterms\";i:2527;s:17:\"exif-webstatement\";i:2528;s:23:\"exif-originaldocumentid\";i:2529;s:15:\"exif-licenseurl\";i:2530;s:23:\"exif-morepermissionsurl\";i:2531;s:19:\"exif-attributionurl\";i:2532;s:29:\"exif-preferredattributionname\";i:2533;s:19:\"exif-pngfilecomment\";i:2534;s:15:\"exif-disclaimer\";i:2535;s:19:\"exif-contentwarning\";i:2536;s:19:\"exif-giffilecomment\";i:2537;s:22:\"exif-intellectualgenre\";i:2538;s:20:\"exif-subjectnewscode\";i:2539;s:14:\"exif-scenecode\";i:2540;s:10:\"exif-event\";i:2541;s:24:\"exif-organisationinimage\";i:2542;s:18:\"exif-personinimage\";i:2543;s:24:\"exif-originalimageheight\";i:2544;s:23:\"exif-originalimagewidth\";i:2545;s:15:\"exif-make-value\";i:2546;s:16:\"exif-model-value\";i:2547;s:19:\"exif-software-value\";i:2548;s:27:\"exif-software-version-value\";i:2549;s:18:\"exif-contact-value\";i:2550;s:26:\"exif-subjectnewscode-value\";i:2551;s:18:\"exif-compression-1\";i:2552;s:18:\"exif-compression-2\";i:2553;s:18:\"exif-compression-3\";i:2554;s:18:\"exif-compression-4\";i:2555;s:18:\"exif-compression-5\";i:2556;s:18:\"exif-compression-6\";i:2557;s:18:\"exif-compression-7\";i:2558;s:18:\"exif-compression-8\";i:2559;s:22:\"exif-compression-32773\";i:2560;s:22:\"exif-compression-32946\";i:2561;s:22:\"exif-compression-34712\";i:2562;s:21:\"exif-copyrighted-true\";i:2563;s:22:\"exif-copyrighted-false\";i:2564;s:32:\"exif-photometricinterpretation-2\";i:2565;s:32:\"exif-photometricinterpretation-6\";i:2566;s:16:\"exif-unknowndate\";i:2567;s:18:\"exif-orientation-1\";i:2568;s:18:\"exif-orientation-2\";i:2569;s:18:\"exif-orientation-3\";i:2570;s:18:\"exif-orientation-4\";i:2571;s:18:\"exif-orientation-5\";i:2572;s:18:\"exif-orientation-6\";i:2573;s:18:\"exif-orientation-7\";i:2574;s:18:\"exif-orientation-8\";i:2575;s:26:\"exif-planarconfiguration-1\";i:2576;s:26:\"exif-planarconfiguration-2\";i:2577;s:19:\"exif-xyresolution-i\";i:2578;s:19:\"exif-xyresolution-c\";i:2579;s:17:\"exif-colorspace-1\";i:2580;s:21:\"exif-colorspace-65535\";i:2581;s:30:\"exif-componentsconfiguration-0\";i:2582;s:30:\"exif-componentsconfiguration-1\";i:2583;s:30:\"exif-componentsconfiguration-2\";i:2584;s:30:\"exif-componentsconfiguration-3\";i:2585;s:30:\"exif-componentsconfiguration-4\";i:2586;s:30:\"exif-componentsconfiguration-5\";i:2587;s:30:\"exif-componentsconfiguration-6\";i:2588;s:22:\"exif-exposureprogram-0\";i:2589;s:22:\"exif-exposureprogram-1\";i:2590;s:22:\"exif-exposureprogram-2\";i:2591;s:22:\"exif-exposureprogram-3\";i:2592;s:22:\"exif-exposureprogram-4\";i:2593;s:22:\"exif-exposureprogram-5\";i:2594;s:22:\"exif-exposureprogram-6\";i:2595;s:22:\"exif-exposureprogram-7\";i:2596;s:22:\"exif-exposureprogram-8\";i:2597;s:26:\"exif-subjectdistance-value\";i:2598;s:19:\"exif-meteringmode-0\";i:2599;s:19:\"exif-meteringmode-1\";i:2600;s:19:\"exif-meteringmode-2\";i:2601;s:19:\"exif-meteringmode-3\";i:2602;s:19:\"exif-meteringmode-4\";i:2603;s:19:\"exif-meteringmode-5\";i:2604;s:19:\"exif-meteringmode-6\";i:2605;s:21:\"exif-meteringmode-255\";i:2606;s:18:\"exif-lightsource-0\";i:2607;s:18:\"exif-lightsource-1\";i:2608;s:18:\"exif-lightsource-2\";i:2609;s:18:\"exif-lightsource-3\";i:2610;s:18:\"exif-lightsource-4\";i:2611;s:18:\"exif-lightsource-9\";i:2612;s:19:\"exif-lightsource-10\";i:2613;s:19:\"exif-lightsource-11\";i:2614;s:19:\"exif-lightsource-12\";i:2615;s:19:\"exif-lightsource-13\";i:2616;s:19:\"exif-lightsource-14\";i:2617;s:19:\"exif-lightsource-15\";i:2618;s:19:\"exif-lightsource-17\";i:2619;s:19:\"exif-lightsource-18\";i:2620;s:19:\"exif-lightsource-19\";i:2621;s:19:\"exif-lightsource-20\";i:2622;s:19:\"exif-lightsource-21\";i:2623;s:19:\"exif-lightsource-22\";i:2624;s:19:\"exif-lightsource-23\";i:2625;s:19:\"exif-lightsource-24\";i:2626;s:20:\"exif-lightsource-255\";i:2627;s:18:\"exif-flash-fired-0\";i:2628;s:18:\"exif-flash-fired-1\";i:2629;s:19:\"exif-flash-return-0\";i:2630;s:19:\"exif-flash-return-2\";i:2631;s:19:\"exif-flash-return-3\";i:2632;s:17:\"exif-flash-mode-1\";i:2633;s:17:\"exif-flash-mode-2\";i:2634;s:17:\"exif-flash-mode-3\";i:2635;s:21:\"exif-flash-function-1\";i:2636;s:19:\"exif-flash-redeye-1\";i:2637;s:31:\"exif-focalplaneresolutionunit-2\";i:2638;s:20:\"exif-sensingmethod-1\";i:2639;s:20:\"exif-sensingmethod-2\";i:2640;s:20:\"exif-sensingmethod-3\";i:2641;s:20:\"exif-sensingmethod-4\";i:2642;s:20:\"exif-sensingmethod-5\";i:2643;s:20:\"exif-sensingmethod-7\";i:2644;s:20:\"exif-sensingmethod-8\";i:2645;s:17:\"exif-filesource-3\";i:2646;s:16:\"exif-scenetype-1\";i:2647;s:21:\"exif-customrendered-0\";i:2648;s:21:\"exif-customrendered-1\";i:2649;s:19:\"exif-exposuremode-0\";i:2650;s:19:\"exif-exposuremode-1\";i:2651;s:19:\"exif-exposuremode-2\";i:2652;s:19:\"exif-whitebalance-0\";i:2653;s:19:\"exif-whitebalance-1\";i:2654;s:23:\"exif-scenecapturetype-0\";i:2655;s:23:\"exif-scenecapturetype-1\";i:2656;s:23:\"exif-scenecapturetype-2\";i:2657;s:23:\"exif-scenecapturetype-3\";i:2658;s:18:\"exif-gaincontrol-0\";i:2659;s:18:\"exif-gaincontrol-1\";i:2660;s:18:\"exif-gaincontrol-2\";i:2661;s:18:\"exif-gaincontrol-3\";i:2662;s:18:\"exif-gaincontrol-4\";i:2663;s:15:\"exif-contrast-0\";i:2664;s:15:\"exif-contrast-1\";i:2665;s:15:\"exif-contrast-2\";i:2666;s:17:\"exif-saturation-0\";i:2667;s:17:\"exif-saturation-1\";i:2668;s:17:\"exif-saturation-2\";i:2669;s:16:\"exif-sharpness-0\";i:2670;s:16:\"exif-sharpness-1\";i:2671;s:16:\"exif-sharpness-2\";i:2672;s:27:\"exif-subjectdistancerange-0\";i:2673;s:27:\"exif-subjectdistancerange-1\";i:2674;s:27:\"exif-subjectdistancerange-2\";i:2675;s:27:\"exif-subjectdistancerange-3\";i:2676;s:18:\"exif-gpslatitude-n\";i:2677;s:18:\"exif-gpslatitude-s\";i:2678;s:19:\"exif-gpslongitude-e\";i:2679;s:19:\"exif-gpslongitude-w\";i:2680;s:31:\"exif-gpsaltitude-above-sealevel\";i:2681;s:31:\"exif-gpsaltitude-below-sealevel\";i:2682;s:16:\"exif-gpsstatus-a\";i:2683;s:16:\"exif-gpsstatus-v\";i:2684;s:21:\"exif-gpsmeasuremode-2\";i:2685;s:21:\"exif-gpsmeasuremode-3\";i:2686;s:15:\"exif-gpsspeed-k\";i:2687;s:15:\"exif-gpsspeed-m\";i:2688;s:15:\"exif-gpsspeed-n\";i:2689;s:22:\"exif-gpsdestdistance-k\";i:2690;s:22:\"exif-gpsdestdistance-m\";i:2691;s:22:\"exif-gpsdestdistance-n\";i:2692;s:21:\"exif-gpsdop-excellent\";i:2693;s:16:\"exif-gpsdop-good\";i:2694;s:20:\"exif-gpsdop-moderate\";i:2695;s:16:\"exif-gpsdop-fair\";i:2696;s:16:\"exif-gpsdop-poor\";i:2697;s:18:\"exif-objectcycle-a\";i:2698;s:18:\"exif-objectcycle-p\";i:2699;s:18:\"exif-objectcycle-b\";i:2700;s:19:\"exif-gpsdirection-t\";i:2701;s:19:\"exif-gpsdirection-m\";i:2702;s:23:\"exif-ycbcrpositioning-1\";i:2703;s:23:\"exif-ycbcrpositioning-2\";i:2704;s:19:\"exif-dc-contributor\";i:2705;s:16:\"exif-dc-coverage\";i:2706;s:12:\"exif-dc-date\";i:2707;s:17:\"exif-dc-publisher\";i:2708;s:16:\"exif-dc-relation\";i:2709;s:14:\"exif-dc-rights\";i:2710;s:14:\"exif-dc-source\";i:2711;s:12:\"exif-dc-type\";i:2712;s:20:\"exif-rating-rejected\";i:2713;s:29:\"exif-isospeedratings-overflow\";i:2714;s:27:\"exif-maxaperturevalue-value\";i:2715;s:20:\"exif-iimcategory-ace\";i:2716;s:20:\"exif-iimcategory-clj\";i:2717;s:20:\"exif-iimcategory-dis\";i:2718;s:20:\"exif-iimcategory-fin\";i:2719;s:20:\"exif-iimcategory-edu\";i:2720;s:20:\"exif-iimcategory-evn\";i:2721;s:20:\"exif-iimcategory-hth\";i:2722;s:20:\"exif-iimcategory-hum\";i:2723;s:20:\"exif-iimcategory-lab\";i:2724;s:20:\"exif-iimcategory-lif\";i:2725;s:20:\"exif-iimcategory-pol\";i:2726;s:20:\"exif-iimcategory-rel\";i:2727;s:20:\"exif-iimcategory-sci\";i:2728;s:20:\"exif-iimcategory-soi\";i:2729;s:20:\"exif-iimcategory-spo\";i:2730;s:20:\"exif-iimcategory-war\";i:2731;s:20:\"exif-iimcategory-wea\";i:2732;s:19:\"exif-urgency-normal\";i:2733;s:16:\"exif-urgency-low\";i:2734;s:17:\"exif-urgency-high\";i:2735;s:18:\"exif-urgency-other\";i:2736;s:15:\"edit-externally\";i:2737;s:20:\"edit-externally-help\";i:2738;s:13:\"watchlistall2\";i:2739;s:13:\"namespacesall\";i:2740;s:9:\"monthsall\";i:2741;s:8:\"limitall\";i:2742;s:12:\"confirmemail\";i:2743;s:20:\"confirmemail_noemail\";i:2744;s:17:\"confirmemail_text\";i:2745;s:20:\"confirmemail_pending\";i:2746;s:17:\"confirmemail_send\";i:2747;s:17:\"confirmemail_sent\";i:2748;s:21:\"confirmemail_oncreate\";i:2749;s:23:\"confirmemail_sendfailed\";i:2750;s:20:\"confirmemail_invalid\";i:2751;s:22:\"confirmemail_needlogin\";i:2752;s:20:\"confirmemail_success\";i:2753;s:21:\"confirmemail_loggedin\";i:2754;s:18:\"confirmemail_error\";i:2755;s:20:\"confirmemail_subject\";i:2756;s:17:\"confirmemail_body\";i:2757;s:25:\"confirmemail_body_changed\";i:2758;s:21:\"confirmemail_body_set\";i:2759;s:24:\"confirmemail_invalidated\";i:2760;s:15:\"invalidateemail\";i:2761;s:23:\"scarytranscludedisabled\";i:2762;s:21:\"scarytranscludefailed\";i:2763;s:22:\"scarytranscludetoolong\";i:2764;s:12:\"trackbackbox\";i:2765;s:9:\"trackback\";i:2766;s:16:\"trackbackexcerpt\";i:2767;s:15:\"trackbackremove\";i:2768;s:13:\"trackbacklink\";i:2769;s:17:\"trackbackdeleteok\";i:2770;s:19:\"deletedwhileediting\";i:2771;s:15:\"confirmrecreate\";i:2772;s:24:\"confirmrecreate-noreason\";i:2773;s:8:\"recreate\";i:2774;s:10:\"unit-pixel\";i:2775;s:20:\"confirm_purge_button\";i:2776;s:17:\"confirm-purge-top\";i:2777;s:20:\"confirm-purge-bottom\";i:2778;s:20:\"confirm-watch-button\";i:2779;s:17:\"confirm-watch-top\";i:2780;s:22:\"confirm-unwatch-button\";i:2781;s:19:\"confirm-unwatch-top\";i:2782;s:19:\"semicolon-separator\";i:2783;s:15:\"comma-separator\";i:2784;s:15:\"colon-separator\";i:2785;s:18:\"autocomment-prefix\";i:2786;s:14:\"pipe-separator\";i:2787;s:14:\"word-separator\";i:2788;s:8:\"ellipsis\";i:2789;s:7:\"percent\";i:2790;s:11:\"parentheses\";i:2791;s:16:\"imgmultipageprev\";i:2792;s:16:\"imgmultipagenext\";i:2793;s:10:\"imgmultigo\";i:2794;s:12:\"imgmultigoto\";i:2795;s:16:\"ascending_abbrev\";i:2796;s:17:\"descending_abbrev\";i:2797;s:16:\"table_pager_next\";i:2798;s:16:\"table_pager_prev\";i:2799;s:17:\"table_pager_first\";i:2800;s:16:\"table_pager_last\";i:2801;s:17:\"table_pager_limit\";i:2802;s:23:\"table_pager_limit_label\";i:2803;s:24:\"table_pager_limit_submit\";i:2804;s:17:\"table_pager_empty\";i:2805;s:14:\"autosumm-blank\";i:2806;s:16:\"autosumm-replace\";i:2807;s:16:\"autoredircomment\";i:2808;s:12:\"autosumm-new\";i:2809;s:19:\"autoblock_whitelist\";i:2810;s:10:\"size-bytes\";i:2811;s:14:\"size-kilobytes\";i:2812;s:14:\"size-megabytes\";i:2813;s:14:\"size-gigabytes\";i:2814;s:19:\"livepreview-loading\";i:2815;s:17:\"livepreview-ready\";i:2816;s:18:\"livepreview-failed\";i:2817;s:17:\"livepreview-error\";i:2818;s:15:\"lag-warn-normal\";i:2819;s:13:\"lag-warn-high\";i:2820;s:22:\"watchlistedit-numitems\";i:2821;s:21:\"watchlistedit-noitems\";i:2822;s:26:\"watchlistedit-normal-title\";i:2823;s:27:\"watchlistedit-normal-legend\";i:2824;s:28:\"watchlistedit-normal-explain\";i:2825;s:27:\"watchlistedit-normal-submit\";i:2826;s:25:\"watchlistedit-normal-done\";i:2827;s:23:\"watchlistedit-raw-title\";i:2828;s:24:\"watchlistedit-raw-legend\";i:2829;s:25:\"watchlistedit-raw-explain\";i:2830;s:24:\"watchlistedit-raw-titles\";i:2831;s:24:\"watchlistedit-raw-submit\";i:2832;s:22:\"watchlistedit-raw-done\";i:2833;s:23:\"watchlistedit-raw-added\";i:2834;s:25:\"watchlistedit-raw-removed\";i:2835;s:19:\"watchlisttools-view\";i:2836;s:19:\"watchlisttools-edit\";i:2837;s:18:\"watchlisttools-raw\";i:2838;s:19:\"iranian-calendar-m1\";i:2839;s:19:\"iranian-calendar-m2\";i:2840;s:19:\"iranian-calendar-m3\";i:2841;s:19:\"iranian-calendar-m4\";i:2842;s:19:\"iranian-calendar-m5\";i:2843;s:19:\"iranian-calendar-m6\";i:2844;s:19:\"iranian-calendar-m7\";i:2845;s:19:\"iranian-calendar-m8\";i:2846;s:19:\"iranian-calendar-m9\";i:2847;s:20:\"iranian-calendar-m10\";i:2848;s:20:\"iranian-calendar-m11\";i:2849;s:20:\"iranian-calendar-m12\";i:2850;s:17:\"hijri-calendar-m1\";i:2851;s:17:\"hijri-calendar-m2\";i:2852;s:17:\"hijri-calendar-m3\";i:2853;s:17:\"hijri-calendar-m4\";i:2854;s:17:\"hijri-calendar-m5\";i:2855;s:17:\"hijri-calendar-m6\";i:2856;s:17:\"hijri-calendar-m7\";i:2857;s:17:\"hijri-calendar-m8\";i:2858;s:17:\"hijri-calendar-m9\";i:2859;s:18:\"hijri-calendar-m10\";i:2860;s:18:\"hijri-calendar-m11\";i:2861;s:18:\"hijri-calendar-m12\";i:2862;s:18:\"hebrew-calendar-m1\";i:2863;s:18:\"hebrew-calendar-m2\";i:2864;s:18:\"hebrew-calendar-m3\";i:2865;s:18:\"hebrew-calendar-m4\";i:2866;s:18:\"hebrew-calendar-m5\";i:2867;s:18:\"hebrew-calendar-m6\";i:2868;s:19:\"hebrew-calendar-m6a\";i:2869;s:19:\"hebrew-calendar-m6b\";i:2870;s:18:\"hebrew-calendar-m7\";i:2871;s:18:\"hebrew-calendar-m8\";i:2872;s:18:\"hebrew-calendar-m9\";i:2873;s:19:\"hebrew-calendar-m10\";i:2874;s:19:\"hebrew-calendar-m11\";i:2875;s:19:\"hebrew-calendar-m12\";i:2876;s:22:\"hebrew-calendar-m1-gen\";i:2877;s:22:\"hebrew-calendar-m2-gen\";i:2878;s:22:\"hebrew-calendar-m3-gen\";i:2879;s:22:\"hebrew-calendar-m4-gen\";i:2880;s:22:\"hebrew-calendar-m5-gen\";i:2881;s:22:\"hebrew-calendar-m6-gen\";i:2882;s:23:\"hebrew-calendar-m6a-gen\";i:2883;s:23:\"hebrew-calendar-m6b-gen\";i:2884;s:22:\"hebrew-calendar-m7-gen\";i:2885;s:22:\"hebrew-calendar-m8-gen\";i:2886;s:22:\"hebrew-calendar-m9-gen\";i:2887;s:23:\"hebrew-calendar-m10-gen\";i:2888;s:23:\"hebrew-calendar-m11-gen\";i:2889;s:23:\"hebrew-calendar-m12-gen\";i:2890;s:9:\"signature\";i:2891;s:14:\"signature-anon\";i:2892;s:12:\"timezone-utc\";i:2893;s:21:\"unknown_extension_tag\";i:2894;s:21:\"duplicate-defaultsort\";i:2895;s:7:\"version\";i:2896;s:18:\"version-extensions\";i:2897;s:20:\"version-specialpages\";i:2898;s:19:\"version-parserhooks\";i:2899;s:17:\"version-variables\";i:2900;s:16:\"version-antispam\";i:2901;s:13:\"version-skins\";i:2902;s:11:\"version-api\";i:2903;s:13:\"version-other\";i:2904;s:21:\"version-mediahandlers\";i:2905;s:13:\"version-hooks\";i:2906;s:27:\"version-extension-functions\";i:2907;s:28:\"version-parser-extensiontags\";i:2908;s:29:\"version-parser-function-hooks\";i:2909;s:17:\"version-hook-name\";i:2910;s:25:\"version-hook-subscribedby\";i:2911;s:15:\"version-version\";i:2912;s:20:\"version-svn-revision\";i:2913;s:15:\"version-license\";i:2914;s:25:\"version-poweredby-credits\";i:2915;s:24:\"version-poweredby-others\";i:2916;s:20:\"version-license-info\";i:2917;s:16:\"version-software\";i:2918;s:24:\"version-software-product\";i:2919;s:24:\"version-software-version\";i:2920;s:8:\"filepath\";i:2921;s:13:\"filepath-page\";i:2922;s:15:\"filepath-submit\";i:2923;s:16:\"filepath-summary\";i:2924;s:19:\"fileduplicatesearch\";i:2925;s:27:\"fileduplicatesearch-summary\";i:2926;s:26:\"fileduplicatesearch-legend\";i:2927;s:28:\"fileduplicatesearch-filename\";i:2928;s:26:\"fileduplicatesearch-submit\";i:2929;s:24:\"fileduplicatesearch-info\";i:2930;s:28:\"fileduplicatesearch-result-1\";i:2931;s:28:\"fileduplicatesearch-result-n\";i:2932;s:29:\"fileduplicatesearch-noresults\";i:2933;s:12:\"specialpages\";i:2934;s:20:\"specialpages-summary\";i:2935;s:17:\"specialpages-note\";i:2936;s:30:\"specialpages-group-maintenance\";i:2937;s:24:\"specialpages-group-other\";i:2938;s:24:\"specialpages-group-login\";i:2939;s:26:\"specialpages-group-changes\";i:2940;s:24:\"specialpages-group-media\";i:2941;s:24:\"specialpages-group-users\";i:2942;s:26:\"specialpages-group-highuse\";i:2943;s:24:\"specialpages-group-pages\";i:2944;s:28:\"specialpages-group-pagetools\";i:2945;s:23:\"specialpages-group-wiki\";i:2946;s:28:\"specialpages-group-redirects\";i:2947;s:23:\"specialpages-group-spam\";i:2948;s:9:\"blankpage\";i:2949;s:22:\"intentionallyblankpage\";i:2950;s:24:\"external_image_whitelist\";i:2951;s:4:\"tags\";i:2952;s:10:\"tag-filter\";i:2953;s:17:\"tag-filter-submit\";i:2954;s:10:\"tags-title\";i:2955;s:10:\"tags-intro\";i:2956;s:8:\"tags-tag\";i:2957;s:19:\"tags-display-header\";i:2958;s:23:\"tags-description-header\";i:2959;s:20:\"tags-hitcount-header\";i:2960;s:9:\"tags-edit\";i:2961;s:13:\"tags-hitcount\";i:2962;s:12:\"comparepages\";i:2963;s:16:\"compare-selector\";i:2964;s:13:\"compare-page1\";i:2965;s:13:\"compare-page2\";i:2966;s:12:\"compare-rev1\";i:2967;s:12:\"compare-rev2\";i:2968;s:14:\"compare-submit\";i:2969;s:12:\"dberr-header\";i:2970;s:14:\"dberr-problems\";i:2971;s:11:\"dberr-again\";i:2972;s:10:\"dberr-info\";i:2973;s:15:\"dberr-usegoogle\";i:2974;s:15:\"dberr-outofdate\";i:2975;s:17:\"dberr-cachederror\";i:2976;s:22:\"htmlform-invalid-input\";i:2977;s:25:\"htmlform-select-badoption\";i:2978;s:20:\"htmlform-int-invalid\";i:2979;s:22:\"htmlform-float-invalid\";i:2980;s:19:\"htmlform-int-toolow\";i:2981;s:20:\"htmlform-int-toohigh\";i:2982;s:17:\"htmlform-required\";i:2983;s:15:\"htmlform-submit\";i:2984;s:14:\"htmlform-reset\";i:2985;s:28:\"htmlform-selectorother-other\";i:2986;s:14:\"sqlite-has-fts\";i:2987;s:13:\"sqlite-no-fts\";}}'),('en','preload','a:3:{s:8:\"messages\";a:95:{s:9:\"aboutpage\";s:13:\"Project:About\";s:9:\"aboutsite\";s:18:\"About {{SITENAME}}\";s:17:\"accesskey-ca-edit\";s:1:\"e\";s:20:\"accesskey-ca-history\";s:1:\"h\";s:23:\"accesskey-ca-nstab-main\";s:1:\"c\";s:17:\"accesskey-ca-talk\";s:1:\"t\";s:25:\"accesskey-n-currentevents\";s:0:\"\";s:16:\"accesskey-n-help\";s:0:\"\";s:32:\"accesskey-n-mainpage-description\";s:1:\"z\";s:18:\"accesskey-n-portal\";s:0:\"\";s:22:\"accesskey-n-randompage\";s:1:\"x\";s:25:\"accesskey-n-recentchanges\";s:1:\"r\";s:23:\"accesskey-n-sitesupport\";N;s:16:\"accesskey-p-logo\";s:0:\"\";s:18:\"accesskey-pt-login\";s:1:\"o\";s:16:\"accesskey-search\";s:1:\"f\";s:25:\"accesskey-search-fulltext\";s:0:\"\";s:19:\"accesskey-search-go\";s:0:\"\";s:21:\"accesskey-t-permalink\";s:0:\"\";s:17:\"accesskey-t-print\";s:1:\"p\";s:31:\"accesskey-t-recentchangeslinked\";s:1:\"k\";s:24:\"accesskey-t-specialpages\";s:1:\"q\";s:25:\"accesskey-t-whatlinkshere\";s:1:\"j\";s:10:\"anonnotice\";s:1:\"-\";s:15:\"colon-separator\";s:6:\":&#32;\";s:13:\"currentevents\";s:14:\"Current events\";s:17:\"currentevents-url\";s:22:\"Project:Current events\";s:14:\"disclaimerpage\";s:26:\"Project:General disclaimer\";s:11:\"disclaimers\";s:11:\"Disclaimers\";s:4:\"edit\";s:4:\"Edit\";s:4:\"help\";s:4:\"Help\";s:8:\"helppage\";s:13:\"Help:Contents\";s:13:\"history_short\";s:7:\"History\";s:6:\"jumpto\";s:8:\"Jump to:\";s:16:\"jumptonavigation\";s:10:\"navigation\";s:12:\"jumptosearch\";s:6:\"search\";s:14:\"lastmodifiedat\";s:41:\"This page was last modified on $1, at $2.\";s:8:\"mainpage\";s:9:\"Main Page\";s:20:\"mainpage-description\";s:9:\"Main page\";s:23:\"nav-login-createaccount\";s:23:\"Log in / create account\";s:10:\"navigation\";s:10:\"Navigation\";s:10:\"nstab-main\";s:4:\"Page\";s:15:\"opensearch-desc\";s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";s:14:\"pagecategories\";s:33:\"{{PLURAL:$1|Category|Categories}}\";s:18:\"pagecategorieslink\";s:18:\"Special:Categories\";s:9:\"pagetitle\";s:17:\"$1 - {{SITENAME}}\";s:23:\"pagetitle-view-mainpage\";s:12:\"{{SITENAME}}\";s:9:\"permalink\";s:14:\"Permanent link\";s:13:\"personaltools\";s:14:\"Personal tools\";s:6:\"portal\";s:16:\"Community portal\";s:10:\"portal-url\";s:24:\"Project:Community portal\";s:16:\"printableversion\";s:17:\"Printable version\";s:7:\"privacy\";s:14:\"Privacy policy\";s:11:\"privacypage\";s:22:\"Project:Privacy policy\";s:10:\"randompage\";s:11:\"Random page\";s:14:\"randompage-url\";s:14:\"Special:Random\";s:13:\"recentchanges\";s:14:\"Recent changes\";s:17:\"recentchanges-url\";s:21:\"Special:RecentChanges\";s:27:\"recentchangeslinked-toolbox\";s:15:\"Related changes\";s:13:\"retrievedfrom\";s:19:\"Retrieved from \"$1\"\";s:6:\"search\";s:6:\"Search\";s:13:\"searcharticle\";s:2:\"Go\";s:12:\"searchbutton\";s:6:\"Search\";s:7:\"sidebar\";s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";s:14:\"site-atom-feed\";s:12:\"$1 Atom feed\";s:13:\"site-rss-feed\";s:11:\"$1 RSS feed\";s:10:\"sitenotice\";s:1:\"-\";s:12:\"specialpages\";s:13:\"Special pages\";s:7:\"tagline\";s:17:\"From {{SITENAME}}\";s:4:\"talk\";s:10:\"Discussion\";s:7:\"toolbox\";s:7:\"Toolbox\";s:15:\"tooltip-ca-edit\";s:67:\"You can edit this page. Please use the preview button before saving\";s:18:\"tooltip-ca-history\";s:27:\"Past revisions of this page\";s:21:\"tooltip-ca-nstab-main\";s:21:\"View the content page\";s:15:\"tooltip-ca-talk\";s:33:\"Discussion about the content page\";s:23:\"tooltip-n-currentevents\";s:45:\"Find background information on current events\";s:14:\"tooltip-n-help\";s:21:\"The place to find out\";s:30:\"tooltip-n-mainpage-description\";s:19:\"Visit the main page\";s:16:\"tooltip-n-portal\";s:56:\"About the project, what you can do, where to find things\";s:20:\"tooltip-n-randompage\";s:18:\"Load a random page\";s:23:\"tooltip-n-recentchanges\";s:36:\"A list of recent changes in the wiki\";s:21:\"tooltip-n-sitesupport\";N;s:14:\"tooltip-p-logo\";s:19:\"Visit the main page\";s:20:\"tooltip-p-navigation\";N;s:16:\"tooltip-pt-login\";s:58:\"You are encouraged to log in; however, it is not mandatory\";s:14:\"tooltip-search\";s:19:\"Search {{SITENAME}}\";s:23:\"tooltip-search-fulltext\";s:30:\"Search the pages for this text\";s:17:\"tooltip-search-go\";s:43:\"Go to a page with this exact name if exists\";s:19:\"tooltip-t-permalink\";s:43:\"Permanent link to this revision of the page\";s:15:\"tooltip-t-print\";s:30:\"Printable version of this page\";s:29:\"tooltip-t-recentchangeslinked\";s:45:\"Recent changes in pages linked from this page\";s:22:\"tooltip-t-specialpages\";s:27:\"A list of all special pages\";s:23:\"tooltip-t-whatlinkshere\";s:39:\"A list of all wiki pages that link here\";s:5:\"views\";s:5:\"Views\";s:13:\"whatlinkshere\";s:15:\"What links here\";}s:11:\"dateFormats\";a:12:{s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j F Y\";s:8:\"dmy both\";s:10:\"H:i, j F Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}s:14:\"namespaceNames\";a:17:{i:-2;s:5:\"Media\";i:-1;s:7:\"Special\";i:0;s:0:\"\";i:1;s:4:\"Talk\";i:2;s:4:\"User\";i:3;s:9:\"User_talk\";i:5;s:7:\"$1_talk\";i:6;s:4:\"File\";i:7;s:9:\"File_talk\";i:8;s:9:\"MediaWiki\";i:9;s:14:\"MediaWiki_talk\";i:10;s:8:\"Template\";i:11;s:13:\"Template_talk\";i:12;s:4:\"Help\";i:13;s:9:\"Help_talk\";i:14;s:8:\"Category\";i:15;s:13:\"Category_talk\";}}'),('es','fallback','s:2:\"en\";'),('es','namespaceNames','a:17:{i:-2;s:5:\"Medio\";i:-1;s:8:\"Especial\";i:1;s:10:\"Discusión\";i:2;s:7:\"Usuario\";i:3;s:18:\"Usuario_discusión\";i:5;s:13:\"$1_discusión\";i:6;s:7:\"Archivo\";i:7;s:18:\"Archivo_discusión\";i:8;s:9:\"MediaWiki\";i:9;s:20:\"MediaWiki_discusión\";i:10;s:9:\"Plantilla\";i:11;s:20:\"Plantilla_discusión\";i:12;s:5:\"Ayuda\";i:13;s:16:\"Ayuda_discusión\";i:14;s:10:\"Categoría\";i:15;s:21:\"Categoría_discusión\";i:0;s:0:\"\";}'),('es','bookstoreList','a:4:{s:6:\"AddALL\";s:56:\"http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN\";s:9:\"PriceSCAN\";s:53:\"http://www.pricescan.com/books/bookDetail.asp?isbn=$1\";s:14:\"Barnes & Noble\";s:67:\"http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1\";s:10:\"Amazon.com\";s:41:\"http://www.amazon.com/exec/obidos/ISBN=$1\";}'),('es','magicWords','a:150:{s:8:\"redirect\";a:4:{i:0;i:0;i:1;s:13:\"#REDIRECCIÓN\";i:2;s:12:\"#REDIRECCION\";i:3;s:9:\"#REDIRECT\";}s:5:\"notoc\";a:3:{i:0;i:0;i:1;s:9:\"__NOTDC__\";i:2;s:9:\"__NOTOC__\";}s:9:\"nogallery\";a:4:{i:0;i:0;i:1;s:14:\"__NOGALERÍA__\";i:2;s:13:\"__NOGALERIA__\";i:3;s:13:\"__NOGALLERY__\";}s:8:\"forcetoc\";a:4:{i:0;i:0;i:1;s:13:\"__FORZARTDC__\";i:2;s:13:\"__FORZARTOC__\";i:3;s:12:\"__FORCETOC__\";}s:3:\"toc\";a:3:{i:0;i:0;i:1;s:7:\"__TDC__\";i:2;s:7:\"__TOC__\";}s:13:\"noeditsection\";a:4:{i:0;i:0;i:1;s:20:\"__NOEDITARSECCIÓN__\";i:2;s:19:\"__NOEDITARSECCION__\";i:3;s:17:\"__NOEDITSECTION__\";}s:8:\"noheader\";a:4:{i:0;i:0;i:1;s:13:\"__NOTÍTULO__\";i:2;s:12:\"__NOTITULO__\";i:3;s:12:\"__NOHEADER__\";}s:12:\"currentmonth\";a:5:{i:0;i:1;i:1;s:9:\"MESACTUAL\";i:2;s:10:\"MESACTUAL2\";i:3;s:12:\"CURRENTMONTH\";i:4;s:13:\"CURRENTMONTH2\";}s:13:\"currentmonth1\";a:3:{i:0;i:1;i:1;s:10:\"MESACTUAL1\";i:2;s:13:\"CURRENTMONTH1\";}s:16:\"currentmonthname\";a:3:{i:0;i:1;i:1;s:15:\"NOMBREMESACTUAL\";i:2;s:16:\"CURRENTMONTHNAME\";}s:19:\"currentmonthnamegen\";a:3:{i:0;i:1;i:1;s:24:\"GENERADORNOMBREMESACTUAL\";i:2;s:19:\"CURRENTMONTHNAMEGEN\";}s:18:\"currentmonthabbrev\";a:4:{i:0;i:1;i:1;s:26:\"ABREVIACIONNOMBREMESACTUAL\";i:2;s:27:\"ABREVIACIÓNNOMBREMESACTUAL\";i:3;s:18:\"CURRENTMONTHABBREV\";}s:10:\"currentday\";a:6:{i:0;i:1;i:1;s:10:\"DÍAACTUAL\";i:2;s:9:\"DIAACTUAL\";i:3;s:11:\"DÍA_ACTUAL\";i:4;s:10:\"DIA_ACTUAL\";i:5;s:10:\"CURRENTDAY\";}s:11:\"currentday2\";a:6:{i:0;i:1;i:1;s:11:\"DÍAACTUAL2\";i:2;s:10:\"DIAACTUAL2\";i:3;s:12:\"DÍA_ACTUAL2\";i:4;s:11:\"DIA_ACTUAL2\";i:5;s:11:\"CURRENTDAY2\";}s:14:\"currentdayname\";a:4:{i:0;i:1;i:1;s:16:\"NOMBREDÍAACTUAL\";i:2;s:15:\"NOMBREDIAACTUAL\";i:3;s:14:\"CURRENTDAYNAME\";}s:11:\"currentyear\";a:4:{i:0;i:1;i:1;s:10:\"AÑOACTUAL\";i:2;s:11:\"AÑO_ACTUAL\";i:3;s:11:\"CURRENTYEAR\";}s:11:\"currenttime\";a:4:{i:0;i:1;i:1;s:10:\"HORAACTUAL\";i:2;s:11:\"HORA_ACTUAL\";i:3;s:11:\"CURRENTTIME\";}s:11:\"currenthour\";a:4:{i:0;i:1;i:1;s:19:\"HORA_MINUTOS_ACTUAL\";i:2;s:17:\"HORAMINUTOSACTUAL\";i:3;s:11:\"CURRENTHOUR\";}s:10:\"localmonth\";a:4:{i:0;i:1;i:1;s:8:\"MESLOCAL\";i:2;s:10:\"LOCALMONTH\";i:3;s:11:\"LOCALMONTH2\";}s:11:\"localmonth1\";a:3:{i:0;i:1;i:1;s:9:\"MESLOCAL1\";i:2;s:11:\"LOCALMONTH1\";}s:14:\"localmonthname\";a:3:{i:0;i:1;i:1;s:14:\"NOMBREMESLOCAL\";i:2;s:14:\"LOCALMONTHNAME\";}s:17:\"localmonthnamegen\";a:3:{i:0;i:1;i:1;s:23:\"GENERADORNOMBREMESLOCAL\";i:2;s:17:\"LOCALMONTHNAMEGEN\";}s:16:\"localmonthabbrev\";a:3:{i:0;i:1;i:1;s:19:\"ABREVIACIONMESLOCAL\";i:2;s:16:\"LOCALMONTHABBREV\";}s:8:\"localday\";a:4:{i:0;i:1;i:1;s:9:\"DÍALOCAL\";i:2;s:8:\"DIALOCAL\";i:3;s:8:\"LOCALDAY\";}s:9:\"localday2\";a:4:{i:0;i:1;i:1;s:9:\"DIALOCAL2\";i:2;s:10:\"DÍALOCAL2\";i:3;s:9:\"LOCALDAY2\";}s:12:\"localdayname\";a:4:{i:0;i:1;i:1;s:14:\"NOMBREDIALOCAL\";i:2;s:15:\"NOMBREDÍALOCAL\";i:3;s:12:\"LOCALDAYNAME\";}s:9:\"localyear\";a:3:{i:0;i:1;i:1;s:9:\"AÑOLOCAL\";i:2;s:9:\"LOCALYEAR\";}s:9:\"localtime\";a:3:{i:0;i:1;i:1;s:9:\"HORALOCAL\";i:2;s:9:\"LOCALTIME\";}s:9:\"localhour\";a:3:{i:0;i:1;i:1;s:16:\"HORAMINUTOSLOCAL\";i:2;s:9:\"LOCALHOUR\";}s:13:\"numberofpages\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEPÁGINAS\";i:2;s:15:\"NUMERODEPAGINAS\";i:3;s:13:\"NUMBEROFPAGES\";}s:16:\"numberofarticles\";a:4:{i:0;i:1;i:1;s:19:\"NÚMERODEARTÍCULOS\";i:2;s:17:\"NUMERODEARTICULOS\";i:3;s:16:\"NUMBEROFARTICLES\";}s:13:\"numberoffiles\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEARCHIVOS\";i:2;s:16:\"NUMERODEARCHIVOS\";i:3;s:13:\"NUMBEROFFILES\";}s:13:\"numberofusers\";a:4:{i:0;i:1;i:1;s:17:\"NÚMERODEUSUARIOS\";i:2;s:16:\"NUMERODEUSUARIOS\";i:3;s:13:\"NUMBEROFUSERS\";}s:19:\"numberofactiveusers\";a:4:{i:0;i:1;i:1;s:24:\"NÚMERODEUSUARIOSACTIVOS\";i:2;s:23:\"NUMERODEUSUARIOSACTIVOS\";i:3;s:19:\"NUMBEROFACTIVEUSERS\";}s:13:\"numberofedits\";a:4:{i:0;i:1;i:1;s:18:\"NÚMERODEEDICIONES\";i:2;s:17:\"NUMERODEEDICIONES\";i:3;s:13:\"NUMBEROFEDITS\";}s:13:\"numberofviews\";a:4:{i:0;i:1;i:1;s:15:\"NÚMERODEVISTAS\";i:2;s:14:\"NUMERODEVISTAS\";i:3;s:13:\"NUMBEROFVIEWS\";}s:8:\"pagename\";a:4:{i:0;i:1;i:1;s:14:\"NOMBREDEPAGINA\";i:2;s:15:\"NOMBREDEPÁGINA\";i:3;s:8:\"PAGENAME\";}s:9:\"pagenamee\";a:4:{i:0;i:1;i:1;s:15:\"NOMBREDEPAGINAC\";i:2;s:16:\"NOMBREDEPÁGINAC\";i:3;s:9:\"PAGENAMEE\";}s:9:\"namespace\";a:3:{i:0;i:1;i:1;s:15:\"ESPACIODENOMBRE\";i:2;s:9:\"NAMESPACE\";}s:10:\"namespacee\";a:3:{i:0;i:1;i:1;s:16:\"ESPACIODENOMBREC\";i:2;s:10:\"NAMESPACEE\";}s:9:\"talkspace\";a:4:{i:0;i:1;i:1;s:18:\"ESPACIODEDISCUSION\";i:2;s:19:\"ESPACIODEDISCUSIÓN\";i:3;s:9:\"TALKSPACE\";}s:10:\"talkspacee\";a:3:{i:0;i:1;i:1;s:19:\"ESPACIODEDISCUSIONC\";i:2;s:10:\"TALKSPACEE\";}s:12:\"subjectspace\";a:7:{i:0;i:1;i:1;s:15:\"ESPACIODEASUNTO\";i:2;s:13:\"ESPACIODETEMA\";i:3;s:18:\"ESPACIODEARTÍCULO\";i:4;s:17:\"ESPACIODEARTICULO\";i:5;s:12:\"SUBJECTSPACE\";i:6;s:12:\"ARTICLESPACE\";}s:13:\"subjectspacee\";a:7:{i:0;i:1;i:1;s:14:\"ESPACIODETEMAC\";i:2;s:16:\"ESPACIODEASUNTOC\";i:3;s:18:\"ESPACIODEARTICULOC\";i:4;s:19:\"ESPACIODEARTÍCULOC\";i:5;s:13:\"SUBJECTSPACEE\";i:6;s:13:\"ARTICLESPACEE\";}s:12:\"fullpagename\";a:6:{i:0;i:1;i:1;s:23:\"NOMBREDEPÁGINACOMPLETA\";i:2;s:22:\"NOMBREDEPAGINACOMPLETA\";i:3;s:21:\"NOMBREDEPÁGINAENTERA\";i:4;s:20:\"NOMBREDEPAGINAENTERA\";i:5;s:12:\"FULLPAGENAME\";}s:13:\"fullpagenamee\";a:4:{i:0;i:1;i:1;s:23:\"NOMBRECOMPLETODEPAGINAC\";i:2;s:24:\"NOMBRECOMPLETODEPÁGINAC\";i:3;s:13:\"FULLPAGENAMEE\";}s:11:\"subpagename\";a:4:{i:0;i:1;i:1;s:17:\"NOMBREDESUBPAGINA\";i:2;s:18:\"NOMBREDESUBPÁGINA\";i:3;s:11:\"SUBPAGENAME\";}s:12:\"subpagenamee\";a:4:{i:0;i:1;i:1;s:18:\"NOMBREDESUBPAGINAC\";i:2;s:19:\"NOMBREDESUBPÁGINAC\";i:3;s:12:\"SUBPAGENAMEE\";}s:12:\"basepagename\";a:4:{i:0;i:1;i:1;s:18:\"NOMBREDEPAGINABASE\";i:2;s:19:\"NOMBREDEPÁGINABASE\";i:3;s:12:\"BASEPAGENAME\";}s:13:\"basepagenamee\";a:4:{i:0;i:1;i:1;s:19:\"NOMBREDEPAGINABASEC\";i:2;s:20:\"NOMBREDEPÁGINABASEC\";i:3;s:13:\"BASEPAGENAMEE\";}s:12:\"talkpagename\";a:6:{i:0;i:1;i:1;s:27:\"NOMBREDEPÁGINADEDISCUSIÓN\";i:2;s:25:\"NOMBREDEPAGINADEDISCUSION\";i:3;s:23:\"NOMBREDEPAGINADISCUSION\";i:4;s:25:\"NOMBREDEPÁGINADISCUSIÓN\";i:5;s:12:\"TALKPAGENAME\";}s:13:\"talkpagenamee\";a:6:{i:0;i:1;i:1;s:28:\"NOMBREDEPÁGINADEDISCUSIÓNC\";i:2;s:26:\"NOMBREDEPAGINADEDISCUSIONC\";i:3;s:24:\"NOMBREDEPAGINADISCUSIONC\";i:4;s:26:\"NOMBREDEPÁGINADISCUSIÓNC\";i:5;s:13:\"TALKPAGENAMEE\";}s:15:\"subjectpagename\";a:9:{i:0;i:1;i:1;s:20:\"NOMBREDEPAGINADETEMA\";i:2;s:21:\"NOMBREDEPÁGINADETEMA\";i:3;s:23:\"NOMBREDEPÁGINADEASUNTO\";i:4;s:22:\"NOMBREDEPAGINADEASUNTO\";i:5;s:24:\"NOMBREDEPAGINADEARTICULO\";i:6;s:26:\"NOMBREDEPÁGINADEARTÍCULO\";i:7;s:15:\"SUBJECTPAGENAME\";i:8;s:15:\"ARTICLEPAGENAME\";}s:16:\"subjectpagenamee\";a:9:{i:0;i:1;i:1;s:21:\"NOMBREDEPAGINADETEMAC\";i:2;s:22:\"NOMBREDEPÁGINADETEMAC\";i:3;s:24:\"NOMBREDEPÁGINADEASUNTOC\";i:4;s:23:\"NOMBREDEPAGINADEASUNTOC\";i:5;s:25:\"NOMBREDEPAGINADEARTICULOC\";i:6;s:27:\"NOMBREDEPÁGINADEARTÍCULOC\";i:7;s:16:\"SUBJECTPAGENAMEE\";i:8;s:16:\"ARTICLEPAGENAMEE\";}s:3:\"msg\";a:3:{i:0;i:0;i:1;s:4:\"MSJ:\";i:2;s:4:\"MSG:\";}s:13:\"img_thumbnail\";a:6:{i:0;i:1;i:1;s:17:\"miniaturadeimagen\";i:2;s:9:\"miniatura\";i:3;s:4:\"mini\";i:4;s:9:\"thumbnail\";i:5;s:5:\"thumb\";}s:15:\"img_manualthumb\";a:5:{i:0;i:1;i:1;s:20:\"miniaturadeimagen=$1\";i:2;s:12:\"miniatura=$1\";i:3;s:12:\"thumbnail=$1\";i:4;s:8:\"thumb=$1\";}s:9:\"img_right\";a:5:{i:0;i:1;i:1;s:7:\"derecha\";i:2;s:4:\"dcha\";i:3;s:3:\"der\";i:4;s:5:\"right\";}s:8:\"img_left\";a:5:{i:0;i:1;i:1;s:9:\"izquierda\";i:2;s:4:\"izda\";i:3;s:3:\"izq\";i:4;s:4:\"left\";}s:8:\"img_none\";a:6:{i:0;i:1;i:1;s:7:\"ninguna\";i:2;s:4:\"nada\";i:3;s:2:\"no\";i:4;s:7:\"ninguno\";i:5;s:4:\"none\";}s:10:\"img_center\";a:7:{i:0;i:1;i:1;s:6:\"centro\";i:2;s:8:\"centrado\";i:3;s:8:\"centrada\";i:4;s:7:\"centrar\";i:5;s:6:\"center\";i:6;s:6:\"centre\";}s:10:\"img_framed\";a:7:{i:0;i:1;i:1;s:5:\"marco\";i:2;s:9:\"enmarcado\";i:3;s:9:\"enmarcada\";i:4;s:6:\"framed\";i:5;s:8:\"enframed\";i:6;s:5:\"frame\";}s:13:\"img_frameless\";a:5:{i:0;i:1;i:1;s:8:\"sinmarco\";i:2;s:12:\"sin_enmarcar\";i:3;s:11:\"sinenmarcar\";i:4;s:9:\"frameless\";}s:8:\"img_page\";a:7:{i:0;i:1;i:1;s:9:\"pagina=$1\";i:2;s:10:\"página=$1\";i:3;s:9:\"pagina $1\";i:4;s:10:\"página $1\";i:5;s:7:\"page=$1\";i:6;s:7:\"page $1\";}s:10:\"img_border\";a:3:{i:0;i:1;i:1;s:5:\"borde\";i:2;s:6:\"border\";}s:8:\"img_link\";a:5:{i:0;i:1;i:1;s:11:\"vínculo=$1\";i:2;s:10:\"vinculo=$1\";i:3;s:9:\"enlace=$1\";i:4;s:7:\"link=$1\";}s:8:\"sitename\";a:3:{i:0;i:1;i:1;s:13:\"NOMBREDESITIO\";i:2;s:8:\"SITENAME\";}s:2:\"ns\";a:3:{i:0;i:0;i:1;s:3:\"EN:\";i:2;s:3:\"NS:\";}s:8:\"localurl\";a:3:{i:0;i:0;i:1;s:8:\"URLLOCAL\";i:2;s:9:\"LOCALURL:\";}s:9:\"localurle\";a:3:{i:0;i:0;i:1;s:10:\"URLLOCALC:\";i:2;s:10:\"LOCALURLE:\";}s:6:\"server\";a:3:{i:0;i:0;i:1;s:8:\"SERVIDOR\";i:2;s:6:\"SERVER\";}s:10:\"servername\";a:3:{i:0;i:0;i:1;s:14:\"NOMBRESERVIDOR\";i:2;s:10:\"SERVERNAME\";}s:10:\"scriptpath\";a:4:{i:0;i:0;i:1;s:10:\"RUTASCRIPT\";i:2;s:12:\"RUTADESCRIPT\";i:3;s:10:\"SCRIPTPATH\";}s:9:\"stylepath\";a:4:{i:0;i:0;i:1;s:10:\"RUTAESTILO\";i:2;s:12:\"RUTADEESTILO\";i:3;s:9:\"STYLEPATH\";}s:7:\"grammar\";a:4:{i:0;i:0;i:1;s:10:\"GRAMATICA:\";i:2;s:11:\"GRAMÁTICA:\";i:3;s:8:\"GRAMMAR:\";}s:6:\"gender\";a:4:{i:0;i:0;i:1;s:8:\"GÉNERO:\";i:2;s:7:\"GENERO:\";i:3;s:7:\"GENDER:\";}s:14:\"notitleconvert\";a:6:{i:0;i:0;i:1;s:21:\"__NOCONVERTIRTITULO__\";i:2;s:22:\"__NOCONVERTIRTÍTULO__\";i:3;s:9:\"__NOCT___\";i:4;s:18:\"__NOTITLECONVERT__\";i:5;s:8:\"__NOTC__\";}s:16:\"nocontentconvert\";a:5:{i:0;i:0;i:1;s:24:\"__NOCONVERTIRCONTENIDO__\";i:2;s:9:\"__NOCC___\";i:3;s:20:\"__NOCONTENTCONVERT__\";i:4;s:8:\"__NOCC__\";}s:11:\"currentweek\";a:3:{i:0;i:1;i:1;s:12:\"SEMANAACTUAL\";i:2;s:11:\"CURRENTWEEK\";}s:10:\"currentdow\";a:5:{i:0;i:1;i:1;s:9:\"DDSACTUAL\";i:2;s:17:\"DIADESEMANAACTUAL\";i:3;s:18:\"DÍADESEMANAACTUAL\";i:4;s:10:\"CURRENTDOW\";}s:9:\"localweek\";a:3:{i:0;i:1;i:1;s:11:\"SEMANALOCAL\";i:2;s:9:\"LOCALWEEK\";}s:8:\"localdow\";a:5:{i:0;i:1;i:1;s:8:\"DDSLOCAL\";i:2;s:16:\"DIADESEMANALOCAL\";i:3;s:17:\"DÍADESEMANALOCAL\";i:4;s:8:\"LOCALDOW\";}s:10:\"revisionid\";a:6:{i:0;i:1;i:1;s:12:\"IDDEREVISION\";i:2;s:10:\"IDREVISION\";i:3;s:13:\"IDDEREVISIÓN\";i:4;s:11:\"IDREVISIÓN\";i:5;s:10:\"REVISIONID\";}s:11:\"revisionday\";a:6:{i:0;i:1;i:1;s:13:\"DIADEREVISION\";i:2;s:11:\"DIAREVISION\";i:3;s:15:\"DÍADEREVISIÓN\";i:4;s:13:\"DÍAREVISIÓN\";i:5;s:11:\"REVISIONDAY\";}s:12:\"revisionday2\";a:6:{i:0;i:1;i:1;s:14:\"DIADEREVISION2\";i:2;s:12:\"DIAREVISION2\";i:3;s:16:\"DÍADEREVISIÓN2\";i:4;s:14:\"DÍAREVISIÓN2\";i:5;s:12:\"REVISIONDAY2\";}s:13:\"revisionmonth\";a:6:{i:0;i:1;i:1;s:13:\"MESDEREVISION\";i:2;s:14:\"MESDEREVISIÓN\";i:3;s:11:\"MESREVISION\";i:4;s:12:\"MESREVISIÓN\";i:5;s:13:\"REVISIONMONTH\";}s:12:\"revisionyear\";a:6:{i:0;i:1;i:1;s:14:\"AÑODEREVISION\";i:2;s:15:\"AÑODEREVISIÓN\";i:3;s:12:\"AÑOREVISION\";i:4;s:13:\"AÑOREVISIÓN\";i:5;s:12:\"REVISIONYEAR\";}s:17:\"revisiontimestamp\";a:4:{i:0;i:1;i:1;s:21:\"MARCADEHORADEREVISION\";i:2;s:22:\"MARCADEHORADEREVISIÓN\";i:3;s:17:\"REVISIONTIMESTAMP\";}s:12:\"revisionuser\";a:4:{i:0;i:1;i:1;s:17:\"USUARIODEREVISION\";i:2;s:18:\"USUARIODEREVISIÓN\";i:3;s:12:\"REVISIONUSER\";}s:7:\"fullurl\";a:3:{i:0;i:0;i:1;s:12:\"URLCOMPLETA:\";i:2;s:8:\"FULLURL:\";}s:8:\"fullurle\";a:3:{i:0;i:0;i:1;s:13:\"URLCOMPLETAC:\";i:2;s:9:\"FULLURLE:\";}s:7:\"lcfirst\";a:4:{i:0;i:0;i:1;s:13:\"PRIMEROMINUS;\";i:2;s:14:\"PRIMEROMINÚS:\";i:3;s:8:\"LCFIRST:\";}s:7:\"ucfirst\";a:4:{i:0;i:0;i:1;s:13:\"PRIMEROMAYUS;\";i:2;s:14:\"PRIMEROMAYÚS:\";i:3;s:8:\"UCFIRST:\";}s:2:\"lc\";a:4:{i:0;i:0;i:1;s:6:\"MINUS:\";i:2;s:7:\"MINÚS:\";i:3;s:3:\"LC:\";}s:2:\"uc\";a:4:{i:0;i:0;i:1;s:6:\"MAYUS:\";i:2;s:7:\"MAYÚS:\";i:3;s:3:\"UC:\";}s:12:\"displaytitle\";a:4:{i:0;i:1;i:1;s:14:\"MOSTRARTÍTULO\";i:2;s:13:\"MOSTRARTITULO\";i:3;s:12:\"DISPLAYTITLE\";}s:14:\"newsectionlink\";a:4:{i:0;i:1;i:1;s:25:\"__VINCULARANUEVASECCION__\";i:2;s:25:\"VÍNCULARANUEVASECCIÓN__\";i:3;s:18:\"__NEWSECTIONLINK__\";}s:16:\"nonewsectionlink\";a:4:{i:0;i:1;i:1;s:27:\"__NOVINCULARANUEVASECCION__\";i:2;s:27:\"NOVÍNCULARANUEVASECCIÓN__\";i:3;s:20:\"__NONEWSECTIONLINK__\";}s:14:\"currentversion\";a:4:{i:0;i:1;i:1;s:13:\"VERSIONACTUAL\";i:2;s:14:\"VERSIÓNACTUAL\";i:3;s:14:\"CURRENTVERSION\";}s:9:\"urlencode\";a:3:{i:0;i:0;i:1;s:13:\"CODIFICARURL:\";i:2;s:10:\"URLENCODE:\";}s:16:\"currenttimestamp\";a:3:{i:0;i:1;i:1;s:17:\"MARCADEHORAACTUAL\";i:2;s:16:\"CURRENTTIMESTAMP\";}s:14:\"localtimestamp\";a:3:{i:0;i:1;i:1;s:16:\"MARCADEHORALOCAL\";i:2;s:14:\"LOCALTIMESTAMP\";}s:8:\"language\";a:3:{i:0;i:0;i:1;s:8:\"#IDIOMA:\";i:2;s:10:\"#LANGUAGE:\";}s:15:\"contentlanguage\";a:5:{i:0;i:1;i:1;s:18:\"IDIOMADELCONTENIDO\";i:2;s:13:\"IDIOMADELCONT\";i:3;s:15:\"CONTENTLANGUAGE\";i:4;s:11:\"CONTENTLANG\";}s:14:\"numberofadmins\";a:10:{i:0;i:1;i:1;s:23:\"NÚMEROADMINIISTRADORES\";i:2;s:13:\"NÚMEROADMINS\";i:3;s:12:\"NUMEROADMINS\";i:4;s:21:\"NUMEROADMINISTRADORES\";i:5;s:23:\"NUMERODEADMINISTRADORES\";i:6;s:14:\"NUMERODEADMINS\";i:7;s:24:\"NÚMERODEADMINISTRADORES\";i:8;s:15:\"NÚMERODEADMINS\";i:9;s:14:\"NUMBEROFADMINS\";}s:9:\"formatnum\";a:4:{i:0;i:0;i:1;s:14:\"FORMATONÚMERO\";i:2;s:13:\"FORMATONUMERO\";i:3;s:9:\"FORMATNUM\";}s:7:\"special\";a:3:{i:0;i:0;i:1;s:8:\"especial\";i:2;s:7:\"special\";}s:11:\"defaultsort\";a:8:{i:0;i:1;i:1;s:8:\"ORDENAR:\";i:2;s:27:\"CLAVEDEORDENPREDETERMINADO:\";i:3;s:31:\"ORDENDECATEGORIAPREDETERMINADO:\";i:4;s:32:\"ORDENDECATEGORÍAPREDETERMINADO:\";i:5;s:12:\"DEFAULTSORT:\";i:6;s:15:\"DEFAULTSORTKEY:\";i:7;s:20:\"DEFAULTCATEGORYSORT:\";}s:8:\"filepath\";a:5:{i:0;i:0;i:1;s:12:\"RUTAARCHIVO:\";i:2;s:11:\"RUTARCHIVO:\";i:3;s:14:\"RUTADEARCHIVO:\";i:4;s:9:\"FILEPATH:\";}s:3:\"tag\";a:4:{i:0;i:0;i:1;s:8:\"etiqueta\";i:2;s:8:\"ETIQUETA\";i:3;s:3:\"tag\";}s:9:\"hiddencat\";a:3:{i:0;i:1;i:1;s:20:\"__CATEGORÍAOCULTA__\";i:2;s:13:\"__HIDDENCAT__\";}s:15:\"pagesincategory\";a:8:{i:0;i:1;i:1;s:20:\"PÁGINASENCATEGORÍA\";i:2;s:13:\"PÁGINASENCAT\";i:3;s:9:\"PAGSENCAT\";i:4;s:18:\"PAGINASENCATEGORIA\";i:5;s:12:\"PAGINASENCAT\";i:6;s:15:\"PAGESINCATEGORY\";i:7;s:10:\"PAGESINCAT\";}s:8:\"pagesize\";a:6:{i:0;i:1;i:1;s:14:\"TAMAÑOPÁGINA\";i:2;s:16:\"TAMAÑODEPÁGINA\";i:3;s:13:\"TAMAÑOPAGINA\";i:4;s:15:\"TAMAÑODEPAGINA\";i:5;s:8:\"PAGESIZE\";}s:5:\"index\";a:3:{i:0;i:1;i:1;s:11:\"__INDEXAR__\";i:2;s:9:\"__INDEX__\";}s:7:\"noindex\";a:3:{i:0;i:1;i:1;s:13:\"__NOINDEXAR__\";i:2;s:11:\"__NOINDEX__\";}s:13:\"numberingroup\";a:7:{i:0;i:1;i:1;s:14:\"NÚMEROENGRUPO\";i:2;s:13:\"NUMEROENGRUPO\";i:3;s:10:\"NUMENGRUPO\";i:4;s:11:\"NÚMENGRUPO\";i:5;s:13:\"NUMBERINGROUP\";i:6;s:10:\"NUMINGROUP\";}s:14:\"staticredirect\";a:4:{i:0;i:1;i:1;s:23:\"__REDIRECCIONESTATICA__\";i:2;s:25:\"__REDIRECCIÓNESTÁTICA__\";i:3;s:18:\"__STATICREDIRECT__\";}s:15:\"protectionlevel\";a:3:{i:0;i:1;i:1;s:18:\"NIVELDEPROTECCIÓN\";i:2;s:15:\"PROTECTIONLEVEL\";}s:10:\"formatdate\";a:5:{i:0;i:0;i:1;s:14:\"formatodefecha\";i:2;s:14:\"formatearfecha\";i:3;s:10:\"formatdate\";i:4;s:10:\"dateformat\";}s:5:\"subst\";a:2:{i:0;i:0;i:1;s:6:\"SUBST:\";}s:9:\"safesubst\";a:2:{i:0;i:0;i:1;s:10:\"SAFESUBST:\";}s:5:\"msgnw\";a:2:{i:0;i:0;i:1;s:6:\"MSGNW:\";}s:9:\"img_width\";a:2:{i:0;i:1;i:1;s:4:\"$1px\";}s:11:\"img_upright\";a:4:{i:0;i:1;i:1;s:7:\"upright\";i:2;s:10:\"upright=$1\";i:3;s:10:\"upright $1\";}s:12:\"img_baseline\";a:2:{i:0;i:1;i:1;s:8:\"baseline\";}s:7:\"img_sub\";a:2:{i:0;i:1;i:1;s:3:\"sub\";}s:9:\"img_super\";a:3:{i:0;i:1;i:1;s:5:\"super\";i:2;s:3:\"sup\";}s:7:\"img_top\";a:2:{i:0;i:1;i:1;s:3:\"top\";}s:12:\"img_text_top\";a:2:{i:0;i:1;i:1;s:8:\"text-top\";}s:10:\"img_middle\";a:2:{i:0;i:1;i:1;s:6:\"middle\";}s:10:\"img_bottom\";a:2:{i:0;i:1;i:1;s:6:\"bottom\";}s:15:\"img_text_bottom\";a:2:{i:0;i:1;i:1;s:11:\"text-bottom\";}s:7:\"img_alt\";a:2:{i:0;i:1;i:1;s:6:\"alt=$1\";}s:3:\"int\";a:2:{i:0;i:0;i:1;s:4:\"INT:\";}s:3:\"nse\";a:2:{i:0;i:0;i:1;s:4:\"NSE:\";}s:11:\"articlepath\";a:2:{i:0;i:0;i:1;s:11:\"ARTICLEPATH\";}s:14:\"revisionmonth1\";a:2:{i:0;i:1;i:1;s:14:\"REVISIONMONTH1\";}s:6:\"plural\";a:2:{i:0;i:0;i:1;s:7:\"PLURAL:\";}s:12:\"canonicalurl\";a:2:{i:0;i:0;i:1;s:13:\"CANONICALURL:\";}s:13:\"canonicalurle\";a:2:{i:0;i:0;i:1;s:14:\"CANONICALURLE:\";}s:3:\"raw\";a:2:{i:0;i:0;i:1;s:4:\"RAW:\";}s:9:\"rawsuffix\";a:2:{i:0;i:1;i:1;s:1:\"R\";}s:12:\"anchorencode\";a:2:{i:0;i:0;i:1;s:12:\"ANCHORENCODE\";}s:13:\"directionmark\";a:3:{i:0;i:1;i:1;s:13:\"DIRECTIONMARK\";i:2;s:7:\"DIRMARK\";}s:16:\"pagesinnamespace\";a:3:{i:0;i:1;i:1;s:17:\"PAGESINNAMESPACE:\";i:2;s:10:\"PAGESINNS:\";}s:7:\"padleft\";a:2:{i:0;i:0;i:1;s:7:\"PADLEFT\";}s:8:\"padright\";a:2:{i:0;i:0;i:1;s:8:\"PADRIGHT\";}s:8:\"url_path\";a:2:{i:0;i:0;i:1;s:4:\"PATH\";}s:8:\"url_wiki\";a:2:{i:0;i:0;i:1;s:4:\"WIKI\";}s:9:\"url_query\";a:2:{i:0;i:0;i:1;s:5:\"QUERY\";}}'),('es','messages:svgedit-editbutton-edit','s:13:\"Editar dibujo\";'),('es','messages:svgedit-summary-label','s:14:\"Editar resumen\";'),('es','messages:svgedit-summary-default','s:29:\"/* Modificado con svg-edit */\";'),('es','messages:svgedit-editor-save-close','s:16:\"Guardar y cerrar\";'),('es','messages:svgedit-editor-close','s:8:\"Cancelar\";'),('es','messages:svgedit-desc','s:107:\"Edición de dibujos en formato SVG en el propio navegador con [http://code.google.com/p/svg-edit/ SVG-Edit]\";'),('es','messages:svgedit-edit-tab','s:13:\"Editar dibujo\";'),('es','messages:svgedit-edit-tab-tooltip','s:44:\"Puede editar esta dibujo SVG en el navegador\";'),('es','messages:svgedit-toolbar-insert','s:10:\"Dibujo SVG\";'),('es','messages:tog-underline','s:17:\"Subrayar enlaces:\";'),('es','messages:tog-highlightbroken','s:134:\"Destacar enlaces a artículos vacíos <a href=\"\" class=\"new\">como este</a> (alternativa: como éste<a href=\"\" class=\"internal\">?</a>).\";'),('es','messages:tog-justify','s:20:\"Justificar párrafos\";'),('es','messages:tog-hideminor','s:46:\"Ocultar ediciones menores en cambios recientes\";'),('es','messages:tog-hidepatrolled','s:54:\"Ocultar ediciones patrulladas en los cambios recientes\";'),('es','messages:tog-newpageshidepatrolled','s:59:\"Ocultar páginas patrulladas de la lista de páginas nuevas\";'),('es','messages:tog-extendwatchlist','s:84:\"Expandir la lista de seguimiento a todos los cambios, no sólo a los más recientes.\";'),('es','messages:tog-usenewrc','s:49:\"Cambios recientes mejorados (requiere JavaScript)\";'),('es','messages:tog-numberheadings','s:40:\"Numerar automáticamente los encabezados\";'),('es','messages:tog-showtoolbar','s:28:\"Mostrar la barra de edición\";'),('es','messages:tog-editondblclick','s:52:\"Editar páginas con doble clic (requiere JavaScript)\";'),('es','messages:tog-editsection','s:60:\"Habilitar la edición de secciones usando el enlace [editar]\";'),('es','messages:tog-editsectiononrightclick','s:121:\"Habilitar la edición de secciones presionando el botón de la derecha en los títulos de secciones (requiere JavaScript)\";'),('es','messages:tog-showtoc','s:60:\"Mostrar el índice (para páginas con más de 3 encabezados)\";'),('es','messages:tog-rememberpassword','s:124:\"Recordar mi nombre de usuario y contraseña entre sesiones en este navegador (por un máximo de $1 {{PLURAL:$1|día|días}})\";'),('es','messages:tog-watchcreations','s:32:\"Vigilar las páginas que yo cree\";'),('es','messages:tog-watchdefault','s:37:\"Vigilar las páginas que yo modifique\";'),('es','messages:tog-watchmoves','s:33:\"Vigilar las páginas que renombre\";'),('es','messages:tog-watchdeletion','s:30:\"Vigilar las páginas que borre\";'),('es','messages:tog-minordefault','s:64:\"Marcar todas las ediciones como menores de manera predeterminada\";'),('es','messages:tog-previewontop','s:54:\"Mostrar previsualización antes del cuadro de edición\";'),('es','messages:tog-previewonfirst','s:48:\"Mostrar previsualización en la primera edición\";'),('es','messages:tog-nocache','s:46:\"Desactivar la caché de páginas del navegador\";'),('es','messages:tog-enotifwatchlistpages','s:92:\"Enviarme un correo electrónico cuando una página en mi lista de seguimiento sea modificada\";'),('es','messages:tog-enotifusertalkpages','s:78:\"Enviarme un correo electrónico cuando mi página de discusión sea modificada\";'),('es','messages:tog-enotifminoredits','s:52:\"Notificarme también los cambios menores de páginas\";'),('es','messages:tog-enotifrevealaddr','s:76:\"Revelar mi dirección de correo electrónico en los correos de notificación\";'),('es','messages:tog-shownumberswatching','s:45:\"Mostrar el número de usuarios que la vigilan\";'),('es','messages:tog-oldsig','s:13:\"Firma actual:\";'),('es','messages:tog-fancysig','s:55:\"Tratar firma como wikitexto (sin un enlace automático)\";'),('es','messages:tog-externaleditor','s:178:\"Utilizar editor externo por defecto (sólo para expertos pues necesitas ajustes especiales en tu ordenador. [//www.mediawiki.org/wiki/Manual:External_editors Más información.])\";'),('es','messages:tog-externaldiff','s:176:\"Utilizar diff externo por defecto (sólo para expertos pues necesitas ajustes especiales en tu ordenador. [//www.mediawiki.org/wiki/Manual:External_editors Más información.])\";'),('es','messages:tog-showjumplinks','s:47:\"Habilitar enlaces de accesibilidad «saltar a»\";'),('es','messages:tog-uselivepreview','s:45:\"Usar live preview (JavaScript) (Experimental)\";'),('es','messages:tog-forceeditsummary','s:42:\"Alertar al grabar sin resumen de edición.\";'),('es','messages:tog-watchlisthideown','s:48:\"Ocultar mis ediciones en la lista de seguimiento\";'),('es','messages:tog-watchlisthidebots','s:52:\"Ocultar ediciones de bots en la lista de seguimiento\";'),('es','messages:tog-watchlisthideminor','s:52:\"Ocultar ediciones menores en la lista de seguimiento\";'),('es','messages:tog-watchlisthideliu','s:68:\"Ocultar ediciones de usuarios registrados en la lista de seguimiento\";'),('es','messages:tog-watchlisthideanons','s:66:\"Ocultar ediciones de usuarios anónimos en la lista de seguimiento\";'),('es','messages:tog-watchlisthidepatrolled','s:60:\"Ocultar las ediciones patrulladas en la lista de seguimiento\";'),('es','messages:tog-nolangconversion','s:37:\"Deshabilitar conversión de lenguajes\";'),('es','messages:tog-ccmeonemails','s:57:\"Recibir copias de los correos que envío a otros usuarios\";'),('es','messages:tog-diffonly','s:58:\"No mostrar el contenido de la página bajo las diferencias\";'),('es','messages:tog-showhiddencats','s:30:\"Mostrar categorías escondidas\";'),('es','messages:tog-noconvertlink','s:46:\"Desactivar la conversión de título de enlace\";'),('es','messages:tog-norollbackdiff','s:39:\"Omitir el \'\'diff\'\' después de revertir\";'),('es','messages:underline-always','s:7:\"Siempre\";'),('es','messages:underline-never','s:5:\"Nunca\";'),('es','messages:underline-default','s:34:\"Valor predeterminado del navegador\";'),('es','messages:editfont-style','s:44:\"Estilo de tipografía del área de edición:\";'),('es','messages:editfont-default','s:28:\"Predeterminado del navegador\";'),('es','messages:editfont-monospace','s:25:\"Tipografía monoespaciada\";'),('es','messages:editfont-sansserif','s:22:\"Tipografía sans-serif\";'),('es','messages:editfont-serif','s:17:\"Tipografía serif\";'),('es','messages:sunday','s:7:\"domingo\";'),('es','messages:monday','s:5:\"lunes\";'),('es','messages:tuesday','s:6:\"martes\";'),('es','messages:wednesday','s:10:\"miércoles\";'),('es','messages:thursday','s:6:\"jueves\";'),('es','messages:friday','s:7:\"viernes\";'),('es','messages:saturday','s:7:\"sábado\";'),('es','messages:sun','s:3:\"dom\";'),('es','messages:mon','s:3:\"lun\";'),('es','messages:tue','s:3:\"mar\";'),('es','messages:wed','s:3:\"mie\";'),('es','messages:thu','s:3:\"jue\";'),('es','messages:fri','s:3:\"vie\";'),('es','messages:sat','s:3:\"sab\";'),('es','messages:january','s:5:\"enero\";'),('es','messages:february','s:7:\"febrero\";'),('es','messages:march','s:5:\"marzo\";'),('es','messages:april','s:5:\"abril\";'),('es','messages:may_long','s:4:\"mayo\";'),('es','messages:june','s:5:\"junio\";'),('es','messages:july','s:5:\"julio\";'),('es','messages:august','s:6:\"agosto\";'),('es','messages:september','s:10:\"septiembre\";'),('es','messages:october','s:7:\"octubre\";'),('es','messages:november','s:9:\"noviembre\";'),('es','messages:december','s:9:\"diciembre\";'),('es','messages:january-gen','s:5:\"enero\";'),('es','messages:february-gen','s:7:\"febrero\";'),('es','messages:march-gen','s:5:\"marzo\";'),('es','messages:april-gen','s:5:\"abril\";'),('es','messages:may-gen','s:4:\"mayo\";'),('es','messages:june-gen','s:5:\"junio\";'),('es','messages:july-gen','s:5:\"julio\";'),('es','messages:august-gen','s:6:\"agosto\";'),('es','messages:september-gen','s:10:\"septiembre\";'),('es','messages:october-gen','s:7:\"octubre\";'),('es','messages:november-gen','s:9:\"noviembre\";'),('es','messages:december-gen','s:9:\"diciembre\";'),('es','messages:jan','s:3:\"ene\";'),('es','messages:feb','s:3:\"feb\";'),('es','messages:mar','s:3:\"mar\";'),('es','messages:apr','s:3:\"abr\";'),('es','messages:may','s:3:\"may\";'),('es','messages:jun','s:3:\"jun\";'),('es','messages:jul','s:3:\"jul\";'),('es','messages:aug','s:3:\"ago\";'),('es','messages:sep','s:3:\"sep\";'),('es','messages:oct','s:3:\"oct\";'),('es','messages:nov','s:3:\"nov\";'),('es','messages:dec','s:3:\"dic\";'),('es','messages:pagecategories','s:36:\"{{PLURAL:$1|Categoría|Categorías}}\";'),('es','messages:category_header','s:34:\"Artículos en la categoría «$1»\";'),('es','messages:subcategories','s:14:\"Subcategorías\";'),('es','messages:category-media-header','s:43:\"Archivos multimedia en la categoría «$1»\";'),('es','messages:category-empty','s:81:\"\'\'La categoría no contiene actualmente ningún artículo o archivo multimedia.\'\'\";'),('es','messages:hidden-categories','s:57:\"{{PLURAL:$1|Categoría escondida|Categorías escondidas}}\";'),('es','messages:hidden-category-category','s:19:\"Categorías ocultas\";'),('es','messages:category-subcat-count','s:190:\"{{PLURAL:$2|Esta categoría comprende solamente la siguiente categoría.|Esta categoría incluye {{PLURAL:$1|la siguiente categorías|las siguientes $1 subcategorías}}, de un total de $2.}}\";'),('es','messages:category-subcat-count-limited','s:99:\"Esta categoría contiene {{PLURAL:$1|la siguiente subcategoría|las siguientes $1 subcategorías}}.\";'),('es','messages:category-article-count','s:198:\"{{PLURAL:$2|Esta categoría incluye solamente la siguiente página.|{{PLURAL:$1|La siguiente página página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría, de un total de $2.}}\";'),('es','messages:category-article-count-limited','s:101:\"{{PLURAL:$1|La siguiente página pertenece|Las siguientes $1 páginas pertenecen}} a esta categoría.\";'),('es','messages:category-file-count','s:191:\"{{PLURAL:$2|Esta categoría contiene solamente el siguiente archivo.|{{PLURAL:$1|El siguiente archivo pertenece|Los siguientes $1 archivos pertenecen}} a esta categoría, de un total de $2.}}\";'),('es','messages:category-file-count-limited','s:101:\"{{PLURAL:$1|El siguiente fichero pertenece|Los siguientes $1 ficheros pertenecen}} a esta categoría.\";'),('es','messages:listingcontinuesabbrev','s:5:\"cont.\";'),('es','messages:index-category','s:18:\"Páginas indexadas\";'),('es','messages:noindex-category','s:21:\"Páginas no indizadas\";'),('es','messages:broken-file-category','s:37:\"Páginas con enlaces rotos a archivos\";'),('es','messages:about','s:9:\"Acerca de\";'),('es','messages:article','s:9:\"Artículo\";'),('es','messages:newwindow','s:30:\"(Se abre en una ventana nueva)\";'),('es','messages:cancel','s:8:\"Cancelar\";'),('es','messages:moredotdotdot','s:7:\"Más...\";'),('es','messages:mypage','s:10:\"Mi página\";'),('es','messages:mytalk','s:10:\"Discusión\";'),('es','messages:anontalk','s:23:\"Discusión para esta IP\";'),('es','messages:navigation','s:11:\"Navegación\";'),('es','messages:and','s:6:\"&#32;y\";'),('es','messages:qbfind','s:6:\"Buscar\";'),('es','messages:qbbrowse','s:7:\"Navegar\";'),('es','messages:qbedit','s:6:\"Editar\";'),('es','messages:qbpageoptions','s:19:\"Opciones de página\";'),('es','messages:qbpageinfo','s:23:\"Información de página\";'),('es','messages:qbmyoptions','s:12:\"Mis páginas\";'),('es','messages:qbspecialpages','s:19:\"Páginas especiales\";'),('es','messages:faq','s:25:\"Preguntas más frecuentes\";'),('es','messages:faqpage','s:11:\"Project:FAQ\";'),('es','messages:vector-action-addsection','s:12:\"Añadir tema\";'),('es','messages:vector-action-delete','s:6:\"Borrar\";'),('es','messages:vector-action-move','s:5:\"Mover\";'),('es','messages:vector-action-protect','s:8:\"Proteger\";'),('es','messages:vector-action-undelete','s:9:\"Restaurar\";'),('es','messages:vector-action-unprotect','s:19:\"Cambiar protección\";'),('es','messages:vector-simplesearch-preference','s:66:\"Activar sugerencias de búsqueda mejoradas (piel Vector solamente)\";'),('es','messages:vector-view-create','s:5:\"Crear\";'),('es','messages:vector-view-edit','s:6:\"Editar\";'),('es','messages:vector-view-history','s:13:\"Ver historial\";'),('es','messages:vector-view-view','s:4:\"Leer\";'),('es','messages:vector-view-viewsource','s:10:\"Ver fuente\";'),('es','messages:actions','s:8:\"Acciones\";'),('es','messages:namespaces','s:19:\"Espacios de nombres\";'),('es','messages:variants','s:9:\"Variantes\";'),('es','messages:errorpagetitle','s:5:\"Error\";'),('es','messages:returnto','s:12:\"Volver a $1.\";'),('es','messages:tagline','s:15:\"De {{SITENAME}}\";'),('es','messages:help','s:5:\"Ayuda\";'),('es','messages:search','s:6:\"Buscar\";'),('es','messages:searchbutton','s:6:\"Buscar\";'),('es','messages:go','s:2:\"Ir\";'),('es','messages:searcharticle','s:2:\"Ir\";'),('es','messages:history','s:9:\"Historial\";'),('es','messages:history_short','s:9:\"Historial\";'),('es','messages:updatedmarker','s:35:\"actualizado desde mi última visita\";'),('es','messages:printableversion','s:22:\"Versión para imprimir\";'),('es','messages:permalink','s:17:\"Enlace permanente\";'),('es','messages:print','s:8:\"Imprimir\";'),('es','messages:view','s:3:\"Ver\";'),('es','messages:edit','s:6:\"Editar\";'),('es','messages:create','s:5:\"Crear\";'),('es','messages:editthispage','s:19:\"Editar esta página\";'),('es','messages:create-this-page','s:18:\"Crear esta página\";'),('es','messages:delete','s:6:\"Borrar\";'),('es','messages:deletethispage','s:19:\"Borrar esta página\";'),('es','messages:undelete_short','s:49:\"Restaurar {{PLURAL:$1|una edición|$1 ediciones}}\";'),('es','messages:viewdeleted_short','s:60:\"Ver {{PLURAL:$1|una edición borrada|$1 ediciones borradas}}\";'),('es','messages:protect','s:8:\"Proteger\";'),('es','messages:protect_change','s:7:\"cambiar\";'),('es','messages:protectthispage','s:21:\"Proteger esta página\";'),('es','messages:unprotect','s:19:\"Cambiar protección\";'),('es','messages:unprotectthispage','s:38:\"Cambiar la protección de esta página\";'),('es','messages:newpage','s:13:\"Página nueva\";'),('es','messages:talkpage','s:21:\"Discutir esta página\";'),('es','messages:talkpagelinktext','s:10:\"Discusión\";'),('es','messages:specialpage','s:16:\"Página especial\";'),('es','messages:personaltools','s:23:\"Herramientas personales\";'),('es','messages:postcomment','s:14:\"Nueva sección\";'),('es','messages:articlepage','s:13:\"Ver artículo\";'),('es','messages:talk','s:10:\"Discusión\";'),('es','messages:views','s:6:\"Vistas\";'),('es','messages:toolbox','s:12:\"Herramientas\";'),('es','messages:userpage','s:22:\"Ver página de usuario\";'),('es','messages:projectpage','s:23:\"Ver página de proyecto\";'),('es','messages:imagepage','s:23:\"Ver página del archivo\";'),('es','messages:mediawikipage','s:22:\"Ver página de mensaje\";'),('es','messages:templatepage','s:24:\"Ver página de plantilla\";'),('es','messages:viewhelppage','s:20:\"Ver página de ayuda\";'),('es','messages:categorypage','s:25:\"Ver página de categoría\";'),('es','messages:viewtalkpage','s:14:\"Ver discusión\";'),('es','messages:otherlanguages','s:13:\"Otros idiomas\";'),('es','messages:redirectedfrom','s:21:\"(Redirigido desde $1)\";'),('es','messages:redirectpagesub','s:18:\"Página redirigida\";'),('es','messages:lastmodifiedat','s:60:\"Esta página fue modificada por última vez el $1, a las $2.\";'),('es','messages:viewcount','s:61:\"Esta página ha sido visitada {{PLURAL:$1|una vez|$1 veces}}.\";'),('es','messages:protectedpage','s:17:\"Página protegida\";'),('es','messages:jumpto','s:9:\"Saltar a:\";'),('es','messages:jumptonavigation','s:11:\"navegación\";'),('es','messages:jumptosearch','s:6:\"buscar\";'),('es','messages:view-pool-error','s:206:\"Lo sentimos, los servidores están sobrecargados en este momento.\nHay demasiados usuarios que están tratando de ver esta página.\nEspera un momento antes de tratar de acceder nuevamente a esta página.\n\n$1\";'),('es','messages:pool-timeout','s:37:\"Tiempo limite agotado para el bloqueo\";'),('es','messages:pool-queuefull','s:30:\"La cola de trabajo está llena\";'),('es','messages:pool-errorunknown','s:17:\"Error desconocido\";'),('es','messages:aboutsite','s:22:\"Acerca de {{SITENAME}}\";'),('es','messages:aboutpage','s:17:\"Project:Acerca de\";'),('es','messages:copyright','s:58:\"El contenido está disponible bajo los términos de la $1.\";'),('es','messages:copyrightpage','s:32:\"{{ns:project}}:Derechos de autor\";'),('es','messages:currentevents','s:10:\"Actualidad\";'),('es','messages:currentevents-url','s:18:\"Project:Actualidad\";'),('es','messages:disclaimers','s:11:\"Aviso legal\";'),('es','messages:disclaimerpage','s:46:\"Project:Limitación general de responsabilidad\";'),('es','messages:edithelp','s:17:\"Ayuda de edición\";'),('es','messages:edithelppage','s:31:\"Help:Cómo se edita una página\";'),('es','messages:helppage','s:15:\"Help:Contenidos\";'),('es','messages:mainpage','s:17:\"Página principal\";'),('es','messages:mainpage-description','s:17:\"Página principal\";'),('es','messages:policy-url','s:18:\"Project:Políticas\";'),('es','messages:portal','s:22:\"Portal de la comunidad\";'),('es','messages:portal-url','s:30:\"Project:Portal de la comunidad\";'),('es','messages:privacy','s:33:\"Política de protección de datos\";'),('es','messages:privacypage','s:41:\"Project:Política de protección de datos\";'),('es','messages:badaccess','s:17:\"Error de permisos\";'),('es','messages:badaccess-group0','s:67:\"No tienes autorización para ejecutar la acción que ha solicitado.\";'),('es','messages:badaccess-groups','s:117:\"La acción que has solicitado está restringida a los usuarios {{PLURAL:$2|del grupo|de uno de estos $2 grupos}}: $1.\";'),('es','messages:versionrequired','s:67:\"La versión $1 de MediaWiki es necesaria para utilizar esta página\";'),('es','messages:versionrequiredtext','s:144:\"Se necesita la versión $1 de MediaWiki para utilizar esta página. Para más información, consultar [[Special:Version|la página de versión]]\";'),('es','messages:ok','s:7:\"Aceptar\";'),('es','messages:retrievedfrom','s:18:\"Obtenido de «$1»\";'),('es','messages:youhavenewmessages','s:15:\"Tienes $1 ($2).\";'),('es','messages:newmessageslink','s:15:\"mensajes nuevos\";'),('es','messages:newmessagesdifflink','s:21:\"última modificación\";'),('es','messages:youhavenewmessagesmulti','s:28:\"Tienes nuevos mensajes en $1\";'),('es','messages:editsection','s:6:\"editar\";'),('es','messages:editold','s:6:\"editar\";'),('es','messages:viewsourceold','s:18:\"ver código fuente\";'),('es','messages:editlink','s:9:\"modificar\";'),('es','messages:viewsourcelink','s:10:\"ver fuente\";'),('es','messages:editsectionhint','s:19:\"Editar sección: $1\";'),('es','messages:toc','s:9:\"Contenido\";'),('es','messages:showtoc','s:7:\"mostrar\";'),('es','messages:hidetoc','s:7:\"ocultar\";'),('es','messages:collapsible-collapse','s:7:\"Ocultar\";'),('es','messages:collapsible-expand','s:7:\"Mostrar\";'),('es','messages:thisisdeleted','s:21:\"¿Ver o restaurar $1?\";'),('es','messages:viewdeleted','s:16:\"¿Deseas ver $1?\";'),('es','messages:restorelink','s:56:\"{{PLURAL:$1|una edición borrada|$1 ediciones borradas}}\";'),('es','messages:feedlinks','s:13:\"Sindicación:\";'),('es','messages:feed-invalid','s:59:\"Tipo de subscripción a sindicación de noticias inválida.\";'),('es','messages:feed-unavailable','s:37:\"Las fuentes web no están disponibles\";'),('es','messages:site-rss-feed','s:13:\"$1 Fuente RSS\";'),('es','messages:site-atom-feed','s:15:\"Feed Atom de $1\";'),('es','messages:page-rss-feed','s:16:\"Canal RSS «$1»\";'),('es','messages:page-atom-feed','s:17:\"Canal Atom «$1»\";'),('es','messages:red-link-title','s:25:\"$1 (la página no existe)\";'),('es','messages:sort-descending','s:17:\"Orden descendente\";'),('es','messages:sort-ascending','s:16:\"Orden ascendente\";'),('es','messages:nstab-main','s:7:\"Página\";'),('es','messages:nstab-user','s:7:\"Usuario\";'),('es','messages:nstab-media','s:5:\"Media\";'),('es','messages:nstab-special','s:16:\"Página especial\";'),('es','messages:nstab-project','s:20:\"Página del proyecto\";'),('es','messages:nstab-image','s:7:\"Archivo\";'),('es','messages:nstab-mediawiki','s:7:\"Mensaje\";'),('es','messages:nstab-template','s:9:\"Plantilla\";'),('es','messages:nstab-help','s:5:\"Ayuda\";'),('es','messages:nstab-category','s:10:\"Categoría\";'),('es','messages:nosuchaction','s:21:\"No existe tal acción\";'),('es','messages:nosuchactiontext','s:217:\"La acción especificada en la dirección es inválida.\nEs posible que hayas escrito mal la URL o que hayas seguido un enlace incorrecto. Esto también podría indicar un error en el software utilizado en {{SITENAME}}.\";'),('es','messages:nosuchspecialpage','s:30:\"No existe esa página especial\";'),('es','messages:nospecialpagetext','s:163:\"<strong>Ha solicitado una página especial inexistente.</strong>\n\nPuedes ver una lista de las páginas especiales en [[Special:SpecialPages|{{int:specialpages}}]].\";'),('es','messages:error','s:5:\"Error\";'),('es','messages:databaseerror','s:25:\"Error de la base de datos\";'),('es','messages:dberrortext','s:305:\"Ha ocurrido un error de sintaxis en una consulta a la base de datos.\nEsto puede indicar un error en el software.\nLa última consulta a la base de datos que se intentó fue:\n<blockquote><tt>$1</tt></blockquote>\ndentro de la función «<tt>$2</tt>».\nLa base de datos devolvió el error «<tt>$3: $4</tt>».\";'),('es','messages:dberrortextcl','s:202:\"Ha ocurrido un error de sintaxis en una consulta a la base de datos.\nLa última consulta a la base de datos que se intentó fue:\n«$1»\ndesde la función «$2».\nBase de datos retornó error «$3: $4».\";'),('es','messages:laggedslavemode','s:81:\"\'\'\'Aviso:\'\'\' puede que falten las actualizaciones más recientes en esta página.\";'),('es','messages:readonly','s:23:\"Base de datos bloqueada\";'),('es','messages:enterlockreason','s:97:\"Explique el motivo del bloqueo, incluyendo una estimación de cuándo se producirá el desbloqueo\";'),('es','messages:readonlytext','s:234:\"La base de datos no permite nuevas entradas u otras modificaciones de forma temporal, probablemente por mantenimiento rutinario, tras lo cual volverá a la normalidad.\n\nLa explicación dada por el administrador que la bloqueó fue: $1\";'),('es','messages:missing-article','s:375:\"La base de datos no encuentra el texto de una página que debería hallarse, llamada «$1» $2.\n\nLa causa de esto suele deberse a un \'\'diff\'\' anacrónico o un enlace al historial de una página que ha sido borrada.\n\nSi no fuera el caso, puedes haber encontrado un fallo en el software.\n\nPor favor, avisa a un [[Special:ListUsers/sysop|administrador]], tomando nota de la URL.\";'),('es','messages:missingarticle-rev','s:23:\"(n.º de revisión: $1)\";'),('es','messages:missingarticle-diff','s:14:\"(Dif.: $1, $2)\";'),('es','messages:readonly_lag','s:86:\"La base de datos se ha bloqueado temporalmente mientras los servidores se sincronizan.\";'),('es','messages:internalerror','s:13:\"Error interno\";'),('es','messages:internalerror_info','s:17:\"Error interno: $1\";'),('es','messages:fileappenderrorread','s:48:\"No se ha podido leer «$1» durante la anexión.\";'),('es','messages:fileappenderror','s:40:\"No se ha podido añadir «$1» a «$2».\";'),('es','messages:filecopyerror','s:45:\"No se pudo copiar el archivo «$1» a «$2».\";'),('es','messages:filerenameerror','s:48:\"No se pudo renombrar el archivo «$1» a «$2».\";'),('es','messages:filedeleteerror','s:36:\"No se pudo borrar el archivo «$1».\";'),('es','messages:directorycreateerror','s:38:\"No se pudo crear el directorio «$1».\";'),('es','messages:filenotfound','s:39:\"No se pudo encontrar el archivo «$1».\";'),('es','messages:fileexistserror','s:60:\"No se pudo escribir en el archivo «$1»: el archivo existe.\";'),('es','messages:unexpected','s:32:\"Valor inesperado: «$1»=«$2».\";'),('es','messages:formerror','s:38:\"Error: no se pudo enviar el formulario\";'),('es','messages:badarticleerror','s:55:\"Esta acción no se puede llevar a cabo en esta página.\";'),('es','messages:cannotdelete','s:95:\"La página o archivo «$1» no se pudo borrar.\nPuede que ya haya sido borrado por alguien más.\";'),('es','messages:badtitle','s:18:\"Título incorrecto\";'),('es','messages:badtitletext','s:195:\"El título de la página solicitada está vacío, no es válido, o es un enlace interidioma o interwiki incorrecto.\nPuede que contenga uno o más caracteres que no se pueden usar en los títulos.\";'),('es','messages:perfcached','s:79:\"Los siguientes datos están en caché y por tanto pueden estar desactualizados:\";'),('es','messages:perfcachedts','s:68:\"Estos datos están almacenados. Su última actualización fue el $1.\";'),('es','messages:querypage-no-updates','s:118:\"Actualmente las actualizaciones de esta página están desactivadas. Estos datos no serán actualizados a corto plazo.\";'),('es','messages:wrong_wfQuery_params','s:76:\"Parámetros incorrectos para wfQuery()<br />\nFunción: $1<br />\nConsulta: $2\";'),('es','messages:viewsource','s:10:\"Ver fuente\";'),('es','messages:viewsourcefor','s:7:\"para $1\";'),('es','messages:actionthrottled','s:17:\"Acción bloqueada\";'),('es','messages:actionthrottledtext','s:219:\"Como medida contra el \'\'spam\'\', la acción que estás realizando está limitada a un número determinado de veces en un periodo corto de tiempo, y has excedido ese límite. Por favor inténtalo de nuevo en unos minutos.\";'),('es','messages:protectedpagetext','s:55:\"Esta página ha sido protegida para evitar su edición.\";'),('es','messages:viewsourcetext','s:54:\"Puedes ver y copiar el código fuente de esta página:\";'),('es','messages:protectedinterface','s:95:\"Esta página provee texto del interfaz del software, y está protegida para evitar vandalismos.\";'),('es','messages:editinginterface','s:353:\"\'\'\'Aviso:\'\'\' Estás editando una página usada para proporcionar texto de interfaz para el software. Los cambios en esta página afectarán a la apariencia de la interfaz para los demás usuarios. Para traducciones, por favor considera usar [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], el proyecto de regionalización de MediaWiki.\";'),('es','messages:sqlhidden','s:21:\"(Consulta SQL oculta)\";'),('es','messages:cascadeprotected','s:189:\"Esta página ha sido protegida para su edición, porque está incluida en {{PLURAL:$1|la siguiente página|las siguientes páginas}}, que están protegidas con la opción de «cascada»:\n$2\";'),('es','messages:namespaceprotected','s:75:\"No tienes permiso para editar las páginas del espacio de nombres \'\'\'$1\'\'\'.\";'),('es','messages:customcssprotected','s:107:\"No tienes permiso para editar esta página CSS, porque contiene configuraciones personales de otro usuario.\";'),('es','messages:customjsprotected','s:114:\"No tienes permiso para editar esta página JavaScript, porque contiene configuraciones personales de otro usuario.\";'),('es','messages:ns-specialprotected','s:43:\"Las páginas especiales no se pueden editar\";'),('es','messages:titleprotected','s:97:\"Esta página ha sido protegida contra creación por [[User:$1|$1]].\nEl motivo dado fue: \"\'\'$2\'\'\".\";'),('es','messages:virus-badscanner','s:54:\"Error de configuración: Antivirus desconocido: \'\'$1\'\'\";'),('es','messages:virus-scanfailed','s:28:\"Escaneo fallido (código $1)\";'),('es','messages:virus-unknownscanner','s:22:\"antivirus desconocido:\";'),('es','messages:logouttext','s:323:\"\'\'\'Ha terminado su sesión.\'\'\'\n\nPuedes continuar usando {{SITENAME}} de forma anónima, o puedes [[Special:UserLogin|iniciar sesión otra vez]] con el mismo u otro usuario.\nTen en cuenta que las páginas que tengas abiertas en otras ventanas o pestañas pueden verse como si siguieras identificado hasta que las refresques.\";'),('es','messages:welcomecreation','s:119:\"== ¡Bienvenido(a), $1! ==\n\nTu cuenta ha sido creada.\nNo olvides personalizar [[Special:Preferences|tus preferencias]].\";'),('es','messages:yourname','s:18:\"Nombre de usuario:\";'),('es','messages:yourpassword','s:12:\"Contraseña:\";'),('es','messages:yourpasswordagain','s:24:\"Confirma la contraseña:\";'),('es','messages:remembermypassword','s:74:\"Mantenerme conectado en este navegador (hasta $1 {{PLURAL:$1|día|días}})\";'),('es','messages:securelogin-stick-https','s:56:\"Permanecer conectado a HTTPS después de iniciar sesión\";'),('es','messages:yourdomainname','s:7:\"Dominio\";'),('es','messages:externaldberror','s:125:\"Hubo un error de autenticación externa de la base de datos o bien no tienes autorización para actualizar tu cuenta externa.\";'),('es','messages:login','s:15:\"Iniciar sesión\";'),('es','messages:nav-login-createaccount','s:30:\"Iniciar sesión / crear cuenta\";'),('es','messages:loginprompt','s:88:\"Es necesario habilitar las \'\'cookies\'\' en el navegador para registrarse en {{SITENAME}}.\";'),('es','messages:userlogin','s:30:\"Iniciar sesión / crear cuenta\";'),('es','messages:userloginnocreate','s:15:\"Iniciar sesión\";'),('es','messages:logout','s:14:\"Cerrar sesión\";'),('es','messages:userlogout','s:14:\"Cerrar sesión\";'),('es','messages:notloggedin','s:23:\"No has iniciado sesión\";'),('es','messages:nologin','s:27:\"¿No tienes una cuenta? $1.\";'),('es','messages:nologinlink','s:16:\"Crear una cuenta\";'),('es','messages:createaccount','s:12:\"Crear cuenta\";'),('es','messages:gotaccount','s:27:\"¿Ya tienes una cuenta? $1.\";'),('es','messages:gotaccountlink','s:6:\"Entrar\";'),('es','messages:userlogin-resetlink','s:32:\"¿Olvidaste tus datos de acceso?\";'),('es','messages:createaccountmail','s:23:\"por correo electrónico\";'),('es','messages:createaccountreason','s:7:\"Motivo:\";'),('es','messages:badretype','s:30:\"Las contraseñas no coinciden.\";'),('es','messages:userexists','s:84:\"El nombre de usuario indicado ya está en uso.\nPor favor escoge un nombre diferente.\";'),('es','messages:loginerror','s:26:\"Error de inicio de sesión\";'),('es','messages:createaccounterror','s:30:\"No se pudo crear la cuenta: $1\";'),('es','messages:nocookiesnew','s:275:\"La cuenta de usuario ha sido creada, pero no has iniciado sesión.\n{{SITENAME}} usa <em>cookies</em> para identificar a los usuarios registrados.\nTu navegador tiene desactivadas las cookies.\nPor favor, actívalas e inicia sesión con tu nuevo nombre de usuario y contraseña.\";'),('es','messages:nocookieslogin','s:176:\"{{SITENAME}} utiliza <em>cookies</em> para la autenticación de usuarios. Las <em>cookies</em> están desactivadas en tu navegador. Por favor, actívalas e inténtalo de nuevo.\";'),('es','messages:nocookiesfornew','s:175:\"No se pudo crear la cuenta de usuario, porque no pudimos confirmar su origen.\nAsegúrate de que tienes las cookies activadas, luego recarga esta página e inténtalo de nuevo.\";'),('es','messages:noname','s:51:\"No se ha especificado un nombre de usuario válido.\";'),('es','messages:loginsuccesstitle','s:25:\"Inicio de sesión exitoso\";'),('es','messages:loginsuccess','s:55:\"\'\'\'Has iniciado sesión en {{SITENAME}} como «$1».\'\'\'\";'),('es','messages:nosuchuser','s:174:\"No existe ningún usuario llamado «$1».\nLos nombres de usuario son sensibles a las mayúsculas.\nRevisa la ortografía, o [[Special:UserLogin/signup|crea una cuenta nueva]].\";'),('es','messages:nosuchusershort','s:83:\"No hay un usuario con el nombre «$1». Comprueba que lo has escrito correctamente.\";'),('es','messages:nouserspecified','s:39:\"Debes especificar un nombre de usuario.\";'),('es','messages:login-userblocked','s:61:\"Este usuario está bloqueado. Inicio de sesión no permitido.\";'),('es','messages:wrongpassword','s:70:\"La contraseña indicada es incorrecta.\nPor favor, inténtalo de nuevo.\";'),('es','messages:wrongpasswordempty','s:63:\"No has escrito una contraseña.\nPor favor, inténtalo de nuevo.\";'),('es','messages:passwordtooshort','s:77:\"Las contraseñas deben tener al menos {{PLURAL:$1|1 caracter|$1 caracteres}}.\";'),('es','messages:password-name-match','s:58:\"Tu contraseña debe ser diferente de tu nombre de usuario.\";'),('es','messages:password-login-forbidden','s:67:\"El uso de este nombre de usuario y contraseña han sido prohibidos.\";'),('es','messages:mailmypassword','s:52:\"Enviar una nueva contraseña por correo electrónico\";'),('es','messages:passwordremindertitle','s:43:\"Recordatorio de contraseña de {{SITENAME}}\";'),('es','messages:passwordremindertext','s:515:\"Alguien (probablemente tú, desde la dirección IP $1) solicitó que te enviáramos una nueva contraseña para tu cuenta en {{SITENAME}} ($4).\nSe ha creado la siguiente contraseña temporal para el usuario «$2»: «$3»\nAhora deberías iniciar sesión y cambiar tu contraseña. Tu contraseña temporal expirará en {{PLURAL:$5|un día|$5 días}}.\n\nSi fue otro quien solicitó este mensaje o has recordado tu contraseña y ya no deseas cambiarla, puedes ignorar este mensaje y seguir usando tu contraseña original.\";'),('es','messages:noemail','s:68:\"No hay una dirección de correo electrónico registrada para «$1».\";'),('es','messages:noemailcreate','s:63:\"Necesitas proveer una dirección de correo electrónico válida\";'),('es','messages:passwordsent','s:119:\"Se ha enviado una nueva contraseña al correo electrónico de «$1».\nPor favor, identifícate de nuevo tras recibirla.\";'),('es','messages:blocked-mailpassword','s:129:\"Tu dirección IP está bloqueada, y no se te permite el uso de la función de recuperación de contraseñas para prevenir abusos.\";'),('es','messages:eauthentsent','s:251:\"Se ha enviado un correo electrónico de confirmación a la dirección especificada.\nAntes de que se envíe cualquier otro correo a la cuenta tienes que seguir las instrucciones enviadas en el mensaje para así confirmar que la dirección te pertenece.\";'),('es','messages:throttled-mailpassword','s:203:\"Ya se ha enviado un recordatorio de password en {{PLURAL:$1|la última hora|las últimas $1 horas}}.\nPara evitar los abusos, solo se enviará un recordatorio de password cada {{PLURAL:$1|hora|$1 horas}}.\";'),('es','messages:mailerror','s:26:\"Error al enviar correo: $1\";'),('es','messages:acct_creation_throttle_hit','s:279:\"Los visitantes a este wiki usando tu dirección IP han creado {{PLURAL:$1|una cuenta|$1 cuentas}} en el último día, lo cual es lo máximo permitido en este periodo de tiempo.\nComo resultado, los visitantes usando esta dirección IP no pueden crear más cuentas en este momento.\";'),('es','messages:emailauthenticated','s:64:\"Tu dirección de correo electrónico fue autenticada el $2 a $3.\";'),('es','messages:emailnotauthenticated','s:130:\"Aún no has confirmado tu dirección de correo electrónico.\nHasta que lo hagas, las siguientes funciones no estarán disponibles.\";'),('es','messages:noemailprefs','s:77:\"Especifica una dirección electrónica para habilitar estas características.\";'),('es','messages:emailconfirmlink','s:43:\"Confirmar dirección de correo electrónico\";'),('es','messages:invalidemailaddress','s:178:\"La dirección electrónica no puede ser aceptada, pues parece que tiene un formato no válido.\nPor favor, escribe una dirección en el formato adecuado o deja el campo en blanco.\";'),('es','messages:accountcreated','s:13:\"Cuenta creada\";'),('es','messages:accountcreatedtext','s:44:\"La cuenta de usuario para $1 ha sido creada.\";'),('es','messages:createaccount-title','s:37:\"Creación de cuenta para {{SITENAME}}\";'),('es','messages:createaccount-text','s:268:\"Alguien creó en {{SITENAME}} ($4) una cuenta asociada a este correo electrónico con el nombre «$2».\nLa contraseña asignada automáticamente es «$3». Por favor entra ahora y cambia tu contraseña.\n\nPuedes ignorar este mensaje si esta cuenta fue creada por error.\";'),('es','messages:usernamehasherror','s:71:\"El nombre de usuario no puede contener símbolos de almohadilla/numeral\";'),('es','messages:login-throttled','s:96:\"Has intentado demasiadas veces iniciar sesión. Por favor espera antes de intentarlo nuevamente.\";'),('es','messages:login-abort-generic','s:47:\"Tu inicio de sesión no fue exitoso - Cancelado\";'),('es','messages:loginlanguagelabel','s:10:\"Idioma: $1\";'),('es','messages:suspicious-userlogout','s:140:\"Tu solicitud de desconexión ha sido denegada debido a que parece que ésta ha sido enviada desde un navegador defectuoso o un proxy caché.\";'),('es','messages:php-mail-error-unknown','s:46:\"Error desconocido en la función mail() de PHP\";'),('es','messages:resetpass','s:22:\"Cambiar la contraseña\";'),('es','messages:resetpass_announce','s:140:\"Has iniciado sesión con una contraseña temporal que fue enviada por correo electrónico.\nPor favor, introduce una nueva contraseña aquí:\";'),('es','messages:resetpass_text','s:27:\"<!-- Añada texto aquí -->\";'),('es','messages:resetpass_header','s:35:\"Cambiar la contraseña de la cuenta\";'),('es','messages:oldpassword','s:20:\"Contraseña antigua:\";'),('es','messages:newpassword','s:18:\"Contraseña nueva:\";'),('es','messages:retypenew','s:31:\"Confirmar la contraseña nueva:\";'),('es','messages:resetpass_submit','s:40:\"Establecer contraseña e iniciar sesión\";'),('es','messages:resetpass_success','s:64:\"La contraseña ha sido cambiada con éxito.\nIniciando sesión...\";'),('es','messages:resetpass_forbidden','s:37:\"No se pueden cambiar las contraseñas\";'),('es','messages:resetpass-no-info','s:63:\"Debes iniciar sesión para acceder directamente a esta página.\";'),('es','messages:resetpass-submit-loggedin','s:19:\"Cambiar contraseña\";'),('es','messages:resetpass-submit-cancel','s:8:\"Cancelar\";'),('es','messages:resetpass-wrong-oldpass','s:114:\"La contraseña antigua no es correcta.\nPuede que ya hayas cambiado la contraseña o que hayas pedido una temporal.\";'),('es','messages:resetpass-temp-password','s:21:\"Contraseña temporal:\";'),('es','messages:passwordreset','s:31:\"Restablecimiento de contraseña\";'),('es','messages:passwordreset-text','s:107:\"Completa este formulario para recibir un recordatorio por correo electrónico de los detalles de tu cuenta.\";'),('es','messages:passwordreset-legend','s:23:\"Restablecer contraseña\";'),('es','messages:passwordreset-disabled','s:67:\"Se ha desactivado el restablecimiento de contraseñas en este wiki.\";'),('es','messages:passwordreset-pretext','s:65:\"{{PLURAL:$1||Introduce uno de los elementos de datos siguientes}}\";'),('es','messages:passwordreset-username','s:18:\"Nombre de usuario:\";'),('es','messages:passwordreset-domain','s:8:\"Dominio:\";'),('es','messages:passwordreset-email','s:34:\"Dirección de correo electrónico:\";'),('es','messages:passwordreset-emailtitle','s:37:\"Detalles de la cuenta en {{SITENAME}}\";'),('es','messages:passwordreset-emailtext-ip','s:612:\"Alguien (probablemente tú, desde la dirección IP $1) pidió un recordatorio de tus\ndatos de cuenta para {{SITENAME}} ($4). {{PLURAL:$3|La siguiente cuenta está asociada|Las siguientes cuentas están asociadas}}\ncon esta dirección de correo electrónico:\n\n$2\n\n{{PLURAL:$3|Esta contraseña temporal|Estas contraseñas temporales}} expirarán en {{PLURAL:$5|un día|$5 días}}.\nDeberías iniciar sesión y establecer una contraseña nueva ahora. Si alguien más hizo este pedido,\no recuerdas tu contraseña original, y no deseas cambiarla, puedes\nignorar este mensaje y continuar usando tu contraseña anterior.\";'),('es','messages:passwordreset-emailtext-user','s:587:\"El usuario $1 en {{SITENAME}} pidió un recordatorio de tus datos de cuenta para {{SITENAME}}\n($4). {{PLURAL:$3|La siguiente cuenta está asociada|Las siguientes cuentas están asociadas}} con esta dirección de correo electrónico:\n\n$2\n\n{{PLURAL:$3|Esta contraseña temporal|Estas contraseñas temporales}} expirarán en {{PLURAL:$5|un día|$5 días}}.\nDeberías iniciar sesión y establecer una contraseña nueva ahora. Si alguien más hizo este pedido,\no recuerdas tu contraseña original, y no deseas cambiarla, puedes\nignorar este mensaje y continuar usando tu contraseña anterior.\";'),('es','messages:passwordreset-emailelement','s:46:\"Nombre de usuario: $1\nContraseña temporal: $2\";'),('es','messages:passwordreset-emailsent','s:53:\"Se ha enviado un correo electrónico de recordatorio.\";'),('es','messages:bold_sample','s:16:\"Texto en negrita\";'),('es','messages:bold_tip','s:16:\"Texto en negrita\";'),('es','messages:italic_sample','s:16:\"Texto en cursiva\";'),('es','messages:italic_tip','s:16:\"Texto en cursiva\";'),('es','messages:link_sample','s:18:\"Título del enlace\";'),('es','messages:link_tip','s:14:\"Enlace interno\";'),('es','messages:extlink_sample','s:41:\"http://www.ejemplo.com Título del enlace\";'),('es','messages:extlink_tip','s:52:\"Enlace externo (recuerda añadir el prefijo http://)\";'),('es','messages:headline_sample','s:19:\"Texto de encabezado\";'),('es','messages:headline_tip','s:21:\"Encabezado de nivel 2\";'),('es','messages:nowiki_sample','s:32:\"Insertar aquí texto sin formato\";'),('es','messages:nowiki_tip','s:23:\"Ignorar el formato wiki\";'),('es','messages:image_sample','s:11:\"Ejemplo.jpg\";'),('es','messages:image_tip','s:18:\"Archivo incrustado\";'),('es','messages:media_sample','s:11:\"Ejemplo.ogg\";'),('es','messages:media_tip','s:16:\"Enlace a archivo\";'),('es','messages:sig_tip','s:25:\"Tu firma con fecha y hora\";'),('es','messages:hr_tip','s:44:\"Línea horizontal (utilizar con moderación)\";'),('es','messages:summary','s:8:\"Resumen:\";'),('es','messages:subject','s:18:\"Asunto/encabezado:\";'),('es','messages:minoredit','s:26:\"Esta es una edición menor\";'),('es','messages:watchthis','s:20:\"Vigilar esta página\";'),('es','messages:savearticle','s:17:\"Grabar la página\";'),('es','messages:preview','s:13:\"Previsualizar\";'),('es','messages:showpreview','s:25:\"Mostrar previsualización\";'),('es','messages:showlivepreview','s:27:\"Previsualización inmediata\";'),('es','messages:showdiff','s:15:\"Mostrar cambios\";'),('es','messages:anoneditwarning','s:139:\"\'\'\'Aviso:\'\'\' No has iniciado sesión con una cuenta de usuario.\nTu dirección IP se almacenará en el historial de ediciones de la página.\";'),('es','messages:anonpreviewwarning','s:152:\"\'\'No has iniciado sesión con una cuenta de usuario. Al guardar los cambios se almacenará tu dirección IP en el historial de edición de la página.\'\'\";'),('es','messages:missingsummary','s:140:\"\'\'\'Atención:\'\'\' No has escrito un resumen de edición. Si haces clic nuevamente en «{{int:savearticle}}» tu edición se grabará sin él.\";'),('es','messages:missingcommenttext','s:33:\"Por favor introduce texto debajo.\";'),('es','messages:missingcommentheader','s:150:\"\'\'\'Recordatorio:\'\'\' No has escrito un título para este comentario. Si haces clic nuevamente en \"{{int:savearticle}}\" tu edición se grabará sin él.\";'),('es','messages:summary-preview','s:30:\"Previsualización del resumen:\";'),('es','messages:subject-preview','s:35:\"Previsualización del tema/título:\";'),('es','messages:blockedtitle','s:26:\"El usuario está bloqueado\";'),('es','messages:blockedtext','s:719:\"\'\'\'Tu nombre de usuario o dirección IP ha sido bloqueada.\'\'\'\n\nEl bloqueo fue hecho por $1.\nLa razón dada es \'\'$2\'\'.\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 u otro [[{{MediaWiki:Grouppage-sysop}}|administrador]] para discutir el bloqueo.\nNo puedes utilizar la función «enviar correo electrónico a este usuario»  a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y que el bloqueo no haya inhabilitado esta función.\n\nTu dirección IP actual es $3, y el identificador del bloqueo es #$5.\nPor favor incluye todos los datos aquí mostrados en cualquier consulta que hagas.\";'),('es','messages:autoblockedtext','s:763:\"Tu dirección IP ha sido bloqueada automáticamente porque fue utilizada por otro usuario que fue bloqueado por $1.\nLa razón dada es esta:\n\n:\'\'$2\'\'\n\n* Inicio del bloqueo: $8\n* Caducidad del bloqueo: $6\n* Bloqueo destinado a: $7\n\nPuedes contactar con $1 o con otro de los [[{{MediaWiki:Grouppage-sysop}}|bibliotecarios]] para discutir el bloqueo.\n\nNo puedes utilizar la función «enviar correo electrónico a este usuario»  a menos que tengas una dirección de correo electrónico válida registrada en tus [[Special:Preferences|preferencias de usuario]] y que el bloqueo no haya inhabilitado esta función.\n\nTu actual dirección IP es $3, y el identificador del bloqueo es #$5.\nPor favor incluye todos los datos aquí mostrados en cualquier consulta que hagas.\";'),('es','messages:blockednoreason','s:31:\"no se ha especificado el motivo\";'),('es','messages:blockedoriginalsource','s:57:\"El código fuente de \'\'\'$1\'\'\' se muestra a continuación:\";'),('es','messages:blockededitsource','s:71:\"El texto de \'\'\'tus ediciones\'\'\' a \'\'\'$1\'\'\' se muestran a continuación:\";'),('es','messages:whitelistedittitle','s:40:\"Se requiere identificación para editar.\";'),('es','messages:whitelistedittext','s:37:\"Tienes que $1 para editar artículos.\";'),('es','messages:confirmedittext','s:192:\"Debes confirmar tu dirección electrónica antes de editar páginas. Por favor, establece y valida una dirección electrónica a través de tus [[Special:Preferences|preferencias de usuario]].\";'),('es','messages:nosuchsectiontitle','s:22:\"Sección no encontrada\";'),('es','messages:nosuchsectiontext','s:111:\"Has intentado editar una sección que no existe.\nQuizá ha sido movida o borrada mientras visitabas la página.\";'),('es','messages:loginreqtitle','s:28:\"Es necesario iniciar sesión\";'),('es','messages:loginreqlink','s:15:\"iniciar sesión\";'),('es','messages:loginreqpagetext','s:33:\"Debes $1 para ver otras páginas.\";'),('es','messages:accmailtitle','s:31:\"La contraseña ha sido enviada.\";'),('es','messages:accmailtext','s:248:\"Una contraseña generada aleatoriamente para [[User talk:$1|$1]] ha sido enviada a $2.\n\nLa contraseña para esta nueva cuenta puede ser cambiada en la página \'\'[[Special:ChangePassword|cambiar la contraseña]]\'\' después de haber iniciado sesión.\";'),('es','messages:newarticle','s:7:\"(Nuevo)\";'),('es','messages:newarticletext','s:257:\"Has seguido un enlace a una página que aún no existe.\nPara crear esta página, escribe en el campo a continuación. Para más información, consulta la [[{{MediaWiki:Helppage}}|página de ayuda]].\nSi llegaste aquí por error, vuelve a la página anterior.\";'),('es','messages:anontalkpagetext','s:502:\"---- \'\'Esta es la página de discusión de un usuario anónimo que aún no ha creado una cuenta, o no la usa. Por lo tanto, tenemos que usar su dirección IP para identificarlo. Una dirección IP puede ser compartida por varios usuarios. Si eres un usuario anónimo y crees que se han dirigido a ti con comentarios improcedentes, por favor [[Special:UserLogin/signup|crea una cuenta]] o si ya la tienes [[Special:UserLogin|identifícate]] para evitar confusiones futuras con otros usuarios anónimos.\'\'\";'),('es','messages:noarticletext','s:314:\"En este momento no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar el título de esta página]] en otras páginas,\n<span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros],\no [{{fullurl:{{FULLPAGENAME}}|action=edit}} editar esta página]</span>.\";'),('es','messages:noarticletext-nopermission','s:256:\"Actualmente no hay texto en esta página.\nPuedes [[Special:Search/{{PAGENAME}}|buscar este título de página]] en otras páginas,\no <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} buscar en los registros relacionados]</span>.\";'),('es','messages:userpage-userdoesnotexist','s:125:\"La cuenta de usuario «<nowiki>$1</nowiki>» no está registrada. Por favor comprueba si quieres crear o editar esta página.\";'),('es','messages:userpage-userdoesnotexist-view','s:48:\"La cuenta de usuario «$1» no está registrada.\";'),('es','messages:blocked-notice-logextract','s:130:\"Este usuario está actualmente bloqueado.\nLa última entrada del registro de bloqueos se proporciona debajo para mayor referencia:\";'),('es','messages:clearyourcache','s:579:\"\'\'\'Nota:\'\'\' después de guardar, quizás necesites refrescar la caché de tu navegador para ver los cambios.\n* \'\'\'Firefox / Safari:\'\'\' Mantén presionada \'\'Mayús\'\' mientras pulsas el botón \'\'Actualizar\'\', o presiona \'\'Ctrl+F5\'\' o \'\'Ctrl+R\'\' (\'\'Comando+R\'\' en Mac)\n* \'\'\'Google Chrome:\'\'\' presiona \'\'Ctrl+Shift+R\'\' (\'\'Comando+Mayús+R\'\' en Mac)\n* \'\'\'Internet Explorer:\'\'\' mantén presionada \'\'Ctrl\'\' mientras pulsas \'\'Actualizar\'\', o presiona \'\'Ctrl+F5\'\'\n* \'\'\'Konqueror:\'\'\' pulsa \'\'Recargar\'\' o presiona \'\'F5\'\'\n* \'\'\'Opera:\'\'\' vacía la caché en \'\'Herramientas → Preferencias\'\'\";'),('es','messages:usercssyoucanpreview','s:97:\"\'\'\'Consejo:\'\'\' Usa el botón «{{int:showpreview}}» para probar el nuevo CSS antes de guardarlo.\";'),('es','messages:userjsyoucanpreview','s:96:\"\'\'\'Consejo:\'\'\' Usa el botón «{{int:showpreview}}» para probar el nuevo JS antes de guardarlo.\";'),('es','messages:usercsspreview','s:97:\"\'\'\'Recuerda que solo estás previsualizando tu CSS de usuario.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:userjspreview','s:106:\"\'\'\'¡Recuerda que solo estás previsualizando tu JavaScript de usuario.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:sitecsspreview','s:88:\"\'\'\'Recuerda que sólo estás previsualizando este CSS\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:sitejspreview','s:104:\"\'\'\'Recuerda que sólo estás previsualizando este código JavaScript.\'\'\'\n\'\'\'¡Aún no se ha guardado!\'\'\'\";'),('es','messages:userinvalidcssjstitle','s:218:\"\'\'\'Aviso:\'\'\' No existe la skin «$1». Recuerda que las páginas personalizadas \'\'.css\'\' y \'\'.js\'\' tienen un título en minúsculas. Por ejemplo, {{ns:user}}:Ejemplo/vector.css en vez de {{ns:user}}:Ejemplo/Vector.css.\";'),('es','messages:updated','s:13:\"(Actualizado)\";'),('es','messages:note','s:11:\"\'\'\'Nota:\'\'\'\";'),('es','messages:previewnote','s:94:\"\'\'\'¡Recuerda que esto es solo una previsualización.\'\'\'\n¡Tus cambios aún no se ha guardado!\";'),('es','messages:previewconflict','s:119:\"Esta previsualización refleja el texto en el área de edición superior como aparecerá una vez guardados los cambios.\";'),('es','messages:session_fail_preview','s:221:\"\'\'\'Lo sentimos, no pudimos procesar la edición debido a una pérdida de los datos de sesión.\'\'\'\nPor favor, inténtalo de nuevo.\nSi el problema persiste, [[Special:UserLogout|cierra la sesión]] y vuelve a identificarte.\";'),('es','messages:session_fail_preview_html','s:413:\"\'\'\'Lo sentimos, no hemos podido procesar tu cambio debido a una pérdida de datos de sesión.\'\'\'\n\n\'\'Puesto que este wiki tiene el HTML puro habilitado, la visión preliminar está oculta para prevenirse contra ataques en JavaScript.\'\'\n\n\'\'\'Si éste es un intento legítimo de modificación, por favor, inténtalo de nuevo. Si aún así no funcionase, [[Special:UserLogout|cierra la sesión]] e ingresa de nuevo.\'\'\'\";'),('es','messages:token_suffix_mismatch','s:273:\"\'\'\'Tu edición ha sido rechazada porque tu cliente ha mezclado los signos de puntuación en el token de edición.\nSe rechazó la edición para evitar que el texto de la página se corrompa.\nEsto sucede en ocasiones cuando se usa un servicio de proxy anónimo defectuoso.\'\'\'\";'),('es','messages:edit_form_incomplete','s:139:\"\'\'\'Algunas partes del formulario de edición no llegaron al servidor, comprueba que tus ediciones están intactas e inténtalo de nuevo\'\'\'.\";'),('es','messages:editing','s:11:\"Editando $1\";'),('es','messages:editingsection','s:22:\"Editando $1 (sección)\";'),('es','messages:editingcomment','s:28:\"Editando $1 (nueva sección)\";'),('es','messages:editconflict','s:25:\"Conflicto de edición: $1\";'),('es','messages:explainconflict','s:382:\"Alguien más ha cambiado esta página desde que empezaste a editarla.\nEl área de texto superior contiene el texto de la página como existe actualmente.\nTus cambios se muestran en el área de texto inferior.\nSi quieres grabar tus cambios, has de trasladarlos al área superior.\n\'\'\'Sólo\'\'\' el texto en el área de texto superior será grabado cuando pulses «{{int:savearticle}}».\";'),('es','messages:yourtext','s:8:\"Tu texto\";'),('es','messages:storedversion','s:19:\"Versión almacenada\";'),('es','messages:nonunicodebrowser','s:246:\"\'\'\'Atención: Tu navegador no cumple la norma Unicode.\'\'\'\nSe ha activado un sistema de edición alternativo que te permitirá editar artículos con seguridad: los caracteres no ASCII aparecerán en la caja de edición como códigos hexadecimales.\";'),('es','messages:editingold','s:139:\"\'\'\'Aviso: Estás editando una versión antigua de esta página.\'\'\'\nSi la guardas, se perderán los cambios realizados desde esta revisión.\";'),('es','messages:yourdiff','s:11:\"Diferencias\";'),('es','messages:copyrightwarning','s:434:\"Por favor observa que todas las contribuciones a {{SITENAME}} se consideran hechas públicas bajo la $2 (véase $1 para más detalles). Si no deseas la modificación y distribución libre de tu obra, entonces no la pongas aquí.<br />También nos aseguras que tú escribiste esto y te pertenecen de los derechos de autor, o lo copiaste desde el dominio público u otra fuente libre. \'\'\'¡No uses escritos con copyright sin permiso!\'\'\'\";'),('es','messages:copyrightwarning2','s:486:\"Por favor, ten en cuenta que todas las contribuciones a {{SITENAME}} pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones y las distribuyan libremente, entonces no las pongas aquí.<br />También nos aseguras que tú escribiste esto y te pertenecen de los derechos de autor, o lo copiaste desde el dominio público u otra fuente libre. (véase $1 para más detalles).\n\'\'\'¡No uses escritos con copyright sin permiso!\'\'\'\";'),('es','messages:longpageerror','s:117:\"\'\'\'Error: El texto que has enviado ocupa $1 kilobytes, que excede el máximo de $2 kilobytes. No se puede guardar.\'\'\'\";'),('es','messages:readonlywarning','s:278:\"\'\'\'Aviso: La base de datos ha sido bloqueada por cuestiones de mantenimiento, así que no podrás guardar tus modificaciones en este momento.\nPuedes copiar y pegar el texto en un archivo y guardarlo para más tarde.\'\'\'\n\nEl administrador que la bloqueó dio esta explicación: $1\";'),('es','messages:protectedpagewarning','s:193:\"\'\'\'Aviso: Esta página ha sido protegida de manera que solo usuarios con permisos de administrador puedan editarla.\'\'\'\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:semiprotectedpagewarning','s:168:\"\'\'\'Nota:\'\'\' Esta página ha sido protegida para que solo usuarios registrados puedan editarla.\nA continuación se provee la última entrada de registro para referencia:\";'),('es','messages:cascadeprotectedwarning','s:201:\"\'\'\'Aviso:\'\'\' Esta página está protegida, solo los administradores pueden editarla porque está incluida en  {{PLURAL:$1|la siguiente página protegida|las siguientes páginas protegidas}} en cascada:\";'),('es','messages:titleprotectedwarning','s:204:\"\'\'\'Aviso: Esta página está protegida de modo que se necesitan [[Special:ListGroupRights|derechos especificos]] para crearla.\'\'\'\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:templatesused','s:64:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta página:\";'),('es','messages:templatesusedpreview','s:74:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta previsualización:\";'),('es','messages:templatesusedsection','s:65:\"{{PLURAL:$1|Plantilla usada|Plantillas usadas}} en esta sección:\";'),('es','messages:template-protected','s:11:\"(protegida)\";'),('es','messages:template-semiprotected','s:15:\"(semiprotegida)\";'),('es','messages:hiddencategories','s:87:\"Esta página es un miembro de {{PLURAL:$1|1 categoría oculta|$1 categorías ocultas}}:\";'),('es','messages:edittools','s:73:\"<!-- Este texto aparecerá bajo los formularios de edición y subida. -->\";'),('es','messages:nocreatetitle','s:30:\"Creación de páginas limitada\";'),('es','messages:nocreatetext','s:176:\"{{SITENAME}} ha restringido la posibilidad de crear nuevas páginas.\nPuede volver atrás y editar una página existente, [[Special:UserLogin|identificarte o crear una cuenta]].\";'),('es','messages:nocreate-loggedin','s:45:\"No tienes permiso para crear páginas nuevas.\";'),('es','messages:sectioneditnotsupported-title','s:34:\"Edición de sección no compatible\";'),('es','messages:sectioneditnotsupported-text','s:58:\"La edición de sección no es compatible con esta página.\";'),('es','messages:permissionserrors','s:19:\"Errores de permisos\";'),('es','messages:permissionserrorstext','s:95:\"No tienes permiso para hacer eso, por {{PLURAL:$1|el siguiente motivo|los siguientes motivos}}:\";'),('es','messages:permissionserrorstext-withaction','s:75:\"No tienes permiso para $2, por los siguientes {{PLURAL:$1|motivo|motivos}}:\";'),('es','messages:recreate-moveddeleted-warn','s:253:\"\'\'\'Atención: estás volviendo a crear una página que ha sido borrada anteriormente.\'\'\'\n\nDeberías considerar si es apropiado continuar editando esta página.\nEl registro de borrado y traslados para esta página están provistos aquí por conveniencia:\";'),('es','messages:moveddeleted-notice','s:122:\"Esta página ha sido borrada.\nEl registro de borrados y traslados para la página están provistos debajo como referencia.\";'),('es','messages:log-fulllog','s:24:\"Ver el registro completo\";'),('es','messages:edit-hook-aborted','s:60:\"Edición cancelada por la extensión.\nNo dió explicaciones.\";'),('es','messages:edit-gone-missing','s:61:\"No se pudo actualizar la página.\nParece que ha sido borrada.\";'),('es','messages:edit-conflict','s:22:\"Conflicto de edición.\";'),('es','messages:edit-no-change','s:67:\"Se ignoró tu revisión, porque no se hizo ningún cambio al texto.\";'),('es','messages:edit-already-exists','s:46:\"No se pudo crear una página nueva.\nYa existe.\";'),('es','messages:expensive-parserfunction-warning','s:185:\"Aviso: Esta página contiene demasiadas llamadas a funciones sintácticas costosas (#ifexist: y similares)\n\nTiene {{PLURAL:$1|una llamada|$1 llamadas}}, pero debería tener menos de $2.\";'),('es','messages:expensive-parserfunction-category','s:65:\"Páginas con llamadas a funciones sintácticas demasiado costosas\";'),('es','messages:post-expand-template-inclusion-warning','s:100:\"Aviso: El tamaño de las plantillas incluidas es muy grande.\nAlgunas plantillas no serán incluidas.\";'),('es','messages:post-expand-template-inclusion-category','s:37:\"Páginas con sobrecarga de plantillas\";'),('es','messages:post-expand-template-argument-warning','s:159:\"Aviso: Esta página contiene al menos un parámetro de plantilla que tiene un tamaño de expansión demasiado grande.\nEse o esos parámetros han sido omitidos.\";'),('es','messages:post-expand-template-argument-category','s:61:\"Páginas que contienen plantillas con parámetros descartados\";'),('es','messages:parser-template-loop-warning','s:36:\"Detectado bucle de plantilla: [[$1]]\";'),('es','messages:parser-template-recursion-depth-warning','s:58:\"Se ha excedido el límite de recursión de plantillas ($1)\";'),('es','messages:language-converter-depth-warning','s:68:\"El límite de profundidad del convertidor de idioma ha excedido ($1)\";'),('es','messages:undo-success','s:212:\"La edición puede deshacerse. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así deshacer la edición.\";'),('es','messages:undo-failure','s:90:\"No se puede deshacer la edición ya que otro usuario ha realizado una edición intermedia.\";'),('es','messages:undo-norev','s:69:\"La edición no puede ser deshecha porque no existe o ha sido borrada.\";'),('es','messages:undo-summary','s:84:\"Deshecha la revisión $1 de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc.]])\";'),('es','messages:cantcreateaccounttitle','s:27:\"No se puede crear la cuenta\";'),('es','messages:cantcreateaccount-text','s:130:\"La creación de cuentas desde esta dirección IP (\'\'\'$1\'\'\') ha sido bloqueada por [[User:$3|$3]].\n\nEl motivo dado por $3 es \'\'$2\'\'\";'),('es','messages:viewpagelogs','s:33:\"Ver los registros de esta página\";'),('es','messages:nohistory','s:48:\"No hay historial de ediciones para esta página.\";'),('es','messages:currentrev','s:16:\"Revisión actual\";'),('es','messages:currentrev-asof','s:23:\"Última revisión de $1\";'),('es','messages:revisionasof','s:15:\"Revisión de $1\";'),('es','messages:revision-info','s:27:\"Revisión a fecha de $1; $2\";'),('es','messages:previousrevision','s:22:\"← Revisión anterior\";'),('es','messages:nextrevision','s:23:\"Revisión siguiente →\";'),('es','messages:currentrevisionlink','s:16:\"Revisión actual\";'),('es','messages:cur','s:3:\"act\";'),('es','messages:next','s:3:\"sig\";'),('es','messages:last','s:3:\"ant\";'),('es','messages:page_first','s:8:\"primeras\";'),('es','messages:page_last','s:8:\"últimas\";'),('es','messages:histlegend','s:238:\"Selección de diferencias: marca los selectores de las versiones a comparar y pulsa \'\'enter\'\' o el botón de abajo.<br />\nLeyenda: (act) = diferencias con la versión actual,\n(prev) = diferencias con la versión previa, M = edición menor\";'),('es','messages:history-fieldset-title','s:22:\"Buscar en el historial\";'),('es','messages:history-show-deleted','s:17:\"Solamente borrado\";'),('es','messages:histfirst','s:8:\"Primeras\";'),('es','messages:histlast','s:8:\"Últimas\";'),('es','messages:historysize','s:31:\"({{PLURAL:$1|1 byte|$1 bytes}})\";'),('es','messages:historyempty','s:8:\"(vacío)\";'),('es','messages:history-feed-title','s:23:\"Historial de revisiones\";'),('es','messages:history-feed-description','s:52:\"Historial de revisiones para esta página en el wiki\";'),('es','messages:history-feed-item-nocomment','s:8:\"$1 en $2\";'),('es','messages:history-feed-empty','s:154:\"La página solicitada no existe.\nPuede haber sido borrada del wiki o renombrada.\nPrueba a [[Special:Search|buscar en el wiki]] nuevas páginas relevantes.\";'),('es','messages:rev-deleted-comment','s:31:\"(resumen de edición eliminado)\";'),('es','messages:rev-deleted-user','s:29:\"(nombre de usuario eliminado)\";'),('es','messages:rev-deleted-event','s:17:\"(entrada borrada)\";'),('es','messages:rev-deleted-user-contribs','s:95:\"[nombre de usuario o dirección IP eliminada - edición ocultada de la lista de contribuciones]\";'),('es','messages:rev-deleted-text-permission','s:161:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nPuede haber detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-deleted-text-unhide','s:244:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nPuede haber más detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\nComo administrador todavía puedes [$1 ver esta revisión] si así lo deseas.\";'),('es','messages:rev-suppressed-text-unhide','s:253:\"Esta revisión de la página ha sido \'\'\'suprimida\'\'\'.\nPuede haber más detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\nComo administrador podrá seguir [$1 viendo esta revisión] si desea continuar.\";'),('es','messages:rev-deleted-text-view','s:203:\"Esta revisión de la página ha sido \'\'\'borrada\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-text-view','s:210:\"Esta revisión de la página ha sido \'\'\'suprimida\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\";'),('es','messages:rev-deleted-no-diff','s:201:\"No puedes ver esta diferencia porque una de las revisiones ha sido \'\'\'borrada\'\'\'.\nPuedes encontrar más detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-no-diff','s:81:\"No puedes ver esta diferencia porque una de las revisiones ha sido \'\'\'borrada\'\'\'.\";'),('es','messages:rev-deleted-unhide-diff','s:229:\"Una de las revisiones de esta diferencia ha sido \'\'\'borrada\'\'\'.\nPuede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\nAún puede [$1 ver este cambio] si así lo desea.\";'),('es','messages:rev-suppressed-unhide-diff','s:240:\"Una de las revisiones de esta diferencia ha sido \'\'\'suprimida\'\'\'.\nPuede haber detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\nAún puede [$1 ver esta diferencia] si desea así lo desea.\";'),('es','messages:rev-deleted-diff-view','s:215:\"Una de las revisiones de esta diferencia ha sido \'\'\'borrada\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} registro de borrados].\";'),('es','messages:rev-suppressed-diff-view','s:222:\"Una de las revisiones de esta diferencia ha sido \'\'\'suprimida\'\'\'.\nAún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} registro de supresiones].\";'),('es','messages:rev-delundel','s:15:\"mostrar/ocultar\";'),('es','messages:rev-showdeleted','s:7:\"mostrar\";'),('es','messages:revisiondelete','s:27:\"Borrar/restaurar revisiones\";'),('es','messages:revdelete-nooldid-title','s:24:\"No hay revisión destino\";'),('es','messages:revdelete-nooldid-text','s:94:\"No se ha especificado una revisión o revisiones destino sobre las que realizar esta función.\";'),('es','messages:revdelete-nologtype-title','s:19:\"ningún nombre dado\";'),('es','messages:revdelete-nologtype-text','s:62:\"No has especificado ningún nombre para ejecutar esta acción.\";'),('es','messages:revdelete-nologid-title','s:29:\"Entrada de registro inválida\";'),('es','messages:revdelete-nologid-text','s:112:\"Tampoco has especificado un objetivo de eventos para ejecutar esta función o la entrada especificada no existe.\";'),('es','messages:revdelete-no-file','s:34:\"El fichero especificado no existe.\";'),('es','messages:revdelete-show-file-confirm','s:94:\"¿Realmente deseas ver la revisión borrada del archivo \"<nowiki>$1</nowiki>\" del $2 a las $3?\";'),('es','messages:revdelete-show-file-submit','s:3:\"Sí\";'),('es','messages:revdelete-selected','s:79:\"\'\'\'{{PLURAL:$2|Revisión seleccionada|Revisiones seleccionadas}} de [[:$1]]:\'\'\'\";'),('es','messages:logdelete-selected','s:65:\"\'\'\'{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:\'\'\'\";'),('es','messages:revdelete-text','s:342:\"Las revisiones borradas aún aparecerán en el historial de la página y en los registros, pero sus contenidos no serán accesibles al público.\'\'\'\nOtros administradores de {{SITENAME}} aún podrán acceder al contenido oculto y podrán deshacer el borrado a través de la misma interfaz, a menos que se establezcan restricciones adicionales.\";'),('es','messages:revdelete-confirm','s:179:\"Por favor confirma que deseas realizar la operación, que entiendes las consecuencias y que estás ejecutando dicha acción acorde con [[{{MediaWiki:Policy-url}}|las políticas]].\";'),('es','messages:revdelete-suppress-text','s:223:\"La eliminación \'\'\'solamente\'\'\' debería usarse en los siguientes casos:\n* Información potencialmente difamatoria\n* Información personal inapropiada\n* domicilios y números de teléfono, números de seguridad social, etc.\";'),('es','messages:revdelete-legend','s:38:\"Establecer restricciones de revisión:\";'),('es','messages:revdelete-hide-text','s:32:\"Ocultar el texto de la revisión\";'),('es','messages:revdelete-hide-image','s:32:\"Ocultar el contenido del archivo\";'),('es','messages:revdelete-hide-name','s:26:\"Ocultar acción y objetivo\";'),('es','messages:revdelete-hide-comment','s:30:\"Ocultar el resumen de edición\";'),('es','messages:revdelete-hide-user','s:31:\"Ocultar el nombre/IP del editor\";'),('es','messages:revdelete-hide-restricted','s:55:\"Suprimir datos a los administradores así como al resto\";'),('es','messages:revdelete-radio-same','s:12:\"(no cambiar)\";'),('es','messages:revdelete-radio-set','s:3:\"Sí\";'),('es','messages:revdelete-radio-unset','s:2:\"No\";'),('es','messages:revdelete-suppress','s:55:\"Suprimir datos a los administradores así como al resto\";'),('es','messages:revdelete-unsuppress','s:48:\"Eliminar restricciones de revisiones restauradas\";'),('es','messages:revdelete-log','s:7:\"Motivo:\";'),('es','messages:revdelete-submit','s:78:\"Aplicar a {{PLURAL:$1|la revisión seleccionada|las revisiones seleccionadas}}\";'),('es','messages:revdelete-logentry','s:46:\"cambió la visibilidad de revisiones de [[$1]]\";'),('es','messages:logdelete-logentry','s:43:\"cambió la visibilidad de eventos de [[$1]]\";'),('es','messages:revdelete-success','s:66:\"\'\'\'La visibilidad de revisiones ha sido cambiada correctamente.\'\'\'\";'),('es','messages:revdelete-failure','s:64:\"\'\'\'La visibilidad de la revisión no pudo ser establecida:\'\'\'\n$1\";'),('es','messages:logdelete-success','s:46:\"Visibilidad de eventos cambiada correctamente.\";'),('es','messages:logdelete-failure','s:58:\"\'\'\'La visibilidad del registro no pudo ser ajustada:\'\'\'\n$1\";'),('es','messages:revdel-restore','s:19:\"cambiar visibilidad\";'),('es','messages:revdel-restore-deleted','s:19:\"revisiones borradas\";'),('es','messages:revdel-restore-visible','s:19:\"revisiones visibles\";'),('es','messages:pagehist','s:23:\"Historial de la página\";'),('es','messages:deletedhist','s:17:\"Historial borrado\";'),('es','messages:revdelete-content','s:9:\"contenido\";'),('es','messages:revdelete-summary','s:19:\"resumen de edición\";'),('es','messages:revdelete-uname','s:17:\"nombre de usuario\";'),('es','messages:revdelete-restricted','s:44:\"restricciones para administradores aplicadas\";'),('es','messages:revdelete-unrestricted','s:45:\"restricciones para administradores eliminadas\";'),('es','messages:revdelete-hid','s:10:\"ocultó $1\";'),('es','messages:revdelete-unhid','s:10:\"mostró $1\";'),('es','messages:revdelete-log-message','s:45:\"$1 para $2 {{PLURAL:$2|revisión|revisiones}}\";'),('es','messages:logdelete-log-message','s:37:\"$1 de $2 {{PLURAL:$2|evento|eventos}}\";'),('es','messages:revdelete-hide-current','s:95:\"Error al ocultar el objeto de fecha $1 a las $2: es la revisión actual.\nNo puede ser ocultada.\";'),('es','messages:revdelete-show-no-access','s:113:\"Error mostrando el objeto de fecha $2, $1: este objeto ha sido marcado como \"restringido\".\nNo tiene acceso a él.\";'),('es','messages:revdelete-modify-no-access','s:115:\"Error modificando el objeto de fecha $2, $1: este objeto ha sido marcado como \"restringido\".\nNo tiene acceso a él.\";'),('es','messages:revdelete-modify-missing','s:73:\"Error modificando el objeto ID $1: ¡no se encuentra en la base de datos!\";'),('es','messages:revdelete-no-change','s:105:\"\'\'\'Atención:\'\'\' la revisión de fecha $1 a las $2 ya tiene las restricciones de visibilidad solicitadas.\";'),('es','messages:revdelete-concurrent-change','s:164:\"Error modificando el objeto de fecha $2, $1: su estado parece haber sido cambiado por alguien más cuando tratabas de modificarlo. Por favor verifica los registros.\";'),('es','messages:revdelete-only-restricted','s:169:\"Error ocultando el item de fecha $2, $1: no puedes suprimir elementos de vista de los administradores sin seleccionar asímismo una de las otras opciones de visibilidad.\";'),('es','messages:revdelete-reason-dropdown','s:157:\"*Razones de borrado comunes\n** Violación a los derechos de autor\n** Información personal inapropiada\n** Información potencialmente injuriosa o calumniante\";'),('es','messages:revdelete-otherreason','s:22:\"Otra/adicional razón:\";'),('es','messages:revdelete-reasonotherlist','s:11:\"Otra razón\";'),('es','messages:revdelete-edit-reasonlist','s:25:\"Editar razones de borrado\";'),('es','messages:revdelete-offender','s:19:\"Autor de revisión:\";'),('es','messages:suppressionlog','s:23:\"Registro de supresiones\";'),('es','messages:suppressionlogtext','s:229:\"Debajo hay una lista con los borrados y bloqueos recientes, que incluyen contenido oculto de los administradores.\nMire la [[Special:BlockList|lista de bloqueos activos]] para ver una lista de prohibiciones actualmente operativas.\";'),('es','messages:mergehistory','s:32:\"Fusionar historiales de páginas\";'),('es','messages:mergehistory-header','s:177:\"Esta página te permite fusionar revisiones del historial de una página origen en otra más reciente.\nAsegúrate de que esto mantendrá la continuidad histórica de la página.\";'),('es','messages:mergehistory-box','s:41:\"Fusionar los historiales de dos páginas:\";'),('es','messages:mergehistory-from','s:15:\"Página origen:\";'),('es','messages:mergehistory-into','s:16:\"Página destino:\";'),('es','messages:mergehistory-list','s:33:\"Historial de ediciones fusionable\";'),('es','messages:mergehistory-merge','s:256:\"Las siguientes revisiones de [[:$1]] pueden fusionarse en [[:$2]].\nUsa la columna de casillas para fusionar sólo las revisiones creadas en y antes de la fecha especificada.\nNota que usar los enlaces de navegación borrará las selecciones de esta columna.\";'),('es','messages:mergehistory-go','s:29:\"Mostrar ediciones fusionables\";'),('es','messages:mergehistory-submit','s:19:\"Fusionar revisiones\";'),('es','messages:mergehistory-empty','s:30:\"No hay revisiones fusionables.\";'),('es','messages:mergehistory-success','s:88:\"$3 {{PLURAL:$3|revisión|revisiones}} de [[:$1]] fusionadas de forma exitosa en [[:$2]].\";'),('es','messages:mergehistory-fail','s:104:\"No se puede realizar la fusión de historiales, por favor revisa la página y los parámetros de tiempo.\";'),('es','messages:mergehistory-no-source','s:31:\"La página origen $1 no existe.\";'),('es','messages:mergehistory-no-destination','s:32:\"La página destino $1 no existe.\";'),('es','messages:mergehistory-invalid-source','s:48:\"La página origen debe tener un título válido.\";'),('es','messages:mergehistory-invalid-destination','s:53:\"La página de destino ha de tener un título válido.\";'),('es','messages:mergehistory-autocomment','s:29:\"Fusionando [[:$1]] en [[:$2]]\";'),('es','messages:mergehistory-comment','s:33:\"Fusionando [[:$1]] en [[:$2]]: $3\";'),('es','messages:mergehistory-same-destination','s:55:\"Las páginas de origen y destino no pueden ser la misma\";'),('es','messages:mergehistory-reason','s:7:\"Razón:\";'),('es','messages:mergelog','s:20:\"Registro de fusiones\";'),('es','messages:pagemerge-logentry','s:47:\"fusionó [[$1]] en [[$2]] (revisiones hasta $3)\";'),('es','messages:revertmerge','s:16:\"Deshacer fusión\";'),('es','messages:mergelogpagetext','s:90:\"Debajo está una lista de las fusiones más recientes de historial de una página en otra.\";'),('es','messages:history-title','s:35:\"Historial de revisiones para «$1»\";'),('es','messages:difference','s:30:\"(Diferencias entre revisiones)\";'),('es','messages:difference-multipage','s:31:\"(Diferencia entre las páginas)\";'),('es','messages:lineno','s:10:\"Línea $1:\";'),('es','messages:compareselectedversions','s:32:\"Comparar versiones seleccionadas\";'),('es','messages:showhideselectedversions','s:39:\"Mostrar/ocultar versiones seleccionadas\";'),('es','messages:editundo','s:8:\"deshacer\";'),('es','messages:diff-multi','s:149:\"(No se {{PLURAL:$1|muestra una edición intermedia realizada|muestran $1 ediciones intermedias realizadas}} por {{PLURAL:$2|un usuario|$2 usuarios}})\";'),('es','messages:diff-multi-manyusers','s:127:\"(No se {{PLURAL:$1|muestra una edición intermedia|muestran $1 ediciones intermedias}} de {{PLURAL:$2|un usuario|$2 usuarios}})\";'),('es','messages:searchresults','s:26:\"Resultados de la búsqueda\";'),('es','messages:searchresults-title','s:36:\"Resultados de la búsqueda de «$1»\";'),('es','messages:searchresulttext','s:117:\"Para más información acerca de las búsquedas en {{SITENAME}}, consulta la [[{{MediaWiki:Helppage}}|{{int:help}}]].\";'),('es','messages:searchsubtitle','s:189:\"Has buscado \'\'\'[[:$1]]\'\'\' ([[Special:Prefixindex/$1|todas las páginas que empiezan por \"$1\"]] {{int:pipe-separator}} [[Special:WhatLinksHere/$1|todas las páginas que enlazan con «$1»]])\";'),('es','messages:searchsubtitleinvalid','s:20:\"Has buscado \'\'\'$1\'\'\'\";'),('es','messages:toomanymatches','s:75:\"Se han obtenido muchos resultados; por favor intenta una consulta diferente\";'),('es','messages:titlematches','s:37:\"Coincidencias de título de artículo\";'),('es','messages:notitlematches','s:44:\"No hay coincidencias de título de artículo\";'),('es','messages:textmatches','s:35:\"Coincidencias de texto de artículo\";'),('es','messages:notextmatches','s:42:\"No hay coincidencias de texto de artículo\";'),('es','messages:prevn','s:24:\"{{PLURAL:$1|$1}} previas\";'),('es','messages:nextn','s:27:\"{{PLURAL:$1|$1}} siguientes\";'),('es','messages:prevn-title','s:45:\"$1 {{PLURAL:$1|resultado|resultados}} previos\";'),('es','messages:nextn-title','s:47:\"Próximos $1 {{PLURAL:$1|resultado|resultados}}\";'),('es','messages:shown-title','s:57:\"Mostrar $1 {{PLURAL:$1|resultado|resultados}} por página\";'),('es','messages:viewprevnext','s:40:\"Ver ($1 {{int:pipe-separator}} $2) ($3).\";'),('es','messages:searchmenu-legend','s:21:\"Opciones de búsqueda\";'),('es','messages:searchmenu-exists','s:53:\"\'\'\'Hay una página llamada \"[[:$1]]\" en esta wiki.\'\'\'\";'),('es','messages:searchmenu-new','s:49:\"\'\'\'¡Crea la página «[[:$1]]» en este wiki!\'\'\'\";'),('es','messages:searchhelp-url','s:10:\"Help:Ayuda\";'),('es','messages:searchmenu-prefix','s:58:\"[[Special:PrefixIndex/$1|Otras páginas con este prefijo]]\";'),('es','messages:searchprofile-articles','s:21:\"Páginas de contenido\";'),('es','messages:searchprofile-project','s:31:\"Páginas de ayuda y de proyecto\";'),('es','messages:searchprofile-images','s:10:\"Multimedia\";'),('es','messages:searchprofile-everything','s:4:\"Todo\";'),('es','messages:searchprofile-advanced','s:8:\"Avanzado\";'),('es','messages:searchprofile-articles-tooltip','s:12:\"Buscar en $1\";'),('es','messages:searchprofile-project-tooltip','s:12:\"Buscar en $1\";'),('es','messages:searchprofile-images-tooltip','s:15:\"Buscar archivos\";'),('es','messages:searchprofile-everything-tooltip','s:63:\"Buscar en todo el contenido (incluyendo páginas de discusión)\";'),('es','messages:searchprofile-advanced-tooltip','s:44:\"Buscar en espacios de nombres personalizados\";'),('es','messages:search-result-size','s:40:\"$1 ({{PLURAL:$2|1 palabra|$2 palabras}})\";'),('es','messages:search-result-category-size','s:122:\"{{PLURAL:$1|1 miembro|$1 miembros}} ({{PLURAL:$2|1 subcategoría|$2 subcategorías}}, {{PLURAL:$3|1 fichero|$3 ficheros}})\";'),('es','messages:search-result-score','s:15:\"Relevancia: $1%\";'),('es','messages:search-redirect','s:19:\"(redirige desde $1)\";'),('es','messages:search-section','s:13:\"(sección $1)\";'),('es','messages:search-suggest','s:26:\"Quizás quieres buscar: $1\";'),('es','messages:search-interwiki-caption','s:18:\"Proyectos hermanos\";'),('es','messages:search-interwiki-default','s:17:\"Resultados de $1:\";'),('es','messages:search-interwiki-more','s:6:\"(más)\";'),('es','messages:search-mwsuggest-enabled','s:15:\"con sugerencias\";'),('es','messages:search-mwsuggest-disabled','s:15:\"sin sugerencias\";'),('es','messages:search-relatedarticle','s:11:\"Relacionado\";'),('es','messages:mwsuggest-disable','s:38:\"Desactivar AJAX al realizar búsquedas\";'),('es','messages:searcheverything-enable','s:39:\"Buscar en todos los espacios de nombres\";'),('es','messages:searchrelated','s:11:\"relacionado\";'),('es','messages:searchall','s:5:\"todos\";'),('es','messages:showingresults','s:114:\"Abajo se {{PLURAL:$1|muestra \'\'\'1\'\'\' resultado|muestran hasta \'\'\'$1\'\'\' resultados}} empezando por el nº \'\'\'$2\'\'\'.\";'),('es','messages:showingresultsnum','s:112:\"Abajo se {{PLURAL:$3|muestra \'\'\'1\'\'\' resultado|muestran los \'\'\'$3\'\'\' resultados}} empezando por el nº \'\'\'$2\'\'\'.\";'),('es','messages:showingresultsheader','s:93:\"{{PLURAL:$5|Resultado \'\'\'$1\'\'\' de \'\'\'$3\'\'\'|Resultados \'\'\'$1-$2\'\'\' de \'\'\'$3\'\'\'}} para \'\'\'$4\'\'\'\";'),('es','messages:nonefound','s:257:\"\'\'\'Nota\'\'\': De manera predeterminada solo se busca en algunos espacios de nombres.\nPrueba a usar el prefijo \'\'all:\'\' para buscar en todo el contenido (incluyendo páginas de discusión, plantillas, etc.) o usa el espacio de nombres que quieras como prefijo.\";'),('es','messages:search-nonefound','s:57:\"No hay resultados que cumplan los criterios de búsqueda.\";'),('es','messages:powersearch','s:18:\"Búsqueda avanzada\";'),('es','messages:powersearch-legend','s:18:\"Búsqueda avanzada\";'),('es','messages:powersearch-ns','s:34:\"Buscar en los espacios de nombres:\";'),('es','messages:powersearch-redir','s:20:\"Listar redirecciones\";'),('es','messages:powersearch-field','s:6:\"Buscar\";'),('es','messages:powersearch-togglelabel','s:12:\"Seleccionar:\";'),('es','messages:powersearch-toggleall','s:5:\"Todos\";'),('es','messages:powersearch-togglenone','s:7:\"Ninguno\";'),('es','messages:search-external','s:17:\"Búsqueda externa\";'),('es','messages:searchdisabled','s:202:\"Las búsquedas en {{SITENAME}} están temporalmente desactivadas.\nMientras tanto puedes buscar mediante Google, pero ten en cuenta que sus índices relativos a {{SITENAME}} pueden estar desactualizados.\";'),('es','messages:qbsettings','s:8:\"Quickbar\";'),('es','messages:qbsettings-none','s:7:\"Ninguna\";'),('es','messages:qbsettings-fixedleft','s:19:\"Fija a la izquierda\";'),('es','messages:qbsettings-fixedright','s:17:\"Fija a la derecha\";'),('es','messages:qbsettings-floatingleft','s:23:\"Flotante a la izquierda\";'),('es','messages:qbsettings-floatingright','s:21:\"Flotante a la derecha\";'),('es','messages:qbsettings-directionality','s:69:\"Fijos, dependiendo de la direccionalidad de la escritura de su idioma\";'),('es','messages:preferences','s:12:\"Preferencias\";'),('es','messages:mypreferences','s:12:\"Preferencias\";'),('es','messages:prefs-edits','s:22:\"Cantidad de ediciones:\";'),('es','messages:prefsnologin','s:23:\"No has iniciado sesión\";'),('es','messages:prefsnologintext','s:152:\"Necesitas <span class=\"plainlinks\">[{{fullurl:{{#Special:UserLogin}}|returnto=$1}} iniciar sesión]</span> para establecer las preferencias del usuario.\";'),('es','messages:changepassword','s:19:\"Cambiar contraseña\";'),('es','messages:prefs-skin','s:4:\"Skin\";'),('es','messages:skin-preview','s:13:\"Previsualizar\";'),('es','messages:datedefault','s:15:\"Sin preferencia\";'),('es','messages:prefs-beta','s:26:\"Características de prueba\";'),('es','messages:prefs-datetime','s:12:\"Fecha y hora\";'),('es','messages:prefs-labs','s:36:\"Características de los laboratorios\";'),('es','messages:prefs-personal','s:17:\"Perfil de usuario\";'),('es','messages:prefs-rc','s:17:\"Cambios recientes\";'),('es','messages:prefs-watchlist','s:11:\"Seguimiento\";'),('es','messages:prefs-watchlist-days','s:54:\"Número de días a mostrar en la lista de seguimiento:\";'),('es','messages:prefs-watchlist-days-max','s:15:\"Máximo 7 días\";'),('es','messages:prefs-watchlist-edits','s:53:\"Número de ediciones a mostrar en la lista expandida:\";'),('es','messages:prefs-watchlist-edits-max','s:13:\"Máximo: 1000\";'),('es','messages:prefs-watchlist-token','s:30:\"Ficha de lista de seguimiento:\";'),('es','messages:prefs-misc','s:11:\"Miscelánea\";'),('es','messages:prefs-resetpass','s:19:\"Cambiar contraseña\";'),('es','messages:prefs-email','s:31:\"Opciones de correo electrónico\";'),('es','messages:prefs-rendering','s:10:\"Apariencia\";'),('es','messages:saveprefs','s:7:\"Guardar\";'),('es','messages:resetprefs','s:27:\"Limpiar cambios sin guardar\";'),('es','messages:restoreprefs','s:42:\"Restaurar la configuración predeterminada\";'),('es','messages:prefs-editing','s:8:\"Edición\";'),('es','messages:prefs-edit-boxsize','s:34:\"Tamaño de la ventana de edición.\";'),('es','messages:rows','s:6:\"Filas:\";'),('es','messages:columns','s:9:\"Columnas:\";'),('es','messages:searchresultshead','s:10:\"Búsquedas\";'),('es','messages:resultsperpage','s:23:\"Resultados por página:\";'),('es','messages:stub-threshold','s:77:\"Límite para formato de <a href=\"#\" class=\"stub\">enlace a esbozo</a> (bytes):\";'),('es','messages:stub-threshold-disabled','s:11:\"Desactivado\";'),('es','messages:recentchangesdays','s:37:\"Días a mostrar en cambios recientes:\";'),('es','messages:recentchangesdays-max','s:40:\"(máximo {{PLURAL:$1|un día|$1 días}})\";'),('es','messages:recentchangescount','s:56:\"Número de ediciones a mostrar de manera predeterminada:\";'),('es','messages:prefs-help-recentchangescount','s:68:\"Esto incluye cambios recientes, historiales de página, y registros.\";'),('es','messages:prefs-help-watchlist-token','s:281:\"Rellenar este campo con una clave secreta generará un canal RSS para tu lista de seguimiento.\nCualquiera que conozca la clave en este campo será capaz de leer tu lista de seguimiento, así que escoge un valor seguro. Aquí hay un valor generado aleatoriamente que puedes usar: $1\";'),('es','messages:savedprefs','s:36:\"Tus preferencias han sido guardadas.\";'),('es','messages:timezonelegend','s:13:\"Zona horaria:\";'),('es','messages:localtime','s:11:\"Hora local:\";'),('es','messages:timezoneuseserverdefault','s:30:\"Usar la hora del servidor ($1)\";'),('es','messages:timezoneuseoffset','s:39:\"Otra (especifica la diferencia horaria)\";'),('es','messages:timezoneoffset','s:13:\"Diferencia¹:\";'),('es','messages:servertime','s:18:\"Hora del servidor:\";'),('es','messages:guesstimezone','s:42:\"Rellenar a partir de la hora del navegador\";'),('es','messages:timezoneregion-africa','s:7:\"África\";'),('es','messages:timezoneregion-america','s:8:\"América\";'),('es','messages:timezoneregion-antarctica','s:10:\"Antártica\";'),('es','messages:timezoneregion-arctic','s:7:\"Ártico\";'),('es','messages:timezoneregion-asia','s:4:\"Asia\";'),('es','messages:timezoneregion-atlantic','s:18:\"Océano Atlántico\";'),('es','messages:timezoneregion-australia','s:9:\"Australia\";'),('es','messages:timezoneregion-europe','s:6:\"Europa\";'),('es','messages:timezoneregion-indian','s:15:\"Océano Índico\";'),('es','messages:timezoneregion-pacific','s:17:\"Océano Pacífico\";'),('es','messages:allowemail','s:45:\"Aceptar correo electrónico de otros usuarios\";'),('es','messages:prefs-searchoptions','s:21:\"Opciones de búsqueda\";'),('es','messages:prefs-namespaces','s:19:\"Espacios de nombres\";'),('es','messages:defaultns','s:48:\"Buscar en estos espacios de nombres por defecto:\";'),('es','messages:default','s:11:\"por defecto\";'),('es','messages:prefs-files','s:8:\"Archivos\";'),('es','messages:prefs-custom-css','s:17:\"CSS personalizado\";'),('es','messages:prefs-custom-js','s:24:\"JavaScript personalizado\";'),('es','messages:prefs-common-css-js','s:39:\"CSS/JS compartido para todas las skins:\";'),('es','messages:prefs-reset-intro','s:116:\"Puedes usar esta página para restaurar tus preferencias a las predeterminadas del sitio.\nEsto no se puede deshacer.\";'),('es','messages:prefs-emailconfirm-label','s:37:\"Confirmación de correo electrónico:\";'),('es','messages:prefs-textboxsize','s:33:\"Tamaño de la página de edición\";'),('es','messages:youremail','s:20:\"Correo electrónico:\";'),('es','messages:username','s:18:\"Nombre de usuario:\";'),('es','messages:uid','s:14:\"ID de usuario:\";'),('es','messages:prefs-memberingroups','s:46:\"Miembro {{PLURAL:$1|del grupo|de los grupos}}:\";'),('es','messages:prefs-registration','s:17:\"Hora de registro:\";'),('es','messages:yourrealname','s:12:\"Nombre real:\";'),('es','messages:yourlanguage','s:7:\"Idioma:\";'),('es','messages:yourvariant','s:37:\"Variante lingüística del contenido:\";'),('es','messages:yournick','s:12:\"Nueva firma:\";'),('es','messages:prefs-help-signature','s:140:\"Los comentarios en páginas de discusión deberían firmarse con «<nowiki>~~~~</nowiki>», que se convertirá en tu firma con fecha y hora.\";'),('es','messages:badsig','s:67:\"El código de tu firma no es válido; comprueba las etiquetas HTML.\";'),('es','messages:badsiglength','s:92:\"La firma es muy larga. Debe contener un máximo de {{PLURAL:$1|un carácter|$1 caracteres}}.\";'),('es','messages:yourgender','s:8:\"Género:\";'),('es','messages:gender-unknown','s:15:\"Sin especificar\";'),('es','messages:gender-male','s:9:\"Masculino\";'),('es','messages:gender-female','s:8:\"Femenino\";'),('es','messages:prefs-help-gender','s:120:\"Opcional: empleado para que sea usado correctamente el género por parte del software. Esta información será pública.\";'),('es','messages:email','s:19:\"Correo electrónico\";'),('es','messages:prefs-help-realname','s:99:\"El nombre real es opcional. Si decides proporcionarlo, se usará para dar atribución a tu trabajo.\";'),('es','messages:prefs-help-email','s:138:\"La dirección de correo electrónico es opcional, pero es necesaria para el restablecimiento de tu contraseña, en caso de que la olvides.\";'),('es','messages:prefs-help-email-others','s:208:\"También puedes permitir que otros usuarios te contacten por correo-e a través de un enlace en tus páginas de usuario y discusión.\nTu dirección de correo-e no se revela cuando otros usuarios te contactan.\";'),('es','messages:prefs-help-email-required','s:64:\"Es necesario proporcionar una dirección de correo electrónico.\";'),('es','messages:prefs-info','s:20:\"Información básica\";'),('es','messages:prefs-i18n','s:21:\"Internacionalización\";'),('es','messages:prefs-signature','s:5:\"Firma\";'),('es','messages:prefs-dateformat','s:16:\"Formato de fecha\";'),('es','messages:prefs-timeoffset','s:18:\"Diferencia horaria\";'),('es','messages:prefs-advancedediting','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedrc','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedrendering','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedsearchoptions','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-advancedwatchlist','s:18:\"Opciones avanzadas\";'),('es','messages:prefs-displayrc','s:20:\"Opciones de mostrado\";'),('es','messages:prefs-displaysearchoptions','s:26:\"Opciones de visualización\";'),('es','messages:prefs-displaywatchlist','s:26:\"Opciones de visualización\";'),('es','messages:prefs-diffs','s:11:\"Diferencias\";'),('es','messages:email-address-validity-valid','s:55:\"La dirección de correo electrónico parece ser válida\";'),('es','messages:email-address-validity-invalid','s:42:\"Introduce una dirección de correo válida\";'),('es','messages:userrights','s:38:\"Configuración de permisos de usuarios\";'),('es','messages:userrights-lookup-user','s:29:\"Configurar grupos de usuarios\";'),('es','messages:userrights-user-editname','s:29:\"Escriba un nombre de usuario:\";'),('es','messages:editusergroup','s:28:\"Modificar grupos de usuarios\";'),('es','messages:editinguser','s:172:\"Cambiando los derechos del usuario \'\'\'[[User:$1|$1]]\'\'\' ([[User talk:$1|{{int:talkpagelinktext}}]] {{int:pipe-separator}} [[Special:Contributions/$1|{{int:contribslink}}]])\";'),('es','messages:userrights-editusergroup','s:28:\"Modificar grupos de usuarios\";'),('es','messages:saveusergroups','s:26:\"Guardar grupos de usuarios\";'),('es','messages:userrights-groupsmember','s:11:\"Miembro de:\";'),('es','messages:userrights-groupsmember-auto','s:22:\"Miembro implícito de:\";'),('es','messages:userrights-groups-help','s:285:\"Puedes modificar los grupos a los que pertenece este usuario:\n* Un recuadro marcado significa que el usuario está en ese grupo.\n* Un recuadro no marcado significa que el usuario no está en ese grupo.\n* Un * indica que no podrás retirar el grupo una vez que lo concedas, o viceversa.\";'),('es','messages:userrights-reason','s:7:\"Motivo:\";'),('es','messages:userrights-no-interwiki','s:87:\"No tienes permiso para editar los grupos a los que pertenece un usuario en otros wikis.\";'),('es','messages:userrights-nodatabase','s:44:\"La base de datos $1 no existe o no es local.\";'),('es','messages:userrights-nologin','s:121:\"Debes [[Special:UserLogin|iniciar sesión]] con una cuenta de administrador para poder editar los grupos de los usuarios.\";'),('es','messages:userrights-notallowed','s:70:\"Tu cuenta no tiene permiso para añadir o retirar permisos de usuario.\";'),('es','messages:userrights-changeable-col','s:25:\"Grupos que puedes cambiar\";'),('es','messages:userrights-unchangeable-col','s:28:\"Grupos que no puedes cambiar\";'),('es','messages:group','s:6:\"Grupo:\";'),('es','messages:group-user','s:8:\"Usuarios\";'),('es','messages:group-autoconfirmed','s:24:\"Usuarios autoconfirmados\";'),('es','messages:group-bot','s:4:\"Bots\";'),('es','messages:group-sysop','s:15:\"Administradores\";'),('es','messages:group-bureaucrat','s:11:\"Burócratas\";'),('es','messages:group-suppress','s:23:\"Supresores de ediciones\";'),('es','messages:group-all','s:7:\"(todos)\";'),('es','messages:group-user-member','s:7:\"usuario\";'),('es','messages:group-autoconfirmed-member','s:22:\"usuario autoconfirmado\";'),('es','messages:group-bot-member','s:3:\"bot\";'),('es','messages:group-sysop-member','s:13:\"administrador\";'),('es','messages:group-bureaucrat-member','s:10:\"burócrata\";'),('es','messages:group-suppress-member','s:21:\"supresor de ediciones\";'),('es','messages:grouppage-user','s:23:\"{{ns:project}}:Usuarios\";'),('es','messages:grouppage-autoconfirmed','s:39:\"{{ns:project}}:Usuarios autoconfirmados\";'),('es','messages:grouppage-bot','s:19:\"{{ns:project}}:Bots\";'),('es','messages:grouppage-sysop','s:30:\"{{ns:project}}:Administradores\";'),('es','messages:grouppage-bureaucrat','s:26:\"{{ns:project}}:Burócratas\";'),('es','messages:grouppage-suppress','s:38:\"{{ns:project}}:Supresores de ediciones\";'),('es','messages:right-read','s:13:\"Leer páginas\";'),('es','messages:right-edit','s:15:\"Editar páginas\";'),('es','messages:right-createpage','s:49:\"Crear páginas que no sean páginas de discusión\";'),('es','messages:right-createtalk','s:28:\"Crear páginas de discusión\";'),('es','messages:right-createaccount','s:31:\"Crear cuentas de usuario nuevas\";'),('es','messages:right-minoredit','s:33:\"Marcar ediciones como «menores»\";'),('es','messages:right-move','s:18:\"Trasladar páginas\";'),('es','messages:right-move-subpages','s:38:\"Trasladar páginas con sus subpáginas\";'),('es','messages:right-move-rootuserpages','s:32:\"Mover páginas del usuario raíz\";'),('es','messages:right-movefile','s:14:\"Mover archivos\";'),('es','messages:right-suppressredirect','s:68:\"No crear redirecciones de las páginas fuente  al trasladar páginas\";'),('es','messages:right-upload','s:14:\"Subir archivos\";'),('es','messages:right-reupload','s:48:\"Subir una nueva versión de un archivo existente\";'),('es','messages:right-reupload-own','s:59:\"Subir una nueva versión de un archivo creado por uno mismo\";'),('es','messages:right-reupload-shared','s:60:\"Sobreescribir localmente ficheros del repositorio multimedia\";'),('es','messages:right-upload_by_url','s:35:\"Subir un archivo a traves de un URL\";'),('es','messages:right-purge','s:63:\"Purgar la caché en el servidor sin tener que dar confirmación\";'),('es','messages:right-autoconfirmed','s:30:\"Editar páginas semiprotegidas\";'),('es','messages:right-bot','s:40:\"Ser tratado como un programa automático\";'),('es','messages:right-nominornewtalk','s:95:\"No accionar el aviso de nuevos mensajes al realizar ediciones menores de páginas de discusión\";'),('es','messages:right-apihighlimits','s:57:\"Tener límites más altos de peticiones a través del API\";'),('es','messages:right-writeapi','s:31:\"Hacer uso del API para escribir\";'),('es','messages:right-delete','s:15:\"Borrar páginas\";'),('es','messages:right-bigdelete','s:39:\"Borrar páginas con historiales grandes\";'),('es','messages:right-deleterevision','s:54:\"Borrar y restaurar revisiones específicas de páginas\";'),('es','messages:right-deletedhistory','s:60:\"Ver el historial de páginas borradas, sin el texto asociado\";'),('es','messages:right-deletedtext','s:53:\"Ver texto borrado y cambios entre revisiones borradas\";'),('es','messages:right-browsearchive','s:24:\"Buscar páginas borradas\";'),('es','messages:right-undelete','s:21:\"Restaurar una página\";'),('es','messages:right-suppressrevision','s:61:\"Revisar y restaurar revisiones escondidas por administradores\";'),('es','messages:right-suppressionlog','s:22:\"Ver registros privados\";'),('es','messages:right-block','s:44:\"Bloquear a otros usuarios para que no editen\";'),('es','messages:right-blockemail','s:68:\"Bloquear a un usuario para que no pueda mandar correos electrónicos\";'),('es','messages:right-hideuser','s:52:\"Bloquear un nombre de usuario, haciéndolo invisible\";'),('es','messages:right-ipblock-exempt','s:72:\"Pasar por encima de bloqueos de IPs, auto-bloqueos y bloqueos de rangos.\";'),('es','messages:right-proxyunbannable','s:52:\"Pasar por encima de bloqueos automáticos de proxies\";'),('es','messages:right-unblockself','s:13:\"Desbloquearse\";'),('es','messages:right-protect','s:59:\"Cambiar niveles de protección y editar páginas protegidas\";'),('es','messages:right-editprotected','s:62:\"Editar páginas protegidas (sin la protección «en cascada»)\";'),('es','messages:right-editinterface','s:29:\"Editar la interfaz de usuario\";'),('es','messages:right-editusercssjs','s:49:\"Editar las páginas de CSS y JS de otros usuarios\";'),('es','messages:right-editusercss','s:44:\"Editar las páginas de CSS de otros usuarios\";'),('es','messages:right-edituserjs','s:43:\"Editar las páginas de JS de otros usuarios\";'),('es','messages:right-rollback','s:95:\"Revertir rápidamente las ediciones del último usuario que modificó una página en particular\";'),('es','messages:right-markbotedits','s:51:\"Marcar ediciones deshechas como ediciones de un bot\";'),('es','messages:right-noratelimit','s:38:\"No afectado por límites de frecuencia\";'),('es','messages:right-import','s:35:\"Importar páginas desde otras wikis\";'),('es','messages:right-importupload','s:38:\"Importar páginas de un archivo subido\";'),('es','messages:right-patrol','s:42:\"Marcar ediciones de otros como patrulladas\";'),('es','messages:right-autopatrol','s:54:\"Marcar como patrulladas sus ediciones automáticamente\";'),('es','messages:right-patrolmarks','s:49:\"Ver las marcas de patrullaje de cambios recientes\";'),('es','messages:right-unwatchedpages','s:38:\"Ver una lista de páginas no vigiladas\";'),('es','messages:right-trackback','s:23:\"Enviar un \'\'trackback\'\'\";'),('es','messages:right-mergehistory','s:20:\"Fusionar historiales\";'),('es','messages:right-userrights','s:39:\"Modificar todos los derechos de usuario\";'),('es','messages:right-userrights-interwiki','s:49:\"Modificar los derechos de usuarios en otros wikis\";'),('es','messages:right-siteadmin','s:39:\"Bloquear y desbloquear la base de datos\";'),('es','messages:right-override-export-depth','s:73:\"Exporta páginas incluyendo aquellas enlazadas hasta una profundidad de 5\";'),('es','messages:right-sendemail','s:46:\"Enviar un correo electrónico a otros usuarios\";'),('es','messages:rightslog','s:28:\"Cambios de perfil de usuario\";'),('es','messages:rightslogtext','s:59:\"Este es un registro de cambios en los permisos de usuarios.\";'),('es','messages:rightslogentry','s:55:\"modificó los grupos a los que pertenece $1: de $2 a $3\";'),('es','messages:rightslogentry-autopromote','s:44:\"fue promovido automáticamente desde $2 a $3\";'),('es','messages:rightsnone','s:9:\"(ninguno)\";'),('es','messages:action-read','s:17:\"leer esta página\";'),('es','messages:action-edit','s:22:\"modificar esta página\";'),('es','messages:action-createpage','s:14:\"crear páginas\";'),('es','messages:action-createtalk','s:28:\"crear páginas de discusión\";'),('es','messages:action-createaccount','s:28:\"crear esta cuenta de usuario\";'),('es','messages:action-minoredit','s:29:\"marcar este cambio como menor\";'),('es','messages:action-move','s:18:\"mover esta página\";'),('es','messages:action-move-subpages','s:36:\"mover esta página y sus subpáginas\";'),('es','messages:action-move-rootuserpages','s:32:\"mover páginas del usuario raíz\";'),('es','messages:action-movefile','s:18:\"mover este archivo\";'),('es','messages:action-upload','s:18:\"subir este archivo\";'),('es','messages:action-reupload','s:33:\"reemplazar este archivo existente\";'),('es','messages:action-reupload-shared','s:60:\"reemplazar este archivo existente en un depósito compartido\";'),('es','messages:action-upload_by_url','s:43:\"subir este archivo desde una dirección URL\";'),('es','messages:action-writeapi','s:28:\"utilizar el API de escritura\";'),('es','messages:action-delete','s:19:\"borrar esta página\";'),('es','messages:action-deleterevision','s:21:\"borrar esta revisión\";'),('es','messages:action-deletedhistory','s:40:\"ver el historial borrado de esta página\";'),('es','messages:action-browsearchive','s:24:\"buscar páginas borradas\";'),('es','messages:action-undelete','s:22:\"recuperar esta página\";'),('es','messages:action-suppressrevision','s:44:\"revisar y restaurar esta revisión escondida\";'),('es','messages:action-suppressionlog','s:25:\"ver este registro privado\";'),('es','messages:action-block','s:41:\"bloquear a este usuario para que no edite\";'),('es','messages:action-protect','s:52:\"cambiar los niveles de protección para esta página\";'),('es','messages:action-import','s:37:\"importar esta página desde otro wiki\";'),('es','messages:action-importupload','s:53:\"importar esta página mediante la carga de un archivo\";'),('es','messages:action-patrol','s:42:\"marcar ediciones de otros como patrulladas\";'),('es','messages:action-autopatrol','s:45:\"marcar como patrulladas tus propias ediciones\";'),('es','messages:action-unwatchedpages','s:37:\"ver la lista de páginas no vigiladas\";'),('es','messages:action-trackback','s:34:\"enviar una notificación de enlace\";'),('es','messages:action-mergehistory','s:37:\"fusionar el historial de esta página\";'),('es','messages:action-userrights','s:39:\"modificar todos los derechos de usuario\";'),('es','messages:action-userrights-interwiki','s:49:\"modificar los derechos de usuarios en otros wikis\";'),('es','messages:action-siteadmin','s:39:\"bloquear o desbloquear la base de datos\";'),('es','messages:nchanges','s:31:\"$1 {{PLURAL:$1|cambio|cambios}}\";'),('es','messages:recentchanges','s:17:\"Cambios recientes\";'),('es','messages:recentchanges-legend','s:32:\"Opciones sobre cambios recientes\";'),('es','messages:recentchangestext','s:60:\"Sigue los cambios más recientes de la wiki en esta página.\";'),('es','messages:recentchanges-feed-description','s:58:\"Seguir los cambios más recientes en el wiki en este feed.\";'),('es','messages:recentchanges-label-newpage','s:37:\"Esta edición creó una nueva página\";'),('es','messages:recentchanges-label-minor','s:26:\"Esta es una edición menor\";'),('es','messages:recentchanges-label-bot','s:40:\"Esta edición fue realizada por un robot\";'),('es','messages:recentchanges-label-unpatrolled','s:42:\"Esta edición todavía no se ha patrullado\";'),('es','messages:rcnote','s:177:\"Debajo {{PLURAL:$1|hay \'\'\'1\'\'\' cambio efectuado|están los últimos \'\'\'$1\'\'\' cambios efectuados}} en  {{PLURAL:$2|el último día|los últimos \'\'\'$2\'\'\' días}}, hasta el $4, $5.\";'),('es','messages:rcnotefrom','s:74:\"A continuación se muestran los cambios desde <b>$2</b> (hasta <b>$1</b>).\";'),('es','messages:rclistfrom','s:31:\"Mostrar nuevos cambios desde $1\";'),('es','messages:rcshowhideminor','s:20:\"$1 ediciones menores\";'),('es','messages:rcshowhidebots','s:7:\"$1 bots\";'),('es','messages:rcshowhideliu','s:23:\"$1 usuarios registrados\";'),('es','messages:rcshowhideanons','s:21:\"$1 usuarios anónimos\";'),('es','messages:rcshowhidepatr','s:24:\"$1 ediciones patrulladas\";'),('es','messages:rcshowhidemine','s:16:\"$1 mis ediciones\";'),('es','messages:rclinks','s:61:\"Ver los últimos $1 cambios en los últimos $2 días.<br />$3\";'),('es','messages:diff','s:3:\"dif\";'),('es','messages:hist','s:4:\"hist\";'),('es','messages:hide','s:7:\"Ocultar\";'),('es','messages:show','s:7:\"mostrar\";'),('es','messages:minoreditletter','s:1:\"m\";'),('es','messages:newpageletter','s:1:\"N\";'),('es','messages:boteditletter','s:1:\"b\";'),('es','messages:number_of_watching_users_pageview','s:45:\"[$1 {{PLURAL:$1|usuario|usuarios}} vigilando]\";'),('es','messages:rc_categories','s:47:\"Limitar a las categorías (separadas por «|»)\";'),('es','messages:rc_categories_any','s:10:\"Cualquiera\";'),('es','messages:newsectionsummary','s:24:\"Nueva sección: /* $1 */\";'),('es','messages:rc-enhanced-expand','s:38:\"Mostrar detalles (requiere JavaScript)\";'),('es','messages:rc-enhanced-hide','s:16:\"Ocultar detalles\";'),('es','messages:recentchangeslinked','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-feed','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-toolbox','s:20:\"Cambios relacionados\";'),('es','messages:recentchangeslinked-title','s:31:\"Cambios relacionados con «$1»\";'),('es','messages:recentchangeslinked-noresult','s:70:\"No hubo cambios en las páginas enlazadas durante el periodo indicado.\";'),('es','messages:recentchangeslinked-summary','s:237:\"Esta página es una lista de los últimos cambios en las páginas enlazadas desde una página (o en las pertenecientes a una categoría). Las páginas que están en tu [[Special:Watchlist|lista de seguimiento]] aparecen en \'\'\'negrita\'\'\'.\";'),('es','messages:recentchangeslinked-page','s:21:\"Nombre de la página:\";'),('es','messages:recentchangeslinked-to','s:61:\"Muestra los cambios recientes en lugar de la página indicada\";'),('es','messages:upload','s:13:\"Subir archivo\";'),('es','messages:uploadbtn','s:16:\"Subir un archivo\";'),('es','messages:reuploaddesc','s:34:\"Regresar al formulario para subir.\";'),('es','messages:upload-tryagain','s:45:\"Envíe la descripción del archivo modificado\";'),('es','messages:uploadnologin','s:23:\"No has iniciado sesión\";'),('es','messages:uploadnologintext','s:75:\"Tienes que [[Special:UserLogin|iniciar sesión]] para poder subir archivos.\";'),('es','messages:upload_directory_missing','s:90:\"El directorio de subida de archivos ($1) no existe, y no puede ser creado por el servidor.\";'),('es','messages:upload_directory_read_only','s:78:\"El servidor web no puede escribir en el directorio de subida de archivos ($1).\";'),('es','messages:uploaderror','s:31:\"Error al intentar subir archivo\";'),('es','messages:upload-recreate-warning','s:151:\"\'\'\'Aviso: Un archivo con ese nombre ha sido eliminado o renombrado.\'\'\'\n\nA continuación se muestra el registro de borrados y traslados de esta página:\";'),('es','messages:uploadtext','s:904:\"Utiliza el siguiente formulario para subir archivos.\nPara ver o buscar archivos subidos con anterioridad, ve a la [[Special:FileList|lista de archivos subidos]].\nLos archivos subidos quedarán registrados además en el [[Special:Log/upload|registro de archivos subidos]] y los borrados en el [[Special:Log/delete|registro de borrados]].\n\nPara incluir un archivo en una página, usa un enlace como los mostrados a continuación:\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></tt>\'\'\' para usar el fichero en tamaño completo\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|texto descriptivo]]</nowiki></tt>\'\'\' para una versión de 200 píxeles de ancho en una caja en el margen izquierdo con \'texto descriptivo\' como descripción\n* \'\'\'<tt><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></tt>\'\'\' para enlazar directamente al fichero sin mostrarlo.\";'),('es','messages:upload-permitted','s:32:\"Tipos de archivo permitidos: $1.\";'),('es','messages:upload-preferred','s:32:\"Tipos de archivo preferidos: $1.\";'),('es','messages:upload-prohibited','s:32:\"Tipos de archivo prohibidos: $1.\";'),('es','messages:uploadlog','s:19:\"registro de subidas\";'),('es','messages:uploadlogpage','s:19:\"Subidas de archivos\";'),('es','messages:uploadlogpagetext','s:139:\"Abajo hay una lista de los últimos archivos subidos.\nMira la [[Special:NewFiles|galería de archivos nuevos]] para una descripción visual\";'),('es','messages:filename','s:18:\"Nombre del archivo\";'),('es','messages:filedesc','s:7:\"Sumario\";'),('es','messages:fileuploadsummary','s:13:\"Descripción:\";'),('es','messages:filereuploadsummary','s:19:\"Cambios de archivo:\";'),('es','messages:filestatus','s:20:\"Estado de copyright:\";'),('es','messages:filesource','s:7:\"Fuente:\";'),('es','messages:uploadedfiles','s:16:\"Archivos subidos\";'),('es','messages:ignorewarning','s:38:\"Ignorar aviso y guardar de todos modos\";'),('es','messages:ignorewarnings','s:23:\"Ignorar cualquier aviso\";'),('es','messages:minlength1','s:54:\"Los nombres de archivo deben tener al menos una letra.\";'),('es','messages:illegalfilename','s:156:\"El nombre de archivo «$1» contiene caracteres que no están permitidos en títulos de páginas. Por favor, renombra el archivo e intenta volver a subirlo.\";'),('es','messages:badfilename','s:47:\"El nombre de la imagen se ha cambiado a «$1».\";'),('es','messages:filetype-mime-mismatch','s:92:\"La extensión de archivo «.$1» no coincide con el tipo detectado de MIME del archivo ($2).\";'),('es','messages:filetype-badmime','s:49:\"No se permite subir archivos de tipo MIME «$1».\";'),('es','messages:filetype-bad-ie-mime','s:156:\"No se puede subir este archivo porque Internet Explorer podría considerarlo como «$1», que es un tipo de archivo no permitido y potencialmente peligroso.\";'),('es','messages:filetype-unwanted-type','s:135:\"\'\'\'«.$1»\'\'\' no está entre los tipos de fichero aconsejados.\n{{PLURAL:$3|El único tipo aconsejado es|Los tipos aconsejados son}} $2.\";'),('es','messages:filetype-banned-type','s:184:\"\'\'\'\".$1\"\'\'\' {{PLURAL:$4|no es un tipo de archivo permitido|no son tipos de archivos permitidos}}.\n{{PLURAL:$3|El tipo de archivo permitido es|Los tipos de archivos permitidos son}} $2.\";'),('es','messages:filetype-missing','s:47:\"El archivo no tiene extensión (como «.jpg»).\";'),('es','messages:empty-file','s:38:\"El archivo que enviaste estaba vacío.\";'),('es','messages:file-too-large','s:44:\"El archivo que enviste era demasiado grande.\";'),('es','messages:filename-tooshort','s:40:\"El nombre de archivo es demasiado corto.\";'),('es','messages:filetype-banned','s:35:\"El tipo de archivo está prohibido.\";'),('es','messages:verification-error','s:51:\"Este archivo no pasó la verificación de archivos.\";'),('es','messages:hookaborted','s:88:\"La modificación que ha intentado realizar fue cancelada por un adicional de extensión.\";'),('es','messages:illegal-filename','s:40:\"El nombre de archivo no está permitido.\";'),('es','messages:overwrite','s:53:\"Sobrescribir un archivo existente no está permitido.\";'),('es','messages:unknown-error','s:30:\"Ocurrió un error desconocido.\";'),('es','messages:tmp-create-error','s:34:\"No se pudo crear archivo temporal.\";'),('es','messages:tmp-write-error','s:35:\"Error al escribir archivo temporal.\";'),('es','messages:large-file','s:76:\"Se recomienda que los archivos no sean mayores de $1; este archivo ocupa $2.\";'),('es','messages:largefileserver','s:84:\"El tamaño de este archivo es mayor del que este servidor admite por configuración.\";'),('es','messages:emptyfile','s:132:\"El archivo que has intentado subir parece estar vacío; por favor, verifica que realmente se trate del archivo que intentabas subir.\";'),('es','messages:windows-nonascii-filename','s:65:\"Este wiki no admite nombres de archivo con caracteres especiales.\";'),('es','messages:fileexists','s:134:\"Ya existe un archivo con este nombre, por favor comprueba \'\'\'<tt>[[:$1]]</tt>\'\'\' si no estás seguro de querer cambiarlo.\n[[$1|thumb]]\";'),('es','messages:filepageexists','s:293:\"La página de descripción de este archivo ya ha sido creada en \'\'\'<tt>[[:$1]]</tt>\'\'\', pero no existe actualmente ningún fichero con este nombre.\nEl resumen que ha ingresado no aparecerá en la página de descripción. Para que el sumario aparezca, deberá editarlo manualmente.\n[[$1|thumb]]\";'),('es','messages:fileexists-extension','s:216:\"Existe un archivo con un nombre similar: [[$2|thumb]]\n* Nombre del archivo que se está subiendo: \'\'\'<tt>[[:$1]]</tt>\'\'\'\n* Nombre del archivo ya existente: \'\'\'<tt>[[:$2]]</tt>\'\'\'\nPor favor, elige un nombre diferente.\";'),('es','messages:fileexists-thumbnail-yes','s:241:\"El archivo parece ser una imagen de tamaño reducido \'\'(thumbnail)\'\'. [[$1|thumb]]\nPor favor comprueba el archivo \'\'\'<tt>[[:$1]]</tt>\'\'\'.\nSi el archivo comprobado es la misma imagen a tamaño original no es necesario subir un thumbnail más.\";'),('es','messages:file-thumbnail-no','s:208:\"El nombre del archivo comienza con \'\'\'<tt>$1</tt>\'\'\'.\nParece ser una imagen de tamaño reducido \'\'(thumbnail)\'\'.\nSi tiene esta imagen a toda resolución súbala, si no, por favor cambie el nombre del archivo.\";'),('es','messages:fileexists-forbidden','s:194:\"Ya existe un archivo con este nombre, y no puede ser grabado encima de otro. Si quiere subir su archivo de todos modos, por favor vuelva atrás y utilice otro nombre. [[File:$1|thumb|center|$1]]\";'),('es','messages:fileexists-shared-forbidden','s:191:\"Ya existe un archivo con este nombre en el repositorio compartido.\nSi todavía quiere subir su archivo, por favor, regrese a la página anterior y use otro nombre. [[File:$1|thumb|center|$1]]\";'),('es','messages:file-exists-duplicate','s:75:\"Este archivo es un duplicado {{PLURAL:$1|del siguiente|de los siguientes}}:\";'),('es','messages:file-deleted-duplicate','s:149:\"Un archivo idéntico a este ([[:$1]]) ha sido borrado con anterioridad. Debes comprobar el historial de borrado del archivo ante de volver a subirlo.\";'),('es','messages:uploadwarning','s:32:\"Advertencia de subida de archivo\";'),('es','messages:uploadwarning-text','s:86:\"Por favor, modifique la descripción del archivo abajo indicada e inténtelo de nuevo.\";'),('es','messages:savefile','s:15:\"Guardar archivo\";'),('es','messages:uploadedimage','s:17:\"subió «[[$1]]»\";'),('es','messages:overwroteimage','s:39:\"subió una nueva versión de «[[$1]]»\";'),('es','messages:uploaddisabled','s:32:\"Subida de archivos deshabilitada\";'),('es','messages:copyuploaddisabled','s:28:\"Carga por URL deshabilitada.\";'),('es','messages:uploadfromurl-queued','s:35:\"Tu carga ha sido enviada a la cola.\";'),('es','messages:uploaddisabledtext','s:29:\"No es posible subir archivos.\";'),('es','messages:php-uploaddisabledtext','s:107:\"La subida de archivos está deshabilitada en PHP. Por favor compruebe <code>file_uploads</code> en php.ini.\";'),('es','messages:uploadscripted','s:106:\"Este archivo contiene script o código HTML que puede ser interpretado erróneamente por un navegador web.\";'),('es','messages:uploadvirus','s:44:\"¡El archivo contiene un virus!\nDetalles: $1\";'),('es','messages:uploadjava','s:165:\"El archivo es un ZIP que contiene un archivo .class de Java.\nNo se permite subir archivos Java, porque pueden causar que se puedan saltar restricciones de seguridad.\";'),('es','messages:upload-source','s:14:\"Archivo origen\";'),('es','messages:sourcefilename','s:26:\"Nombre del archivo origen:\";'),('es','messages:sourceurl','s:20:\"Dirección original:\";'),('es','messages:destfilename','s:30:\"Nombre del archivo de destino:\";'),('es','messages:upload-maxfilesize','s:31:\"Tamaño máximo del archivo: $1\";'),('es','messages:upload-description','s:23:\"Descripción de archivo\";'),('es','messages:upload-options','s:17:\"Opciones de carga\";'),('es','messages:watchthisupload','s:20:\"Vigilar este archivo\";'),('es','messages:filewasdeleted','s:138:\"Un archivo con este nombre se subió con anterioridad y posteriormente ha sido borrado. Deberías revisar el $1 antes de subirlo de nuevo.\";'),('es','messages:filename-bad-prefix','s:239:\"El nombre del archivo que estás subiendo comienza por \'\'\'«$1»\'\'\', un nombre nada descriptivo de su contenido. Es un típico nombre de los que asignan automáticamente las cámaras digitales.\n\nPor favor, elige un nombre más descriptivo.\";'),('es','messages:upload-success-subj','s:17:\"Subida con éxito\";'),('es','messages:upload-success-msg','s:73:\"Tu carga de [$2] fue exitosa. Está disponible aquí: [[:{{ns:file}}:$1]]\";'),('es','messages:upload-failure-subj','s:20:\"Problema en la carga\";'),('es','messages:upload-failure-msg','s:49:\"Hubo un problema durante la carga desde [$2]:\n\n$1\";'),('es','messages:upload-warning-subj','s:15:\"Alerta de carga\";'),('es','messages:upload-warning-msg','s:134:\"Hubo un problema con tu carga de [$2]. Puedes regresar al [[Special:Upload/stash/$1|formulario de carga]] para corregir este problema.\";'),('es','messages:upload-proto-error','s:20:\"Protocolo incorrecto\";'),('es','messages:upload-proto-error-text','s:107:\"Para subir archivos desde otra página la URL debe comenzar por <code>http://</code> o <code>ftp://</code>.\";'),('es','messages:upload-file-error','s:33:\"Error interno al subir el archivo\";'),('es','messages:upload-file-error-text','s:174:\"Ha ocurrido un error interno mientras se intentaba crear un fichero temporal en el servidor. Por favor, contacta con un [[Special:ListUsers/sysop|administrador del sistema]].\";'),('es','messages:upload-misc-error','s:30:\"Error desconocido en la subida\";'),('es','messages:upload-misc-error-text','s:211:\"Ha ocurrido un error durante la subida. Por favor verifica que la URL es válida y accesible e inténtalo de nuevo. Si el problema persiste, contacta con un [[Special:ListUsers/sysop|administrador del sistema]].\";'),('es','messages:upload-too-many-redirects','s:41:\"La URL contenía demasiadas redirecciones\";'),('es','messages:upload-unknown-size','s:19:\"Tamaño desconocido\";'),('es','messages:upload-http-error','s:29:\"Ha ocurrido un error HTTP: $1\";'),('es','messages:zip-file-open-error','s:68:\"Se encontró un error al abrir el archivo ZIP para su comprobación.\";'),('es','messages:zip-wrong-format','s:45:\"El archivo especificado no es un archivo ZIP.\";'),('es','messages:zip-bad','s:88:\"El archivo es un ZIP dañado o que no se puede leer.\nNo se puede comprobar su seguridad.\";'),('es','messages:zip-unsupported','s:136:\"El archivo es un archivo que utiliza características ZIP no compatibles con MediaWiki.\nNo puede comprobarse adecuadamente su seguridad.\";'),('es','messages:uploadstash','s:19:\"Ficheros escondidos\";'),('es','messages:uploadstash-summary','s:217:\"Esta página da acceso a los ficheros enviados (o que están en el proceso de envío) pero que aún no han sido publicados en la wiki. Estos ficheros no son visibles para nadie, excepto para el usuario que los envió.\";'),('es','messages:uploadstash-clear','s:30:\"Borrar los ficheros escondidos\";'),('es','messages:uploadstash-nofiles','s:30:\"No tienes archivos escondidos.\";'),('es','messages:uploadstash-badtoken','s:108:\"No fue posible ejecutar esa operación, tal vez porque sus credenciales de edición expiraron. Reinténtelo.\";'),('es','messages:uploadstash-errclear','s:42:\"El borrado de los archivos no tuvo éxito.\";'),('es','messages:uploadstash-refresh','s:31:\"Actualizar la lista de archivos\";'),('es','messages:img-auth-accessdenied','s:15:\"Acceso denegado\";'),('es','messages:img-auth-nopathinfo','s:232:\"Falta PATH_INFO.\nTu servidor no está configurado para proporcionar esta información.\nPuede que esté basado en CGI y no sea compatible con img_auth.\nVéase [//www.mediawiki.org/wiki/Manual:Image_Authorization image authorization.]\";'),('es','messages:img-auth-notindir','s:61:\"Ruta solicitad no esá en el directorio de cargas configurado\";'),('es','messages:img-auth-badtitle','s:50:\"Incapaz de construir un título válido de «$1».\";'),('es','messages:img-auth-nologinnWL','s:61:\"No has iniciado sesión y «$1» no está en la lista blanca.\";'),('es','messages:img-auth-nofile','s:28:\"El archivo «$1» no existe.\";'),('es','messages:img-auth-isdir','s:92:\"Estás tratando de acceder a un directorio «$1».\nSolo se permite el acceso a los archivos.\";'),('es','messages:img-auth-streaming','s:17:\"Streaming «$1».\";'),('es','messages:img-auth-public','s:170:\"La función de img_auth.php es mostrar archivos desde una wiki privada.\nEsta wiki está configurada como pública.\nPara óptima seguridad, img_auth.php está desactivado.\";'),('es','messages:img-auth-noread','s:44:\"El usuario no tiene acceso para leer «$1».\";'),('es','messages:img-auth-bad-query-string','s:58:\"La dirección URL tiene una cadena de consulta no válida.\";'),('es','messages:http-invalid-url','s:17:\"URL inválida: $1\";'),('es','messages:http-invalid-scheme','s:50:\"Las URLs con el esquema «$1» no son compatibles.\";'),('es','messages:http-request-error','s:55:\"La solicitud HTTP falló debido a un error desconocido.\";'),('es','messages:http-read-error','s:22:\"Error de lectura HTTP.\";'),('es','messages:http-timed-out','s:30:\"La solicitud HTTP ha expirado.\";'),('es','messages:http-curl-error','s:29:\"Error al recuperar el URL: $1\";'),('es','messages:http-host-unreachable','s:32:\"No fue posible acceder a la URL.\";'),('es','messages:http-bad-status','s:54:\"Ha habido un problema durante la solicitud HTTP: $1 $2\";'),('es','messages:upload-curl-error6','s:26:\"No se pudo alcanzar la URL\";'),('es','messages:upload-curl-error6-text','s:106:\"La URL no pudo ser alcanzada. Por favor comprueba que la URL es correcta y el sitio web está funcionando.\";'),('es','messages:upload-curl-error28','s:25:\"Tiempo de espera excedido\";'),('es','messages:upload-curl-error28-text','s:193:\"La página tardó demasiado en responder. Por favor, comprueba que el servidor está funcionando, espera un poco y vuelva a intentarlo. Quizás desees intentarlo en otro momento de menos carga.\";'),('es','messages:license','s:9:\"Licencia:\";'),('es','messages:license-header','s:8:\"Licencia\";'),('es','messages:nolicense','s:20:\"Ninguna seleccionada\";'),('es','messages:license-nopreview','s:33:\"(Previsualización no disponible)\";'),('es','messages:upload_source_url','s:44:\" (una URL válida y accesible públicamente)\";'),('es','messages:upload_source_file','s:25:\" (un archivo en tu disco)\";'),('es','messages:listfiles-summary','s:178:\"Esta página especial muestra todos los archivos subidos.\nCuando es filytrado por el usuario, sólo los archivos cargados por el usuario se muestran en su versión más reciente.\";'),('es','messages:listfiles_search_for','s:28:\"Buscar por nombre de imagen:\";'),('es','messages:imgfile','s:7:\"archivo\";'),('es','messages:listfiles','s:17:\"Lista de archivos\";'),('es','messages:listfiles_thumb','s:9:\"Miniatura\";'),('es','messages:listfiles_date','s:5:\"Fecha\";'),('es','messages:listfiles_name','s:6:\"Nombre\";'),('es','messages:listfiles_user','s:7:\"Usuario\";'),('es','messages:listfiles_size','s:15:\"Tamaño (bytes)\";'),('es','messages:listfiles_description','s:12:\"Descripción\";'),('es','messages:listfiles_count','s:9:\"Versiones\";'),('es','messages:file-anchor-link','s:7:\"Archivo\";'),('es','messages:filehist','s:21:\"Historial del archivo\";'),('es','messages:filehist-help','s:62:\"Haz clic sobre una fecha/hora para ver el\narchivo a esa fecha.\";'),('es','messages:filehist-deleteall','s:11:\"borrar todo\";'),('es','messages:filehist-deleteone','s:6:\"borrar\";'),('es','messages:filehist-revert','s:8:\"revertir\";'),('es','messages:filehist-current','s:3:\"act\";'),('es','messages:filehist-datetime','s:12:\"Fecha y hora\";'),('es','messages:filehist-thumb','s:9:\"Miniatura\";'),('es','messages:filehist-thumbtext','s:30:\"Miniatura de la versión de $1\";'),('es','messages:filehist-nothumb','s:13:\"Sin miniatura\";'),('es','messages:filehist-user','s:7:\"Usuario\";'),('es','messages:filehist-dimensions','s:11:\"Dimensiones\";'),('es','messages:filehist-filesize','s:7:\"Tamaño\";'),('es','messages:filehist-comment','s:10:\"Comentario\";'),('es','messages:filehist-missing','s:26:\"No se encuentra el archivo\";'),('es','messages:imagelinks','s:16:\"Usos del archivo\";'),('es','messages:linkstoimage','s:89:\"{{PLURAL:$1|La siguiente página enlaza|Las siguientes páginas enlazan}} a este archivo:\";'),('es','messages:linkstoimage-more','s:297:\"Hay más de {{PLURAL:$1|una página que enlaza|$1 páginas que enlazan}} con este archivo.\n\nLa lista siguiente sólo muestra {{PLURAL:$1|la primera página que enlaza|las primeras $1 páginas que enlazan}} con este archivo.\nTambién puedes consultar la [[Special:WhatLinksHere/$2|lista completa]].\";'),('es','messages:nolinkstoimage','s:42:\"No hay páginas que enlacen a esta imagen.\";'),('es','messages:morelinkstoimage','s:61:\"Vea [[Special:WhatLinksHere/$1|más enlaces]] a este archivo.\";'),('es','messages:linkstoimage-redirect','s:31:\"$1 (archivo de redirección) $2\";'),('es','messages:duplicatesoffile','s:153:\"{{PLURAL:$1|El siguiente archivo es un duplicado|Los siguientes $1 archivos son duplicados}} de éste ([[Special:FileDuplicateSearch/$2|más detalles]]):\";'),('es','messages:sharedupload','s:60:\"Este archivo es de $1 y puede ser usado por otros proyectos.\";'),('es','messages:sharedupload-desc-there','s:148:\"Este archivo es de $1 y puede ser usado por otros proyectos.\nPor favor mira la [$2 página de descripción del archivo] para información adicional.\";'),('es','messages:sharedupload-desc-here','s:146:\"Este archivo es de $1 y puede ser usado por otros proyectos.\nLa descripción en su [$2 página de descripción del archivo] está mostrada debajo.\";'),('es','messages:filepage-nofile','s:42:\"No existe ningún archivo con este nombre.\";'),('es','messages:filepage-nofile-link','s:68:\"No existe ningún archivo con este nombre, pero puedes [$1 subirlo].\";'),('es','messages:uploadnewversion-linktext','s:40:\"Subir una nueva versión de este archivo\";'),('es','messages:shared-repo-from','s:5:\"de $1\";'),('es','messages:shared-repo','s:25:\"un repositorio compartido\";'),('es','messages:filerevert','s:11:\"Revertir $1\";'),('es','messages:filerevert-legend','s:22:\"Reversión de archivos\";'),('es','messages:filerevert-intro','s:76:\"Estás revirtiendo \'\'\'[[Media:$1|$1]]\'\'\' a la [$4 versión del $2 a las $3].\";'),('es','messages:filerevert-comment','s:7:\"Motivo:\";'),('es','messages:filerevert-defaultcomment','s:45:\"Revertido a la versión subida el $1 a las $2\";'),('es','messages:filerevert-submit','s:8:\"Revertir\";'),('es','messages:filerevert-success','s:75:\"\'\'\'[[Media:$1|$1]]\'\'\' ha sido revertido a la [$4 versión del $2 a las $3].\";'),('es','messages:filerevert-badversion','s:71:\"No existe version local previa de este archivo con esa marca de tiempo.\";'),('es','messages:filedelete','s:9:\"Borrar $1\";'),('es','messages:filedelete-legend','s:14:\"Borrar archivo\";'),('es','messages:filedelete-intro','s:77:\"Estás borrando el archivo \'\'\'[[Media:$1|$1]]\'\'\' así como todo su historial.\";'),('es','messages:filedelete-intro-old','s:74:\"Estás borrando la versión de \'\'\'[[Media:$1|$1]]\'\'\' del [$4 $2 a las $3].\";'),('es','messages:filedelete-comment','s:7:\"Motivo:\";'),('es','messages:filedelete-submit','s:8:\"Eliminar\";'),('es','messages:filedelete-success','s:25:\"\'\'\'$1\'\'\' ha sido borrado.\";'),('es','messages:filedelete-success-old','s:68:\"La version de \'\'\'[[Media:$1|$1]]\'\'\' del $2 a las $3 ha sido borrada.\";'),('es','messages:filedelete-nofile','s:19:\"\'\'\'$1\'\'\' no existe.\";'),('es','messages:filedelete-nofile-old','s:76:\"No existe una versión guardada de \'\'\'$1\'\'\' con los atributos especificados.\";'),('es','messages:filedelete-otherreason','s:12:\"Otra razón:\";'),('es','messages:filedelete-reason-otherlist','s:11:\"Otra razón\";'),('es','messages:filedelete-reason-dropdown','s:78:\"*Razones de borrado habituales\n** Violación de copyright\n** Archivo duplicado\";'),('es','messages:filedelete-edit-reasonlist','s:29:\"Edita los motivos del borrado\";'),('es','messages:filedelete-maintenance','s:90:\"Borrado y restauración de archivos temporalmente deshabilitados durante el mantenimiento.\";'),('es','messages:mimesearch','s:14:\"Búsqueda MIME\";'),('es','messages:mimesearch-summary','s:120:\"Esta página permite el filtrado de ficheros por su tipo MIME.\nEntrada: contenttype/subtype, p. ej. <tt>image/jpeg</tt>.\";'),('es','messages:mimetype','s:10:\"Tipo MIME:\";'),('es','messages:download','s:9:\"descargar\";'),('es','messages:unwatchedpages','s:21:\"Páginas no vigiladas\";'),('es','messages:listredirects','s:22:\"Lista de redirecciones\";'),('es','messages:unusedtemplates','s:18:\"Plantillas sin uso\";'),('es','messages:unusedtemplatestext','s:186:\"Aquí se enumeran todas las páginas en el espacio de nombres {{ns:template}} que no están incluidas en otras páginas. Recuerda mirar lo que enlaza a las plantillas antes de borrarlas.\";'),('es','messages:unusedtemplateswlh','s:13:\"otros enlaces\";'),('es','messages:randompage','s:17:\"Página aleatoria\";'),('es','messages:randompage-nopages','s:89:\"No hay páginas en los siguientes {{PLURAL:$2|espacio de nombre|espacios de nombre}}: $1.\";'),('es','messages:randomredirect','s:32:\"Ir a una redirección cualquiera\";'),('es','messages:randomredirect-nopages','s:53:\"No hay redirecciones en el espacio de nombres «$1».\";'),('es','messages:statistics','s:13:\"Estadísticas\";'),('es','messages:statistics-header-pages','s:25:\"Estadísticas de páginas\";'),('es','messages:statistics-header-edits','s:26:\"Estadísticas de ediciones\";'),('es','messages:statistics-header-views','s:24:\"Estadísticas de visitas\";'),('es','messages:statistics-header-users','s:24:\"Estadísticas de usuario\";'),('es','messages:statistics-header-hooks','s:19:\"Otras estadísticas\";'),('es','messages:statistics-articles','s:21:\"Páginas de contenido\";'),('es','messages:statistics-pages','s:8:\"Páginas\";'),('es','messages:statistics-pages-desc','s:85:\"Todas las páginas en el wiki, incluyendo páginas de discusión, redirecciones, etc.\";'),('es','messages:statistics-files','s:16:\"Ficheros subidos\";'),('es','messages:statistics-edits','s:58:\"Ediciones en páginas desde que {{SITENAME}} fue instalado\";'),('es','messages:statistics-edits-average','s:30:\"Media de ediciones por página\";'),('es','messages:statistics-views-total','s:15:\"Visitas totales\";'),('es','messages:statistics-views-total-desc','s:70:\"No se incluyen accesos a páginas no existentes ni páginas especiales\";'),('es','messages:statistics-views-peredit','s:20:\"Visitas por edición\";'),('es','messages:statistics-users','s:42:\"[[Special:ListUsers|Usuarios]] registrados\";'),('es','messages:statistics-users-active','s:16:\"Usuarios activos\";'),('es','messages:statistics-users-active-desc','s:93:\"Usuarios que han ejecutado una acción en {{PLURAL:$1|el último día|los últimos $1 días}}\";'),('es','messages:statistics-mostpopular','s:20:\"Páginas más vistas\";'),('es','messages:disambiguations','s:52:\"Páginas que enlazan con páginas de desambiguación\";'),('es','messages:disambiguationspage','s:24:\"Template:Desambiguación\";'),('es','messages:disambiguations-text','s:276:\"Las siguientes páginas enlazan con una \'\'\'página de desambiguación\'\'\'.\nEn lugar de ello deberían enlazar con  el tema apropiado.<br />\nUna página es considerada página de desambiguación si utiliza la plantilla que está enlazada desde [[MediaWiki:Disambiguationspage]].\";'),('es','messages:doubleredirects','s:20:\"Redirecciones dobles\";'),('es','messages:doubleredirectstext','s:371:\"Esta página contiene una lista de páginas que redirigen a otras páginas de redirección.\nCada fila contiene enlaces a la segunda y tercera redirección, así como la primera línea de la segunda redirección, en la que usualmente se encontrará el artículo «real» al que la primera redirección debería apuntar.\nLas entradas <del>tachadas</del> han sido resueltas.\";'),('es','messages:double-redirect-fixed-move','s:61:\"[[$1]] ha sido trasladado, ahora es una redirección a [[$2]]\";'),('es','messages:double-redirect-fixed-maintenance','s:56:\"Corrigiendo la doble redirección desde [[$1]] a [[$2]].\";'),('es','messages:double-redirect-fixer','s:26:\"Corrector de redirecciones\";'),('es','messages:brokenredirects','s:25:\"Redirecciones incorrectas\";'),('es','messages:brokenredirectstext','s:63:\"Las siguientes redirecciones enlazan a páginas que no existen:\";'),('es','messages:brokenredirects-edit','s:6:\"editar\";'),('es','messages:brokenredirects-delete','s:6:\"borrar\";'),('es','messages:withoutinterwiki','s:23:\"Páginas sin interwikis\";'),('es','messages:withoutinterwiki-summary','s:64:\"Las siguientes páginas no enlazan a versiones en otros idiomas:\";'),('es','messages:withoutinterwiki-legend','s:7:\"Prefijo\";'),('es','messages:withoutinterwiki-submit','s:7:\"Mostrar\";'),('es','messages:fewestrevisions','s:30:\"Artículos con menos ediciones\";'),('es','messages:nbytes','s:27:\"$1 {{PLURAL:$1|byte|bytes}}\";'),('es','messages:ncategories','s:39:\"$1 {{PLURAL:$1|categoría|categorías}}\";'),('es','messages:nlinks','s:31:\"$1 {{PLURAL:$1|enlace|enlaces}}\";'),('es','messages:nmembers','s:37:\"$1 {{PLURAL:$1|artículo|artículos}}\";'),('es','messages:nrevisions','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:nviews','s:29:\"$1 {{PLURAL:$1|vista|vistas}}\";'),('es','messages:nimagelinks','s:46:\"Usado en {{PLURAL:$1|una página|$1 páginas}}\";'),('es','messages:ntransclusions','s:46:\"usado en {{PLURAL:$1|una página|$1 páginas}}\";'),('es','messages:specialpage-empty','s:26:\"Esta página está vacía.\";'),('es','messages:lonelypages','s:19:\"Páginas huérfanas\";'),('es','messages:lonelypagestext','s:95:\"Las siguientes páginas no están enlazadas ni transcluídas en otras páginas de {{SITENAME}}.\";'),('es','messages:uncategorizedpages','s:24:\"Páginas sin categorizar\";'),('es','messages:uncategorizedcategories','s:27:\"Categorías sin categorizar\";'),('es','messages:uncategorizedimages','s:25:\"Imágenes sin categorizar\";'),('es','messages:uncategorizedtemplates','s:26:\"Plantillas sin categorizar\";'),('es','messages:unusedcategories','s:19:\"Categorías sin uso\";'),('es','messages:unusedimages','s:17:\"Imágenes sin uso\";'),('es','messages:popularpages','s:18:\"Páginas populares\";'),('es','messages:wantedcategories','s:22:\"Categorías requeridas\";'),('es','messages:wantedpages','s:19:\"Páginas requeridas\";'),('es','messages:wantedpages-badtitle','s:47:\"Título inválido en conjunto de resultados: $1\";'),('es','messages:wantedfiles','s:19:\"Ficheros requeridos\";'),('es','messages:wantedtemplates','s:21:\"Plantillas requeridas\";'),('es','messages:mostlinked','s:25:\"Artículos más enlazados\";'),('es','messages:mostlinkedcategories','s:26:\"Categorías más enlazadas\";'),('es','messages:mostlinkedtemplates','s:25:\"Plantillas más enlazadas\";'),('es','messages:mostcategories','s:29:\"Páginas con más categorías\";'),('es','messages:mostimages','s:21:\"Imágenes más usadas\";'),('es','messages:mostrevisions','s:29:\"Artículos con más ediciones\";'),('es','messages:prefixindex','s:30:\"Todas las páginas con prefijo\";'),('es','messages:shortpages','s:15:\"Páginas cortas\";'),('es','messages:longpages','s:15:\"Páginas largas\";'),('es','messages:deadendpages','s:19:\"Páginas sin salida\";'),('es','messages:deadendpagestext','s:68:\"Las siguientes páginas no enlazan a otras páginas de {{SITENAME}}.\";'),('es','messages:protectedpages','s:19:\"Páginas protegidas\";'),('es','messages:protectedpages-indef','s:30:\"Sólo protecciones indefinidas\";'),('es','messages:protectedpages-cascade','s:29:\"Sólo protecciones en cascada\";'),('es','messages:protectedpagestext','s:69:\"Las siguientes páginas están protegidas para su edición o traslado\";'),('es','messages:protectedpagesempty','s:66:\"Actualmente no hay ninguna página protegida con esos parámetros.\";'),('es','messages:protectedtitles','s:19:\"Títulos protegidos\";'),('es','messages:protectedtitlestext','s:72:\"Los siguientes títulos están protegidos, por lo que no se pueden crear\";'),('es','messages:protectedtitlesempty','s:64:\"Actualmente no existen entradas protegidas con esos parámetros.\";'),('es','messages:listusers','s:17:\"Lista de usuarios\";'),('es','messages:listusers-editsonly','s:36:\"Muestra sólo usuarios con ediciones\";'),('es','messages:listusers-creationsort','s:31:\"Ordenado por fecha de creación\";'),('es','messages:usereditcount','s:35:\"$1 {{PLURAL:$1|edición|ediciones}}\";'),('es','messages:usercreated','s:18:\"Creado el $1 en $2\";'),('es','messages:newpages','s:15:\"Páginas nuevas\";'),('es','messages:newpages-username','s:17:\"Nombre de usuario\";'),('es','messages:ancientpages','s:24:\"Artículos más antiguos\";'),('es','messages:move','s:9:\"Trasladar\";'),('es','messages:movethispage','s:22:\"Trasladar esta página\";'),('es','messages:unusedimagestext','s:232:\"Los siguientes archivos existen pero no están insertados en ninguna página.\nPor favor note que otros sitios web pueden vincular a un archivo con un URL directo, y por tanto pueden ser listados aquí a pesar de estar en uso activo.\";'),('es','messages:unusedcategoriestext','s:93:\"Las siguientes categorías han sido creadas, pero ningún artículo o categoría las utiliza.\";'),('es','messages:notargettitle','s:23:\"No hay página objetivo\";'),('es','messages:notargettext','s:64:\"Especifique sobre qué página desea llevar a cabo esta acción.\";'),('es','messages:nopagetitle','s:28:\"No existe la página destino\";'),('es','messages:nopagetext','s:49:\"La página destino que ha especificado no existe.\";'),('es','messages:pager-newer-n','s:39:\"{{PLURAL:$1|1 siguiente|$1 siguientes}}\";'),('es','messages:pager-older-n','s:38:\"{{PLURAL:$1|1 anterior|$1 anteriores}}\";'),('es','messages:suppress','s:21:\"Supresor de ediciones\";'),('es','messages:querypage-disabled','s:69:\"Esta página especial está deshabilitada por motivos de rendimiento.\";'),('es','messages:booksources','s:17:\"Fuentes de libros\";'),('es','messages:booksources-search-legend','s:24:\"Buscar fuentes de libros\";'),('es','messages:booksources-go','s:2:\"Ir\";'),('es','messages:booksources-text','s:156:\"Abajo hay una lista de enlaces a otros sitios que venden libros nuevos y usados, puede que contengan más información sobre los libros que estás buscando.\";'),('es','messages:booksources-invalid-isbn','s:98:\"El número de ISBN no parece ser válido; comprueba los errores copiándolo de la fuente original.\";'),('es','messages:specialloguserlabel','s:8:\"Usuario:\";'),('es','messages:speciallogtitlelabel','s:8:\"Título:\";'),('es','messages:log','s:9:\"Registros\";'),('es','messages:all-logs-page','s:29:\"Todos los registros públicos\";'),('es','messages:alllogstext','s:201:\"Vista combinada de todos los registros de {{SITENAME}}.\nPuedes filtrar la vista seleccionando un tipo de registro, el nombre del usuario o la página afectada. Se distinguen mayúsculas de minúsculas.\";'),('es','messages:logempty','s:53:\"No hay elementos en el registro con esas condiciones.\";'),('es','messages:log-title-wildcard','s:43:\"Buscar títulos que empiecen con este texto\";'),('es','messages:allpages','s:18:\"Todas las páginas\";'),('es','messages:alphaindexline','s:7:\"$1 a $2\";'),('es','messages:nextpage','s:22:\"Siguiente página ($1)\";'),('es','messages:prevpage','s:21:\"Página anterior ($1)\";'),('es','messages:allpagesfrom','s:34:\"Mostrar páginas que empiecen por:\";'),('es','messages:allpagesto','s:32:\"Mostrar páginas terminadas con:\";'),('es','messages:allarticles','s:20:\"Todos los artículos\";'),('es','messages:allinnamespace','s:31:\"Todas las páginas (espacio $1)\";'),('es','messages:allnotinnamespace','s:60:\"Todas las páginas que no están en el espacio de nombres $1\";'),('es','messages:allpagesprev','s:8:\"Anterior\";'),('es','messages:allpagesnext','s:9:\"Siguiente\";'),('es','messages:allpagessubmit','s:7:\"Mostrar\";'),('es','messages:allpagesprefix','s:32:\"Mostrar páginas con el prefijo:\";'),('es','messages:allpagesbadtitle','s:158:\"El título dado era inválido o tenía un prefijo de enlace inter-idioma o inter-wiki. Puede contener uno o más caracteres que no se pueden usar en títulos.\";'),('es','messages:allpages-bad-ns','s:59:\"{{SITENAME}} no tiene un espacio de nombres llamado «$1».\";'),('es','messages:categories','s:11:\"Categorías\";'),('es','messages:categoriespagetext','s:237:\"Las siguientes {{PLURAL:$1|categoría contiene|categorías contienen}} páginas o medios.\nNo se muestran aquí las [[Special:UnusedCategories|categorías sin uso]].\nVéase también las [[Special:WantedCategories|categorías requeridas]].\";'),('es','messages:categoriesfrom','s:37:\"Mostrar categorías que empiecen por:\";'),('es','messages:special-categories-sort-count','s:18:\"ordenar por conteo\";'),('es','messages:special-categories-sort-abc','s:24:\"ordenar alfabéticamente\";'),('es','messages:deletedcontributions','s:34:\"Contribuciones borradas de usuario\";'),('es','messages:deletedcontributions-title','s:34:\"Contribuciones borradas de usuario\";'),('es','messages:sp-deletedcontributions-contribs','s:14:\"contribuciones\";'),('es','messages:linksearch','s:16:\"Enlaces externos\";'),('es','messages:linksearch-pat','s:21:\"Patrón de búsqueda:\";'),('es','messages:linksearch-ns','s:18:\"Espacio de nombre:\";'),('es','messages:linksearch-ok','s:6:\"Buscar\";'),('es','messages:linksearch-text','s:215:\"Se pueden usar caracteres comodín como \"*.wikipedia.org\".\nEs necesario, por lo menos, un dominio de nivel, por ejemplo \"*.org\".<br />\nProtocolos soportados: <tt>$1</tt> (no añada ninguno de estos en su búsqueda).\";'),('es','messages:linksearch-line','s:20:\"$1 enlazado desde $2\";'),('es','messages:linksearch-error','s:69:\"Los comodines sólo pueden aparecer al principio del nombre de sitio.\";'),('es','messages:listusersfrom','s:34:\"Mostrar usuarios que empiecen por:\";'),('es','messages:listusers-submit','s:7:\"Mostrar\";'),('es','messages:listusers-noresult','s:27:\"No se encontró al usuario.\";'),('es','messages:listusers-blocked','s:35:\"({{GENDER:$1|bloqueado|bloqueada}})\";'),('es','messages:activeusers','s:25:\"Lista de usuarios activos\";'),('es','messages:activeusers-intro','s:106:\"Esta es una lista de usuarios que han tenido alguna actividad en los últimos $1 {{PLURAL:$1|día|días}}.\";'),('es','messages:activeusers-count','s:79:\"$1 {{PLURAL:$1|edición|ediciones}} en los últimos {{PLURAL:$3|día|$3 días}}\";'),('es','messages:activeusers-from','s:39:\"Mostrando a los usuarios empezando por:\";'),('es','messages:activeusers-hidebots','s:14:\"Ocultar robots\";'),('es','messages:activeusers-hidesysops','s:23:\"Ocultar administradores\";'),('es','messages:activeusers-noresult','s:27:\"No se encontraron usuarios.\";'),('es','messages:newuserlogpage','s:33:\"Registro de creación de usuarios\";'),('es','messages:newuserlogpagetext','s:45:\"Este es un registro de creación de usuarios.\";'),('es','messages:newuserlog-byemail','s:43:\"contraseña enviada por correo electrónico\";'),('es','messages:newuserlog-create-entry','s:13:\"Usuario nuevo\";'),('es','messages:newuserlog-create2-entry','s:22:\"Nueva cuenta creada $1\";'),('es','messages:newuserlog-autocreate-entry','s:30:\"Cuenta creada automáticamente\";'),('es','messages:listgrouprights','s:30:\"Permisos del grupo de usuarios\";'),('es','messages:listgrouprights-summary','s:227:\"La siguiente es una lista de los grupos de usuario definidos en esta wiki y de sus privilegios de acceso asociados.\nPuede haber información adicional sobre privilegios individuales en [[{{MediaWiki:Listgrouprights-helppage}}]]\";'),('es','messages:listgrouprights-key','s:128:\"* <span class=\"listgrouprights-granted\">Derecho concedido</span>\n* <span class=\"listgrouprights-revoked\">Derecho revocado</span>\";'),('es','messages:listgrouprights-group','s:5:\"Grupo\";'),('es','messages:listgrouprights-rights','s:8:\"Derechos\";'),('es','messages:listgrouprights-helppage','s:23:\"Help:Derechos de grupos\";'),('es','messages:listgrouprights-members','s:32:\"(ver los miembros de este grupo)\";'),('es','messages:listgrouprights-addgroup','s:38:\"Agregar {{PLURAL:$2|grupo|grupos}}: $1\";'),('es','messages:listgrouprights-removegroup','s:39:\"Eliminar {{PLURAL:$2|grupo|grupos}}: $1\";'),('es','messages:listgrouprights-addgroup-all','s:24:\"Agregar todos los grupos\";'),('es','messages:listgrouprights-removegroup-all','s:25:\"Eliminar todos los grupos\";'),('es','messages:listgrouprights-addgroup-self','s:57:\"Agregar {{PLURAL:$2|grupo|grupos}} a tu propia cuenta: $1\";'),('es','messages:listgrouprights-removegroup-self','s:59:\"Eliminar {{PLURAL:$2|grupo|grupos}} de tu propia cuenta: $1\";'),('es','messages:listgrouprights-addgroup-self-all','s:43:\"Agregar todos los grupos a tu propia cuenta\";'),('es','messages:listgrouprights-removegroup-self-all','s:45:\"Eliminar todos los grupos de tu propia cuenta\";'),('es','messages:mailnologin','s:27:\"Ninguna dirección de envio\";'),('es','messages:mailnologintext','s:184:\"Debes [[Special:UserLogin|iniciar sesión]] y tener una dirección electrónica válida en tus [[Special:Preferences|preferencias]] para enviar un correo electrónico a otros usuarios.\";'),('es','messages:emailuser','s:41:\"Enviar correo electrónico a este usuario\";'),('es','messages:emailpage','s:29:\"Correo electrónico a usuario\";'),('es','messages:emailpagetext','s:252:\"Puedes usar el formulario de abajo para enviar un correo electrónico a este usuario.\nLa dirección electrónica que indicaste en [[Special:Preferences|tus preferencias de usuario]] aparecerá en el remitente para que el destinatario pueda responderte.\";'),('es','messages:usermailererror','s:40:\"El sistema de correo devolvió un error:\";'),('es','messages:defemailsubject','s:22:\"Correo de {{SITENAME}}\";'),('es','messages:usermaildisabled','s:45:\"Correo electrónico del usuario deshabilitado\";'),('es','messages:usermaildisabledtext','s:68:\"No puedes enviar correos electrónicos a otros usuarios en esta wiki\";'),('es','messages:noemailtitle','s:40:\"No hay dirección de correo electrónico\";'),('es','messages:noemailtext','s:78:\"Este usuario no ha especificado una dirección de correo electrónico válida.\";'),('es','messages:nowikiemailtitle','s:35:\"correos electrónicos no permitidos\";'),('es','messages:nowikiemailtext','s:75:\"Este usuario ha elegido no recibir correos electrónicos de otros usuarios.\";'),('es','messages:emailnotarget','s:65:\"Nombre de usuario no existente o no válido para el destinatario.\";'),('es','messages:emailtarget','s:47:\"Introduce el nombre de usuario del destinatario\";'),('es','messages:emailusername','s:18:\"Nombre de usuario:\";'),('es','messages:emailusernamesubmit','s:6:\"Enviar\";'),('es','messages:email-legend','s:60:\"Enviar un correo electrónico a otro usuario de {{SITENAME}}\";'),('es','messages:emailfrom','s:3:\"De:\";'),('es','messages:emailto','s:5:\"Para:\";'),('es','messages:emailsubject','s:7:\"Asunto:\";'),('es','messages:emailmessage','s:8:\"Mensaje:\";'),('es','messages:emailsend','s:6:\"Enviar\";'),('es','messages:emailccme','s:33:\"Enviarme una copia de mi mensaje.\";'),('es','messages:emailccsubject','s:28:\"Copia de tu mensaje a $1: $2\";'),('es','messages:emailsent','s:27:\"Correo electrónico enviado\";'),('es','messages:emailsenttext','s:48:\"Se ha enviado tu mensaje de correo electrónico.\";'),('es','messages:emailuserfooter','s:136:\"Este correo electrónico fue enviado por $1 a $2 a través de la función «Enviar correo electrónico a este usuario» en {{SITENAME}}.\";'),('es','messages:usermessage-summary','s:30:\"Dejando un mensaje de sistema.\";'),('es','messages:usermessage-editor','s:21:\"Mensajero del sistema\";'),('es','messages:watchlist','s:20:\"Lista de seguimiento\";'),('es','messages:mywatchlist','s:20:\"Lista de seguimiento\";'),('es','messages:watchlistfor2','s:10:\"Para $1 $2\";'),('es','messages:nowatchlist','s:53:\"No tienes ninguna página en tu lista de seguimiento.\";'),('es','messages:watchlistanontext','s:74:\"Para ver o editar las entradas de tu lista de seguimiento es necesario $1.\";'),('es','messages:watchnologin','s:23:\"No has iniciado sesión\";'),('es','messages:watchnologintext','s:83:\"Debes [[Special:UserLogin|iniciar sesión]] para modificar tu lista de seguimiento.\";'),('es','messages:addwatch','s:33:\"Añadir a la lista de seguimiento\";'),('es','messages:addedwatchtext','s:322:\"La página «[[:$1]]» ha sido añadida a tu [[Special:Watchlist|lista de seguimiento]]. Los cambios futuros en esta página y en su página de discusión asociada se indicarán ahí, y la página aparecerá \'\'\'en negritas\'\'\' en la [[Special:RecentChanges|lista de cambios recientes]] para hacerla más fácil de detectar.\";'),('es','messages:removewatch','s:33:\"Quitar de la lista de seguimiento\";'),('es','messages:removedwatchtext','s:90:\"La página «[[:$1]]» ha sido eliminada de tu [[Special:Watchlist|lista de seguimiento]].\";'),('es','messages:watch','s:7:\"Vigilar\";'),('es','messages:watchthispage','s:20:\"Vigilar esta página\";'),('es','messages:unwatch','s:16:\"Dejar de vigilar\";'),('es','messages:unwatchthispage','s:16:\"Dejar de vigilar\";'),('es','messages:notanarticle','s:18:\"No es un artículo\";'),('es','messages:notvisiblerev','s:60:\"La última revisión de un usuario diferente ha sido borrada\";'),('es','messages:watchnochange','s:98:\"Ninguno de los artículos de tu lista de seguimiento fue editado en el periodo de tiempo mostrado.\";'),('es','messages:watchlist-details','s:94:\"{{PLURAL:$1|$1 página|$1 páginas}} en su lista de seguimiento, sin contar las de discusión.\";'),('es','messages:wlheader-enotif','s:58:\"* La notificación por correo electrónico está activada.\";'),('es','messages:wlheader-showupdated','s:76:\"* Las páginas modificadas desde su última visita aparecen en \'\'\'negrita\'\'\'\";'),('es','messages:watchmethod-recent','s:49:\"revisando cambios recientes en páginas vigiladas\";'),('es','messages:watchmethod-list','s:62:\"revisando las páginas vigiladas en busca de cambios recientes\";'),('es','messages:watchlistcontains','s:64:\"Tu lista de seguimiento posee $1 {{PLURAL:$1|página|páginas}}.\";'),('es','messages:iteminvalidname','s:51:\"Problema con el artículo \'$1\', nombre inválido...\";'),('es','messages:wlnote','s:162:\"A continuación {{PLURAL:$1|se muestra el último cambio|se muestran los últimos \'\'\'$1\'\'\' cambios}} en {{PLURAL:$2|la última hora|las últimas \'\'\'$2\'\'\' horas}}.\";'),('es','messages:wlshowlast','s:54:\"Ver los cambios de las últimas $1 horas, $2 días  $3\";'),('es','messages:watchlist-options','s:35:\"Opciones de la lista de seguimiento\";'),('es','messages:watching','s:12:\"Vigilando...\";'),('es','messages:unwatching','s:40:\"Eliminando de la lista de seguimiento...\";'),('es','messages:watcherrortext','s:86:\"Ocurrió un error al cambiar la configuración de tu lista de seguimiento para «$1».\";'),('es','messages:enotif_mailer','s:40:\"Notificación por correo de {{SITENAME}}\";'),('es','messages:enotif_reset','s:35:\"Marcar todas las páginas visitadas\";'),('es','messages:enotif_newpagetext','s:30:\"Se trata de una nueva página.\";'),('es','messages:enotif_impersonal_salutation','s:23:\"usuario de {{SITENAME}}\";'),('es','messages:changed','s:10:\"modificada\";'),('es','messages:created','s:6:\"creada\";'),('es','messages:enotif_subject','s:79:\"La página $PAGETITLE de {{SITENAME}} ha sido $CHANGEDORCREATED por $PAGEEDITOR\";'),('es','messages:enotif_lastvisited','s:74:\"Consulta $1 para ver todos los cambios realizados desde tu última visita.\";'),('es','messages:enotif_lastdiff','s:33:\"Consulta $1 para ver este cambio.\";'),('es','messages:enotif_anon_editor','s:19:\"usuario anónimo $1\";'),('es','messages:enotif_body','s:882:\"Estimado/a $WATCHINGUSERNAME,\n\nLa página de {{SITENAME}} $PAGETITLE ha sido $CHANGEDORCREATED el $PAGEEDITDATE por el usuario $PAGEEDITOR.\nLa versión actual se encuentra en $PAGETITLE_URL\n\n$NEWPAGE\n\nEl resumen de edición es: $PAGESUMMARY $PAGEMINOREDIT\n\nContacta al editor:\nCorreo electrónico: $PAGEEDITOR_EMAIL\nWiki: $PAGEEDITOR_WIKI\n\nNo habrá otras notificaciones en caso de cambios adicionales, a menos que visites esta página nuevamente.\nTambién puedes reestablecer las notificaciones para todas tus páginas vigiladas en tu página de vigilancia.\n\n             El sistema de notificación de {{SITENAME}}.\n\n--\nPara cambiar las opciones de tu lista de seguimiento, visita:\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nPara borrar la página de tu lista de seguimiento visita:\n$UNWATCHURL\n\nRetroalimentación y asistencia adicional:\n{{canonicalurl:{{MediaWiki:Helppage}}}}\";'),('es','messages:deletepage','s:19:\"Borrar esta página\";'),('es','messages:confirm','s:9:\"Confirmar\";'),('es','messages:excontent','s:24:\"el contenido era: «$1»\";'),('es','messages:excontentauthor','s:84:\"el contenido era: «$1» (y el único autor fue «[[Special:Contributions/$2|$2]]»)\";'),('es','messages:exbeforeblank','s:43:\"El contenido antes de blanquear era: «$1»\";'),('es','messages:exblank','s:24:\"la página estaba vacía\";'),('es','messages:delete-confirm','s:13:\"Borrar «$1»\";'),('es','messages:delete-legend','s:6:\"Borrar\";'),('es','messages:historywarning','s:129:\"\'\'\'Aviso:\'\'\' La página que estás a punto de borrar tiene un historial de aproximadamente $1 {{PLURAL:$1|revisión|revisiones}}:\";'),('es','messages:confirmdeletetext','s:257:\"Estás a punto de borrar una página en forma permanente, así como todo su historial.\nPor favor, confirma que realmente quieres hacer eso, que entiendes las\nconsecuencias, y que lo estás haciendo de acuerdo con [[{{MediaWiki:Policy-url}}|las políticas]].\";'),('es','messages:actioncomplete','s:18:\"Acción completada\";'),('es','messages:actionfailed','s:15:\"Acción fallida\";'),('es','messages:deletedtext','s:77:\"«$1» ha sido borrado.\nVéase $2 para un registro de los borrados recientes.\";'),('es','messages:deletedarticle','s:17:\"borró «[[$1]]»\";'),('es','messages:suppressedarticle','s:20:\"suprimió «[[$1]]»\";'),('es','messages:dellogpage','s:20:\"Registro de borrados\";'),('es','messages:dellogpagetext','s:68:\"A continuación se muestra una lista de los borrados más recientes.\";'),('es','messages:deletionlog','s:20:\"registro de borrados\";'),('es','messages:reverted','s:34:\"Revertido a una revisión anterior\";'),('es','messages:deletecomment','s:7:\"Motivo:\";'),('es','messages:deleteotherreason','s:12:\"Otro motivo:\";'),('es','messages:deletereasonotherlist','s:11:\"Otro motivo\";'),('es','messages:deletereason-dropdown','s:99:\"*Razones comunes de borrado\n** A petición del mismo autor\n** Violación de copyright\n** Vandalismo\";'),('es','messages:delete-edit-reasonlist','s:25:\"Editar razones de borrado\";'),('es','messages:delete-toobig','s:193:\"Esta página tiene un historial muy grande, con más de $1 {{PLURAL:$1|revisión|revisiones}}. Borrar este tipo de páginas ha sido restringido para prevenir posibles problemas en {{SITENAME}}.\";'),('es','messages:delete-warning-toobig','s:184:\"Esta página tiene un historial de más de $1 {{PLURAL:$1|revisión|revisiones}}. Eliminarla puede perturbar las operaciones de la base de datos de {{SITENAME}}. Ten cuidado al borrar.\";'),('es','messages:rollback','s:18:\"Revertir ediciones\";'),('es','messages:rollback_short','s:8:\"Revertir\";'),('es','messages:rollbacklink','s:8:\"revertir\";'),('es','messages:rollbackfailed','s:19:\"No se pudo revertir\";'),('es','messages:cantrollback','s:92:\"No se puede revertir la edición;\nel último colaborador es el único autor de esta página.\";'),('es','messages:alreadyrolled','s:382:\"No se puede revertir la última edición de [[:$1]] hecha por [[User:$2|$2]] ([[User talk:$2|discusión]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]);\nalguien más ya ha editado o revertido esa página.\n\nLa última edición fue hecha por [[User:$3|$3]] ([[User talk:$3|discusión]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).\";'),('es','messages:editcomment','s:42:\"El resumen de la edición fue: \'\'«$1»\'\'.\";'),('es','messages:revertpage','s:122:\"Revertidos los cambios de [[Special:Contributions/$2|$2]] ([[User talk:$2|disc.]]) a la última edición de [[User:$1|$1]]\";'),('es','messages:revertpage-nouser','s:109:\"Revertidas ediciones hechas por (nombre de usuario eliminado) a la última revisión hecha por [[User:$1|$1]]\";'),('es','messages:rollback-success','s:69:\"Revertidas las ediciones de $1; recuperada la última versión de $2.\";'),('es','messages:sessionfailure-title','s:16:\"Error de sesión\";'),('es','messages:sessionfailure','s:219:\"Parece que hay un problema con tu sesión;\nesta acción ha sido cancelada como medida de precaución contra secuestros de sesión.\nPor favor, pulsa «Atrás», recarga la página de la que viniste e inténtalo de nuevo.\";'),('es','messages:protectlogpage','s:23:\"Registro de protección\";'),('es','messages:protectlogtext','s:184:\"Abajo se presenta una lista de protección y desprotección de página.\nVéase [[Special:ProtectedPages|la lista de páginas protegidas]] para ver las protecciones activas en páginas.\";'),('es','messages:protectedarticle','s:20:\"protegió «[[$1]]»\";'),('es','messages:modifiedarticleprotection','s:45:\"cambió el nivel de protección de «[[$1]]»\";'),('es','messages:unprotectedarticle','s:23:\"desprotegió «[[$1]]»\";'),('es','messages:movedarticleprotection','s:49:\"cambiadas protecciones de «[[$2]]» a «[[$1]]»\";'),('es','messages:protect-title','s:43:\"Cambiando el nivel de protección de «$1»\";'),('es','messages:prot_1movedto2','s:53:\"heredando la protección al trasladar [[$1]] a [[$2]]\";'),('es','messages:protect-legend','s:21:\"Confirmar protección\";'),('es','messages:protectcomment','s:7:\"Motivo:\";'),('es','messages:protectexpiry','s:10:\"Caducidad:\";'),('es','messages:protect_expiry_invalid','s:31:\"Tiempo de caducidad incorrecto.\";'),('es','messages:protect_expiry_old','s:44:\"El tiempo de expiración está en el pasado.\";'),('es','messages:protect-unchain-permissions','s:47:\"Desbloquear opciones de protección adicionales\";'),('es','messages:protect-text','s:70:\"Puedes ver y modificar el nivel de protección de la página \'\'\'$1\'\'\'.\";'),('es','messages:protect-locked-blocked','s:136:\"No puede cambiar los niveles de protección estando bloqueado. A continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-locked-dblock','s:169:\"Los niveles de protección no se pueden cambiar debido a un bloqueo activo de la base de datos.\nA continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-locked-access','s:156:\"Su cuenta no tiene permiso para cambiar los niveles de protección de una página.\nA continuación se muestran las opciones actuales de la página \'\'\'$1\'\'\':\";'),('es','messages:protect-cascadeon','s:286:\"Actualmente esta página está protegida porque está incluida en {{PLURAL:$1|la siguiente página|las siguientes páginas}}, que tienen activada la opción de protección en cascada. Puedes cambiar el nivel de protección de esta página, pero no afectará a la protección en cascada.\";'),('es','messages:protect-default','s:27:\"Permitir todos los usuarios\";'),('es','messages:protect-fallback','s:26:\"Necesita el permiso «$1»\";'),('es','messages:protect-level-autoconfirmed','s:41:\"Bloquear usuarios nuevos y no registrados\";'),('es','messages:protect-level-sysop','s:20:\"Solo administradores\";'),('es','messages:protect-summary-cascade','s:10:\"en cascada\";'),('es','messages:protect-expiring','s:18:\"caduca el $1 (UTC)\";'),('es','messages:protect-expiry-indefinite','s:10:\"indefinido\";'),('es','messages:protect-cascade','s:72:\"Protección en cascada - proteger todas las páginas incluidas en ésta.\";'),('es','messages:protect-cantedit','s:88:\"No puedes cambiar el nivel de protección porque no tienes permiso para hacer ediciones.\";'),('es','messages:protect-othertime','s:22:\"Especificar caducidad:\";'),('es','messages:protect-othertime-op','s:18:\"otra (especificar)\";'),('es','messages:protect-existing-expiry','s:38:\"Fecha de caducidad actual: $2 a las $3\";'),('es','messages:protect-otherreason','s:12:\"Otra razón:\";'),('es','messages:protect-otherreason-op','s:11:\"Otra razón\";'),('es','messages:protect-dropdown','s:117:\"*Razones de protección habituales\n**Vandalismo excesivo\n**Spam excesivo\n**Guerra de ediciones\n**Página muy visitada\";'),('es','messages:protect-edit-reasonlist','s:33:\"Editar las razones de protección\";'),('es','messages:protect-expiry-options','s:144:\"1 hora:1 hour,1 día:1 day,1 semana:1 week,2 semanas:2 weeks,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year,para siempre:infinite\";'),('es','messages:restriction-type','s:8:\"Permiso:\";'),('es','messages:restriction-level','s:22:\"Nivel de restricción:\";'),('es','messages:minimum-size','s:15:\"Tamaño mínimo\";'),('es','messages:maximum-size','s:16:\"Tamaño máximo:\";'),('es','messages:pagesize','s:7:\"(bytes)\";'),('es','messages:restriction-edit','s:6:\"Editar\";'),('es','messages:restriction-move','s:16:\"Pueden trasladar\";'),('es','messages:restriction-create','s:5:\"Crear\";'),('es','messages:restriction-upload','s:5:\"Subir\";'),('es','messages:restriction-level-sysop','s:23:\"completamente protegida\";'),('es','messages:restriction-level-autoconfirmed','s:13:\"semiprotegida\";'),('es','messages:restriction-level-all','s:15:\"cualquier nivel\";'),('es','messages:undelete','s:29:\"Restaurar una página borrada\";'),('es','messages:undeletepage','s:33:\"Ver y restaurar páginas borradas\";'),('es','messages:undeletepagetitle','s:63:\"\'\'\'Las siguientes son las revisiones borradas de [[:$1|$1]]\'\'\'.\";'),('es','messages:viewdeletedpage','s:21:\"Ver páginas borradas\";'),('es','messages:undeletepagetext','s:254:\"{{PLURAL:$1|La siguiente página ha sido borrada pero aún está en el archivo y puede ser restaurada.|Las siguientes $1 páginas han sido borradas pero aún están en el archivo y pueden ser restauradas.}}\nPuede que el archivo se limpie periódicamente.\";'),('es','messages:undelete-fieldset-title','s:20:\"Restaurar revisiones\";'),('es','messages:undeleteextrahelp','s:247:\"Para restaurar todo el historial de la página, deja todas las casillas sin seleccionar y pulsa \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'. Para realizar una restauración selectiva, marca las revisiones a ser restauradas y pulsa \'\'\'\'\'{{int:undeletebtn}}\'\'\'\'\'.\";'),('es','messages:undeleterevisions','s:48:\"$1 {{PLURAL:$1|revisión|revisiones}} archivadas\";'),('es','messages:undeletehistory','s:311:\"Si restauras una página, todas sus revisiones serán restauradas al historial.\nSi una nueva página con el mismo nombre ha sido creada desde que se borró la original, las versiones restauradas aparecerán como historial anterior, y la revisión actual de la página actual no se reemplazará automáticamente.\";'),('es','messages:undeleterevdel','s:250:\"No se deshará el borrado si éste resulta en el borrado parcial de la última revisión de la página. En tal caso, desmarque o muestre las revisiones borradas más recientes. Las revisiones de archivos que no tiene permitido ver no se restaurarán.\";'),('es','messages:undeletehistorynoadmin','s:259:\"El artículo ha sido borrado. La razón de su eliminación se indica abajo en el resumen, así como los detalles de las ediciones realizadas antes del borrado. El texto completo del artículo está disponible sólo para usuarios con permisos de administrador.\";'),('es','messages:undelete-revision','s:49:\"Edición borrada de $1 (fechada $4, a $5) por $3:\";'),('es','messages:undeleterevision-missing','s:136:\"Revisión no válida o perdida. Puede deberse a un enlace incorrecto,\no a que la revisión haya sido restaurada o eliminada del archivo.\";'),('es','messages:undelete-nodiff','s:31:\"No existe una revisión previa.\";'),('es','messages:undeletebtn','s:9:\"Restaurar\";'),('es','messages:undeletelink','s:13:\"ver/restaurar\";'),('es','messages:undeleteviewlink','s:3:\"ver\";'),('es','messages:undeletereset','s:8:\"Cancelar\";'),('es','messages:undeleteinvert','s:19:\"Invertir selección\";'),('es','messages:undeletecomment','s:7:\"Razón:\";'),('es','messages:undeletedarticle','s:20:\"restauró «[[$1]]»\";'),('es','messages:undeletedrevisions','s:62:\"{{PLURAL:$1|Una edición restaurada|$1 ediciones restauradas}}\";'),('es','messages:undeletedrevisions-files','s:98:\"$1 {{PLURAL:$1|ediciones restauradas y $2 archivo restaurado|ediciones y $2 archivos restaurados}}\";'),('es','messages:undeletedfiles','s:56:\"$1 {{PLURAL:$1|archivo restaurado|archivos restaurados}}\";'),('es','messages:cannotundelete','s:86:\"Ha fallado el deshacer el borrado;\nalguien más puede haber deshecho el borrado antes.\";'),('es','messages:undeletedpage','s:144:\"\'\'\'Se ha restaurado $1\'\'\'\n\nConsulta el [[Special:Log/delete|registro de borrados]] para ver una lista de los últimos borrados y restauraciones.\";'),('es','messages:undelete-header','s:84:\"En el [[Special:Log/delete|registro de borrados]] se listan las páginas eliminadas.\";'),('es','messages:undelete-search-box','s:24:\"Buscar páginas borradas\";'),('es','messages:undelete-search-prefix','s:34:\"Mostrar páginas que empiecen por:\";'),('es','messages:undelete-search-submit','s:6:\"Buscar\";'),('es','messages:undelete-no-results','s:67:\"No se encontraron páginas borradas para ese criterio de búsqueda.\";'),('es','messages:undelete-filename-mismatch','s:91:\"No se puede restaurar la versión con marca de tiempo $1: No concuerda el nombre de fichero\";'),('es','messages:undelete-bad-store-key','s:99:\"No se puede restaurar la versión con marca de tiempo $1: el fichero fue omitido antes del borrado.\";'),('es','messages:undelete-cleanup-error','s:45:\"Error al borrar el archivo no utilizado \"$1\".\";'),('es','messages:undelete-missing-filearchive','s:123:\"No se ha podido restaurar el archivo de ID $1 debido a que no está en la base de datos.\nPuede que ya haya sido restaurado.\";'),('es','messages:undelete-error-short','s:29:\"Error restaurando archivo: $1\";'),('es','messages:undelete-error-long','s:61:\"Se encontraron errores mientras se restauraba el archivo:\n\n$1\";'),('es','messages:undelete-show-file-confirm','s:106:\"¿Estás seguro que quieres ver una revisión borrada del archivo «<nowiki>$1</nowiki>» del $2 a las $3?\";'),('es','messages:undelete-show-file-submit','s:3:\"Sí\";'),('es','messages:namespace','s:19:\"Espacio de nombres:\";'),('es','messages:invert','s:19:\"Invertir selección\";'),('es','messages:tooltip-invert','s:154:\"Marca esta casilla para ocultar los cambios a las páginas dentro del espacio de nombres seleccionado (y el espacio de nombres asociado si está activada)\";'),('es','messages:namespace_association','s:27:\"Espacio de nombres asociado\";'),('es','messages:tooltip-namespace_association','s:124:\"Marca esta casilla para incluir también el espacio de nombres de discusión asociado con el espacio de nombres seleccionado\";'),('es','messages:blanknamespace','s:11:\"(Principal)\";'),('es','messages:contributions','s:26:\"Contribuciones del usuario\";'),('es','messages:contributions-title','s:57:\"Contribuciones {{GENDER:$1|del usuario|de la usuaria}} $1\";'),('es','messages:mycontris','s:14:\"Contribuciones\";'),('es','messages:contribsub2','s:7:\"$1 ($2)\";'),('es','messages:nocontribs','s:57:\"No se encontraron cambios que cumplieran estos criterios.\";'),('es','messages:uctop','s:18:\"(última edición)\";'),('es','messages:month','s:26:\"Desde el mes (y anterior):\";'),('es','messages:year','s:27:\"Desde el año (y anterior):\";'),('es','messages:sp-contributions-newbies','s:50:\"Mostrar solo las contribuciones de usuarios nuevos\";'),('es','messages:sp-contributions-newbies-sub','s:19:\"Para cuentas nuevas\";'),('es','messages:sp-contributions-newbies-title','s:33:\"Contribuciones de usuarios nuevos\";'),('es','messages:sp-contributions-blocklog','s:20:\"registro de bloqueos\";'),('es','messages:sp-contributions-deleted','s:34:\"contribuciones de usuario borradas\";'),('es','messages:sp-contributions-uploads','s:7:\"subidas\";'),('es','messages:sp-contributions-logs','s:9:\"registros\";'),('es','messages:sp-contributions-talk','s:10:\"discusión\";'),('es','messages:sp-contributions-userrights','s:39:\"administración de derechos de usuarios\";'),('es','messages:sp-contributions-blocked-notice','s:129:\"Este usuario está actualmente bloqueado. La última entrada del registro de bloqueos es presentada debajo para mayor referencia:\";'),('es','messages:sp-contributions-blocked-notice-anon','s:148:\"Esta dirección IP se encuentra actualmente bloqueada.\nA continuación se muestra la última entrada del registro de bloqueos para mayor referencia.\";'),('es','messages:sp-contributions-search','s:21:\"Buscar contribuciones\";'),('es','messages:sp-contributions-username','s:34:\"Dirección IP o nombre de usuario:\";'),('es','messages:sp-contributions-toponly','s:32:\"Mostrar solamente revisiones top\";'),('es','messages:sp-contributions-submit','s:6:\"Buscar\";'),('es','messages:whatlinkshere','s:19:\"Lo que enlaza aquí\";'),('es','messages:whatlinkshere-title','s:31:\"Páginas que enlazan con «$1»\";'),('es','messages:whatlinkshere-page','s:8:\"Página:\";'),('es','messages:linkshere','s:48:\"Las siguientes páginas enlazan a \'\'\'[[:$1]]\'\'\':\";'),('es','messages:nolinkshere','s:41:\"Ninguna página enlaza con \'\'\'[[:$1]]\'\'\'.\";'),('es','messages:nolinkshere-ns','s:74:\"Ninguna página enlaza con \'\'\'[[:$1]]\'\'\' en el espacio de nombres elegido.\";'),('es','messages:isredirect','s:18:\"página redirigida\";'),('es','messages:istemplate','s:10:\"inclusión\";'),('es','messages:isimage','s:16:\"Enlace de imagen\";'),('es','messages:whatlinkshere-prev','s:31:\"{{PLURAL:$1|previa|previas $1}}\";'),('es','messages:whatlinkshere-next','s:37:\"{{PLURAL:$1|siguiente|siguientes $1}}\";'),('es','messages:whatlinkshere-links','s:11:\"← enlaces\";'),('es','messages:whatlinkshere-hideredirs','s:16:\"$1 redirecciones\";'),('es','messages:whatlinkshere-hidetrans','s:14:\"$1 inclusiones\";'),('es','messages:whatlinkshere-hidelinks','s:10:\"$1 enlaces\";'),('es','messages:whatlinkshere-hideimages','s:22:\"$1 enlaces a imágenes\";'),('es','messages:whatlinkshere-filters','s:7:\"Filtros\";'),('es','messages:autoblockid','s:23:\"Bloqueo automático #$1\";'),('es','messages:block','s:16:\"Bloquear usuario\";'),('es','messages:unblock','s:19:\"Desbloquear usuario\";'),('es','messages:blockip','s:16:\"Bloquear usuario\";'),('es','messages:blockip-title','s:16:\"Bloquear usuario\";'),('es','messages:blockip-legend','s:16:\"Bloquear usuario\";'),('es','messages:blockiptext','s:363:\"Usa el siguiente formulario para bloquear el acceso de escritura desde una dirección IP específica o nombre de usuario.\nEsto debería hacerse sólo para prevenir vandalismos, y de acuerdo a las [[{{MediaWiki:Policy-url}}|políticas]].\nExplica la razón específica del bloqueo (por ejemplo, citando las páginas en particular que han sido objeto de vandalismo).\";'),('es','messages:ipadressorusername','s:33:\"Dirección IP o nombre de usuario\";'),('es','messages:ipbexpiry','s:16:\"Caduca dentro de\";'),('es','messages:ipbreason','s:7:\"Motivo:\";'),('es','messages:ipbreasonotherlist','s:11:\"Otra razón\";'),('es','messages:ipbreason-dropdown','s:277:\"*Motivos comunes de bloqueo\n** Añadir información falsa\n** Eliminar contenido de las páginas\n** Publicitar enlaces a otras páginas web\n** Añadir basura a las páginas\n** Comportamiento intimidatorio u hostil\n** Abusar de múltiples cuentas\n** Nombre de usuario inaceptable\";'),('es','messages:ipb-hardblock','s:70:\"Impedir que los usuarios identificados editen desde esta dirección IP\";'),('es','messages:ipbcreateaccount','s:43:\"Prevenir la creación de cuentas de usuario\";'),('es','messages:ipbemailban','s:50:\"Prevenir que el usuario envíe correo electrónico\";'),('es','messages:ipbenableautoblock','s:119:\"Bloquear automáticamente la dirección IP usada por este usuario y cualquier IP posterior desde la cual intente editar\";'),('es','messages:ipbsubmit','s:23:\"Bloquear a este usuario\";'),('es','messages:ipbother','s:21:\"Especificar caducidad\";'),('es','messages:ipboptions','s:161:\"2 horas:2 hours,1 día:1 day,3 días:3 days,1 semana:1 week,2 semanas:2 weeks,1 mes:1 month,3 meses:3 months,6 meses:6 months,1 año:1 year,para siempre:infinite\";'),('es','messages:ipbotheroption','s:4:\"otro\";'),('es','messages:ipbotherreason','s:12:\"Otra razón:\";'),('es','messages:ipbhidename','s:47:\"Ocultar nombre de usuario de ediciones y listas\";'),('es','messages:ipbwatchuser','s:63:\"Vigilar las páginas de usuario y de discusión de este usuario\";'),('es','messages:ipb-disableusertalk','s:87:\"Impedir que este usuario edite su propia página de discusión mientras esté bloqueado\";'),('es','messages:ipb-change-block','s:37:\"Rebloquear al usuario con estos datos\";'),('es','messages:ipb-confirm','s:17:\"Confirmar bloqueo\";'),('es','messages:badipaddress','s:46:\"La dirección IP no tiene el formato correcto.\";'),('es','messages:blockipsuccesssub','s:28:\"Bloqueo realizado con éxito\";'),('es','messages:blockipsuccesstext','s:126:\"\"[[Special:Contributions/$1|$1]]\" ha sido bloqueado.<br />\nVéase la [[Special:IPBlockList|lista de bloqueos]] para revisarlo.\";'),('es','messages:ipb-blockingself','s:83:\"¡Estás a punto de bloquearte a ti mismo!  ¿Estás seguro de que quieres hacerlo?\";'),('es','messages:ipb-confirmhideuser','s:197:\"Estás a punto de bloquear un usuario con la opción de supresión activada. Esto suprimirá el nombre de usuario en todas las listas y entradas de registro. ¿Estás seguro de que deseas proceder?\";'),('es','messages:ipb-edit-dropdown','s:25:\"Editar motivo del bloqueo\";'),('es','messages:ipb-unblock-addr','s:14:\"Desbloquear $1\";'),('es','messages:ipb-unblock','s:31:\"Desbloquear un usuario o una IP\";'),('es','messages:ipb-blocklist','s:21:\"Ver bloqueos vigentes\";'),('es','messages:ipb-blocklist-contribs','s:20:\"Contribuciones de $1\";'),('es','messages:unblockip','s:19:\"Desbloquear usuario\";'),('es','messages:unblockiptext','s:116:\"Use el formulario a continuación para devolver los permisos de escritura a una dirección IP que ha sido bloqueada.\";'),('es','messages:ipusubmit','s:23:\"Desactivar este bloqueo\";'),('es','messages:unblocked','s:62:\"[[User:$1|$1]] ha sido {{GENDER:$1|desbloqueado|desbloqueada}}\";'),('es','messages:unblocked-range','s:23:\"$1 ha sido desbloqueado\";'),('es','messages:unblocked-id','s:29:\"Se ha eliminado el bloqueo $1\";'),('es','messages:blocklist','s:19:\"Usuarios bloqueados\";'),('es','messages:ipblocklist','s:19:\"Usuarios bloqueados\";'),('es','messages:ipblocklist-legend','s:32:\"Encontrar a un usuario bloqueado\";'),('es','messages:blocklist-userblocks','s:26:\"Ocultar bloqueos de cuenta\";'),('es','messages:blocklist-tempblocks','s:27:\"Ocultar bloqueos temporales\";'),('es','messages:blocklist-addressblocks','s:42:\"Ocultar bloqueos de una sola dirección IP\";'),('es','messages:blocklist-timestamp','s:15:\"Marca de tiempo\";'),('es','messages:blocklist-target','s:7:\"Destino\";'),('es','messages:blocklist-expiry','s:6:\"Caduca\";'),('es','messages:blocklist-by','s:24:\"Bloqueo de administrador\";'),('es','messages:blocklist-params','s:22:\"Parámetros de bloqueo\";'),('es','messages:blocklist-reason','s:6:\"Motivo\";'),('es','messages:ipblocklist-submit','s:6:\"Buscar\";'),('es','messages:ipblocklist-localblock','s:13:\"Bloqueo local\";'),('es','messages:ipblocklist-otherblocks','s:37:\"Otros {{PLURAL:$1|bloqueo| bloqueos}}\";'),('es','messages:infiniteblock','s:8:\"infinito\";'),('es','messages:expiringblock','s:21:\"expira el $1 a las $2\";'),('es','messages:anononlyblock','s:12:\"sólo anón.\";'),('es','messages:noautoblockblock','s:33:\"bloqueo automático deshabilitado\";'),('es','messages:createaccountblock','s:29:\"creación de cuenta bloqueada\";'),('es','messages:emailblock','s:29:\"correo electrónico bloqueado\";'),('es','messages:blocklist-nousertalk','s:47:\"no puede editar su propia página de discusión\";'),('es','messages:ipblocklist-empty','s:34:\"La lista de bloqueos está vacía.\";'),('es','messages:ipblocklist-no-results','s:54:\"El nombre de usuario o IP indicado no está bloqueado.\";'),('es','messages:blocklink','s:8:\"bloquear\";'),('es','messages:unblocklink','s:11:\"desbloquear\";'),('es','messages:change-blocklink','s:15:\"cambiar bloqueo\";'),('es','messages:contribslink','s:14:\"contribuciones\";'),('es','messages:autoblocker','s:173:\"Has sido bloqueado automáticamente porque tu dirección IP ha sido usada recientemente por «[[User:$1|$1]]». La razón dada para bloquear a «[[User:$1|$1]]» fue «$2».\";'),('es','messages:blocklogpage','s:20:\"Registro de bloqueos\";'),('es','messages:blocklog-showlog','s:107:\"Este usuario ha sido bloqueado previamente. Debajo se provee el registro de bloqueos para mayor referencia:\";'),('es','messages:blocklog-showsuppresslog','s:98:\"Este usuario ha sido bloqueado y ocultado. Se provee el registro de supresiones para más detalle:\";'),('es','messages:blocklogentry','s:43:\"bloqueó a [[$1]] $3 durante un plazo de $2\";'),('es','messages:reblock-logentry','s:58:\"cambió el bloqueo para  [[$1]] con una caducidad de $2 $3\";'),('es','messages:blocklogtext','s:229:\"Esto es un registro de bloqueos y desbloqueos de usuarios.\nLas direcciones bloqueadas automáticamente no aparecen aquí.\nConsulte la [[Special:BlockList|lista de direcciones IP bloqueadas]] para ver la lista de bloqueos vigente.\";'),('es','messages:unblocklogentry','s:16:\"desbloqueó a $1\";'),('es','messages:block-log-flags-anononly','s:15:\"sólo anónimos\";'),('es','messages:block-log-flags-nocreate','s:35:\"desactivada la creación de cuentas\";'),('es','messages:block-log-flags-noautoblock','s:31:\"bloqueo automático desactivado\";'),('es','messages:block-log-flags-noemail','s:33:\"correo electrónico deshabilitado\";'),('es','messages:block-log-flags-nousertalk','s:47:\"no puede editar su propia página de discusión\";'),('es','messages:block-log-flags-angry-autoblock','s:31:\"autobloqueo avanzado habilitado\";'),('es','messages:block-log-flags-hiddenname','s:24:\"nombre de usuario oculto\";'),('es','messages:range_block_disabled','s:78:\"La facultad de administrador de crear bloqueos por rangos está deshabilitada.\";'),('es','messages:ipb_expiry_invalid','s:37:\"El tiempo de caducidad no es válido.\";'),('es','messages:ipb_expiry_temp','s:64:\"Los bloqueos a nombres de usuario ocultos deben ser permanentes.\";'),('es','messages:ipb_hide_invalid','s:62:\"Incapaz de suprimir esta cuenta; puede tener muchas ediciones.\";'),('es','messages:ipb_already_blocked','s:31:\"\"$1\" ya se encuentra bloqueado.\";'),('es','messages:ipb-needreblock','s:52:\"$1 ya está bloqueado. ¿Quieres cambiar el bloqueo?\";'),('es','messages:ipb-otherblocks-header','s:41:\"{{PLURAL:$1|Otro bloqueo|Otros bloqueos}}\";'),('es','messages:unblock-hideuser','s:81:\"No se puede desbloquear a este usuario, porque su nombre de usuario está oculto.\";'),('es','messages:ipb_cant_unblock','s:85:\"\'\'\'Error\'\'\': Número ID $1 de bloqueo no encontrado. Pudo haber sido desbloqueado ya.\";'),('es','messages:ipb_blocked_as_range','s:169:\"Error: la dirección IP $1 no está bloqueada directamente y no puede ser desbloqueada.\nSin embargo, está bloqueada como parte del rango $2, que puede ser desbloqueado.\";'),('es','messages:ip_range_invalid','s:29:\"El rango de IP no es válido.\";'),('es','messages:ip_range_toolarge','s:60:\"Los bloqueos de rango superiores a /$1 no están permitidos.\";'),('es','messages:blockme','s:10:\"Bloquearme\";'),('es','messages:proxyblocker','s:21:\"Bloqueador de proxies\";'),('es','messages:proxyblocker-disabled','s:32:\"Esta función está desactivada.\";'),('es','messages:proxyblockreason','s:216:\"Su dirección IP ha sido bloqueada porque es un proxy abierto. Por favor, contacte con su proveedor de servicios de Internet o con su servicio de asistencia técnica e infórmeles de este grave problema de seguridad.\";'),('es','messages:proxyblocksuccess','s:6:\"Hecho.\";'),('es','messages:sorbsreason','s:59:\"Su dirección IP está listada como proxy abierto en DNSBL.\";'),('es','messages:sorbs_create_account_reason','s:85:\"Su dirección IP está listada como proxy abierto en DNSBL. No puede crear una cuenta\";'),('es','messages:cant-block-while-blocked','s:62:\"No puedes bloquear a otros usuarios mientras estás bloqueado.\";'),('es','messages:cant-see-hidden-user','s:172:\"El usuario que está intentando bloquear ya ha sido bloqueado y oculto. Puesto que usted no tiene el derecho hideuser, usted no puede ver o editar los bloqueos del usuario.\";'),('es','messages:ipbblocked','s:73:\"No puedes bloquear o desbloquear a otros usuarios porque estás bloqueado\";'),('es','messages:ipbnounblockself','s:23:\"No puedes desbloquearte\";'),('es','messages:lockdb','s:25:\"Bloquear la base de datos\";'),('es','messages:unlockdb','s:28:\"Desbloquear la base de datos\";'),('es','messages:lockdbtext','s:381:\"El bloqueo de la base de datos impedirá a todos los usuarios editar páginas, cambiar sus preferencias, modificar sus listas de seguimiento y cualquier otra función que requiera realizar cambios en la base de datos. Por favor, confirme que ésto es precisamente lo que quiere hacer y que desbloqueará la base de datos tan pronto haya finalizado las operaciones de mantenimiento.\";'),('es','messages:unlockdbtext','s:283:\"El desbloqueo de la base de datos permitirá a todos los usuarios editar páginas, cambiar sus preferencias, modificar sus listas de seguimiento y cualesquiera otras funciones que impliquen modificar la base de datos. Por favor, confirme que esto es precisamente lo que quiere hacer.\";'),('es','messages:lockconfirm','s:48:\"Sí, realmente quiero bloquear la base de datos.\";'),('es','messages:unlockconfirm','s:51:\"Sí, realmente quiero desbloquear la base de datos.\";'),('es','messages:lockbtn','s:25:\"Bloquear la base de datos\";'),('es','messages:unlockbtn','s:28:\"Desbloquear la base de datos\";'),('es','messages:locknoconfirm','s:36:\"No ha confirmado lo que desea hacer.\";'),('es','messages:lockdbsuccesssub','s:37:\"El bloqueo se ha realizado con éxito\";'),('es','messages:unlockdbsuccesssub','s:40:\"El desbloqueo se ha realizado con éxito\";'),('es','messages:lockdbsuccesstext','s:136:\"La base de datos de {{SITENAME}} ha sido bloqueada.\n<br />Recuerde retirar el bloqueo después de completar las tareas de mantenimiento.\";'),('es','messages:unlockdbsuccesstext','s:54:\"La base de datos de {{SITENAME}} ha sido desbloqueada.\";'),('es','messages:lockfilenotwritable','s:174:\"El archivo-cerrojo de la base de datos no tiene permiso de escritura. Para bloquear o desbloquear la base de datos, este archivo tiene que ser escribible por el servidor web.\";'),('es','messages:databasenotlocked','s:36:\"La base de datos no está bloqueada.\";'),('es','messages:lockedbyandtime','s:37:\"(por {{GENDER:$1|$1}} el $2 a las $3)\";'),('es','messages:move-page','s:12:\"Trasladar $1\";'),('es','messages:move-page-legend','s:17:\"Renombrar página\";'),('es','messages:movepagetext','s:957:\"Usando el siguiente formulario se renombrará una página, moviendo todo su historial al nuevo nombre.\nEl título anterior se convertirá en una redirección al nuevo título.\nLos enlaces al antiguo título de la página no se cambiarán.\nAsegúrate de no dejar [[Special:DoubleRedirects|redirecciones dobles]] o [[Special:BrokenRedirects|rotas]].\nTú eres responsable de hacer que los enlaces sigan apuntando a donde se supone que deberían hacerlo.\n\nRecuerda que la página \'\'\'no\'\'\' será renombrada si ya existe una página con el nuevo título, a no ser que sea una página vacía o una redirección sin historial.\nEsto significa que podrás renombrar una página a su título original si has cometido un error, pero que no podrás sobrescribir una página existente.\n\n\'\'\'¡Aviso!\'\'\'\nEste puede ser un cambio drástico e inesperado para una página popular;\npor favor, asegúrate de entender las consecuencias del procedimiento antes de seguir adelante.\";'),('es','messages:movepagetext-noredirectfixer','s:893:\"Usando el siguiente formulario se renombrará una página, moviendo todo su historial al nuevo nombre.\nEl título anterior se convertirá en una redirección al nuevo título.\nAsegúrate de no dejar [[Special:DoubleRedirects|redirecciones dobles]] o [[Special:BrokenRedirects|rotas]].\nTú eres responsable de hacer que los enlaces sigan apuntando adonde se supone que deberían hacerlo.\n\nRecuerda que la página \'\'\'no\'\'\' será renombrada si ya existe una página con el nuevo título, a no ser que sea una página vacía o una redirección sin historial.\nEsto significa que podrás renombrar una página a su título original si has cometido un error, pero que no podrás sobrescribir una página existente.\n\n\'\'\'¡Aviso!\'\'\'\nEste puede ser un cambio drástico e inesperado para una página popular;\npor favor, asegúrate de entender las consecuencias del procedimiento antes de seguir adelante.\";'),('es','messages:movepagetalktext','s:395:\"La página de discusión asociada, si existe, será renombrada automáticamente \'\'\'a menos que:\'\'\'\n*Esté moviendo la página entre espacios de nombres diferentes,\n*Una página de discusión no vacía ya exista con el nombre nuevo, o\n*No actives la opción «Renombrar la página de discusión también».\n\nEn estos casos, deberás trasladar manualmente el contenido de la página de discusión.\";'),('es','messages:movearticle','s:17:\"Renombrar página\";'),('es','messages:moveuserpage-warning','s:157:\"\'\'\'Aviso:\'\'\' estás a punto de mover una página de usuario. Ten en cuenta de que solo la página será trasladada pero el usuario \'\'\'no\'\'\' será renombrado.\";'),('es','messages:movenologin','s:23:\"No has iniciado sesión\";'),('es','messages:movenologintext','s:110:\"Es necesario ser usuario registrado y [[Special:UserLogin|haber iniciado sesión]] para renombrar una página.\";'),('es','messages:movenotallowed','s:38:\"No tienes permiso para mover páginas.\";'),('es','messages:movenotallowedfile','s:38:\"No tienes permiso para mover archivos.\";'),('es','messages:cant-move-user-page','s:71:\"No tienes permiso para mover páginas de usuario (excepto subpáginas).\";'),('es','messages:cant-move-to-user-page','s:101:\"No tienes permiso para mover una página a una página de usuario (excepto a subpáginas de usuario).\";'),('es','messages:newtitle','s:16:\"A título nuevo:\";'),('es','messages:move-watch','s:36:\"Vigilar páginas de origen y destino\";'),('es','messages:movepagebtn','s:17:\"Renombrar página\";'),('es','messages:pagemovedsub','s:31:\"Renombrado realizado con éxito\";'),('es','messages:movepage-moved','s:41:\"\'\'\'«$1» ha sido trasladado a «$2».\'\'\'\";'),('es','messages:movepage-moved-redirect','s:30:\"Se ha creado una redirección.\";'),('es','messages:movepage-moved-noredirect','s:48:\"Se ha suprimido la creación de la redirección.\";'),('es','messages:articleexists','s:111:\"Ya existe una página con ese nombre, o el nombre que has escogido no es válido.\nPor favor, elige otro nombre.\";'),('es','messages:cantmove-titleprotected','s:113:\"No puedes mover la página a esta ubicación, porque el nuevo título ha sido protegido para evitar su creación.\";'),('es','messages:talkexists','s:163:\"La página fue renombrada con éxito, pero la discusión no se pudo mover porque ya existe una en el título nuevo. Por favor incorpora sus contenidos manualmente.\";'),('es','messages:movedto','s:12:\"renombrado a\";'),('es','messages:movetalk','s:43:\"Renombrar la página de discusión asociada\";'),('es','messages:move-subpages','s:45:\"Intentar trasladar las subpáginas (hasta $1)\";'),('es','messages:move-talk-subpages','s:59:\"Intentar trasladar las subpáginas de discusión (hasta $1)\";'),('es','messages:movepage-page-exists','s:77:\"La página $1 ya existe, por lo que no puede ser renombrada automáticamente.\";'),('es','messages:movepage-page-moved','s:38:\"La página $1 ha sido trasladada a $2.\";'),('es','messages:movepage-page-unmoved','s:45:\"La página $1 no se ha podido trasladar a $2.\";'),('es','messages:movepage-max-pages','s:141:\"Se {{PLURAL:$1|ha trasladado un máximo de una página|han trasladado un máximo de $1 páginas}}, y no se van a mover más automáticamente.\";'),('es','messages:1movedto2','s:26:\"[[$1]] trasladada a [[$2]]\";'),('es','messages:1movedto2_redir','s:49:\"[[$1]] trasladada a [[$2]] sobre una redirección\";'),('es','messages:move-redirect-suppressed','s:22:\"redirección suprimida\";'),('es','messages:movelogpage','s:21:\"Registro de traslados\";'),('es','messages:movelogpagetext','s:53:\"Abajo se encuentra una lista de páginas trasladadas.\";'),('es','messages:movesubpage','s:36:\"{{PLURAL:$1|Subpágina|Subpáginas}}\";'),('es','messages:movesubpagetext','s:87:\"Esta página tiene {{PLURAL:$1|la siguiente subpágina|las siguientes $1 subpáginas}}:\";'),('es','messages:movenosubpage','s:34:\"Esta página no tiene subpáginas.\";'),('es','messages:movereason','s:7:\"Motivo:\";'),('es','messages:revertmove','s:8:\"revertir\";'),('es','messages:delete_and_move','s:18:\"Borrar y trasladar\";'),('es','messages:delete_and_move_text','s:114:\"==Se necesita borrado==\n\nLa página de destino (\"[[:$1]]\") ya existe. ¿Quiere borrarla para permitir al traslado?\";'),('es','messages:delete_and_move_confirm','s:22:\"Sí, borrar la página\";'),('es','messages:delete_and_move_reason','s:33:\"Borrada para permitir el traslado\";'),('es','messages:selfmove','s:99:\"Los títulos de origen y destino son los mismos;\nno se puede trasladar una página sobre sí misma.\";'),('es','messages:immobile-source-namespace','s:63:\"No se pueden trasladar páginas en el espacio de nombres «$1»\";'),('es','messages:immobile-target-namespace','s:59:\"No se puede trasladar páginas al espacio de nombres «$1»\";'),('es','messages:immobile-target-namespace-iw','s:72:\"Un enlace interwiki no es un destino válido para trasladar una página.\";'),('es','messages:immobile-source-page','s:35:\"Esta página no se puede renombrar.\";'),('es','messages:immobile-target-page','s:36:\"No se puede trasladar a tal título.\";'),('es','messages:imagenocrossnamespace','s:58:\"No se puede trasladar el fichero a otro espacio de nombres\";'),('es','messages:nonfile-cannot-move-to-file','s:66:\"No es posible mover un no-archivo al espacio de nombres de archivo\";'),('es','messages:imagetypemismatch','s:57:\"La nueva extensión de archivo no corresponde con su tipo\";'),('es','messages:imageinvalidfilename','s:46:\"El nombre del fichero de destino no es válido\";'),('es','messages:fix-double-redirects','s:60:\"Actualizar las redirecciones que apuntan al título original\";'),('es','messages:move-leave-redirect','s:22:\"Dejar una redirección\";'),('es','messages:protectedpagemovewarning','s:214:\"\'\'\'Advertencia:\'\'\' Esta página ha sido bloqueada de tal manera que solamente usuarios con privilegios de administrador puedan trasladarla.\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:semiprotectedpagemovewarning','s:174:\"\'\'\'Nota:\'\'\' Esta página ha sido bloqueada para que  solamente usuarios registrados pueden moverla.\nA continuación se muestra la última entrada de registro para referencia:\";'),('es','messages:move-over-sharedrepo','s:135:\"== El archivo existe ==\n[[:$1]] existe en un repositorio compartido. Mover el archivo a este título invalidará el archivo compartido.\";'),('es','messages:file-exists-sharedrepo','s:110:\"El nombre de archivo elegido ya está siendo usado en un repositorio compartido.\nPor favor, elige otro nombre.\";'),('es','messages:export','s:17:\"Exportar páginas\";'),('es','messages:exporttext','s:695:\"Puedes exportar el texto y el historial de ediciones de una página en particular o de un conjunto de páginas a un texto XML. En el futuro, este texto podría importarse en otro wiki que ejecutase MediaWiki a través de [[Special:Import|importar página]].\n\nPara exportar páginas, escribe los títulos en la caja de texto de abajo, un título por línea, y selecciona si quieres la versión actual junto a las versiones anteriores, con las líneas del historial, o sólo la versión actual con la información sobre la última edición.\n\nEn el último caso también puedes usar un enlace, por ejemplo [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] para la página \"[[{{MediaWiki:Mainpage}}]]\".\";'),('es','messages:exportcuronly','s:77:\"Incluye sólo la revisión actual, no el historial de revisiones al completo.\";'),('es','messages:exportnohistory','s:158:\"----\n\'\'\'Nota:\'\'\' Exportar el historial completo de páginas a través de este formulario ha sido deshabilitado debido a problemas de rendimiento del servidor.\";'),('es','messages:export-submit','s:8:\"Exportar\";'),('es','messages:export-addcattext','s:37:\"Añadir páginas desde la categoría:\";'),('es','messages:export-addcat','s:7:\"Añadir\";'),('es','messages:export-addnstext','s:38:\"Agregar páginas del nombre del sitio:\";'),('es','messages:export-addns','s:7:\"Agregar\";'),('es','messages:export-download','s:20:\"Guardar como archivo\";'),('es','messages:export-templates','s:18:\"Incluir plantillas\";'),('es','messages:export-pagelinks','s:48:\"Incluir páginas enlazadas a una profundidad de:\";'),('es','messages:allmessages','s:31:\"Todos los mensajes de MediaWiki\";'),('es','messages:allmessagesname','s:6:\"Nombre\";'),('es','messages:allmessagesdefault','s:20:\"Texto predeterminado\";'),('es','messages:allmessagescurrent','s:12:\"Texto actual\";'),('es','messages:allmessagestext','s:275:\"Esta es una lista de mensajes del sistema disponibles en el espacio de nombres MediaWiki:\nPor favor visita [//www.mediawiki.org/wiki/Localisation Localización MediaWiki] y [//translatewiki.net translatewiki.net] si deseas contribuir con la localización genérica MediaWiki.\";'),('es','messages:allmessagesnotsupportedDB','s:89:\"Esta página no está disponible porque \'\'\'$wgUseDatabaseMessages\'\'\' está deshabilitado.\";'),('es','messages:allmessages-filter-legend','s:6:\"Filtro\";'),('es','messages:allmessages-filter','s:39:\"Filtrar por estado de personalización:\";'),('es','messages:allmessages-filter-unmodified','s:13:\"Sin modificar\";'),('es','messages:allmessages-filter-all','s:4:\"Todo\";'),('es','messages:allmessages-filter-modified','s:10:\"Modificado\";'),('es','messages:allmessages-prefix','s:20:\"Filtrar por prefijo:\";'),('es','messages:allmessages-language','s:7:\"Idioma:\";'),('es','messages:allmessages-filter-submit','s:2:\"Ir\";'),('es','messages:thumbnail-more','s:8:\"Aumentar\";'),('es','messages:filemissing','s:13:\"Falta archivo\";'),('es','messages:thumbnail_error','s:28:\"Error al crear miniatura: $1\";'),('es','messages:djvu_page_error','s:27:\"Página DjVu fuera de rango\";'),('es','messages:djvu_no_xml','s:42:\"Imposible obtener XML para el archivo DjVu\";'),('es','messages:thumbnail_invalid_params','s:37:\"Parámetros del thumbnail no válidos\";'),('es','messages:thumbnail_dest_directory','s:41:\"Incapaz de crear el directorio de destino\";'),('es','messages:thumbnail_image-type','s:29:\"Tipo de imagen no contemplado\";'),('es','messages:thumbnail_gd-library','s:66:\"Configuración de la librería GD incompleta: falta la función $1\";'),('es','messages:thumbnail_image-missing','s:32:\"El fichero parece no existir: $1\";'),('es','messages:import','s:17:\"Importar páginas\";'),('es','messages:importinterwiki','s:22:\"Importación transwiki\";'),('es','messages:import-interwiki-text','s:228:\"Selecciona un wiki y un título de página para importar.\nLas fechas de revisiones y los nombres de editores se preservarán.\nTodas las importaciones transwiki se registran en el [[Special:Log/import|registro de importaciones]].\";'),('es','messages:import-interwiki-source','s:22:\"Wiki o página origen:\";'),('es','messages:import-interwiki-history','s:56:\"Copiar todas las versiones históricas para esta página\";'),('es','messages:import-interwiki-templates','s:28:\"Incluir todas las plantillas\";'),('es','messages:import-interwiki-submit','s:8:\"Importar\";'),('es','messages:import-interwiki-namespace','s:30:\"Espacio de nombres de destino:\";'),('es','messages:import-upload-filename','s:18:\"Nombre de archivo:\";'),('es','messages:import-comment','s:11:\"Comentario:\";'),('es','messages:importtext','s:150:\"Por favor, exporta el archivo desde el wiki de origen usando la [[Special:Export|herramienta de exportación]], guárdalo en tu disco y súbelo aquí.\";'),('es','messages:importstart','s:22:\"Importando páginas...\";'),('es','messages:import-revision-count','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:importnopages','s:29:\"No hay páginas que importar.\";'),('es','messages:imported-log-entries','s:70:\"Importados $1 {{PLURAL:$1|entradas de registro|entradas de registro}}.\";'),('es','messages:importfailed','s:30:\"La importación ha fallado: $1\";'),('es','messages:importunknownsource','s:42:\"Tipo de fuente de importación desconocida\";'),('es','messages:importcantopen','s:30:\"No se pudo importar el archivo\";'),('es','messages:importbadinterwiki','s:25:\"Enlace interwiki anómalo\";'),('es','messages:importnotext','s:18:\"Vacío o sin texto\";'),('es','messages:importsuccess','s:45:\"¡La importación se ha realizado con éxito!\";'),('es','messages:importhistoryconflict','s:96:\"Existen revisiones en conflicto en el historial (puede que se haya importado esta página antes)\";'),('es','messages:importnosources','s:94:\"No hay fuentes de importación transwiki y no está permitido subir directamente el historial.\";'),('es','messages:importnofile','s:40:\"No se subieron archivos de importación.\";'),('es','messages:importuploaderrorsize','s:90:\"Falló la carga del archivo de importaciones.\nSu tamaño es superior al máximo permitido.\";'),('es','messages:importuploaderrorpartial','s:75:\"Falló la subida del fichero de importación.\nSe subió sólo parcialmente.\";'),('es','messages:importuploaderrortemp','s:76:\"Falló la subida del fichero de importación.\nNo hay un directorio temporal.\";'),('es','messages:import-parse-failure','s:32:\"Error de lectura al importar XML\";'),('es','messages:import-noarticle','s:32:\"¡No hay páginas para importar!\";'),('es','messages:import-nonewrevisions','s:51:\"Todas las revisiones fueron previamente importadas.\";'),('es','messages:xml-error-string','s:40:\"$1 en la línea $2, col $3 (byte $4): $5\";'),('es','messages:import-upload','s:15:\"Subir datos XML\";'),('es','messages:import-token-mismatch','s:61:\"Pérdida de datos de sesión. Por favor, inténtalo de nuevo.\";'),('es','messages:import-invalid-interwiki','s:45:\"No se puede importar de la wiki especificada.\";'),('es','messages:importlogpage','s:25:\"Registro de importaciones\";'),('es','messages:importlogpagetext','s:74:\"Importaciones administrativas de páginas con historial desde otros wikis.\";'),('es','messages:import-logentry-upload','s:37:\"importó [[$1]] por subida de archivo\";'),('es','messages:import-logentry-upload-detail','s:37:\"$1 {{PLURAL:$1|revisión|revisiones}}\";'),('es','messages:import-logentry-interwiki','s:18:\"transwikificada $1\";'),('es','messages:import-logentry-interwiki-detail','s:46:\"$1 {{PLURAL:$1|revisión|revisiones}} desde $2\";'),('es','messages:tooltip-pt-userpage','s:21:\"Tu página de usuario\";'),('es','messages:tooltip-pt-anonuserpage','s:50:\"La página de usuario de la IP desde la que editas\";'),('es','messages:tooltip-pt-mytalk','s:24:\"Tu página de discusión\";'),('es','messages:tooltip-pt-anontalk','s:58:\"Discusión sobre ediciones hechas desde esta dirección IP\";'),('es','messages:tooltip-pt-preferences','s:16:\"Tus preferencias\";'),('es','messages:tooltip-pt-watchlist','s:39:\"Lista de páginas cuyos cambios vigilas\";'),('es','messages:tooltip-pt-mycontris','s:27:\"Lista de tus contribuciones\";'),('es','messages:tooltip-pt-login','s:62:\"Te recomendamos iniciar sesión, sin embargo no es obligatorio\";'),('es','messages:tooltip-pt-anonlogin','s:52:\"Te invitamos a registrarte, aunque no es obligatorio\";'),('es','messages:tooltip-pt-logout','s:19:\"Salir de la sesión\";'),('es','messages:tooltip-ca-talk','s:31:\"Discusión acerca del artículo\";'),('es','messages:tooltip-ca-edit','s:83:\"Puedes editar esta página. Utiliza el botón de previsualización antes de guardar\";'),('es','messages:tooltip-ca-addsection','s:25:\"Inicia una nueva sección\";'),('es','messages:tooltip-ca-viewsource','s:58:\"Esta página está protegida.\nPuedes ver su código fuente\";'),('es','messages:tooltip-ca-history','s:50:\"Versiones anteriores de esta página y sus autores\";'),('es','messages:tooltip-ca-protect','s:21:\"Proteger esta página\";'),('es','messages:tooltip-ca-unprotect','s:35:\"Cambiar protección de esta página\";'),('es','messages:tooltip-ca-delete','s:19:\"Borrar esta página\";'),('es','messages:tooltip-ca-undelete','s:72:\"Restaurar las ediciones hechas a esta página antes de que fuese borrada\";'),('es','messages:tooltip-ca-move','s:18:\"Mover esta página\";'),('es','messages:tooltip-ca-watch','s:46:\"Añadir esta página a su lista de seguimiento\";'),('es','messages:tooltip-ca-unwatch','s:46:\"Borrar esta página de su lista de seguimiento\";'),('es','messages:tooltip-search','s:22:\"Buscar en {{SITENAME}}\";'),('es','messages:tooltip-search-go','s:48:\"Ir al artículo con este nombre exacto si existe\";'),('es','messages:tooltip-search-fulltext','s:32:\"Busca este texto en las páginas\";'),('es','messages:tooltip-p-logo','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-mainpage','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-mainpage-description','s:28:\"Visitar la página principal\";'),('es','messages:tooltip-n-portal','s:71:\"Acerca del proyecto, lo que puedes hacer, dónde encontrar información\";'),('es','messages:tooltip-n-currentevents','s:55:\"Información de contexto sobre acontecimientos actuales\";'),('es','messages:tooltip-n-recentchanges','s:37:\"Lista de cambios recientes en el wiki\";'),('es','messages:tooltip-n-randompage','s:26:\"Cargar una página al azar\";'),('es','messages:tooltip-n-help','s:22:\"El lugar para aprender\";'),('es','messages:tooltip-t-whatlinkshere','s:54:\"Lista de todas las páginas del wiki que enlazan aquí\";'),('es','messages:tooltip-t-recentchangeslinked','s:55:\"Cambios recientes en las páginas que enlazan con ésta\";'),('es','messages:tooltip-feed-rss','s:32:\"Sindicación RSS de esta página\";'),('es','messages:tooltip-feed-atom','s:33:\"Sindicación Atom de esta página\";'),('es','messages:tooltip-t-contributions','s:39:\"Lista de contribuciones de este usuario\";'),('es','messages:tooltip-t-emailuser','s:42:\"Enviar un mensaje de correo a este usuario\";'),('es','messages:tooltip-t-upload','s:37:\"Subir imágenes o archivos multimedia\";'),('es','messages:tooltip-t-specialpages','s:38:\"Lista de todas las páginas especiales\";'),('es','messages:tooltip-t-print','s:35:\"Versión imprimible de esta página\";'),('es','messages:tooltip-t-permalink','s:47:\"Enlace permanente a esta versión de la página\";'),('es','messages:tooltip-ca-nstab-main','s:16:\"Ver el artículo\";'),('es','messages:tooltip-ca-nstab-user','s:25:\"Ver la página de usuario\";'),('es','messages:tooltip-ca-nstab-media','s:28:\"Ver la página de multimedia\";'),('es','messages:tooltip-ca-nstab-special','s:66:\"Esta es una página especial, no se puede editar la página en sí\";'),('es','messages:tooltip-ca-nstab-project','s:26:\"Ver la página de proyecto\";'),('es','messages:tooltip-ca-nstab-image','s:27:\"Ver la página de la imagen\";'),('es','messages:tooltip-ca-nstab-mediawiki','s:25:\"Ver el mensaje de sistema\";'),('es','messages:tooltip-ca-nstab-template','s:16:\"Ver la plantilla\";'),('es','messages:tooltip-ca-nstab-help','s:23:\"Ver la página de ayuda\";'),('es','messages:tooltip-ca-nstab-category','s:28:\"Ver la página de categoría\";'),('es','messages:tooltip-minoredit','s:29:\"Marcar este cambio como menor\";'),('es','messages:tooltip-save','s:19:\"Guardar los cambios\";'),('es','messages:tooltip-preview','s:72:\"Previsualiza los cambios realizados. ¡Por favor, hazlo antes de grabar!\";'),('es','messages:tooltip-diff','s:51:\"Muestra los cambios que ha introducido en el texto.\";'),('es','messages:tooltip-compareselectedversions','s:74:\"Ver las diferencias entre las dos versiones seleccionadas de esta página.\";'),('es','messages:tooltip-watch','s:46:\"Añadir esta página a su lista de seguimiento\";'),('es','messages:tooltip-recreate','s:40:\"Recupera una página que ha sido borrada\";'),('es','messages:tooltip-upload','s:17:\"Empieza la subida\";'),('es','messages:tooltip-rollback','s:79:\"«Revertir» revierte todas las ediciones del último usuario con un solo clic.\";'),('es','messages:tooltip-undo','s:160:\"«Deshacer» revierte la edición seleccionada y abre la página de edición en el modo de previsualización.\nPermite añadir una razón al resumen de edición.\";'),('es','messages:tooltip-preferences-save','s:24:\"Guardar las preferencias\";'),('es','messages:tooltip-summary','s:26:\"Introduce un breve resumen\";'),('es','messages:common.css','s:75:\"/* Los estilos CSS definidos aquí aplicarán a todas las pieles (skins) */\";'),('es','messages:standard.css','s:101:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Standard */\";'),('es','messages:nostalgia.css','s:102:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Nostalgia */\";'),('es','messages:cologneblue.css','s:105:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Cologne Blue */\";'),('es','messages:monobook.css','s:101:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Monobook */\";'),('es','messages:myskin.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel MySkin */\";'),('es','messages:chick.css','s:98:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Chick */\";'),('es','messages:simple.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Simple */\";'),('es','messages:modern.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Modern */\";'),('es','messages:vector.css','s:99:\"/* Los estilos CSS colocados aquí se aplicarán para todos los usuarios que usen la piel Vector */\";'),('es','messages:print.css','s:62:\"/* Los estilos CSS colocados aquí afectarán la impresión */\";'),('es','messages:handheld.css','s:131:\"/* Los estilos CSS colocados aquí afectarán a los dispositivos móviles basados en las pieles configuradas en $wgHandheldStyle */\";'),('es','messages:common.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */\";'),('es','messages:standard.js','s:110:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Estandar */\";'),('es','messages:nostalgia.js','s:112:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Nostalgia. */\";'),('es','messages:cologneblue.js','s:114:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Colonia azul */\";'),('es','messages:monobook.js','s:97:\"/* El código JavaScript que se ponga aquí será cargado por los usuarios de la piel MonoBook */\";'),('es','messages:myskin.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Mi piel */\";'),('es','messages:chick.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Pollito */\";'),('es','messages:simple.js','s:108:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Simple */\";'),('es','messages:modern.js','s:109:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Moderna */\";'),('es','messages:vector.js','s:108:\"/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la piel Vector */\";'),('es','messages:notacceptable','s:100:\"El servidor wiki no puede proveer los datos en un formato que su cliente (navegador) pueda entender.\";'),('es','messages:anonymous','s:65:\"{{PLURAL:$1|Usuario anónimo|Usuarios anónimos}} de {{SITENAME}}\";'),('es','messages:siteuser','s:48:\"{{GENDER:$1|Usuario|Usuaria}} $1 de {{SITENAME}}\";'),('es','messages:anonuser','s:32:\"{{SITENAME}} usuario anónimo $1\";'),('es','messages:lastmodifiedatby','s:61:\"Esta página fue modificada por última vez en $2, $1 por $3.\";'),('es','messages:othercontribs','s:27:\"Basado en el trabajo de $1.\";'),('es','messages:others','s:5:\"otros\";'),('es','messages:siteusers','s:49:\"{{PLURAL:$2|Usuario|Usuarios}} $1 de {{SITENAME}}\";'),('es','messages:anonusers','s:56:\"{{SITENAME}} {{PLURAL:$2|usuario|usuarios}} anónimos $1\";'),('es','messages:creditspage','s:23:\"Créditos de la página\";'),('es','messages:nocredits','s:51:\"No hay información de créditos para esta página.\";'),('es','messages:spamprotectiontitle','s:33:\"Filtro de protección contra spam\";'),('es','messages:spamprotectiontext','s:155:\"La página que quería guardar fue bloqueada por el filtro de spam.\nEsto podría estar causado por un enlace a un sitio externo incluido en la lista negra.\";'),('es','messages:spamprotectionmatch','s:63:\"El siguiente texto es el que activó nuestro filtro de spam: $1\";'),('es','messages:spambot_username','s:29:\"Limpieza de spam de MediaWiki\";'),('es','messages:spam_reverting','s:62:\"Revirtiendo a la última versión que no contenga enlaces a $1\";'),('es','messages:spam_blanking','s:56:\"Todas las revisiones contienen enlaces a $1, blanqueando\";'),('es','messages:pageinfo-title','s:24:\"Información para «$1»\";'),('es','messages:pageinfo-header-edits','s:9:\"Ediciones\";'),('es','messages:pageinfo-header-watchlist','s:20:\"Lista de seguimiento\";'),('es','messages:pageinfo-header-views','s:6:\"Vistas\";'),('es','messages:pageinfo-subjectpage','s:7:\"Página\";'),('es','messages:pageinfo-talkpage','s:21:\"Página de discusión\";'),('es','messages:pageinfo-watchers','s:32:\"Número de usuarios vigilándola\";'),('es','messages:pageinfo-edits','s:20:\"Número de ediciones\";'),('es','messages:pageinfo-authors','s:28:\"Número de autores distintos\";'),('es','messages:pageinfo-views','s:17:\"Número de vistas\";'),('es','messages:pageinfo-viewsperedit','s:19:\"Vistas por edición\";'),('es','messages:skinname-standard','s:9:\"Estándar\";'),('es','messages:skinname-nostalgia','s:9:\"Nostalgia\";'),('es','messages:skinname-cologneblue','s:12:\"Colonia azul\";'),('es','messages:skinname-monobook','s:8:\"MonoBook\";'),('es','messages:skinname-myskin','s:7:\"Mi piel\";'),('es','messages:skinname-chick','s:7:\"Pollito\";'),('es','messages:skinname-simple','s:6:\"Simple\";'),('es','messages:skinname-modern','s:7:\"Moderna\";'),('es','messages:skinname-vector','s:6:\"Vector\";'),('es','messages:markaspatrolleddiff','s:20:\"Marcar como revisado\";'),('es','messages:markaspatrolledtext','s:35:\"Marcar este artículo como revisado\";'),('es','messages:markedaspatrolled','s:21:\"Marcado como revisado\";'),('es','messages:markedaspatrolledtext','s:70:\"La revisión seleccionada de [[:$1|$1]] ha sido marcada como revisada.\";'),('es','messages:rcpatroldisabled','s:48:\"Revisión de los Cambios Recientes deshabilitada\";'),('es','messages:rcpatroldisabledtext','s:82:\"La capacidad de revisar los Cambios Recientes está deshabilitada en este momento.\";'),('es','messages:markedaspatrollederror','s:34:\"No se puede marcar como patrullada\";'),('es','messages:markedaspatrollederrortext','s:62:\"Debes especificar una revisión para marcarla como patrullada.\";'),('es','messages:markedaspatrollederror-noautopatrol','s:66:\"No tienes permisos para marcar tus propios cambios como revisados.\";'),('es','messages:patrol-log-page','s:22:\"Registro de revisiones\";'),('es','messages:patrol-log-header','s:46:\"Este es un registro de revisiones patrulladas.\";'),('es','messages:patrol-log-line','s:22:\"revisó la $1 de $2 $3\";'),('es','messages:patrol-log-auto','s:13:\"(automático)\";'),('es','messages:patrol-log-diff','s:12:\"revisión $1\";'),('es','messages:log-show-hide-patrol','s:25:\"$1 registro de patrullaje\";'),('es','messages:deletedrevision','s:28:\"Borrada revisión antigua $1\";'),('es','messages:filedeleteerror-short','s:44:\"Se produjo un error al borrar el archivo: $1\";'),('es','messages:filedeleteerror-long','s:60:\"Se han producido errores mientras se borraba el archivo:\n\n$1\";'),('es','messages:filedelete-missing','s:51:\"No se pudo borrar el archivo \"$1\" porque no existe.\";'),('es','messages:filedelete-old-unregistered','s:58:\"La revisión de archivo \"$1\" no está en la base de datos.\";'),('es','messages:filedelete-current-unregistered','s:48:\"El archivo «$1» no existe en la base de datos.\";'),('es','messages:filedelete-archive-read-only','s:64:\"El servidor web no logra escribir en el directorio archivo \"$1\".\";'),('es','messages:previousdiff','s:21:\"← Edición anterior\";'),('es','messages:nextdiff','s:22:\"Edición siguiente →\";'),('es','messages:mediawarning','s:121:\"\'\'\'Atención\'\'\': Este fichero puede contener código malicioso.\nEjecutarlo podría comprometer la seguridad de su equipo.\";'),('es','messages:imagemaxsize','s:81:\"Límite de tamaño de imagen:<br />\'\'(para páginas de descripción de archivo)\'\'\";'),('es','messages:thumbsize','s:35:\"Tamaño de las vistas en miniatura:\";'),('es','messages:widthheightpage','s:39:\"$1×$2, $3 {{PLURAL:|página|páginas}}\";'),('es','messages:file-info','s:37:\"tamaño de archivo: $1; tipo MIME: $2\";'),('es','messages:file-info-size','s:56:\"$1 × $2 píxeles; tamaño de archivo: $3; tipo MIME: $4\";'),('es','messages:file-info-size-pages','s:90:\"$1× $2 píxeles, tamaño de archivo: $3, tipo MIME: $4, $5 {{PLURAL:$5|página|páginas}}\";'),('es','messages:file-nohires','s:49:\"<small>No disponible a mayor resolución.</small>\";'),('es','messages:svg-long-desc','s:67:\"archivo SVG, nominalmente $1 × $2 píxeles, tamaño de archivo: $3\";'),('es','messages:show-big-image','s:20:\"Resolución original\";'),('es','messages:show-big-image-preview','s:53:\"<small>Tamaño de esta previsualización: $1.</small>\";'),('es','messages:show-big-image-other','s:38:\"<small>Otras resoluciones: $1.</small>\";'),('es','messages:show-big-image-size','s:17:\"$1 × $2 píxeles\";'),('es','messages:file-info-gif-looped','s:8:\"bucleado\";'),('es','messages:file-info-gif-frames','s:29:\"$1 {{PLURAL:$1|frame|frames}}\";'),('es','messages:file-info-png-looped','s:8:\"bucleado\";'),('es','messages:file-info-png-repeat','s:38:\"reproducido $1 {{PLURAL:$1|vez|veces}}\";'),('es','messages:file-info-png-frames','s:29:\"$1 {{PLURAL:$1|marco|marcos}}\";'),('es','messages:newimages','s:28:\"Galería de imágenes nuevas\";'),('es','messages:imagelisttext','s:77:\"Debajo hay una lista de \'\'\'$1\'\'\' {{PLURAL:$1|imagen|imágenes}} ordenadas $2.\";'),('es','messages:newimages-summary','s:76:\"Esta página especial muestra una galería de los últimos ficheros subidos.\";'),('es','messages:newimages-legend','s:18:\"Nombre del fichero\";'),('es','messages:newimages-label','s:33:\"Nombre del fichero (o una parte):\";'),('es','messages:showhidebots','s:9:\"($1 bots)\";'),('es','messages:noimages','s:20:\"No hay nada que ver.\";'),('es','messages:ilsubmit','s:6:\"Buscar\";'),('es','messages:bydate','s:9:\"por fecha\";'),('es','messages:sp-newimages-showfrom','s:45:\"Mostrar nuevas imágenes empezando por $2, $1\";'),('es','messages:minutes-abbrev','s:1:\"m\";'),('es','messages:hours-abbrev','s:1:\"h\";'),('es','messages:bad_image_list','s:316:\"El formato es el siguiente:\n\nSolo se reconocen elementos de lista (líneas que comienzan con «*»).\nEl primer enlace de cada línea debe ser un enlace al archivo que se quiere bloquear.\nTodos los demás enlaces en la misma línea se tomarán como excepciones (es decir, páginas donde sí se puede usar el archivo).\";'),('es','messages:metadata','s:9:\"Metadatos\";'),('es','messages:metadata-help','s:266:\"Este archivo contiene información adicional (metadatos), probablemente añadida por la cámara digital, el escáner o el programa usado para crearlo o digitalizarlo. Si el archivo ha sido modificado desde su estado original, pueden haberse perdido algunos detalles.\";'),('es','messages:metadata-expand','s:24:\"Mostrar datos detallados\";'),('es','messages:metadata-collapse','s:24:\"Ocultar datos detallados\";'),('es','messages:metadata-fields','s:394:\"Los campos de metadatos que se listan en este mensaje se mostrarán en la página de descripción de la imagen aún cuando la tabla de metadatos esté plegada.\nExisten otros campos que se mantendrán ocultos por defecto.\n* make\n* model\n* datetimeoriginal\n* exposuretime\n* fnumber\n* isospeedratings\n* focallength\n* artist\n* copyright\n* imagedescription\n* gpslatitude\n* gpslongitude\n* gpsaltitude\";'),('es','messages:exif-imagewidth','s:7:\"Anchura\";'),('es','messages:exif-imagelength','s:6:\"Altura\";'),('es','messages:exif-bitspersample','s:19:\"Bits por componente\";'),('es','messages:exif-compression','s:22:\"Esquema de compresión\";'),('es','messages:exif-photometricinterpretation','s:21:\"Composición de pixel\";'),('es','messages:exif-orientation','s:12:\"Orientación\";'),('es','messages:exif-samplesperpixel','s:22:\"Número de componentes\";'),('es','messages:exif-planarconfiguration','s:22:\"Distribución de datos\";'),('es','messages:exif-ycbcrsubsampling','s:30:\"Razón de submuestreo de Y a C\";'),('es','messages:exif-ycbcrpositioning','s:22:\"Posicionamientos Y y C\";'),('es','messages:exif-xresolution','s:22:\"Resolución horizontal\";'),('es','messages:exif-yresolution','s:20:\"Resolución vertical\";'),('es','messages:exif-stripoffsets','s:32:\"Localización de datos de imagen\";'),('es','messages:exif-rowsperstrip','s:26:\"Número de filas por banda\";'),('es','messages:exif-stripbytecounts','s:26:\"Bytes por banda comprimida\";'),('es','messages:exif-jpeginterchangeformat','s:26:\"Desplazamiento al JPEG SOI\";'),('es','messages:exif-jpeginterchangeformatlength','s:19:\"Bytes de datos JPEG\";'),('es','messages:exif-whitepoint','s:26:\"Cromacidad de punto blanco\";'),('es','messages:exif-primarychromaticities','s:22:\"Cromacidades primarias\";'),('es','messages:exif-ycbcrcoefficients','s:64:\"Coeficientes de la matriz de transformación de espacio de color\";'),('es','messages:exif-referenceblackwhite','s:46:\"Pareja de valores blanco y negro de referencia\";'),('es','messages:exif-datetime','s:41:\"Fecha y hora de modificación del archivo\";'),('es','messages:exif-imagedescription','s:20:\"Título de la imagen\";'),('es','messages:exif-make','s:24:\"Fabricante de la cámara\";'),('es','messages:exif-model','s:17:\"Modelo de cámara\";'),('es','messages:exif-software','s:14:\"Software usado\";'),('es','messages:exif-artist','s:5:\"Autor\";'),('es','messages:exif-copyright','s:32:\"Titular de los derechos de autor\";'),('es','messages:exif-exifversion','s:13:\"Versión Exif\";'),('es','messages:exif-flashpixversion','s:29:\"Versión admitida de Flashpix\";'),('es','messages:exif-colorspace','s:16:\"Espacio de color\";'),('es','messages:exif-componentsconfiguration','s:30:\"Significado de cada componente\";'),('es','messages:exif-compressedbitsperpixel','s:32:\"Modo de compresión de la imagen\";'),('es','messages:exif-pixelydimension','s:18:\"Ancho de la imagen\";'),('es','messages:exif-pixelxdimension','s:19:\"Altura de la imagen\";'),('es','messages:exif-usercomment','s:22:\"Comentarios de usuario\";'),('es','messages:exif-relatedsoundfile','s:28:\"Archivo de audio relacionado\";'),('es','messages:exif-datetimeoriginal','s:43:\"Fecha y hora de la generación de los datos\";'),('es','messages:exif-datetimedigitized','s:34:\"Fecha y hora de la digitalización\";'),('es','messages:exif-subsectime','s:48:\"Fecha y hora (precisión por debajo del segundo)\";'),('es','messages:exif-subsectimeoriginal','s:79:\"Fecha y hora de la generación de los datos (precisión por debajo del segundo)\";'),('es','messages:exif-subsectimedigitized','s:69:\"Fecha y hora de la digitalización (precisón por debajo del segundo)\";'),('es','messages:exif-exposuretime','s:21:\"Tiempo de exposición\";'),('es','messages:exif-exposuretime-format','s:11:\"$1 seg ($2)\";'),('es','messages:exif-fnumber','s:9:\"Número F\";'),('es','messages:exif-exposureprogram','s:23:\"Programa de exposición\";'),('es','messages:exif-spectralsensitivity','s:22:\"Sensibilidad espectral\";'),('es','messages:exif-isospeedratings','s:30:\"Calificación de velocidad ISO\";'),('es','messages:exif-shutterspeedvalue','s:29:\"Velocidad de obturación APEX\";'),('es','messages:exif-aperturevalue','s:13:\"Apertura APEX\";'),('es','messages:exif-brightnessvalue','s:11:\"Brillo APEX\";'),('es','messages:exif-exposurebiasvalue','s:20:\"Sesgo de exposición\";'),('es','messages:exif-maxaperturevalue','s:25:\"Valor máximo de apertura\";'),('es','messages:exif-subjectdistance','s:19:\"Distancia al sujeto\";'),('es','messages:exif-meteringmode','s:17:\"Modo de medición\";'),('es','messages:exif-lightsource','s:13:\"Fuente de luz\";'),('es','messages:exif-flash','s:5:\"Flash\";'),('es','messages:exif-focallength','s:26:\"Longitud de la lente focal\";'),('es','messages:exif-subjectarea','s:16:\"Área del sujeto\";'),('es','messages:exif-flashenergy','s:18:\"Energía del flash\";'),('es','messages:exif-focalplanexresolution','s:25:\"Resolución X plano focal\";'),('es','messages:exif-focalplaneyresolution','s:25:\"Resolución Y plano focal\";'),('es','messages:exif-focalplaneresolutionunit','s:37:\"Unidad de resolución del plano focal\";'),('es','messages:exif-subjectlocation','s:24:\"Localización del sujeto\";'),('es','messages:exif-exposureindex','s:22:\"Índice de exposición\";'),('es','messages:exif-sensingmethod','s:17:\"Método de sensor\";'),('es','messages:exif-filesource','s:17:\"Fuente de archivo\";'),('es','messages:exif-scenetype','s:14:\"Tipo de escena\";'),('es','messages:exif-customrendered','s:34:\"Procesador personalizado de imagen\";'),('es','messages:exif-exposuremode','s:19:\"Modo de exposición\";'),('es','messages:exif-whitebalance','s:17:\"Balance de blanco\";'),('es','messages:exif-digitalzoomratio','s:22:\"Razón de zoom digital\";'),('es','messages:exif-focallengthin35mmfilm','s:36:\"Longitud focal en película de 35 mm\";'),('es','messages:exif-scenecapturetype','s:25:\"Tipo de captura de escena\";'),('es','messages:exif-gaincontrol','s:17:\"Control de escena\";'),('es','messages:exif-contrast','s:9:\"Contraste\";'),('es','messages:exif-saturation','s:11:\"Saturación\";'),('es','messages:exif-sharpness','s:7:\"Agudeza\";'),('es','messages:exif-devicesettingdescription','s:43:\"Descripción de los ajustes del dispositivo\";'),('es','messages:exif-subjectdistancerange','s:28:\"Rango de distancia al sujeto\";'),('es','messages:exif-imageuniqueid','s:19:\"ID único de imagen\";'),('es','messages:exif-gpsversionid','s:27:\"Versión de la etiqueta GPS\";'),('es','messages:exif-gpslatituderef','s:19:\"Latitud norte o sur\";'),('es','messages:exif-gpslatitude','s:7:\"Latitud\";'),('es','messages:exif-gpslongituderef','s:21:\"Longitud este u oeste\";'),('es','messages:exif-gpslongitude','s:8:\"Longitud\";'),('es','messages:exif-gpsaltituderef','s:19:\"Refencia de altitud\";'),('es','messages:exif-gpsaltitude','s:7:\"Altitud\";'),('es','messages:exif-gpstimestamp','s:27:\"Tiempo GPS (reloj atómico)\";'),('es','messages:exif-gpssatellites','s:35:\"Satélites usados para la medición\";'),('es','messages:exif-gpsstatus','s:19:\"Estado del receptor\";'),('es','messages:exif-gpsmeasuremode','s:17:\"Modo de medición\";'),('es','messages:exif-gpsdop','s:23:\"Precisión de medición\";'),('es','messages:exif-gpsspeedref','s:19:\"Unidad de velocidad\";'),('es','messages:exif-gpsspeed','s:26:\"Velocidad del receptor GPS\";'),('es','messages:exif-gpstrackref','s:44:\"Referencia para la dirección del movimiento\";'),('es','messages:exif-gpstrack','s:25:\"Dirección del movimiento\";'),('es','messages:exif-gpsimgdirectionref','s:38:\"Referencia de la dirección de imágen\";'),('es','messages:exif-gpsimgdirection','s:21:\"Dirección de imágen\";'),('es','messages:exif-gpsmapdatum','s:40:\"Utilizados datos de medición geodésica\";'),('es','messages:exif-gpsdestlatituderef','s:38:\"Referencia para la latitud del destino\";'),('es','messages:exif-gpsdestlatitude','s:18:\"Destino de latitud\";'),('es','messages:exif-gpsdestlongituderef','s:39:\"Referencia para la longitud del destino\";'),('es','messages:exif-gpsdestlongitude','s:20:\"Longitud del destino\";'),('es','messages:exif-gpsdestbearingref','s:42:\"Referencia para la orientación al destino\";'),('es','messages:exif-gpsdestbearing','s:24:\"Orientación del destino\";'),('es','messages:exif-gpsdestdistanceref','s:39:\"Referencia para la distancia al destino\";'),('es','messages:exif-gpsdestdistance','s:20:\"Distancia al destino\";'),('es','messages:exif-gpsprocessingmethod','s:35:\"Nombre del método de procesado GPS\";'),('es','messages:exif-gpsareainformation','s:22:\"Nombre de la área GPS\";'),('es','messages:exif-gpsdatestamp','s:9:\"Fecha GPS\";'),('es','messages:exif-gpsdifferential','s:30:\"Corrección diferencial de GPS\";'),('es','messages:exif-jpegfilecomment','s:26:\"Comentario de archivo JPEG\";'),('es','messages:exif-keywords','s:14:\"Palabras clave\";'),('es','messages:exif-worldregioncreated','s:46:\"Región del mundo en la que se tomó la imagen\";'),('es','messages:exif-countrycreated','s:34:\"País en el que se tomó la imagen\";'),('es','messages:exif-countrycodecreated','s:52:\"Código para el país en el que la imagen fue tomada\";'),('es','messages:exif-provinceorstatecreated','s:49:\"Provincia o estado en el que la imagen fue tomada\";'),('es','messages:exif-citycreated','s:35:\"Ciudad en la que se tomó la imagen\";'),('es','messages:exif-sublocationcreated','s:49:\"Región de la ciudad en la que la foto fue tomada\";'),('es','messages:exif-worldregiondest','s:26:\"Región del mundo mostrada\";'),('es','messages:exif-countrydest','s:14:\"País mostrado\";'),('es','messages:exif-countrycodedest','s:25:\"Código de país mostrado\";'),('es','messages:exif-provinceorstatedest','s:27:\"Provincia o estado mostrado\";'),('es','messages:exif-citydest','s:15:\"Ciudad mostrada\";'),('es','messages:exif-sublocationdest','s:29:\"Región de la ciudad mostrada\";'),('es','messages:exif-objectname','s:13:\"Título breve\";'),('es','messages:exif-specialinstructions','s:24:\"Instrucciones especiales\";'),('es','messages:exif-headline','s:10:\"Encabezado\";'),('es','messages:exif-credit','s:18:\"Crédito/proveedor\";'),('es','messages:exif-source','s:6:\"Fuente\";'),('es','messages:exif-editstatus','s:29:\"Estado editorial de la imagen\";'),('es','messages:exif-urgency','s:8:\"Urgencia\";'),('es','messages:exif-fixtureidentifier','s:26:\"Nome del elemento habitual\";'),('es','messages:exif-locationdest','s:19:\"Ubicación mostrada\";'),('es','messages:exif-locationdestcode','s:33:\"Código de la ubicación mostrada\";'),('es','messages:exif-objectcycle','s:55:\"Hora del día para la cual está destinado este archivo\";'),('es','messages:exif-contact','s:24:\"Información de contacto\";'),('es','messages:exif-writer','s:8:\"Escritor\";'),('es','messages:exif-languagecode','s:6:\"Idioma\";'),('es','messages:exif-iimversion','s:12:\"Versión IIM\";'),('es','messages:exif-iimcategory','s:10:\"Categoría\";'),('es','messages:exif-iimsupplementalcategory','s:26:\"Categorías suplementarias\";'),('es','messages:exif-datetimeexpires','s:19:\"No usar después de\";'),('es','messages:exif-datetimereleased','s:10:\"Lanzado el\";'),('es','messages:exif-originaltransmissionref','s:46:\"Código de ubicación de transmisión original\";'),('es','messages:exif-identifier','s:13:\"Identificador\";'),('es','messages:exif-lens','s:15:\"Lente utilizada\";'),('es','messages:exif-serialnumber','s:30:\"Número de serie de la cámara\";'),('es','messages:exif-cameraownername','s:25:\"Propietario de la cámara\";'),('es','messages:exif-label','s:8:\"Etiqueta\";'),('es','messages:exif-datetimemetadata','s:65:\"Fecha en la cual fueron modificados por última vez los metadatos\";'),('es','messages:exif-nickname','s:28:\"Nombre informal de la imagen\";'),('es','messages:exif-rating','s:21:\"Valoración (sobre 5)\";'),('es','messages:exif-rightscertificate','s:35:\"Certificado de gestión de derechos\";'),('es','messages:exif-copyrighted','s:19:\"Estado de copyright\";'),('es','messages:exif-copyrightowner','s:21:\"Titular del copyright\";'),('es','messages:exif-usageterms','s:16:\"Términos de uso\";'),('es','messages:exif-webstatement','s:43:\"Declaración de derechos de autor en línea\";'),('es','messages:exif-originaldocumentid','s:33:\"Id. único del documento original\";'),('es','messages:exif-licenseurl','s:33:\"URL para la licencia de copyright\";'),('es','messages:exif-morepermissionsurl','s:36:\"Información de licencia alternativa\";'),('es','messages:exif-attributionurl','s:50:\"Cuando reutilices este trabajo, por favor enlaza a\";'),('es','messages:exif-preferredattributionname','s:56:\"Al volver a utilizar este trabajo, por favor da crédito\";'),('es','messages:exif-pngfilecomment','s:25:\"Comentario de archivo PNG\";'),('es','messages:exif-disclaimer','s:11:\"Aviso legal\";'),('es','messages:exif-contentwarning','s:24:\"Advertencia de contenido\";'),('es','messages:exif-giffilecomment','s:25:\"Comentario de archivo GIF\";'),('es','messages:exif-intellectualgenre','s:16:\"Tipo de elemento\";'),('es','messages:exif-subjectnewscode','s:17:\"Código de asunto\";'),('es','messages:exif-scenecode','s:22:\"Código de escena IPTC\";'),('es','messages:exif-event','s:19:\"Evento representado\";'),('es','messages:exif-organisationinimage','s:26:\"Organización representada\";'),('es','messages:exif-personinimage','s:20:\"Persona representada\";'),('es','messages:exif-originalimageheight','s:48:\"Altura de la imagen antes de que fuera recortada\";'),('es','messages:exif-originalimagewidth','s:47:\"Ancho de la imagen antes de que fuera recortada\";'),('es','messages:exif-compression-1','s:13:\"Sin comprimir\";'),('es','messages:exif-compression-2','s:64:\"CCITT Group 3 1-Dimensional Modified Huffman run length encoding\";'),('es','messages:exif-compression-3','s:34:\"Codificación de fax CCITT grupo 3\";'),('es','messages:exif-compression-4','s:34:\"Codificación de fax CCITT grupo 4\";'),('es','messages:exif-copyrighted-true','s:11:\"Copyrighted\";'),('es','messages:exif-copyrighted-false','s:16:\"Dominio público\";'),('es','messages:exif-unknowndate','s:17:\"Fecha desconocida\";'),('es','messages:exif-orientation-1','s:6:\"Normal\";'),('es','messages:exif-orientation-2','s:24:\"Volteada horizontalmente\";'),('es','messages:exif-orientation-3','s:12:\"Rotada 180°\";'),('es','messages:exif-orientation-4','s:22:\"Volteada verticalmente\";'),('es','messages:exif-orientation-5','s:40:\"Rotada 90° CCW y volteada verticalmente\";'),('es','messages:exif-orientation-6','s:26:\"Rotada 90° a la izquierda\";'),('es','messages:exif-orientation-7','s:39:\"Rotada 90° CW y volteada verticalmente\";'),('es','messages:exif-orientation-8','s:24:\"Rotada 90° a la derecha\";'),('es','messages:exif-planarconfiguration-1','s:19:\"formato panorámico\";'),('es','messages:exif-planarconfiguration-2','s:13:\"formato plano\";'),('es','messages:exif-colorspace-65535','s:12:\"Sin calibrar\";'),('es','messages:exif-componentsconfiguration-0','s:9:\"no existe\";'),('es','messages:exif-exposureprogram-0','s:11:\"No definido\";'),('es','messages:exif-exposureprogram-1','s:6:\"Manual\";'),('es','messages:exif-exposureprogram-2','s:15:\"Programa normal\";'),('es','messages:exif-exposureprogram-3','s:21:\"Prioridad de apertura\";'),('es','messages:exif-exposureprogram-4','s:22:\"Prioridad de obturador\";'),('es','messages:exif-exposureprogram-5','s:59:\"Programa creativo (con prioridad a la profundidad de campo)\";'),('es','messages:exif-exposureprogram-6','s:49:\"Programa de acción (alta velocidad de obturador)\";'),('es','messages:exif-exposureprogram-7','s:60:\"Modo retrato (para primeros planos con el fondo desenfocado)\";'),('es','messages:exif-exposureprogram-8','s:61:\"Modo panorama (para fotos panorámicas con el fondo enfocado)\";'),('es','messages:exif-subjectdistance-value','s:9:\"$1 metros\";'),('es','messages:exif-meteringmode-0','s:11:\"Desconocido\";'),('es','messages:exif-meteringmode-1','s:5:\"Media\";'),('es','messages:exif-meteringmode-2','s:17:\"Promedio centrado\";'),('es','messages:exif-meteringmode-3','s:7:\"Puntual\";'),('es','messages:exif-meteringmode-4','s:10:\"Multipunto\";'),('es','messages:exif-meteringmode-5','s:7:\"Patrón\";'),('es','messages:exif-meteringmode-6','s:7:\"Parcial\";'),('es','messages:exif-meteringmode-255','s:4:\"Otro\";'),('es','messages:exif-lightsource-0','s:11:\"Desconocido\";'),('es','messages:exif-lightsource-1','s:10:\"Luz diurna\";'),('es','messages:exif-lightsource-2','s:12:\"Fluorescente\";'),('es','messages:exif-lightsource-3','s:29:\"Tungsteno (luz incandescente)\";'),('es','messages:exif-lightsource-4','s:5:\"Flash\";'),('es','messages:exif-lightsource-9','s:11:\"Buen tiempo\";'),('es','messages:exif-lightsource-10','s:14:\"Tiempo nublado\";'),('es','messages:exif-lightsource-11','s:8:\"Penumbra\";'),('es','messages:exif-lightsource-12','s:45:\"Fluorescente de luz diurna (D 5700 – 7100K)\";'),('es','messages:exif-lightsource-13','s:47:\"Fluorescente de día soleado (N 4600 – 5400K)\";'),('es','messages:exif-lightsource-14','s:44:\"Fluorescente blanco frío (W 3900 – 4500K)\";'),('es','messages:exif-lightsource-15','s:39:\"Fluroescente blanco (WW 3200 – 3700K)\";'),('es','messages:exif-lightsource-17','s:15:\"Luz estándar A\";'),('es','messages:exif-lightsource-18','s:15:\"Luz estándar B\";'),('es','messages:exif-lightsource-19','s:15:\"Luz estándar C\";'),('es','messages:exif-lightsource-24','s:24:\"Tungsteno de estudio ISO\";'),('es','messages:exif-lightsource-255','s:18:\"Otra fuente de luz\";'),('es','messages:exif-flash-fired-0','s:23:\"No se disparó el flash\";'),('es','messages:exif-flash-fired-1','s:15:\"Flash disparado\";'),('es','messages:exif-flash-return-0','s:67:\"no hay función de detección del retorno de la luz estroboscópica\";'),('es','messages:exif-flash-return-2','s:45:\"no se detectó retorno de luz estroboscópica\";'),('es','messages:exif-flash-return-3','s:40:\"detectado retorno de luz estroboscópica\";'),('es','messages:exif-flash-mode-1','s:24:\"disparo de flash forzado\";'),('es','messages:exif-flash-mode-2','s:24:\"disparo de flash anulado\";'),('es','messages:exif-flash-mode-3','s:16:\"modo automático\";'),('es','messages:exif-flash-function-1','s:14:\"Modo sin flash\";'),('es','messages:exif-flash-redeye-1','s:32:\"modo de reducción de ojos rojos\";'),('es','messages:exif-focalplaneresolutionunit-2','s:8:\"pulgadas\";'),('es','messages:exif-sensingmethod-1','s:11:\"No definido\";'),('es','messages:exif-sensingmethod-2','s:35:\"Sensor de área de color de un chip\";'),('es','messages:exif-sensingmethod-3','s:37:\"Sensor de área de color de dos chips\";'),('es','messages:exif-sensingmethod-4','s:38:\"Sensor de área de color de tres chips\";'),('es','messages:exif-sensingmethod-5','s:35:\"Sensor de área secuencial de color\";'),('es','messages:exif-sensingmethod-7','s:16:\"Sensor trilineal\";'),('es','messages:exif-sensingmethod-8','s:33:\"Sensor lineal secuencial de color\";'),('es','messages:exif-filesource-3','s:15:\"Cámara digital\";'),('es','messages:exif-scenetype-1','s:36:\"Una imagen directamente fotografiada\";'),('es','messages:exif-customrendered-0','s:14:\"Proceso normal\";'),('es','messages:exif-customrendered-1','s:21:\"Proceso personalizado\";'),('es','messages:exif-exposuremode-0','s:23:\"Exposición automática\";'),('es','messages:exif-exposuremode-1','s:18:\"Exposición manual\";'),('es','messages:exif-exposuremode-2','s:12:\"Auto bracket\";'),('es','messages:exif-whitebalance-0','s:29:\"Balance de blanco automático\";'),('es','messages:exif-whitebalance-1','s:24:\"Balance de blanco manual\";'),('es','messages:exif-scenecapturetype-0','s:9:\"Estándar\";'),('es','messages:exif-scenecapturetype-1','s:7:\"Paisaje\";'),('es','messages:exif-scenecapturetype-2','s:7:\"Retrato\";'),('es','messages:exif-scenecapturetype-3','s:15:\"Escena nocturna\";'),('es','messages:exif-gaincontrol-0','s:7:\"Ninguna\";'),('es','messages:exif-gaincontrol-1','s:24:\"Bajo aumento de ganancia\";'),('es','messages:exif-gaincontrol-2','s:24:\"Alto aumento de ganancia\";'),('es','messages:exif-gaincontrol-3','s:29:\"Baja disminución de ganancia\";'),('es','messages:exif-gaincontrol-4','s:29:\"Alta disminución de ganancia\";'),('es','messages:exif-contrast-0','s:6:\"Normal\";'),('es','messages:exif-contrast-1','s:5:\"Suave\";'),('es','messages:exif-contrast-2','s:4:\"Duro\";'),('es','messages:exif-saturation-0','s:6:\"Normal\";'),('es','messages:exif-saturation-1','s:16:\"Baja saturación\";'),('es','messages:exif-saturation-2','s:16:\"Alta saturación\";'),('es','messages:exif-sharpness-0','s:6:\"Normal\";'),('es','messages:exif-sharpness-1','s:5:\"Suave\";'),('es','messages:exif-sharpness-2','s:4:\"Dura\";'),('es','messages:exif-subjectdistancerange-0','s:11:\"Desconocida\";'),('es','messages:exif-subjectdistancerange-1','s:5:\"Macro\";'),('es','messages:exif-subjectdistancerange-2','s:13:\"Vista cercana\";'),('es','messages:exif-subjectdistancerange-3','s:12:\"Vista lejana\";'),('es','messages:exif-gpslatitude-n','s:13:\"Latitud norte\";'),('es','messages:exif-gpslatitude-s','s:11:\"Latitud sur\";'),('es','messages:exif-gpslongitude-e','s:13:\"Longitud este\";'),('es','messages:exif-gpslongitude-w','s:14:\"Longitud oeste\";'),('es','messages:exif-gpsaltitude-above-sealevel','s:52:\"$1 {{PLURAL:$1|metro|metros}} sobre el nivel del mar\";'),('es','messages:exif-gpsaltitude-below-sealevel','s:51:\"$1 {{PLURAL:$1|metro|metros}} bajo el nivel del mar\";'),('es','messages:exif-gpsstatus-a','s:18:\"Medida en progreso\";'),('es','messages:exif-gpsstatus-v','s:27:\"Interoperabilidad de medida\";'),('es','messages:exif-gpsmeasuremode-2','s:23:\"Medición bidimensional\";'),('es','messages:exif-gpsmeasuremode-3','s:24:\"Medición tridimensional\";'),('es','messages:exif-gpsspeed-k','s:20:\"Kilómetros por hora\";'),('es','messages:exif-gpsspeed-m','s:15:\"Millas por hora\";'),('es','messages:exif-gpsspeed-n','s:5:\"Nudos\";'),('es','messages:exif-gpsdestdistance-k','s:11:\"Kilómetros\";'),('es','messages:exif-gpsdestdistance-m','s:6:\"Millas\";'),('es','messages:exif-gpsdestdistance-n','s:16:\"Millas náuticas\";'),('es','messages:exif-gpsdop-excellent','s:14:\"Excelente ($1)\";'),('es','messages:exif-gpsdop-good','s:12:\"Bueno ( $1 )\";'),('es','messages:exif-gpsdop-moderate','s:13:\"Moderado ($1)\";'),('es','messages:exif-gpsdop-fair','s:12:\"Pasable ($1)\";'),('es','messages:exif-gpsdop-poor','s:12:\"Pobre ( $1 )\";'),('es','messages:exif-objectcycle-a','s:20:\"Sólo por la mañana\";'),('es','messages:exif-objectcycle-p','s:22:\"Sólo por el atardecer\";'),('es','messages:exif-objectcycle-b','s:35:\"Tanto por la mañana y por la tarde\";'),('es','messages:exif-gpsdirection-t','s:15:\"Dirección real\";'),('es','messages:exif-gpsdirection-m','s:21:\"Dirección magnética\";'),('es','messages:exif-ycbcrpositioning-1','s:8:\"Centrado\";'),('es','messages:exif-ycbcrpositioning-2','s:14:\"Co-localizados\";'),('es','messages:exif-dc-contributor','s:13:\"Colaboradores\";'),('es','messages:exif-dc-coverage','s:37:\"Ámbito espacial o temporal del medio\";'),('es','messages:exif-dc-date','s:8:\"Fecha(s)\";'),('es','messages:exif-dc-publisher','s:9:\"Editorial\";'),('es','messages:exif-dc-relation','s:19:\"Medios relacionados\";'),('es','messages:exif-dc-rights','s:8:\"Derechos\";'),('es','messages:exif-dc-source','s:16:\"Medios de origen\";'),('es','messages:exif-dc-type','s:13:\"Tipo de medio\";'),('es','messages:exif-rating-rejected','s:9:\"Rechazado\";'),('es','messages:exif-isospeedratings-overflow','s:13:\"Más de 65535\";'),('es','messages:exif-iimcategory-ace','s:31:\"Arte, cultura y entretenimiento\";'),('es','messages:exif-iimcategory-clj','s:12:\"Crimen y ley\";'),('es','messages:exif-iimcategory-dis','s:22:\"Desastres y accidentes\";'),('es','messages:exif-iimcategory-fin','s:20:\"Economía y negocios\";'),('es','messages:exif-iimcategory-edu','s:10:\"Educación\";'),('es','messages:exif-iimcategory-evn','s:14:\"Medio ambiente\";'),('es','messages:exif-iimcategory-hth','s:5:\"Salud\";'),('es','messages:exif-iimcategory-hum','s:15:\"Interés humano\";'),('es','messages:exif-iimcategory-lab','s:7:\"Trabajo\";'),('es','messages:exif-iimcategory-lif','s:21:\"Estilo de vida y ocio\";'),('es','messages:exif-iimcategory-pol','s:9:\"Política\";'),('es','messages:exif-iimcategory-rel','s:21:\"Religión y creencias\";'),('es','messages:exif-iimcategory-sci','s:21:\"Ciencia y tecnología\";'),('es','messages:exif-iimcategory-soi','s:19:\"Cuestiones sociales\";'),('es','messages:exif-iimcategory-spo','s:8:\"Deportes\";'),('es','messages:exif-iimcategory-war','s:31:\"Guerra, conflictos y disturbios\";'),('es','messages:exif-iimcategory-wea','s:5:\"Clima\";'),('es','messages:exif-urgency-normal','s:11:\"Normal ($1)\";'),('es','messages:exif-urgency-low','s:9:\"Bajo ($1)\";'),('es','messages:exif-urgency-high','s:9:\"Alto ($1)\";'),('es','messages:exif-urgency-other','s:38:\"Prioridad definida por el usuario ($1)\";'),('es','messages:edit-externally','s:50:\"Editar este archivo usando una aplicación externa\";'),('es','messages:edit-externally-help','s:128:\"(Lee las [//www.mediawiki.org/wiki/Manual:External_editors instrucciones de configuración] -en inglés- para más información)\";'),('es','messages:watchlistall2','s:5:\"todos\";'),('es','messages:namespacesall','s:5:\"todos\";'),('es','messages:monthsall','s:5:\"todos\";'),('es','messages:limitall','s:5:\"Todos\";'),('es','messages:confirmemail','s:43:\"Confirmar dirección de correo electrónico\";'),('es','messages:confirmemail_noemail','s:111:\"No tienes una dirección de correo electrónico válida en tus [[Special:Preferences|preferencias de usuario]].\";'),('es','messages:confirmemail_text','s:238:\"{{SITENAME}} requiere la validación de tu dirección de correo antes de usarlo. Pulsa el botón de abajo para enviar la confirmación.\nEl correo incluirá un enlace con un código. Introdúcelo para confirmar la validez de tu dirección.\";'),('es','messages:confirmemail_pending','s:188:\"Ya se te ha enviado un código de confirmación; si creaste una cuenta recientemente, puede que tengas que esperar unos minutos para que te llegue antes de intentar pedir un nuevo código.\";'),('es','messages:confirmemail_send','s:35:\"Envíar el código de confimación.\";'),('es','messages:confirmemail_sent','s:32:\"Confirmación de correo enviada.\";'),('es','messages:confirmemail_oncreate','s:225:\"Se ha enviado un código de confirmación a tu dirección de correo electrónico.\nEste código no es necesario para entrar, pero necesitarás darlo antes de activar cualquier función basada en correo electrónico en el wiki.\";'),('es','messages:confirmemail_sendfailed','s:143:\"No fue posible enviar el correo de confirmación. Por favor, comprueba la validez de la dirección de correo.\n\nEl servidor indicó el error: $1\";'),('es','messages:confirmemail_invalid','s:68:\"Código de confirmación incorrecto. El código debe haber expirado.\";'),('es','messages:confirmemail_needlogin','s:55:\"Necesitas $1 para confirmar tu dirección electrónica.\";'),('es','messages:confirmemail_success','s:115:\"Su dirección de correo ha sido confirmada\nAhora puedes [[Special:UserLogin|identificarte]] y colaborar en el wiki.\";'),('es','messages:confirmemail_loggedin','s:56:\"Tu dirección de correo electrónico ha sido confirmada.\";'),('es','messages:confirmemail_error','s:44:\"Algo salió mal al guardar su confirmación.\";'),('es','messages:confirmemail_subject','s:56:\"confirmación de la dirección de correo de {{SITENAME}}\";'),('es','messages:confirmemail_body','s:418:\"Alguien, probablemente usted mismo, ha registrado desde la dirección IP $1 la cuenta \"$2\" en {{SITENAME}}, utilizando esta dirección de correo.\n\nPara confirmar que esta cuenta realmente le pertenece y activar el correo en {{SITENAME}}, siga este enlace:\n\n$3\n\nSi la cuenta *no* es suya, siga este otro enlace para cancelar la confirmación de la dirección de correo:\n\n$5\n\nEl código de confirmación expirará en $4.\";'),('es','messages:confirmemail_body_changed','s:461:\"Alguien, probablemente tú,\nha modificado la dirección de correo electrónico asociado a la cuenta \"$2\" hacia esta en {{SITENAME}}, desde la dirección IP $1.\n\nPara confirmar que esta cuenta realmente te pertenece y reactivar las funciones de correo electrónico en {{SITENAME}}, abre este enlace en su navegador:\n\n$3\n\nSi la cuenta *no* te pertenece, sigue el siguiente enlace para cancelar la confirmación:\n\n$5\n\nEste código de confirmación expirará el $4.\";'),('es','messages:confirmemail_body_set','s:486:\"Alguien, probablemente tu desde la dirección IP $1,\nha cambiado la dirección de correo electrónico de la cuenta $2 a esta dirección en {{SITENAME}}.\n\nPara confirmar que esta cuenta realmente te pertenece y reactivar las capacidades del correo electrónico en {{SITENAME}}, abre este enlace en tu navegador:\n\n$3\n\nSi la cuenta *no* te pertenece sigue entonces este otro enlace para cancelar la confirmación del correo electrónico:\n\n$5\n\nEste código de confirmación caducará el $4.\";'),('es','messages:confirmemail_invalidated','s:74:\"La confirmación de la dirección de correo electrónico ha sido cancelada\";'),('es','messages:invalidateemail','s:45:\"Cancelar confirmación de correo electrónico\";'),('es','messages:scarytranscludedisabled','s:45:\"[Transclusión interwiki está deshabilitada]\";'),('es','messages:scarytranscludefailed','s:40:\"[Obtención de plantilla falló para $1]\";'),('es','messages:scarytranscludetoolong','s:27:\"[El URL es demasiado largo]\";'),('es','messages:trackbackbox','s:44:\"\'\'Trackbacks\'\' para este artículo:<br />\n$1\";'),('es','messages:trackbackremove','s:13:\"([$1 Borrar])\";'),('es','messages:trackbacklink','s:13:\"\'\'Trackback\'\'\";'),('es','messages:trackbackdeleteok','s:37:\"El trackback se borró correctamente.\";'),('es','messages:deletedwhileediting','s:80:\"\'\'\'Aviso\'\'\': ¡Esta página fue borrada después de que usted empezara a editar!\";'),('es','messages:confirmrecreate','s:214:\"El usuario [[User:$1|$1]] ([[User talk:$1|discusión]]) borró este artículo después de que tú empezaces a editarlo y dio esta razón: \'\'$2\'\' Por favor, confirma que realmente deseas crear de nuevo el artículo.\";'),('es','messages:confirmrecreate-noreason','s:177:\"El usuario [[User:$1|$1]] ([[User talk:$1|discusión]]) borró esta página después de que comenzaras a editarla. Por favor confirma que realmente quieres recrear esta página.\";'),('es','messages:recreate','s:14:\"Crear de nuevo\";'),('es','messages:confirm_purge_button','s:7:\"Aceptar\";'),('es','messages:confirm-purge-top','s:36:\"¿Limpiar la caché de esta página?\";'),('es','messages:confirm-purge-bottom','s:84:\"Purgar una página limpia la caché y fuerza a que aparezca la versión más actual.\";'),('es','messages:confirm-watch-button','s:7:\"Aceptar\";'),('es','messages:confirm-watch-top','s:49:\"¿Añadir esta página a tu lista de seguimiento?\";'),('es','messages:confirm-unwatch-button','s:7:\"Aceptar\";'),('es','messages:confirm-unwatch-top','s:49:\"¿Quitar esta página de tu lista de seguimiento?\";'),('es','messages:comma-separator','s:6:\",&#32;\";'),('es','messages:imgmultipageprev','s:20:\"← página anterior\";'),('es','messages:imgmultipagenext','s:21:\"siguiente página →\";'),('es','messages:imgmultigo','s:5:\"¡Ir!\";'),('es','messages:imgmultigoto','s:18:\"Ir a la página $1\";'),('es','messages:ascending_abbrev','s:3:\"asc\";'),('es','messages:descending_abbrev','s:4:\"desc\";'),('es','messages:table_pager_next','s:17:\"Página siguiente\";'),('es','messages:table_pager_prev','s:16:\"Página anterior\";'),('es','messages:table_pager_first','s:15:\"Primera página\";'),('es','messages:table_pager_last','s:15:\"Última página\";'),('es','messages:table_pager_limit','s:32:\"Mostrar $1 elementos por página\";'),('es','messages:table_pager_limit_label','s:18:\"Items por página:\";'),('es','messages:table_pager_limit_submit','s:2:\"Ir\";'),('es','messages:table_pager_empty','s:17:\"No hay resultados\";'),('es','messages:autosumm-blank','s:18:\"Página blanqueada\";'),('es','messages:autosumm-replace','s:30:\"Página reemplazada por «$1»\";'),('es','messages:autoredircomment','s:27:\"Página redirigida a [[$1]]\";'),('es','messages:autosumm-new','s:25:\"Página creada con «$1»\";'),('es','messages:livepreview-loading','s:11:\"Cargando…\";'),('es','messages:livepreview-ready','s:20:\"Cargando… ¡Listo!\";'),('es','messages:livepreview-failed','s:75:\"¡La previsualización al vuelo falló!\nPrueba la previsualización normal.\";'),('es','messages:livepreview-error','s:75:\"No se pudo conectar:  $1  «$2».\nIntenta usar la previsualización normal.\";'),('es','messages:lag-warn-normal','s:120:\"Los cambios realizados en {{PLURAL:$1|el último segundo|los últimos $1 segundos}} podrían no mostrarse en esta lista.\";'),('es','messages:lag-warn-high','s:177:\"Debido a una alta latencia el servidor de base de datos, los cambios realizados en {{PLURAL:$1|el último segundo|los últimos $1 segundos}} podrían no mostrarse en esta lista.\";'),('es','messages:watchlistedit-numitems','s:108:\"Tu lista de seguimiento tiene {{PLURAL:$1|una página |$1 páginas}}, excluyendo las páginas de discusión.\";'),('es','messages:watchlistedit-noitems','s:37:\"Tu lista de seguimiento está vacía.\";'),('es','messages:watchlistedit-normal-title','s:27:\"Editar lista de seguimiento\";'),('es','messages:watchlistedit-normal-legend','s:42:\"Borrar títulos de la lista de seguimiento\";'),('es','messages:watchlistedit-normal-explain','s:241:\"A continuación se listan las páginas en tu lista de seguimiento.\nPara quitar un título, marca la casilla junto a él, y pulsa «{{int:Watchlistedit-normal-submit}}».\nTambién puedes [[Special:EditWatchlist/raw|editar la lista en crudo]].\";'),('es','messages:watchlistedit-normal-submit','s:15:\"Borrar páginas\";'),('es','messages:watchlistedit-normal-done','s:97:\"{{PLURAL:$1|1 página ha sido borrada|$1 páginas han sido borradas}} de tu lista de seguimiento:\";'),('es','messages:watchlistedit-raw-title','s:36:\"Editar lista de seguimiento en crudo\";'),('es','messages:watchlistedit-raw-legend','s:44:\"Editar tu lista de seguimiento en modo texto\";'),('es','messages:watchlistedit-raw-explain','s:287:\"A continuación se listan las páginas en tu lista de seguimiento. Esta lista puede editarse añadiendo o eliminando líneas de la lista;\nun título por línea.\nCuando acabes, pulsa «{{int:Watchlistedit-raw-submit}}».\nTambién puedes [[Special:EditWatchlist|usar el editor estándar]].\";'),('es','messages:watchlistedit-raw-titles','s:9:\"Páginas:\";'),('es','messages:watchlistedit-raw-submit','s:31:\"Actualizar lista de seguimiento\";'),('es','messages:watchlistedit-raw-done','s:42:\"Tu lista de seguimiento se ha actualizado.\";'),('es','messages:watchlistedit-raw-added','s:69:\"{{PLURAL:$1|Se ha añadido una página|Se han añadido $1 páginas}}:\";'),('es','messages:watchlistedit-raw-removed','s:72:\"{{PLURAL:$1|Una página ha sido borrada|$1 páginas han sido borradas}}:\";'),('es','messages:watchlisttools-view','s:11:\"Ver cambios\";'),('es','messages:watchlisttools-edit','s:36:\"Ver y editar tu lista de seguimiento\";'),('es','messages:watchlisttools-raw','s:36:\"Editar lista de seguimiento en crudo\";'),('es','messages:unknown_extension_tag','s:27:\"Etiqueta desconocida «$1»\";'),('es','messages:duplicate-defaultsort','s:111:\"\'\'\'Atención:\'\'\' La clave de ordenamiento predeterminada «$2» anula la clave de ordenamiento anterior «$1».\";'),('es','messages:version','s:8:\"Versión\";'),('es','messages:version-extensions','s:22:\"Extensiones instaladas\";'),('es','messages:version-specialpages','s:19:\"Páginas especiales\";'),('es','messages:version-parserhooks','s:38:\"Extensiones del analizador sintáctico\";'),('es','messages:version-variables','s:9:\"Variables\";'),('es','messages:version-antispam','s:19:\"Prevención de spam\";'),('es','messages:version-skins','s:6:\"Pieles\";'),('es','messages:version-other','s:4:\"Otro\";'),('es','messages:version-mediahandlers','s:22:\"Manejadores multimedia\";'),('es','messages:version-hooks','s:11:\"Extensiones\";'),('es','messages:version-extension-functions','s:24:\"Funciones de extensiones\";'),('es','messages:version-parser-extensiontags','s:37:\"Etiquetas de extensiones sintácticas\";'),('es','messages:version-parser-function-hooks','s:37:\"Extensiones de funciones sintácticas\";'),('es','messages:version-hook-name','s:23:\"Nombre de la extensión\";'),('es','messages:version-hook-subscribedby','s:12:\"Suscrito por\";'),('es','messages:version-version','s:13:\"(Versión $1)\";'),('es','messages:version-license','s:8:\"Licencia\";'),('es','messages:version-poweredby-credits','s:93:\"Este wiki funciona gracias a \'\'\'[//www.mediawiki.org/ MediaWiki]\'\'\', copyright © 2001-$1 $2.\";'),('es','messages:version-poweredby-others','s:5:\"otros\";'),('es','messages:version-license-info','s:835:\"MediaWiki es software libre; puedes redistribuírlo y/o modificarlo bajo los términos de la Licencia General Pública GNU publicada por la Fundación del Software Libre; ya sea la versión 2 de la licencia, o (a tu elección) cualquier versión posterior.\n\nMediaWiki es distribuído con la esperanza de que será útil, pero SIN NINGUNA GARANTÍA; ni siquiera con la garantía implícita de COMERCIALIZACIÓN ó ADAPTACIÓN A UN PROPÓSITO PARTICULAR. Véase la Licencia Pública General GNU para mayores detalles.\n\nHas recibido [{{SERVER}}{{SCRIPTPATH}}/COPYING una copia de la Licencia Pública General GNU] junto a este programa; si no es así, escríbale a la Fundación del Software Libre, Inc., Calle Franklin 51, Quinto Piso, Boston, MA 02110-1301, EE.UU. ó [//www.gnu.org/licenses/old-licenses/gpl-2.0.html léela en línea].\";'),('es','messages:version-software','s:18:\"Software instalado\";'),('es','messages:version-software-product','s:8:\"Producto\";'),('es','messages:version-software-version','s:8:\"Versión\";'),('es','messages:filepath','s:15:\"Ruta de archivo\";'),('es','messages:filepath-page','s:8:\"Archivo:\";'),('es','messages:filepath-submit','s:2:\"Ir\";'),('es','messages:filepath-summary','s:176:\"Esta página devuelve la ruta completa de un archivo.\nLas imágenes se muestran en resolución máxima, otros tipos de archivo se inician directamente con su programa asociado.\";'),('es','messages:fileduplicatesearch','s:32:\"Búsqueda de archivos duplicados\";'),('es','messages:fileduplicatesearch-summary','s:57:\"Búsqueda de archivos duplicados en base a su valor hash.\";'),('es','messages:fileduplicatesearch-legend','s:16:\"Busca duplicados\";'),('es','messages:fileduplicatesearch-filename','s:19:\"Nombre del fichero:\";'),('es','messages:fileduplicatesearch-submit','s:6:\"Buscar\";'),('es','messages:fileduplicatesearch-info','s:53:\"$1 × $2 píxeles<br />Tamaño: $3<br />Tipo MIME: $4\";'),('es','messages:fileduplicatesearch-result-1','s:49:\"El archivo «$1» no tiene duplicados idénticos.\";'),('es','messages:fileduplicatesearch-result-n','s:85:\"El archivo «$1» tiene {{PLURAL:$2|1 duplicado idéntico|$2 duplicados idénticos}}.\";'),('es','messages:fileduplicatesearch-noresults','s:48:\"Ningún archivo con el nombre «$1» encontrado.\";'),('es','messages:specialpages','s:19:\"Páginas especiales\";'),('es','messages:specialpages-note','s:217:\"----\n* Páginas especiales normales\n* <span class=\"mw-specialpagerestricted\">Páginas especiales restringidas.</span>\n* <span class=\"mw-specialpagecached\">Páginas especiales en caché (podrían ser obsoletas).</span>\";'),('es','messages:specialpages-group-maintenance','s:25:\"Reportes de mantenimiento\";'),('es','messages:specialpages-group-other','s:25:\"Otras páginas especiales\";'),('es','messages:specialpages-group-login','s:29:\"Iniciar sesión / Registrarse\";'),('es','messages:specialpages-group-changes','s:29:\"Cambios recientes y registros\";'),('es','messages:specialpages-group-media','s:23:\"Páginas sobre archivos\";'),('es','messages:specialpages-group-users','s:19:\"Usuarios y permisos\";'),('es','messages:specialpages-group-highuse','s:19:\"Páginas sobre usos\";'),('es','messages:specialpages-group-pages','s:18:\"Listas de páginas\";'),('es','messages:specialpages-group-pagetools','s:24:\"Herramientas de páginas\";'),('es','messages:specialpages-group-wiki','s:29:\"Herramientas y datos del wiki\";'),('es','messages:specialpages-group-redirects','s:26:\"Búsquedas y redirecciones\";'),('es','messages:specialpages-group-spam','s:22:\"Herramientas anti-SPAM\";'),('es','messages:blankpage','s:14:\"Página vacía\";'),('es','messages:intentionallyblankpage','s:51:\"Esta pagina está en blanco de manera intencionada.\";'),('es','messages:external_image_whitelist','s:534:\" #Deja esta línea exactamente como está<pre>\n#Colocar fragmentos de expresiones regulares (sólo la parte que va entre los //) debajo\n#Estos coincidirán con los URLs de las imágenes externas (hotlinked)\n#Aquellos que coincidan serán mostrados como imágenes, de lo contrario solamente un vínculo a la imagen será mostrada\n#Las líneas que empiezan por «#» se consideran comentarios\n#Esta es insensible a las mayúsculas\n\n#Colocar todos los fragmentos regex arriba de esta línea. Deja esta línea exactamente como está</pre>\";'),('es','messages:tags','s:27:\"Cambio de etiquetas válida\";'),('es','messages:tag-filter','s:37:\"Filtro de [[Special:Tags|etiquetas]]:\";'),('es','messages:tag-filter-submit','s:6:\"Filtro\";'),('es','messages:tags-title','s:9:\"Etiquetas\";'),('es','messages:tags-intro','s:100:\"Esta página lista las etiquetas con las que el software puede marcar una edición y su significado.\";'),('es','messages:tags-tag','s:18:\"Nombre de etiqueta\";'),('es','messages:tags-display-header','s:33:\"Apariencia de la lista de cambios\";'),('es','messages:tags-description-header','s:36:\"Descripción completa de significado\";'),('es','messages:tags-hitcount-header','s:19:\"Cambios etiquetados\";'),('es','messages:tags-edit','s:6:\"editar\";'),('es','messages:tags-hitcount','s:31:\"$1 {{PLURAL:$1|cambio|cambios}}\";'),('es','messages:comparepages','s:17:\"Comparar páginas\";'),('es','messages:compare-selector','s:30:\"Comparar revisiones de página\";'),('es','messages:compare-page1','s:9:\"Página 1\";'),('es','messages:compare-page2','s:9:\"Página 2\";'),('es','messages:compare-rev1','s:11:\"Revisión 1\";'),('es','messages:compare-rev2','s:11:\"Revisión 2\";'),('es','messages:compare-submit','s:8:\"Comparar\";'),('es','messages:dberr-header','s:27:\"Este wiki tiene un problema\";'),('es','messages:dberr-problems','s:68:\"Lo sentimos.\nEste sitio está experimentando dificultades técnicas.\";'),('es','messages:dberr-again','s:41:\"Prueba a recargar dentro de unos minutos.\";'),('es','messages:dberr-info','s:61:\"(No se puede contactar con la base de datos del servidor: $1)\";'),('es','messages:dberr-usegoogle','s:58:\"Mientras tanto puedes probar buscando a través de Google.\";'),('es','messages:dberr-outofdate','s:77:\"Ten en cuenta que su índice de nuestro contenido puede estar desactualizado.\";'),('es','messages:dberr-cachederror','s:92:\"La siguiente es una página guardada de la página solicitada, y puede no estar actualizada.\";'),('es','messages:htmlform-invalid-input','s:55:\"Hay problemas con alguno de los datos que has ingresado\";'),('es','messages:htmlform-select-badoption','s:53:\"El valor que especificaste no es una opción válida.\";'),('es','messages:htmlform-int-invalid','s:43:\"El valor que especificaste no es un entero.\";'),('es','messages:htmlform-float-invalid','s:46:\"El valor que ha especificado no es un número.\";'),('es','messages:htmlform-int-toolow','s:57:\"El valor que especificaste está debajo del mínimo de $1\";'),('es','messages:htmlform-int-toohigh','s:57:\"El valor que especificaste está arriba del máximo de $1\";'),('es','messages:htmlform-required','s:25:\"Este valor es obligatorio\";'),('es','messages:htmlform-submit','s:6:\"Enviar\";'),('es','messages:htmlform-reset','s:16:\"Deshacer cambios\";'),('es','messages:htmlform-selectorother-other','s:4:\"Otro\";'),('es','messages:sqlite-has-fts','s:47:\"$1 con soporte para búsqueda de texto completo\";'),('es','messages:sqlite-no-fts','s:47:\"$1 sin soporte para búsqueda de texto completo\";'),('es','messages:sidebar','s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";'),('es','messages:pagecategorieslink','s:18:\"Special:Categories\";'),('es','messages:linkprefix','s:31:\"/^(.*?)([a-zA-Z\\x80-\\xff]+)$/sD\";'),('es','messages:sitetitle','s:12:\"{{SITENAME}}\";'),('es','messages:sitesubtitle','s:0:\"\";'),('es','messages:addsection','s:1:\"+\";'),('es','messages:talkpageheader','s:1:\"-\";'),('es','messages:pagetitle','s:17:\"$1 - {{SITENAME}}\";'),('es','messages:pagetitle-view-mainpage','s:12:\"{{SITENAME}}\";'),('es','messages:newtalkseparator','s:6:\",&#32;\";'),('es','messages:editsection-brackets','s:4:\"[$1]\";'),('es','messages:feed-atom','s:4:\"Atom\";'),('es','messages:feed-rss','s:3:\"RSS\";'),('es','messages:sitenotice','s:1:\"-\";'),('es','messages:anonnotice','s:1:\"-\";'),('es','messages:newsectionheaderdefaultlevel','s:8:\"== $1 ==\";'),('es','messages:mainpage-nstab','s:0:\"\";'),('es','messages:nocookiesforlogin','s:22:\"{{int:nocookieslogin}}\";'),('es','messages:loginstart','s:0:\"\";'),('es','messages:loginend','s:0:\"\";'),('es','messages:loginend-https','s:0:\"\";'),('es','messages:signupstart','s:18:\"{{int:loginstart}}\";'),('es','messages:signupend','s:16:\"{{int:loginend}}\";'),('es','messages:signupend-https','s:0:\"\";'),('es','messages:loginlanguagelinks','s:99:\"* Deutsch|de\n* English|en\n* Esperanto|eo\n* Français|fr\n* Español|es\n* Italiano|it\n* Nederlands|nl\";'),('es','messages:pear-mail-error','s:2:\"$1\";'),('es','messages:php-mail-error','s:2:\"$1\";'),('es','messages:newarticletextanon','s:22:\"{{int:newarticletext}}\";'),('es','messages:talkpagetext','s:31:\"<!-- MediaWiki:talkpagetext -->\";'),('es','messages:noarticletextanon','s:21:\"{{int:noarticletext}}\";'),('es','messages:editpage-tos-summary','s:1:\"-\";'),('es','messages:longpage-hint','s:1:\"-\";'),('es','messages:edittools-upload','s:1:\"-\";'),('es','messages:addsection-preload','s:0:\"\";'),('es','messages:addsection-editintro','s:0:\"\";'),('es','messages:revision-info-current','s:1:\"-\";'),('es','messages:revision-nav','s:65:\"($1) $2{{int:pipe-separator}}$3 ($4){{int:pipe-separator}}$5 ($6)\";'),('es','messages:history_copyright','s:1:\"-\";'),('es','messages:search-summary','s:0:\"\";'),('es','messages:searchmenu-new-nocreate','s:0:\"\";'),('es','messages:searchmenu-help','s:46:\"[[{{MediaWiki:Searchhelp-url}}|{{int:help}}]]?\";'),('es','messages:search-interwiki-custom','s:0:\"\";'),('es','messages:googlesearch','s:630:\"<form method=\"get\" action=\"//www.google.com/search\" id=\"googlesearch\">\n	<input type=\"hidden\" name=\"domains\" value=\"{{SERVER}}\" />\n	<input type=\"hidden\" name=\"num\" value=\"50\" />\n	<input type=\"hidden\" name=\"ie\" value=\"$2\" />\n	<input type=\"hidden\" name=\"oe\" value=\"$2\" />\n\n	<input type=\"text\" name=\"q\" size=\"31\" maxlength=\"255\" value=\"$1\" />\n	<input type=\"submit\" name=\"btnG\" value=\"$3\" />\n  <div>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gwiki\" value=\"{{SERVER}}\" checked=\"checked\" /><label for=\"gwiki\">{{SITENAME}}</label>\n	<input type=\"radio\" name=\"sitesearch\" id=\"gWWW\" value=\"\" /><label for=\"gWWW\">WWW</label>\n  </div>\n</form>\";'),('es','messages:opensearch-desc','s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";'),('es','messages:preferences-summary','s:0:\"\";'),('es','messages:prefs-memberingroups-type','s:2:\"$1\";'),('es','messages:prefs-registration-date-time','s:2:\"$1\";'),('es','messages:userrights-summary','s:0:\"\";'),('es','messages:userrights-irreversible-marker','s:3:\"$1*\";'),('es','messages:recentchanges-url','s:21:\"Special:RecentChanges\";'),('es','messages:unpatrolledletter','s:1:\"!\";'),('es','messages:sectionlink','s:3:\"→\";'),('es','messages:number_of_watching_users_RCview','s:4:\"[$1]\";'),('es','messages:rc-change-size','s:2:\"$1\";'),('es','messages:recentchangeslinked-backlink','s:6:\"← $1\";'),('es','messages:upload-summary','s:0:\"\";'),('es','messages:uploadfooter','s:1:\"-\";'),('es','messages:filename-prefix-blacklist','s:432:\" #<!-- leave this line exactly as it is --> <pre>\n# Syntax is as follows:\n#   * Everything from a \"#\" character to the end of the line is a comment\n#   * Every non-blank line is a prefix for typical file names assigned automatically by digital cameras\nCIMG # Casio\nDSC_ # Nikon\nDSCF # Fuji\nDSCN # Nikon\nDUW # some mobile phones\nIMG # generic\nJD # Jenoptik\nMGP # Pentax\nPICT # misc.\n #</pre> <!-- leave this line exactly as it is -->\";'),('es','messages:licenses','s:1:\"-\";'),('es','messages:shareddescriptionfollows','s:1:\"-\";'),('es','messages:shared-repo-name-wikimediacommons','s:17:\"Wikimedia Commons\";'),('es','messages:filepage.css','s:101:\"/* CSS placed here is included on the file description page, also included on foreign client wikis */\";'),('es','messages:filerevert-backlink','s:6:\"← $1\";'),('es','messages:filedelete-backlink','s:6:\"← $1\";'),('es','messages:unwatchedpages-summary','s:0:\"\";'),('es','messages:listredirects-summary','s:0:\"\";'),('es','messages:unusedtemplates-summary','s:0:\"\";'),('es','messages:randompage-url','s:14:\"Special:Random\";'),('es','messages:statistics-summary','s:0:\"\";'),('es','messages:statistics-footer','s:0:\"\";'),('es','messages:disambiguations-summary','s:0:\"\";'),('es','messages:doubleredirects-summary','s:0:\"\";'),('es','messages:brokenredirects-summary','s:0:\"\";'),('es','messages:fewestrevisions-summary','s:0:\"\";'),('es','messages:lonelypages-summary','s:0:\"\";'),('es','messages:uncategorizedpages-summary','s:0:\"\";'),('es','messages:uncategorizedcategories-summary','s:0:\"\";'),('es','messages:uncategorizedimages-summary','s:0:\"\";'),('es','messages:uncategorizedtemplates-summary','s:0:\"\";'),('es','messages:popularpages-summary','s:0:\"\";'),('es','messages:wantedcategories-summary','s:0:\"\";'),('es','messages:wantedpages-summary','s:0:\"\";'),('es','messages:wantedfiles-summary','s:0:\"\";'),('es','messages:wantedtemplates-summary','s:0:\"\";'),('es','messages:mostlinked-summary','s:0:\"\";'),('es','messages:mostlinkedcategories-summary','s:0:\"\";'),('es','messages:mostlinkedtemplates-summary','s:0:\"\";'),('es','messages:mostcategories-summary','s:0:\"\";'),('es','messages:mostimages-summary','s:0:\"\";'),('es','messages:mostrevisions-summary','s:0:\"\";'),('es','messages:prefixindex-summary','s:0:\"\";'),('es','messages:shortpages-summary','s:0:\"\";'),('es','messages:longpages-summary','s:0:\"\";'),('es','messages:deadendpages-summary','s:0:\"\";'),('es','messages:protectedpages-summary','s:0:\"\";'),('es','messages:protectedtitles-summary','s:0:\"\";'),('es','messages:listusers-summary','s:0:\"\";'),('es','messages:newpages-summary','s:0:\"\";'),('es','messages:ancientpages-summary','s:0:\"\";'),('es','messages:booksources-summary','s:0:\"\";'),('es','messages:booksources-isbn','s:5:\"ISBN:\";'),('es','messages:rfcurl','s:27:\"//tools.ietf.org/html/rfc$1\";'),('es','messages:pubmedurl','s:46:\"//www.ncbi.nlm.nih.gov/pubmed/$1?dopt=Abstract\";'),('es','messages:allpages-summary','s:0:\"\";'),('es','messages:categories-summary','s:0:\"\";'),('es','messages:activeusers-summary','s:0:\"\";'),('es','messages:newuserlogentry','s:0:\"\";'),('es','messages:listgrouprights-right-display','s:61:\"<span class=\"listgrouprights-granted\">$1 <tt>($2)</tt></span>\";'),('es','messages:listgrouprights-right-revoked','s:61:\"<span class=\"listgrouprights-revoked\">$1 <tt>($2)</tt></span>\";'),('es','messages:usermessage-template','s:21:\"MediaWiki:UserMessage\";'),('es','messages:delete-backlink','s:6:\"← $1\";'),('es','messages:protect-backlink','s:6:\"← $1\";'),('es','messages:sp-contributions-explain','s:0:\"\";'),('es','messages:sp-contributions-footer','s:1:\"-\";'),('es','messages:sp-contributions-footer-anon','s:1:\"-\";'),('es','messages:whatlinkshere-summary','s:0:\"\";'),('es','messages:whatlinkshere-backlink','s:6:\"← $1\";'),('es','messages:blocklist-summary','s:0:\"\";'),('es','messages:sorbs','s:5:\"DNSBL\";'),('es','messages:accesskey-pt-userpage','s:1:\".\";'),('es','messages:accesskey-pt-anonuserpage','s:1:\".\";'),('es','messages:accesskey-pt-mytalk','s:1:\"n\";'),('es','messages:accesskey-pt-anontalk','s:1:\"n\";'),('es','messages:accesskey-pt-preferences','s:0:\"\";'),('es','messages:accesskey-pt-watchlist','s:1:\"l\";'),('es','messages:accesskey-pt-mycontris','s:1:\"y\";'),('es','messages:accesskey-pt-login','s:1:\"o\";'),('es','messages:accesskey-pt-anonlogin','s:1:\"o\";'),('es','messages:accesskey-pt-logout','s:0:\"\";'),('es','messages:accesskey-ca-talk','s:1:\"t\";'),('es','messages:accesskey-ca-edit','s:1:\"e\";'),('es','messages:accesskey-ca-addsection','s:1:\"+\";'),('es','messages:accesskey-ca-viewsource','s:1:\"e\";'),('es','messages:accesskey-ca-history','s:1:\"h\";'),('es','messages:accesskey-ca-protect','s:1:\"=\";'),('es','messages:accesskey-ca-unprotect','s:1:\"=\";'),('es','messages:accesskey-ca-delete','s:1:\"d\";'),('es','messages:accesskey-ca-undelete','s:1:\"d\";'),('es','messages:accesskey-ca-move','s:1:\"m\";'),('es','messages:accesskey-ca-watch','s:1:\"w\";'),('es','messages:accesskey-ca-unwatch','s:1:\"w\";'),('es','messages:accesskey-search','s:1:\"f\";'),('es','messages:accesskey-search-go','s:0:\"\";'),('es','messages:accesskey-search-fulltext','s:0:\"\";'),('es','messages:accesskey-p-logo','s:0:\"\";'),('es','messages:accesskey-n-mainpage','s:1:\"z\";'),('es','messages:accesskey-n-mainpage-description','s:1:\"z\";'),('es','messages:accesskey-n-portal','s:0:\"\";'),('es','messages:accesskey-n-currentevents','s:0:\"\";'),('es','messages:accesskey-n-recentchanges','s:1:\"r\";'),('es','messages:accesskey-n-randompage','s:1:\"x\";'),('es','messages:accesskey-n-help','s:0:\"\";'),('es','messages:accesskey-t-whatlinkshere','s:1:\"j\";'),('es','messages:accesskey-t-recentchangeslinked','s:1:\"k\";'),('es','messages:accesskey-feed-rss','s:0:\"\";'),('es','messages:accesskey-feed-atom','s:0:\"\";'),('es','messages:accesskey-t-contributions','s:0:\"\";'),('es','messages:accesskey-t-emailuser','s:0:\"\";'),('es','messages:accesskey-t-permalink','s:0:\"\";'),('es','messages:accesskey-t-print','s:1:\"p\";'),('es','messages:accesskey-t-upload','s:1:\"u\";'),('es','messages:accesskey-t-specialpages','s:1:\"q\";'),('es','messages:accesskey-ca-nstab-main','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-user','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-media','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-special','s:0:\"\";'),('es','messages:accesskey-ca-nstab-project','s:1:\"a\";'),('es','messages:accesskey-ca-nstab-image','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-mediawiki','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-template','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-help','s:1:\"c\";'),('es','messages:accesskey-ca-nstab-category','s:1:\"c\";'),('es','messages:accesskey-minoredit','s:1:\"i\";'),('es','messages:accesskey-save','s:1:\"s\";'),('es','messages:accesskey-preview','s:1:\"p\";'),('es','messages:accesskey-diff','s:1:\"v\";'),('es','messages:accesskey-compareselectedversions','s:1:\"v\";'),('es','messages:accesskey-watch','s:1:\"w\";'),('es','messages:accesskey-upload','s:1:\"s\";'),('es','messages:accesskey-preferences-save','s:1:\"s\";'),('es','messages:accesskey-summary','s:1:\"b\";'),('es','messages:accesskey-userrights-set','s:1:\"s\";'),('es','messages:accesskey-blockip-block','s:1:\"s\";'),('es','messages:accesskey-export','s:1:\"s\";'),('es','messages:accesskey-import','s:1:\"s\";'),('es','messages:noscript.css','s:64:\"/* CSS placed here will affect users with JavaScript disabled */\";'),('es','messages:group-autoconfirmed.css','s:58:\"/* CSS placed here will affect autoconfirmed users only */\";'),('es','messages:group-bot.css','s:43:\"/* CSS placed here will affect bots only */\";'),('es','messages:group-sysop.css','s:45:\"/* CSS placed here will affect sysops only */\";'),('es','messages:group-bureaucrat.css','s:50:\"/* CSS placed here will affect bureaucrats only */\";'),('es','messages:group-autoconfirmed.js','s:69:\"/* Any JavaScript here will be loaded for autoconfirmed users only */\";'),('es','messages:group-bot.js','s:54:\"/* Any JavaScript here will be loaded for bots only */\";'),('es','messages:group-sysop.js','s:56:\"/* Any JavaScript here will be loaded for sysops only */\";'),('es','messages:group-bureaucrat.js','s:61:\"/* Any JavaScript here will be loaded for bureaucrats only */\";'),('es','messages:markaspatrolledlink','s:4:\"[$1]\";'),('es','messages:widthheight','s:8:\"$1 × $2\";'),('es','messages:video-dims','s:12:\"$1, $2 × $3\";'),('es','messages:seconds-abbrev','s:1:\"s\";'),('es','messages:days-abbrev','s:1:\"d\";'),('es','messages:variantname-zh-hans','s:4:\"hans\";'),('es','messages:variantname-zh-hant','s:4:\"hant\";'),('es','messages:variantname-zh-cn','s:2:\"cn\";'),('es','messages:variantname-zh-tw','s:2:\"tw\";'),('es','messages:variantname-zh-hk','s:2:\"hk\";'),('es','messages:variantname-zh-mo','s:2:\"mo\";'),('es','messages:variantname-zh-sg','s:2:\"sg\";'),('es','messages:variantname-zh-my','s:2:\"my\";'),('es','messages:variantname-zh','s:2:\"zh\";'),('es','messages:variantname-gan-hans','s:4:\"hans\";'),('es','messages:variantname-gan-hant','s:4:\"hant\";'),('es','messages:variantname-gan','s:3:\"gan\";'),('es','messages:variantname-sr-ec','s:5:\"sr-ec\";'),('es','messages:variantname-sr-el','s:5:\"sr-el\";'),('es','messages:variantname-sr','s:2:\"sr\";'),('es','messages:variantname-kk-kz','s:5:\"kk-kz\";'),('es','messages:variantname-kk-tr','s:5:\"kk-tr\";'),('es','messages:variantname-kk-cn','s:5:\"kk-cn\";'),('es','messages:variantname-kk-cyrl','s:7:\"kk-cyrl\";'),('es','messages:variantname-kk-latn','s:7:\"kk-latn\";'),('es','messages:variantname-kk-arab','s:7:\"kk-arab\";'),('es','messages:variantname-kk','s:2:\"kk\";'),('es','messages:variantname-ku-arab','s:7:\"ku-Arab\";'),('es','messages:variantname-ku-latn','s:7:\"ku-Latn\";'),('es','messages:variantname-ku','s:2:\"ku\";'),('es','messages:variantname-tg-cyrl','s:7:\"tg-Cyrl\";'),('es','messages:variantname-tg-latn','s:7:\"tg-Latn\";'),('es','messages:variantname-tg','s:2:\"tg\";'),('es','messages:variantname-ike-cans','s:8:\"ike-Cans\";'),('es','messages:variantname-ike-latn','s:8:\"ike-Latn\";'),('es','messages:variantname-iu','s:2:\"iu\";'),('es','messages:metadata-langitem','s:12:\"\'\'\'$2:\'\'\' $1\";'),('es','messages:metadata-langitem-default','s:2:\"$1\";'),('es','messages:exif-fnumber-format','s:4:\"f/$1\";'),('es','messages:exif-focallength-format','s:5:\"$1 mm\";'),('es','messages:exif-coordinate-format','s:19:\"$1° $2′ $3″ $4\";'),('es','messages:exif-make-value','s:2:\"$1\";'),('es','messages:exif-model-value','s:2:\"$1\";'),('es','messages:exif-software-value','s:2:\"$1\";'),('es','messages:exif-software-version-value','s:15:\"$1 (Version $2)\";'),('es','messages:exif-contact-value','s:52:\"$1\n\n$2\n<div class=\"adr\">\n$3\n\n$4, $5, $6 $7\n</div>\n$8\";'),('es','messages:exif-subjectnewscode-value','s:7:\"$2 ($1)\";'),('es','messages:exif-compression-5','s:3:\"LZW\";'),('es','messages:exif-compression-6','s:10:\"JPEG (old)\";'),('es','messages:exif-compression-7','s:4:\"JPEG\";'),('es','messages:exif-compression-8','s:15:\"Deflate (Adobe)\";'),('es','messages:exif-compression-32773','s:24:\"PackBits (Macintosh RLE)\";'),('es','messages:exif-compression-32946','s:15:\"Deflate (PKZIP)\";'),('es','messages:exif-compression-34712','s:8:\"JPEG2000\";'),('es','messages:exif-photometricinterpretation-2','s:3:\"RGB\";'),('es','messages:exif-photometricinterpretation-6','s:5:\"YCbCr\";'),('es','messages:exif-xyresolution-i','s:6:\"$1 dpi\";'),('es','messages:exif-xyresolution-c','s:6:\"$1 dpc\";'),('es','messages:exif-colorspace-1','s:4:\"sRGB\";'),('es','messages:exif-componentsconfiguration-1','s:1:\"Y\";'),('es','messages:exif-componentsconfiguration-2','s:2:\"Cb\";'),('es','messages:exif-componentsconfiguration-3','s:2:\"Cr\";'),('es','messages:exif-componentsconfiguration-4','s:1:\"R\";'),('es','messages:exif-componentsconfiguration-5','s:1:\"G\";'),('es','messages:exif-componentsconfiguration-6','s:1:\"B\";'),('es','messages:exif-lightsource-20','s:3:\"D55\";'),('es','messages:exif-lightsource-21','s:3:\"D65\";'),('es','messages:exif-lightsource-22','s:3:\"D75\";'),('es','messages:exif-lightsource-23','s:3:\"D50\";'),('es','messages:exif-maxaperturevalue-value','s:14:\"$1 APEX (f/$2)\";'),('es','messages:trackback','s:16:\"; $4 $5: [$2 $1]\";'),('es','messages:trackbackexcerpt','s:37:\"; $4 $5: [$2 $1]: <nowiki>$3</nowiki>\";'),('es','messages:unit-pixel','s:2:\"px\";'),('es','messages:semicolon-separator','s:6:\";&#32;\";'),('es','messages:colon-separator','s:6:\":&#32;\";'),('es','messages:autocomment-prefix','s:6:\"-&#32;\";'),('es','messages:pipe-separator','s:11:\"&#32;|&#32;\";'),('es','messages:word-separator','s:5:\"&#32;\";'),('es','messages:ellipsis','s:3:\"...\";'),('es','messages:percent','s:3:\"$1%\";'),('es','messages:parentheses','s:4:\"($1)\";'),('es','messages:autoblock_whitelist','s:406:\"AOL http://webmaster.info.aol.com/proxyinfo.html\n*64.12.96.0/19\n*149.174.160.0/20\n*152.163.240.0/21\n*152.163.248.0/22\n*152.163.252.0/23\n*152.163.96.0/22\n*152.163.100.0/23\n*195.93.32.0/22\n*195.93.48.0/22\n*195.93.64.0/19\n*195.93.96.0/19\n*195.93.16.0/20\n*198.81.0.0/22\n*198.81.16.0/20\n*198.81.8.0/23\n*202.67.64.128/25\n*205.188.192.0/20\n*205.188.208.0/23\n*205.188.112.0/20\n*205.188.146.144/30\n*207.200.112.0/21\";'),('es','messages:size-bytes','s:4:\"$1 B\";'),('es','messages:size-kilobytes','s:5:\"$1 KB\";'),('es','messages:size-megabytes','s:5:\"$1 MB\";'),('es','messages:size-gigabytes','s:5:\"$1 GB\";'),('es','messages:iranian-calendar-m1','s:9:\"Farvardin\";'),('es','messages:iranian-calendar-m2','s:11:\"Ordibehesht\";'),('es','messages:iranian-calendar-m3','s:7:\"Khordad\";'),('es','messages:iranian-calendar-m4','s:3:\"Tir\";'),('es','messages:iranian-calendar-m5','s:6:\"Mordad\";'),('es','messages:iranian-calendar-m6','s:9:\"Shahrivar\";'),('es','messages:iranian-calendar-m7','s:4:\"Mehr\";'),('es','messages:iranian-calendar-m8','s:4:\"Aban\";'),('es','messages:iranian-calendar-m9','s:4:\"Azar\";'),('es','messages:iranian-calendar-m10','s:3:\"Dey\";'),('es','messages:iranian-calendar-m11','s:6:\"Bahman\";'),('es','messages:iranian-calendar-m12','s:6:\"Esfand\";'),('es','messages:hijri-calendar-m1','s:8:\"Muharram\";'),('es','messages:hijri-calendar-m2','s:5:\"Safar\";'),('es','messages:hijri-calendar-m3','s:14:\"Rabi\' al-awwal\";'),('es','messages:hijri-calendar-m4','s:14:\"Rabi\' al-thani\";'),('es','messages:hijri-calendar-m5','s:15:\"Jumada al-awwal\";'),('es','messages:hijri-calendar-m6','s:15:\"Jumada al-thani\";'),('es','messages:hijri-calendar-m7','s:5:\"Rajab\";'),('es','messages:hijri-calendar-m8','s:8:\"Sha\'aban\";'),('es','messages:hijri-calendar-m9','s:7:\"Ramadan\";'),('es','messages:hijri-calendar-m10','s:7:\"Shawwal\";'),('es','messages:hijri-calendar-m11','s:13:\"Dhu al-Qi\'dah\";'),('es','messages:hijri-calendar-m12','s:13:\"Dhu al-Hijjah\";'),('es','messages:hebrew-calendar-m1','s:7:\"Tishrei\";'),('es','messages:hebrew-calendar-m2','s:8:\"Cheshvan\";'),('es','messages:hebrew-calendar-m3','s:6:\"Kislev\";'),('es','messages:hebrew-calendar-m4','s:5:\"Tevet\";'),('es','messages:hebrew-calendar-m5','s:6:\"Shevat\";'),('es','messages:hebrew-calendar-m6','s:4:\"Adar\";'),('es','messages:hebrew-calendar-m6a','s:6:\"Adar I\";'),('es','messages:hebrew-calendar-m6b','s:7:\"Adar II\";'),('es','messages:hebrew-calendar-m7','s:5:\"Nisan\";'),('es','messages:hebrew-calendar-m8','s:4:\"Iyar\";'),('es','messages:hebrew-calendar-m9','s:5:\"Sivan\";'),('es','messages:hebrew-calendar-m10','s:5:\"Tamuz\";'),('es','messages:hebrew-calendar-m11','s:2:\"Av\";'),('es','messages:hebrew-calendar-m12','s:4:\"Elul\";'),('es','messages:hebrew-calendar-m1-gen','s:7:\"Tishrei\";'),('es','messages:hebrew-calendar-m2-gen','s:8:\"Cheshvan\";'),('es','messages:hebrew-calendar-m3-gen','s:6:\"Kislev\";'),('es','messages:hebrew-calendar-m4-gen','s:5:\"Tevet\";'),('es','messages:hebrew-calendar-m5-gen','s:6:\"Shevat\";'),('es','messages:hebrew-calendar-m6-gen','s:4:\"Adar\";'),('es','messages:hebrew-calendar-m6a-gen','s:6:\"Adar I\";'),('es','messages:hebrew-calendar-m6b-gen','s:7:\"Adar II\";'),('es','messages:hebrew-calendar-m7-gen','s:5:\"Nisan\";'),('es','messages:hebrew-calendar-m8-gen','s:4:\"Iyar\";'),('es','messages:hebrew-calendar-m9-gen','s:5:\"Sivan\";'),('es','messages:hebrew-calendar-m10-gen','s:5:\"Tamuz\";'),('es','messages:hebrew-calendar-m11-gen','s:2:\"Av\";'),('es','messages:hebrew-calendar-m12-gen','s:4:\"Elul\";'),('es','messages:signature','s:21:\"[[{{ns:user}}:$1|$2]]\";'),('es','messages:signature-anon','s:36:\"[[{{#special:Contributions}}/$1|$2]]\";'),('es','messages:timezone-utc','s:3:\"UTC\";'),('es','messages:version-api','s:3:\"API\";'),('es','messages:version-svn-revision','s:5:\"(r$2)\";'),('es','messages:specialpages-summary','s:0:\"\";'),('es','rtl','b:0;'),('es','capitalizeAllNouns','b:0;'),('es','digitTransformTable','N;'),('es','separatorTransformTable','a:2:{s:1:\",\";s:1:\".\";s:1:\".\";s:1:\",\";}'),('es','fallback8bitEncoding','s:12:\"windows-1252\";'),('es','linkPrefixExtension','b:0;'),('es','linkTrail','s:31:\"/^([a-záéíóúñ]+)(.*)$/sDu\";'),('es','namespaceAliases','a:2:{s:6:\"Imagen\";i:6;s:17:\"Imagen_Discusión\";i:7;}'),('es','dateFormats','a:12:{s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j M Y\";s:8:\"dmy both\";s:9:\"H:i j M Y\";s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}'),('es','datePreferences','b:0;'),('es','datePreferenceMigrationMap','a:4:{i:0;s:7:\"default\";i:1;s:3:\"mdy\";i:2;s:3:\"dmy\";i:3;s:3:\"ymd\";}'),('es','defaultDateFormat','s:3:\"dmy\";'),('es','extraUserToggles','a:0:{}'),('es','specialPageAliases','a:97:{s:11:\"Activeusers\";a:2:{i:0;s:15:\"UsuariosActivos\";i:1;s:11:\"ActiveUsers\";}s:11:\"Allmessages\";a:2:{i:0;s:16:\"TodosLosMensajes\";i:1;s:11:\"AllMessages\";}s:8:\"Allpages\";a:3:{i:0;s:5:\"Todas\";i:1;s:18:\"Todas_las_páginas\";i:2;s:8:\"AllPages\";}s:12:\"Ancientpages\";a:3:{i:0;s:16:\"PáginasAntiguas\";i:1;s:17:\"Páginas_antiguas\";i:2;s:12:\"AncientPages\";}s:9:\"Blankpage\";a:3:{i:0;s:16:\"BlanquearPágina\";i:1;s:17:\"Blanquear_página\";i:2;s:9:\"BlankPage\";}s:5:\"Block\";a:4:{i:0;s:8:\"Bloquear\";i:1;s:5:\"Block\";i:2;s:7:\"BlockIP\";i:3;s:9:\"BlockUser\";}s:7:\"Blockme\";a:2:{i:0;s:10:\"Bloquearme\";i:1;s:7:\"BlockMe\";}s:11:\"Booksources\";a:3:{i:0;s:15:\"FuentesDeLibros\";i:1;s:17:\"Fuentes_de_libros\";i:2;s:11:\"BookSources\";}s:15:\"BrokenRedirects\";a:3:{i:0;s:18:\"RedireccionesRotas\";i:1;s:19:\"Redirecciones_rotas\";i:2;s:15:\"BrokenRedirects\";}s:10:\"Categories\";a:2:{i:0;s:11:\"Categorías\";i:1;s:10:\"Categories\";}s:14:\"ChangePassword\";a:7:{i:0;s:19:\"Cambiar_contraseña\";i:1;s:18:\"CambiarContraseña\";i:2;s:19:\"ResetearContraseña\";i:3;s:20:\"Resetear_contraseña\";i:4;s:14:\"ChangePassword\";i:5;s:9:\"ResetPass\";i:6;s:13:\"ResetPassword\";}s:12:\"ComparePages\";a:2:{i:0;s:16:\"CompararPáginas\";i:1;s:12:\"ComparePages\";}s:12:\"Confirmemail\";a:3:{i:0;s:14:\"ConfirmarEmail\";i:1;s:16:\"Confirmar_e-mail\";i:2;s:12:\"ConfirmEmail\";}s:13:\"Contributions\";a:3:{i:0;s:14:\"Contribuciones\";i:1;s:13:\"Contributions\";i:2;s:8:\"Contribs\";}s:13:\"CreateAccount\";a:3:{i:0;s:16:\"Crear_una_cuenta\";i:1;s:11:\"CrearCuenta\";i:2;s:13:\"CreateAccount\";}s:12:\"Deadendpages\";a:3:{i:0;s:17:\"PáginasSinSalida\";i:1;s:19:\"Páginas_sin_salida\";i:2;s:12:\"DeadendPages\";}s:20:\"DeletedContributions\";a:3:{i:0;s:22:\"ContribucionesBorradas\";i:1;s:23:\"Contribuciones_Borradas\";i:2;s:20:\"DeletedContributions\";}s:15:\"Disambiguations\";a:3:{i:0;s:16:\"Desambiguaciones\";i:1;s:15:\"Desambiguación\";i:2;s:15:\"Disambiguations\";}s:15:\"DoubleRedirects\";a:3:{i:0;s:19:\"RedireccionesDobles\";i:1;s:20:\"Redirecciones_dobles\";i:2;s:15:\"DoubleRedirects\";}s:9:\"Emailuser\";a:2:{i:0;s:18:\"MandarEmailUsuario\";i:1;s:9:\"EmailUser\";}s:6:\"Export\";a:2:{i:0;s:8:\"Exportar\";i:1;s:6:\"Export\";}s:15:\"Fewestrevisions\";a:3:{i:0;s:14:\"MenosEdiciones\";i:1;s:15:\"Menos_ediciones\";i:2;s:15:\"FewestRevisions\";}s:19:\"FileDuplicateSearch\";a:3:{i:0;s:24:\"BuscarArchivosDuplicados\";i:1;s:26:\"Buscar_archivos_duplicados\";i:2;s:19:\"FileDuplicateSearch\";}s:8:\"Filepath\";a:3:{i:0;s:13:\"RutaDeArchivo\";i:1;s:15:\"Ruta_de_archivo\";i:2;s:8:\"FilePath\";}s:6:\"Import\";a:2:{i:0;s:8:\"Importar\";i:1;s:6:\"Import\";}s:15:\"Invalidateemail\";a:3:{i:0;s:14:\"InvalidarEmail\";i:1;s:16:\"Invalidar_e-mail\";i:2;s:15:\"InvalidateEmail\";}s:9:\"BlockList\";a:5:{i:0;s:18:\"UsuariosBloqueados\";i:1;s:28:\"Lista_de_usuarios_bloqueados\";i:2;s:9:\"BlockList\";i:3;s:10:\"ListBlocks\";i:4;s:11:\"IPBlockList\";}s:10:\"LinkSearch\";a:3:{i:0;s:18:\"BúsquedaDeEnlaces\";i:1;s:20:\"Búsqueda_de_enlaces\";i:2;s:10:\"LinkSearch\";}s:10:\"Listadmins\";a:3:{i:0;s:22:\"ListaDeAdministradores\";i:1;s:24:\"Lista_de_administradores\";i:2;s:10:\"ListAdmins\";}s:8:\"Listbots\";a:3:{i:0;s:11:\"ListaDeBots\";i:1;s:13:\"Lista_de_bots\";i:2;s:8:\"ListBots\";}s:9:\"Listfiles\";a:5:{i:0;s:14:\"ListaImágenes\";i:1;s:18:\"Lista_de_imágenes\";i:2;s:9:\"ListFiles\";i:3;s:8:\"FileList\";i:4;s:9:\"ImageList\";}s:15:\"Listgrouprights\";a:4:{i:0;s:19:\"ListaDerechosGrupos\";i:1;s:30:\"Derechos_de_grupos_de_usuarios\";i:2;s:15:\"ListGroupRights\";i:3;s:15:\"UserGroupRights\";}s:13:\"Listredirects\";a:3:{i:0;s:21:\"TodasLasRedirecciones\";i:1;s:23:\"Todas_las_redirecciones\";i:2;s:13:\"ListRedirects\";}s:9:\"Listusers\";a:4:{i:0;s:13:\"ListaUsuarios\";i:1;s:17:\"Lista_de_usuarios\";i:2;s:9:\"ListUsers\";i:3;s:8:\"UserList\";}s:6:\"Lockdb\";a:3:{i:0;s:19:\"BloquearBasedeDatos\";i:1;s:22:\"Bloquear_base_de_datos\";i:2;s:6:\"LockDB\";}s:3:\"Log\";a:3:{i:0;s:8:\"Registro\";i:1;s:3:\"Log\";i:2;s:4:\"Logs\";}s:11:\"Lonelypages\";a:4:{i:0;s:18:\"PáginasHuérfanas\";i:1;s:19:\"Páginas_huérfanas\";i:2;s:11:\"LonelyPages\";i:3;s:13:\"OrphanedPages\";}s:9:\"Longpages\";a:3:{i:0;s:14:\"PáginasLargas\";i:1;s:15:\"Páginas_largas\";i:2;s:9:\"LongPages\";}s:12:\"MergeHistory\";a:3:{i:0;s:17:\"FusionarHistorial\";i:1;s:18:\"Fusionar_historial\";i:2;s:12:\"MergeHistory\";}s:10:\"MIMEsearch\";a:3:{i:0;s:13:\"BuscarPorMIME\";i:1;s:15:\"Buscar_por_MIME\";i:2;s:10:\"MIMESearch\";}s:14:\"Mostcategories\";a:3:{i:0;s:17:\"MásCategorizadas\";i:1;s:18:\"Más_categorizadas\";i:2;s:14:\"MostCategories\";}s:10:\"Mostimages\";a:5:{i:0;s:13:\"MásImágenes\";i:1;s:18:\"Con_más_imágenes\";i:2;s:15:\"MostLinkedFiles\";i:3;s:9:\"MostFiles\";i:4;s:10:\"MostImages\";}s:10:\"Mostlinked\";a:4:{i:0;s:13:\"MásEnlazados\";i:1;s:14:\"Más_enlazados\";i:2;s:15:\"MostLinkedPages\";i:3;s:10:\"MostLinked\";}s:20:\"Mostlinkedcategories\";a:4:{i:0;s:21:\"CategoríasMásUsadas\";i:1;s:23:\"Categorías_más_usadas\";i:2;s:20:\"MostLinkedCategories\";i:3;s:18:\"MostUsedCategories\";}s:19:\"Mostlinkedtemplates\";a:4:{i:0;s:20:\"PlantillasMásUsadas\";i:1;s:22:\"Plantillas_más_usadas\";i:2;s:19:\"MostLinkedTemplates\";i:3;s:17:\"MostUsedTemplates\";}s:13:\"Mostrevisions\";a:3:{i:0;s:13:\"MásEdiciones\";i:1;s:14:\"Más_ediciones\";i:2;s:13:\"MostRevisions\";}s:8:\"Movepage\";a:3:{i:0;s:12:\"MoverPágina\";i:1;s:13:\"Mover_página\";i:2;s:8:\"MovePage\";}s:15:\"Mycontributions\";a:3:{i:0;s:17:\"MisContribuciones\";i:1;s:18:\"Mis_contribuciones\";i:2;s:15:\"MyContributions\";}s:6:\"Mypage\";a:3:{i:0;s:9:\"MiPágina\";i:1;s:10:\"Mi_página\";i:2;s:6:\"MyPage\";}s:6:\"Mytalk\";a:3:{i:0;s:12:\"MiDiscusión\";i:1;s:13:\"Mi_discusión\";i:2;s:6:\"MyTalk\";}s:9:\"Newimages\";a:4:{i:0;s:15:\"NuevasImágenes\";i:1;s:16:\"Nuevas_imágenes\";i:2;s:8:\"NewFiles\";i:3;s:9:\"NewImages\";}s:8:\"Newpages\";a:3:{i:0;s:14:\"PáginasNuevas\";i:1;s:15:\"Páginas_nuevas\";i:2;s:8:\"NewPages\";}s:12:\"Popularpages\";a:4:{i:0;s:21:\"PáginasMásVisitadas\";i:1;s:17:\"PáginasPopulares\";i:2;s:23:\"Páginas_más_visitadas\";i:3;s:12:\"PopularPages\";}s:11:\"Preferences\";a:2:{i:0;s:12:\"Preferencias\";i:1;s:11:\"Preferences\";}s:11:\"Prefixindex\";a:3:{i:0;s:18:\"PáginasPorPrefijo\";i:1;s:20:\"Páginas_por_prefijo\";i:2;s:11:\"PrefixIndex\";}s:14:\"Protectedpages\";a:3:{i:0;s:18:\"PáginasProtegidas\";i:1;s:19:\"Páginas_protegidas\";i:2;s:14:\"ProtectedPages\";}s:15:\"Protectedtitles\";a:3:{i:0;s:18:\"TítulosProtegidos\";i:1;s:19:\"Títulos_protegidos\";i:2;s:15:\"ProtectedTitles\";}s:10:\"Randompage\";a:5:{i:0;s:9:\"Aleatoria\";i:1;s:9:\"Aleatorio\";i:2;s:17:\"Página_aleatoria\";i:3;s:6:\"Random\";i:4;s:10:\"RandomPage\";}s:14:\"Randomredirect\";a:3:{i:0;s:21:\"RedirecciónAleatoria\";i:1;s:22:\"Redirección_aleatoria\";i:2;s:14:\"RandomRedirect\";}s:13:\"Recentchanges\";a:3:{i:0;s:16:\"CambiosRecientes\";i:1;s:17:\"Cambios_recientes\";i:2;s:13:\"RecentChanges\";}s:19:\"Recentchangeslinked\";a:4:{i:0;s:18:\"CambiosEnEnlazadas\";i:1;s:20:\"Cambios_en_enlazadas\";i:2;s:19:\"RecentChangesLinked\";i:3;s:14:\"RelatedChanges\";}s:14:\"Revisiondelete\";a:3:{i:0;s:15:\"BorrarRevisión\";i:1;s:16:\"Borrar_revisión\";i:2;s:14:\"RevisionDelete\";}s:12:\"RevisionMove\";a:2:{i:0;s:13:\"MoverRevision\";i:1;s:12:\"RevisionMove\";}s:6:\"Search\";a:2:{i:0;s:6:\"Buscar\";i:1;s:6:\"Search\";}s:10:\"Shortpages\";a:3:{i:0;s:14:\"PáginasCortas\";i:1;s:15:\"Páginas_cortas\";i:2;s:10:\"ShortPages\";}s:12:\"Specialpages\";a:3:{i:0;s:18:\"PáginasEspeciales\";i:1;s:19:\"Páginas_especiales\";i:2;s:12:\"SpecialPages\";}s:10:\"Statistics\";a:2:{i:0;s:13:\"Estadísticas\";i:1;s:10:\"Statistics\";}s:4:\"Tags\";a:2:{i:0;s:9:\"Etiquetas\";i:1;s:4:\"Tags\";}s:7:\"Unblock\";a:2:{i:0;s:11:\"Desbloquear\";i:1;s:7:\"Unblock\";}s:23:\"Uncategorizedcategories\";a:3:{i:0;s:25:\"CategoríasSinCategorizar\";i:1;s:27:\"Categorías_sin_categorizar\";i:2;s:23:\"UncategorizedCategories\";}s:19:\"Uncategorizedimages\";a:4:{i:0;s:23:\"ImágenesSinCategorizar\";i:1;s:25:\"Imágenes_sin_categorizar\";i:2;s:18:\"UncategorizedFiles\";i:3;s:19:\"UncategorizedImages\";}s:18:\"Uncategorizedpages\";a:3:{i:0;s:22:\"PáginasSinCategorizar\";i:1;s:24:\"Páginas_sin_categorizar\";i:2;s:18:\"UncategorizedPages\";}s:22:\"Uncategorizedtemplates\";a:3:{i:0;s:24:\"PlantillasSinCategorizar\";i:1;s:26:\"Plantillas_sin_categorizar\";i:2;s:22:\"UncategorizedTemplates\";}s:8:\"Undelete\";a:2:{i:0;s:9:\"Restaurar\";i:1;s:8:\"Undelete\";}s:8:\"Unlockdb\";a:3:{i:0;s:22:\"DesbloquearBasedeDatos\";i:1;s:25:\"Desbloquear_base_de_datos\";i:2;s:8:\"UnlockDB\";}s:16:\"Unusedcategories\";a:3:{i:0;s:17:\"CategoríasSinUso\";i:1;s:19:\"Categorías_sin_uso\";i:2;s:16:\"UnusedCategories\";}s:12:\"Unusedimages\";a:4:{i:0;s:15:\"ImágenesSinUso\";i:1;s:17:\"Imágenes_sin_uso\";i:2;s:11:\"UnusedFiles\";i:3;s:12:\"UnusedImages\";}s:15:\"Unusedtemplates\";a:3:{i:0;s:16:\"PlantillasSinUso\";i:1;s:18:\"Plantillas_sin_uso\";i:2;s:15:\"UnusedTemplates\";}s:14:\"Unwatchedpages\";a:3:{i:0;s:18:\"PáginasSinVigilar\";i:1;s:20:\"Páginas_sin_vigilar\";i:2;s:14:\"UnwatchedPages\";}s:6:\"Upload\";a:3:{i:0;s:12:\"SubirArchivo\";i:1;s:13:\"Subir_archivo\";i:2;s:6:\"Upload\";}s:9:\"Userlogin\";a:3:{i:0;s:6:\"Entrar\";i:1;s:19:\"Entrada_del_usuario\";i:2;s:9:\"UserLogin\";}s:10:\"Userlogout\";a:3:{i:0;s:18:\"Salida_del_usuario\";i:1;s:5:\"Salir\";i:2;s:10:\"UserLogout\";}s:10:\"Userrights\";a:5:{i:0;s:16:\"PermisosUsuarios\";i:1;s:20:\"Permisos_de_usuarios\";i:2;s:10:\"UserRights\";i:3;s:9:\"MakeSysop\";i:4;s:7:\"MakeBot\";}s:7:\"Version\";a:2:{i:0;s:8:\"Versión\";i:1;s:7:\"Version\";}s:16:\"Wantedcategories\";a:3:{i:0;s:21:\"CategoríasRequeridas\";i:1;s:22:\"Categorías_requeridas\";i:2;s:16:\"WantedCategories\";}s:11:\"Wantedfiles\";a:3:{i:0;s:18:\"ArchivosRequeridos\";i:1;s:19:\"Archivos_requeridos\";i:2;s:11:\"WantedFiles\";}s:11:\"Wantedpages\";a:4:{i:0;s:18:\"PáginasRequeridas\";i:1;s:19:\"Páginas_requeridas\";i:2;s:11:\"WantedPages\";i:3;s:11:\"BrokenLinks\";}s:15:\"Wantedtemplates\";a:3:{i:0;s:20:\"PlantillasRequeridas\";i:1;s:21:\"Plantillas_requeridas\";i:2;s:15:\"WantedTemplates\";}s:9:\"Watchlist\";a:3:{i:0;s:11:\"Seguimiento\";i:1;s:20:\"Lista_de_seguimiento\";i:2;s:9:\"Watchlist\";}s:13:\"Whatlinkshere\";a:3:{i:0;s:16:\"LoQueEnlazaAquí\";i:1;s:19:\"Lo_que_enlaza_aquí\";i:2;s:13:\"WhatLinksHere\";}s:16:\"Withoutinterwiki\";a:3:{i:0;s:13:\"SinInterwikis\";i:1;s:14:\"Sin_interwikis\";i:2;s:16:\"WithoutInterwiki\";}s:8:\"Badtitle\";a:1:{i:0;s:8:\"Badtitle\";}s:13:\"EditWatchlist\";a:1:{i:0;s:13:\"EditWatchlist\";}s:9:\"Myuploads\";a:1:{i:0;s:9:\"MyUploads\";}s:13:\"PasswordReset\";a:1:{i:0;s:13:\"PasswordReset\";}s:13:\"PermanentLink\";a:2:{i:0;s:13:\"PermanentLink\";i:1;s:9:\"PermaLink\";}s:11:\"UploadStash\";a:1:{i:0;s:11:\"UploadStash\";}}'),('es','imageFiles','a:11:{s:11:\"button-bold\";s:15:\"button_bold.png\";s:13:\"button-italic\";s:17:\"button_italic.png\";s:11:\"button-link\";s:15:\"button_link.png\";s:14:\"button-extlink\";s:18:\"button_extlink.png\";s:15:\"button-headline\";s:19:\"button_headline.png\";s:12:\"button-image\";s:16:\"button_image.png\";s:12:\"button-media\";s:16:\"button_media.png\";s:11:\"button-math\";s:15:\"button_math.png\";s:13:\"button-nowiki\";s:17:\"button_nowiki.png\";s:10:\"button-sig\";s:14:\"button_sig.png\";s:9:\"button-hr\";s:13:\"button_hr.png\";}'),('es','preloadedMessages','a:95:{i:0;s:9:\"aboutpage\";i:1;s:9:\"aboutsite\";i:2;s:17:\"accesskey-ca-edit\";i:3;s:20:\"accesskey-ca-history\";i:4;s:23:\"accesskey-ca-nstab-main\";i:5;s:17:\"accesskey-ca-talk\";i:6;s:25:\"accesskey-n-currentevents\";i:7;s:16:\"accesskey-n-help\";i:8;s:32:\"accesskey-n-mainpage-description\";i:9;s:18:\"accesskey-n-portal\";i:10;s:22:\"accesskey-n-randompage\";i:11;s:25:\"accesskey-n-recentchanges\";i:12;s:23:\"accesskey-n-sitesupport\";i:13;s:16:\"accesskey-p-logo\";i:14;s:18:\"accesskey-pt-login\";i:15;s:16:\"accesskey-search\";i:16;s:25:\"accesskey-search-fulltext\";i:17;s:19:\"accesskey-search-go\";i:18;s:21:\"accesskey-t-permalink\";i:19;s:17:\"accesskey-t-print\";i:20;s:31:\"accesskey-t-recentchangeslinked\";i:21;s:24:\"accesskey-t-specialpages\";i:22;s:25:\"accesskey-t-whatlinkshere\";i:23;s:10:\"anonnotice\";i:24;s:15:\"colon-separator\";i:25;s:13:\"currentevents\";i:26;s:17:\"currentevents-url\";i:27;s:14:\"disclaimerpage\";i:28;s:11:\"disclaimers\";i:29;s:4:\"edit\";i:30;s:4:\"help\";i:31;s:8:\"helppage\";i:32;s:13:\"history_short\";i:33;s:6:\"jumpto\";i:34;s:16:\"jumptonavigation\";i:35;s:12:\"jumptosearch\";i:36;s:14:\"lastmodifiedat\";i:37;s:8:\"mainpage\";i:38;s:20:\"mainpage-description\";i:39;s:23:\"nav-login-createaccount\";i:40;s:10:\"navigation\";i:41;s:10:\"nstab-main\";i:42;s:15:\"opensearch-desc\";i:43;s:14:\"pagecategories\";i:44;s:18:\"pagecategorieslink\";i:45;s:9:\"pagetitle\";i:46;s:23:\"pagetitle-view-mainpage\";i:47;s:9:\"permalink\";i:48;s:13:\"personaltools\";i:49;s:6:\"portal\";i:50;s:10:\"portal-url\";i:51;s:16:\"printableversion\";i:52;s:7:\"privacy\";i:53;s:11:\"privacypage\";i:54;s:10:\"randompage\";i:55;s:14:\"randompage-url\";i:56;s:13:\"recentchanges\";i:57;s:17:\"recentchanges-url\";i:58;s:27:\"recentchangeslinked-toolbox\";i:59;s:13:\"retrievedfrom\";i:60;s:6:\"search\";i:61;s:13:\"searcharticle\";i:62;s:12:\"searchbutton\";i:63;s:7:\"sidebar\";i:64;s:14:\"site-atom-feed\";i:65;s:13:\"site-rss-feed\";i:66;s:10:\"sitenotice\";i:67;s:12:\"specialpages\";i:68;s:7:\"tagline\";i:69;s:4:\"talk\";i:70;s:7:\"toolbox\";i:71;s:15:\"tooltip-ca-edit\";i:72;s:18:\"tooltip-ca-history\";i:73;s:21:\"tooltip-ca-nstab-main\";i:74;s:15:\"tooltip-ca-talk\";i:75;s:23:\"tooltip-n-currentevents\";i:76;s:14:\"tooltip-n-help\";i:77;s:30:\"tooltip-n-mainpage-description\";i:78;s:16:\"tooltip-n-portal\";i:79;s:20:\"tooltip-n-randompage\";i:80;s:23:\"tooltip-n-recentchanges\";i:81;s:21:\"tooltip-n-sitesupport\";i:82;s:14:\"tooltip-p-logo\";i:83;s:20:\"tooltip-p-navigation\";i:84;s:16:\"tooltip-pt-login\";i:85;s:14:\"tooltip-search\";i:86;s:23:\"tooltip-search-fulltext\";i:87;s:17:\"tooltip-search-go\";i:88;s:19:\"tooltip-t-permalink\";i:89;s:15:\"tooltip-t-print\";i:90;s:29:\"tooltip-t-recentchangeslinked\";i:91;s:22:\"tooltip-t-specialpages\";i:92;s:23:\"tooltip-t-whatlinkshere\";i:93;s:5:\"views\";i:94;s:13:\"whatlinkshere\";}'),('es','namespaceGenderAliases','a:2:{i:2;a:2:{s:4:\"male\";s:7:\"Usuario\";s:6:\"female\";s:7:\"Usuaria\";}i:3;a:2:{s:4:\"male\";s:18:\"Usuario_Discusión\";s:6:\"female\";s:18:\"Usuaria_Discusión\";}}'),('es','fallbackSequence','a:1:{i:0;s:2:\"en\";}'),('es','deps','a:7:{i:0;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEs.php\";s:9:\"timestamp\";i:1326231359;}i:1;O:14:\"FileDependency\":2:{s:8:\"filename\";s:87:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/languages/messages/MessagesEn.php\";s:9:\"timestamp\";i:1326230387;}i:2;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}s:24:\"wgExtensionMessagesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:24:\"wgExtensionMessagesFiles\";s:5:\"value\";a:1:{s:7:\"SVGEdit\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";}}s:23:\"wgExtensionAliasesFiles\";O:16:\"GlobalDependency\":2:{s:4:\"name\";s:23:\"wgExtensionAliasesFiles\";s:5:\"value\";a:0:{}}s:7:\"version\";O:18:\"ConstantDependency\":2:{s:4:\"name\";s:13:\"MW_LC_VERSION\";s:5:\"value\";i:1;}i:3;O:14:\"FileDependency\":2:{s:8:\"filename\";s:89:\"/hsphere/local/home/sergioso/ayuda.cloudoffice.com.ar/extensions/SVGEdit/SVGEdit.i18n.php\";s:9:\"timestamp\";i:1355333963;}}'),('es','list','a:1:{s:8:\"messages\";a:2988:{i:0;s:23:\"svgedit-editbutton-edit\";i:1;s:21:\"svgedit-summary-label\";i:2;s:23:\"svgedit-summary-default\";i:3;s:25:\"svgedit-editor-save-close\";i:4;s:20:\"svgedit-editor-close\";i:5;s:12:\"svgedit-desc\";i:6;s:16:\"svgedit-edit-tab\";i:7;s:24:\"svgedit-edit-tab-tooltip\";i:8;s:22:\"svgedit-toolbar-insert\";i:9;s:13:\"tog-underline\";i:10;s:19:\"tog-highlightbroken\";i:11;s:11:\"tog-justify\";i:12;s:13:\"tog-hideminor\";i:13;s:17:\"tog-hidepatrolled\";i:14;s:25:\"tog-newpageshidepatrolled\";i:15;s:19:\"tog-extendwatchlist\";i:16;s:12:\"tog-usenewrc\";i:17;s:18:\"tog-numberheadings\";i:18;s:15:\"tog-showtoolbar\";i:19;s:18:\"tog-editondblclick\";i:20;s:15:\"tog-editsection\";i:21;s:27:\"tog-editsectiononrightclick\";i:22;s:11:\"tog-showtoc\";i:23;s:20:\"tog-rememberpassword\";i:24;s:18:\"tog-watchcreations\";i:25;s:16:\"tog-watchdefault\";i:26;s:14:\"tog-watchmoves\";i:27;s:17:\"tog-watchdeletion\";i:28;s:16:\"tog-minordefault\";i:29;s:16:\"tog-previewontop\";i:30;s:18:\"tog-previewonfirst\";i:31;s:11:\"tog-nocache\";i:32;s:24:\"tog-enotifwatchlistpages\";i:33;s:23:\"tog-enotifusertalkpages\";i:34;s:20:\"tog-enotifminoredits\";i:35;s:20:\"tog-enotifrevealaddr\";i:36;s:23:\"tog-shownumberswatching\";i:37;s:10:\"tog-oldsig\";i:38;s:12:\"tog-fancysig\";i:39;s:18:\"tog-externaleditor\";i:40;s:16:\"tog-externaldiff\";i:41;s:17:\"tog-showjumplinks\";i:42;s:18:\"tog-uselivepreview\";i:43;s:20:\"tog-forceeditsummary\";i:44;s:20:\"tog-watchlisthideown\";i:45;s:21:\"tog-watchlisthidebots\";i:46;s:22:\"tog-watchlisthideminor\";i:47;s:20:\"tog-watchlisthideliu\";i:48;s:22:\"tog-watchlisthideanons\";i:49;s:26:\"tog-watchlisthidepatrolled\";i:50;s:20:\"tog-nolangconversion\";i:51;s:16:\"tog-ccmeonemails\";i:52;s:12:\"tog-diffonly\";i:53;s:18:\"tog-showhiddencats\";i:54;s:17:\"tog-noconvertlink\";i:55;s:18:\"tog-norollbackdiff\";i:56;s:16:\"underline-always\";i:57;s:15:\"underline-never\";i:58;s:17:\"underline-default\";i:59;s:14:\"editfont-style\";i:60;s:16:\"editfont-default\";i:61;s:18:\"editfont-monospace\";i:62;s:18:\"editfont-sansserif\";i:63;s:14:\"editfont-serif\";i:64;s:6:\"sunday\";i:65;s:6:\"monday\";i:66;s:7:\"tuesday\";i:67;s:9:\"wednesday\";i:68;s:8:\"thursday\";i:69;s:6:\"friday\";i:70;s:8:\"saturday\";i:71;s:3:\"sun\";i:72;s:3:\"mon\";i:73;s:3:\"tue\";i:74;s:3:\"wed\";i:75;s:3:\"thu\";i:76;s:3:\"fri\";i:77;s:3:\"sat\";i:78;s:7:\"january\";i:79;s:8:\"february\";i:80;s:5:\"march\";i:81;s:5:\"april\";i:82;s:8:\"may_long\";i:83;s:4:\"june\";i:84;s:4:\"july\";i:85;s:6:\"august\";i:86;s:9:\"september\";i:87;s:7:\"october\";i:88;s:8:\"november\";i:89;s:8:\"december\";i:90;s:11:\"january-gen\";i:91;s:12:\"february-gen\";i:92;s:9:\"march-gen\";i:93;s:9:\"april-gen\";i:94;s:7:\"may-gen\";i:95;s:8:\"june-gen\";i:96;s:8:\"july-gen\";i:97;s:10:\"august-gen\";i:98;s:13:\"september-gen\";i:99;s:11:\"october-gen\";i:100;s:12:\"november-gen\";i:101;s:12:\"december-gen\";i:102;s:3:\"jan\";i:103;s:3:\"feb\";i:104;s:3:\"mar\";i:105;s:3:\"apr\";i:106;s:3:\"may\";i:107;s:3:\"jun\";i:108;s:3:\"jul\";i:109;s:3:\"aug\";i:110;s:3:\"sep\";i:111;s:3:\"oct\";i:112;s:3:\"nov\";i:113;s:3:\"dec\";i:114;s:14:\"pagecategories\";i:115;s:15:\"category_header\";i:116;s:13:\"subcategories\";i:117;s:21:\"category-media-header\";i:118;s:14:\"category-empty\";i:119;s:17:\"hidden-categories\";i:120;s:24:\"hidden-category-category\";i:121;s:21:\"category-subcat-count\";i:122;s:29:\"category-subcat-count-limited\";i:123;s:22:\"category-article-count\";i:124;s:30:\"category-article-count-limited\";i:125;s:19:\"category-file-count\";i:126;s:27:\"category-file-count-limited\";i:127;s:22:\"listingcontinuesabbrev\";i:128;s:14:\"index-category\";i:129;s:16:\"noindex-category\";i:130;s:20:\"broken-file-category\";i:131;s:5:\"about\";i:132;s:7:\"article\";i:133;s:9:\"newwindow\";i:134;s:6:\"cancel\";i:135;s:13:\"moredotdotdot\";i:136;s:6:\"mypage\";i:137;s:6:\"mytalk\";i:138;s:8:\"anontalk\";i:139;s:10:\"navigation\";i:140;s:3:\"and\";i:141;s:6:\"qbfind\";i:142;s:8:\"qbbrowse\";i:143;s:6:\"qbedit\";i:144;s:13:\"qbpageoptions\";i:145;s:10:\"qbpageinfo\";i:146;s:11:\"qbmyoptions\";i:147;s:14:\"qbspecialpages\";i:148;s:3:\"faq\";i:149;s:7:\"faqpage\";i:150;s:24:\"vector-action-addsection\";i:151;s:20:\"vector-action-delete\";i:152;s:18:\"vector-action-move\";i:153;s:21:\"vector-action-protect\";i:154;s:22:\"vector-action-undelete\";i:155;s:23:\"vector-action-unprotect\";i:156;s:30:\"vector-simplesearch-preference\";i:157;s:18:\"vector-view-create\";i:158;s:16:\"vector-view-edit\";i:159;s:19:\"vector-view-history\";i:160;s:16:\"vector-view-view\";i:161;s:22:\"vector-view-viewsource\";i:162;s:7:\"actions\";i:163;s:10:\"namespaces\";i:164;s:8:\"variants\";i:165;s:14:\"errorpagetitle\";i:166;s:8:\"returnto\";i:167;s:7:\"tagline\";i:168;s:4:\"help\";i:169;s:6:\"search\";i:170;s:12:\"searchbutton\";i:171;s:2:\"go\";i:172;s:13:\"searcharticle\";i:173;s:7:\"history\";i:174;s:13:\"history_short\";i:175;s:13:\"updatedmarker\";i:176;s:16:\"printableversion\";i:177;s:9:\"permalink\";i:178;s:5:\"print\";i:179;s:4:\"view\";i:180;s:4:\"edit\";i:181;s:6:\"create\";i:182;s:12:\"editthispage\";i:183;s:16:\"create-this-page\";i:184;s:6:\"delete\";i:185;s:14:\"deletethispage\";i:186;s:14:\"undelete_short\";i:187;s:17:\"viewdeleted_short\";i:188;s:7:\"protect\";i:189;s:14:\"protect_change\";i:190;s:15:\"protectthispage\";i:191;s:9:\"unprotect\";i:192;s:17:\"unprotectthispage\";i:193;s:7:\"newpage\";i:194;s:8:\"talkpage\";i:195;s:16:\"talkpagelinktext\";i:196;s:11:\"specialpage\";i:197;s:13:\"personaltools\";i:198;s:11:\"postcomment\";i:199;s:11:\"articlepage\";i:200;s:4:\"talk\";i:201;s:5:\"views\";i:202;s:7:\"toolbox\";i:203;s:8:\"userpage\";i:204;s:11:\"projectpage\";i:205;s:9:\"imagepage\";i:206;s:13:\"mediawikipage\";i:207;s:12:\"templatepage\";i:208;s:12:\"viewhelppage\";i:209;s:12:\"categorypage\";i:210;s:12:\"viewtalkpage\";i:211;s:14:\"otherlanguages\";i:212;s:14:\"redirectedfrom\";i:213;s:15:\"redirectpagesub\";i:214;s:14:\"lastmodifiedat\";i:215;s:9:\"viewcount\";i:216;s:13:\"protectedpage\";i:217;s:6:\"jumpto\";i:218;s:16:\"jumptonavigation\";i:219;s:12:\"jumptosearch\";i:220;s:15:\"view-pool-error\";i:221;s:12:\"pool-timeout\";i:222;s:14:\"pool-queuefull\";i:223;s:17:\"pool-errorunknown\";i:224;s:9:\"aboutsite\";i:225;s:9:\"aboutpage\";i:226;s:9:\"copyright\";i:227;s:13:\"copyrightpage\";i:228;s:13:\"currentevents\";i:229;s:17:\"currentevents-url\";i:230;s:11:\"disclaimers\";i:231;s:14:\"disclaimerpage\";i:232;s:8:\"edithelp\";i:233;s:12:\"edithelppage\";i:234;s:8:\"helppage\";i:235;s:8:\"mainpage\";i:236;s:20:\"mainpage-description\";i:237;s:10:\"policy-url\";i:238;s:6:\"portal\";i:239;s:10:\"portal-url\";i:240;s:7:\"privacy\";i:241;s:11:\"privacypage\";i:242;s:9:\"badaccess\";i:243;s:16:\"badaccess-group0\";i:244;s:16:\"badaccess-groups\";i:245;s:15:\"versionrequired\";i:246;s:19:\"versionrequiredtext\";i:247;s:2:\"ok\";i:248;s:13:\"retrievedfrom\";i:249;s:18:\"youhavenewmessages\";i:250;s:15:\"newmessageslink\";i:251;s:19:\"newmessagesdifflink\";i:252;s:23:\"youhavenewmessagesmulti\";i:253;s:11:\"editsection\";i:254;s:7:\"editold\";i:255;s:13:\"viewsourceold\";i:256;s:8:\"editlink\";i:257;s:14:\"viewsourcelink\";i:258;s:15:\"editsectionhint\";i:259;s:3:\"toc\";i:260;s:7:\"showtoc\";i:261;s:7:\"hidetoc\";i:262;s:20:\"collapsible-collapse\";i:263;s:18:\"collapsible-expand\";i:264;s:13:\"thisisdeleted\";i:265;s:11:\"viewdeleted\";i:266;s:11:\"restorelink\";i:267;s:9:\"feedlinks\";i:268;s:12:\"feed-invalid\";i:269;s:16:\"feed-unavailable\";i:270;s:13:\"site-rss-feed\";i:271;s:14:\"site-atom-feed\";i:272;s:13:\"page-rss-feed\";i:273;s:14:\"page-atom-feed\";i:274;s:14:\"red-link-title\";i:275;s:15:\"sort-descending\";i:276;s:14:\"sort-ascending\";i:277;s:10:\"nstab-main\";i:278;s:10:\"nstab-user\";i:279;s:11:\"nstab-media\";i:280;s:13:\"nstab-special\";i:281;s:13:\"nstab-project\";i:282;s:11:\"nstab-image\";i:283;s:15:\"nstab-mediawiki\";i:284;s:14:\"nstab-template\";i:285;s:10:\"nstab-help\";i:286;s:14:\"nstab-category\";i:287;s:12:\"nosuchaction\";i:288;s:16:\"nosuchactiontext\";i:289;s:17:\"nosuchspecialpage\";i:290;s:17:\"nospecialpagetext\";i:291;s:5:\"error\";i:292;s:13:\"databaseerror\";i:293;s:11:\"dberrortext\";i:294;s:13:\"dberrortextcl\";i:295;s:15:\"laggedslavemode\";i:296;s:8:\"readonly\";i:297;s:15:\"enterlockreason\";i:298;s:12:\"readonlytext\";i:299;s:15:\"missing-article\";i:300;s:18:\"missingarticle-rev\";i:301;s:19:\"missingarticle-diff\";i:302;s:12:\"readonly_lag\";i:303;s:13:\"internalerror\";i:304;s:18:\"internalerror_info\";i:305;s:19:\"fileappenderrorread\";i:306;s:15:\"fileappenderror\";i:307;s:13:\"filecopyerror\";i:308;s:15:\"filerenameerror\";i:309;s:15:\"filedeleteerror\";i:310;s:20:\"directorycreateerror\";i:311;s:12:\"filenotfound\";i:312;s:15:\"fileexistserror\";i:313;s:10:\"unexpected\";i:314;s:9:\"formerror\";i:315;s:15:\"badarticleerror\";i:316;s:12:\"cannotdelete\";i:317;s:8:\"badtitle\";i:318;s:12:\"badtitletext\";i:319;s:10:\"perfcached\";i:320;s:12:\"perfcachedts\";i:321;s:20:\"querypage-no-updates\";i:322;s:20:\"wrong_wfQuery_params\";i:323;s:10:\"viewsource\";i:324;s:13:\"viewsourcefor\";i:325;s:15:\"actionthrottled\";i:326;s:19:\"actionthrottledtext\";i:327;s:17:\"protectedpagetext\";i:328;s:14:\"viewsourcetext\";i:329;s:18:\"protectedinterface\";i:330;s:16:\"editinginterface\";i:331;s:9:\"sqlhidden\";i:332;s:16:\"cascadeprotected\";i:333;s:18:\"namespaceprotected\";i:334;s:18:\"customcssprotected\";i:335;s:17:\"customjsprotected\";i:336;s:19:\"ns-specialprotected\";i:337;s:14:\"titleprotected\";i:338;s:16:\"virus-badscanner\";i:339;s:16:\"virus-scanfailed\";i:340;s:20:\"virus-unknownscanner\";i:341;s:10:\"logouttext\";i:342;s:15:\"welcomecreation\";i:343;s:8:\"yourname\";i:344;s:12:\"yourpassword\";i:345;s:17:\"yourpasswordagain\";i:346;s:18:\"remembermypassword\";i:347;s:23:\"securelogin-stick-https\";i:348;s:14:\"yourdomainname\";i:349;s:15:\"externaldberror\";i:350;s:5:\"login\";i:351;s:23:\"nav-login-createaccount\";i:352;s:11:\"loginprompt\";i:353;s:9:\"userlogin\";i:354;s:17:\"userloginnocreate\";i:355;s:6:\"logout\";i:356;s:10:\"userlogout\";i:357;s:11:\"notloggedin\";i:358;s:7:\"nologin\";i:359;s:11:\"nologinlink\";i:360;s:13:\"createaccount\";i:361;s:10:\"gotaccount\";i:362;s:14:\"gotaccountlink\";i:363;s:19:\"userlogin-resetlink\";i:364;s:17:\"createaccountmail\";i:365;s:19:\"createaccountreason\";i:366;s:9:\"badretype\";i:367;s:10:\"userexists\";i:368;s:10:\"loginerror\";i:369;s:18:\"createaccounterror\";i:370;s:12:\"nocookiesnew\";i:371;s:14:\"nocookieslogin\";i:372;s:15:\"nocookiesfornew\";i:373;s:6:\"noname\";i:374;s:17:\"loginsuccesstitle\";i:375;s:12:\"loginsuccess\";i:376;s:10:\"nosuchuser\";i:377;s:15:\"nosuchusershort\";i:378;s:15:\"nouserspecified\";i:379;s:17:\"login-userblocked\";i:380;s:13:\"wrongpassword\";i:381;s:18:\"wrongpasswordempty\";i:382;s:16:\"passwordtooshort\";i:383;s:19:\"password-name-match\";i:384;s:24:\"password-login-forbidden\";i:385;s:14:\"mailmypassword\";i:386;s:21:\"passwordremindertitle\";i:387;s:20:\"passwordremindertext\";i:388;s:7:\"noemail\";i:389;s:13:\"noemailcreate\";i:390;s:12:\"passwordsent\";i:391;s:20:\"blocked-mailpassword\";i:392;s:12:\"eauthentsent\";i:393;s:22:\"throttled-mailpassword\";i:394;s:9:\"mailerror\";i:395;s:26:\"acct_creation_throttle_hit\";i:396;s:18:\"emailauthenticated\";i:397;s:21:\"emailnotauthenticated\";i:398;s:12:\"noemailprefs\";i:399;s:16:\"emailconfirmlink\";i:400;s:19:\"invalidemailaddress\";i:401;s:14:\"accountcreated\";i:402;s:18:\"accountcreatedtext\";i:403;s:19:\"createaccount-title\";i:404;s:18:\"createaccount-text\";i:405;s:17:\"usernamehasherror\";i:406;s:15:\"login-throttled\";i:407;s:19:\"login-abort-generic\";i:408;s:18:\"loginlanguagelabel\";i:409;s:21:\"suspicious-userlogout\";i:410;s:22:\"php-mail-error-unknown\";i:411;s:9:\"resetpass\";i:412;s:18:\"resetpass_announce\";i:413;s:14:\"resetpass_text\";i:414;s:16:\"resetpass_header\";i:415;s:11:\"oldpassword\";i:416;s:11:\"newpassword\";i:417;s:9:\"retypenew\";i:418;s:16:\"resetpass_submit\";i:419;s:17:\"resetpass_success\";i:420;s:19:\"resetpass_forbidden\";i:421;s:17:\"resetpass-no-info\";i:422;s:25:\"resetpass-submit-loggedin\";i:423;s:23:\"resetpass-submit-cancel\";i:424;s:23:\"resetpass-wrong-oldpass\";i:425;s:23:\"resetpass-temp-password\";i:426;s:13:\"passwordreset\";i:427;s:18:\"passwordreset-text\";i:428;s:20:\"passwordreset-legend\";i:429;s:22:\"passwordreset-disabled\";i:430;s:21:\"passwordreset-pretext\";i:431;s:22:\"passwordreset-username\";i:432;s:20:\"passwordreset-domain\";i:433;s:19:\"passwordreset-email\";i:434;s:24:\"passwordreset-emailtitle\";i:435;s:26:\"passwordreset-emailtext-ip\";i:436;s:28:\"passwordreset-emailtext-user\";i:437;s:26:\"passwordreset-emailelement\";i:438;s:23:\"passwordreset-emailsent\";i:439;s:11:\"bold_sample\";i:440;s:8:\"bold_tip\";i:441;s:13:\"italic_sample\";i:442;s:10:\"italic_tip\";i:443;s:11:\"link_sample\";i:444;s:8:\"link_tip\";i:445;s:14:\"extlink_sample\";i:446;s:11:\"extlink_tip\";i:447;s:15:\"headline_sample\";i:448;s:12:\"headline_tip\";i:449;s:13:\"nowiki_sample\";i:450;s:10:\"nowiki_tip\";i:451;s:12:\"image_sample\";i:452;s:9:\"image_tip\";i:453;s:12:\"media_sample\";i:454;s:9:\"media_tip\";i:455;s:7:\"sig_tip\";i:456;s:6:\"hr_tip\";i:457;s:7:\"summary\";i:458;s:7:\"subject\";i:459;s:9:\"minoredit\";i:460;s:9:\"watchthis\";i:461;s:11:\"savearticle\";i:462;s:7:\"preview\";i:463;s:11:\"showpreview\";i:464;s:15:\"showlivepreview\";i:465;s:8:\"showdiff\";i:466;s:15:\"anoneditwarning\";i:467;s:18:\"anonpreviewwarning\";i:468;s:14:\"missingsummary\";i:469;s:18:\"missingcommenttext\";i:470;s:20:\"missingcommentheader\";i:471;s:15:\"summary-preview\";i:472;s:15:\"subject-preview\";i:473;s:12:\"blockedtitle\";i:474;s:11:\"blockedtext\";i:475;s:15:\"autoblockedtext\";i:476;s:15:\"blockednoreason\";i:477;s:21:\"blockedoriginalsource\";i:478;s:17:\"blockededitsource\";i:479;s:18:\"whitelistedittitle\";i:480;s:17:\"whitelistedittext\";i:481;s:15:\"confirmedittext\";i:482;s:18:\"nosuchsectiontitle\";i:483;s:17:\"nosuchsectiontext\";i:484;s:13:\"loginreqtitle\";i:485;s:12:\"loginreqlink\";i:486;s:16:\"loginreqpagetext\";i:487;s:12:\"accmailtitle\";i:488;s:11:\"accmailtext\";i:489;s:10:\"newarticle\";i:490;s:14:\"newarticletext\";i:491;s:16:\"anontalkpagetext\";i:492;s:13:\"noarticletext\";i:493;s:26:\"noarticletext-nopermission\";i:494;s:25:\"userpage-userdoesnotexist\";i:495;s:30:\"userpage-userdoesnotexist-view\";i:496;s:25:\"blocked-notice-logextract\";i:497;s:14:\"clearyourcache\";i:498;s:20:\"usercssyoucanpreview\";i:499;s:19:\"userjsyoucanpreview\";i:500;s:14:\"usercsspreview\";i:501;s:13:\"userjspreview\";i:502;s:14:\"sitecsspreview\";i:503;s:13:\"sitejspreview\";i:504;s:21:\"userinvalidcssjstitle\";i:505;s:7:\"updated\";i:506;s:4:\"note\";i:507;s:11:\"previewnote\";i:508;s:15:\"previewconflict\";i:509;s:20:\"session_fail_preview\";i:510;s:25:\"session_fail_preview_html\";i:511;s:21:\"token_suffix_mismatch\";i:512;s:20:\"edit_form_incomplete\";i:513;s:7:\"editing\";i:514;s:14:\"editingsection\";i:515;s:14:\"editingcomment\";i:516;s:12:\"editconflict\";i:517;s:15:\"explainconflict\";i:518;s:8:\"yourtext\";i:519;s:13:\"storedversion\";i:520;s:17:\"nonunicodebrowser\";i:521;s:10:\"editingold\";i:522;s:8:\"yourdiff\";i:523;s:16:\"copyrightwarning\";i:524;s:17:\"copyrightwarning2\";i:525;s:13:\"longpageerror\";i:526;s:15:\"readonlywarning\";i:527;s:20:\"protectedpagewarning\";i:528;s:24:\"semiprotectedpagewarning\";i:529;s:23:\"cascadeprotectedwarning\";i:530;s:21:\"titleprotectedwarning\";i:531;s:13:\"templatesused\";i:532;s:20:\"templatesusedpreview\";i:533;s:20:\"templatesusedsection\";i:534;s:18:\"template-protected\";i:535;s:22:\"template-semiprotected\";i:536;s:16:\"hiddencategories\";i:537;s:9:\"edittools\";i:538;s:13:\"nocreatetitle\";i:539;s:12:\"nocreatetext\";i:540;s:17:\"nocreate-loggedin\";i:541;s:29:\"sectioneditnotsupported-title\";i:542;s:28:\"sectioneditnotsupported-text\";i:543;s:17:\"permissionserrors\";i:544;s:21:\"permissionserrorstext\";i:545;s:32:\"permissionserrorstext-withaction\";i:546;s:26:\"recreate-moveddeleted-warn\";i:547;s:19:\"moveddeleted-notice\";i:548;s:11:\"log-fulllog\";i:549;s:17:\"edit-hook-aborted\";i:550;s:17:\"edit-gone-missing\";i:551;s:13:\"edit-conflict\";i:552;s:14:\"edit-no-change\";i:553;s:19:\"edit-already-exists\";i:554;s:32:\"expensive-parserfunction-warning\";i:555;s:33:\"expensive-parserfunction-category\";i:556;s:38:\"post-expand-template-inclusion-warning\";i:557;s:39:\"post-expand-template-inclusion-category\";i:558;s:37:\"post-expand-template-argument-warning\";i:559;s:38:\"post-expand-template-argument-category\";i:560;s:28:\"parser-template-loop-warning\";i:561;s:39:\"parser-template-recursion-depth-warning\";i:562;s:32:\"language-converter-depth-warning\";i:563;s:12:\"undo-success\";i:564;s:12:\"undo-failure\";i:565;s:10:\"undo-norev\";i:566;s:12:\"undo-summary\";i:567;s:22:\"cantcreateaccounttitle\";i:568;s:22:\"cantcreateaccount-text\";i:569;s:12:\"viewpagelogs\";i:570;s:9:\"nohistory\";i:571;s:10:\"currentrev\";i:572;s:15:\"currentrev-asof\";i:573;s:12:\"revisionasof\";i:574;s:13:\"revision-info\";i:575;s:16:\"previousrevision\";i:576;s:12:\"nextrevision\";i:577;s:19:\"currentrevisionlink\";i:578;s:3:\"cur\";i:579;s:4:\"next\";i:580;s:4:\"last\";i:581;s:10:\"page_first\";i:582;s:9:\"page_last\";i:583;s:10:\"histlegend\";i:584;s:22:\"history-fieldset-title\";i:585;s:20:\"history-show-deleted\";i:586;s:9:\"histfirst\";i:587;s:8:\"histlast\";i:588;s:11:\"historysize\";i:589;s:12:\"historyempty\";i:590;s:18:\"history-feed-title\";i:591;s:24:\"history-feed-description\";i:592;s:27:\"history-feed-item-nocomment\";i:593;s:18:\"history-feed-empty\";i:594;s:19:\"rev-deleted-comment\";i:595;s:16:\"rev-deleted-user\";i:596;s:17:\"rev-deleted-event\";i:597;s:25:\"rev-deleted-user-contribs\";i:598;s:27:\"rev-deleted-text-permission\";i:599;s:23:\"rev-deleted-text-unhide\";i:600;s:26:\"rev-suppressed-text-unhide\";i:601;s:21:\"rev-deleted-text-view\";i:602;s:24:\"rev-suppressed-text-view\";i:603;s:19:\"rev-deleted-no-diff\";i:604;s:22:\"rev-suppressed-no-diff\";i:605;s:23:\"rev-deleted-unhide-diff\";i:606;s:26:\"rev-suppressed-unhide-diff\";i:607;s:21:\"rev-deleted-diff-view\";i:608;s:24:\"rev-suppressed-diff-view\";i:609;s:12:\"rev-delundel\";i:610;s:15:\"rev-showdeleted\";i:611;s:14:\"revisiondelete\";i:612;s:23:\"revdelete-nooldid-title\";i:613;s:22:\"revdelete-nooldid-text\";i:614;s:25:\"revdelete-nologtype-title\";i:615;s:24:\"revdelete-nologtype-text\";i:616;s:23:\"revdelete-nologid-title\";i:617;s:22:\"revdelete-nologid-text\";i:618;s:17:\"revdelete-no-file\";i:619;s:27:\"revdelete-show-file-confirm\";i:620;s:26:\"revdelete-show-file-submit\";i:621;s:18:\"revdelete-selected\";i:622;s:18:\"logdelete-selected\";i:623;s:14:\"revdelete-text\";i:624;s:17:\"revdelete-confirm\";i:625;s:23:\"revdelete-suppress-text\";i:626;s:16:\"revdelete-legend\";i:627;s:19:\"revdelete-hide-text\";i:628;s:20:\"revdelete-hide-image\";i:629;s:19:\"revdelete-hide-name\";i:630;s:22:\"revdelete-hide-comment\";i:631;s:19:\"revdelete-hide-user\";i:632;s:25:\"revdelete-hide-restricted\";i:633;s:20:\"revdelete-radio-same\";i:634;s:19:\"revdelete-radio-set\";i:635;s:21:\"revdelete-radio-unset\";i:636;s:18:\"revdelete-suppress\";i:637;s:20:\"revdelete-unsuppress\";i:638;s:13:\"revdelete-log\";i:639;s:16:\"revdelete-submit\";i:640;s:18:\"revdelete-logentry\";i:641;s:18:\"logdelete-logentry\";i:642;s:17:\"revdelete-success\";i:643;s:17:\"revdelete-failure\";i:644;s:17:\"logdelete-success\";i:645;s:17:\"logdelete-failure\";i:646;s:14:\"revdel-restore\";i:647;s:22:\"revdel-restore-deleted\";i:648;s:22:\"revdel-restore-visible\";i:649;s:8:\"pagehist\";i:650;s:11:\"deletedhist\";i:651;s:17:\"revdelete-content\";i:652;s:17:\"revdelete-summary\";i:653;s:15:\"revdelete-uname\";i:654;s:20:\"revdelete-restricted\";i:655;s:22:\"revdelete-unrestricted\";i:656;s:13:\"revdelete-hid\";i:657;s:15:\"revdelete-unhid\";i:658;s:21:\"revdelete-log-message\";i:659;s:21:\"logdelete-log-message\";i:660;s:22:\"revdelete-hide-current\";i:661;s:24:\"revdelete-show-no-access\";i:662;s:26:\"revdelete-modify-no-access\";i:663;s:24:\"revdelete-modify-missing\";i:664;s:19:\"revdelete-no-change\";i:665;s:27:\"revdelete-concurrent-change\";i:666;s:25:\"revdelete-only-restricted\";i:667;s:25:\"revdelete-reason-dropdown\";i:668;s:21:\"revdelete-otherreason\";i:669;s:25:\"revdelete-reasonotherlist\";i:670;s:25:\"revdelete-edit-reasonlist\";i:671;s:18:\"revdelete-offender\";i:672;s:14:\"suppressionlog\";i:673;s:18:\"suppressionlogtext\";i:674;s:12:\"mergehistory\";i:675;s:19:\"mergehistory-header\";i:676;s:16:\"mergehistory-box\";i:677;s:17:\"mergehistory-from\";i:678;s:17:\"mergehistory-into\";i:679;s:17:\"mergehistory-list\";i:680;s:18:\"mergehistory-merge\";i:681;s:15:\"mergehistory-go\";i:682;s:19:\"mergehistory-submit\";i:683;s:18:\"mergehistory-empty\";i:684;s:20:\"mergehistory-success\";i:685;s:17:\"mergehistory-fail\";i:686;s:22:\"mergehistory-no-source\";i:687;s:27:\"mergehistory-no-destination\";i:688;s:27:\"mergehistory-invalid-source\";i:689;s:32:\"mergehistory-invalid-destination\";i:690;s:24:\"mergehistory-autocomment\";i:691;s:20:\"mergehistory-comment\";i:692;s:29:\"mergehistory-same-destination\";i:693;s:19:\"mergehistory-reason\";i:694;s:8:\"mergelog\";i:695;s:18:\"pagemerge-logentry\";i:696;s:11:\"revertmerge\";i:697;s:16:\"mergelogpagetext\";i:698;s:13:\"history-title\";i:699;s:10:\"difference\";i:700;s:20:\"difference-multipage\";i:701;s:6:\"lineno\";i:702;s:23:\"compareselectedversions\";i:703;s:24:\"showhideselectedversions\";i:704;s:8:\"editundo\";i:705;s:10:\"diff-multi\";i:706;s:20:\"diff-multi-manyusers\";i:707;s:13:\"searchresults\";i:708;s:19:\"searchresults-title\";i:709;s:16:\"searchresulttext\";i:710;s:14:\"searchsubtitle\";i:711;s:21:\"searchsubtitleinvalid\";i:712;s:14:\"toomanymatches\";i:713;s:12:\"titlematches\";i:714;s:14:\"notitlematches\";i:715;s:11:\"textmatches\";i:716;s:13:\"notextmatches\";i:717;s:5:\"prevn\";i:718;s:5:\"nextn\";i:719;s:11:\"prevn-title\";i:720;s:11:\"nextn-title\";i:721;s:11:\"shown-title\";i:722;s:12:\"viewprevnext\";i:723;s:17:\"searchmenu-legend\";i:724;s:17:\"searchmenu-exists\";i:725;s:14:\"searchmenu-new\";i:726;s:14:\"searchhelp-url\";i:727;s:17:\"searchmenu-prefix\";i:728;s:22:\"searchprofile-articles\";i:729;s:21:\"searchprofile-project\";i:730;s:20:\"searchprofile-images\";i:731;s:24:\"searchprofile-everything\";i:732;s:22:\"searchprofile-advanced\";i:733;s:30:\"searchprofile-articles-tooltip\";i:734;s:29:\"searchprofile-project-tooltip\";i:735;s:28:\"searchprofile-images-tooltip\";i:736;s:32:\"searchprofile-everything-tooltip\";i:737;s:30:\"searchprofile-advanced-tooltip\";i:738;s:18:\"search-result-size\";i:739;s:27:\"search-result-category-size\";i:740;s:19:\"search-result-score\";i:741;s:15:\"search-redirect\";i:742;s:14:\"search-section\";i:743;s:14:\"search-suggest\";i:744;s:24:\"search-interwiki-caption\";i:745;s:24:\"search-interwiki-default\";i:746;s:21:\"search-interwiki-more\";i:747;s:24:\"search-mwsuggest-enabled\";i:748;s:25:\"search-mwsuggest-disabled\";i:749;s:21:\"search-relatedarticle\";i:750;s:17:\"mwsuggest-disable\";i:751;s:23:\"searcheverything-enable\";i:752;s:13:\"searchrelated\";i:753;s:9:\"searchall\";i:754;s:14:\"showingresults\";i:755;s:17:\"showingresultsnum\";i:756;s:20:\"showingresultsheader\";i:757;s:9:\"nonefound\";i:758;s:16:\"search-nonefound\";i:759;s:11:\"powersearch\";i:760;s:18:\"powersearch-legend\";i:761;s:14:\"powersearch-ns\";i:762;s:17:\"powersearch-redir\";i:763;s:17:\"powersearch-field\";i:764;s:23:\"powersearch-togglelabel\";i:765;s:21:\"powersearch-toggleall\";i:766;s:22:\"powersearch-togglenone\";i:767;s:15:\"search-external\";i:768;s:14:\"searchdisabled\";i:769;s:10:\"qbsettings\";i:770;s:15:\"qbsettings-none\";i:771;s:20:\"qbsettings-fixedleft\";i:772;s:21:\"qbsettings-fixedright\";i:773;s:23:\"qbsettings-floatingleft\";i:774;s:24:\"qbsettings-floatingright\";i:775;s:25:\"qbsettings-directionality\";i:776;s:11:\"preferences\";i:777;s:13:\"mypreferences\";i:778;s:11:\"prefs-edits\";i:779;s:12:\"prefsnologin\";i:780;s:16:\"prefsnologintext\";i:781;s:14:\"changepassword\";i:782;s:10:\"prefs-skin\";i:783;s:12:\"skin-preview\";i:784;s:11:\"datedefault\";i:785;s:10:\"prefs-beta\";i:786;s:14:\"prefs-datetime\";i:787;s:10:\"prefs-labs\";i:788;s:14:\"prefs-personal\";i:789;s:8:\"prefs-rc\";i:790;s:15:\"prefs-watchlist\";i:791;s:20:\"prefs-watchlist-days\";i:792;s:24:\"prefs-watchlist-days-max\";i:793;s:21:\"prefs-watchlist-edits\";i:794;s:25:\"prefs-watchlist-edits-max\";i:795;s:21:\"prefs-watchlist-token\";i:796;s:10:\"prefs-misc\";i:797;s:15:\"prefs-resetpass\";i:798;s:11:\"prefs-email\";i:799;s:15:\"prefs-rendering\";i:800;s:9:\"saveprefs\";i:801;s:10:\"resetprefs\";i:802;s:12:\"restoreprefs\";i:803;s:13:\"prefs-editing\";i:804;s:18:\"prefs-edit-boxsize\";i:805;s:4:\"rows\";i:806;s:7:\"columns\";i:807;s:17:\"searchresultshead\";i:808;s:14:\"resultsperpage\";i:809;s:14:\"stub-threshold\";i:810;s:23:\"stub-threshold-disabled\";i:811;s:17:\"recentchangesdays\";i:812;s:21:\"recentchangesdays-max\";i:813;s:18:\"recentchangescount\";i:814;s:29:\"prefs-help-recentchangescount\";i:815;s:26:\"prefs-help-watchlist-token\";i:816;s:10:\"savedprefs\";i:817;s:14:\"timezonelegend\";i:818;s:9:\"localtime\";i:819;s:24:\"timezoneuseserverdefault\";i:820;s:17:\"timezoneuseoffset\";i:821;s:14:\"timezoneoffset\";i:822;s:10:\"servertime\";i:823;s:13:\"guesstimezone\";i:824;s:21:\"timezoneregion-africa\";i:825;s:22:\"timezoneregion-america\";i:826;s:25:\"timezoneregion-antarctica\";i:827;s:21:\"timezoneregion-arctic\";i:828;s:19:\"timezoneregion-asia\";i:829;s:23:\"timezoneregion-atlantic\";i:830;s:24:\"timezoneregion-australia\";i:831;s:21:\"timezoneregion-europe\";i:832;s:21:\"timezoneregion-indian\";i:833;s:22:\"timezoneregion-pacific\";i:834;s:10:\"allowemail\";i:835;s:19:\"prefs-searchoptions\";i:836;s:16:\"prefs-namespaces\";i:837;s:9:\"defaultns\";i:838;s:7:\"default\";i:839;s:11:\"prefs-files\";i:840;s:16:\"prefs-custom-css\";i:841;s:15:\"prefs-custom-js\";i:842;s:19:\"prefs-common-css-js\";i:843;s:17:\"prefs-reset-intro\";i:844;s:24:\"prefs-emailconfirm-label\";i:845;s:17:\"prefs-textboxsize\";i:846;s:9:\"youremail\";i:847;s:8:\"username\";i:848;s:3:\"uid\";i:849;s:20:\"prefs-memberingroups\";i:850;s:18:\"prefs-registration\";i:851;s:12:\"yourrealname\";i:852;s:12:\"yourlanguage\";i:853;s:11:\"yourvariant\";i:854;s:8:\"yournick\";i:855;s:20:\"prefs-help-signature\";i:856;s:6:\"badsig\";i:857;s:12:\"badsiglength\";i:858;s:10:\"yourgender\";i:859;s:14:\"gender-unknown\";i:860;s:11:\"gender-male\";i:861;s:13:\"gender-female\";i:862;s:17:\"prefs-help-gender\";i:863;s:5:\"email\";i:864;s:19:\"prefs-help-realname\";i:865;s:16:\"prefs-help-email\";i:866;s:23:\"prefs-help-email-others\";i:867;s:25:\"prefs-help-email-required\";i:868;s:10:\"prefs-info\";i:869;s:10:\"prefs-i18n\";i:870;s:15:\"prefs-signature\";i:871;s:16:\"prefs-dateformat\";i:872;s:16:\"prefs-timeoffset\";i:873;s:21:\"prefs-advancedediting\";i:874;s:16:\"prefs-advancedrc\";i:875;s:23:\"prefs-advancedrendering\";i:876;s:27:\"prefs-advancedsearchoptions\";i:877;s:23:\"prefs-advancedwatchlist\";i:878;s:15:\"prefs-displayrc\";i:879;s:26:\"prefs-displaysearchoptions\";i:880;s:22:\"prefs-displaywatchlist\";i:881;s:11:\"prefs-diffs\";i:882;s:28:\"email-address-validity-valid\";i:883;s:30:\"email-address-validity-invalid\";i:884;s:10:\"userrights\";i:885;s:22:\"userrights-lookup-user\";i:886;s:24:\"userrights-user-editname\";i:887;s:13:\"editusergroup\";i:888;s:11:\"editinguser\";i:889;s:24:\"userrights-editusergroup\";i:890;s:14:\"saveusergroups\";i:891;s:23:\"userrights-groupsmember\";i:892;s:28:\"userrights-groupsmember-auto\";i:893;s:22:\"userrights-groups-help\";i:894;s:17:\"userrights-reason\";i:895;s:23:\"userrights-no-interwiki\";i:896;s:21:\"userrights-nodatabase\";i:897;s:18:\"userrights-nologin\";i:898;s:21:\"userrights-notallowed\";i:899;s:25:\"userrights-changeable-col\";i:900;s:27:\"userrights-unchangeable-col\";i:901;s:5:\"group\";i:902;s:10:\"group-user\";i:903;s:19:\"group-autoconfirmed\";i:904;s:9:\"group-bot\";i:905;s:11:\"group-sysop\";i:906;s:16:\"group-bureaucrat\";i:907;s:14:\"group-suppress\";i:908;s:9:\"group-all\";i:909;s:17:\"group-user-member\";i:910;s:26:\"group-autoconfirmed-member\";i:911;s:16:\"group-bot-member\";i:912;s:18:\"group-sysop-member\";i:913;s:23:\"group-bureaucrat-member\";i:914;s:21:\"group-suppress-member\";i:915;s:14:\"grouppage-user\";i:916;s:23:\"grouppage-autoconfirmed\";i:917;s:13:\"grouppage-bot\";i:918;s:15:\"grouppage-sysop\";i:919;s:20:\"grouppage-bureaucrat\";i:920;s:18:\"grouppage-suppress\";i:921;s:10:\"right-read\";i:922;s:10:\"right-edit\";i:923;s:16:\"right-createpage\";i:924;s:16:\"right-createtalk\";i:925;s:19:\"right-createaccount\";i:926;s:15:\"right-minoredit\";i:927;s:10:\"right-move\";i:928;s:19:\"right-move-subpages\";i:929;s:24:\"right-move-rootuserpages\";i:930;s:14:\"right-movefile\";i:931;s:22:\"right-suppressredirect\";i:932;s:12:\"right-upload\";i:933;s:14:\"right-reupload\";i:934;s:18:\"right-reupload-own\";i:935;s:21:\"right-reupload-shared\";i:936;s:19:\"right-upload_by_url\";i:937;s:11:\"right-purge\";i:938;s:19:\"right-autoconfirmed\";i:939;s:9:\"right-bot\";i:940;s:20:\"right-nominornewtalk\";i:941;s:19:\"right-apihighlimits\";i:942;s:14:\"right-writeapi\";i:943;s:12:\"right-delete\";i:944;s:15:\"right-bigdelete\";i:945;s:20:\"right-deleterevision\";i:946;s:20:\"right-deletedhistory\";i:947;s:17:\"right-deletedtext\";i:948;s:19:\"right-browsearchive\";i:949;s:14:\"right-undelete\";i:950;s:22:\"right-suppressrevision\";i:951;s:20:\"right-suppressionlog\";i:952;s:11:\"right-block\";i:953;s:16:\"right-blockemail\";i:954;s:14:\"right-hideuser\";i:955;s:20:\"right-ipblock-exempt\";i:956;s:21:\"right-proxyunbannable\";i:957;s:17:\"right-unblockself\";i:958;s:13:\"right-protect\";i:959;s:19:\"right-editprotected\";i:960;s:19:\"right-editinterface\";i:961;s:19:\"right-editusercssjs\";i:962;s:17:\"right-editusercss\";i:963;s:16:\"right-edituserjs\";i:964;s:14:\"right-rollback\";i:965;s:18:\"right-markbotedits\";i:966;s:17:\"right-noratelimit\";i:967;s:12:\"right-import\";i:968;s:18:\"right-importupload\";i:969;s:12:\"right-patrol\";i:970;s:16:\"right-autopatrol\";i:971;s:17:\"right-patrolmarks\";i:972;s:20:\"right-unwatchedpages\";i:973;s:15:\"right-trackback\";i:974;s:18:\"right-mergehistory\";i:975;s:16:\"right-userrights\";i:976;s:26:\"right-userrights-interwiki\";i:977;s:15:\"right-siteadmin\";i:978;s:27:\"right-override-export-depth\";i:979;s:15:\"right-sendemail\";i:980;s:9:\"rightslog\";i:981;s:13:\"rightslogtext\";i:982;s:14:\"rightslogentry\";i:983;s:26:\"rightslogentry-autopromote\";i:984;s:10:\"rightsnone\";i:985;s:11:\"action-read\";i:986;s:11:\"action-edit\";i:987;s:17:\"action-createpage\";i:988;s:17:\"action-createtalk\";i:989;s:20:\"action-createaccount\";i:990;s:16:\"action-minoredit\";i:991;s:11:\"action-move\";i:992;s:20:\"action-move-subpages\";i:993;s:25:\"action-move-rootuserpages\";i:994;s:15:\"action-movefile\";i:995;s:13:\"action-upload\";i:996;s:15:\"action-reupload\";i:997;s:22:\"action-reupload-shared\";i:998;s:20:\"action-upload_by_url\";i:999;s:15:\"action-writeapi\";i:1000;s:13:\"action-delete\";i:1001;s:21:\"action-deleterevision\";i:1002;s:21:\"action-deletedhistory\";i:1003;s:20:\"action-browsearchive\";i:1004;s:15:\"action-undelete\";i:1005;s:23:\"action-suppressrevision\";i:1006;s:21:\"action-suppressionlog\";i:1007;s:12:\"action-block\";i:1008;s:14:\"action-protect\";i:1009;s:13:\"action-import\";i:1010;s:19:\"action-importupload\";i:1011;s:13:\"action-patrol\";i:1012;s:17:\"action-autopatrol\";i:1013;s:21:\"action-unwatchedpages\";i:1014;s:16:\"action-trackback\";i:1015;s:19:\"action-mergehistory\";i:1016;s:17:\"action-userrights\";i:1017;s:27:\"action-userrights-interwiki\";i:1018;s:16:\"action-siteadmin\";i:1019;s:8:\"nchanges\";i:1020;s:13:\"recentchanges\";i:1021;s:20:\"recentchanges-legend\";i:1022;s:17:\"recentchangestext\";i:1023;s:30:\"recentchanges-feed-description\";i:1024;s:27:\"recentchanges-label-newpage\";i:1025;s:25:\"recentchanges-label-minor\";i:1026;s:23:\"recentchanges-label-bot\";i:1027;s:31:\"recentchanges-label-unpatrolled\";i:1028;s:6:\"rcnote\";i:1029;s:10:\"rcnotefrom\";i:1030;s:10:\"rclistfrom\";i:1031;s:15:\"rcshowhideminor\";i:1032;s:14:\"rcshowhidebots\";i:1033;s:13:\"rcshowhideliu\";i:1034;s:15:\"rcshowhideanons\";i:1035;s:14:\"rcshowhidepatr\";i:1036;s:14:\"rcshowhidemine\";i:1037;s:7:\"rclinks\";i:1038;s:4:\"diff\";i:1039;s:4:\"hist\";i:1040;s:4:\"hide\";i:1041;s:4:\"show\";i:1042;s:15:\"minoreditletter\";i:1043;s:13:\"newpageletter\";i:1044;s:13:\"boteditletter\";i:1045;s:33:\"number_of_watching_users_pageview\";i:1046;s:13:\"rc_categories\";i:1047;s:17:\"rc_categories_any\";i:1048;s:17:\"newsectionsummary\";i:1049;s:18:\"rc-enhanced-expand\";i:1050;s:16:\"rc-enhanced-hide\";i:1051;s:19:\"recentchangeslinked\";i:1052;s:24:\"recentchangeslinked-feed\";i:1053;s:27:\"recentchangeslinked-toolbox\";i:1054;s:25:\"recentchangeslinked-title\";i:1055;s:28:\"recentchangeslinked-noresult\";i:1056;s:27:\"recentchangeslinked-summary\";i:1057;s:24:\"recentchangeslinked-page\";i:1058;s:22:\"recentchangeslinked-to\";i:1059;s:6:\"upload\";i:1060;s:9:\"uploadbtn\";i:1061;s:12:\"reuploaddesc\";i:1062;s:15:\"upload-tryagain\";i:1063;s:13:\"uploadnologin\";i:1064;s:17:\"uploadnologintext\";i:1065;s:24:\"upload_directory_missing\";i:1066;s:26:\"upload_directory_read_only\";i:1067;s:11:\"uploaderror\";i:1068;s:23:\"upload-recreate-warning\";i:1069;s:10:\"uploadtext\";i:1070;s:16:\"upload-permitted\";i:1071;s:16:\"upload-preferred\";i:1072;s:17:\"upload-prohibited\";i:1073;s:9:\"uploadlog\";i:1074;s:13:\"uploadlogpage\";i:1075;s:17:\"uploadlogpagetext\";i:1076;s:8:\"filename\";i:1077;s:8:\"filedesc\";i:1078;s:17:\"fileuploadsummary\";i:1079;s:19:\"filereuploadsummary\";i:1080;s:10:\"filestatus\";i:1081;s:10:\"filesource\";i:1082;s:13:\"uploadedfiles\";i:1083;s:13:\"ignorewarning\";i:1084;s:14:\"ignorewarnings\";i:1085;s:10:\"minlength1\";i:1086;s:15:\"illegalfilename\";i:1087;s:11:\"badfilename\";i:1088;s:22:\"filetype-mime-mismatch\";i:1089;s:16:\"filetype-badmime\";i:1090;s:20:\"filetype-bad-ie-mime\";i:1091;s:22:\"filetype-unwanted-type\";i:1092;s:20:\"filetype-banned-type\";i:1093;s:16:\"filetype-missing\";i:1094;s:10:\"empty-file\";i:1095;s:14:\"file-too-large\";i:1096;s:17:\"filename-tooshort\";i:1097;s:15:\"filetype-banned\";i:1098;s:18:\"verification-error\";i:1099;s:11:\"hookaborted\";i:1100;s:16:\"illegal-filename\";i:1101;s:9:\"overwrite\";i:1102;s:13:\"unknown-error\";i:1103;s:16:\"tmp-create-error\";i:1104;s:15:\"tmp-write-error\";i:1105;s:10:\"large-file\";i:1106;s:15:\"largefileserver\";i:1107;s:9:\"emptyfile\";i:1108;s:25:\"windows-nonascii-filename\";i:1109;s:10:\"fileexists\";i:1110;s:14:\"filepageexists\";i:1111;s:20:\"fileexists-extension\";i:1112;s:24:\"fileexists-thumbnail-yes\";i:1113;s:17:\"file-thumbnail-no\";i:1114;s:20:\"fileexists-forbidden\";i:1115;s:27:\"fileexists-shared-forbidden\";i:1116;s:21:\"file-exists-duplicate\";i:1117;s:22:\"file-deleted-duplicate\";i:1118;s:13:\"uploadwarning\";i:1119;s:18:\"uploadwarning-text\";i:1120;s:8:\"savefile\";i:1121;s:13:\"uploadedimage\";i:1122;s:14:\"overwroteimage\";i:1123;s:14:\"uploaddisabled\";i:1124;s:18:\"copyuploaddisabled\";i:1125;s:20:\"uploadfromurl-queued\";i:1126;s:18:\"uploaddisabledtext\";i:1127;s:22:\"php-uploaddisabledtext\";i:1128;s:14:\"uploadscripted\";i:1129;s:11:\"uploadvirus\";i:1130;s:10:\"uploadjava\";i:1131;s:13:\"upload-source\";i:1132;s:14:\"sourcefilename\";i:1133;s:9:\"sourceurl\";i:1134;s:12:\"destfilename\";i:1135;s:18:\"upload-maxfilesize\";i:1136;s:18:\"upload-description\";i:1137;s:14:\"upload-options\";i:1138;s:15:\"watchthisupload\";i:1139;s:14:\"filewasdeleted\";i:1140;s:19:\"filename-bad-prefix\";i:1141;s:19:\"upload-success-subj\";i:1142;s:18:\"upload-success-msg\";i:1143;s:19:\"upload-failure-subj\";i:1144;s:18:\"upload-failure-msg\";i:1145;s:19:\"upload-warning-subj\";i:1146;s:18:\"upload-warning-msg\";i:1147;s:18:\"upload-proto-error\";i:1148;s:23:\"upload-proto-error-text\";i:1149;s:17:\"upload-file-error\";i:1150;s:22:\"upload-file-error-text\";i:1151;s:17:\"upload-misc-error\";i:1152;s:22:\"upload-misc-error-text\";i:1153;s:25:\"upload-too-many-redirects\";i:1154;s:19:\"upload-unknown-size\";i:1155;s:17:\"upload-http-error\";i:1156;s:19:\"zip-file-open-error\";i:1157;s:16:\"zip-wrong-format\";i:1158;s:7:\"zip-bad\";i:1159;s:15:\"zip-unsupported\";i:1160;s:11:\"uploadstash\";i:1161;s:19:\"uploadstash-summary\";i:1162;s:17:\"uploadstash-clear\";i:1163;s:19:\"uploadstash-nofiles\";i:1164;s:20:\"uploadstash-badtoken\";i:1165;s:20:\"uploadstash-errclear\";i:1166;s:19:\"uploadstash-refresh\";i:1167;s:21:\"img-auth-accessdenied\";i:1168;s:19:\"img-auth-nopathinfo\";i:1169;s:17:\"img-auth-notindir\";i:1170;s:17:\"img-auth-badtitle\";i:1171;s:19:\"img-auth-nologinnWL\";i:1172;s:15:\"img-auth-nofile\";i:1173;s:14:\"img-auth-isdir\";i:1174;s:18:\"img-auth-streaming\";i:1175;s:15:\"img-auth-public\";i:1176;s:15:\"img-auth-noread\";i:1177;s:25:\"img-auth-bad-query-string\";i:1178;s:16:\"http-invalid-url\";i:1179;s:19:\"http-invalid-scheme\";i:1180;s:18:\"http-request-error\";i:1181;s:15:\"http-read-error\";i:1182;s:14:\"http-timed-out\";i:1183;s:15:\"http-curl-error\";i:1184;s:21:\"http-host-unreachable\";i:1185;s:15:\"http-bad-status\";i:1186;s:18:\"upload-curl-error6\";i:1187;s:23:\"upload-curl-error6-text\";i:1188;s:19:\"upload-curl-error28\";i:1189;s:24:\"upload-curl-error28-text\";i:1190;s:7:\"license\";i:1191;s:14:\"license-header\";i:1192;s:9:\"nolicense\";i:1193;s:17:\"license-nopreview\";i:1194;s:17:\"upload_source_url\";i:1195;s:18:\"upload_source_file\";i:1196;s:17:\"listfiles-summary\";i:1197;s:20:\"listfiles_search_for\";i:1198;s:7:\"imgfile\";i:1199;s:9:\"listfiles\";i:1200;s:15:\"listfiles_thumb\";i:1201;s:14:\"listfiles_date\";i:1202;s:14:\"listfiles_name\";i:1203;s:14:\"listfiles_user\";i:1204;s:14:\"listfiles_size\";i:1205;s:21:\"listfiles_description\";i:1206;s:15:\"listfiles_count\";i:1207;s:16:\"file-anchor-link\";i:1208;s:8:\"filehist\";i:1209;s:13:\"filehist-help\";i:1210;s:18:\"filehist-deleteall\";i:1211;s:18:\"filehist-deleteone\";i:1212;s:15:\"filehist-revert\";i:1213;s:16:\"filehist-current\";i:1214;s:17:\"filehist-datetime\";i:1215;s:14:\"filehist-thumb\";i:1216;s:18:\"filehist-thumbtext\";i:1217;s:16:\"filehist-nothumb\";i:1218;s:13:\"filehist-user\";i:1219;s:19:\"filehist-dimensions\";i:1220;s:17:\"filehist-filesize\";i:1221;s:16:\"filehist-comment\";i:1222;s:16:\"filehist-missing\";i:1223;s:10:\"imagelinks\";i:1224;s:12:\"linkstoimage\";i:1225;s:17:\"linkstoimage-more\";i:1226;s:14:\"nolinkstoimage\";i:1227;s:16:\"morelinkstoimage\";i:1228;s:21:\"linkstoimage-redirect\";i:1229;s:16:\"duplicatesoffile\";i:1230;s:12:\"sharedupload\";i:1231;s:23:\"sharedupload-desc-there\";i:1232;s:22:\"sharedupload-desc-here\";i:1233;s:15:\"filepage-nofile\";i:1234;s:20:\"filepage-nofile-link\";i:1235;s:25:\"uploadnewversion-linktext\";i:1236;s:16:\"shared-repo-from\";i:1237;s:11:\"shared-repo\";i:1238;s:10:\"filerevert\";i:1239;s:17:\"filerevert-legend\";i:1240;s:16:\"filerevert-intro\";i:1241;s:18:\"filerevert-comment\";i:1242;s:25:\"filerevert-defaultcomment\";i:1243;s:17:\"filerevert-submit\";i:1244;s:18:\"filerevert-success\";i:1245;s:21:\"filerevert-badversion\";i:1246;s:10:\"filedelete\";i:1247;s:17:\"filedelete-legend\";i:1248;s:16:\"filedelete-intro\";i:1249;s:20:\"filedelete-intro-old\";i:1250;s:18:\"filedelete-comment\";i:1251;s:17:\"filedelete-submit\";i:1252;s:18:\"filedelete-success\";i:1253;s:22:\"filedelete-success-old\";i:1254;s:17:\"filedelete-nofile\";i:1255;s:21:\"filedelete-nofile-old\";i:1256;s:22:\"filedelete-otherreason\";i:1257;s:27:\"filedelete-reason-otherlist\";i:1258;s:26:\"filedelete-reason-dropdown\";i:1259;s:26:\"filedelete-edit-reasonlist\";i:1260;s:22:\"filedelete-maintenance\";i:1261;s:10:\"mimesearch\";i:1262;s:18:\"mimesearch-summary\";i:1263;s:8:\"mimetype\";i:1264;s:8:\"download\";i:1265;s:14:\"unwatchedpages\";i:1266;s:13:\"listredirects\";i:1267;s:15:\"unusedtemplates\";i:1268;s:19:\"unusedtemplatestext\";i:1269;s:18:\"unusedtemplateswlh\";i:1270;s:10:\"randompage\";i:1271;s:18:\"randompage-nopages\";i:1272;s:14:\"randomredirect\";i:1273;s:22:\"randomredirect-nopages\";i:1274;s:10:\"statistics\";i:1275;s:23:\"statistics-header-pages\";i:1276;s:23:\"statistics-header-edits\";i:1277;s:23:\"statistics-header-views\";i:1278;s:23:\"statistics-header-users\";i:1279;s:23:\"statistics-header-hooks\";i:1280;s:19:\"statistics-articles\";i:1281;s:16:\"statistics-pages\";i:1282;s:21:\"statistics-pages-desc\";i:1283;s:16:\"statistics-files\";i:1284;s:16:\"statistics-edits\";i:1285;s:24:\"statistics-edits-average\";i:1286;s:22:\"statistics-views-total\";i:1287;s:27:\"statistics-views-total-desc\";i:1288;s:24:\"statistics-views-peredit\";i:1289;s:16:\"statistics-users\";i:1290;s:23:\"statistics-users-active\";i:1291;s:28:\"statistics-users-active-desc\";i:1292;s:22:\"statistics-mostpopular\";i:1293;s:15:\"disambiguations\";i:1294;s:19:\"disambiguationspage\";i:1295;s:20:\"disambiguations-text\";i:1296;s:15:\"doubleredirects\";i:1297;s:19:\"doubleredirectstext\";i:1298;s:26:\"double-redirect-fixed-move\";i:1299;s:33:\"double-redirect-fixed-maintenance\";i:1300;s:21:\"double-redirect-fixer\";i:1301;s:15:\"brokenredirects\";i:1302;s:19:\"brokenredirectstext\";i:1303;s:20:\"brokenredirects-edit\";i:1304;s:22:\"brokenredirects-delete\";i:1305;s:16:\"withoutinterwiki\";i:1306;s:24:\"withoutinterwiki-summary\";i:1307;s:23:\"withoutinterwiki-legend\";i:1308;s:23:\"withoutinterwiki-submit\";i:1309;s:15:\"fewestrevisions\";i:1310;s:6:\"nbytes\";i:1311;s:11:\"ncategories\";i:1312;s:6:\"nlinks\";i:1313;s:8:\"nmembers\";i:1314;s:10:\"nrevisions\";i:1315;s:6:\"nviews\";i:1316;s:11:\"nimagelinks\";i:1317;s:14:\"ntransclusions\";i:1318;s:17:\"specialpage-empty\";i:1319;s:11:\"lonelypages\";i:1320;s:15:\"lonelypagestext\";i:1321;s:18:\"uncategorizedpages\";i:1322;s:23:\"uncategorizedcategories\";i:1323;s:19:\"uncategorizedimages\";i:1324;s:22:\"uncategorizedtemplates\";i:1325;s:16:\"unusedcategories\";i:1326;s:12:\"unusedimages\";i:1327;s:12:\"popularpages\";i:1328;s:16:\"wantedcategories\";i:1329;s:11:\"wantedpages\";i:1330;s:20:\"wantedpages-badtitle\";i:1331;s:11:\"wantedfiles\";i:1332;s:15:\"wantedtemplates\";i:1333;s:10:\"mostlinked\";i:1334;s:20:\"mostlinkedcategories\";i:1335;s:19:\"mostlinkedtemplates\";i:1336;s:14:\"mostcategories\";i:1337;s:10:\"mostimages\";i:1338;s:13:\"mostrevisions\";i:1339;s:11:\"prefixindex\";i:1340;s:10:\"shortpages\";i:1341;s:9:\"longpages\";i:1342;s:12:\"deadendpages\";i:1343;s:16:\"deadendpagestext\";i:1344;s:14:\"protectedpages\";i:1345;s:20:\"protectedpages-indef\";i:1346;s:22:\"protectedpages-cascade\";i:1347;s:18:\"protectedpagestext\";i:1348;s:19:\"protectedpagesempty\";i:1349;s:15:\"protectedtitles\";i:1350;s:19:\"protectedtitlestext\";i:1351;s:20:\"protectedtitlesempty\";i:1352;s:9:\"listusers\";i:1353;s:19:\"listusers-editsonly\";i:1354;s:22:\"listusers-creationsort\";i:1355;s:13:\"usereditcount\";i:1356;s:11:\"usercreated\";i:1357;s:8:\"newpages\";i:1358;s:17:\"newpages-username\";i:1359;s:12:\"ancientpages\";i:1360;s:4:\"move\";i:1361;s:12:\"movethispage\";i:1362;s:16:\"unusedimagestext\";i:1363;s:20:\"unusedcategoriestext\";i:1364;s:13:\"notargettitle\";i:1365;s:12:\"notargettext\";i:1366;s:11:\"nopagetitle\";i:1367;s:10:\"nopagetext\";i:1368;s:13:\"pager-newer-n\";i:1369;s:13:\"pager-older-n\";i:1370;s:8:\"suppress\";i:1371;s:18:\"querypage-disabled\";i:1372;s:11:\"booksources\";i:1373;s:25:\"booksources-search-legend\";i:1374;s:14:\"booksources-go\";i:1375;s:16:\"booksources-text\";i:1376;s:24:\"booksources-invalid-isbn\";i:1377;s:19:\"specialloguserlabel\";i:1378;s:20:\"speciallogtitlelabel\";i:1379;s:3:\"log\";i:1380;s:13:\"all-logs-page\";i:1381;s:11:\"alllogstext\";i:1382;s:8:\"logempty\";i:1383;s:18:\"log-title-wildcard\";i:1384;s:8:\"allpages\";i:1385;s:14:\"alphaindexline\";i:1386;s:8:\"nextpage\";i:1387;s:8:\"prevpage\";i:1388;s:12:\"allpagesfrom\";i:1389;s:10:\"allpagesto\";i:1390;s:11:\"allarticles\";i:1391;s:14:\"allinnamespace\";i:1392;s:17:\"allnotinnamespace\";i:1393;s:12:\"allpagesprev\";i:1394;s:12:\"allpagesnext\";i:1395;s:14:\"allpagessubmit\";i:1396;s:14:\"allpagesprefix\";i:1397;s:16:\"allpagesbadtitle\";i:1398;s:15:\"allpages-bad-ns\";i:1399;s:10:\"categories\";i:1400;s:18:\"categoriespagetext\";i:1401;s:14:\"categoriesfrom\";i:1402;s:29:\"special-categories-sort-count\";i:1403;s:27:\"special-categories-sort-abc\";i:1404;s:20:\"deletedcontributions\";i:1405;s:26:\"deletedcontributions-title\";i:1406;s:32:\"sp-deletedcontributions-contribs\";i:1407;s:10:\"linksearch\";i:1408;s:14:\"linksearch-pat\";i:1409;s:13:\"linksearch-ns\";i:1410;s:13:\"linksearch-ok\";i:1411;s:15:\"linksearch-text\";i:1412;s:15:\"linksearch-line\";i:1413;s:16:\"linksearch-error\";i:1414;s:13:\"listusersfrom\";i:1415;s:16:\"listusers-submit\";i:1416;s:18:\"listusers-noresult\";i:1417;s:17:\"listusers-blocked\";i:1418;s:11:\"activeusers\";i:1419;s:17:\"activeusers-intro\";i:1420;s:17:\"activeusers-count\";i:1421;s:16:\"activeusers-from\";i:1422;s:20:\"activeusers-hidebots\";i:1423;s:22:\"activeusers-hidesysops\";i:1424;s:20:\"activeusers-noresult\";i:1425;s:14:\"newuserlogpage\";i:1426;s:18:\"newuserlogpagetext\";i:1427;s:18:\"newuserlog-byemail\";i:1428;s:23:\"newuserlog-create-entry\";i:1429;s:24:\"newuserlog-create2-entry\";i:1430;s:27:\"newuserlog-autocreate-entry\";i:1431;s:15:\"listgrouprights\";i:1432;s:23:\"listgrouprights-summary\";i:1433;s:19:\"listgrouprights-key\";i:1434;s:21:\"listgrouprights-group\";i:1435;s:22:\"listgrouprights-rights\";i:1436;s:24:\"listgrouprights-helppage\";i:1437;s:23:\"listgrouprights-members\";i:1438;s:24:\"listgrouprights-addgroup\";i:1439;s:27:\"listgrouprights-removegroup\";i:1440;s:28:\"listgrouprights-addgroup-all\";i:1441;s:31:\"listgrouprights-removegroup-all\";i:1442;s:29:\"listgrouprights-addgroup-self\";i:1443;s:32:\"listgrouprights-removegroup-self\";i:1444;s:33:\"listgrouprights-addgroup-self-all\";i:1445;s:36:\"listgrouprights-removegroup-self-all\";i:1446;s:11:\"mailnologin\";i:1447;s:15:\"mailnologintext\";i:1448;s:9:\"emailuser\";i:1449;s:9:\"emailpage\";i:1450;s:13:\"emailpagetext\";i:1451;s:15:\"usermailererror\";i:1452;s:15:\"defemailsubject\";i:1453;s:16:\"usermaildisabled\";i:1454;s:20:\"usermaildisabledtext\";i:1455;s:12:\"noemailtitle\";i:1456;s:11:\"noemailtext\";i:1457;s:16:\"nowikiemailtitle\";i:1458;s:15:\"nowikiemailtext\";i:1459;s:13:\"emailnotarget\";i:1460;s:11:\"emailtarget\";i:1461;s:13:\"emailusername\";i:1462;s:19:\"emailusernamesubmit\";i:1463;s:12:\"email-legend\";i:1464;s:9:\"emailfrom\";i:1465;s:7:\"emailto\";i:1466;s:12:\"emailsubject\";i:1467;s:12:\"emailmessage\";i:1468;s:9:\"emailsend\";i:1469;s:9:\"emailccme\";i:1470;s:14:\"emailccsubject\";i:1471;s:9:\"emailsent\";i:1472;s:13:\"emailsenttext\";i:1473;s:15:\"emailuserfooter\";i:1474;s:19:\"usermessage-summary\";i:1475;s:18:\"usermessage-editor\";i:1476;s:9:\"watchlist\";i:1477;s:11:\"mywatchlist\";i:1478;s:13:\"watchlistfor2\";i:1479;s:11:\"nowatchlist\";i:1480;s:17:\"watchlistanontext\";i:1481;s:12:\"watchnologin\";i:1482;s:16:\"watchnologintext\";i:1483;s:8:\"addwatch\";i:1484;s:14:\"addedwatchtext\";i:1485;s:11:\"removewatch\";i:1486;s:16:\"removedwatchtext\";i:1487;s:5:\"watch\";i:1488;s:13:\"watchthispage\";i:1489;s:7:\"unwatch\";i:1490;s:15:\"unwatchthispage\";i:1491;s:12:\"notanarticle\";i:1492;s:13:\"notvisiblerev\";i:1493;s:13:\"watchnochange\";i:1494;s:17:\"watchlist-details\";i:1495;s:15:\"wlheader-enotif\";i:1496;s:20:\"wlheader-showupdated\";i:1497;s:18:\"watchmethod-recent\";i:1498;s:16:\"watchmethod-list\";i:1499;s:17:\"watchlistcontains\";i:1500;s:15:\"iteminvalidname\";i:1501;s:6:\"wlnote\";i:1502;s:10:\"wlshowlast\";i:1503;s:17:\"watchlist-options\";i:1504;s:8:\"watching\";i:1505;s:10:\"unwatching\";i:1506;s:14:\"watcherrortext\";i:1507;s:13:\"enotif_mailer\";i:1508;s:12:\"enotif_reset\";i:1509;s:18:\"enotif_newpagetext\";i:1510;s:28:\"enotif_impersonal_salutation\";i:1511;s:7:\"changed\";i:1512;s:7:\"created\";i:1513;s:14:\"enotif_subject\";i:1514;s:18:\"enotif_lastvisited\";i:1515;s:15:\"enotif_lastdiff\";i:1516;s:18:\"enotif_anon_editor\";i:1517;s:11:\"enotif_body\";i:1518;s:10:\"deletepage\";i:1519;s:7:\"confirm\";i:1520;s:9:\"excontent\";i:1521;s:15:\"excontentauthor\";i:1522;s:13:\"exbeforeblank\";i:1523;s:7:\"exblank\";i:1524;s:14:\"delete-confirm\";i:1525;s:13:\"delete-legend\";i:1526;s:14:\"historywarning\";i:1527;s:17:\"confirmdeletetext\";i:1528;s:14:\"actioncomplete\";i:1529;s:12:\"actionfailed\";i:1530;s:11:\"deletedtext\";i:1531;s:14:\"deletedarticle\";i:1532;s:17:\"suppressedarticle\";i:1533;s:10:\"dellogpage\";i:1534;s:14:\"dellogpagetext\";i:1535;s:11:\"deletionlog\";i:1536;s:8:\"reverted\";i:1537;s:13:\"deletecomment\";i:1538;s:17:\"deleteotherreason\";i:1539;s:21:\"deletereasonotherlist\";i:1540;s:21:\"deletereason-dropdown\";i:1541;s:22:\"delete-edit-reasonlist\";i:1542;s:13:\"delete-toobig\";i:1543;s:21:\"delete-warning-toobig\";i:1544;s:8:\"rollback\";i:1545;s:14:\"rollback_short\";i:1546;s:12:\"rollbacklink\";i:1547;s:14:\"rollbackfailed\";i:1548;s:12:\"cantrollback\";i:1549;s:13:\"alreadyrolled\";i:1550;s:11:\"editcomment\";i:1551;s:10:\"revertpage\";i:1552;s:17:\"revertpage-nouser\";i:1553;s:16:\"rollback-success\";i:1554;s:20:\"sessionfailure-title\";i:1555;s:14:\"sessionfailure\";i:1556;s:14:\"protectlogpage\";i:1557;s:14:\"protectlogtext\";i:1558;s:16:\"protectedarticle\";i:1559;s:25:\"modifiedarticleprotection\";i:1560;s:18:\"unprotectedarticle\";i:1561;s:22:\"movedarticleprotection\";i:1562;s:13:\"protect-title\";i:1563;s:14:\"prot_1movedto2\";i:1564;s:14:\"protect-legend\";i:1565;s:14:\"protectcomment\";i:1566;s:13:\"protectexpiry\";i:1567;s:22:\"protect_expiry_invalid\";i:1568;s:18:\"protect_expiry_old\";i:1569;s:27:\"protect-unchain-permissions\";i:1570;s:12:\"protect-text\";i:1571;s:22:\"protect-locked-blocked\";i:1572;s:21:\"protect-locked-dblock\";i:1573;s:21:\"protect-locked-access\";i:1574;s:17:\"protect-cascadeon\";i:1575;s:15:\"protect-default\";i:1576;s:16:\"protect-fallback\";i:1577;s:27:\"protect-level-autoconfirmed\";i:1578;s:19:\"protect-level-sysop\";i:1579;s:23:\"protect-summary-cascade\";i:1580;s:16:\"protect-expiring\";i:1581;s:25:\"protect-expiry-indefinite\";i:1582;s:15:\"protect-cascade\";i:1583;s:16:\"protect-cantedit\";i:1584;s:17:\"protect-othertime\";i:1585;s:20:\"protect-othertime-op\";i:1586;s:23:\"protect-existing-expiry\";i:1587;s:19:\"protect-otherreason\";i:1588;s:22:\"protect-otherreason-op\";i:1589;s:16:\"protect-dropdown\";i:1590;s:23:\"protect-edit-reasonlist\";i:1591;s:22:\"protect-expiry-options\";i:1592;s:16:\"restriction-type\";i:1593;s:17:\"restriction-level\";i:1594;s:12:\"minimum-size\";i:1595;s:12:\"maximum-size\";i:1596;s:8:\"pagesize\";i:1597;s:16:\"restriction-edit\";i:1598;s:16:\"restriction-move\";i:1599;s:18:\"restriction-create\";i:1600;s:18:\"restriction-upload\";i:1601;s:23:\"restriction-level-sysop\";i:1602;s:31:\"restriction-level-autoconfirmed\";i:1603;s:21:\"restriction-level-all\";i:1604;s:8:\"undelete\";i:1605;s:12:\"undeletepage\";i:1606;s:17:\"undeletepagetitle\";i:1607;s:15:\"viewdeletedpage\";i:1608;s:16:\"undeletepagetext\";i:1609;s:23:\"undelete-fieldset-title\";i:1610;s:17:\"undeleteextrahelp\";i:1611;s:17:\"undeleterevisions\";i:1612;s:15:\"undeletehistory\";i:1613;s:14:\"undeleterevdel\";i:1614;s:22:\"undeletehistorynoadmin\";i:1615;s:17:\"undelete-revision\";i:1616;s:24:\"undeleterevision-missing\";i:1617;s:15:\"undelete-nodiff\";i:1618;s:11:\"undeletebtn\";i:1619;s:12:\"undeletelink\";i:1620;s:16:\"undeleteviewlink\";i:1621;s:13:\"undeletereset\";i:1622;s:14:\"undeleteinvert\";i:1623;s:15:\"undeletecomment\";i:1624;s:16:\"undeletedarticle\";i:1625;s:18:\"undeletedrevisions\";i:1626;s:24:\"undeletedrevisions-files\";i:1627;s:14:\"undeletedfiles\";i:1628;s:14:\"cannotundelete\";i:1629;s:13:\"undeletedpage\";i:1630;s:15:\"undelete-header\";i:1631;s:19:\"undelete-search-box\";i:1632;s:22:\"undelete-search-prefix\";i:1633;s:22:\"undelete-search-submit\";i:1634;s:19:\"undelete-no-results\";i:1635;s:26:\"undelete-filename-mismatch\";i:1636;s:22:\"undelete-bad-store-key\";i:1637;s:22:\"undelete-cleanup-error\";i:1638;s:28:\"undelete-missing-filearchive\";i:1639;s:20:\"undelete-error-short\";i:1640;s:19:\"undelete-error-long\";i:1641;s:26:\"undelete-show-file-confirm\";i:1642;s:25:\"undelete-show-file-submit\";i:1643;s:9:\"namespace\";i:1644;s:6:\"invert\";i:1645;s:14:\"tooltip-invert\";i:1646;s:21:\"namespace_association\";i:1647;s:29:\"tooltip-namespace_association\";i:1648;s:14:\"blanknamespace\";i:1649;s:13:\"contributions\";i:1650;s:19:\"contributions-title\";i:1651;s:9:\"mycontris\";i:1652;s:11:\"contribsub2\";i:1653;s:10:\"nocontribs\";i:1654;s:5:\"uctop\";i:1655;s:5:\"month\";i:1656;s:4:\"year\";i:1657;s:24:\"sp-contributions-newbies\";i:1658;s:28:\"sp-contributions-newbies-sub\";i:1659;s:30:\"sp-contributions-newbies-title\";i:1660;s:25:\"sp-contributions-blocklog\";i:1661;s:24:\"sp-contributions-deleted\";i:1662;s:24:\"sp-contributions-uploads\";i:1663;s:21:\"sp-contributions-logs\";i:1664;s:21:\"sp-contributions-talk\";i:1665;s:27:\"sp-contributions-userrights\";i:1666;s:31:\"sp-contributions-blocked-notice\";i:1667;s:36:\"sp-contributions-blocked-notice-anon\";i:1668;s:23:\"sp-contributions-search\";i:1669;s:25:\"sp-contributions-username\";i:1670;s:24:\"sp-contributions-toponly\";i:1671;s:23:\"sp-contributions-submit\";i:1672;s:13:\"whatlinkshere\";i:1673;s:19:\"whatlinkshere-title\";i:1674;s:18:\"whatlinkshere-page\";i:1675;s:9:\"linkshere\";i:1676;s:11:\"nolinkshere\";i:1677;s:14:\"nolinkshere-ns\";i:1678;s:10:\"isredirect\";i:1679;s:10:\"istemplate\";i:1680;s:7:\"isimage\";i:1681;s:18:\"whatlinkshere-prev\";i:1682;s:18:\"whatlinkshere-next\";i:1683;s:19:\"whatlinkshere-links\";i:1684;s:24:\"whatlinkshere-hideredirs\";i:1685;s:23:\"whatlinkshere-hidetrans\";i:1686;s:23:\"whatlinkshere-hidelinks\";i:1687;s:24:\"whatlinkshere-hideimages\";i:1688;s:21:\"whatlinkshere-filters\";i:1689;s:11:\"autoblockid\";i:1690;s:5:\"block\";i:1691;s:7:\"unblock\";i:1692;s:7:\"blockip\";i:1693;s:13:\"blockip-title\";i:1694;s:14:\"blockip-legend\";i:1695;s:11:\"blockiptext\";i:1696;s:18:\"ipadressorusername\";i:1697;s:9:\"ipbexpiry\";i:1698;s:9:\"ipbreason\";i:1699;s:18:\"ipbreasonotherlist\";i:1700;s:18:\"ipbreason-dropdown\";i:1701;s:13:\"ipb-hardblock\";i:1702;s:16:\"ipbcreateaccount\";i:1703;s:11:\"ipbemailban\";i:1704;s:18:\"ipbenableautoblock\";i:1705;s:9:\"ipbsubmit\";i:1706;s:8:\"ipbother\";i:1707;s:10:\"ipboptions\";i:1708;s:14:\"ipbotheroption\";i:1709;s:14:\"ipbotherreason\";i:1710;s:11:\"ipbhidename\";i:1711;s:12:\"ipbwatchuser\";i:1712;s:19:\"ipb-disableusertalk\";i:1713;s:16:\"ipb-change-block\";i:1714;s:11:\"ipb-confirm\";i:1715;s:12:\"badipaddress\";i:1716;s:17:\"blockipsuccesssub\";i:1717;s:18:\"blockipsuccesstext\";i:1718;s:16:\"ipb-blockingself\";i:1719;s:19:\"ipb-confirmhideuser\";i:1720;s:17:\"ipb-edit-dropdown\";i:1721;s:16:\"ipb-unblock-addr\";i:1722;s:11:\"ipb-unblock\";i:1723;s:13:\"ipb-blocklist\";i:1724;s:22:\"ipb-blocklist-contribs\";i:1725;s:9:\"unblockip\";i:1726;s:13:\"unblockiptext\";i:1727;s:9:\"ipusubmit\";i:1728;s:9:\"unblocked\";i:1729;s:15:\"unblocked-range\";i:1730;s:12:\"unblocked-id\";i:1731;s:9:\"blocklist\";i:1732;s:11:\"ipblocklist\";i:1733;s:18:\"ipblocklist-legend\";i:1734;s:20:\"blocklist-userblocks\";i:1735;s:20:\"blocklist-tempblocks\";i:1736;s:23:\"blocklist-addressblocks\";i:1737;s:19:\"blocklist-timestamp\";i:1738;s:16:\"blocklist-target\";i:1739;s:16:\"blocklist-expiry\";i:1740;s:12:\"blocklist-by\";i:1741;s:16:\"blocklist-params\";i:1742;s:16:\"blocklist-reason\";i:1743;s:18:\"ipblocklist-submit\";i:1744;s:22:\"ipblocklist-localblock\";i:1745;s:23:\"ipblocklist-otherblocks\";i:1746;s:13:\"infiniteblock\";i:1747;s:13:\"expiringblock\";i:1748;s:13:\"anononlyblock\";i:1749;s:16:\"noautoblockblock\";i:1750;s:18:\"createaccountblock\";i:1751;s:10:\"emailblock\";i:1752;s:20:\"blocklist-nousertalk\";i:1753;s:17:\"ipblocklist-empty\";i:1754;s:22:\"ipblocklist-no-results\";i:1755;s:9:\"blocklink\";i:1756;s:11:\"unblocklink\";i:1757;s:16:\"change-blocklink\";i:1758;s:12:\"contribslink\";i:1759;s:11:\"autoblocker\";i:1760;s:12:\"blocklogpage\";i:1761;s:16:\"blocklog-showlog\";i:1762;s:24:\"blocklog-showsuppresslog\";i:1763;s:13:\"blocklogentry\";i:1764;s:16:\"reblock-logentry\";i:1765;s:12:\"blocklogtext\";i:1766;s:15:\"unblocklogentry\";i:1767;s:24:\"block-log-flags-anononly\";i:1768;s:24:\"block-log-flags-nocreate\";i:1769;s:27:\"block-log-flags-noautoblock\";i:1770;s:23:\"block-log-flags-noemail\";i:1771;s:26:\"block-log-flags-nousertalk\";i:1772;s:31:\"block-log-flags-angry-autoblock\";i:1773;s:26:\"block-log-flags-hiddenname\";i:1774;s:20:\"range_block_disabled\";i:1775;s:18:\"ipb_expiry_invalid\";i:1776;s:15:\"ipb_expiry_temp\";i:1777;s:16:\"ipb_hide_invalid\";i:1778;s:19:\"ipb_already_blocked\";i:1779;s:15:\"ipb-needreblock\";i:1780;s:22:\"ipb-otherblocks-header\";i:1781;s:16:\"unblock-hideuser\";i:1782;s:16:\"ipb_cant_unblock\";i:1783;s:20:\"ipb_blocked_as_range\";i:1784;s:16:\"ip_range_invalid\";i:1785;s:17:\"ip_range_toolarge\";i:1786;s:7:\"blockme\";i:1787;s:12:\"proxyblocker\";i:1788;s:21:\"proxyblocker-disabled\";i:1789;s:16:\"proxyblockreason\";i:1790;s:17:\"proxyblocksuccess\";i:1791;s:11:\"sorbsreason\";i:1792;s:27:\"sorbs_create_account_reason\";i:1793;s:24:\"cant-block-while-blocked\";i:1794;s:20:\"cant-see-hidden-user\";i:1795;s:10:\"ipbblocked\";i:1796;s:16:\"ipbnounblockself\";i:1797;s:6:\"lockdb\";i:1798;s:8:\"unlockdb\";i:1799;s:10:\"lockdbtext\";i:1800;s:12:\"unlockdbtext\";i:1801;s:11:\"lockconfirm\";i:1802;s:13:\"unlockconfirm\";i:1803;s:7:\"lockbtn\";i:1804;s:9:\"unlockbtn\";i:1805;s:13:\"locknoconfirm\";i:1806;s:16:\"lockdbsuccesssub\";i:1807;s:18:\"unlockdbsuccesssub\";i:1808;s:17:\"lockdbsuccesstext\";i:1809;s:19:\"unlockdbsuccesstext\";i:1810;s:19:\"lockfilenotwritable\";i:1811;s:17:\"databasenotlocked\";i:1812;s:15:\"lockedbyandtime\";i:1813;s:9:\"move-page\";i:1814;s:16:\"move-page-legend\";i:1815;s:12:\"movepagetext\";i:1816;s:28:\"movepagetext-noredirectfixer\";i:1817;s:16:\"movepagetalktext\";i:1818;s:11:\"movearticle\";i:1819;s:20:\"moveuserpage-warning\";i:1820;s:11:\"movenologin\";i:1821;s:15:\"movenologintext\";i:1822;s:14:\"movenotallowed\";i:1823;s:18:\"movenotallowedfile\";i:1824;s:19:\"cant-move-user-page\";i:1825;s:22:\"cant-move-to-user-page\";i:1826;s:8:\"newtitle\";i:1827;s:10:\"move-watch\";i:1828;s:11:\"movepagebtn\";i:1829;s:12:\"pagemovedsub\";i:1830;s:14:\"movepage-moved\";i:1831;s:23:\"movepage-moved-redirect\";i:1832;s:25:\"movepage-moved-noredirect\";i:1833;s:13:\"articleexists\";i:1834;s:23:\"cantmove-titleprotected\";i:1835;s:10:\"talkexists\";i:1836;s:7:\"movedto\";i:1837;s:8:\"movetalk\";i:1838;s:13:\"move-subpages\";i:1839;s:18:\"move-talk-subpages\";i:1840;s:20:\"movepage-page-exists\";i:1841;s:19:\"movepage-page-moved\";i:1842;s:21:\"movepage-page-unmoved\";i:1843;s:18:\"movepage-max-pages\";i:1844;s:9:\"1movedto2\";i:1845;s:15:\"1movedto2_redir\";i:1846;s:24:\"move-redirect-suppressed\";i:1847;s:11:\"movelogpage\";i:1848;s:15:\"movelogpagetext\";i:1849;s:11:\"movesubpage\";i:1850;s:15:\"movesubpagetext\";i:1851;s:13:\"movenosubpage\";i:1852;s:10:\"movereason\";i:1853;s:10:\"revertmove\";i:1854;s:15:\"delete_and_move\";i:1855;s:20:\"delete_and_move_text\";i:1856;s:23:\"delete_and_move_confirm\";i:1857;s:22:\"delete_and_move_reason\";i:1858;s:8:\"selfmove\";i:1859;s:25:\"immobile-source-namespace\";i:1860;s:25:\"immobile-target-namespace\";i:1861;s:28:\"immobile-target-namespace-iw\";i:1862;s:20:\"immobile-source-page\";i:1863;s:20:\"immobile-target-page\";i:1864;s:21:\"imagenocrossnamespace\";i:1865;s:27:\"nonfile-cannot-move-to-file\";i:1866;s:17:\"imagetypemismatch\";i:1867;s:20:\"imageinvalidfilename\";i:1868;s:20:\"fix-double-redirects\";i:1869;s:19:\"move-leave-redirect\";i:1870;s:24:\"protectedpagemovewarning\";i:1871;s:28:\"semiprotectedpagemovewarning\";i:1872;s:20:\"move-over-sharedrepo\";i:1873;s:22:\"file-exists-sharedrepo\";i:1874;s:6:\"export\";i:1875;s:10:\"exporttext\";i:1876;s:13:\"exportcuronly\";i:1877;s:15:\"exportnohistory\";i:1878;s:13:\"export-submit\";i:1879;s:17:\"export-addcattext\";i:1880;s:13:\"export-addcat\";i:1881;s:16:\"export-addnstext\";i:1882;s:12:\"export-addns\";i:1883;s:15:\"export-download\";i:1884;s:16:\"export-templates\";i:1885;s:16:\"export-pagelinks\";i:1886;s:11:\"allmessages\";i:1887;s:15:\"allmessagesname\";i:1888;s:18:\"allmessagesdefault\";i:1889;s:18:\"allmessagescurrent\";i:1890;s:15:\"allmessagestext\";i:1891;s:25:\"allmessagesnotsupportedDB\";i:1892;s:25:\"allmessages-filter-legend\";i:1893;s:18:\"allmessages-filter\";i:1894;s:29:\"allmessages-filter-unmodified\";i:1895;s:22:\"allmessages-filter-all\";i:1896;s:27:\"allmessages-filter-modified\";i:1897;s:18:\"allmessages-prefix\";i:1898;s:20:\"allmessages-language\";i:1899;s:25:\"allmessages-filter-submit\";i:1900;s:14:\"thumbnail-more\";i:1901;s:11:\"filemissing\";i:1902;s:15:\"thumbnail_error\";i:1903;s:15:\"djvu_page_error\";i:1904;s:11:\"djvu_no_xml\";i:1905;s:24:\"thumbnail_invalid_params\";i:1906;s:24:\"thumbnail_dest_directory\";i:1907;s:20:\"thumbnail_image-type\";i:1908;s:20:\"thumbnail_gd-library\";i:1909;s:23:\"thumbnail_image-missing\";i:1910;s:6:\"import\";i:1911;s:15:\"importinterwiki\";i:1912;s:21:\"import-interwiki-text\";i:1913;s:23:\"import-interwiki-source\";i:1914;s:24:\"import-interwiki-history\";i:1915;s:26:\"import-interwiki-templates\";i:1916;s:23:\"import-interwiki-submit\";i:1917;s:26:\"import-interwiki-namespace\";i:1918;s:22:\"import-upload-filename\";i:1919;s:14:\"import-comment\";i:1920;s:10:\"importtext\";i:1921;s:11:\"importstart\";i:1922;s:21:\"import-revision-count\";i:1923;s:13:\"importnopages\";i:1924;s:20:\"imported-log-entries\";i:1925;s:12:\"importfailed\";i:1926;s:19:\"importunknownsource\";i:1927;s:14:\"importcantopen\";i:1928;s:18:\"importbadinterwiki\";i:1929;s:12:\"importnotext\";i:1930;s:13:\"importsuccess\";i:1931;s:21:\"importhistoryconflict\";i:1932;s:15:\"importnosources\";i:1933;s:12:\"importnofile\";i:1934;s:21:\"importuploaderrorsize\";i:1935;s:24:\"importuploaderrorpartial\";i:1936;s:21:\"importuploaderrortemp\";i:1937;s:20:\"import-parse-failure\";i:1938;s:16:\"import-noarticle\";i:1939;s:21:\"import-nonewrevisions\";i:1940;s:16:\"xml-error-string\";i:1941;s:13:\"import-upload\";i:1942;s:21:\"import-token-mismatch\";i:1943;s:24:\"import-invalid-interwiki\";i:1944;s:13:\"importlogpage\";i:1945;s:17:\"importlogpagetext\";i:1946;s:22:\"import-logentry-upload\";i:1947;s:29:\"import-logentry-upload-detail\";i:1948;s:25:\"import-logentry-interwiki\";i:1949;s:32:\"import-logentry-interwiki-detail\";i:1950;s:19:\"tooltip-pt-userpage\";i:1951;s:23:\"tooltip-pt-anonuserpage\";i:1952;s:17:\"tooltip-pt-mytalk\";i:1953;s:19:\"tooltip-pt-anontalk\";i:1954;s:22:\"tooltip-pt-preferences\";i:1955;s:20:\"tooltip-pt-watchlist\";i:1956;s:20:\"tooltip-pt-mycontris\";i:1957;s:16:\"tooltip-pt-login\";i:1958;s:20:\"tooltip-pt-anonlogin\";i:1959;s:17:\"tooltip-pt-logout\";i:1960;s:15:\"tooltip-ca-talk\";i:1961;s:15:\"tooltip-ca-edit\";i:1962;s:21:\"tooltip-ca-addsection\";i:1963;s:21:\"tooltip-ca-viewsource\";i:1964;s:18:\"tooltip-ca-history\";i:1965;s:18:\"tooltip-ca-protect\";i:1966;s:20:\"tooltip-ca-unprotect\";i:1967;s:17:\"tooltip-ca-delete\";i:1968;s:19:\"tooltip-ca-undelete\";i:1969;s:15:\"tooltip-ca-move\";i:1970;s:16:\"tooltip-ca-watch\";i:1971;s:18:\"tooltip-ca-unwatch\";i:1972;s:14:\"tooltip-search\";i:1973;s:17:\"tooltip-search-go\";i:1974;s:23:\"tooltip-search-fulltext\";i:1975;s:14:\"tooltip-p-logo\";i:1976;s:18:\"tooltip-n-mainpage\";i:1977;s:30:\"tooltip-n-mainpage-description\";i:1978;s:16:\"tooltip-n-portal\";i:1979;s:23:\"tooltip-n-currentevents\";i:1980;s:23:\"tooltip-n-recentchanges\";i:1981;s:20:\"tooltip-n-randompage\";i:1982;s:14:\"tooltip-n-help\";i:1983;s:23:\"tooltip-t-whatlinkshere\";i:1984;s:29:\"tooltip-t-recentchangeslinked\";i:1985;s:16:\"tooltip-feed-rss\";i:1986;s:17:\"tooltip-feed-atom\";i:1987;s:23:\"tooltip-t-contributions\";i:1988;s:19:\"tooltip-t-emailuser\";i:1989;s:16:\"tooltip-t-upload\";i:1990;s:22:\"tooltip-t-specialpages\";i:1991;s:15:\"tooltip-t-print\";i:1992;s:19:\"tooltip-t-permalink\";i:1993;s:21:\"tooltip-ca-nstab-main\";i:1994;s:21:\"tooltip-ca-nstab-user\";i:1995;s:22:\"tooltip-ca-nstab-media\";i:1996;s:24:\"tooltip-ca-nstab-special\";i:1997;s:24:\"tooltip-ca-nstab-project\";i:1998;s:22:\"tooltip-ca-nstab-image\";i:1999;s:26:\"tooltip-ca-nstab-mediawiki\";i:2000;s:25:\"tooltip-ca-nstab-template\";i:2001;s:21:\"tooltip-ca-nstab-help\";i:2002;s:25:\"tooltip-ca-nstab-category\";i:2003;s:17:\"tooltip-minoredit\";i:2004;s:12:\"tooltip-save\";i:2005;s:15:\"tooltip-preview\";i:2006;s:12:\"tooltip-diff\";i:2007;s:31:\"tooltip-compareselectedversions\";i:2008;s:13:\"tooltip-watch\";i:2009;s:16:\"tooltip-recreate\";i:2010;s:14:\"tooltip-upload\";i:2011;s:16:\"tooltip-rollback\";i:2012;s:12:\"tooltip-undo\";i:2013;s:24:\"tooltip-preferences-save\";i:2014;s:15:\"tooltip-summary\";i:2015;s:10:\"common.css\";i:2016;s:12:\"standard.css\";i:2017;s:13:\"nostalgia.css\";i:2018;s:15:\"cologneblue.css\";i:2019;s:12:\"monobook.css\";i:2020;s:10:\"myskin.css\";i:2021;s:9:\"chick.css\";i:2022;s:10:\"simple.css\";i:2023;s:10:\"modern.css\";i:2024;s:10:\"vector.css\";i:2025;s:9:\"print.css\";i:2026;s:12:\"handheld.css\";i:2027;s:9:\"common.js\";i:2028;s:11:\"standard.js\";i:2029;s:12:\"nostalgia.js\";i:2030;s:14:\"cologneblue.js\";i:2031;s:11:\"monobook.js\";i:2032;s:9:\"myskin.js\";i:2033;s:8:\"chick.js\";i:2034;s:9:\"simple.js\";i:2035;s:9:\"modern.js\";i:2036;s:9:\"vector.js\";i:2037;s:13:\"notacceptable\";i:2038;s:9:\"anonymous\";i:2039;s:8:\"siteuser\";i:2040;s:8:\"anonuser\";i:2041;s:16:\"lastmodifiedatby\";i:2042;s:13:\"othercontribs\";i:2043;s:6:\"others\";i:2044;s:9:\"siteusers\";i:2045;s:9:\"anonusers\";i:2046;s:11:\"creditspage\";i:2047;s:9:\"nocredits\";i:2048;s:19:\"spamprotectiontitle\";i:2049;s:18:\"spamprotectiontext\";i:2050;s:19:\"spamprotectionmatch\";i:2051;s:16:\"spambot_username\";i:2052;s:14:\"spam_reverting\";i:2053;s:13:\"spam_blanking\";i:2054;s:14:\"pageinfo-title\";i:2055;s:21:\"pageinfo-header-edits\";i:2056;s:25:\"pageinfo-header-watchlist\";i:2057;s:21:\"pageinfo-header-views\";i:2058;s:20:\"pageinfo-subjectpage\";i:2059;s:17:\"pageinfo-talkpage\";i:2060;s:17:\"pageinfo-watchers\";i:2061;s:14:\"pageinfo-edits\";i:2062;s:16:\"pageinfo-authors\";i:2063;s:14:\"pageinfo-views\";i:2064;s:21:\"pageinfo-viewsperedit\";i:2065;s:17:\"skinname-standard\";i:2066;s:18:\"skinname-nostalgia\";i:2067;s:20:\"skinname-cologneblue\";i:2068;s:17:\"skinname-monobook\";i:2069;s:15:\"skinname-myskin\";i:2070;s:14:\"skinname-chick\";i:2071;s:15:\"skinname-simple\";i:2072;s:15:\"skinname-modern\";i:2073;s:15:\"skinname-vector\";i:2074;s:19:\"markaspatrolleddiff\";i:2075;s:19:\"markaspatrolledtext\";i:2076;s:17:\"markedaspatrolled\";i:2077;s:21:\"markedaspatrolledtext\";i:2078;s:16:\"rcpatroldisabled\";i:2079;s:20:\"rcpatroldisabledtext\";i:2080;s:22:\"markedaspatrollederror\";i:2081;s:26:\"markedaspatrollederrortext\";i:2082;s:35:\"markedaspatrollederror-noautopatrol\";i:2083;s:15:\"patrol-log-page\";i:2084;s:17:\"patrol-log-header\";i:2085;s:15:\"patrol-log-line\";i:2086;s:15:\"patrol-log-auto\";i:2087;s:15:\"patrol-log-diff\";i:2088;s:20:\"log-show-hide-patrol\";i:2089;s:15:\"deletedrevision\";i:2090;s:21:\"filedeleteerror-short\";i:2091;s:20:\"filedeleteerror-long\";i:2092;s:18:\"filedelete-missing\";i:2093;s:27:\"filedelete-old-unregistered\";i:2094;s:31:\"filedelete-current-unregistered\";i:2095;s:28:\"filedelete-archive-read-only\";i:2096;s:12:\"previousdiff\";i:2097;s:8:\"nextdiff\";i:2098;s:12:\"mediawarning\";i:2099;s:12:\"imagemaxsize\";i:2100;s:9:\"thumbsize\";i:2101;s:15:\"widthheightpage\";i:2102;s:9:\"file-info\";i:2103;s:14:\"file-info-size\";i:2104;s:20:\"file-info-size-pages\";i:2105;s:12:\"file-nohires\";i:2106;s:13:\"svg-long-desc\";i:2107;s:14:\"show-big-image\";i:2108;s:22:\"show-big-image-preview\";i:2109;s:20:\"show-big-image-other\";i:2110;s:19:\"show-big-image-size\";i:2111;s:20:\"file-info-gif-looped\";i:2112;s:20:\"file-info-gif-frames\";i:2113;s:20:\"file-info-png-looped\";i:2114;s:20:\"file-info-png-repeat\";i:2115;s:20:\"file-info-png-frames\";i:2116;s:9:\"newimages\";i:2117;s:13:\"imagelisttext\";i:2118;s:17:\"newimages-summary\";i:2119;s:16:\"newimages-legend\";i:2120;s:15:\"newimages-label\";i:2121;s:12:\"showhidebots\";i:2122;s:8:\"noimages\";i:2123;s:8:\"ilsubmit\";i:2124;s:6:\"bydate\";i:2125;s:21:\"sp-newimages-showfrom\";i:2126;s:14:\"minutes-abbrev\";i:2127;s:12:\"hours-abbrev\";i:2128;s:14:\"bad_image_list\";i:2129;s:8:\"metadata\";i:2130;s:13:\"metadata-help\";i:2131;s:15:\"metadata-expand\";i:2132;s:17:\"metadata-collapse\";i:2133;s:15:\"metadata-fields\";i:2134;s:15:\"exif-imagewidth\";i:2135;s:16:\"exif-imagelength\";i:2136;s:18:\"exif-bitspersample\";i:2137;s:16:\"exif-compression\";i:2138;s:30:\"exif-photometricinterpretation\";i:2139;s:16:\"exif-orientation\";i:2140;s:20:\"exif-samplesperpixel\";i:2141;s:24:\"exif-planarconfiguration\";i:2142;s:21:\"exif-ycbcrsubsampling\";i:2143;s:21:\"exif-ycbcrpositioning\";i:2144;s:16:\"exif-xresolution\";i:2145;s:16:\"exif-yresolution\";i:2146;s:17:\"exif-stripoffsets\";i:2147;s:17:\"exif-rowsperstrip\";i:2148;s:20:\"exif-stripbytecounts\";i:2149;s:26:\"exif-jpeginterchangeformat\";i:2150;s:32:\"exif-jpeginterchangeformatlength\";i:2151;s:15:\"exif-whitepoint\";i:2152;s:26:\"exif-primarychromaticities\";i:2153;s:22:\"exif-ycbcrcoefficients\";i:2154;s:24:\"exif-referenceblackwhite\";i:2155;s:13:\"exif-datetime\";i:2156;s:21:\"exif-imagedescription\";i:2157;s:9:\"exif-make\";i:2158;s:10:\"exif-model\";i:2159;s:13:\"exif-software\";i:2160;s:11:\"exif-artist\";i:2161;s:14:\"exif-copyright\";i:2162;s:16:\"exif-exifversion\";i:2163;s:20:\"exif-flashpixversion\";i:2164;s:15:\"exif-colorspace\";i:2165;s:28:\"exif-componentsconfiguration\";i:2166;s:27:\"exif-compressedbitsperpixel\";i:2167;s:20:\"exif-pixelydimension\";i:2168;s:20:\"exif-pixelxdimension\";i:2169;s:16:\"exif-usercomment\";i:2170;s:21:\"exif-relatedsoundfile\";i:2171;s:21:\"exif-datetimeoriginal\";i:2172;s:22:\"exif-datetimedigitized\";i:2173;s:15:\"exif-subsectime\";i:2174;s:23:\"exif-subsectimeoriginal\";i:2175;s:24:\"exif-subsectimedigitized\";i:2176;s:17:\"exif-exposuretime\";i:2177;s:24:\"exif-exposuretime-format\";i:2178;s:12:\"exif-fnumber\";i:2179;s:20:\"exif-exposureprogram\";i:2180;s:24:\"exif-spectralsensitivity\";i:2181;s:20:\"exif-isospeedratings\";i:2182;s:22:\"exif-shutterspeedvalue\";i:2183;s:18:\"exif-aperturevalue\";i:2184;s:20:\"exif-brightnessvalue\";i:2185;s:22:\"exif-exposurebiasvalue\";i:2186;s:21:\"exif-maxaperturevalue\";i:2187;s:20:\"exif-subjectdistance\";i:2188;s:17:\"exif-meteringmode\";i:2189;s:16:\"exif-lightsource\";i:2190;s:10:\"exif-flash\";i:2191;s:16:\"exif-focallength\";i:2192;s:16:\"exif-subjectarea\";i:2193;s:16:\"exif-flashenergy\";i:2194;s:26:\"exif-focalplanexresolution\";i:2195;s:26:\"exif-focalplaneyresolution\";i:2196;s:29:\"exif-focalplaneresolutionunit\";i:2197;s:20:\"exif-subjectlocation\";i:2198;s:18:\"exif-exposureindex\";i:2199;s:18:\"exif-sensingmethod\";i:2200;s:15:\"exif-filesource\";i:2201;s:14:\"exif-scenetype\";i:2202;s:19:\"exif-customrendered\";i:2203;s:17:\"exif-exposuremode\";i:2204;s:17:\"exif-whitebalance\";i:2205;s:21:\"exif-digitalzoomratio\";i:2206;s:26:\"exif-focallengthin35mmfilm\";i:2207;s:21:\"exif-scenecapturetype\";i:2208;s:16:\"exif-gaincontrol\";i:2209;s:13:\"exif-contrast\";i:2210;s:15:\"exif-saturation\";i:2211;s:14:\"exif-sharpness\";i:2212;s:29:\"exif-devicesettingdescription\";i:2213;s:25:\"exif-subjectdistancerange\";i:2214;s:18:\"exif-imageuniqueid\";i:2215;s:17:\"exif-gpsversionid\";i:2216;s:19:\"exif-gpslatituderef\";i:2217;s:16:\"exif-gpslatitude\";i:2218;s:20:\"exif-gpslongituderef\";i:2219;s:17:\"exif-gpslongitude\";i:2220;s:19:\"exif-gpsaltituderef\";i:2221;s:16:\"exif-gpsaltitude\";i:2222;s:17:\"exif-gpstimestamp\";i:2223;s:18:\"exif-gpssatellites\";i:2224;s:14:\"exif-gpsstatus\";i:2225;s:19:\"exif-gpsmeasuremode\";i:2226;s:11:\"exif-gpsdop\";i:2227;s:16:\"exif-gpsspeedref\";i:2228;s:13:\"exif-gpsspeed\";i:2229;s:16:\"exif-gpstrackref\";i:2230;s:13:\"exif-gpstrack\";i:2231;s:23:\"exif-gpsimgdirectionref\";i:2232;s:20:\"exif-gpsimgdirection\";i:2233;s:16:\"exif-gpsmapdatum\";i:2234;s:23:\"exif-gpsdestlatituderef\";i:2235;s:20:\"exif-gpsdestlatitude\";i:2236;s:24:\"exif-gpsdestlongituderef\";i:2237;s:21:\"exif-gpsdestlongitude\";i:2238;s:22:\"exif-gpsdestbearingref\";i:2239;s:19:\"exif-gpsdestbearing\";i:2240;s:23:\"exif-gpsdestdistanceref\";i:2241;s:20:\"exif-gpsdestdistance\";i:2242;s:24:\"exif-gpsprocessingmethod\";i:2243;s:23:\"exif-gpsareainformation\";i:2244;s:17:\"exif-gpsdatestamp\";i:2245;s:20:\"exif-gpsdifferential\";i:2246;s:20:\"exif-jpegfilecomment\";i:2247;s:13:\"exif-keywords\";i:2248;s:23:\"exif-worldregioncreated\";i:2249;s:19:\"exif-countrycreated\";i:2250;s:23:\"exif-countrycodecreated\";i:2251;s:27:\"exif-provinceorstatecreated\";i:2252;s:16:\"exif-citycreated\";i:2253;s:23:\"exif-sublocationcreated\";i:2254;s:20:\"exif-worldregiondest\";i:2255;s:16:\"exif-countrydest\";i:2256;s:20:\"exif-countrycodedest\";i:2257;s:24:\"exif-provinceorstatedest\";i:2258;s:13:\"exif-citydest\";i:2259;s:20:\"exif-sublocationdest\";i:2260;s:15:\"exif-objectname\";i:2261;s:24:\"exif-specialinstructions\";i:2262;s:13:\"exif-headline\";i:2263;s:11:\"exif-credit\";i:2264;s:11:\"exif-source\";i:2265;s:15:\"exif-editstatus\";i:2266;s:12:\"exif-urgency\";i:2267;s:22:\"exif-fixtureidentifier\";i:2268;s:17:\"exif-locationdest\";i:2269;s:21:\"exif-locationdestcode\";i:2270;s:16:\"exif-objectcycle\";i:2271;s:12:\"exif-contact\";i:2272;s:11:\"exif-writer\";i:2273;s:17:\"exif-languagecode\";i:2274;s:15:\"exif-iimversion\";i:2275;s:16:\"exif-iimcategory\";i:2276;s:28:\"exif-iimsupplementalcategory\";i:2277;s:20:\"exif-datetimeexpires\";i:2278;s:21:\"exif-datetimereleased\";i:2279;s:28:\"exif-originaltransmissionref\";i:2280;s:15:\"exif-identifier\";i:2281;s:9:\"exif-lens\";i:2282;s:17:\"exif-serialnumber\";i:2283;s:20:\"exif-cameraownername\";i:2284;s:10:\"exif-label\";i:2285;s:21:\"exif-datetimemetadata\";i:2286;s:13:\"exif-nickname\";i:2287;s:11:\"exif-rating\";i:2288;s:22:\"exif-rightscertificate\";i:2289;s:16:\"exif-copyrighted\";i:2290;s:19:\"exif-copyrightowner\";i:2291;s:15:\"exif-usageterms\";i:2292;s:17:\"exif-webstatement\";i:2293;s:23:\"exif-originaldocumentid\";i:2294;s:15:\"exif-licenseurl\";i:2295;s:23:\"exif-morepermissionsurl\";i:2296;s:19:\"exif-attributionurl\";i:2297;s:29:\"exif-preferredattributionname\";i:2298;s:19:\"exif-pngfilecomment\";i:2299;s:15:\"exif-disclaimer\";i:2300;s:19:\"exif-contentwarning\";i:2301;s:19:\"exif-giffilecomment\";i:2302;s:22:\"exif-intellectualgenre\";i:2303;s:20:\"exif-subjectnewscode\";i:2304;s:14:\"exif-scenecode\";i:2305;s:10:\"exif-event\";i:2306;s:24:\"exif-organisationinimage\";i:2307;s:18:\"exif-personinimage\";i:2308;s:24:\"exif-originalimageheight\";i:2309;s:23:\"exif-originalimagewidth\";i:2310;s:18:\"exif-compression-1\";i:2311;s:18:\"exif-compression-2\";i:2312;s:18:\"exif-compression-3\";i:2313;s:18:\"exif-compression-4\";i:2314;s:21:\"exif-copyrighted-true\";i:2315;s:22:\"exif-copyrighted-false\";i:2316;s:16:\"exif-unknowndate\";i:2317;s:18:\"exif-orientation-1\";i:2318;s:18:\"exif-orientation-2\";i:2319;s:18:\"exif-orientation-3\";i:2320;s:18:\"exif-orientation-4\";i:2321;s:18:\"exif-orientation-5\";i:2322;s:18:\"exif-orientation-6\";i:2323;s:18:\"exif-orientation-7\";i:2324;s:18:\"exif-orientation-8\";i:2325;s:26:\"exif-planarconfiguration-1\";i:2326;s:26:\"exif-planarconfiguration-2\";i:2327;s:21:\"exif-colorspace-65535\";i:2328;s:30:\"exif-componentsconfiguration-0\";i:2329;s:22:\"exif-exposureprogram-0\";i:2330;s:22:\"exif-exposureprogram-1\";i:2331;s:22:\"exif-exposureprogram-2\";i:2332;s:22:\"exif-exposureprogram-3\";i:2333;s:22:\"exif-exposureprogram-4\";i:2334;s:22:\"exif-exposureprogram-5\";i:2335;s:22:\"exif-exposureprogram-6\";i:2336;s:22:\"exif-exposureprogram-7\";i:2337;s:22:\"exif-exposureprogram-8\";i:2338;s:26:\"exif-subjectdistance-value\";i:2339;s:19:\"exif-meteringmode-0\";i:2340;s:19:\"exif-meteringmode-1\";i:2341;s:19:\"exif-meteringmode-2\";i:2342;s:19:\"exif-meteringmode-3\";i:2343;s:19:\"exif-meteringmode-4\";i:2344;s:19:\"exif-meteringmode-5\";i:2345;s:19:\"exif-meteringmode-6\";i:2346;s:21:\"exif-meteringmode-255\";i:2347;s:18:\"exif-lightsource-0\";i:2348;s:18:\"exif-lightsource-1\";i:2349;s:18:\"exif-lightsource-2\";i:2350;s:18:\"exif-lightsource-3\";i:2351;s:18:\"exif-lightsource-4\";i:2352;s:18:\"exif-lightsource-9\";i:2353;s:19:\"exif-lightsource-10\";i:2354;s:19:\"exif-lightsource-11\";i:2355;s:19:\"exif-lightsource-12\";i:2356;s:19:\"exif-lightsource-13\";i:2357;s:19:\"exif-lightsource-14\";i:2358;s:19:\"exif-lightsource-15\";i:2359;s:19:\"exif-lightsource-17\";i:2360;s:19:\"exif-lightsource-18\";i:2361;s:19:\"exif-lightsource-19\";i:2362;s:19:\"exif-lightsource-24\";i:2363;s:20:\"exif-lightsource-255\";i:2364;s:18:\"exif-flash-fired-0\";i:2365;s:18:\"exif-flash-fired-1\";i:2366;s:19:\"exif-flash-return-0\";i:2367;s:19:\"exif-flash-return-2\";i:2368;s:19:\"exif-flash-return-3\";i:2369;s:17:\"exif-flash-mode-1\";i:2370;s:17:\"exif-flash-mode-2\";i:2371;s:17:\"exif-flash-mode-3\";i:2372;s:21:\"exif-flash-function-1\";i:2373;s:19:\"exif-flash-redeye-1\";i:2374;s:31:\"exif-focalplaneresolutionunit-2\";i:2375;s:20:\"exif-sensingmethod-1\";i:2376;s:20:\"exif-sensingmethod-2\";i:2377;s:20:\"exif-sensingmethod-3\";i:2378;s:20:\"exif-sensingmethod-4\";i:2379;s:20:\"exif-sensingmethod-5\";i:2380;s:20:\"exif-sensingmethod-7\";i:2381;s:20:\"exif-sensingmethod-8\";i:2382;s:17:\"exif-filesource-3\";i:2383;s:16:\"exif-scenetype-1\";i:2384;s:21:\"exif-customrendered-0\";i:2385;s:21:\"exif-customrendered-1\";i:2386;s:19:\"exif-exposuremode-0\";i:2387;s:19:\"exif-exposuremode-1\";i:2388;s:19:\"exif-exposuremode-2\";i:2389;s:19:\"exif-whitebalance-0\";i:2390;s:19:\"exif-whitebalance-1\";i:2391;s:23:\"exif-scenecapturetype-0\";i:2392;s:23:\"exif-scenecapturetype-1\";i:2393;s:23:\"exif-scenecapturetype-2\";i:2394;s:23:\"exif-scenecapturetype-3\";i:2395;s:18:\"exif-gaincontrol-0\";i:2396;s:18:\"exif-gaincontrol-1\";i:2397;s:18:\"exif-gaincontrol-2\";i:2398;s:18:\"exif-gaincontrol-3\";i:2399;s:18:\"exif-gaincontrol-4\";i:2400;s:15:\"exif-contrast-0\";i:2401;s:15:\"exif-contrast-1\";i:2402;s:15:\"exif-contrast-2\";i:2403;s:17:\"exif-saturation-0\";i:2404;s:17:\"exif-saturation-1\";i:2405;s:17:\"exif-saturation-2\";i:2406;s:16:\"exif-sharpness-0\";i:2407;s:16:\"exif-sharpness-1\";i:2408;s:16:\"exif-sharpness-2\";i:2409;s:27:\"exif-subjectdistancerange-0\";i:2410;s:27:\"exif-subjectdistancerange-1\";i:2411;s:27:\"exif-subjectdistancerange-2\";i:2412;s:27:\"exif-subjectdistancerange-3\";i:2413;s:18:\"exif-gpslatitude-n\";i:2414;s:18:\"exif-gpslatitude-s\";i:2415;s:19:\"exif-gpslongitude-e\";i:2416;s:19:\"exif-gpslongitude-w\";i:2417;s:31:\"exif-gpsaltitude-above-sealevel\";i:2418;s:31:\"exif-gpsaltitude-below-sealevel\";i:2419;s:16:\"exif-gpsstatus-a\";i:2420;s:16:\"exif-gpsstatus-v\";i:2421;s:21:\"exif-gpsmeasuremode-2\";i:2422;s:21:\"exif-gpsmeasuremode-3\";i:2423;s:15:\"exif-gpsspeed-k\";i:2424;s:15:\"exif-gpsspeed-m\";i:2425;s:15:\"exif-gpsspeed-n\";i:2426;s:22:\"exif-gpsdestdistance-k\";i:2427;s:22:\"exif-gpsdestdistance-m\";i:2428;s:22:\"exif-gpsdestdistance-n\";i:2429;s:21:\"exif-gpsdop-excellent\";i:2430;s:16:\"exif-gpsdop-good\";i:2431;s:20:\"exif-gpsdop-moderate\";i:2432;s:16:\"exif-gpsdop-fair\";i:2433;s:16:\"exif-gpsdop-poor\";i:2434;s:18:\"exif-objectcycle-a\";i:2435;s:18:\"exif-objectcycle-p\";i:2436;s:18:\"exif-objectcycle-b\";i:2437;s:19:\"exif-gpsdirection-t\";i:2438;s:19:\"exif-gpsdirection-m\";i:2439;s:23:\"exif-ycbcrpositioning-1\";i:2440;s:23:\"exif-ycbcrpositioning-2\";i:2441;s:19:\"exif-dc-contributor\";i:2442;s:16:\"exif-dc-coverage\";i:2443;s:12:\"exif-dc-date\";i:2444;s:17:\"exif-dc-publisher\";i:2445;s:16:\"exif-dc-relation\";i:2446;s:14:\"exif-dc-rights\";i:2447;s:14:\"exif-dc-source\";i:2448;s:12:\"exif-dc-type\";i:2449;s:20:\"exif-rating-rejected\";i:2450;s:29:\"exif-isospeedratings-overflow\";i:2451;s:20:\"exif-iimcategory-ace\";i:2452;s:20:\"exif-iimcategory-clj\";i:2453;s:20:\"exif-iimcategory-dis\";i:2454;s:20:\"exif-iimcategory-fin\";i:2455;s:20:\"exif-iimcategory-edu\";i:2456;s:20:\"exif-iimcategory-evn\";i:2457;s:20:\"exif-iimcategory-hth\";i:2458;s:20:\"exif-iimcategory-hum\";i:2459;s:20:\"exif-iimcategory-lab\";i:2460;s:20:\"exif-iimcategory-lif\";i:2461;s:20:\"exif-iimcategory-pol\";i:2462;s:20:\"exif-iimcategory-rel\";i:2463;s:20:\"exif-iimcategory-sci\";i:2464;s:20:\"exif-iimcategory-soi\";i:2465;s:20:\"exif-iimcategory-spo\";i:2466;s:20:\"exif-iimcategory-war\";i:2467;s:20:\"exif-iimcategory-wea\";i:2468;s:19:\"exif-urgency-normal\";i:2469;s:16:\"exif-urgency-low\";i:2470;s:17:\"exif-urgency-high\";i:2471;s:18:\"exif-urgency-other\";i:2472;s:15:\"edit-externally\";i:2473;s:20:\"edit-externally-help\";i:2474;s:13:\"watchlistall2\";i:2475;s:13:\"namespacesall\";i:2476;s:9:\"monthsall\";i:2477;s:8:\"limitall\";i:2478;s:12:\"confirmemail\";i:2479;s:20:\"confirmemail_noemail\";i:2480;s:17:\"confirmemail_text\";i:2481;s:20:\"confirmemail_pending\";i:2482;s:17:\"confirmemail_send\";i:2483;s:17:\"confirmemail_sent\";i:2484;s:21:\"confirmemail_oncreate\";i:2485;s:23:\"confirmemail_sendfailed\";i:2486;s:20:\"confirmemail_invalid\";i:2487;s:22:\"confirmemail_needlogin\";i:2488;s:20:\"confirmemail_success\";i:2489;s:21:\"confirmemail_loggedin\";i:2490;s:18:\"confirmemail_error\";i:2491;s:20:\"confirmemail_subject\";i:2492;s:17:\"confirmemail_body\";i:2493;s:25:\"confirmemail_body_changed\";i:2494;s:21:\"confirmemail_body_set\";i:2495;s:24:\"confirmemail_invalidated\";i:2496;s:15:\"invalidateemail\";i:2497;s:23:\"scarytranscludedisabled\";i:2498;s:21:\"scarytranscludefailed\";i:2499;s:22:\"scarytranscludetoolong\";i:2500;s:12:\"trackbackbox\";i:2501;s:15:\"trackbackremove\";i:2502;s:13:\"trackbacklink\";i:2503;s:17:\"trackbackdeleteok\";i:2504;s:19:\"deletedwhileediting\";i:2505;s:15:\"confirmrecreate\";i:2506;s:24:\"confirmrecreate-noreason\";i:2507;s:8:\"recreate\";i:2508;s:20:\"confirm_purge_button\";i:2509;s:17:\"confirm-purge-top\";i:2510;s:20:\"confirm-purge-bottom\";i:2511;s:20:\"confirm-watch-button\";i:2512;s:17:\"confirm-watch-top\";i:2513;s:22:\"confirm-unwatch-button\";i:2514;s:19:\"confirm-unwatch-top\";i:2515;s:15:\"comma-separator\";i:2516;s:16:\"imgmultipageprev\";i:2517;s:16:\"imgmultipagenext\";i:2518;s:10:\"imgmultigo\";i:2519;s:12:\"imgmultigoto\";i:2520;s:16:\"ascending_abbrev\";i:2521;s:17:\"descending_abbrev\";i:2522;s:16:\"table_pager_next\";i:2523;s:16:\"table_pager_prev\";i:2524;s:17:\"table_pager_first\";i:2525;s:16:\"table_pager_last\";i:2526;s:17:\"table_pager_limit\";i:2527;s:23:\"table_pager_limit_label\";i:2528;s:24:\"table_pager_limit_submit\";i:2529;s:17:\"table_pager_empty\";i:2530;s:14:\"autosumm-blank\";i:2531;s:16:\"autosumm-replace\";i:2532;s:16:\"autoredircomment\";i:2533;s:12:\"autosumm-new\";i:2534;s:19:\"livepreview-loading\";i:2535;s:17:\"livepreview-ready\";i:2536;s:18:\"livepreview-failed\";i:2537;s:17:\"livepreview-error\";i:2538;s:15:\"lag-warn-normal\";i:2539;s:13:\"lag-warn-high\";i:2540;s:22:\"watchlistedit-numitems\";i:2541;s:21:\"watchlistedit-noitems\";i:2542;s:26:\"watchlistedit-normal-title\";i:2543;s:27:\"watchlistedit-normal-legend\";i:2544;s:28:\"watchlistedit-normal-explain\";i:2545;s:27:\"watchlistedit-normal-submit\";i:2546;s:25:\"watchlistedit-normal-done\";i:2547;s:23:\"watchlistedit-raw-title\";i:2548;s:24:\"watchlistedit-raw-legend\";i:2549;s:25:\"watchlistedit-raw-explain\";i:2550;s:24:\"watchlistedit-raw-titles\";i:2551;s:24:\"watchlistedit-raw-submit\";i:2552;s:22:\"watchlistedit-raw-done\";i:2553;s:23:\"watchlistedit-raw-added\";i:2554;s:25:\"watchlistedit-raw-removed\";i:2555;s:19:\"watchlisttools-view\";i:2556;s:19:\"watchlisttools-edit\";i:2557;s:18:\"watchlisttools-raw\";i:2558;s:21:\"unknown_extension_tag\";i:2559;s:21:\"duplicate-defaultsort\";i:2560;s:7:\"version\";i:2561;s:18:\"version-extensions\";i:2562;s:20:\"version-specialpages\";i:2563;s:19:\"version-parserhooks\";i:2564;s:17:\"version-variables\";i:2565;s:16:\"version-antispam\";i:2566;s:13:\"version-skins\";i:2567;s:13:\"version-other\";i:2568;s:21:\"version-mediahandlers\";i:2569;s:13:\"version-hooks\";i:2570;s:27:\"version-extension-functions\";i:2571;s:28:\"version-parser-extensiontags\";i:2572;s:29:\"version-parser-function-hooks\";i:2573;s:17:\"version-hook-name\";i:2574;s:25:\"version-hook-subscribedby\";i:2575;s:15:\"version-version\";i:2576;s:15:\"version-license\";i:2577;s:25:\"version-poweredby-credits\";i:2578;s:24:\"version-poweredby-others\";i:2579;s:20:\"version-license-info\";i:2580;s:16:\"version-software\";i:2581;s:24:\"version-software-product\";i:2582;s:24:\"version-software-version\";i:2583;s:8:\"filepath\";i:2584;s:13:\"filepath-page\";i:2585;s:15:\"filepath-submit\";i:2586;s:16:\"filepath-summary\";i:2587;s:19:\"fileduplicatesearch\";i:2588;s:27:\"fileduplicatesearch-summary\";i:2589;s:26:\"fileduplicatesearch-legend\";i:2590;s:28:\"fileduplicatesearch-filename\";i:2591;s:26:\"fileduplicatesearch-submit\";i:2592;s:24:\"fileduplicatesearch-info\";i:2593;s:28:\"fileduplicatesearch-result-1\";i:2594;s:28:\"fileduplicatesearch-result-n\";i:2595;s:29:\"fileduplicatesearch-noresults\";i:2596;s:12:\"specialpages\";i:2597;s:17:\"specialpages-note\";i:2598;s:30:\"specialpages-group-maintenance\";i:2599;s:24:\"specialpages-group-other\";i:2600;s:24:\"specialpages-group-login\";i:2601;s:26:\"specialpages-group-changes\";i:2602;s:24:\"specialpages-group-media\";i:2603;s:24:\"specialpages-group-users\";i:2604;s:26:\"specialpages-group-highuse\";i:2605;s:24:\"specialpages-group-pages\";i:2606;s:28:\"specialpages-group-pagetools\";i:2607;s:23:\"specialpages-group-wiki\";i:2608;s:28:\"specialpages-group-redirects\";i:2609;s:23:\"specialpages-group-spam\";i:2610;s:9:\"blankpage\";i:2611;s:22:\"intentionallyblankpage\";i:2612;s:24:\"external_image_whitelist\";i:2613;s:4:\"tags\";i:2614;s:10:\"tag-filter\";i:2615;s:17:\"tag-filter-submit\";i:2616;s:10:\"tags-title\";i:2617;s:10:\"tags-intro\";i:2618;s:8:\"tags-tag\";i:2619;s:19:\"tags-display-header\";i:2620;s:23:\"tags-description-header\";i:2621;s:20:\"tags-hitcount-header\";i:2622;s:9:\"tags-edit\";i:2623;s:13:\"tags-hitcount\";i:2624;s:12:\"comparepages\";i:2625;s:16:\"compare-selector\";i:2626;s:13:\"compare-page1\";i:2627;s:13:\"compare-page2\";i:2628;s:12:\"compare-rev1\";i:2629;s:12:\"compare-rev2\";i:2630;s:14:\"compare-submit\";i:2631;s:12:\"dberr-header\";i:2632;s:14:\"dberr-problems\";i:2633;s:11:\"dberr-again\";i:2634;s:10:\"dberr-info\";i:2635;s:15:\"dberr-usegoogle\";i:2636;s:15:\"dberr-outofdate\";i:2637;s:17:\"dberr-cachederror\";i:2638;s:22:\"htmlform-invalid-input\";i:2639;s:25:\"htmlform-select-badoption\";i:2640;s:20:\"htmlform-int-invalid\";i:2641;s:22:\"htmlform-float-invalid\";i:2642;s:19:\"htmlform-int-toolow\";i:2643;s:20:\"htmlform-int-toohigh\";i:2644;s:17:\"htmlform-required\";i:2645;s:15:\"htmlform-submit\";i:2646;s:14:\"htmlform-reset\";i:2647;s:28:\"htmlform-selectorother-other\";i:2648;s:14:\"sqlite-has-fts\";i:2649;s:13:\"sqlite-no-fts\";i:2650;s:7:\"sidebar\";i:2651;s:18:\"pagecategorieslink\";i:2652;s:10:\"linkprefix\";i:2653;s:9:\"sitetitle\";i:2654;s:12:\"sitesubtitle\";i:2655;s:10:\"addsection\";i:2656;s:14:\"talkpageheader\";i:2657;s:9:\"pagetitle\";i:2658;s:23:\"pagetitle-view-mainpage\";i:2659;s:16:\"newtalkseparator\";i:2660;s:20:\"editsection-brackets\";i:2661;s:9:\"feed-atom\";i:2662;s:8:\"feed-rss\";i:2663;s:10:\"sitenotice\";i:2664;s:10:\"anonnotice\";i:2665;s:28:\"newsectionheaderdefaultlevel\";i:2666;s:14:\"mainpage-nstab\";i:2667;s:17:\"nocookiesforlogin\";i:2668;s:10:\"loginstart\";i:2669;s:8:\"loginend\";i:2670;s:14:\"loginend-https\";i:2671;s:11:\"signupstart\";i:2672;s:9:\"signupend\";i:2673;s:15:\"signupend-https\";i:2674;s:18:\"loginlanguagelinks\";i:2675;s:15:\"pear-mail-error\";i:2676;s:14:\"php-mail-error\";i:2677;s:18:\"newarticletextanon\";i:2678;s:12:\"talkpagetext\";i:2679;s:17:\"noarticletextanon\";i:2680;s:20:\"editpage-tos-summary\";i:2681;s:13:\"longpage-hint\";i:2682;s:16:\"edittools-upload\";i:2683;s:18:\"addsection-preload\";i:2684;s:20:\"addsection-editintro\";i:2685;s:21:\"revision-info-current\";i:2686;s:12:\"revision-nav\";i:2687;s:17:\"history_copyright\";i:2688;s:14:\"search-summary\";i:2689;s:23:\"searchmenu-new-nocreate\";i:2690;s:15:\"searchmenu-help\";i:2691;s:23:\"search-interwiki-custom\";i:2692;s:12:\"googlesearch\";i:2693;s:15:\"opensearch-desc\";i:2694;s:19:\"preferences-summary\";i:2695;s:25:\"prefs-memberingroups-type\";i:2696;s:28:\"prefs-registration-date-time\";i:2697;s:18:\"userrights-summary\";i:2698;s:30:\"userrights-irreversible-marker\";i:2699;s:17:\"recentchanges-url\";i:2700;s:17:\"unpatrolledletter\";i:2701;s:11:\"sectionlink\";i:2702;s:31:\"number_of_watching_users_RCview\";i:2703;s:14:\"rc-change-size\";i:2704;s:28:\"recentchangeslinked-backlink\";i:2705;s:14:\"upload-summary\";i:2706;s:12:\"uploadfooter\";i:2707;s:25:\"filename-prefix-blacklist\";i:2708;s:8:\"licenses\";i:2709;s:24:\"shareddescriptionfollows\";i:2710;s:33:\"shared-repo-name-wikimediacommons\";i:2711;s:12:\"filepage.css\";i:2712;s:19:\"filerevert-backlink\";i:2713;s:19:\"filedelete-backlink\";i:2714;s:22:\"unwatchedpages-summary\";i:2715;s:21:\"listredirects-summary\";i:2716;s:23:\"unusedtemplates-summary\";i:2717;s:14:\"randompage-url\";i:2718;s:18:\"statistics-summary\";i:2719;s:17:\"statistics-footer\";i:2720;s:23:\"disambiguations-summary\";i:2721;s:23:\"doubleredirects-summary\";i:2722;s:23:\"brokenredirects-summary\";i:2723;s:23:\"fewestrevisions-summary\";i:2724;s:19:\"lonelypages-summary\";i:2725;s:26:\"uncategorizedpages-summary\";i:2726;s:31:\"uncategorizedcategories-summary\";i:2727;s:27:\"uncategorizedimages-summary\";i:2728;s:30:\"uncategorizedtemplates-summary\";i:2729;s:20:\"popularpages-summary\";i:2730;s:24:\"wantedcategories-summary\";i:2731;s:19:\"wantedpages-summary\";i:2732;s:19:\"wantedfiles-summary\";i:2733;s:23:\"wantedtemplates-summary\";i:2734;s:18:\"mostlinked-summary\";i:2735;s:28:\"mostlinkedcategories-summary\";i:2736;s:27:\"mostlinkedtemplates-summary\";i:2737;s:22:\"mostcategories-summary\";i:2738;s:18:\"mostimages-summary\";i:2739;s:21:\"mostrevisions-summary\";i:2740;s:19:\"prefixindex-summary\";i:2741;s:18:\"shortpages-summary\";i:2742;s:17:\"longpages-summary\";i:2743;s:20:\"deadendpages-summary\";i:2744;s:22:\"protectedpages-summary\";i:2745;s:23:\"protectedtitles-summary\";i:2746;s:17:\"listusers-summary\";i:2747;s:16:\"newpages-summary\";i:2748;s:20:\"ancientpages-summary\";i:2749;s:19:\"booksources-summary\";i:2750;s:16:\"booksources-isbn\";i:2751;s:6:\"rfcurl\";i:2752;s:9:\"pubmedurl\";i:2753;s:16:\"allpages-summary\";i:2754;s:18:\"categories-summary\";i:2755;s:19:\"activeusers-summary\";i:2756;s:15:\"newuserlogentry\";i:2757;s:29:\"listgrouprights-right-display\";i:2758;s:29:\"listgrouprights-right-revoked\";i:2759;s:20:\"usermessage-template\";i:2760;s:15:\"delete-backlink\";i:2761;s:16:\"protect-backlink\";i:2762;s:24:\"sp-contributions-explain\";i:2763;s:23:\"sp-contributions-footer\";i:2764;s:28:\"sp-contributions-footer-anon\";i:2765;s:21:\"whatlinkshere-summary\";i:2766;s:22:\"whatlinkshere-backlink\";i:2767;s:17:\"blocklist-summary\";i:2768;s:5:\"sorbs\";i:2769;s:21:\"accesskey-pt-userpage\";i:2770;s:25:\"accesskey-pt-anonuserpage\";i:2771;s:19:\"accesskey-pt-mytalk\";i:2772;s:21:\"accesskey-pt-anontalk\";i:2773;s:24:\"accesskey-pt-preferences\";i:2774;s:22:\"accesskey-pt-watchlist\";i:2775;s:22:\"accesskey-pt-mycontris\";i:2776;s:18:\"accesskey-pt-login\";i:2777;s:22:\"accesskey-pt-anonlogin\";i:2778;s:19:\"accesskey-pt-logout\";i:2779;s:17:\"accesskey-ca-talk\";i:2780;s:17:\"accesskey-ca-edit\";i:2781;s:23:\"accesskey-ca-addsection\";i:2782;s:23:\"accesskey-ca-viewsource\";i:2783;s:20:\"accesskey-ca-history\";i:2784;s:20:\"accesskey-ca-protect\";i:2785;s:22:\"accesskey-ca-unprotect\";i:2786;s:19:\"accesskey-ca-delete\";i:2787;s:21:\"accesskey-ca-undelete\";i:2788;s:17:\"accesskey-ca-move\";i:2789;s:18:\"accesskey-ca-watch\";i:2790;s:20:\"accesskey-ca-unwatch\";i:2791;s:16:\"accesskey-search\";i:2792;s:19:\"accesskey-search-go\";i:2793;s:25:\"accesskey-search-fulltext\";i:2794;s:16:\"accesskey-p-logo\";i:2795;s:20:\"accesskey-n-mainpage\";i:2796;s:32:\"accesskey-n-mainpage-description\";i:2797;s:18:\"accesskey-n-portal\";i:2798;s:25:\"accesskey-n-currentevents\";i:2799;s:25:\"accesskey-n-recentchanges\";i:2800;s:22:\"accesskey-n-randompage\";i:2801;s:16:\"accesskey-n-help\";i:2802;s:25:\"accesskey-t-whatlinkshere\";i:2803;s:31:\"accesskey-t-recentchangeslinked\";i:2804;s:18:\"accesskey-feed-rss\";i:2805;s:19:\"accesskey-feed-atom\";i:2806;s:25:\"accesskey-t-contributions\";i:2807;s:21:\"accesskey-t-emailuser\";i:2808;s:21:\"accesskey-t-permalink\";i:2809;s:17:\"accesskey-t-print\";i:2810;s:18:\"accesskey-t-upload\";i:2811;s:24:\"accesskey-t-specialpages\";i:2812;s:23:\"accesskey-ca-nstab-main\";i:2813;s:23:\"accesskey-ca-nstab-user\";i:2814;s:24:\"accesskey-ca-nstab-media\";i:2815;s:26:\"accesskey-ca-nstab-special\";i:2816;s:26:\"accesskey-ca-nstab-project\";i:2817;s:24:\"accesskey-ca-nstab-image\";i:2818;s:28:\"accesskey-ca-nstab-mediawiki\";i:2819;s:27:\"accesskey-ca-nstab-template\";i:2820;s:23:\"accesskey-ca-nstab-help\";i:2821;s:27:\"accesskey-ca-nstab-category\";i:2822;s:19:\"accesskey-minoredit\";i:2823;s:14:\"accesskey-save\";i:2824;s:17:\"accesskey-preview\";i:2825;s:14:\"accesskey-diff\";i:2826;s:33:\"accesskey-compareselectedversions\";i:2827;s:15:\"accesskey-watch\";i:2828;s:16:\"accesskey-upload\";i:2829;s:26:\"accesskey-preferences-save\";i:2830;s:17:\"accesskey-summary\";i:2831;s:24:\"accesskey-userrights-set\";i:2832;s:23:\"accesskey-blockip-block\";i:2833;s:16:\"accesskey-export\";i:2834;s:16:\"accesskey-import\";i:2835;s:12:\"noscript.css\";i:2836;s:23:\"group-autoconfirmed.css\";i:2837;s:13:\"group-bot.css\";i:2838;s:15:\"group-sysop.css\";i:2839;s:20:\"group-bureaucrat.css\";i:2840;s:22:\"group-autoconfirmed.js\";i:2841;s:12:\"group-bot.js\";i:2842;s:14:\"group-sysop.js\";i:2843;s:19:\"group-bureaucrat.js\";i:2844;s:19:\"markaspatrolledlink\";i:2845;s:11:\"widthheight\";i:2846;s:10:\"video-dims\";i:2847;s:14:\"seconds-abbrev\";i:2848;s:11:\"days-abbrev\";i:2849;s:19:\"variantname-zh-hans\";i:2850;s:19:\"variantname-zh-hant\";i:2851;s:17:\"variantname-zh-cn\";i:2852;s:17:\"variantname-zh-tw\";i:2853;s:17:\"variantname-zh-hk\";i:2854;s:17:\"variantname-zh-mo\";i:2855;s:17:\"variantname-zh-sg\";i:2856;s:17:\"variantname-zh-my\";i:2857;s:14:\"variantname-zh\";i:2858;s:20:\"variantname-gan-hans\";i:2859;s:20:\"variantname-gan-hant\";i:2860;s:15:\"variantname-gan\";i:2861;s:17:\"variantname-sr-ec\";i:2862;s:17:\"variantname-sr-el\";i:2863;s:14:\"variantname-sr\";i:2864;s:17:\"variantname-kk-kz\";i:2865;s:17:\"variantname-kk-tr\";i:2866;s:17:\"variantname-kk-cn\";i:2867;s:19:\"variantname-kk-cyrl\";i:2868;s:19:\"variantname-kk-latn\";i:2869;s:19:\"variantname-kk-arab\";i:2870;s:14:\"variantname-kk\";i:2871;s:19:\"variantname-ku-arab\";i:2872;s:19:\"variantname-ku-latn\";i:2873;s:14:\"variantname-ku\";i:2874;s:19:\"variantname-tg-cyrl\";i:2875;s:19:\"variantname-tg-latn\";i:2876;s:14:\"variantname-tg\";i:2877;s:20:\"variantname-ike-cans\";i:2878;s:20:\"variantname-ike-latn\";i:2879;s:14:\"variantname-iu\";i:2880;s:17:\"metadata-langitem\";i:2881;s:25:\"metadata-langitem-default\";i:2882;s:19:\"exif-fnumber-format\";i:2883;s:23:\"exif-focallength-format\";i:2884;s:22:\"exif-coordinate-format\";i:2885;s:15:\"exif-make-value\";i:2886;s:16:\"exif-model-value\";i:2887;s:19:\"exif-software-value\";i:2888;s:27:\"exif-software-version-value\";i:2889;s:18:\"exif-contact-value\";i:2890;s:26:\"exif-subjectnewscode-value\";i:2891;s:18:\"exif-compression-5\";i:2892;s:18:\"exif-compression-6\";i:2893;s:18:\"exif-compression-7\";i:2894;s:18:\"exif-compression-8\";i:2895;s:22:\"exif-compression-32773\";i:2896;s:22:\"exif-compression-32946\";i:2897;s:22:\"exif-compression-34712\";i:2898;s:32:\"exif-photometricinterpretation-2\";i:2899;s:32:\"exif-photometricinterpretation-6\";i:2900;s:19:\"exif-xyresolution-i\";i:2901;s:19:\"exif-xyresolution-c\";i:2902;s:17:\"exif-colorspace-1\";i:2903;s:30:\"exif-componentsconfiguration-1\";i:2904;s:30:\"exif-componentsconfiguration-2\";i:2905;s:30:\"exif-componentsconfiguration-3\";i:2906;s:30:\"exif-componentsconfiguration-4\";i:2907;s:30:\"exif-componentsconfiguration-5\";i:2908;s:30:\"exif-componentsconfiguration-6\";i:2909;s:19:\"exif-lightsource-20\";i:2910;s:19:\"exif-lightsource-21\";i:2911;s:19:\"exif-lightsource-22\";i:2912;s:19:\"exif-lightsource-23\";i:2913;s:27:\"exif-maxaperturevalue-value\";i:2914;s:9:\"trackback\";i:2915;s:16:\"trackbackexcerpt\";i:2916;s:10:\"unit-pixel\";i:2917;s:19:\"semicolon-separator\";i:2918;s:15:\"colon-separator\";i:2919;s:18:\"autocomment-prefix\";i:2920;s:14:\"pipe-separator\";i:2921;s:14:\"word-separator\";i:2922;s:8:\"ellipsis\";i:2923;s:7:\"percent\";i:2924;s:11:\"parentheses\";i:2925;s:19:\"autoblock_whitelist\";i:2926;s:10:\"size-bytes\";i:2927;s:14:\"size-kilobytes\";i:2928;s:14:\"size-megabytes\";i:2929;s:14:\"size-gigabytes\";i:2930;s:19:\"iranian-calendar-m1\";i:2931;s:19:\"iranian-calendar-m2\";i:2932;s:19:\"iranian-calendar-m3\";i:2933;s:19:\"iranian-calendar-m4\";i:2934;s:19:\"iranian-calendar-m5\";i:2935;s:19:\"iranian-calendar-m6\";i:2936;s:19:\"iranian-calendar-m7\";i:2937;s:19:\"iranian-calendar-m8\";i:2938;s:19:\"iranian-calendar-m9\";i:2939;s:20:\"iranian-calendar-m10\";i:2940;s:20:\"iranian-calendar-m11\";i:2941;s:20:\"iranian-calendar-m12\";i:2942;s:17:\"hijri-calendar-m1\";i:2943;s:17:\"hijri-calendar-m2\";i:2944;s:17:\"hijri-calendar-m3\";i:2945;s:17:\"hijri-calendar-m4\";i:2946;s:17:\"hijri-calendar-m5\";i:2947;s:17:\"hijri-calendar-m6\";i:2948;s:17:\"hijri-calendar-m7\";i:2949;s:17:\"hijri-calendar-m8\";i:2950;s:17:\"hijri-calendar-m9\";i:2951;s:18:\"hijri-calendar-m10\";i:2952;s:18:\"hijri-calendar-m11\";i:2953;s:18:\"hijri-calendar-m12\";i:2954;s:18:\"hebrew-calendar-m1\";i:2955;s:18:\"hebrew-calendar-m2\";i:2956;s:18:\"hebrew-calendar-m3\";i:2957;s:18:\"hebrew-calendar-m4\";i:2958;s:18:\"hebrew-calendar-m5\";i:2959;s:18:\"hebrew-calendar-m6\";i:2960;s:19:\"hebrew-calendar-m6a\";i:2961;s:19:\"hebrew-calendar-m6b\";i:2962;s:18:\"hebrew-calendar-m7\";i:2963;s:18:\"hebrew-calendar-m8\";i:2964;s:18:\"hebrew-calendar-m9\";i:2965;s:19:\"hebrew-calendar-m10\";i:2966;s:19:\"hebrew-calendar-m11\";i:2967;s:19:\"hebrew-calendar-m12\";i:2968;s:22:\"hebrew-calendar-m1-gen\";i:2969;s:22:\"hebrew-calendar-m2-gen\";i:2970;s:22:\"hebrew-calendar-m3-gen\";i:2971;s:22:\"hebrew-calendar-m4-gen\";i:2972;s:22:\"hebrew-calendar-m5-gen\";i:2973;s:22:\"hebrew-calendar-m6-gen\";i:2974;s:23:\"hebrew-calendar-m6a-gen\";i:2975;s:23:\"hebrew-calendar-m6b-gen\";i:2976;s:22:\"hebrew-calendar-m7-gen\";i:2977;s:22:\"hebrew-calendar-m8-gen\";i:2978;s:22:\"hebrew-calendar-m9-gen\";i:2979;s:23:\"hebrew-calendar-m10-gen\";i:2980;s:23:\"hebrew-calendar-m11-gen\";i:2981;s:23:\"hebrew-calendar-m12-gen\";i:2982;s:9:\"signature\";i:2983;s:14:\"signature-anon\";i:2984;s:12:\"timezone-utc\";i:2985;s:11:\"version-api\";i:2986;s:20:\"version-svn-revision\";i:2987;s:20:\"specialpages-summary\";}}'),('es','preload','a:3:{s:8:\"messages\";a:95:{s:9:\"aboutpage\";s:17:\"Project:Acerca de\";s:9:\"aboutsite\";s:22:\"Acerca de {{SITENAME}}\";s:17:\"accesskey-ca-edit\";s:1:\"e\";s:20:\"accesskey-ca-history\";s:1:\"h\";s:23:\"accesskey-ca-nstab-main\";s:1:\"c\";s:17:\"accesskey-ca-talk\";s:1:\"t\";s:25:\"accesskey-n-currentevents\";s:0:\"\";s:16:\"accesskey-n-help\";s:0:\"\";s:32:\"accesskey-n-mainpage-description\";s:1:\"z\";s:18:\"accesskey-n-portal\";s:0:\"\";s:22:\"accesskey-n-randompage\";s:1:\"x\";s:25:\"accesskey-n-recentchanges\";s:1:\"r\";s:23:\"accesskey-n-sitesupport\";N;s:16:\"accesskey-p-logo\";s:0:\"\";s:18:\"accesskey-pt-login\";s:1:\"o\";s:16:\"accesskey-search\";s:1:\"f\";s:25:\"accesskey-search-fulltext\";s:0:\"\";s:19:\"accesskey-search-go\";s:0:\"\";s:21:\"accesskey-t-permalink\";s:0:\"\";s:17:\"accesskey-t-print\";s:1:\"p\";s:31:\"accesskey-t-recentchangeslinked\";s:1:\"k\";s:24:\"accesskey-t-specialpages\";s:1:\"q\";s:25:\"accesskey-t-whatlinkshere\";s:1:\"j\";s:10:\"anonnotice\";s:1:\"-\";s:15:\"colon-separator\";s:6:\":&#32;\";s:13:\"currentevents\";s:10:\"Actualidad\";s:17:\"currentevents-url\";s:18:\"Project:Actualidad\";s:14:\"disclaimerpage\";s:46:\"Project:Limitación general de responsabilidad\";s:11:\"disclaimers\";s:11:\"Aviso legal\";s:4:\"edit\";s:6:\"Editar\";s:4:\"help\";s:5:\"Ayuda\";s:8:\"helppage\";s:15:\"Help:Contenidos\";s:13:\"history_short\";s:9:\"Historial\";s:6:\"jumpto\";s:9:\"Saltar a:\";s:16:\"jumptonavigation\";s:11:\"navegación\";s:12:\"jumptosearch\";s:6:\"buscar\";s:14:\"lastmodifiedat\";s:60:\"Esta página fue modificada por última vez el $1, a las $2.\";s:8:\"mainpage\";s:17:\"Página principal\";s:20:\"mainpage-description\";s:17:\"Página principal\";s:23:\"nav-login-createaccount\";s:30:\"Iniciar sesión / crear cuenta\";s:10:\"navigation\";s:11:\"Navegación\";s:10:\"nstab-main\";s:7:\"Página\";s:15:\"opensearch-desc\";s:34:\"{{SITENAME}} ({{CONTENTLANGUAGE}})\";s:14:\"pagecategories\";s:36:\"{{PLURAL:$1|Categoría|Categorías}}\";s:18:\"pagecategorieslink\";s:18:\"Special:Categories\";s:9:\"pagetitle\";s:17:\"$1 - {{SITENAME}}\";s:23:\"pagetitle-view-mainpage\";s:12:\"{{SITENAME}}\";s:9:\"permalink\";s:17:\"Enlace permanente\";s:13:\"personaltools\";s:23:\"Herramientas personales\";s:6:\"portal\";s:22:\"Portal de la comunidad\";s:10:\"portal-url\";s:30:\"Project:Portal de la comunidad\";s:16:\"printableversion\";s:22:\"Versión para imprimir\";s:7:\"privacy\";s:33:\"Política de protección de datos\";s:11:\"privacypage\";s:41:\"Project:Política de protección de datos\";s:10:\"randompage\";s:17:\"Página aleatoria\";s:14:\"randompage-url\";s:14:\"Special:Random\";s:13:\"recentchanges\";s:17:\"Cambios recientes\";s:17:\"recentchanges-url\";s:21:\"Special:RecentChanges\";s:27:\"recentchangeslinked-toolbox\";s:20:\"Cambios relacionados\";s:13:\"retrievedfrom\";s:18:\"Obtenido de «$1»\";s:6:\"search\";s:6:\"Buscar\";s:13:\"searcharticle\";s:2:\"Ir\";s:12:\"searchbutton\";s:6:\"Buscar\";s:7:\"sidebar\";s:214:\"\n* navigation\n** mainpage|mainpage-description\n** portal-url|portal\n** currentevents-url|currentevents\n** recentchanges-url|recentchanges\n** randompage-url|randompage\n** helppage|help\n* SEARCH\n* TOOLBOX\n* LANGUAGES\";s:14:\"site-atom-feed\";s:15:\"Feed Atom de $1\";s:13:\"site-rss-feed\";s:13:\"$1 Fuente RSS\";s:10:\"sitenotice\";s:1:\"-\";s:12:\"specialpages\";s:19:\"Páginas especiales\";s:7:\"tagline\";s:15:\"De {{SITENAME}}\";s:4:\"talk\";s:10:\"Discusión\";s:7:\"toolbox\";s:12:\"Herramientas\";s:15:\"tooltip-ca-edit\";s:83:\"Puedes editar esta página. Utiliza el botón de previsualización antes de guardar\";s:18:\"tooltip-ca-history\";s:50:\"Versiones anteriores de esta página y sus autores\";s:21:\"tooltip-ca-nstab-main\";s:16:\"Ver el artículo\";s:15:\"tooltip-ca-talk\";s:31:\"Discusión acerca del artículo\";s:23:\"tooltip-n-currentevents\";s:55:\"Información de contexto sobre acontecimientos actuales\";s:14:\"tooltip-n-help\";s:22:\"El lugar para aprender\";s:30:\"tooltip-n-mainpage-description\";s:28:\"Visitar la página principal\";s:16:\"tooltip-n-portal\";s:71:\"Acerca del proyecto, lo que puedes hacer, dónde encontrar información\";s:20:\"tooltip-n-randompage\";s:26:\"Cargar una página al azar\";s:23:\"tooltip-n-recentchanges\";s:37:\"Lista de cambios recientes en el wiki\";s:21:\"tooltip-n-sitesupport\";N;s:14:\"tooltip-p-logo\";s:28:\"Visitar la página principal\";s:20:\"tooltip-p-navigation\";N;s:16:\"tooltip-pt-login\";s:62:\"Te recomendamos iniciar sesión, sin embargo no es obligatorio\";s:14:\"tooltip-search\";s:22:\"Buscar en {{SITENAME}}\";s:23:\"tooltip-search-fulltext\";s:32:\"Busca este texto en las páginas\";s:17:\"tooltip-search-go\";s:48:\"Ir al artículo con este nombre exacto si existe\";s:19:\"tooltip-t-permalink\";s:47:\"Enlace permanente a esta versión de la página\";s:15:\"tooltip-t-print\";s:35:\"Versión imprimible de esta página\";s:29:\"tooltip-t-recentchangeslinked\";s:55:\"Cambios recientes en las páginas que enlazan con ésta\";s:22:\"tooltip-t-specialpages\";s:38:\"Lista de todas las páginas especiales\";s:23:\"tooltip-t-whatlinkshere\";s:54:\"Lista de todas las páginas del wiki que enlazan aquí\";s:5:\"views\";s:6:\"Vistas\";s:13:\"whatlinkshere\";s:19:\"Lo que enlaza aquí\";}s:11:\"dateFormats\";a:12:{s:8:\"dmy time\";s:3:\"H:i\";s:8:\"dmy date\";s:5:\"j M Y\";s:8:\"dmy both\";s:9:\"H:i j M Y\";s:8:\"mdy time\";s:3:\"H:i\";s:8:\"mdy date\";s:6:\"F j, Y\";s:8:\"mdy both\";s:11:\"H:i, F j, Y\";s:8:\"ymd time\";s:3:\"H:i\";s:8:\"ymd date\";s:5:\"Y F j\";s:8:\"ymd both\";s:10:\"H:i, Y F j\";s:13:\"ISO 8601 time\";s:11:\"xnH:xni:xns\";s:13:\"ISO 8601 date\";s:11:\"xnY-xnm-xnd\";s:13:\"ISO 8601 both\";s:25:\"xnY-xnm-xnd\"T\"xnH:xni:xns\";}s:14:\"namespaceNames\";a:17:{i:-2;s:5:\"Medio\";i:-1;s:8:\"Especial\";i:1;s:10:\"Discusión\";i:2;s:7:\"Usuario\";i:3;s:18:\"Usuario_discusión\";i:5;s:13:\"$1_discusión\";i:6;s:7:\"Archivo\";i:7;s:18:\"Archivo_discusión\";i:8;s:9:\"MediaWiki\";i:9;s:20:\"MediaWiki_discusión\";i:10;s:9:\"Plantilla\";i:11;s:20:\"Plantilla_discusión\";i:12;s:5:\"Ayuda\";i:13;s:16:\"Ayuda_discusión\";i:14;s:10:\"Categoría\";i:15;s:21:\"Categoría_discusión\";i:0;s:0:\"\";}}');
/*!40000 ALTER TABLE `fzg_l10n_cache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_imagelinks`
--

DROP TABLE IF EXISTS `pvt_imagelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_imagelinks` (
  `il_from` int(10) unsigned NOT NULL default '0',
  `il_to` varbinary(255) NOT NULL default '',
  UNIQUE KEY `il_from` (`il_from`,`il_to`),
  UNIQUE KEY `il_to` (`il_to`,`il_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_imagelinks`
--

LOCK TABLES `pvt_imagelinks` WRITE;
/*!40000 ALTER TABLE `pvt_imagelinks` DISABLE KEYS */;
INSERT INTO `pvt_imagelinks` VALUES (10,'Bicycle_diagram-en.png'),(11,'Bicicleta.Despiece.jpg'),(11,'Bicycle_diagram-es.png'),(28,'Bicicletas.Diagrama.Stem.png'),(28,'Bicicletas.Fusible.jpg'),(28,'Checked.png'),(28,'Geometria.Cuadro.Bicicleta.png');
/*!40000 ALTER TABLE `pvt_imagelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_querycache`
--

DROP TABLE IF EXISTS `peg_querycache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_querycache` (
  `qc_type` varbinary(32) NOT NULL,
  `qc_value` int(10) unsigned NOT NULL default '0',
  `qc_namespace` int(11) NOT NULL default '0',
  `qc_title` varbinary(255) NOT NULL default '',
  KEY `qc_type` (`qc_type`,`qc_value`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_querycache`
--

LOCK TABLES `peg_querycache` WRITE;
/*!40000 ALTER TABLE `peg_querycache` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_querycache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_archive`
--

DROP TABLE IF EXISTS `fzg_archive`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_archive` (
  `ar_namespace` int(11) NOT NULL default '0',
  `ar_title` varbinary(255) NOT NULL default '',
  `ar_text` mediumblob NOT NULL,
  `ar_comment` tinyblob NOT NULL,
  `ar_user` int(10) unsigned NOT NULL default '0',
  `ar_user_text` varbinary(255) NOT NULL,
  `ar_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `ar_minor_edit` tinyint(4) NOT NULL default '0',
  `ar_flags` tinyblob NOT NULL,
  `ar_rev_id` int(10) unsigned default NULL,
  `ar_text_id` int(10) unsigned default NULL,
  `ar_deleted` tinyint(3) unsigned NOT NULL default '0',
  `ar_len` int(10) unsigned default NULL,
  `ar_page_id` int(10) unsigned default NULL,
  `ar_parent_id` int(10) unsigned default NULL,
  KEY `name_title_timestamp` (`ar_namespace`,`ar_title`,`ar_timestamp`),
  KEY `usertext_timestamp` (`ar_user_text`,`ar_timestamp`),
  KEY `ar_revid` (`ar_rev_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_archive`
--

LOCK TABLES `fzg_archive` WRITE;
/*!40000 ALTER TABLE `fzg_archive` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_archive` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_ipblocks`
--

DROP TABLE IF EXISTS `pvt_ipblocks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_ipblocks` (
  `ipb_id` int(11) NOT NULL auto_increment,
  `ipb_address` tinyblob NOT NULL,
  `ipb_user` int(10) unsigned NOT NULL default '0',
  `ipb_by` int(10) unsigned NOT NULL default '0',
  `ipb_by_text` varbinary(255) NOT NULL default '',
  `ipb_reason` tinyblob NOT NULL,
  `ipb_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `ipb_auto` tinyint(1) NOT NULL default '0',
  `ipb_anon_only` tinyint(1) NOT NULL default '0',
  `ipb_create_account` tinyint(1) NOT NULL default '1',
  `ipb_enable_autoblock` tinyint(1) NOT NULL default '1',
  `ipb_expiry` varbinary(14) NOT NULL default '',
  `ipb_range_start` tinyblob NOT NULL,
  `ipb_range_end` tinyblob NOT NULL,
  `ipb_deleted` tinyint(1) NOT NULL default '0',
  `ipb_block_email` tinyint(1) NOT NULL default '0',
  `ipb_allow_usertalk` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`ipb_id`),
  UNIQUE KEY `ipb_address` (`ipb_address`(255),`ipb_user`,`ipb_auto`,`ipb_anon_only`),
  KEY `ipb_user` (`ipb_user`),
  KEY `ipb_range` (`ipb_range_start`(8),`ipb_range_end`(8)),
  KEY `ipb_timestamp` (`ipb_timestamp`),
  KEY `ipb_expiry` (`ipb_expiry`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_ipblocks`
--

LOCK TABLES `pvt_ipblocks` WRITE;
/*!40000 ALTER TABLE `pvt_ipblocks` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_ipblocks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_job`
--

DROP TABLE IF EXISTS `pvt_job`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_job` (
  `job_id` int(10) unsigned NOT NULL auto_increment,
  `job_cmd` varbinary(60) NOT NULL default '',
  `job_namespace` int(11) NOT NULL,
  `job_title` varbinary(255) NOT NULL,
  `job_params` blob NOT NULL,
  PRIMARY KEY  (`job_id`),
  KEY `job_cmd` (`job_cmd`,`job_namespace`,`job_title`,`job_params`(128))
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_job`
--

LOCK TABLES `pvt_job` WRITE;
/*!40000 ALTER TABLE `pvt_job` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_job` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_image`
--

DROP TABLE IF EXISTS `peg_image`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_image` (
  `img_name` varbinary(255) NOT NULL default '',
  `img_size` int(10) unsigned NOT NULL default '0',
  `img_width` int(11) NOT NULL default '0',
  `img_height` int(11) NOT NULL default '0',
  `img_metadata` mediumblob NOT NULL,
  `img_bits` int(11) NOT NULL default '0',
  `img_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `img_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL default 'unknown',
  `img_minor_mime` varbinary(100) NOT NULL default 'unknown',
  `img_description` tinyblob NOT NULL,
  `img_user` int(10) unsigned NOT NULL default '0',
  `img_user_text` varbinary(255) NOT NULL,
  `img_timestamp` varbinary(14) NOT NULL default '',
  `img_sha1` varbinary(32) NOT NULL default '',
  PRIMARY KEY  (`img_name`),
  KEY `img_usertext_timestamp` (`img_user_text`,`img_timestamp`),
  KEY `img_size` (`img_size`),
  KEY `img_timestamp` (`img_timestamp`),
  KEY `img_sha1` (`img_sha1`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_image`
--

LOCK TABLES `peg_image` WRITE;
/*!40000 ALTER TABLE `peg_image` DISABLE KEYS */;
INSERT INTO `peg_image` VALUES ('Checked.png',3830,32,32,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:4:{s:11:\"XResolution\";s:8:\"2835/100\";s:11:\"YResolution\";s:8:\"2835/100\";s:14:\"ResolutionUnit\";i:3;s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20120926192159','cd95d0wtcwwje4jwgje2fon8ie57n5g'),('Esquema.Tablas.Presupuesto.jpg',37751,340,303,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20121212182221','52hrf3yqoqg9iuekxzuakfkkgm8uzyw'),('FCMFrame.png',11032,1356,256,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:14:\"index-coloured\";s:8:\"metadata\";a:2:{s:8:\"Software\";a:2:{s:9:\"x-default\";s:16:\"Adobe ImageReady\";s:5:\"_type\";s:4:\"lang\";}s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20130103134727','27rc0ub1hqe2ftl9eruv5p6j4hmzzks'),('FZG.DOCS.Componentes.Schema.png',20384,950,148,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:5:{s:11:\"XResolution\";s:8:\"3937/100\";s:11:\"YResolution\";s:8:\"3937/100\";s:14:\"ResolutionUnit\";i:3;s:8:\"DateTime\";s:19:\"2013:03:01 01:55:33\";s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20130301020054','ft7ialophbpvijwws6akri5ryx75dg9'),('FZG.DOCS.Pantalla.Presupuesto.jpg',152454,859,544,'a:2:{s:15:\"JPEGFileComment\";a:1:{i:0;s:17:\"Created with GIMP\";}s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130228141102','quqs6jinnrfo4jtthhpxygwnkdd0h0i'),('FZG.DOCS.Proceso.Modulo.to.Producto.jpg',12196,284,76,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130228170205','bu2lmo1tg64xzto6r161fxv3jj8lbbx'),('FZG.DOCS.Proceso.Modulo.to.Producto.png',9176,520,160,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:10:\"truecolour\";s:8:\"metadata\";a:5:{s:11:\"XResolution\";s:8:\"2992/100\";s:11:\"YResolution\";s:8:\"2992/100\";s:14:\"ResolutionUnit\";i:3;s:8:\"DateTime\";s:19:\"2013:02:28 17:29:33\";s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20130228173111','iu1in0j8c2h7g12hux7na0tnloaz4od'),('FZG.DOCS.Procesos.Ayuda.jpg',10688,460,84,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130228135426','e9ymq7l8cjb4lnj8zs1tfmhb4a2svfu'),('FZG.DOCS.Procesos.Composicion.jpg',53502,473,265,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130228140903','gom5t57e6ou1c53mf89c9pphcymdtxx'),('FZG.DOCS.Procesos.Precios.jpg',58658,482,357,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130228140843','8pc1omcvkyv24nvsuhmhkogjvkpu7bf'),('FZG.DOCS.Procesos.Presupuesto.jpg',63956,781,492,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130228141012','ccyqiwgqe75azvr2ij9fvlptg3su1lg'),('FZG.DOCS.Procesos.Productos.jpg',18544,480,113,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20130228140117','5hzhqm5pzvba2moagsxvfjaay3z2txx'),('FZG.FORMS.Presupuesto.Relaciones.Macros.jpg',156837,780,519,'a:1:{s:22:\"MEDIAWIKI_EXIF_VERSION\";i:2;}',8,'BITMAP','image','jpeg','',1,'Administrador','20120328151845','0l29zaq2wberslv7hej6ehnynedjcie'),('OOBasicCode.window.png',15780,305,309,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:10:\"truecolour\";s:8:\"metadata\";a:4:{s:11:\"XResolution\";s:8:\"3786/100\";s:11:\"YResolution\";s:8:\"3792/100\";s:14:\"ResolutionUnit\";i:3;s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20130103124151','2qrlbewb549m3khmzq6x7oc4mmrep3t'),('SpanexGestion.FORM.Modulos.png',104967,900,787,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:2:{s:8:\"Software\";a:2:{s:9:\"x-default\";s:16:\"gnome-screenshot\";s:5:\"_type\";s:4:\"lang\";}s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20121130235018','1u5vreekspx2wweyyl105b9ksnkd6cd'),('Warning-icon-hi.png',24526,600,550,'a:6:{s:10:\"frameCount\";i:0;s:9:\"loopCount\";i:1;s:8:\"duration\";d:0;s:8:\"bitDepth\";i:8;s:9:\"colorType\";s:16:\"truecolour-alpha\";s:8:\"metadata\";a:5:{s:11:\"XResolution\";s:9:\"32836/100\";s:11:\"YResolution\";s:9:\"32836/100\";s:14:\"ResolutionUnit\";i:3;s:8:\"Software\";a:2:{s:9:\"x-default\";s:16:\"www.inkscape.org\";s:5:\"_type\";s:4:\"lang\";}s:15:\"_MW_PNG_VERSION\";i:1;}}',8,'BITMAP','image','png','',1,'Administrador','20120420104955','ffs36gk45suzgctnt9kzylmnwv6plgc');
/*!40000 ALTER TABLE `peg_image` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_searchindex`
--

DROP TABLE IF EXISTS `peg_searchindex`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_searchindex` (
  `si_page` int(10) unsigned NOT NULL,
  `si_title` varchar(255) NOT NULL default '',
  `si_text` mediumtext NOT NULL,
  UNIQUE KEY `si_page` (`si_page`),
  FULLTEXT KEY `si_title` (`si_title`),
  FULLTEXT KEY `si_text` (`si_text`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_searchindex`
--

LOCK TABLES `peg_searchindex` WRITE;
/*!40000 ALTER TABLE `peg_searchindex` DISABLE KEYS */;
INSERT INTO `peg_searchindex` VALUES (1,'main page','  mediawiki hasu800 been successfully installed.  consult theu800 metau82ewikimediau82eorgu800 wiki help contents user user\'su800 guide foru800 information onu800 using theu800 wiki software. getting started getting started getting started wwwu800u82emediawikiu82eorgu800 wiki manual configuration_settings configuration settings list wwwu800u82emediawikiu82eorgu800 wiki manual faqu800 mediawiki faqu800 mediawiki release mailing list '),(2,'pu8c3a1gina principal',' deployment clientes developing inventario pendientes requirements spanex spanex instalar instalar spanex draw draw spanex estructuras estructuras spanex releases releases spanex userwiki documentaciu8c3b3n deu800 usuario spanex preciosabt preciosabt spanex relaciones relaciones soporte knowing problems solutions category tktu800 spanexsupport - pendientes category tktout spanexsupport - finalizados '),(168,'tktu800 fzgu800u82e000007',' category tktout data tktu800 data tktu800 data tktu800  usuario   lucas  fecha   20121218u82e1730  soporte   sasu800 incidente incidente incidente copia deu800 registraciones deu800 dvhu800 para dividirlas enu800 dvhu800 pu800 ventanas corredizas yu800 dvhu800 para pau8c3b1os fijos workaround workaround workaround resoluciu8c3b3n 20130110 insert into fzggestion . proddvh productoid categoriaid descripcion proveedorid reposicion magnitud magnitudin coefp00p01 coefp00p02 coefp00p03 productopid insumoimg presentacion productoproy select productos . productoid productos . categoriaid concat trim productos . descripcion pu800 2u800 hojas productos . proveedorid productos . reposicion productos . magnitud productos . magnitudin productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg productos . presentacion productos . productoproy from fzggestion . productos where descripcion like dvhu800 ; insert into fzggestion . proddvh productoid categoriaid descripcion proveedorid reposicion magnitud magnitudin coefp00p01 coefp00p02 coefp00p03 productopid insumoimg presentacion productoproy select concat \'pu800\' substr productos . productoid 2u800 asu800 productoid productos . categoriaid concat trim productos . descripcion pu800 pau8c3b1o fijo productos . proveedorid productos . reposicion productos . magnitud productos . magnitudin productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg productos . presentacion productos . productoproy from fzggestion . productos where descripcion like dvhu800 ; insert into fzggestion . proddvh productoid categoriaid descripcion proveedorid reposicion magnitud magnitudin coefp00p01 coefp00p02 coefp00p03 productopid insumoimg presentacion productoproy select concat \'qu800\' substr productos . productoid 2u800 asu800 productoid productos . categoriaid concat trim productos . descripcion pu800 3u800 hojas productos . proveedorid productos . reposicion productos . magnitud productos . magnitudin productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg productos . presentacion productos . productoproy from fzggestion . productos where descripcion like dvhu800 ; insert into fzggestion . proddvh productoid categoriaid descripcion proveedorid reposicion magnitud magnitudin coefp00p01 coefp00p02 coefp00p03 productopid insumoimg presentacion productoproy select concat \'ru800\' substr productos . productoid 2u800 asu800 productoid productos . categoriaid concat trim productos . descripcion pu800 4u800 hojas productos . proveedorid productos . reposicion productos . magnitud productos . magnitudin productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg productos . presentacion productos . productoproy from fzggestion . productos where descripcion like dvhu800 ; 20130102 drop table fzggestion . proddvh ; create table proddvh select concat \'pu800\' substr productos . productoid 2u800 asu800 productoid productos . categoriaid concat trim productos . descripcion pu800 pau8c3b1o fijo asu800 descripcion productos . proveedorid productos . reposicion productos . magnitud productos . magnitudin productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg productos . presentacion productos . productoproy from productos where descripcion like \'dvhu800 \'; drop table fzggestion . compdvh ; create table compdvh select concat \'pu800\' substr composicion . productoid 2u800 asu800 productoid ifu800 composicion . productoid composicion . elementoid concat \'pu800\' substr composicion . productoid 2u800 composicion . elementoid asu800 elementoid composicion . composicid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto composicion . coefvanoancho composicion . coefvanoalto from fzggestion . productos asu800 productos fzggestion . composicion asu800 composicion where productos . productoid composicion . productoid andu800 productos . descripcion like \'dvhu800 \'; -- insert deu800 registros generados insert into fzggestion . productos productogen productodflt productoid categoriaid descripcion proveedorid reposicion magnitud magnitudin coefp00p01 coefp00p02 coefp00p03 productopid insumoimg magcmpx magcmpy magcmpz magcmpw presentacion productoproy select proddvh . productogen proddvh . productodflt proddvh . productoid proddvh . categoriaid proddvh . descripcion proddvh . proveedorid proddvh . reposicion proddvh . magnitud proddvh . magnitudin proddvh . coefp00p01 proddvh . coefp00p02 proddvh . coefp00p03 proddvh . productopid proddvh . insumoimg proddvh . magcmpx proddvh . magcmpy proddvh . magcmpz proddvh . magcmpw proddvh . presentacion proddvh . productoproy from fzggestion . proddvh ; -- delete deu800 registros automu8c3a1ticos deu800 composicion delete from composicion where productoid inu800 select productoid from proddvh ; -- insert deu800 registros automu8c3a1ticos deu800 composicion enu800 base au800 losu800 anteriores. insert into fzggestion . composicion productoid elementoid composicid valorelemento elementopm offsetvanoancho offsetvanoalto coefvanoancho coefvanoalto select compdvh . productoid compdvh . elementoid compdvh . composicid compdvh . valorelemento compdvh . elementopm compdvh . offsetvanoancho compdvh . offsetvanoalto compdvh . coefvanoancho compdvh . coefvanoalto from fzggestion . compdvh ; estado estado estado finalizado observaciones observaciones observaciones preparar elu800 sqlu800 para subirlo au800 producciu8c3b3nu82ereemplazar lau800 vu800 poru800 pu800 enu800 elu800 cu8c3b3digo para losu800 deu800 pau8c3b1o fijo '),(165,'trig bocetoscabu82ebaja bocetoscab',' category trig lanzador lanzador lanzador alta composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla bocetoscab tabla bocetosdet tabla bocetossbs sqlu800 sqlu800 sqlu800 delimiter create definer sas_admin trigger fzggestion . baja_bocetoscab after delete onu800 fzggestion . bocetoscab foru800 each rowu800 begin delete from bocetosdet where bocetosdetu82ebocetoid oldu800u82ebocetoid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121218 agregado deu800 eliminaciu8c3b3n deu800 registraciones enu800 tabla bocetossbs usou800 usou800 usou800 '),(166,'trig bocetoscabu82ebaja boceto',' '),(167,'trig bocetosdetu82ebaja bocetosdet',' category trig lanzador lanzador lanzador baja composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla bocetosdet tabla bocetossbs sqlu800 sqlu800 sqlu800 delimiter useu800 fzggestion create definer sas_admin trigger fzggestion . baja_bocetosdet after delete onu800 fzggestion . bocetosdet foru800 each rowu800 begin delete from bocetossbs where bocetossbsu82ebocetoid oldu800u82ebocetoid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(164,'concepto magnitud',' elu800 concepto deu800 magnitud estu8c3a1 relacionado conu800 lau800 forma deu800 cu8c3a1lculo deu800 unu800 producto alu800 tiempo deu800 unau800 cotizaciu8c3b3n. generalmente seu800 encuentra asociado au800 otros atributos conceptos enu800 elu800 momento delu800 cu8c3a1lculo atrib productosu82eoffsetancho valor au800 adicionar au800 lau800 dimensiu8c3b3n dada poru800 elu800 ancho atrib productosu82eoffsetalto valor au800 adicionar au800 lau800 dimensiu8c3b3n dada poru800 elu800 alto atrib productosu82ecoefancho valor au800 multiplicar au800 lau800 dimensiu8c3b3n dada poru800 elu800 ancho atrib productosu82ecoefalto valor au800 multiplicar au800 lau800 dimensiu8c3b3n dada poru800 elu800 alto atrib productosu82evalorelemento valor au800 multiplicar alu800 resultado deu800 aplicar lau800 magnitud yu800 esu800 diferente deu800 1u800 unou800 cuando seu800 pretende duplicar ou800 eliminar ou800 atravesar elu800 valor deu800 unu800 producto este concepto enu800 resumen indica cuales vanu800 au800 seru800 losu800 paru8c3a1metros au800 tener enu800 cuenta yu800 como vau800 au800 seru800 lau800 forma deu800 calcular elu800 precio delu800 producto. losu800 valores posibles alu800 momento sonu800 losu800 siguientes losu800 elementos delu800 algoritmo llevan elu800 prefijo \'pu800\' deu800 paru8c3a1metro  m2u800 metro cuadrado  alto poru800 ancho palto poffsetvanoalto pcoefvanoalto pancho poffsetvanoancho pcoefvanoancho 1000000 pvalorelemento pprecioprod;  pru800 peru8c3admetro  suma deu800 losu800 lados palto poffsetvanoalto 2u800 pcoefvanoalto pancho poffsetvanoancho 2u800 pcoefvanoancho 1000 pvalorelemento pprecioprod;  mlu800 metro lineal  largo delu800 producto pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod;  anu800 solo elu800 ancho indicado  ancho delu800 producto solo cuando tiene queu800 propagarse enu800 caso deu800 composiciu8c3b3n pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod;  alu800 solo elu800 alto indicado  ancho delu800 producto solo cuando tiene queu800 propagarse enu800 caso deu800 composiciu8c3b3n palto poffsetvanoalto pcoefvanoalto 1000 pvalorelemento pprecioprod;  mgu800 magnitud galarza  valor delu800 algoritmo resultante deu800 aplicar elu800 valor delu800 peso delu800 producto generalmente aluminio poru800 lau800 medida estu8c3a1ndar 1000x1000 palto poffsetvanoalto pcoefvanoalto pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod;  unu800 unidades  precio poru800 cantidad pvalorelemento pprecioprod; '),(159,'trig',' lista deu800 triggers activos '),(160,'trig productosu82ebajaproducto',' '),(161,'trig productosu82ealtaproducto',' '),(172,'setzoom',' category oobasiccode  site   subu800 main remu800 ---------------------------------------------------------------------- remu800 define variables dimu800 document asu800 object dimu800 dispatcher asu800 object remu800 ---------------------------------------------------------------------- remu800 getu800 access tou800 theu800 document document thiscomponentu82ecurrentcontrolleru82eframe dispatcher createunoservice comu800u82esunu800u82estaru82eframeu82edispatchhelper remu800 ---------------------------------------------------------------------- dimu800 args1 2u800 asu800 newu800 comu800u82esunu800u82estaru82ebeansu82epropertyvalue args1 0u800 .name zoomu82evalue args1 0u800 .value 75u800 args1 1u800 .name zoomu82evalueset args1 1u800 .value 28703 args1 2u800 .name zoomu82etype args1 2u800 .value 0u800 dispatcheru82eexecutedispatch document .unou800 zoom 0u800 args1 endu800 subu800 '),(112,'pendientes','  20120901  controlar accesos poru800 ipu800 licensing. como su800 precios - documentar transacciones sendto - pdfu800 parser  value;value;...   expresion  libreru8c3ada deu800 ventanas gru8c3a1ficos rutinas java pruebas urlu800 windows vista deu800 agentes comerciales resguardo diario eliminar frame access tables byu800 user hide database objects tables&queries - sarraceno  20121002  agregar unu800 mailto sobre unu800 inputbox como adicional agregar unu800 pushbutton para identificar valores conu800 ivau800 agregar unau800 magnitud tipo rango.  20121017  modificar form productos para incluir vista grid. cambiar control magnitud enu800 form productos para queu800 impacte enu800 lau800 nueva tabla magnitudes nou800 permitir elu800 cambio deu800 layout delu800 form presupuestosu82eproductosgrid  20101024  veriicar comportamiento aleatorio enu800 lau800 eliminaciu8c3b3n deu800 registros enu800 form presupuestosu82eproductos anu8c3a1lisis deu800 losu800 precios queu800 seu800 despliegan enu800 losu800 controles deu800 grid enu800 form presupuesto conu800 warning. '),(113,'macro muestrasubform',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n muestra esconde losu800 componentes deu800 unu800 subformulario. losu800 paru8c3a1metros sonu800 pmainform formulario padre. pnsubform formulario ppdu800. pestado configura elu800 estado deseado petiquetas  opcional  enu800 elu800 caso deu800 estar seleccionado incluye losu800 controles deu800 etiquetas tambiu8c3a9n poru800 defecto definidos poru800 elu800 prefijo lblu800 biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 muestrasubform pmainform asu800 object pnsubform asu800 string pestado asu800 boolean optional petiquetas asu800 boolean dimu800 osubform asu800 object osubform pmainformu82egetbyname pnsubform \'oetiquetas incluye etiquetas ifu800 notu800 ismissing petiquetas then oetiquetas petiquetas else oetiquetas true endu800 ifu800 foru800 iu800 0u800 tou800 ubound osubformu82eelementnames select case true case oetiquetas osubformu82egetbyname osubformu82eelementnames iu800 .enablevisible pestado case left osubformu82eelementnames iu800 3u800 lblu800 osubformu82egetbyname osubformu82eelementnames iu800 .enablevisible pestado endu800 select next iu800 endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121026 alta deu800 rutina usou800 usou800 usou800 form presupuestos '),(9,'fzgu800u82eprocedureu82eactualizapreciostabularu82esqlu800',' alu800 20120319 delimiter create procedure actualizapreciostabular inu800 pfiltro varchar 300u800 inu800 paccion varchar 2u800 begin setu800 wcnu800 precios . productoid productos . productoid andu800 precios . lista select lista from listavigente ; setu800 sqlu800 update precios productos setu800 ; case paccion when 1u800 then begin setu800 fldu800 setu800 fldu800 concat fldu800 precios . precioprod01 precios . precioprod00 productos . coefp00p01 ; setu800 fldu800 concat fldu800 precios . precioprod02 precios . precioprod00 productos . coefp00p02 ; setu800 fldu800 concat fldu800 precios . precioprod03 precios . precioprod00 productos . coefp00p03 ; endu800; when 2u800 then setu800 fldu800 precios . precioprod00 precios . precioprod01 productos . coefp00p01 ; when 3u800 then setu800 fldu800 precios . precioprod00 precios . precioprod02 productos . coefp00p02 ; when 4u800 then setu800 fldu800 precios . precioprod00 precios . precioprod03 productos . coefp00p03 ; endu800 case; ifu800 pfiltro then setu800 wcnu800 concat wcnu800 andu800 pfiltro ; endu800 ifu800; setu800 sqlu800 concat sqlu800 fldu800 where wcnu800 ; prepare stmt from sqlu800; execute stmt; deallocate prepare stmt; endu800 alu800 20120301 alu800 20120301 alu800 20120301 delimiter create definer sas_admin procedure actualizapreciostabular inu800 pfiltro varchar 300u800 inu800 paccion varchar 2u800 begin setu800 wcnu800 precios . productoid productos . productoid andu800 precios . lista select lista from listavigente ; setu800 sqlu800 update precios productos setu800 ; case paccion when 1u800 then begin setu800 fldu800 precios . precioprod01 precios . precioprod00 productos . coefp00p01 ; setu800 fldu800 concat fldu800 precios . precioprod02 precios . precioprod00 productos . coefp00p03 ; setu800 fldu800 concat fldu800 precios . precioprod03 precios . precioprod00 productos . coefp00p03 ; endu800; when 2u800 then setu800 fldu800 precios . precioprod00 precios . precioprod01 productos . coefp00p01 ; endu800 case; ifu800 pfiltro then setu800 wcnu800 concat wcnu800 andu800 pfiltro ; endu800 ifu800; setu800 sqlu800 concat sqlu800 fldu800 where wcnu800 ; prepare stmt from sqlu800; execute stmt; deallocate prepare stmt; endu800 '),(8,'fzgu800u82evistau82evislineabsu82esqlu800',' fzgu800u82evistau82evislineabsu82esqlu800 select vidquoten2u82evidquoteid asu800 vidquoteid vidquoten1u82evidquoteobra asu800 vidquoteobra vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquoteestado asu800 vidquoteestado vidquoten2u82evidquoteitem asu800 vidquoteitem vidquoten2u82evidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2u82evidquoteprodid asu800 vidquoteprodid ifu800 vidquoten2u82evidquoteancho 0u800 ifu800 vidquoten2u82evidquotealto 0u800 concat productosu82edescripcion -dimensiu8c3b3n mmu800 lpad cast vidquoten2u82evidquoteancho asu800 char 4u800 0000 xu800 lpad cast vidquoten2u82evidquotealto asu800 char 4u800 0000 - concat productosu82edescripcion -largo mmu800 lpad cast vidquoten2u82evidquoteancho asu800 char 4u800 0000 mmu800- productosu82edescripcion asu800 descripcion vissubxitemu82evidquoteprecios asu800 vidquoteprecios from vidquoten1 join vidquoten2 join productos join vissubxitem where vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 productosu82eproductoid vidquoten2u82evidquoteprodid andu800 vissubxitemu82evidquoteid vidquoten2u82evidquoteid andu800 vissubxitemu82evidquoteitem vidquoten2u82evidquoteitem '),(10,'vista visrepprec',' create view visrepprec asu800 select preciosvigentesu82eproductoid asu800 productoid productosu82edescripcion asu800 productodsc productosu82emagnitud asu800 magnitud preciosvigentesu82eprecioprod00 asu800 precioprod00 preciosvigentesu82eprecioprod01 asu800 precioprod01 preciosvigentesu82eprecioprod02 asu800 precioprod02 preciosvigentesu82eprecioprod03 asu800 precioprod03 preciosvigentesu82efechamodificacion asu800 fechamodificaciu8c3b3n from fzggestionu82eproductos asu800 productos fzggestionu82epreciosvigentes asu800 preciosvigentes where productosu82eproductoid preciosvigentesu82eproductoid '),(11,'fzgu800u82evistau82eprecioscmplu82esqlu800',' create view precioscmpl asu800 select precios . productoid asu800 productoid productos . descripcion asu800 productodsc productos . categoriaid asu800 categoriaid productos . proveedorid asu800 proveedorid precios . precioprod00 asu800 precioprod00 productos . coefp00p01 asu800 coefp00p01 precios . precioprod01 asu800 precioprod01 productos . coefp00p02 asu800 coefp00p02 precios . precioprod02 asu800 precioprod02 productos . coefp00p03 asu800 coefp00p03 precios . precioprod03 asu800 precioprod03 from fzggestion . productos asu800 productos fzggestion . precios asu800 precios where productos . productoid precios . productoid order byu800 precios . productoid '),(36,'proc calculoprecio',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n funciu8c3b3n deu800 cu8c3a1lculo deu800 precio enu800 base au800 losu800 parametros indicados sinu800 acceder au800 base deu800 datos deu800 precios yau800 conu800 elu800 valor delu800 precio delu800 producto indicado dependiendo delu800 tipo deu800 cliente composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n solo funciu8c3b3n deu800 cu8c3a1lculo estructura estructura estructura sqlu800 -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create function calculoprecio pancho intu800 4u800 palto intu800 4u800 pprecioprod decimal 10u800 2u800 pmagnitud char 2u800 poffsetvanoalto intu800 11u800 poffsetvanoancho intu800 11u800 pcoefvanoalto decimal 16u800 8u800 pcoefvanoancho decimal 16u800 8u800 pvalorelemento decimal 16u800 8u800 returns decimal 10u800 2u800 begin declare ppreciobase decimal 10u800 2u800 ; case pmagnitud when \'m2u800\' then setu800 ppreciobase palto poffsetvanoalto pcoefvanoalto pancho poffsetvanoancho pcoefvanoancho 1000000 pvalorelemento pprecioprod; when \'pru800\' then setu800 ppreciobase palto poffsetvanoalto 2u800 pcoefvanoalto pancho poffsetvanoancho 2u800 pcoefvanoancho 1000 pvalorelemento pprecioprod; when \'mlu800\' then setu800 ppreciobase pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod; when \'alu800\' then setu800 ppreciobase palto poffsetvanoalto pcoefvanoalto 1000 pvalorelemento pprecioprod; when \'anu800\' then setu800 ppreciobase pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod; when \'mgu800\' then setu800 ppreciobase palto poffsetvanoalto pcoefvanoalto pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod; else setu800 ppreciobase pvalorelemento pprecioprod; endu800 case; return ppreciobase; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121017 agregado deu800 lasu800 nuevas magnitudes aplicables alu800 alto yu800 alu800 ancho. anterior create function calculoprecio pancho intu800 4u800 palto intu800 4u800 pprecioprod decimal 10u800 2u800 pmagnitud char 2u800 poffsetvanoalto intu800 11u800 poffsetvanoancho intu800 11u800 pcoefvanoalto decimal 16u800 8u800 pcoefvanoancho decimal 16u800 8u800 pvalorelemento decimal 16u800 8u800 returns decimal 10u800 2u800 begin declare ppreciobase decimal 10u800 2u800 ; case pmagnitud when \'m2u800\' then setu800 ppreciobase palto poffsetvanoalto pcoefvanoalto pancho poffsetvanoancho pcoefvanoancho 1000000 pvalorelemento pprecioprod; when \'pru800\' then setu800 ppreciobase palto poffsetvanoalto 2u800 pcoefvanoalto pancho poffsetvanoancho 2u800 pcoefvanoancho 1000 pvalorelemento pprecioprod; when \'mlu800\' then setu800 ppreciobase pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod; when \'mgu800\' then setu800 ppreciobase palto poffsetvanoalto pcoefvanoalto pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento pprecioprod; when \'2hu800\' then setu800 ppreciobase palto poffsetvanoalto pcoefvanoalto 1000 pvalorelemento 2u800 pprecioprod; when \'2wu800\' then setu800 ppreciobase pancho poffsetvanoancho pcoefvanoancho 1000 pvalorelemento 2u800 pprecioprod; else setu800 ppreciobase pvalorelemento pprecioprod; endu800 case; return ppreciobase; endu800 usou800 usou800 usou800 urlu800 '),(12,'fzgu800u82evistau82eviscompcntu82esqlu800',' create view viscompcnt asu800 select composicionu82eproductoid asu800 productoid productosu82edescripcion asu800 productodsc productosu82ecategoriaid asu800 categoriaid productosu82eproveedorid asu800 proveedorid count composicionu82eproductoid asu800 cantidad ifu800 count composicionu82eproductoid 1u800 1u800 0u800 asu800 compuesto from productos join composicion where productosu82eproductoid composicionu82eproductoid group byu800 composicionu82eproductoid '),(13,'developing',' notes ideas ideas ideas button onu800 form presupuesto tou800 access form contactos . full form. button onu800 form presupuesto tou800 addu800 minus characteristics test data verification onu800 height wide attributes inu800 every product record onu800 form presupuesto onu800 windows installation. precio poru800 rango german listas deu800 precios automatizaciu8c3b3n. acceso au800 openoffice server para pyuno acceso au800 openoffice server para pyuno acceso au800 openoffice server para pyuno --nodefault --nologo --minimized --norestore --accept socket host localhost port 2002;urpu800; --invisible libreoffice3u82e4u800 --nodefault --nologo --minimized --norestore --accept socket host localhost port 2002;urpu800; --invisible check listening port openoffice server check listening port openoffice server check listening port openoffice server netstat -tulu800 descripciu8c3b3n nuevo productos descripciu8c3b3n nuevo productos descripciu8c3b3n nuevo productos productogen producto genu8c3a9rico. representa elu800 producto genu8c3a9rico asociado alu800 cu8c3b3digo deu800 productoid. productodflt magnitudin. magnitud deu800 ingreso. puede diferir au800 lau800 magnitud magcmpx magcmpy magcmpz productoproy knowledgebase knowledgebase knowledgebase oobasic lobasic staroffice basic category oobasiccode oobasic codesnippets category sqlcode sqlu800 codesnippets pyuno pyuno pyuno http lucasmanualu82ecomu800 mywiki openoffice openoffice python http wikiu82eopenofficeu82eorgu800 wiki oooes desarrollo pyuno_es desarrollo pyuno http wikiu82eopenofficeu82eorgu800 wiki pyuno_bridge pyuno bridge http wikiu82eopenofficeu82eorgu800 wiki extensions_development_python extensions development python http esu800u82ediveintopythonu82enetu800 tocu800u82ehtml sumergirse enu800 pyton http cutteru82erexxu82ecomu800 dkuhlman python_101 python_101u82ehtml python 101u800-introduction tou800 python http beastieu82ecsu800u82euau800u82eeduu800 cs150 book indexu82ehtml theu800 artu800 andu800 craft ofu800 programming - python edition general events general events general events class wikitable  event name   event type   descripciu8c3b3n ejecuciu8c3b3n  - prior tou800 reset eventobject antes queu800 elu800 formulario seau800 reseteado. elu800 formulario esu800 reseteado cuando elu800 cursos seu800 mueve au800 lau800 fila insertada - after reset eventobject luego queu800 elu800 formulario seu800 resetea - when loading eventobject cuando elu800 formulario esu800 cargado lau800 primera vezu800 - before reloading eventobject antes queu800 elu800 formulario esu800 recargado -tambiu8c3a9n cuando seu800 presiona elu800 boton deu800 recarga desde lau800 barra deu800 navegaciu8c3b3n ou800 programandolo - when reloading eventobject cuando unu800 formulario esu800 recargado - before unloading eventobject antes queu800 inicie elu800 formulario - when unloading eventobject cuando elu800 formulario seu800 estu8c3a1 descargando - confirm deletion comu800u82esunu800u82estaru82esdbu800u82erowchangeevent cuando unu800 registro esu800 seleccionado para seru800 eliminado. - before record action comu800u82esunu800u82estaru82esdbu800u82erowchangeevent cuando unu800 registro esu800 ingresado actualizado ou800 eliminado - after record action eventobject luego deu800 unau800 accion esu800 ejecutada sobre unu800 registro. niu800 antes niu800 despuu8c3a9s seu800 seu800 vau800 au800 ejecutar hasta queu800 seu800 salga delu800 registro modificado ou800 elu800 boton deu800 grabar seau800 presionado. - before record change eventobject antes queu800 elu800 formulario despliegue otro registro. - after record change despuu8c3a9s queu800 elu800 formulario despliegue otro registro. basic ideu800 basic ideu800 basic ideu800 largo deu800 archivo menor au800 64ku800 reset mwu800 pass reset mwu800 pass reset mwu800 pass update user setu800 user_password concat \' au800 \' md5u800 \' \' where trim cast user_email asu800 char 40u800 keyteam keyteam keyteam class wikitable  code   site   equ800   cau800  - 152421968 hasu800 hasu800 pelotubies - 850417886 fzgu800 fzg001 rumbo9999 - 219838925 fzgu800 fzg002 rumbo9999 - 707325105 fzgu800 fzg010 rumbo9999 - 323916886 fzgu800 bottero 5804 - 161523437 mmvu800 admin - jsvu800 admin '),(14,'spanex releases',' esquema deu800 actualizaciones actualizacion dbu800 versiu8c3b3n 1u800u82e1u800 versiu8c3b3n 1u800u82e1u800 versiu8c3b3n 1u800u82e1u800 release 20140220 problemas conocidos problemas conocidos problemas conocidos correcciones yu800 agregados tabla wsml#bitu8c3a1corau82e20140220 seu800 activa nueva tabla wsml . release 20131001 release 20131001 release 20131001 problemas conocidos correcciones yu800 agregados correcciones yu800 agregados correcciones yu800 agregados test integral contactos consulta clientes crmu800. 20131007u82eoku800. contactos contactos. 20131008u82eoku800. contactos posicion crmu800. 20131008u82eoku800. contactos bitacora crmu800. 20131008u82enou800 oku800. contactos bitacora crmu800. 20131017u82eoku800. contactos consulta clientes crmu800. 20131018u82eoku800.  submenu8c3ba contactos . 20131018. oku800 precios cambio masivo. 20131018. oku800 precios precios tabular normal. 20131018. oku800 precios masivo coeficiente actualizaciu8c3b3n. 20131018. oku800 precios precios tabular poru800 procesos. 20131018. oku800 precios precios general. 20131018. oku800  submenu8c3ba precios . 20131028. oku800 presupuestos presupuestos. 20131029. oku800  submenu8c3ba presupuestos . 20131029. oku800 productos productos. 20131029. oku800 productos productos. 20131111. oku800 test reacomodamiento libs contactos bitacora crmu800. 20131205. oku800 contactos consulta clientes crmu800. 20131205. oku800 contactos contactos. 20131205. oku800 contactos posicion crmu800. 20131217. oku800 precios cambio masivo. 20131217. oku800 precios masivo coeficientes actualizacion. 20131217. oku800 precios precios general. 20131217. oku800 precios precios tabular normal. 20131217. oku800 precios precios tabular xu800 procesos. 20131217. oku800 productos categorias. 20131218. oku800 productos composicion copiacomposicion. 20131218. oku800 productos composicion gestiu8c3b3n masiva poru800 elemento. 20131218. oku800 productos composicion gestiu8c3b3n masiva poru800 producto. 20131218. oku800 productos composicion producto elemento. 20131218. oku800 productos productos. 20131218. oku800 productos requerimientos manufactura. 20131218. oku800 form consultaclientescrm#bitu8c3a1corau82e20131007 seu800 cambia elu800 origen deu800 datos deu800 mainform deu800 vista clientes au800 unu800 select deu800 lau800 tabla contactos . form posicioncrm#bitu8c3a1corau82e20131008 seu800 cambia elu800 origen deu800 datos deu800 subformcliente. seu800 eliminan losu800 objetos sfpresupuesto yu800 sfcobranzas queu800 estaban enu800 forma residual delu800 proceso deu800 copia deu800 otro form. seu800 cambian lasu800 referencias entre losu800 subform dado elu800 nuevo origen deu800 datos. seu800 cambian losu800 atributos delu800 datagrid. seu800 documenta form bitacoracrm#bitu8c3a1corau82e20131008 seu800 aplican losu800 cambios para corregir elu800 atributo txtfiltro yu800 seu800 documenta. nou800 funciona form bitacoracrm#bitu8c3a1corau82e20131017 seu800 cambia lau800 estructura delu800 form bitacoracrm yau800 queu800 erau800 inconsistente. seu800 agregan macro activafiltrobitacoras macro eventowrfbitacoragrid yu800 macro eventowlfbitacoragrid estas dosu800 u8c3baltimas para restringir lau800 posibilidad deu800 daru800 deu800 alta eventos mientras seu800 encuentre focalizado enu800 elu800 grid delu800 filtro. form consultaclientescrm#bitu8c3a1corau82e20131018 seu800 cambia nuevamente elu800 origen deu800 datos delu800 mainform deu800 tabla contactos au800 unu800 query deu800 losu800 clientes queu800 tengan movimiento. proc actualizapreciostabular#bitacorau82e20131018 seu800 cambia lau800 linea queu800 seu800 menciona lau800 vista listavigente yau800 queu800 lau800 misma nou800 seru8c3a1 parte deu800 esta versiu8c3b3n. form formmenu#bitu8c3a1corau82e20131018 seu800 elimina como elemento delu800 submenu contactos elu800 rprt individualcrm queu800 seu800 ejecuta directamente desde elu800 form consultaclientescrm . para queu800 tenga efecto seu800 modifica tambiu8c3a9n elu800 macro executeprocess . tabla filtroqry#bitu8c3a1corau82e20131022 . alta deu800 tabla. form productos#bitu8c3a1corau82e20131110 . seu800 modifica elu800 control deu800 producto para queu800 nou800 puedan seru800 gestionados descuentos. form gestionmasivaporproducto#bitu8c3a1corau82e20131111 . seu800 agrega alu800 grid lau800 cantidad deu800 registros asociados au800 lau800 composiciu8c3b3n. release 20121201 release 20121201 release 20121201 problemas conocidos form presupuesto . aleatoriamente nou800 hace elu800 cu8c3a1lculo ou800 nou800 lou800 refresca correctamente. tktu800 fzgu800u82e000001 . seu800 corrompe elu800 archivo manifiestu82erdfu800 propio deu800 lau800 instalaciu8c3b3n delu800 equipamiento laptop. tktu800 fzgu800u82e000002 . seu800 detecta queu800 nou800 seu800 propagan lasu800 caracteru8c3adsticas deu800 losu800 elementos componentes conu800 niveles deu800 composiciu8c3b3n adicional. seu800 hizo tarea deu800 cosmu8c3a9tica sobre proc calculoprecio . seu800 modificaron losu800 proc altaitempresupuesto yu800 proc altaitempresupuestotmp . seu800 procediu8c3b3 au800 multiplicar losu800 coeficientes sumar losu800 offset tktu800 fzgu800u82e000011 . enu800 apariencia losu800 algoritmos enu800 windows unix nou800 otorgan losu800 mismos resultados para elu800 control deu800 licencias. correcciones yu800 agregados correcciones yu800 agregados correcciones yu800 agregados form modulos . rediseu8c3b1o delu800 originario form predefinidos yu800 puesta enu800 producciu8c3b3n. form modulos . cambio deu800 diseu8c3b1o para incluir elu800 form modulosu82eformmodulosu82eformdetalleproductou82eformsubset como control para elu800 ingreso deu800 ocurrencias deu800 subconjuntos deu800 lineas deu800 control. seu800 crea lau800 macro changefieldtxtsubsettpformmodulos para lau800 validaciu8c3b3n delu800 identificativo deu800 wide height delu800 elemento. tabla modulosdet . cambio deu800 esquema para albergar ocurrencias deu800 subconjuntos deu800 lineas deu800 control conu800 elu800 alta deu800 lau800 tabla modulossbs . vista viscompcnt . restylish deu800 lau800 vista form copiacomposicion . restylish modificaciu8c3b3n deu800 subform. vista productosdisp . generaciu8c3b3n deu800 vista deu800 productos incluyendo losu800 generados au800 partir deu800 tabla bocetos tabla productos . agregado deu800 atributo compoedit para seu8c3b1alar siu800 elu800 producto esu800 editable ou800 nou800. esu800 automu8c3a1tico yu800 nou800 debe estar permitida suu800 modificaciu8c3b3n poru800 parte delu800 usuario. nou800 seu800 modifica elu800 form productos enu800 suu800 layout pero siu800 seu800 agrega controles deu800 completado automu8c3a1tico. tabla productos . agregado deu800 atributo productoor para seu8c3b1alar elu800 tipo deu800 origen deu800 lau800 registraciu8c3b3n. nou800 seu800 modifica elu800 form productos enu800 suu800 layout pero siu800 seu800 agrega controles deu800 completado automu8c3a1tico. tabla composicion . agregado delu800 atributo composicobs para seu8c3b1alar unau800 diferenciaciu8c3b3n delu800 nombre delu800 producto enu800 losu800 casos deu800 cu8c3b3digos deu800 elementos repetidos yu800 deu800 diferente conformaciu8c3b3n enu800 losu800 paru8c3a1metros deu800 lau800 composicion. btcr 20130322 . form composicionmasivoporproducto . agregado deu800 lau800 captura delu800 atributo composicobs. btcr 20130322 . form presupuesto . agregado deu800 lau800 captura delu800 atributo composicobs. btcr 20130417 . form productos restauraciu8c3b3n desde nv20130107 btcr 20130417 . form modulos restauraciu8c3b3n desde nv20130107 btcr 20130417 . form bocetos restauraciu8c3b3n desde nv20130107 btcr 20130419 . form modulos xu800 lineas control correcciu8c3b3n enu800 subu800 controllineasemaphor btcr 20130419 . vista vischeckmod agregado au800 lau800 estructura. btcr 20130423 . tabla productos agregado delu800 atributo productotag . btcr 20130814 . vista preciosvigentes elimina vista. btcr 20130815 . tabla bitacoracrm crea tabla release 20121030 release 20121030 release 20121030 problemas conocidos aleatoriamente nou800 elimina registros yu800 cuando seu800 visualiza ou800 refresca lau800 tabla hace shutdown deu800 lau800 sesiu8c3b3n correcciones yu800 agregados correcciones yu800 agregados correcciones yu800 agregados macro aprobacionpresupuesto . correcciu8c3b3n. seu800 modifica lau800 acciu8c3b3n posterior deu800 redespliegue deu800 subformularios eliminando lasu800 instrucciones anteriores yu800 sumando lau800 rutina macro controlformpresupuesto release 20121029 release 20121029 release 20121029 problemas conocidos correcciones yu800 agregados correcciones yu800 agregados correcciones yu800 agregados tabla vidquoten1 . correcciu8c3b3n. seu800 agregan losu800 controles deu800 notnull au800 losu800 atributos deu800 cliente yu800 deu800 agente comercial. form presupuesto . correcciu8c3b3n. poru800 diferencias aparentes enu800 lasu800 versiones deu800 lau800 dbu800 vsu800. odbc seu800 cambia elu800 datasource deu800 form presupuestou82edatacliente para queu800 lou800 haga sobre lau800 tabla contactos yu800 nou800 sobre lau800 vista clientes . form presupuesto . correcciu8c3b3n. seu800 agregan losu800 controles deu800 lu8c3admites para losu800 atributos deu800 ancho yu800 alto dentro deu800 form presupuestosu82eproductos . elu800 esquema funciona haciendo unu800 llamado bu8c3a1sicamente au800 lau800 rutina indicada enu800 macro checkvalidmeasure ante losu800 eventos deu800 itemchange deu800 ambas columnas. seu800 modifica elu800 esquema deu800 macro eventobrcdetallepresupuesto queu800 gestionaba au800 lau800 fecha escencialmente elu800 alta deu800 registros enu800 tabla viquoten3 transfiriendo esau800 ejecuciu8c3b3n delu800 alta au800 traves deu800 macro altaproductopresupuesto queu800 seu800 ejecuta enu800 macro eventoaradetallepresupuesto conu800 losu800 paru8c3a1metros deu800 acciu8c3b3n provenientes deu800 macro eventobradetallepresupuesto . esu800 precisamente lau800 macro eventoaradetallepresupuesto donde efectua elu800 chequeo macro checkvalidmeasure queu800 siendo declarada como funciu8c3b3n retorna elu800 valor delu800 chequeo para queu800 seu800 mantenga dentro delu800 mismo control enu800 elu800 caso deu800 error. esta modificaciu8c3b3n general permite queu800 elu800 refresco delu800 control correspondiente alu800 subtotal lou800 haga au8c3ban siu800 presiona elu800 u8c3adcono deu800 grabar sinu800 efectuar elu800 gesture natural deu800 lau800 secuencia deu800 ingreso deu800 datos presionar enter delu800 registro enu800 elu800 form presupuestou82eproductosu82eproductosgrid . release 20121024 release 20121024 release 20121024 correcciones yu800 agregados form posicioncrm . correcciu8c3b3n deu800 data source. rprt individualcrm . correcciu8c3b3n deu800 data source yu800 makeup fecha detalle form consultaclientecrm . correcciu8c3b3n deu800 data source deu800 form consultaclientecrmu82emainformu82esfsaldo tabla magnitudes . agregado deu800 tabla release 20121005 release 20121005 release 20121005 problemas conocidos form posicioncrm . existen diferencias enu800 losu800 origenes deu800 datos poru800 lou800 queu800 muestra diferentes resultados deu800 form consultaclientescrm correcciones yu800 agregados correcciones yu800 agregados correcciones yu800 agregados proc altaitempresupuestotmp . correcciu8c3b3n. error enu800 elu800 procedimiento. elu800 error radicaba enu800 queu800 lau800 condiciu8c3b3n deu800 losu800 registros existentes dentro deu800 lau800 tabla vidquoten3tmp para evitar elu800 agregado deu800 esos mismos registro poru800 parte delu800 procedimiento desde lau800 tabla componentes . losu800 valores queu800 existu8c3adan eran lasu800 constantes utilizadas para lasu800 pruebas. seu800 procede alu800 reemplazo poru800 parte deu800 losu800 paru8c3a1metros provenientes deu800 lau800 funciu8c3b3n queu800 llama alu800 procedimiento. seu800 agrega ademu8c3a1s unu800 parche para asignar elu800 atributo elementopm para aquellos elementos queu800 nou800 hanu800 arrastrado previamente poru800 algu8c3ban motivo este elemento alu800 momento deu800 grabar. vista proveedores . cambio deu800 formato delu800 tagu800 proc calculoprecio . agregado deu800 losu800 cu8c3a1lculos correspondientes au800 lasu800 nuevas magnitudes alto yu800 ancho. form presupuesto . correcciu8c3b3n. ordenamiento delu800 vector deu800 productosdsc. form presupuesto . agregado. seu800 agrega lau800 opciu8c3b3n dentro delu800 listbox correspondiente au800 productosdsc deu800 selecciu8c3b3n deu800 filtro . lanza lau800 macro controllista yu800 recupera elu800 valor anterior conu800 macro resetfiltroproductoformpresupuesto . form presupuesto . correcciu8c3b3n. seu800 agrega lau800 funciu8c3b3n para afectar lasu800 eliminaciones deu800 productos. form presupuesto . correcciu8c3b3n. seu800 elimina elu800 tabstop delu800 campo deu800 aprobado. form aux000002 . correcciu8c3b3n. seu800 cambia lau800 property deu800 addu800 record. macro sugerenciacontactoid . seu800 agrega lau800 distinciu8c3b3n para queu800 pueda seru800 leido correctamente desde form aux000002 . form presupuesto . seu800 elimina lau800 visualizaciu8c3b3n delu800 boton deu800 prueba enu800 lau800 zona deu800 composicion. form presupuesto . seu800 agrega valor poru800 defecto enu800 ctrl presupuestou82etxtvidquoteacom form presupuesto . seu800 agrega lau800 visualizaciu8c3b3n delu800 form componentesdisplay desde macro eventowhenloadingformcabecera release 20120912 release 20120912 release 20120912 problemas conocidos form presupuesto . lau800 ayuda especu8c3adfica deu800 ingreso deu800 lau800 descripciu8c3b3n deu800 producto nou800 funciona. form posicioncrm . elu800 reporte rprt individualcrm muestra problemas aleatorios enu800 lau800 u8c3baltima columna despliega aleatoriamente decimales . correcciones yu800 agregados correcciones yu800 agregados correcciones yu800 agregados form presupuesto . diseu8c3b1o. agregado deu800 form datacliente para evitar repetir lau800 consulta deu800 losu800 datos delu800 cliente descripciu8c3b3n coeficientes agregados etcu800. form presupuesto . diseu8c3b1o. agregado deu800 form dataagente para evitar repetir lau800 consulta yau800 queu800 seu800 agrega lau800 modalidad deu800 aplicar elu800 coeficiente queu800 tiene elu800 agente comercial adicional alu800 delu800 cliente yu800 au800 losu800 definidos enu800 elu800 mu8c3b3dulo deu800 precios. form presupuesto . correcciu8c3b3n. elu800 ctrl presupuestou82elistaproducto pasa au800 depender deu800 ctrl presupuestou82ecabecera vista acomerciales . seu800 cambia elu800 nombre delu800 idu800 principal poru800 acomercialid yu800 seu800 agregan losu800 datos deu800 coeficiente queu800 proviene deu800 lau800 tabla contactos . tabla contactos . seu800 agrega unu800 atributo queu800 puede representar lau800 fotografu8c3ada ou800 logo deu800 lau800 empresa contacto. proc altaitempresupuesto . correcciones yu800 test. proc actualizaitempresupuesto . correcciones yu800 test trig actualiza_item_presupuesto . creaciu8c3b3n enu800 elu800 evento sqlu800 before update sobre tabla vidquoten2 para reemplazar lau800 ejecuciu8c3b3n delu800 proceso deu800 actualizaciu8c3b3n enu800 macro eventobrcdetallepresupuesto . cuando activa elu800 update lau800 macro eventobrcdetallepresupuesto solo refresca lau800 tabla vidquoten3 proc copiapresupuesto . reactivaciu8c3b3n au800 razu8c3b3n delu800 rediseu8c3b1o form presupuesto . form presupuesto . inclusion delu800 ordenamiento poru800 elu800 atributo vidquoteid dentro deu800 tabla vidquoten1 release 20120901 release 20120901 release 20120901 form presupuesto . cambio deu800 diseu8c3b1o. tabla precios . agrega atributo para identificar elu800 usuario delu800 u8c3baltimo cambio. form preciostabularnormal . modificaciu8c3b3n. agregado deu800 columnas au800 lau800 vista deu800 lau800 tabla. fecha deu800 u8c3baltima modificaciu8c3b3n yu800 usuario. form preciosgeneral . modificaciu8c3b3n. ajustes deu800 forma yu800 agregado deu800 columna deu800 usuario evento. form consumomasivoprecios . modificacion. ajustes deu800 forma yu800 agregado deu800 columnas au800 lau800 vista deu800 lau800 tabla. fecha deu800 u8c3baltima modificaciu8c3b3n yu800 usuario. form contactos . ajuste yu800 rediseu8c3b1o. seu800 colocu8c3b3 elu800 tipo deu800 contacto enu800 primer lugar para poder utilizar lau800 funciu8c3b3n deu800 sugerencia deu800 cu8c3b3digo deu800 contacto. seu800 rediseu8c3b1u8c3b3 lau800 funciu8c3b3n deu800 sugerencia deu800 cu8c3b3digo deu800 contacto para queu800 abarque todos losu800 tipos deu800 contactos. vista clientes . cambio deu800 condicion deu800 lau800 tabla contactos poru800 cambio deu800 tipo deu800 variable delu800 tagu800 deu800 clientes yu800 elu800 agregado deu800 coeficiente deu800 markup. tabla telemecomp . alta deu800 tabla. form composicionmasivoxproducto . modificacion. seu800 cambiu8c3b3 elu800 tipo deu800 lista deu800 control delu800 atributo elementopm form copiacomposicion . modificaciu8c3b3n. seu800 modificu8c3b3 elu800 orden yu800 elu800 tipo deu800 control deu800 atributo elementopm form composicionproductoelemento . modificacion. seu800 cambiu8c3b3 elu800 tipo deu800 lista deu800 control delu800 atributo elementopm form copiacomposicion . correcciu8c3b3n. seu800 actualizu8c3b3 lau800 macro copiacomposicion para fijar posicion sobre lau800 decisiu8c3b3n deu800 copiar datos anteriores proc duplicaproductocompo . seu800 agrega elu800 paru8c3a1metro deu800 descripciu8c3b3n delu800 producto destino. tabla composicion . agrega atributo composicid autoincremental para diferenciar aquellos queu800 estu8c3a1n duplicados. form composicionmasivoxproducto . seu800 edita para queu800 adapte elu800 ingreso delu800 atributo composic. luego deu800 lasu800 pruebas deu800 test lau800 eliminaciu8c3b3n deu800 unu800 registro deu800 producto elemento similar eliminaba todos losu800 iguales. tabla vidquoten3 . agrega atributo composicid autoincremental para diferenciar aquellos queu800 estu8c3a1n duplicados. tabla vidquoten3tmp . agrega atributo composicid para diferenciar aquellos queu800 estu8c3a1n duplicados. proc altaitempresupuestotmp . seu800 revisu8c3b3 eu800 introdujeron losu800 cambios asociados au800 lau800 incorporaciu8c3b3n delu800 atributo composicid deu800 lasu800 tabla vidquoten3tmp yu800 tabla vidquoten3 proc actualizapreciostabular . modificaciu8c3b3n. correcciu8c3b3n verificaciu8c3b3n deu800 fu8c3b3rmulas delu800 release 20120424. file warning-icon-hiu800u82epngu800 20px proc grabaitempresupuestotmp . generaciu8c3b3n para cerrar elu800 cu8c3adrculo deu800 ediciu8c3b3n deu800 componentes durante elu800 presupuesto. proc resetedicionitemtmp . creaciu8c3b3n para eliminar lasu800 registraciones temporarias enu800 tabla vidquoten3tmp form presupuesto . cambios seu800 habilita lau800 posibilidad deu800 solo consulta para todos losu800 presupuestos aprobados conu800 macro controlformpresupuesto . seu800 limita lau800 posibilidad deu800 eliminar presupuesto producto para presupuestos aprobados yu800 seu800 habilita elu800 locu800 last opportunity check conu800 macro confirmadeletepresupuesto chequeos form presupuestov1u82e0u800 . form cabecera macro newresetlistbox nou800 esu800 necesario. nou800 seu800 usau800 mu8c3a1s lau800 modificaciu8c3b3n delu800 contenido delu800 listbox otau800. macro presupuestoexpirado optimizar yu800 agregar como funciu8c3b3n dentro deu800 macro controlformpresupuesto macro eventowhenloadingfromcabecera confirmar macro chequeolicenciaok eliminar limpieza listbox asigna default fecha presupuesto conu800 macro hoyu800 eliminar reset listboxes macro eventobradetallepresupuesto sinu800 cambios macro eventobrcdetallepresupuesto macro botonactualizarpresupuesto adaptaciu8c3b3n alu800 nuevo proc actualizapreciospresupuesto versiu8c3b3n 1u800 versiu8c3b3n 1u800 versiu8c3b3n 1u800 release 20120720 form pagos . creaciu8c3b3n. tabla tdocumento . rediseu8c3b1o. seu800 incorporan atributos para indicar cuales sonu800 losu800 procesos queu800 seu800 incluye elu800 documento para unu800 posterior filtro. form clientescrm . rediseu8c3b1o. seu800 reemplaza lasu800 tablas yu800 seu800 confecciona au800 partir deu800 losu800 presupuestos aprobados pendientes yu800 deu800 lasu800 cobranzas. form cobranzas . modificaciu8c3b3n. seu800 agrega lau800 posibilidad deu800 asignaciu8c3b3n poru800 cliente cuenta corriente . tabla accpayab . creaciu8c3b3n. release 20120628 release 20120628 release 20120628 form categorias . rediseu8c3b1o. seu800 rediseu8c3b1a lau800 interfaz deu800 acuerdo au800 elu800 nuevo lineamiento yu800 seu800 agrega unu800 control deu800 grid para suu800 mejor visualizaciu8c3b3n. form preciosgeneral . rediseu8c3b1o. seu800 agrega elu800 control grid sobre lau800 tabla precios yu800 losu800 controles deu800 navegaciu8c3b3n. tabla vidquoten1 . seu800 agrega elu800 atributo para controlar siu800 seu800 efectua lau800 mediciu8c3b3n enu800 obra. release 20120627 release 20120627 release 20120627 form copiacomposicion modificado seu800 generan unau800 nueva forma deu800 copia duplicaciu8c3b3n deu800 componentes. seu800 agregan ademu8c3a1s lasu800 funciones deu800 agregado masivo au800 partir deu800 otro producto yu800 deu800 control deu800 repeticiu8c3b3n deu800 producto. form presupuestov1u82e0u800 . modificado. seu800 prepara elu800 acceso deu800 losu800 mu8c3b3dulos permitiendo lau800 copia deu800 unu800 mu8c3b3dulo predefinido enu800 forma completa. form composicionmasivoxproducto . modificado. seu800 agrega unu800 control deu800 navegaciu8c3b3n para cada grupo deu800 datos productos yu800 elementos. release 20120608 release 20120608 release 20120608 form predefinidos . creaciu8c3b3n. genera unau800 nueva instancia inicial conu800 presupuestos preformateados queu800 simulen unu800 nivel inmediato superior alu800 esquema producto-elemento-paru8c3a1metro queu800 permitiru8c3ada inicialmente generar anteproyectos. queda pendiente elu800 ingreso deu800 este grupo como elemento manipulable. file warning-icon-hiu800u82epngu800 20px tabla predefcab . creaciu8c3b3n tabla predefdet . creaciu8c3b3n release 20120515 release 20120515 release 20120515 form productos . modificaciu8c3b3n. cambio delu800 control deu800 verificaciu8c3b3n delu800 campo productoid. cambio deu800 control yu800 verificaciu8c3b3n enu800 tabla productos tabla composicion yu800 tabla precios . seu800 habilita funciu8c3b3n especu8c3adfica deu800 verificaciu8c3b3n deu800 integridad. oku800 form productos . modificaciu8c3b3n. correcciu8c3b3n deu800 cu8c3b3digo poru800 bugu800 enu800 funciu8c3b3n iifu800 enu800 basic enu800 elu800 evento afterchangerecordformproductos. reporte presupuestodirecto . modificaciu8c3b3n. agregado deu800 numu8c3a9raciu8c3b3n deu800 pu8c3a1ginas para elu800 caso deu800 presupuestos deu800 mu8c3a1s deu800 unau800 hoja deu800 extensiu8c3b3n. proc calculapreciobase . incorpora elu800 cu8c3a1lculo deu800 lasu800 magnitudes 2hu800 cu8c3a1lculo enu800 base au800 lau800 altura indicada multiplicada poru800 2u800 yu800 2wu800 cu8c3a1lculo enu800 base alu800 ancho indicado multiplicado poru800 2u800 . proc calculoprecio . incorpora elu800 cu8c3a1lculo deu800 lasu800 magnitudes 2hu800 cu8c3a1lculo enu800 base au800 lau800 altura indicada multiplicada poru800 2u800 yu800 2wu800 cu8c3a1lculo enu800 base alu800 ancho indicado multiplicado poru800 2u800 . form masivocoeficienteactualizacion . asigna macro cambiomasivocoeficientesprecios yu800 agrega botu8c3b3n deu800 limpieza conu800 macro limpiarmasivocoeficientesprecios proc calculapreciobase . modificaciu8c3b3n. seu800 agrega lau800 alternativa dentro deu800 lau800 fu8c3b3rmula deu800 metro lineal mlu800 queu800 calcule tambiu8c3a9n enu800 caso deu800 cuando seu800 realice elu800 calculo deu800 componentes deu800 unu800 producto cuya valorizaciu8c3b3n seu800 debe definir ancho yu800 alto poru800 siu800 tiene elementos conu800 magnitudes deu800 metro cuadrado -m2u800- cuando tenga algu8c3ban componente queu800 seu800 refiera exclusivamente alu800 alto ou800 alu800 ancho enu800 cuyo caso seu800 debe administrar elu800 usou800 au800 travu8c3a9s delu800 coeficienteancho yu800 coeficientealto. file warning-icon-hiu800u82epngu800 20px proc calculoprecio . modificaciu8c3b3n. seu800 agrega lau800 alternativa dentro deu800 lau800 fu8c3b3rmula deu800 metro lineal mlu800 queu800 calcule tambiu8c3a9n enu800 caso deu800 cuando seu800 realice elu800 calculo deu800 componentes deu800 unu800 producto cuya valorizaciu8c3b3n seu800 debe definir ancho yu800 alto poru800 siu800 tiene elementos conu800 magnitudes deu800 metro cuadrado -m2u800- cuando tenga algu8c3ban componente queu800 seu800 refiera exclusivamente alu800 alto ou800 alu800 ancho enu800 cuyo caso seu800 debe administrar elu800 usou800 au800 travu8c3a9s delu800 coeficienteancho yu800 coeficientealto. file warning-icon-hiu800u82epngu800 20px proc calculomedidareal . seu800 agrega lau800 funciu8c3b3n para facilitar elu800 cu8c3a1lculo deu800 lau800 medida real conu800 respecto alu800 vano para lau800 informaciu8c3b3n para producciu8c3b3n. file warning-icon-hiu800u82epngu800 20px release 20120507 release 20120507 release 20120507 form preciotabularxproceso . modificaciu8c3b3n. correcciu8c3b3n posicion botones ejecuciu8c3b3n. oku800. form preciotabularxproceso . modificaciu8c3b3n. correcciu8c3b3n alineamiento lblu800 filtro. oku800. form preciotabularxproceso . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form productos . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form preciotabularxproceso . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form preciotabuladonormal . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form gestionmasivaxproducto . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form cambiomasivo . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form composicionproductos . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form gestionmasivaxelementos . modificaciu8c3b3n. agregado deu800 control deu800 navegaciu8c3b3n. oku800 form gestionmasivaxelementos . modificaciu8c3b3n. agregado boxcontrols activaciu8c3b3n deu800 filtro. oku800 release 20120424 release 20120424 release 20120424 proc actualizapreciostabular . modificaciu8c3b3n. correcciu8c3b3n deu800 formulas. file warning-icon-hiu800u82epngu800 20px release 20120409 release 20120409 release 20120409 form presupuestov1u82e0u800 . reemplazo deu800 iconos operativos poru800 gru8c3a1ficos. nuevo. oku800 form presupuestov1u82e0u800 . agregado deu800 proceso deu800 copia deu800 presupuesto. nuevo. oku800 form presupuestov1u82e0u800 . agregado deu800 proceso deu800 filtro deu800 presupuestos conu800 boton onu800 offu800. nuevo. oku800 form presupuestov1u82e0u800 . agregado deu800 hide unhide delu800 bloque deu800 paru8c3a1metros deu800 elementos. nuevo. oku800 tabla precios . reducciu8c3b3n deu800 decimales poru800 cu8c3a1lculo automu8c3a1tico deu800 precios. modificado. oku800. form contactos . reemplazo delu800 formulario poru800 otro diseu8c3b1o. nuevo. oku800. form contactos . agregado deu800 proceso deu800 sugerencia deu800 contacto. nuevo. oku800. form preciotabularnormal . cambio deu800 formato deu800 campos deu800 precios debido alu800 cambio deu800 estructura. modificado. oku800. form masivocoeficientesactualizacion . agregado deu800 formulario. nuevo. oku800. form productos . cambio deu800 esquema deu800 filtro inicial. nuevo. oku800 agregado deu800 esquema deu800 filtro. agregado deu800 hide unhide delu800 bloque deu800 filtro. correcciu8c3b3n onu800 error enu800 acceso inicial au800 dbu800 conu800 3u800 repeticiones posibles. nuevo. oku800. form presupuestov1u82e0u800 . modificaciu8c3b3n. correcciu8c3b3n deu800 losu800 procesos deu800 envu8c3ado directo deu800 correo alu800 cliente. oku800. form presupuestov1u82e0u800 . modificaciu8c3b3n. agregado delu800 proceso deu800 aprobaciu8c3b3n deu800 presupuesto dentro delu800 mismo formulario deu800 ingreso consulta para facilitar elu800 proceso administrativo. oku800. tabla productos . modificaciu8c3b3n. agregado delu800 atributo reposicion. oku800. enviado au800 batch deu800 actualizaciu8c3b3n deu800 dbu800. form productos . modificaciu8c3b3n. agregado delu800 atributo reposicion. oku800 form productos . nuevo. agregado deu800 control tipo tabla enu800 filtro para bu8c3basqueda ru8c3a1pida. oku800 form presupuestov1u82e0u800 . cambio deu800 relaciu8c3b3n entre detallepresupuesto detalle producto. agregado deu800 valores deu800 alto yu800 ancho. file warning-icon-hiu800u82epngu800 20px proc altaitempresupuesto . modificacion. cambio deu800 esquema para incorporar subitems. proc calculoprecio . nuevo. procedimiento para solo establecer elu800 cu8c3a1lculo sinu800 buscar losu800 valores necesarios enu800 vista valprodadic release 20120328 release 20120328 release 20120328 form presupuestov1u82e0u800 . chequeo deu800 eliminaciu8c3b3n deu800 elemento bu8c3a1sico enu800 detalle deu800 producto. nuevo. oku800 form presupuestov1u82e0u800 . chequeo deu800 incorporaciu8c3b3n deu800 elementos restantes. modificado. oku800 form presupuestov1u82e0u800 . imposibilidad deu800 modificar unu800 elemento bu8c3a1sico enu800 unu800 presupuesto. nuevo. oku800 form presupuestov1u82e0u800 . cambio deu800 esquema deu800 eventos enu800 lau800 cascada deu800 subformularios. modificado. oku800 form presupuestov1u82e0u800 . incorporaciu8c3b3n deu800 botu8c3b3n deu800 actualizaciu8c3b3n deu800 precios. nuevo. oku800. form preciotabularxproceso . cambio deu800 esquema deu800 filtro inicial. nuevo. oku800 form preciotabularxproceso . boton deu800 limpieza campo filtro. nuevo. oku800 form preciotabularxproceso . cambio deu800 esquema deu800 filtro inicial. nuevo. oku800 form preciotabularxproceso . boton deu800 limpieza campo filtro. nuevo. oku800 form gestionmasivaporproducto . cambio deu800 esquema deu800 filtro inicial. nuevo. oku800 form gestionmasivaporproducto . boton deu800 limpieza campo filtro. nuevo. oku800 form preciosgeneral . cambio deu800 esquema deu800 filtro inicial. nuevo. oku800 form preciosgeneral . boton deu800 limpieza campo filtro. nuevo. oku800 form productoselementos . eliminaciu8c3b3n campo markup. modificado. oku800. form contactos . rediseu8c3b1o. nuevo. enu800 proceso deu800 desarrollo. varios correcciu8c3b3n deu800 acceso au800 urlu800 deu800 imagenes sobreimpresas deu800 botones deu800 acciu8c3b3n. correr carpeta graficos como subdirectorio delu800 main. release 20120112 release 20120112 release 20120112 activaciu8c3b3n deu800 wiki desarrollo yu800 test deu800 trigger alta_productos modificaciu8c3b3n deu800 vista visindetpre modificaciu8c3b3n deu800 tabla composicion default values para coeficientes alto ancho yu800 offset alto ancho release 20120113 release 20120113 release 20120113 alta formulario presupuesto aprobaciu8c3b3n poru800 elu800 peru8c3adodo deu800 prueba seu800 visualizan todos losu800 valores deu800 vidquoteestado. alta formulario presupuestos aprobados modificaciu8c3b3n formulario presupuesto alta pendientes solo seu800 visualizaru8c3a1n losu800 vidquoteestado 1u800 modificaciu8c3b3n deu800 mantenimiento productos control deu800 ingreso deu800 magnitudes test formulario presupuesto errores generados poru800 combinaciu8c3b3n padre-hijo-nieto enu800 elu800 esquema deu800 vidquoteestado 1u800. elu800 error estaba dado porque cuando daba deu800 alta elu800 registro deu800 vidquoten1 conu800 vidquoteestado null grababa elu800 registro saltaba alu800 subformulario bugu800 pero nou800 tenu8c3ada referencia posible yau800 queu800 seu800 encontraba vigente elu800 filtro vidquoteestado 1u800 yu800 perdu8c3ada elu800 registro padre entonces duplicaba losu800 registros hijo yu800 generaba error deu800 insert record poru800 duplicaciu8c3b3n deu800 clave. seu800 procediu8c3b3 au800 definir poru800 default elu800 valor 0u800 para elu800 atributo vidquoteestado release 20120118 release 20120118 release 20120118 modificaciu8c3b3n form presupuestov1u82e0u800 alta pendientes seu800 detecta lau800 incompatibilidad enu800 lau800 integraciu8c3b3n deu800 triggers enu800 mysql - odbc - libreoffice. bu8c3basqueda deu800 soluciones au800 partir deu800 comportamiento deu800 eventos. seu800 cambia lau800 gestiu8c3b3n deu800 resultados delu800 despliegue deu800 datos deu800 precios poru800 cu8c3b3digo asociado alu800 cambio deu800 valores dentro delu800 grid. seu800 generan lasu800 funciones deu800 usuario deu800 cu8c3a1lculo deu800 precio release 20120119 release 20120119 release 20120119 continua deu800 20120118 seu800 procede au800 eliminar losu800 triggers asociados au800 tabla vidquoten2 seu800 genera elu800 procedimiento deu800 alta obligatoria deu800 elementos asociados au800 producto release 20120120 release 20120120 release 20120120 modificaciu8c3b3n form presupuestov1u82e0u800 alta pendientes seu800 realiza cu8c3b3digo para reemplazar losu800 triggers asociados au800 tabla vidquoten2 seu800 activan losu800 eventos deu800 beforeaction para controlar lau800 operaciu8c3b3n yu800 afteraction para ejecutar lau800 operaciu8c3b3n. seu800 confeccionan procedimientos deu800 control deu800 registraciones seu800 activan losu800 eventos deu800 para lau800 correcciu8c3b3n deu800 atributos deu800 subform detalleproducto release 20120122 release 20120122 release 20120122 modificaciu8c3b3n deu800 tabla contactos. seu800 agrega elu800 atributo contactoidabrv abreviatura . modificaciu8c3b3n form contactos seu800 agrega elu800 atributo contactoidabrv abreviatura . modificaciu8c3b3n vista proveedores seu800 agrega elu800 atributo abreviatura abreviatura modificaciu8c3b3n form productos seu800 agregan losu800 atributos coeficientes precios 1u800 2u800 3u800 yu800 proveedor. modificaciu8c3b3n form productos seu800 corrige elu800 listbox deu800 magnitud yu800 seu800 cambia elu800 valuelist poru800 lau800 consulta deu800 lau800 tabla productos deu800 lasu800 magnitudes existentes. release 20120123 release 20120123 release 20120123 control deu800 procedimiento deu800 impresiu8c3b3n asignada report presupuesto directo . oku800. investigaciu8c3b3n sobre comu800u82esunu800...executedispatch investigaciu8c3b3n sobre environmental variables macu800 investigaciu8c3b3n sobre exporttopdf method. release 20120124 release 20120124 release 20120124 funcionalidad au800 botu8c3b3n deu800 form presupuestov1u82e0u800 alta pendientes sobre envu8c3ado deu800 correo. seu800 detecta unu800 bugu800 enu800 lau800 integraciu8c3b3n thunderbird - libreoffice basic lau800 bandera deu800 nou800 mostrar dialogo nou800 funciona. release 20120125 release 20120125 release 20120125 agregado deu800 agente comercial agregado enu800 tabla vidquoten1 agregado enu800 tabla contactos agregado deu800 vista acomerciales modificaciu8c3b3n deu800 form contactos . agregado deu800 option modificaciu8c3b3n deu800 form presupuestos alta pendientes agregado deu800 campo acomercial conu800 listbox enu800 abreviatura delu800 contactoid. release 20120127 release 20120127 release 20120127 modificacion trigger alta_producto agrega registro deu800 producto bu8c3a1sico enu800 tabla composicion . release 20120203 release 20120203 release 20120203 generaciu8c3b3n deu800 reporte composicionu82eproductos generaciu8c3b3n deu800 reporte listau82epreciosu82evigentes generaciu8c3b3n deu800 reporte contactosu82eresumen modificaciu8c3b3n deu800 reporte presupuesto ampliar campo producto cambiar variable filtro poru800 _u800 cambiar direcciu8c3b3n deu800 cliente. release 20120206 release 20120206 release 20120206 modificaciu8c3b3n tabla productos agregado productopid varchar 15u800 . identifica elu800 cu8c3b3digo puente delu800 proveedor para hacer elu800 pedido correspondiente modificaciu8c3b3n form productos agregado deu800 campo deu800 cu8c3b3digo puente '),(15,'grau800 pendientes',' controlar accesos poru800 ipu800 licensing. como su800 precios - documentar transacciones sendto - pdfu800 parser  value;value;...   expresion  libreru8c3ada deu800 ventanas gru8c3a1ficos rutinas java pruebas urlu800 windows vista deu800 agentes comerciales resguardo diario eliminar frame access tables byu800 user hide database objects tables&queries - sarraceno '),(16,'grau800 bitu8c3a1cora',' 20120112 20120112 20120112 activaciu8c3b3n deu800 wiki desarrollo yu800 test deu800 trigger alta_productos modificaciu8c3b3n deu800 vista visindetpre modificaciu8c3b3n deu800 tabla composicion default values para coeficientes alto ancho yu800 offset alto ancho 20120113 20120113 20120113 alta formulario presupuesto aprobaciu8c3b3n poru800 elu800 peru8c3adodo deu800 prueba seu800 visualizan todos losu800 valores deu800 vidquoteestado. alta formulario presupuestos aprobados modificaciu8c3b3n formulario presupuesto alta pendientes solo seu800 visualizaru8c3a1n losu800 vidquoteestado 1u800 modificaciu8c3b3n deu800 mantenimiento productos control deu800 ingreso deu800 magnitudes test formulario presupuesto errores generados poru800 combinaciu8c3b3n padre-hijo-nieto enu800 elu800 esquema deu800 vidquoteestado 1u800. elu800 error estaba dado porque cuando daba deu800 alta elu800 registro deu800 vidquoten1 conu800 vidquoteestado null grababa elu800 registro saltaba alu800 subformulario bugu800 pero nou800 tenu8c3ada referencia posible yau800 queu800 seu800 encontraba vigente elu800 filtro vidquoteestado 1u800 yu800 perdu8c3ada elu800 registro padre entonces duplicaba losu800 registros hijo yu800 generaba error deu800 insert record poru800 duplicaciu8c3b3n deu800 clave. seu800 procediu8c3b3 au800 definir poru800 default elu800 valor 0u800 para elu800 atributo vidquoteestado 20120118 20120118 20120118 modificaciu8c3b3n form presupuesto alta pendientes seu800 detecta lau800 incompatibilidad enu800 lau800 integraciu8c3b3n deu800 triggers enu800 mysql - odbc - libreoffice. bu8c3basqueda deu800 soluciones au800 partir deu800 comportamiento deu800 eventos. seu800 cambia lau800 gestiu8c3b3n deu800 resultados delu800 despliegue deu800 datos deu800 precios poru800 cu8c3b3digo asociado alu800 cambio deu800 valores dentro delu800 grid. seu800 generan lasu800 funciones deu800 usuario deu800 cu8c3a1lculo deu800 precio 20120119 20120119 20120119 continua deu800 20120118 seu800 procede au800 eliminar losu800 triggers asociados au800 tabla vidquoten2 seu800 genera elu800 procedimiento deu800 alta obligatoria deu800 elementos asociados au800 producto 20120120 20120120 20120120 modificaciu8c3b3n form presupuesto alta pendientes seu800 realiza cu8c3b3digo para reemplazar losu800 triggers asociados au800 tabla vidquoten2 seu800 activan losu800 eventos deu800 beforeaction para controlar lau800 operaciu8c3b3n yu800 afteraction para ejecutar lau800 operaciu8c3b3n. seu800 confeccionan procedimientos deu800 control deu800 registraciones seu800 activan losu800 eventos deu800 para lau800 correcciu8c3b3n deu800 atributos deu800 subform detalleproducto 20120122 20120122 20120122 modificaciu8c3b3n deu800 tabla contactos. seu800 agrega elu800 atributo contactoidabrv abreviatura . modificaciu8c3b3n form contactos seu800 agrega elu800 atributo contactoidabrv abreviatura . modificaciu8c3b3n vista proveedores seu800 agrega elu800 atributo abreviatura abreviatura modificaciu8c3b3n form productos seu800 agregan losu800 atributos coeficientes precios 1u800 2u800 3u800 yu800 proveedor. modificaciu8c3b3n form productos seu800 corrige elu800 listbox deu800 magnitud yu800 seu800 cambia elu800 valuelist poru800 lau800 consulta deu800 lau800 tabla productos deu800 lasu800 magnitudes existentes. 20120123 20120123 20120123 control deu800 procedimiento deu800 impresiu8c3b3n asignada report presupuesto directo . oku800. investigaciu8c3b3n sobre comu800u82esunu800...executedispatch investigaciu8c3b3n sobre environmental variables macu800 investigaciu8c3b3n sobre exporttopdf method. 20120124 20120124 20120124 funcionalidad au800 botu8c3b3n deu800 form presupuestos alta pendientes sobre envu8c3ado deu800 correo. seu800 detecta unu800 bugu800 enu800 lau800 integraciu8c3b3n thunderbird - libreoffice basic lau800 bandera deu800 nou800 mostrar dialogo nou800 funciona. 20120125 20120125 20120125 agregado deu800 agente comercial agregado enu800 tabla vidquoten1 agregado enu800 tabla contactos agregado deu800 vista acomercial modificaciu8c3b3n deu800 form contactos . agregado deu800 option modificaciu8c3b3n deu800 form presupuestos alta pendientes agregado deu800 campo acomercial conu800 listbox enu800 abreviatura delu800 contactoid. 20120127 20120127 20120127 modificacion trigger alta_producto agrega registro deu800 producto bu8c3a1sico enu800 tabla composicion . 20120203 20120203 20120203 generaciu8c3b3n deu800 reporte composicionu82eproductos generaciu8c3b3n deu800 reporte listau82epreciosu82evigentes generaciu8c3b3n deu800 reporte contactosu82eresumen modificaciu8c3b3n deu800 reporte presupuesto ampliar campo producto cambiar variable filtro poru800 _u800 cambiar direcciu8c3b3n deu800 cliente. 20120206 20120206 20120206 modificaciu8c3b3n tabla productos agregado productopid varchar 15u800 . identifica elu800 cu8c3b3digo puente delu800 proveedor para hacer elu800 pedido correspondiente modificaciu8c3b3n form productos agregado deu800 campo deu800 cu8c3b3digo puente '),(17,'spanex relaciones',' referencias crear nueva pu8c3a1gina &action edit temp layoutgeneral templates deu800 layout sqlformatbeautify class wikitable  nombre   comando   usou800   cross  - viscabdetalla fzgu800u82evistau82eviscabdetallau82esqlu800 vista utilizada para agregar lau800 informaciu8c3b3n deu800 cual esu800 lau800 lista deu800 precios au800 utilizar para elu800 cliente delu800 presupuesto enu800 tiempo realu82eform presupuesto contactos vidquoten1 - proveedores fzgu800u82evistau82eproveedoresu82esqlu800 visualizaciu8c3b3n deu800 contactos u8e2809cproveedoresu8e2809d contactos - clientes fzgu800u82evistau82eclientesu82esqlu800 visualizaciu8c3b3n deu800 contactos u8e2809cclientesu8e2809d contactos - visreppres fzgu800u82evistau82evisreppresu82esqlu800 vista reporte presupuesto individual. para generar unau800 lu8c3adnea completa conu800 lau800 informaciu8c3b3n deu800 detalle deu800 losu800 presupuestos conu800 lasu800 combinaciones deu800 informaciu8c3b3n au800 incluir enu800 elu800 mismo. nou800 contiene lau800 informaciu8c3b3n estu8c3a1tica delu800 cliente. vislineabs visdetaobs - viscompodis fzgu800u82evistau82eviscompodisu82esqlu800 vista deu800 productos distinct productos dentro deu800 lau800 tabla deu800 composiciu8c3b3n ordenada poru800 alfabu8c3a9ticamente. - viscoposimpl fzgu800u82evistau82eviscomposimplu82esqlu800 vista deu800 losu800 elementos deu800 composicion conu800 informaciu8c3b3n para query productos composiciu8c3b3n - visdetaobs fzgu800u82evistau82evisdetaobsu82esqlu800 uneu800 todas lasu800 observaciones deu800 cada item para losu800 casos queu800 seu800 encuentren seu8c3b1aladas conu800 lau800 descripciu8c3b3n delu800 producto-item productos vidquoten3 - visintdetpre fzgu800u82evistau82evisintdetpreu82esqlu800 reducciu8c3b3n deu800 vista visprodadic aplicable alu800 cu8c3a1lculo deu800 presupuesto conu800 losu800 datos enu800 tiempo real delu800 presupuesto activo enu800 formulario yu800 calculando elu800 precio correcto deu800 acuerdo alu800 cliente yu800 elu800 cu8c3a1lculo delu800 valor delu800 elemento deu800 acuerdo alu800 losu800 valores deu800 alto yu800 ancho delu800 vano enu800 tiempo real visprodadic vidquoten2 - vislineabs fzgu800u82evistau82evislineabsu82esqlu800 define linea bu8c3a1sica para reporte teniendo como base vidquoten2 agregando lau800 informaciu8c3b3n deu800 lau800 cabecera datos deu800 descrpciu8c3b3n deu800 producto elu800 subtotal poru800 producto-item vidquoten1 vidquoten2 productos vissubxitem - visprodadic fzgu800u82evistau82evisproadicu82esqlu800 vista deu800 tabla deu800 componentes conu800 lau800 informaciu8c3b3n deu800 cada elemento como producto yu800 deu800 losu800 precios vigentes. productos composicion preciosvigentes - vissubxitem fzgu800u82evistau82evissubxitemu82esqlu800 subtotal poru800 item deu800 presupuesto enu800 tiempo real vidquoten3 - listavigente selecciona solo elu800 primer registro ordenado enu800 forma descendente deu800 lau800 tabla deu800 listasprecios listasprecios - preciosvigentes fzgu800u82evistau82epreciosvigentesu82esqlu800 esu800 lau800 selecciu8c3b3n deu800 lau800 tabla deu800 precios referenciando elu800 mayor valor dentro deu800 lau800 tabla deu800 listasprecios listasprecios precios - preciosvigact fzgu800u82evistau82epreciosvigactu82esqlu800 vista deu800 lista deu800 precios vigentes conu800 datos deu800 productos para actualizaciu8c3b3n columnaru82eform actualizaciu8c3b3n poru800 tipo deu800 lista preciosvigentes productos - precioscmpl fzgu800u82evistau82eprecioscmplu82esqlu800 vista deu800 lista deu800 precios completa conu800 datos deu800 productos. form precios tabular xu800 proceso precios productos - visprestot fzgu800u82evistau82evisprestotu82esqlu800 vista deu800 presupuestos totalizados poru800 cliente visreppres - viscompcnt fzgu800u82evistau82eviscompcntu82esqlu800 vista resumen deu800 componentes completa conu800 indicadores deu800 estado deu800 composiciu8c3b3n composicion producto '),(18,'vista visindetpre',' '),(19,'form presupuesto',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n gestiu8c3b3n deu800 cotizaciones. elu800 formularios file fzgu800u82eformsu82epresupuestou82erelacionesu82emacrosu82ejpgu800 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado bitu8c3a1cora usou800 usou800 usou800 '),(20,'fzgu800u82eformsu82epresupuestou82erelacionesu82emacrosu82ejpgu800',' '),(3,'gestiu8c3b3n retail aberturas bitu8c3a1cora',' 20120112 20120112 20120112 activaciu8c3b3n deu800 wiki desarrollo yu800 test deu800 trigger alta_productos modificaciu8c3b3n deu800 vista visindetpre modificaciu8c3b3n deu800 tabla composicion default values para coeficientes alto ancho yu800 offset alto ancho 20120113 20120113 20120113 alta formulario presupuesto aprobaciu8c3b3n poru800 elu800 peru8c3adodo deu800 prueba seu800 visualizan todos losu800 valores deu800 vidquoteestado. alta formulario presupuestos aprobados modificaciu8c3b3n formulario presupuesto alta pendientes solo seu800 visualizaru8c3a1n losu800 vidquoteestado 1u800 modificaciu8c3b3n deu800 mantenimiento productos control deu800 ingreso deu800 magnitudes test formulario presupuesto errores generados poru800 combinaciu8c3b3n padre-hijo-nieto enu800 elu800 esquema deu800 vidquoteestado 1u800. elu800 error estaba dado porque cuando daba deu800 alta elu800 registro deu800 vidquoten1 conu800 vidquoteestado null grababa elu800 registro saltaba alu800 subformulario bugu800 pero nou800 tenu8c3ada referencia posible yau800 queu800 seu800 encontraba vigente elu800 filtro vidquoteestado 1u800 yu800 perdu8c3ada elu800 registro padre entonces duplicaba losu800 registros hijo yu800 generaba error deu800 insert record poru800 duplicaciu8c3b3n deu800 clave. seu800 procediu8c3b3 au800 definir poru800 default elu800 valor 0u800 para elu800 atributo vidquoteestado 20120118 20120118 20120118 modificaciu8c3b3n form presupuesto alta pendientes seu800 detecta lau800 incompatibilidad enu800 lau800 integraciu8c3b3n deu800 triggers enu800 mysql - odbc - libreoffice. bu8c3basqueda deu800 soluciones au800 partir deu800 comportamiento deu800 eventos. seu800 cambia lau800 gestiu8c3b3n deu800 resultados delu800 despliegue deu800 datos deu800 precios poru800 cu8c3b3digo asociado alu800 cambio deu800 valores dentro delu800 grid. seu800 generan lasu800 funciones deu800 usuario deu800 cu8c3a1lculo deu800 precio 20120119 20120119 20120119 continua deu800 20120118 seu800 procede au800 eliminar losu800 triggers asociados au800 tabla vidquoten2 seu800 genera elu800 procedimiento deu800 alta obligatoria deu800 elementos asociados au800 producto 20120120 20120120 20120120 modificaciu8c3b3n form presupuesto alta pendientes seu800 realiza cu8c3b3digo para reemplazar losu800 triggers asociados au800 tabla vidquoten2 seu800 activan losu800 eventos deu800 beforeaction para controlar lau800 operaciu8c3b3n yu800 afteraction para ejecutar lau800 operaciu8c3b3n. seu800 confeccionan procedimientos deu800 control deu800 registraciones seu800 activan losu800 eventos deu800 para lau800 correcciu8c3b3n deu800 atributos deu800 subform detalleproducto 20120122 20120122 20120122 modificaciu8c3b3n deu800 tabla contactos. seu800 agrega elu800 atributo contactoidabrv abreviatura . modificaciu8c3b3n form contactos seu800 agrega elu800 atributo contactoidabrv abreviatura . modificaciu8c3b3n vista proveedores seu800 agrega elu800 atributo abreviatura abreviatura modificaciu8c3b3n form productos seu800 agregan losu800 atributos coeficientes precios 1u800 2u800 3u800 yu800 proveedor. modificaciu8c3b3n form productos seu800 corrige elu800 listbox deu800 magnitud yu800 seu800 cambia elu800 valuelist poru800 lau800 consulta deu800 lau800 tabla productos deu800 lasu800 magnitudes existentes. 20120123 20120123 20120123 control deu800 procedimiento deu800 impresiu8c3b3n asignada report presupuesto directo . oku800. investigaciu8c3b3n sobre comu800u82esunu800...executedispatch investigaciu8c3b3n sobre environmental variables macu800 investigaciu8c3b3n sobre exporttopdf method. 20120124 20120124 20120124 funcionalidad au800 botu8c3b3n deu800 form presupuestos alta pendientes sobre envu8c3ado deu800 correo. seu800 detecta unu800 bugu800 enu800 lau800 integraciu8c3b3n thunderbird - libreoffice basic lau800 bandera deu800 nou800 mostrar dialogo nou800 funciona. 20120125 20120125 20120125 agregado deu800 agente comercial agregado enu800 tabla vidquoten1 agregado enu800 tabla contactos agregado deu800 vista acomercial modificaciu8c3b3n deu800 form contactos . agregado deu800 option modificaciu8c3b3n deu800 form presupuestos alta pendientes agregado deu800 campo acomercial conu800 listbox enu800 abreviatura delu800 contactoid. 20120127 20120127 20120127 modificacion trigger alta_producto agrega registro deu800 producto bu8c3a1sico enu800 tabla composicion . 20120203 20120203 20120203 generaciu8c3b3n deu800 reporte composicionu82eproductos generaciu8c3b3n deu800 reporte listau82epreciosu82evigentes generaciu8c3b3n deu800 reporte contactosu82eresumen modificaciu8c3b3n deu800 reporte presupuesto ampliar campo producto cambiar variable filtro poru800 _u800 cambiar direcciu8c3b3n deu800 cliente. 20120206 20120206 20120206 modificaciu8c3b3n tabla productos agregado productopid varchar 15u800 . identifica elu800 cu8c3b3digo puente delu800 proveedor para hacer elu800 pedido correspondiente modificaciu8c3b3n form productos agregado deu800 campo deu800 cu8c3b3digo puente '),(4,'gestiu8c3b3n retail aberturas pendientes',' controlar accesos poru800 ipu800 licensing. como su800 precios - documentar transacciones sendto - pdfu800 parser  value;value;...   expresion  libreru8c3ada deu800 ventanas gru8c3a1ficos rutinas java pruebas urlu800 windows vista deu800 agentes comerciales resguardo diario eliminar frame access tables byu800 user hide database objects tables&queries - sarraceno '),(5,'tabla composicion',' category tablas composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n vista visproadic estructura estructura estructura cada acciu8c3b3n deu800 alta deu800 tabla productos genera unu800 registro enu800 tabla composicion para poder copiar yu800 tener elu800 concepto delu800 producto propiamente dicho . elu800 registro copiado deu800 lau800 acciu8c3b3n anterior tiene tanto elu800 producto como elu800 elemento iguales yu800 marca alu800 atributo elementopm elemento primordial enu800 1u800 indicando queu800 eseu800 esu800 unu800 elemento bu8c3a1sico. losu800 registros deu800 elementos deu800 productos puede nou800 tener elu800 producto propiamente dicho . para queu800 pueda ofrecer elu800 cu8c3a1lculo deu800 unu800 elemento compuesto lau800 definiciu8c3b3n delu800 producto elemento compuesto nou800 deberu8c3ada tener lau800 redundancia deu800 origen ou800 seau800 tanto elu800 producto como elu800 elemento iguales. lau800 asignaciu8c3b3n deu800 valores deu800 coeficientes generales yu800 deu800 ancho alto yu800 offset para elementos compuestos nou800 seru8c3a1 tomado enu800 cuenta. solo seu800 tomaru8c3a1 como vu8c3a1lido provisoriamente losu800 coeficientes yu800 offset deu800 lau800 elemento resultante. pueden repetirse elu800 conjunto producto-elemento yau800 queu800 poru800 cada repeticiu8c3b3n seu800 agrega unu800 identificativo nou800 visible. sqlu800 sqlu800 sqlu800 create table composicion productoid char 8u800 notu800 null elementoid char 8u800 notu800 null composicid intu800 11u800 notu800 null auto_increment valorelemento decimal 16u800 8u800 default \'1u800u82e00000000\' elementopm intu800 1u800 default \'0u800\' offsetvanoancho intu800 11u800 default \'0u800\' offsetvanoalto intu800 11u800 default \'0u800\' coefvanoancho decimal 16u800 8u800 default \'1u800u82e00000000\' coefvanoalto decimal 16u800 8u800 default \'1u800u82e00000000\' composicobs varchar 25u800 default null primary keyu800 productoid elementoid composicid engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120904 agrega atributo composicid autoincremental queu800 hace diferenciar aquellos productos queu800 tienen lau800 dupla pku800 producto elemento iguales. 20130322 agrega atributo composicobs queu800 permite describir deu800 mejor forma aquellos productos queu800 tienen lau800 dupla pku800 producto elemento iguales. '),(6,'vista visintdetpre',' relaciones vista visprodadic tabla vidquoten2 '),(7,'gestiu8c3b3n retail aberturas relaciones',' estructuras deu800 datos tablas tablas tablas catinsumos cmoneda composicion composicionqry contactos cpar debugstmt elementos insumos listasprecios logprecios monedas precios preciosqry productos reppresqry transacciones ttransac vidquoten1 vidquoten2 vidquoten3 vistas vistas vistas ; vista visintdetpre tabla vidquoten2 vista visprodadic ; vista visproadic tabla productos tabla composicion vista preciosvigentes ; vista viscompodis ; vista viscabdetalla urlu800 fzgu800u82evistau82eviscabdetallau82esqlu800 tabla contactos tabla vidquoten1 ; vista visdetaobs tabla productos tabla vidquoten3 ; vista viscomposimpl tabla productos tabla composicion ; vista visdocpcob ; vista vislineabs tabla vidquoten1 tabla vidquoten2 tabla productos vista vissubxitem ; vista visprestot vista visreppres ; vista visreppres vista vislineabs vista visdetaobs ; vista visrprescmp ; vista vissubxitem tabla vidquoten3 ; vista clientes tabla contactos ; vista proveedores urlu800 fzgu800u82evistau82eproveedoresu82esqlu800 tabla contactos ; vista acomercial tabla contactos ;vista preciosvigact tabla listasprecios tabla precios vista preciosvigentes tabla listasprecios tabla precios vista visprestot vista visreppres procedimientos procedimientos procedimientos subrutinas subrutinas subrutinas botonenviarcorreopresupuesto form presupuesto#cabecera evnt mousebuttonpressed botonimprimirpresupuesto botonimprimirpresupuesto botonimprimirpresupuesto form presupuesto#cabecera evnt mousebuttonpressed cambioestadoitem cambioestadoitem cambioestadoitem confirmeeliminarproducto form presupuesto#detallepresupuesto evnt beforerecordaction form presupuesto#detalleproducto evnt confirmdeletion datestampprecioupdate datestampprecioupdate datestampprecioupdate debugacc form evnt test eventoafterrecordaction eventoafterrecordaction eventoafterrecordaction form evnt test eventobeforerecordchange eventobeforerecordchange eventobeforerecordchange form evnt test eventobeforereloading eventobeforereloading eventobeforereloading form evnt test eventobradetallepresupuesto eventobradetallepresupuesto eventobradetallepresupuesto form presupuesto#detallepresupuesto evnt beforerecordaction eventobrcdetallepresupuesto eventobrcdetallepresupuesto eventobrcdetallepresupuesto form presupuesto#detallepresupuesto evnt beforerecordchange eventowhenloadingformcabecera eventowhenloadingformcabecera eventowhenloadingformcabecera eventowhenloading form presupuesto#cabecera evnt whenloading eventowhenreloading eventowhenreloading eventowhenreloading generanuevodefaultlistaprecio hoyu800 hoyu800 hoyu800 lookupdata form presupuesto#detalleproductogrid evnt afterupdating main main main form presupuesto#forms evnt mainfordebug mouseadentro mouseadentro mouseadentro form presupuesto#detalleproductogrid evnt test newproductolistbox newproductolistbox newproductolistbox form presupuesto#detalleproductogrid evnt mousebuttonpressed newresetlistboxdetalleproducto newresetlistboxdetalleproducto newresetlistboxdetalleproducto form presupuesto#detallepresupuesto evnt beforereloading form presupuesto#detalleproducto evnt beforereloading form presupuesto#detallepresupuestogrid evnt afterupdating proddetaproddsclistbox proddetaproddsclistbox proddetaproddsclistbox form presupuesto#detalleproductogrid evnt nu800 au800 proddetaprodidlistbox proddetaprodidlistbox proddetaprodidlistbox form presupuesto#detalleproductogrid evnt nu800 au800 resetlistboxdetalleproducto resetlistboxdetalleproducto resetlistboxdetalleproducto form presupuesto#detalleproductogrid evnt nu800 au800 '),(21,'vista visproadic',' composicion # tabla composicion ## tabla productos ## tabla precios estructura estructura estructura productoid char 8u800 elementoid char 8u800 valorelemento decimal 16u800 8u800 elementopm intu800 1u800 descripcion char 80u800 magnitud char 4u800 offsetvanoancho intu800 11u800 offsetvanoalto intu800 11u800 coefvanoancho decimal 16u800 8u800 coefvanoalto decimal 16u800 8u800 precioprod00 decimal 12u800 2u800 precioprod01 decimal 12u800 2u800 precioprod02 decimal 12u800 2u800 precioprod03 decimal 12u800 2u800 sqlu800 sqlu800 sqlu800 create view visprodadic asu800 select composicion . productoid asu800 productoid composicion . elementoid asu800 elementoid composicion . valorelemento asu800 valorelemento composicion . elementopm asu800 elementopm productos . descripcion asu800 descripcion productos . magnitud asu800 magnitud composicion . offsetvanoancho asu800 offsetvanoancho composicion . offsetvanoalto asu800 offsetvanoalto composicion . coefvanoancho asu800 coefvanoancho composicion . coefvanoalto asu800 coefvanoalto precios . precioprod00 asu800 precioprod00 precios . precioprod01 asu800 precioprod01 precios . precioprod02 asu800 precioprod02 precios . precioprod03 asu800 precioprod03 from productos join composicion join precios where productos . productoid composicion . elementoid andu800 precios . productoid productos . productoid bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20111019 agregado deu800 composicion . valorelemento asu800 valorelemento composicion . elementopm asu800 elementopm alu800 select para permitir tomar elu800 dato enu800 trigger deu800 alta deu800 item deu800 presupuestaciu8c3b3n yu800 permitir lau800 composiciu8c3b3n luego. 20111101 cambio deu800 tabla precios xu800 precios. donde figuraba precios figuraru8c3a1 preciosvigente 20110105 agregado deu800 composicion . offsetvanoancho asu800 offsetvanoancho composicion . offsetvanoalto asu800 offsetvanoalto composicion . coefvanoancho asu800 coefvanoancho composicion . coefvanoalto asu800 coefvanoalto alu800 select para complejizar elu800 calculo deu800 composiciu8c3b3n 20120301 cambio deu800 referencia au800 lau800 vista preciosvigente directamente poru800 lau800 tabla precios yau800 queu800 seu800 desafectu8c3b3 elu800 mantenimiento yu800 procesos deu800 gestion deu800 precios vigentes yu800 pasan au800 tener unau800 u8c3banica lista deu800 precios. usou800 usou800 usou800 proc calculapreciobase '),(22,'proc calculapreciobase',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n calcula elu800 precio deu800 unu800 producto deu800 acuerdo au800 paru8c3a1metros mu8c3adnimos yu800 accediendo au800 lau800 base deu800 datos indicada composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n vista visprodadic estructura estructura estructura sqlu800 delimiter create function calculapreciobase pproducto varchar 8u800 pelemento varchar 8u800 pancho intu800 5u800 palto intu800 5u800 plista intu800 1u800 returns decimal 10u800 2u800 begin declare ppreciobase decimal 10u800 2u800 ; setu800 ppreciobase select case visprodadic . magnitud when \'m2u800\' then palto visprodadic . offsetvanoalto visprodadic . coefvanoalto pancho visprodadic . offsetvanoancho visprodadic . coefvanoancho 1000000 visprodadic . valorelemento case plista when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'pru800\' then palto visprodadic . offsetvanoalto 2u800 visprodadic . coefvanoalto pancho visprodadic . offsetvanoancho 2u800 visprodadic . coefvanoancho 1000 visprodadic . valorelemento case plista when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'mlu800\' then pancho visprodadic . offsetvanoancho visprodadic . coefvanoancho 1000 visprodadic . valorelemento case plista when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'mgu800\' then palto visprodadic . offsetvanoalto visprodadic . coefvanoalto pancho visprodadic . offsetvanoancho visprodadic . coefvanoancho 1000 visprodadic . valorelemento case plista when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'2hu800\' then palto visprodadic . offsetvanoalto visprodadic . coefvanoalto 1000 2u800 visprodadic . valorelemento case plista when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'2wu800\' then pancho visprodadic . offsetvanoancho visprodadic . coefvanoancho 1000 2u800 visprodadic . valorelemento case plista when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 else visprodadic . valorelemento case plista when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 endu800 asu800 preciobase from visprodadic where visprodadic . productoid pproducto andu800 visprodadic . elementoid pelemento ; return ppreciobase; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120520 incorpora elu800 cu8c3a1lculo deu800 lasu800 magnitudes 2hu800 cu8c3a1lculo enu800 base au800 lau800 altura indicada multiplicada poru800 2u800 yu800 2wu800 cu8c3a1lculo enu800 base alu800 ancho indicado multiplicado poru800 2u800 . usou800 usou800 usou800 urlu800 '),(23,'proc altaitempresupuesto',' category proc descripcion descripcion descripcion unau800 vezu800 queu800 ingresa losu800 datos bu8c3a1sicos deu800 unu800 producto verifica queu800 este producto tenga alguna composicion solo losu800 elementos bu8c3a1sicos . siu800 lau800 tiene divide elu800 proceso enu800 2u800 partes #uneu800 2u800 grupos deu800 datos dentro delu800 mismo subconjunto ##todos losu800 productos-elementos deu800 lau800 vista visprodadic cuyo codigo deu800 producto seau800 igual alu800 cu8c3b3digo deu800 producto madre yu800 queu800 seau800 propiamente dichos cuyo cu8c3b3digo deu800 producto seau800 igual alu800 cu8c3b3digo deu800 elemento ##todos losu800 productos-elementos deu800 lau800 vista visprodadic cuyo codigo deu800 producto seau800 igual alu800 cu8c3b3digo deu800 producto madre yu800 elu800 cu8c3b3digo deu800 producto seau800 diferente alu800 codigo deu800 elemento. ###incluye todos losu800 productos-elementos deu800 unu800 nivel inferior. esto seu800 realiza seleccionando losu800 elementos deu800 lau800 composicion como siu800 fuesen productos yu800 esos productos sonu800 lau800 clave deu800 bu8c3basqueda dentro deu800 lau800 misma tabla deu800 composiciu8c3b3n.  20120917  unau800 vezu800 queu800 ingresa losu800 datos bu8c3a1sicos deu800 unu800 producto inserta enu800 tabla vidquoten3 losu800 componentes delu800 producto seu8c3b1alado solo losu800 elementos bu8c3a1sicos . divide elu800 proceso enu800 2u800 partes #uneu800 2u800 grupos deu800 datos dentro delu800 mismo subconjunto ##todos losu800 productos-elementos deu800 tabla componentes tabla productos yu800 tabla precios cuyo codigo deu800 producto seau800 igual alu800 cu8c3b3digo deu800 producto madre yu800 queu800 seau800 propiamente dichos cuyo cu8c3b3digo deu800 producto seau800 igual alu800 cu8c3b3digo deu800 elemento ##todos losu800 productos-elementos deu800 deu800 tabla componentes tabla productos yu800 tabla precios cuyo codigo deu800 producto seau800 igual alu800 cu8c3b3digo deu800 producto madre yu800 elu800 cu8c3b3digo deu800 producto seau800 diferente alu800 codigo deu800 elemento. ###incluye todos losu800 productos-elementos deu800 unu800 nivel inferior. esto seu800 realiza seleccionando losu800 elementos deu800 lau800 composicion como siu800 fuesen productos yu800 esos productos sonu800 lau800 clave deu800 bu8c3basqueda dentro deu800 lau800 misma tabla deu800 composiciu8c3b3n. composicion composicion composicion vista visproadic - tabla productos - tabla precios - tabla componentes - - tabla vidquoten3 sqlu800 sqlu800 sqlu800 drop procedure altaitempresupuesto ; delimiter create definer sas_admin procedure altaitempresupuesto inu800 pvidquoteid intu800 5u800 inu800 pvidquotelpre intu800 1u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodid char 8u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 inu800 pcoeficientemu decimal 5u800 2u800 begin -- -------------------------------------------------------------------------------- -- inserta registraciones pausibles deu800 incorporar deu800 acuerdo alu800 tipo deu800 -- -------------------------------------------------------------------------------- call debugcheckpoint concat cast pvidquoteid asu800 char - cast pvidquotelpre asu800 char - cast pvidquoteitem asu800 char - pvidquoteprodid - cast pvidquoteprodcantidad asu800 char - cast pvidquoteancho asu800 char - cast pvidquotealto asu800 char - cast pcoeficientemu asu800 char ; insert into vidquoten3 vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop select pvidquoteid asu800 vidquoteid pvidquoteitem asu800 vidquoteitem r1u800u82eproductoid asu800 vidquoteprodid pvidquoteprodcantidad asu800 vidquoteprodcantidad r1u800u82eprodcmpid asu800 vidquoteelementoid r1u800u82ecomposicid asu800 vidquotecomposicid r1u800u82eelementopm asu800 vidquoteelementopm sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pcoeficientemu asu800 vidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pvidquoteprodcantidad pcoeficientemu asu800 vidquotepreciop from -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion iguales alu800 producto -- -------------------------------------------------------------------------------- select u1u800u82eproductoid u1u800u82eelementoid asu800 prodcmpid u1u800u82ecomposicid u1u800u82eelementoid u1u800u82eelementopm u2u800u82emagnitud u1u800u82evalorelemento u1u800u82eoffsetvanoancho u1u800u82eoffsetvanoalto u1u800u82ecoefvanoancho u1u800u82ecoefvanoalto case pvidquotelpre when 0u800 then u3u800u82eprecioprod00 when 1u800 then u3u800u82eprecioprod01 when 2u800 then u3u800u82eprecioprod02 when 3u800 then u3u800u82eprecioprod03 endu800 asu800 precioprod from fzggestionu82eproductos asu800 u2u800 fzggestionu82ecomposicion asu800 u1u800 fzggestionu82eprecios asu800 u3u800 where u2u800u82eproductoid u1u800u82eelementoid andu800 u3u800u82eproductoid u2u800u82eproductoid andu800 u1u800u82eproductoid pvidquoteprodid andu800 u1u800u82eelementoid pvidquoteprodid andu800 u1u800u82eelementopm 0u800 -- -------------------------------------------------------------------------------- union -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion diferentes alu800 producto -- -------------------------------------------------------------------------------- select t1u800u82eproductoid t1u800u82eelementoid asu800 prodcmpid t1u800u82ecomposicid t2u800u82eelementoid t1u800u82eelementopm t3u800u82emagnitud t1u800u82evalorelemento t2u800u82evalorelemento asu800 valorelemento t1u800u82eoffsetvanoancho t2u800u82eoffsetvanoancho asu800 offsetvanoancho t1u800u82eoffsetvanoalto t2u800u82eoffsetvanoalto asu800 offsetvanoalto t1u800u82ecoefvanoancho t2u800u82ecoefvanoancho asu800 coefvanoancho t1u800u82ecoefvanoalto t2u800u82ecoefvanoalto asu800 coefvanoalto case pvidquotelpre when 0u800 then t4u800 . precioprod00 when 1u800 then t4u800 . precioprod01 when 2u800 then t4u800 . precioprod02 when 3u800 then t4u800 . precioprod03 endu800 asu800 precioprod from fzggestionu82ecomposicion asu800 t2u800 fzggestionu82ecomposicion asu800 t1u800 fzggestionu82eproductos asu800 t3u800 fzggestionu82eprecios asu800 t4u800 where t2u800u82eproductoid t1u800u82eelementoid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid andu800 t1u800u82eproductoid t1u800u82eelementoid andu800 t2u800u82eelementopm 0u800 andu800 t1u800u82eproductoid pvidquoteprodid andu800 t1u800u82eelementopm 0u800 order byu800 t1u800u82eproductoid ascu800 t1u800u82eelementoid ascu800 t1u800u82ecomposicid ascu800 t2u800u82eelementoid ascu800 -- -------------------------------------------------------------------------------- -- r1u800 esu800 elu800 sinu8c3b3nimo deu800 lau800 union deu800 lasu800 tablas -- -------------------------------------------------------------------------------- asu800 r1u800 group byu800 vidquoteelementoid vidquotecomposicid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120419 cambio deu800 esquema para colocar elu800 cu8c3a1lculo deu800 subitems. 20120917 cambio deu800 diseu8c3b1o form presupuesto delimiter create procedure altaitempresupuesto inu800 pvidquoteid intu800 5u800 inu800 pvidquotelpre intu800 1u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodid char 8u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 begin insert into vidquoten3 vidquoteid vidquotelpre vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteancho vidquotealto vidquoteelementoid vidquoteprecio vidquotepreciop select pvidquoteid pvidquotelpre pvidquoteitem pvidquoteprodid pvidquoteprodcantidad pvidquoteancho pvidquotealto t3u800 . prodcmpid sumu800 calculoprecio pvidquoteancho pvidquotealto t3u800 . precioprod t3u800 . magnitud t3u800 . offsetvanoalto t3u800 . offsetvanoancho t3u800 . coefvanoalto t3u800 . coefvanoancho t3u800 . valorelemento asu800 pvidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto t3u800 . precioprod t3u800 . magnitud t3u800 . offsetvanoalto t3u800 . offsetvanoancho t3u800 . coefvanoalto t3u800 . coefvanoancho t3u800 . valorelemento pvidquoteprodcantidad asu800 pvidquotepreciop from select t1u800 . productoid asu800 productoid t1u800 . productoid asu800 prodcmpid t1u800 . elementoid t1u800 . valorelemento t1u800 . descripcion t1u800 . magnitud t1u800 . offsetvanoancho t1u800 . offsetvanoalto t1u800 . coefvanoancho t1u800 . coefvanoalto case pvidquotelpre when 0u800 then t1u800 . precioprod00 when 1u800 then t1u800 . precioprod01 when 2u800 then t1u800 . precioprod02 when 3u800 then t1u800 . precioprod03 endu800 asu800 precioprod from visprodadic asu800 t1u800 where productoid pvidquoteprodid andu800 elementoid pvidquoteprodid andu800 elementopm 1u800 union select pvidquoteprodid asu800 productoid t2u800 . productoid asu800 prodcmpid t2u800 . elementoid t2u800 . valorelemento t2u800 . descripcion t2u800 . magnitud t2u800 . offsetvanoancho t2u800 . offsetvanoalto t2u800 . coefvanoancho t2u800 . coefvanoalto case pvidquotelpre when 0u800 then t2u800 . precioprod00 when 1u800 then t2u800 . precioprod01 when 2u800 then t2u800 . precioprod02 when 3u800 then t2u800 . precioprod03 endu800 asu800 precioprod from visprodadic asu800 t2u800 where productoid inu800 select elementoid from visprodadic where productoid pvidquoteprodid andu800 elementoid pvidquoteprodid andu800 elementopm 1u800 asu800 t3u800 group byu800 prodcmpid; endu800; 20121208 seu800 detecta errores enu800 elu800 cu8c3a1lculo combinado poru800 lau800 falta deu800 propagaciu8c3b3n deu800 atributos deu800 componentes conu800 niveles adicionales deu800 composiciu8c3b3n dvhu800 etcu800 . anterior -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure altaitempresupuesto inu800 pvidquoteid intu800 5u800 inu800 pvidquotelpre intu800 1u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodid char 8u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 inu800 pcoeficientemu decimal 5u800 2u800 begin -- -------------------------------------------------------------------------------- -- inserta registraciones pausibles deu800 incorporar deu800 acuerdo alu800 tipo deu800 -- -------------------------------------------------------------------------------- insert into vidquoten3 vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop select pvidquoteid asu800 vidquoteid pvidquoteitem asu800 vidquoteitem r1u800u82eproductoid asu800 vidquoteprodid pvidquoteprodcantidad asu800 vidquoteprodcantidad r1u800u82eprodcmpid asu800 vidquoteelementoid r1u800u82ecomposicid asu800 vidquotecomposicid r1u800u82eelementopm asu800 vidquoteelementopm sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pcoeficientemu asu800 vidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pvidquoteprodcantidad pcoeficientemu asu800 vidquotepreciop from -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion iguales alu800 producto -- -------------------------------------------------------------------------------- select u1u800u82eproductoid u1u800u82eelementoid asu800 prodcmpid u1u800u82ecomposicid u1u800u82eelementoid u1u800u82eelementopm u2u800u82emagnitud u1u800u82evalorelemento u1u800u82eoffsetvanoancho u1u800u82eoffsetvanoalto u1u800u82ecoefvanoancho u1u800u82ecoefvanoalto case 2u800 when 0u800 then u3u800u82eprecioprod00 when 1u800 then u3u800u82eprecioprod01 when 2u800 then u3u800u82eprecioprod02 when 3u800 then u3u800u82eprecioprod03 endu800 asu800 precioprod from fzggestionu82eproductos asu800 u2u800 fzggestionu82ecomposicion asu800 u1u800 fzggestionu82eprecios asu800 u3u800 where u2u800u82eproductoid u1u800u82eelementoid andu800 u3u800u82eproductoid u2u800u82eproductoid andu800 u1u800u82eproductoid pvidquoteprodid andu800 u1u800u82eelementoid pvidquoteprodid andu800 u1u800u82eelementopm 0u800 -- -------------------------------------------------------------------------------- union -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion diferentes alu800 producto -- -------------------------------------------------------------------------------- select t1u800u82eproductoid t1u800u82eelementoid asu800 prodcmpid t1u800u82ecomposicid t2u800u82eelementoid t1u800u82eelementopm t3u800u82emagnitud t1u800u82evalorelemento t1u800u82eoffsetvanoancho t1u800u82eoffsetvanoalto t1u800u82ecoefvanoancho t1u800u82ecoefvanoalto case 2u800 when 0u800 then t4u800 . precioprod00 when 1u800 then t4u800 . precioprod01 when 2u800 then t4u800 . precioprod02 when 3u800 then t4u800 . precioprod03 endu800 asu800 precioprod from fzggestionu82ecomposicion asu800 t2u800 fzggestionu82ecomposicion asu800 t1u800 fzggestionu82eproductos asu800 t3u800 fzggestionu82eprecios asu800 t4u800 where t2u800u82eproductoid t1u800u82eelementoid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid andu800 t1u800u82eproductoid t1u800u82eelementoid andu800 t2u800u82eelementopm 0u800 andu800 t1u800u82eproductoid pvidquoteprodid andu800 t1u800u82eelementopm 0u800 order byu800 t1u800u82eproductoid ascu800 t1u800u82eelementoid ascu800 t1u800u82ecomposicid ascu800 t2u800u82eelementoid ascu800 -- -------------------------------------------------------------------------------- -- r1u800 esu800 elu800 sinu8c3b3nimo deu800 lau800 union deu800 lasu800 tablas -- -------------------------------------------------------------------------------- asu800 r1u800 group byu800 vidquoteelementoid vidquotecomposicid; endu800 usou800 usou800 usou800 macro eventobrcdetallepresupuesto urlu800 urlu800 urlu800 fzgu800u82eprocedureu82ealtaitempresupuestou82esqlu800 '),(24,'warning-icon-hiu800u82epngu800',' '),(25,'spanex preciosabt',' correcciones realizadas v3u800u82e0u800 2012 sobre elu800 estado inicial deu800 acuerdo au800 losu800 usuarios solo erau800 necesario ejecutar elu800 proceso deu800 lista deu800 precios deu800 wm2009 sobre losu800 mismos archivos conu800 procediendo previamente au800 cambiar lau800 compau8c3b1u8c3ada extrusora. elu800 esquema nou800 funciona deu800 esta manera osixto seu800 procede au800 solicitar lau800 generaciu8c3b3n deu800 todos losu800 archivos deu800 acuerdo au800 lasu800 actuales necesidades. seu800 procede au800 confeccionar unau800 lista au800 mano alzada deu800 todos losu800 productos queu800 estaru8c3a1n incluidos dentro deu800 lau800 muestra. conu800 fecha 20120509 seu800 retira elu800 u8c3baltimo deu800 losu800 archivos deu800 presupuesto modelo para proceder au800 corregir lau800 versiu8c3b3n 2u800u82e0u800 seu800 confecciona unu800 sqlscript para automatizar elu800 reemplazo deu800 datos iniciales deu800 modelos sobre lau800 tabla abtu800u82eproductos deu800 acuerdo au800 lau800 lista au800 mano alzada delu800 20120504 urlu800 upgradedbu82ev3_0u82esqlu800 seu800 modifican losu800 atributos deu800 tabla abtu800u82eproductos para mantener unu800 esquema puente conu800 lau800 v2u800u82e0u800. seu800 genera elu800 esquema puente entre ambas versiones trabajo administrativo manual . correcciones deu800 forma enu800 losu800 archivos deu800 presupuestoswm ejemplo pfij-pau8c3b1o fijo standard 4u800 mmu800u82eptou800 - pfij-pau8c3b1o fijo standard 4mmu800u82eptou800 seu800 aplican correcciones alu800 35u800 deu800 todos losu800 archivos deu800 presupuesto. seu800 modifica elu800 esquema deu800 vidrio repartido. seu800 toma como base lau800 versiu8c3b3n 1u800 yu800 cambia lau800 modalidad deu800 cu8c3a1lculo. nou800 toma datos deu800 proceso sino queu800 esu800 simplemente elu800 calculo poru800 m2u800. recodificaciu8c3b3n yu800 agregado deu800 productos para elu800 nuevo esquema deu800 pau8c3b1os fijos. 20120516 luego deu800 esfuerzos para ejecutar elu800 proceso enu800 home seu800 comunica queu800 lepton seu800 niega au800 brindar lau800 clave poru800 falta deu800 pago deu800 licencias. seu800 comunica queu800 au800 partir delu800 16u800 seu800 comenzaru8c3a1 au800 ejecutar esta tarea enu800 abtu800. 20120518 seu800 verifica lasu800 carencias deu800 software deu800 oficina enu800 losu800 equipos donde seu800 ejecutaru8c3a1n losu800 procesos enu800 abtu800. esu800 solucionado. seu800 detectan incongruencias yu800 seu800 solicita definiciones rangos falta deu800 archivos etcu800. seu800 programa procesos automatizados deu800 generaciu8c3b3n deu800 archivos. 20120522 generaciu8c3b3n deu800 script para correcciu8c3b3n deu800 nombres incorrectamente definidos. 20120524 cambio nuevamente deu800 esquema deu800 vidrio repartido. vuelve alu800 estado anterior. recreaciu8c3b3n deu800 todas lasu800 fu8c3b3rmulas enu800 todas lasu800 solapas deu800 lau800 capa deu800 presentaciu8c3b3n. 20120528 seu800 ejecutan lasu800 u8c3baltimas generaciones deu800 archivos enu800 sitio. 20120529 seu800 ejecutan losu800 procesos yu800 seu800 definen algunos cambios deu800 lau800 capa deu800 presentaciu8c3b3n. seu800 detectan incoherencias conu800 respecto au800 losu800 datos deu800 set2011. seu800 hace comunicacion telefu8c3b3nica sinu800 respuesta. seu800 envu8c3ada unu800 correo solicitando losu800 elementos deu800 decisiu8c3b3n. 20120530 seu800 aplican modificaciones au800 capa deu800 presentaciu8c3b3n. seu800 agregan lasu800 solapas correspondientes au800 losu800 pau8c3b1os fijos deu800 cada lu8c3adnea. seu800 agregan losu800 cu8c3b3digos correspondientes para pau8c3b1os fijos pfij deu800 cada lu8c3adnea 20120601 regeneraciu8c3b3n deu800 aberturas deu800 pvcu800 poru800 cambio deu800 precios regeneraciu8c3b3n deu800 archivo deu800 aberturas mu800-3u800 6mmu800. regeneraciu8c3b3n deu800 archivos deu800 gillotinas poru800 cambio deu800 lu8c3adnea novissima poru800 delta 20120604 eliminaciu8c3b3n manual deu800 dimension altura 2400 para vabr tablas tablas tablas tablas queu800 intervienen enu800 elu800 proceso deu800 generaciu8c3b3n deu800 listas deu800 precios table productos table modelos table preciostmp table precios table categorias table dimensionval table interiores procesos procesos procesos losu800 siguientes sonu800 losu800 pasos au800 seguir #generaciu8c3b3n deu800 archivos deu800 precios ##au800 partir delu800 mu8c3b3dulo winpre existente ejecutar elu800 proceso deu800 cu8c3a1lculo deu800 lista deu800 precios para cada unou800 deu800 losu800 tipos deu800 productos au800 incluir dentro deu800 lau800 lista deu800 precios. este proceso toma losu800 archivos existentes deu800 extensiu8c3b3n .ptou800 yu800 losu800 transforma conu800 eseu800 proceso enu800 archivos delu800 tipo .xlsu800 conu800 elu800 queu800 luego seu800 transformaru8c3a1n enu800 datos maleables. ##201205 usou800 deu800 autohotkey conu800 lasu800 macros indicadas ###marcar elu800 archivo sinu800 extensiu8c3b3n yu800 copiar elu800 nombre enu800 elu800 portapapeles . ###levantar elu800 archivo conu800 wm2009. ctrl bu800 ###ejecutar elu800 proceso deu800 acuerdo au800 lasu800 caracteru8c3adsticas delu800 archivo ###ejecutar elu800 ajuste deu800 configuraciu8c3b3n deu800 lau800 salida. ctrl lu800 ###grabar enu800 formato .xlsu800 copiando elu800 nombre almacenado enu800 elu800 portapapeles. ctrl vu800 ###repetir hasta finalizar conu800 todos losu800 archivos. ##verificar queu800 elu800 archivo proc procesou82epreciosu82echequeanombresu82escpu800 estu8c3a9 dentro deu800 lasu800 normas deu800 unix lfu800 ###usar  fromdos procesou82epreciosu82echequeanombresu82escpu800  ####sudo aptu800-getu800 install tofrodos ##corregir losu800 nombres deu800 losu800 archivos deu800 acuerdo au800 lasu800 especificaciones dentro deu800 lau800 tabla preciosabtu82eproductos . proc procesou82epreciosu82echequeanombresu82escpu800 ###verificar lau800 ejecuciu8c3b3n deu800 losu800 cambios ##ejecutar elu800 proceso deu800 conversiu8c3b3n deu800 .xlsu800 au800 formato .csvu800 . proc procesou82epreciosu82e004u800u82escpu800 ###verificar lau800 existencia delu800 programa  xls2csv  ####sudo aptu800-getu800 install catdoc ###elu800 proc procesou82epreciosu82e004u800u82escpu800 necesita elu800 paru8c3a1metro deu800 lau800 carpeta donde tomaru8c3a1 losu800 archivos ###debe existir dentro deu800 lau800 carpeta deu800 ejecuciu8c3b3n elu800 directorio preciou82ecsvu800 . siu800 nou800 existe crearlo. ##ejecutar elu800 proceso deu800 agregado au800 lau800 base deu800 datos proc procesou82epreciosu82e005u800u82escpu800 ###ejecutar elu800 proceso conu800 elu800 paru8c3a1metro     proceso 004u800 proceso 004u800 proceso 004u800 proceso automu8c3a1tico deu800 toma deu800 archivos provenientes deu800 winmaker enu800 formato xlsu800 yu800 losu800 traduce enu800 formato csvu800 para queu800 puedan seru800 tomados normalmente enu800 unu800 archivo u8c3banico conu800 todos losu800 datos transformados. port unix port unix port unix urlu800 procesou82epreciosu82e004u800u82escpu800 # binu800 shu800 # # generaciu8c3b3n deu800 archivo deu800 csvu800 conu800 precios provenientes desde winmaker # # -------------------------------------------------------------------- rmu800 preciosu82ecsvu800 listau82epreciosu82ecsvu800 # expansiones varias # desafectado 20110803 dado losu800 errores provenientes deu800 abertec-winmaker au8c3ban nou800 seu800 hanu800 solucionado desde 20110505 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido rajau82exlsu800 \'preciosu82ewmu800u82exlsu800 rajas novissima vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido rajau82exlsu800 \'preciosu82ewmu800u82exlsu800 rajas atu800-premium vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido rajau82exlsu800 \'preciosu82ewmu800u82exlsu800 rajas europa vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido rajau82exlsu800 \'preciosu82ewmu800u82exlsu800 rajas stdu800 vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido proyu82exlsu800 \'preciosu82ewmu800u82exlsu800 proyectante maxu800-airu800 vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido proyu82exlsu800 \'preciosu82ewmu800u82exlsu800 proyectante novissima vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas europa vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas novissima vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas modena vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas prima 45u800 vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas stdu800 vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas liviana vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas aluminio natural liviana vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 ventanas corredizas atu800-premium vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 puertas corredizas europa vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 puertas corredizas modena vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 puertas corredizas stdu800 vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 puertas corredizas atu800-premium vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 guillotina novissima vidrio repartidou82exlsu800 #cpu800 \'preciosu82ewmu800u82exlsu800 vidrio repartido vcrr-glltu82exlsu800 \'preciosu82ewmu800u82exlsu800 guillotina stdu800 vidrio repartidou82exlsu800 # finu800 expansiones varias foru800 file inu800 preciosu82ewmu800u82exlsu800 .xlsu800; dou800 echo file base basename file .xlsu800 salida1 baseu82ecsvu800 xls2csv file salida1 # catu800 comandou82einsertu82epreciostmpu82escpu800 listau82eprecios1u82ecsvu800 # original au800 partir deu800 excel # awku800 \'begin fsu800 ; nru800 8u800 && nfu800 2u800 print 42u800 filename 42u800 1u800 substr 3u800 2u800 length 3u800 -2u800 \' salida1 preciosu82ecsvu800 listau82epreciosu82ecsvu800 # au800 partir deu800 openoffice awku800 \'begin fsu800 ; nru800 6u800 && nfu800 2u800 print 42u800 filename 42u800 1u800 substr 3u800 2u800 length 3u800 -2u800 \' salida1 preciosu82ecsvu800 listau82epreciosu82ecsvu800 # awku800 \'begin fsu800 ; nru800 8u800 && nfu800 2u800 print 42u800 filename 42u800 1u800 substr 3u800 2u800 length 3u800 -2u800 \' salida1 listau82eprecios1u82ecsvu800 rmu800 salida1 done port wintel port wintel port wintel urlu800 procesou82epreciosu82e004u800u82ecmdu800 echo offu800 clsu800 echo procesando archivos provenientes deu800 winmaker.... path path ;cu800 abertec precios erase cu800 abertec precios preciosu82ecsvu800 .csvu800 erase cu800 abertec precios preciosu82ecsvu800 .txtrem erase .csvu800 cdu800 cu800 abertec precios preciosu82ewmu800u82exlsu800 diru800 .xlsu800 bu800 nu800 l_planillasu82etxtu800 cu800 program files gnuwin32 binu800 awku800 -vu800 squ800 42u800 print xls2csv squ800 0u800 squ800 l_planillasu82etxtu800 cmdu800 cu800 program files gnuwin32 binu800 awku800 -fu800 .. p_planillasu82eawku800 .csvu800 listau82epreciosu82etxtu800 remu800 erase .csvu800 erase cu800 abertec precios preciosu82ewmu800u82exlsu800 .csvu800 remu800 erase l_planillasu82etxtu800 remu800 rename listau82epreciosu82etxtu800 listau82epreciosu82ecsvu800 copy listau82epreciosu82etxtu800 cu800 abertec precios preciosu82ecsvu800 listau82epreciosu82ecsvu800 erase cu800 abertec precios preciosu82ewmu800u82exlsu800 .txtu800 clsu800 echo finu800 delu800 proceso 4u800 pause proceso 005u800 proceso 005u800 proceso 005u800 actualiza lasu800 tablas deu800 precios seu800 lanza desde elu800 proceso urlu800 procesou82epreciosu82e005u800u82escpu800 port unix port unix port unix ficha date yu800 mu800 du800. hu800 mu800 salida logu800u82eprocesou82epreciosu82e005u800- ficha echo salida mysql -vu800 -bu800 -uu800 sas_admin -pu800 -hu800 1u800 abertec salida port wintel port wintel port wintel echo offu800 clsu800 echo procesando precios... path path ;cu800 program files mysql mysql server 5u800u82e1u800 binu800 cdu800 abertec precios preciosu82ecsvu800 setu800 salida logu800u82eprocesou82epreciosu82e005u800- setu800 salida salida date 6u800 4u800 date 3u800 2u800 date 0u800 2u800 remu800 mysql -vu800 -bu800 -uu800 abt_usr -pu800 -hu800 abt001 abertec .. procesou82epreciosu82e005u800u82esqlu800 salida mysql -vu800 -bu800 -uu800 abt_usr -pu800 -hu800 abt001 abertec .. procesou82epreciosu82e005u800u82esqlu800 nulu800 proceso 005u800 sqlu800 proceso 005u800 sqlu800 proceso 005u800 sqlu800 file warning-icon-hiu800u82epngu800 20px atenciu8c3b3n verificar elu800 directorio deu800 acceso deu800 losu800 archivos deu800 donde tomaru8c3a1 definitivamente losu800 datos elu800 proceso. file warning-icon-hiu800u82epngu800 20px -- comu800 agregado 20100525u82e0933 useu800 abertec truncate precios; -- finu800 agregado 20100525u82e0933 truncate preciostmp; -- incorpora archivo plano deu800 precios luego deu800 ejecuciu8c3b3n 004u800 load data local infile \' home sasu800 archivos documentos documentos cloudoffice abertec listasu82eprecios listasu82epreciosu82eunificada preciosu82ecsvu800 listau82epreciosu82ecsvu800\' into table preciostmp fields terminated byu800 \' \' enclosed byu800 \' \' lines terminated byu800 \' nu800\' archivoid dimension precio ; -- define fecha deu800 cambio deu800 precio yu800 estado au800 \'activo\' update preciostmp setu800 fechaprecio current_date estadoprecio au800 ; -- cambia estado deu800 precios anteriores au800 \'inactivo\' update precios setu800 estadoprecio iu800 ; -- modificaciu8c3b3n 07u800u82e2010 cambia adaptarwm poru800 productos -- insert into precios productoid dimension precio fechaprecio estadoprecio archivoid ancho alto -- select t2u800u82eproductoid t1u800u82edimension t1u800u82eprecio t1u800u82efechaprecio t1u800u82eestadoprecio t1u800u82earchivoid convert trim substr t1u800u82edimension 1u800 4u800 unsigned -- convert trim substr t1u800u82edimension locate xu800 dimension 2u800 4u800 unsigned from preciostmp asu800 t1u800 adaptarwm asu800 t2u800 where t1u800u82earchivoid t2u800u82earchivoid; -- arma tabla precios conu800 lau800 combinaciu8c3b3n deu800 tablas deu800 preciostmp yu800 productos adaptarwm insert into precios productoid dimension precio fechaprecio estadoprecio archivoid ancho alto select t2u800u82eproductoid t1u800u82edimension t1u800u82eprecio t1u800u82efechaprecio t1u800u82eestadoprecio t1u800u82earchivoid convert trim substr t1u800u82edimension 1u800 4u800 unsigned convert trim substr t1u800u82edimension locate xu800 dimension 2u800 4u800 unsigned from preciostmp asu800 t1u800 productos asu800 t2u800 where t1u800u82earchivoid t2u800u82earchivoid; -- corrige campo dimensiu8c3b3n para hacerlo fixu800. update precios setu800 dimension concat_ws \' xu800 \' right concat 0u800 trim convert ancho char 10u800 4u800 right concat 0u800 trim convert alto char 10u800 4u800 ; -- finu800 procesou82epreciosu82e005u800 otros procesos otros procesos otros procesos urlu800 procesou82epreciosu82e000u800u82escpu800 ejecuta enu800 forma automatizada losu800 procesos 004u800 005u800 # binu800 shu800 # --------------------------------------------------- # proceso deu800 ejecuciu8c3b3n deu800 general deu800 adaptaciu8c3b3n deu800 # lista deu800 precios pu800 abertec. debe ingresarse elu800 # paru8c3a1metro host ipu800 para indicar # sobre queu800 motor seu800 estu8c3a1 haciendo elu800 trabajo # --------------------------------------------------- . procesou82epreciosu82e004u800u82escpu800 . procesou82epreciosu82e004bu82escpu800 . procesou82epreciosu82e005u800u82escpu800 192u800u82e168u800u82e0u800u82e188u800 . procesou82epreciosu82e005bu82escpu800 192u800u82e168u800u82e0u800u82e188u800 urlu800 procesou82epreciosu82e004bu82escpu800 desafectado. hacu8c3ada elu800 mismo proceso queu800 urlu800 procesou82epreciosu82e004u800u82escpu800 yu800 leu800 incluu8c3ada unu800 reproceso deu800 vidrios repartidos urlu800 procesou82epreciosu82e005bu82escpu800 desafectado. hacu8c3ada elu800 mismo proceso queu800 urlu800 procesou82epreciosu82e005u800u82escpu800 yu800 tomaba elu800 sqlu800 script siguiente urlu800 procesou82epreciosu82e005bu82esqlu800 actualizaba losu800 valores deu800 vidrio repartido conu800 unu800 coeficiente determinado. useu800 abertec; update abertec . precios setu800 precio precio 1u800u82e07u800 where archivoid like \' epartido \'; vistas vistas vistas beautify vistaprecios001 vistaprecios001 vistaprecios001 select precios . productoid ifnull productos . categoriaid   asu800 categoriaid ifnull productos . modeloid   asu800 modeloid ifnull productos . colorid   asu800 colorid ifnull productos . interiorid   asu800 interiorid ifnull productos . columnaid   asu800 columnaid precios . dimension precios . precio precios . estadoprecio from abertec . productos asu800 productos abertec . precios asu800 precios where productos . productoid precios . productoid andu800 precios . estadoprecio \'au800\' vistaprecios007 vistaprecios007 vistaprecios007 create view vistaprecios007 asu800 select distinct t1u800 . productoid asu800 productoid ifu800 t1u800 . categoriaid \'pcrr\' \'vcrr\' t1u800 . categoriaid asu800 categoriaid t1u800 . modeloid asu800 modeloid t1u800 . colorid asu800 colorid t1u800 . interiorid asu800 interiorid t1u800 . columnaid asu800 columnaid t1u800 . dimension asu800 dimension t1u800 . precio asu800 precio t1u800 . estadoprecio asu800 estadoprecio from vistaprecios001 t1u800 join dimensionval t2u800 where t1u800 . categoriaid t2u800 . categoriaid andu800 t1u800 . modeloid t2u800 . modeloid andu800 t1u800 . colorid t2u800 . colorid andu800 t1u800 . dimension t2u800 . dimension vistaprecios099 vistaprecios099 vistaprecios099 create view vistaprecios099 asu800 select distinct t1u800 . productoid asu800 productoid t1u800 . categoriaid asu800 categoriaid t1u800 . modeloid asu800 modeloid t1u800 . colorid asu800 colorid t1u800 . interiorid asu800 interiorid t1u800 . columnaid asu800 columnaid t1u800 . dimension asu800 dimension t1u800 . precio asu800 precio t1u800 . estadoprecio asu800 estadoprecio from vistaprecios001 t1u800 join dimensionval t2u800 where t1u800 . categoriaid t2u800 . categoriaid andu800 t1u800 . modeloid t2u800 . modeloid andu800 t1u800 . colorid t2u800 . colorid andu800 t1u800 . dimension t2u800 . dimension estructura bu8c3a1sica reporte estructura bu8c3a1sica reporte estructura bu8c3a1sica reporte premarcos yu800 contramarcos premarco contramarcos chico grande modena premarco contramarco ventana corrediza tradicional blanca simple vcrr 0800x0400 pcrr 1200x2000 vidrio 4mmu800 repartido cu800 vidrio mosquitero gu800u82ecomu8c3ban gu800u82ebarrio ventana corrediza gamma 90u8c2b0 blanca simple vcrr 0800x0400 pcrr 1200x2000 vidrio 4mmu800 vcrr 0800x0400 pcrr 1200x2000 repartido cu800 vidrio mosquitero gu800u82ecomu8c3ban gu800u82ebarrio ventana corrediza gamma 45u8c2b0 blanca simple vcrr 0800x0400 pcrr 1200x2000 vidrio 4mmu800 vcrr 0800x0400 pcrr 1200x2000 repartido cu800 vidrio mosquitero gu800u82ecomu8c3ban gu800u82ebarrio ventana corrediza delta simple vcrr 0800x0400 pcrr 1200x2000 vidrio 4mmu800 vcrr 0800x0400 4mmu800 1000x1500 5mmu800 pcrr 1200x2000 4mmu800 1800x2000 5mmu800 2000x2000 6mmu800 repartido cu800 vidrio dvhu800 vcrr 0800x0400 4u800 6u800 4u800 1000x1500 5u800 6u800 5u800 pcrr 1200x2000 4u800 6u800 4u800 1800x2000 5u800 6u800 5u800 2000x2000 6u800 6u800 6u800 mosquitero gu800u82ecomu8c3ban gu800u82ebarrio ventana corrediza mu8c3b3naco topu800 simple vcrr 0800x0400 pcrr 1200x2000 vidrio 4mmu800 vcrr 0800x0400 4mmu800 1000x1500 5mmu800 pcrr 1200x2000 4mmu800 1800x2000 5mmu800 2000x2000 6mmu800 repartido cu800 vidrio dvhu800 vcrr 0800x0400 4u800 9u800 4u800 1000x1500 5u800 9u800 5u800 pcrr 1200x2000 4u800 9u800 4u800 1800x2000 5u800 9u800 5u800 2000x2000 6u800 9u800 6u800 mosquitero gu800u82ecomu8c3ban gu800u82ebarrio ventana corrediza mu800-3u800 simple vcrr 0800x0400 pcrr 1200x2000 vidrio 4mmu800 vcrr 0800x0400 4mmu800 1000x1500 5mmu800 pcrr 1200x2000 4mmu800 1800x2000 5mmu800 2000x2000 6mmu800 repartido cu800 vidrio dvhu800 vcrr 0800x0400 4u800 12u800 4u800 1000x1500 5u800 12u800 5u800 pcrr 1200x2000 4u800 12u800 4u800 1800x2000 5u800 12u800 5u800 2000x2000 6u800 12u800 6u800 mosquitero gu800u82ecomu8c3ban gu800u82ebarrio ventana corrediza mu800-5u800 ventana corrediza mu800-3u800 vidrio repartido ventana corrediza mu800-5u800 vidrio repartido ventana deu800 abrir mu8c3b3naco topu800 ventana deu800 abrir delta ventana deu800 abrir gamma ventana deu800 abrir mediterranea mu800-3u800 ventana deu800 abrir mu800-5u800 vidrio repartido guillotina novu8c3adssima ojos deu800 buey medio solu800 rajas 1u800 2u800 punto externo postigones fijos postigones regulables cortinas pau8c3b1os fijos tradicional gamma 45u8c2b0 gamma 90u8c2b0 mu8c3b3naco topu800 mu800-3u800 delta dvhu800 gamma 45u8c2b0 gamma 90u8c2b0 mu8c3b3naco topu800 mu800-3u800 delta anodizados frentes integrales deu800 placard aireador - rejas accesorios vidrios puertas tradicional gamma 45u8c2b0 gamma 90u8c2b0 mu8c3b3naco topu800 mu800-3u800 mu800-5u800 delta '),(26,'vista visprdparam',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 lau800 tabla deu800 productos indicando conu800 parametros aquellos elementos queu800 tienen paru8c3a1metros asociados. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla productos tabla valadicprod estructura estructura estructura sqlu800 create view visprdparam asu800 select productos . productoid asu800 productoid productos . descripcion asu800 descripcion productos . productoid inu800 select distinct valadicprod . productoid from valadicprod asu800 parametros from productos order byu800 productos . descripcion bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form masivoporelemento urlu800 urlu800 urlu800 '),(30,'vista vislineabs',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n define linea bu8c3a1sica para reporte teniendo como base vidquoten2 agregando lau800 informaciu8c3b3n deu800 lau800 cabecera datos deu800 descrpciu8c3b3n deu800 producto elu800 subtotal poru800 producto-item composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten1 tabla vidquoten2 tabla productos vista vissubxitem estructura estructura estructura sqlu800 create view fzggestion . vislineabs asu800 select fzggestion . vidquoten2 . vidquoteid asu800 vidquoteid fzggestion . vidquoten1 . vidquoteobra asu800 vidquoteobra fzggestion . vidquoten1 . vidquotecliente asu800 vidquotecliente fzggestion . vidquoten1 . vidquotefecha asu800 vidquotefecha fzggestion . vidquoten1 . vidquoteestado asu800 vidquoteestado fzggestion . vidquoten2 . vidquoteitem asu800 vidquoteitem fzggestion . vidquoten2 . vidquoteprodcantidad asu800 vidquoteprodcantidad fzggestion . vidquoten2 . vidquoteprodid asu800 vidquoteprodid ifu800 fzggestion . vidquoten2 . vidquoteancho 0u800 ifu800 fzggestion . vidquoten2 . vidquotealto 0u800 concat convert fzggestion . productos . descripcion using utf8 \' -dimension mmu800 \' lpad cast fzggestion . vidquoten2 . vidquoteancho asu800 char charset utf8 4u800 \'0000\' \'xu800\' lpad cast fzggestion . vidquoten2 . vidquotealto asu800 char charset utf8 4u800 \'0000\' \' -\' concat convert fzggestion . productos . descripcion using utf8 \' -largo mmu800 \' lpad cast fzggestion . vidquoten2 . vidquoteancho asu800 char charset utf8 4u800 \'0000\' \' -\' convert fzggestion . productos . descripcion using utf8 asu800 descripcion vissubxitem . vidquoteprecios asu800 vidquoteprecios from fzggestion . vidquoten1 join fzggestion . vidquoten2 join fzggestion . productos join fzggestion . vissubxitem where fzggestion . vidquoten1 . vidquoteid fzggestion . vidquoten2 . vidquoteid andu800 fzggestion . productos . productoid fzggestion . vidquoten2 . vidquoteprodid andu800 vissubxitem . vidquoteid fzggestion . vidquoten2 . vidquoteid andu800 vissubxitem . vidquoteitem fzggestion . vidquoten2 . vidquoteitem bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(27,'vista visrprescmp',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n completa conu800 informaciu8c3b3n estu8c3a1tica delu800 cliente para elu800 presupuesto indicado enu800 elu800 registro deu800 tabla reppresqry composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n vista visreppres tabla clientes tabla reppresqry estructura estructura estructura sqlu800 create view visrprescmp asu800 select visreppresu82evidquoteid visreppresu82evidquoteobra visreppresu82evidquotecliente visreppresu82evidquotefecha visreppresu82evidquoteitem visreppresu82evidquoteprodcantidad visreppresu82evidquoteprodid visreppresu82evidquotedetalle visreppresu82evidquoteprecios clientesu82erazonsocial clientesu82edireccion clientesu82elocalidad clientesu82eprovincia from fzggestionu82eclientes asu800 clientes fzggestionu82evisreppres asu800 visreppres where clientesu82eclienteid visreppresu82evidquotecliente andu800 visreppresu82evidquoteid inu800 select vidquoteid from reppresqry order byu800 visreppresu82evidquoteid ascu800 visreppresu82evidquoteobra ascu800 visreppresu82evidquotecliente ascu800 visreppresu82evidquoteitem ascu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 reporte presupuestosdirecto urlu800 urlu800 urlu800 fzgu800u82evistau82evisprescmpu82esqlu800 '),(28,'vista visreppres',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista reporte presupuesto individual. para generar unau800 lu8c3adnea completa conu800 lau800 informaciu8c3b3n deu800 detalle deu800 losu800 presupuestos conu800 lasu800 combinaciones deu800 informaciu8c3b3n au800 incluir enu800 elu800 mismo. nou800 contiene lau800 informaciu8c3b3n estu8c3a1tica delu800 cliente. composicion composicion composicion vista vislineabs vista visdetaobs estructura estructura estructura sqlu800 create view visreppres asu800 select vislineabs . vidquoteid asu800 vidquoteid vislineabs . vidquoteobra asu800 vidquoteobra vislineabs . vidquotecliente asu800 vidquotecliente vislineabs . vidquotefecha asu800 vidquotefecha vislineabs . vidquoteitem asu800 vidquoteitem vislineabs . vidquoteprodcantidad asu800 vidquoteprodcantidad vislineabs . vidquoteprodid asu800 vidquoteprodid ifu800 isnull visdetaobs . observaciones vislineabs . descripcion concat vislineabs . descripcion \' incluye \' convert visdetaobs . observaciones using utf8 \' \' asu800 vidquotedetalle vislineabs . vidquoteprecios asu800 vidquoteprecios from vislineabs left join visdetaobs onu800 visdetaobs . vidquoteid vislineabs . vidquoteid andu800 visdetaobs . vidquoteitem vislineabs . vidquoteitem bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(29,'vista visprodadic',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 tabla deu800 componentes conu800 lau800 informaciu8c3b3n deu800 cada elemento como producto yu800 deu800 losu800 precios vigentes. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla composicion tabla productos tabla precios estructura estructura estructura sqlu800 create view visprodadic asu800 select composicion . productoid asu800 productoid composicion . elementoid asu800 elementoid composicion . valorelemento asu800 valorelemento composicion . elementopm asu800 elementopm productos . descripcion asu800 descripcion productos . magnitud asu800 magnitud composicion . offsetvanoancho asu800 offsetvanoancho composicion . offsetvanoalto asu800 offsetvanoalto composicion . coefvanoancho asu800 coefvanoancho composicion . coefvanoalto asu800 coefvanoalto precios . precioprod00 asu800 precioprod00 precios . precioprod01 asu800 precioprod01 precios . precioprod02 asu800 precioprod02 precios . precioprod03 asu800 precioprod03 from productos join composicion join precios where productos . productoid composicion . elementoid andu800 precios . productoid productos . productoid bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(31,'vista visdetaobs',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n uneu800 todas lasu800 observaciones deu800 cada item para losu800 casos queu800 seu800 encuentren seu8c3b1aladas conu800 lau800 descripciu8c3b3n delu800 producto-item composicion composicion composicion tabla vidquoten3 tabla productos estructura estructura estructura sqlu800 create view fzggestion . visdetaobs asu800 select fzggestion . vidquoten3 . vidquoteid asu800 vidquoteid fzggestion . vidquoten3 . vidquoteitem asu800 vidquoteitem fzggestion . vidquoten3 . vidquoteincluyedet asu800 vidquoteincluyedet group_concat fzggestion . productos . descripcion separator \' \' asu800 observaciones from fzggestion . productos join fzggestion . vidquoten3 where fzggestion . productos . productoid fzggestion . vidquoten3 . vidquoteelementoid andu800 fzggestion . vidquoten3 . vidquoteincluyedet 1u800 group byu800 fzggestion . vidquoten3 . vidquoteid fzggestion . vidquoten3 . vidquoteitem bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(32,'vista vissubxitem',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n subtotaliza losu800 productos deu800 losu800 presupuestos composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten3 estructura estructura estructura sqlu800 create view vissubxitem asu800 select vidquoten3 . vidquoteid asu800 vidquoteid vidquoten3 . vidquoteitem asu800 vidquoteitem sumu800 vidquoten3 . vidquotepreciop asu800 vidquoteprecios from vidquoten3 group byu800 vidquoten3 . vidquoteid vidquoten3 . vidquoteitem bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(33,'vista visintdetpre',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n estructura estructura estructura sqlu800 create view visintdetpre asu800 select vidquoten2 . vidquoteid asu800 vidquoteid vidquoten2 . vidquoteitem asu800 vidquoteitem vidquoten2 . vidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2 . vidquoteprodid asu800 vidquoteprodid vidquoten2 . vidquoteancho asu800 vidquoteancho vidquoten2 . vidquotealto asu800 vidquotealto visprodadic . elementoid asu800 elementoid visprodadic . valorelemento asu800 valorelemento visprodadic . elementopm asu800 elementopm visprodadic . descripcion asu800 descripcion visprodadic . magnitud asu800 magnitud case visprodadic . magnitud when \'m2u800\' then vidquoten2 . vidquotealto visprodadic . offsetvanoalto visprodadic . coefvanoalto vidquoten2 . vidquoteancho visprodadic . offsetvanoancho visprodadic . coefvanoancho 1000000 visprodadic . valorelemento case vidquoten2 . vidquotelpre when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'pru800\' then vidquoten2 . vidquotealto visprodadic . offsetvanoalto 2u800 visprodadic . coefvanoalto vidquoten2 . vidquoteancho visprodadic . offsetvanoancho 2u800 visprodadic . coefvanoancho 1000 visprodadic . valorelemento case vidquoten2 . vidquotelpre when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'mlu800\' then vidquoten2 . vidquoteancho visprodadic . offsetvanoancho 2u800 visprodadic . coefvanoancho 1000 visprodadic . valorelemento case vidquoten2 . vidquotelpre when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 when \'mgu800\' then vidquoten2 . vidquotealto visprodadic . offsetvanoalto visprodadic . coefvanoalto vidquoten2 . vidquoteancho visprodadic . offsetvanoancho visprodadic . coefvanoancho 1000 visprodadic . valorelemento case vidquoten2 . vidquotelpre when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 else visprodadic . valorelemento case vidquoten2 . vidquotelpre when 1u800 then visprodadic . precioprod01 when 2u800 then visprodadic . precioprod02 when 3u800 then visprodadic . precioprod03 endu800 endu800 asu800 preciobase from visprodadic join vidquoten2 where visprodadic . productoid vidquoten2 . vidquoteprodid bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 macro lookupdata macro newresetlistboxdetalleproducto urlu800 urlu800 urlu800 '),(34,'rprt presupuestos',' category rprt descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n au800 partir deu800 lau800 ejecuciu8c3b3n seu800 indica enu800 tabla reppresqry elu800 presupuesto fetcheado enu800 eseu800 momento. seu800 hace unau800 combinaciu8c3b3n au800 partir deu800 lau800 tabla vidquoten2 combinada conu800 tabla vidquoten3 tomando enu800 2u800 partes poru800 lau800 diferencia entre elu800 ctrl vidquoteincluyedet seleccionando todos losu800 registro enu800 lau800 1u8c2ba parte yu800 enu800 lau800 segunda todos aquellos queu800 queu800 nou800 tengan elu800 valor delu800 ctrl vidquoteincluyedet 0u800 yu800 queu800 nou800 seu800 encuentren dentro deu800 lau800 primera parte. seu800 agregan para completar elu800 cuadro losu800 datos complementarios deu800 tabla vidquoten1 tabla productos vista clientes yu800 unu800 totalizador poru800 presupuesto queu800 nou800 esu800 posible deu800 generar dentro deu800 lau800 4u8c2ba forma normal conu800 lasu800 tablas alu800 tiempo deu800 ejecuaciu8c3b3n delu800 reporte propiamente dicho. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten2 tabla vidquoten3 tabla vidquoten1 tabla productos vista clientes tabla reppresqry sqlu800 sqlu800 sqlu800 select u2u800u82evidquoteid u2u800u82evidquoteitem u2u800u82evidquoteprodcantidad u2u800u82evidquoteprodid u2u800u82edimension u2u800u82eprecio u2u800u82evidquotefecha u2u800u82evidquotecliente u2u800u82evidquoteobra u2u800u82erazonsocial u2u800u82edireccion u2u800u82elocalidad u2u800u82eprovincia u2u800u82evidquoteelementoid u2u800u82evidquotecomposicid u2u800u82evidquoteincluyedet u2u800u82edescripciongral u2u800u82edescripcionelemento u1u800u82epreciopresup from -- ----------------------------------- select vidquoteid sumu800 vidquoteprecio asu800 preciopresup from vidquoten2 where vidquoteid inu800 select vidquoteid from reppresqry asu800 u1u800 -- ----------------------------------- select vidquoten2u82evidquoteid asu800 vidquoteid vidquoten2u82evidquoteitem asu800 vidquoteitem vidquoten2u82evidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2u82evidquoteprodid asu800 vidquoteprodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' cast vidquoten2 . vidquoteancho asu800 char \'xu800\' cast vidquoten2 . vidquotealto asu800 char \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' cast vidquoten2 . vidquoteancho asu800 char \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten1u82evidquoteobra asu800 vidquoteobra clientesu82erazonsocial asu800 razonsocial clientesu82edireccion asu800 direccion clientesu82elocalidad asu800 localidad clientesu82eprovincia asu800 provincia vidquoten3u82evidquoteelementoid asu800 vidquoteelementoid vidquoten3u82evidquotecomposicid asu800 vidquotecomposicid vidquoten3u82evidquoteincluyedet asu800 vidquoteincluyedet productosu82edescripcion asu800 descripciongral ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 descripcionelemento from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 clientes asu800 clientes where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten1u82evidquotecliente clientesu82eclienteid andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry union select vidquoten2u82evidquoteid asu800 vidquoteid vidquoten2u82evidquoteitem asu800 vidquoteitem vidquoten2u82evidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2u82evidquoteprodid asu800 vidquoteprodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' cast vidquoten2 . vidquoteancho asu800 char \'xu800\' cast vidquoten2 . vidquotealto asu800 char \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' cast vidquoten2 . vidquoteancho asu800 char \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten1u82evidquoteobra asu800 vidquoteobra clientesu82erazonsocial asu800 razonsocial clientesu82edireccion asu800 direccion clientesu82elocalidad asu800 localidad clientesu82eprovincia asu800 provincia vidquoten3u82evidquoteelementoid asu800 vidquoteelementoid vidquoten3u82evidquotecomposicid asu800 vidquotecomposicid vidquoten3u82evidquoteincluyedet asu800 vidquoteincluyedet productosu82edescripcion asu800 descripciongral ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 descripcionelemento from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 clientes asu800 clientes where vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry andu800 vidquoten3u82evidquoteincluyedet 0u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten1u82evidquotecliente clientesu82eclienteid andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteitem notu800 inu800 select vidquoten2u82evidquoteitem asu800 vidquoteitem from vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry group byu800 vidquoten2u82evidquoteitem asu800 u2u800 -- ----------------------------------- where u1u800u82evidquoteid u2u800u82evidquoteid bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121122 cambio deu800 formato visualizaciu8c3b3n deu800 dimension au800 solicitud deu800 fzgu800. anterior select u2u800u82evidquoteid u2u800u82evidquoteitem u2u800u82evidquoteprodcantidad u2u800u82evidquoteprodid u2u800u82edimension u2u800u82eprecio u2u800u82evidquotefecha u2u800u82evidquotecliente u2u800u82evidquoteobra u2u800u82erazonsocial u2u800u82edireccion u2u800u82elocalidad u2u800u82eprovincia u2u800u82evidquoteelementoid u2u800u82evidquotecomposicid u2u800u82evidquoteincluyedet u2u800u82edescripciongral u2u800u82edescripcionelemento u1u800u82epreciopresup from -- ----------------------------------- select vidquoteid sumu800 vidquoteprecio asu800 preciopresup from vidquoten2 where vidquoteid inu800 select vidquoteid from reppresqry asu800 u1u800 -- ----------------------------------- select vidquoten2u82evidquoteid asu800 vidquoteid vidquoten2u82evidquoteitem asu800 vidquoteitem vidquoten2u82evidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2u82evidquoteprodid asu800 vidquoteprodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \'xu800\' lpad cast vidquoten2 . vidquotealto asu800 char 4u800 \'0000\' \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten1u82evidquoteobra asu800 vidquoteobra clientesu82erazonsocial asu800 razonsocial clientesu82edireccion asu800 direccion clientesu82elocalidad asu800 localidad clientesu82eprovincia asu800 provincia vidquoten3u82evidquoteelementoid asu800 vidquoteelementoid vidquoten3u82evidquotecomposicid asu800 vidquotecomposicid vidquoten3u82evidquoteincluyedet asu800 vidquoteincluyedet productosu82edescripcion asu800 descripciongral ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 descripcionelemento from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 clientes asu800 clientes where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten1u82evidquotecliente clientesu82eclienteid andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry union select vidquoten2u82evidquoteid asu800 vidquoteid vidquoten2u82evidquoteitem asu800 vidquoteitem vidquoten2u82evidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2u82evidquoteprodid asu800 vidquoteprodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \'xu800\' lpad cast vidquoten2 . vidquotealto asu800 char 4u800 \'0000\' \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten1u82evidquoteobra asu800 vidquoteobra clientesu82erazonsocial asu800 razonsocial clientesu82edireccion asu800 direccion clientesu82elocalidad asu800 localidad clientesu82eprovincia asu800 provincia vidquoten3u82evidquoteelementoid asu800 vidquoteelementoid vidquoten3u82evidquotecomposicid asu800 vidquotecomposicid vidquoten3u82evidquoteincluyedet asu800 vidquoteincluyedet productosu82edescripcion asu800 descripciongral ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 descripcionelemento from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 clientes asu800 clientes where vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry andu800 vidquoten3u82evidquoteincluyedet 0u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten1u82evidquotecliente clientesu82eclienteid andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteitem notu800 inu800 select vidquoten2u82evidquoteitem asu800 vidquoteitem from vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry group byu800 vidquoten2u82evidquoteitem asu800 u2u800 -- ----------------------------------- where u1u800u82evidquoteid u2u800u82evidquoteid 20121101 checkstatus select u2u800u82evidquoteid u2u800u82evidquoteitem u2u800u82evidquoteprodcantidad u2u800u82evidquoteprodid u2u800u82edimension u2u800u82eprecio u2u800u82evidquotefecha u2u800u82evidquotecliente u2u800u82evidquoteobra u2u800u82erazonsocial u2u800u82edireccion u2u800u82elocalidad u2u800u82eprovincia u2u800u82evidquoteelementoid u2u800u82evidquotecomposicid u2u800u82evidquoteincluyedet u2u800u82edescripciongral u2u800u82edescripcionelemento u1u800u82epreciopresup from -- ----------------------------------- select vidquoteid sumu800 vidquoteprecio asu800 preciopresup from vidquoten2 where vidquoteid inu800 select vidquoteid from reppresqry asu800 u1u800 -- ----------------------------------- select vidquoten2u82evidquoteid asu800 vidquoteid vidquoten2u82evidquoteitem asu800 vidquoteitem vidquoten2u82evidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2u82evidquoteprodid asu800 vidquoteprodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \'xu800\' lpad cast vidquoten2 . vidquotealto asu800 char 4u800 \'0000\' \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten1u82evidquoteobra asu800 vidquoteobra clientesu82erazonsocial asu800 razonsocial clientesu82edireccion asu800 direccion clientesu82elocalidad asu800 localidad clientesu82eprovincia asu800 provincia vidquoten3u82evidquoteelementoid asu800 vidquoteelementoid vidquoten3u82evidquotecomposicid asu800 vidquotecomposicid vidquoten3u82evidquoteincluyedet asu800 vidquoteincluyedet productosu82edescripcion asu800 descripciongral ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 descripcionelemento from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 clientes asu800 clientes where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten1u82evidquotecliente clientesu82eclienteid andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry union select vidquoten2u82evidquoteid asu800 vidquoteid vidquoten2u82evidquoteitem asu800 vidquoteitem vidquoten2u82evidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten2u82evidquoteprodid asu800 vidquoteprodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \'xu800\' lpad cast vidquoten2 . vidquotealto asu800 char 4u800 \'0000\' \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten1u82evidquoteobra asu800 vidquoteobra clientesu82erazonsocial asu800 razonsocial clientesu82edireccion asu800 direccion clientesu82elocalidad asu800 localidad clientesu82eprovincia asu800 provincia vidquoten3u82evidquoteelementoid asu800 vidquoteelementoid vidquoten3u82evidquotecomposicid asu800 vidquotecomposicid vidquoten3u82evidquoteincluyedet asu800 vidquoteincluyedet productosu82edescripcion asu800 descripciongral ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 descripcionelemento from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 clientes asu800 clientes where vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry andu800 vidquoten3u82evidquoteincluyedet 0u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten1u82evidquotecliente clientesu82eclienteid andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteitem notu800 inu800 select vidquoten2u82evidquoteitem asu800 vidquoteitem from vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten2u82evidquoteid inu800 select vidquoteid from reppresqry group byu800 vidquoten2u82evidquoteitem asu800 u2u800 -- ----------------------------------- where u1u800u82evidquoteid u2u800u82evidquoteid 20121002 cambio deu800 estructura poru800 requerimiento. query anterior select visreppres . vidquoteid visreppres . vidquoteobra visreppres . vidquotecliente visreppres . vidquotefecha visreppres . vidquoteitem visreppres . vidquoteprodcantidad visreppres . vidquoteprodid visreppres . vidquotedetalle visreppres . vidquoteprecios clientes . razonsocial clientes . direccion clientes . localidad clientes . provincia from fzggestion . clientes asu800 clientes fzggestion . visreppres asu800 visreppres where clientes . clienteid visreppres . vidquotecliente order byu800 visreppres . vidquoteid ascu800 visreppres . vidquoteobra ascu800 visreppres . vidquotecliente ascu800 visreppres . vidquoteitem ascu800 urlu800 urlu800 urlu800 '),(35,'rprt presupuestosdirecto',' category rprt descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n vista visrprescmp estructura estructura estructura sqlu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora urlu800 '),(157,'forms',' lista deu800 formularios asociados '),(156,'libr',' lista deu800 bibliotecas asociadas '),(152,'esquemau82etablasu82epresupuestou82ejpgu800',' '),(146,'tabla listavsdim',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n sqlu800 sqlu800 sqlu800 create table listavsdim listaid intu800 11u800 notu800 null auto_increment listadimensiongrp intu800 11u800 notu800 null listaactiva intu800 11u800 notu800 null default \'0u800\' primary keyu800 listaid engine myisam default charset latin1; bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(162,'trig vidquoten1u82ebaja presupuesto',' category trig lanzador lanzador lanzador delete composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten1 tabla vidquoten2 tabla vidquoten3 sqlu800 sqlu800 sqlu800 create definer sas_admin trigger fzggestion . baja_presupuesto after delete onu800 fzggestion . vidquoten1 foru800 each rowu800 begin delete from vidquoten2 where vidquoten2u82evidquoteid oldu800u82evidquoteid; delete from vidquoten3 where vidquoten3u82evidquoteid oldu800u82evidquoteid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(92,'sqlcode0005',' select vidquoten2u82evidquoteid asu800 idu800 vidquoten2u82evidquoteitem asu800 item vidquoten2u82evidquoteprodcantidad asu800 cant vidquoten2u82evidquoteprodid asu800 prodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \'xu800\' lpad cast vidquoten2 . vidquotealto asu800 char 4u800 \'0000\' \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 fecha vidquoten1u82evidquotecliente asu800 cliente vidquoten3u82evidquoteelementoid asu800 elementoid vidquoten3u82evidquotecomposicid asu800 composicid vidquoten3u82evidquoteincluyedet asu800 incluye productosu82edescripcion asu800 desg ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 desp from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteid 50u800 union select vidquoten2u82evidquoteid asu800 idu800 vidquoten2u82evidquoteitem asu800 item vidquoten2u82evidquoteprodcantidad asu800 cant vidquoten2u82evidquoteprodid asu800 prodid case when vidquoten2 . vidquotealto 0u800 then concat \'dimension mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \'xu800\' lpad cast vidquoten2 . vidquotealto asu800 char 4u800 \'0000\' \' \' when vidquoten2 . vidquotealto 0u800 then concat \'largo mmu800 \' lpad cast vidquoten2 . vidquoteancho asu800 char 4u800 \'0000\' \' \' else   endu800 asu800 dimension vidquoten2u82evidquoteprecio asu800 precio vidquoten1u82evidquotefecha asu800 fecha vidquoten1u82evidquotecliente asu800 cliente vidquoten3u82evidquoteelementoid asu800 elementoid vidquoten3u82evidquotecomposicid asu800 composicid vidquoten3u82evidquoteincluyedet asu800 incluye productosu82edescripcion asu800 desg ifu800 vidquoten3u82evidquoteincluyedet 1u800 productos_1u82edescripcion   asu800 desp from vidquoten1 asu800 vidquoten1 vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 productos asu800 productos productos asu800 productos_1 where vidquoten2u82evidquoteid 50u800 andu800 vidquoten3u82evidquoteincluyedet 0u800 andu800 vidquoten1u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 productosu82eproductoid vidquoten3u82evidquoteprodid andu800 productos_1u82eproductoid vidquoten3u82evidquoteelementoid andu800 vidquoten2u82evidquoteitem notu800 inu800 select vidquoten2u82evidquoteitem asu800 item from vidquoten2 asu800 vidquoten2 vidquoten3 asu800 vidquoten3 where vidquoten3u82evidquoteincluyedet 1u800 andu800 vidquoten3u82evidquoteid vidquoten2u82evidquoteid andu800 vidquoten3u82evidquoteitem vidquoten2u82evidquoteitem andu800 vidquoten2u82evidquoteid 50u800 group byu800 vidquoten2u82evidquoteitem '),(37,'proc calculomedidareal',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n nou800 tiene. solo funciu8c3b3n estructura estructura estructura sqlu800 delimiter create function calculomedidareal pmedida intu800 5u800 poffset intu800 11u800 pcoeficiente decimal 16u800 8u800 returns intu800 5u800 begin declare pmedidareal decimal 10u800 2u800 ; setu800 pmedidareal pmedida poffset pcoeficiente; return pmedidareal; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(38,'vista viscomposimpl',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 lau800 tabla composicion conu800 elu800 agregado deu800 lau800 descripciu8c3b3n delu800 elemento queu800 lou800 relaciona conu800 lau800 tabla productos composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla composicion tabla productos estructura estructura estructura sqlu800 create view viscomposimpl asu800 select composicion . productoid asu800 productoid composicion . elementoid asu800 elementoid productos . descripcion asu800 descripcion composicion . valorelemento asu800 valorelemento composicion . elementopm asu800 elementopm concat format composicion . offsetvanoancho 0u800 \' \' format composicion . offsetvanoalto 0u800 asu800 offset concat format composicion . coefvanoancho 4u800 \' \' format composicion . coefvanoalto 4u800 asu800 coefwh from productos join composicion where productos . productoid composicion . elementoid bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120608 seu800 agregan lasu800 columnas correspondientes au800 losu800 coeficientes deu800 alto yu800 ancho deu800 acuerdo au800 lau800 modificaciu8c3b3n deu800 lau800 estructura deu800 composicion hecha para lau800 magnitud galarza concat format composicion . coefvanoancho 4u800 \' \' format composicion . coefvanoalto 4u800 asu800 coefwh usou800 usou800 usou800 form copiacomposicion urlu800 urlu800 urlu800 '),(39,'proc duplicaproductocompo',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n duplica lau800 composiciu8c3b3n deu800 unu800 producto sobre otro producto. yau800 queu800 existe elu800 trig productosu82ealta sobre lau800 tabla productos queu800 genera enu800 forma automu8c3a1tica losu800 registros deu800 tabla precios yu800 tabla composicion ante elu800 alta deu800 unu800 producto seu800 eliminan losu800 correspondientes au800 lau800 tabla composicion composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla productos tabla composicion estructura estructura estructura sqlu800 delimiter create definer sas_admin procedure duplicaproductocompo inu800 pproductoidorg varchar 8u800 inu800 pproductoiddst varchar 8u800 inu800 pproductodsc varchar 80u800 begin delete from productos where productos . productoid pproductoiddst; insert into productos productos . productoid productos . categoriaid productos . descripcion productos . proveedorid productos . reposicion productos . magnitud productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg select pproductoiddst productos . categoriaid pproductodsc productos . proveedorid productos . reposicion productos . magnitud productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg from productos where productos . productoid pproductoidorg ; delete from composicion where productoid pproductoiddst; insert into composicion composicion . productoid composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto composicion . coefvanoancho composicion . coefvanoalto select pproductoiddst composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto composicion . coefvanoancho composicion . coefvanoalto from composicion where composicion . productoid pproductoidorg ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20100608 alu800 tiempo deu800 reformular elu800 form copiacomposicion seu800 modifica elu800 procedimiento queu800 depende delu800 btnu800 copiar delu800 form copiacomposicion . cu8c3b3digo previo delimiter create definer sas_admin procedure duplicaproductocompo inu800 pproductoidorg varchar 8u800 inu800 pproductoiddst varchar 8u800 begin insert into composicion composicion . productoid composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto select pproductoiddst composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto from fzggestion . composicion where composicion . productoid pproductoidorg ; endu800 20120904 seu800 agrega alu800 actual lau800 clu8c3a1usula deu800 eliminaciu8c3b3n deu800 losu800 datos anteriores delu800 producto destino siu800 existiese. cu8c3b3digo previo delimiter create procedure duplicaproductocompo inu800 pproductoidorg varchar 8u800 inu800 pproductoiddst varchar 8u800 inu800 pproductodsc varchar 80u800 begin insert into productos productos . productoid productos . categoriaid productos . descripcion productos . proveedorid productos . reposicion productos . magnitud productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg select pproductoiddst productos . categoriaid pproductodsc productos . proveedorid productos . reposicion productos . magnitud productos . coefp00p01 productos . coefp00p02 productos . coefp00p03 productos . productopid productos . insumoimg from productos where productos . productoid pproductoidorg ; delete from composicion where productoid pproductoiddst; insert into composicion composicion . productoid composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto composicion . coefvanoancho composicion . coefvanoalto select pproductoiddst composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto composicion . coefvanoancho composicion . coefvanoalto from composicion where composicion . productoid pproductoidorg ; endu800 usou800 usou800 usou800 urlu800 '),(40,'tabla productos',' category tablas  actualizaciu8c3b3n  localyear localmonth localday2 descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n productos activos estructura estructura estructura productogen cu8c3b3digo deu800 producto genu8c3a9rico correspondiente au800 productoid productodflt producto default respecto au800 lau800 selecciu8c3b3n deu800 producto genu8c3a9rico magnitudin magnitud deu800 ingreso. puede diferir deu800 lau800 magnitud deu800 venta. magcmpx ancho largo delu800 producto alu800 ingreso magcmpy alto delu800 producto alu800 ingreso magcmpz profundidad delu800 producto alu800 ingreso magcmpw peso delu800 producto alu800 ingreso. compoedita producto conu800 posibilidad deu800 modificaciu8c3b3n deu800 componentes 0u800 null oku800 1u800 producto modificable enu800 eventos deu800 gestiu8c3b3n delu800 producto yu800 nou800 enu800 eventos deu800 gestiu8c3b3n deu800 presupuestos 2u800 producto sinu800 posibilidad deu800 modificaciu8c3b3n productoor origen deu800 lau800 generaciu8c3b3n delu800 registro delu800 producto. 0u800 null invu8c3a1lido para procesos integrados 1u800 poru800 formulario 2u800 poru800 proceso deu800 alta desde boceto productotag espacio generado para ingresar unau800 cadena deu800 caracteres representativos deu800 tags queu800 seu800 asocien au800 eseu800 producto. compoedita semu8c3a1foro queu800 permite editar ou800 nou800 losu800 componentes asociados alu800 producto. sqlu800 sqlu800 sqlu800 delimiter create table productos productogen char 8u800 default null productodflt intu800 1u800 default null productoid char 8u800 notu800 null categoriaid char 4u800 notu800 null descripcion char 80u800 notu800 null proveedorid char 4u800 notu800 null reposicion intu800 3u800 default null magnitud char 4u800 notu800 null magnitudin char 2u800 default null coefp00p01 decimal 6u800 4u800 default null coefp00p02 decimal 6u800 4u800 default null compoedita intu800 1u800 default null coefp00p03 decimal 6u800 4u800 default null productoor intu800 1u800 default null productopid varchar 15u800 default null insumoimg mediumblob magcmpx intu800 5u800 default null magcmpy intu800 5u800 default null magcmpz intu800 5u800 default null magcmpw intu800 5u800 default null presentacion varchar 45u800 default null productoproy intu800 1u800 default \'0u800\' productotag varchar 45u800 default null primary keyu800 productoid engine myisam default charset latin1 triggers triggers triggers insert trig productosu82ealta_producto delete trig productosu82ebaja_producto bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20130423 agregado deu800 atributo productotag agregado deu800 atributo compoedita usou800 usou800 usou800 urlu800 '),(41,'trig productosu82ealta producto',' category trig lanzador lanzador lanzador insert composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla productos tabla precios tabla composicion sqlu800 sqlu800 sqlu800 create trigger fzggestion . alta_productos before insert onu800 fzggestion . productos foru800 each rowu800 begin declare vproductoid char 8u800 ; setu800 vproductoid newu800u82eproductoid; insert into precios precios . productoid precios . precioprod00 precios . precioprod01 precios . precioprod02 precios . precioprod03 values vproductoid 0u800 0u800 0u800 0u800 ; insert into composicion composicion . productoid composicion . elementoid composicion . valorelemento composicion . elementopm values vproductoid vproductoid 1u800 1u800 ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120608 limpieza deu800 esquema anterior deu800 gestiu8c3b3n deu800 precios create trigger fzggestion . alta_productos before insert onu800 fzggestion . productos foru800 each rowu800 begin declare vlista intu800 5u800 ; declare vproductoid char 8u800 ; setu800 vlista select lista from listavigente ; setu800 vproductoid newu800u82eproductoid; insert into precios precios . lista precios . productoid precios . precioprod00 precios . precioprod01 precios . precioprod02 precios . precioprod03 values vlista vproductoid 0u800 0u800 0u800 0u800 ; insert into composicion composicion . productoid composicion . elementoid composicion . valorelemento composicion . elementopm values vproductoid vproductoid 1u800 1u800 ; usou800 usou800 usou800 form productos form copiacomposicion urlu800 urlu800 urlu800 '),(42,'trig productosu82ebaja producto',' category trig lanzador lanzador lanzador delete composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla precios tabla composicion sqlu800 sqlu800 sqlu800 create trigger fzggestion . baja_productos after delete onu800 fzggestion . productos foru800 each rowu800 begin delete from precios where productoid oldu800u82eproductoid; delete from composicion where productoid oldu800u82eproductoid oru800 elementoid oldu800u82eproductoid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120608 limpieza deu800 esquema anterior deu800 gestiu8c3b3n deu800 precios create trigger fzggestion . baja_productos after delete onu800 fzggestion . productos foru800 each rowu800 begin declare vlista intu800 5u800 ; declare vproductoid char 8u800 ; setu800 vlista select lista from listavigente ; setu800 vproductoid oldu800u82eproductoid; delete from precios where productoid oldu800u82eproductoid andu800 lista vlista; delete from composicion where productoid oldu800u82eproductoid oru800 elementoid oldu800u82eproductoid; endu800  texto enu800 cursiva  usou800 usou800 usou800 urlu800 '),(43,'proc agregaproductocompo',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n agrega componentes deu800 otro producto au800 unu800 producto existente composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla composicion estructura estructura estructura sqlu800 delimiter create procedure agregaproductocompo inu800 pproductoidorg varchar 8u800 inu800 pproductoiddst varchar 8u800 inu800 pproductodsc varchar 80u800 begin insert into composicion composicion . productoid composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto composicion . coefvanoancho composicion . coefvanoalto select pproductoiddst composicion . elementoid composicion . valorelemento composicion . elementopm composicion . offsetvanoancho composicion . offsetvanoalto composicion . coefvanoancho composicion . coefvanoalto from composicion where composicion . productoid pproductoidorg andu800 composicion . elementoid notu800 inu800 select elementoid from composicion where composicion . productoid pproductoiddst ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120627 agregado como botu8c3b3n enu800 elu800 proceso correspondiente usou800 usou800 usou800 form copiacomposicion macro agregacomposicion urlu800 urlu800 urlu800 '),(44,'form copiacomposicion',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n permite lau800 copia ou800 agregado deu800 componentes deu800 unu800 producto au800 otro seau800 este u8c3baltimo unu800 producto activo ou800 unu800 nuevo producto. seu800 divide enu800 3u800 secciones tales como filtro producto origen producto destino enu800 elu800 caso deu800 producto destino cuenta conu800 lasu800 siguientes caracteru8c3adsticas analiza lau800 existencia deu800 otro producto conu800 elu800 mismo identificador. procede previamente au800 transformar enu800 mayu8c3basculas elu800 cu8c3b3digo deu800 producto destino. enu800 elu800 caso deu800 existir elu800 producto solicita lau800 confirmaciu8c3b3n poru800 parte delu800 usuario yu800 copia lau800 descripciu8c3b3n actual delu800 producto destino para facilitar suu800 posible modificaciu8c3b3n. despliega 2u800 botones para procesar lau800 informaciu8c3b3n copia siu800 esu800 sobre unu800 producto nuevo copia toda lau800 estrucutra tabla productos tabla composicion tabla precios . copia siu800 esu800 sobre unu800 producto existente elimina elu800 anterior yu800 genera unau800 copia deu800 toda lau800 estructura conu800 elu800 cu8c3b3digo nuevo. agregado solo siu800 elu800 producto existe agrega losu800 componentes delu800 producto original sobre elu800 producto destino solo deu800 aquellos productos queu800 nou800 seu800 encuentren yau800 especificados enu800 elu800 producto destino enu800 forma previa. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla productos tabla composicion tabla precios estructura estructura estructura sqlu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(45,'vista vistranscrm',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista transacciones deu800 crmu800 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten1 tabla vidquoten3 tabla accreceiv estructura estructura estructura sqlu800 create view fzggestion . vistranscrm asu800 select distinct t1u800u82evidquotecliente asu800 vidquotecliente \'qtu800\' asu800 ttransaccion t2u800u82evidquoteid asu800 ntransaccion t1u800u82evidquoteobra asu800 vidquoteobra t1u800u82evidquotefecha asu800 vidquotefecha t1u800u82evidquoteestado asu800 vidquoteestado sumu800 t2u800u82evidquotepreciop - 1u800 asu800 vidquotepreciop from vidquoten1 asu800 t1u800 vidquoten3 asu800 t2u800 where t1u800u82evidquoteestado \'1u800\' andu800 t1u800u82evidquoteid t2u800u82evidquoteid group byu800 t2u800u82evidquoteid order byu800 vidquotecliente ascu800 vidquoteid ascu800 union select t3u800u82eclientear asu800 vidquotecliente t3u800u82ettransaccion asu800 ttransaccion t3u800u82entransaccion asu800 ntransaccion \' \' asu800 vidquoteobra t3u800u82efechaar asu800 vidquotefecha \'1u800\' asu800 vidquoteestado t3u800u82eimportear asu800 vidquotepreciop from accreceiv asu800 t3u800 order byu800 vidquotecliente bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form consultaclientescrm urlu800 urlu800 urlu800 '),(46,'vista chqactivos',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 lau800 tabla checkbook deu800 losu800 registros inu800 documento destino asociado composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla checkbook estructura estructura estructura sqlu800 create view chqactivos asu800 select checkbookid asu800 checkbookid entidad asu800 entidad sucursal asu800 sucursal docpropio asu800 docpropio cuentaorg asu800 cuentaorg documentoid asu800 documentoid fechadocumento asu800 fechadocumento importedocumento asu800 importedocumento tdocumentoorg asu800 tdocumentoorg ndocumentoorg asu800 ndocumentoorg ttransaccorg asu800 ttransaccorg ntransaccorg asu800 ntransaccorg ttransaccdst asu800 ttransaccdst ntransaccdst asu800 ntransaccdst from checkbook where isnull ttransaccdst bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form cheques urlu800 urlu800 urlu800 '),(48,'tabla accpayab',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n transacciones deu800 pagos composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla plana triggers estructura estructura estructura sqlu800 delimiter create table accpayab ttransaccion char 2u800 notu800 null default \'apu800\' ntransaccion intu800 11u800 notu800 null auto_increment fechaautap date default null fechaap date default null formaap char 3u800 default null importeap decimal 10u800 2u800 default null proveedap char 8u800 default null tdocumentoorg char 2u800 default null ndocumentoorg intu800 11u800 default null ddocumentoorg varchar 100u800 default null primary keyu800 ttransaccion ntransaccion engine myisam auto_increment 9u800 default charset latin1 create trigger fzggestion . alta_pago before insert onu800 fzggestion . accpayab foru800 each rowu800 begin setu800 newu800u82efechaautap curdate ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120724 alta usou800 usou800 usou800 urlu800 '),(47,'temp layoutgeneral',' &action edit tablas vistas tablas vistas tablas vistas category tablas category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n estructura estructura estructura preu800 sqlu800 sqlu800 sqlu800 preu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 triggers triggers triggers category trig lanzador lanzador lanzador composiciu8c3b3n sqlu800 sqlu800 sqlu800 preu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 formularios formularios formularios category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n estructura estructura estructura cu8c3b3digo relacionado bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 macros procedimientos funciones macros procedimientos funciones macros procedimientos funciones category macro category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n biblioteca composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo preu800 small bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 sqlcode sqlcode sqlcode preu800 small iconos layout iconos layout iconos layout file warning-icon-hiu800u82epngu800 20px file warning-icon-hiu800u82epngu800 20px file checkedu82epngu800 20px file checkedu82epngu800 20px tickets soporte tickets soporte tickets soporte category tktu800 data tktu800 data tktu800 data tktu800  usuario    fecha    soporte   incidente incidente incidente workaround resoluciu8c3b3n resoluciu8c3b3n resoluciu8c3b3n estado observaciones observaciones observaciones '),(49,'tabla accreceiv',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n transacciones deu800 cobranzas composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla plana triggers estructura estructura estructura sqlu800 delimiter create table accreceiv ttransaccion char 2u800 notu800 null default \'aru800\' ntransaccion intu800 11u800 notu800 null auto_increment fechaautar date default null fechaar date default null formaar char 3u800 default null importear decimal 10u800 2u800 default null clientear char 8u800 default null tdocumentoorg char 2u800 default null ndocumentoorg intu800 11u800 default null primary keyu800 ttransaccion ntransaccion engine myisam auto_increment 9u800 default charset latin1 create trigger fzggestion . alta_cobranza before insert onu800 fzggestion . accreceiv foru800 each rowu800 begin setu800 newu800u82efechaautar curdate ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(50,'tabla tdocumento',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n tipos deu800 documento composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla plana estructura estructura estructura sqlu800 delimiter create table tdocumento tdocumentoid char 2u800 notu800 null tdocumentodsc varchar 45u800 default null tdocumentoap char 1u800 default null tdocumentoar char 1u800 default null primary keyu800 tdocumentoid engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(51,'spanex userwiki',' gestiu8c3b3n retail industria spanex gestion spanex gestion spanex gestion spanex esu800 unau800 aplicaciu8c3b3n orientada au800 satisfacer lau800 demanda deu800 soporte au800 lau800 gestiu8c3b3n deu800 productos yu800 servicios deu800 terminaciu8c3b3n delu800 mercado deu800 lau800 construcciu8c3b3n civil. esta gestiu8c3b3n toma forma deu800 unau800 serie deu800 mu8c3b3dulos queu800 articulan losu800 diferentes procesos deu800 gestiu8c3b3n administrativa yu800 losu800 concernientes au800 losu800 propios deu800 producciu8c3b3n. basado yu800 diseu8c3b1ado enu800 herramientas deu800 cu8c3b3digo abierto lau800 aplicaciu8c3b3n desde suu800 concepciu8c3b3n tiene elu800 claro objetivo queu800 lau800 misma unu800 engranaje eficiente enu800 lau800 cadena deu800 maximizaciu8c3b3n delu800 retorno deu800 lau800 inversiu8c3b3n. consta deu800 mu8c3b3dulos queu800 permiten desde lau800 definiciu8c3b3n deu800 componentes deu800 productos yu800 servicios hasta elu800 control deu800 lau800 producciu8c3b3n deu800 losu800 mismos. au800 lau800 fecha seu800 encuentra enu800 funcionamiento lasu800 funciones deu800 negocio presupuestaciu8c3b3n quoting seguimiento deu800 pagos sobre documentos gestiu8c3b3n deu800 estructuras bu8c3a1sicas deu800 informaciu8c3b3n gestiu8c3b3n deu800 presupuestos quoting gestiu8c3b3n deu800 presupuestos quoting gestiu8c3b3n deu800 presupuestos quoting esu800 elu800 conjunto deu800 procesos formularios eu800 informes queu800 permite realizar unu800 control integral delu800 proceso deu800 presupuestaciu8c3b3n delu800 negocio. deu800 amplio espectro permite administrar losu800 siguientes grupos deu800 informaciu8c3b3n productos precios composicion deu800 productos gestiu8c3b3n deu800 mu8c3b3dulos gestiu8c3b3n deu800 bocetos contactos valores lau800 versiu8c3b3n actual nou800 incluye lau800 gestiu8c3b3n gru8c3a1fica delu800 armado deu800 losu800 elementos sinu800 queu800 esto seau800 unu800 impedimento para poder generar productos comercializables. gestiu8c3b3n deu800 productos gestiu8c3b3n deu800 productos gestiu8c3b3n deu800 productos seu800 establece como producto au800 todo elemento comercializable poru800 lau800 empresa. elu800 conjunto deu800 productos seu800 representan como registraciones yu800 comparten atributos tales como cu8c3b3digo deu800 producto codigo deu800 producto genu8c3a9rico descripciu8c3b3n cu8c3b3digo deu800 proveedor cu8c3b3digo deu800 categoru8c3ada magnitud magnitud deu800 inicio producto conu800 sinu800 apertura coeficiente au800 aplicar alu800 precio deu800 costo para tipo deu800 cliente 1u800 coeficiente au800 aplicar alu800 precio deu800 costo para tipo deu800 cliente 2u800 coeficiente au800 aplicar alu800 precio deu800 costo para tipo deu800 cliente 3u800 tamau8c3b1o deu800 origen ancho-largo alto profundidad etcu800. esto significa queu800 dentro deu800 este conjunto deu800 datos seu800 pueden incluir tanto elementos tangibles como intangibles servicios . elu800 ingreso deu800 informaciu8c3b3n deu800 este conjunto deu800 datos seu800 produce au800 lau800 hora deu800 definir losu800 produtos comercializables como seu800 obtienen cual seru8c3a1 lau800 polu8c3adtica comercial sobre losu800 diferentes tipos deu800 clientes yu800 seu800 realiza au800 travu8c3a9s delu800 form productos . siu800 bien existen otras modalidades deu800 ingreso automu8c3a1tico desde elu800 proceso conceptual deu800 productos-modulos-bocetos-productos lau800 principal vu8c3ada deu800 ingreso deu800 informaciu8c3b3n esu800 au800 travu8c3a9s delu800 mencionado formulario. este conjunto deu800 productos seu800 enlazan enu800 forma directa au800 travu8c3a9s deu800 alguno deu800 losu800 atributos mencionados conu800 otros conjuntos deu800 datos para completar elu800 universo deu800 informaciu8c3b3n necesario para lau800 u8c3b3ptima gestiu8c3b3n delu800 negocio. enu800 forma directa seu800 relaciona conu800 losu800 siguientes conjuntos deu800 datos composicion precios alu800 tiempo delu800 ingreso deu800 lau800 informaciu8c3b3n deu800 producto yu800 au800 efectos deu800 mantener lau800 integridad deu800 lasu800 estructuras deu800 informaciu8c3b3n unau800 vezu800 finalizado elu800 ingreso deu800 lau800 informaciu8c3b3n deu800 eseu800 producto alu800 almacenarse tambiu8c3a9n genera enu800 forma automu8c3a1tica registraciones dentro deu800 lasu800 estructuras deu800 precios yu800 deu800 composiciu8c3b3n conu800 losu800 valores deu800 precios enu800 0u800 yu800 unu800 registro deu800 composiciu8c3b3n conu800 losu800 valores deu800 coeficientes asociados enu800 0u800 esu800 importante diferenciar losu800 coeficientes indicados dentro deu800 lau800 estructura deu800 producto deu800 losu800 indicados dentro deu800 lau800 estructura deu800 composiciu8c3b3n. dada lau800 facilidad deu800 integraciu8c3b3n deu800 productos ou800 kits conu800 diferentes componentes ou800 elementos unu800 elemento dentro deu800 unu800 producto puede tener valores diferentes au800 elu800 mismo elemento aplicado para otro producto. enu800 elu800 caso deu800 productos como lasu800 aberturas probablemente lasu800 dimensiones reales deu800 losu800 interiores deu800 unau800 ventana sean diferentes au800 lasu800 deu800 otro modelo deu800 ventana aunque estas ventanas enu800 siu800 tengan lau800 misma dimensiu8c3b3n. enu800 elu800 caso queu800 seu800 desee precisiu8c3b3n deu800 costos estos coeficientes yu800 valores seru8c3a1n deu800 suma importancia. para profundizar enu800 losu800 conceptos seu800 detallan au800 continuaciu8c3b3n algunos subesquemas queu800 sonu800 deu800 importancia dentro deu800 lau800 aplicaciu8c3b3n. gestiu8c3b3n deu800 productos gestiu8c3b3n deu800 productos gestiu8c3b3n deu800 productos enu800 lau800 gestiu8c3b3n deu800 productos seu800 engloban unau800 serie deu800 procesos necesarios para mantener lau800 integridad yu800 elu800 normal desenvolvimiento deu800 losu800 mu8c3b3dulos deu800 lau800 aplicaciu8c3b3n. aquu8c3ad seu800 hanu800 definido enu800 forma individual obviamente interrelacionadas entre siu800 varias entidades au800 saber nota au800 lou800 largo deu800 esta ayuda seu800 podru8c3a1n observar algunos gru8c3a1ficos conceptuales queu800 tienen como algunas figuras queu800 significan archivo fzgu800u82edocsu82eprocesosu82eayudau82ejpgu800 center vista conceptual delu800 proceso denominamos productos au800 todos losu800 productos terminados yu800 ou800 materias primas queu800 lou800 componen. dentro deu800 esta estructura deu800 informaciu8c3b3n incluye lau800 informaciu8c3b3n referida au800 lasu800 magnitudes deu800 control delu800 producto yu800 losu800 coeficientes deu800 precios au800 aplicar sobre precios deu800 costo delu800 producto para lau800 venta yu800 lau800 imagen delu800 producto enu800 elu800 caso queu800 exista archivo fzgu800u82edocsu82eprocesosu82eproductosu82ejpgu800 center vista conceptual delu800 proceso seu800 observaru8c3a1 mu8c3a1s adelante queu800 elu800 concepto deu800 producto esu800 amplio yu800 queu800 incluye subproductos paru8c3a1metros deu800 subproductos precios composiciones diferenciadas yu800 otros elementos queu800 permiten tener unu800 mantener unu800 portfolio deu800 productos muyu800 variada. para esto seu800 subdivide losu800 productos enu800 productos ppdu800 propiamente dicho. au800 partir deu800 aquu8c3ad productos precios precios deu800 losu800 productos composiciones conformaciu8c3b3n deu800 conjuntos deu800 productos ou800 elementos para conformar otros productos comercializables. seu800 incluyen aquellos aspectos deu800 control deu800 forma yu800 categoru8c3ada deu800 producto. esu800 necesario aclarar queu800 dada lau800 versatilidad deu800 lau800 aplicaciu8c3b3n puede incluirse dentro deu800 unu800 producto compuesto otros subproductos ou800 elementos tales como mano deu800 obra colocaciu8c3b3n transporte etcu800. mu8c3b3dulos bocetos mu8c3b3dulos bocetos mu8c3b3dulos bocetos dentro deu800 lasu800 facilidades deu800 gestiu8c3b3n deu800 productos existe unau800 enu800 particular queu800 ayuda notablemente au800 lau800 presupuestaciu8c3b3n queu800 esu800 elu800 tandem mu8c3b3dulos bocetos. seu800 define como mu8c3b3dulo alu800 conjunto deu800 productos queu800 seu800 agrupan para representar unu800 tipo genu8c3a9rico deu800 plano deu800 unu800 proyecto uu800 obra mientras queu800 unu800 boceto esu800 unu800 mu8c3b3dulo predefinido permitiendo deu800 esta manera mantener esquemas deu800 modelos deu800 productos como poru800 ejemplo conjunto erica ou800 modelo barcelona . este u8c3baltimo seu800 convierte enu800 boceto para circunscribir lou800 mu8c3a1s posible lau800 posibilidad deu800 error yu800 permitir lau800 delegaciu8c3b3n deu800 tareas administrativas au800 agentes conu800 menores competencias deu800 diseu8c3b1o. enu800 elu800 caso deu800 establecer unu800 boceto eseu800 boceto puede sufrir modificaciones deu800 dimensiones pero nou800 deu800 otros elementos yau800 queu800 esou800 modificaru8c3ada elu800 modelo definido. enu800 elu800 caso deu800 seru800 necesario seu800 genera unu800 nuevo boceto conu800 otra denominaciu8c3b3n. lau800 tarea entonces para quienes seu800 leu800 haya delegado esta tarea solo seru8c3a1 basarse enu800 unu800 boceto ou800 modelo yu800 modificar lasu800 dimensiones deu800 acuerdo alu800 proyecto enu800 ciernes. chequeados lasu800 dimensiones definidas deu800 acuerdo alu800 lasu800 reglas definidas enu800 elu800 mu8c3b3dulo-boceto seu800 generaru8c3a1 unu800 producto u8c3banico para eseu800 proyecto conu800 lasu800 definiciones establecidas dentro delu800 proceso boceto - producto. estu8c3a1 claro queu800 lau800 mayor disponibilidad deu800 facilidades seu800 encuentra enu800 lau800 generaciu8c3b3n deu800 unu800 mu8c3b3dulo queu800 seu800 deberu8c3a1 realizar sobre medidas estu8c3a1ndar conu800 paneles ordenados yu800 medidas estu8c3a1ndar definidas yu800 losu800 elementos estu8c3a1ndar queu800 lou800 conforman. losu800 procesos brindados para losu800 mu8c3b3dulos sonu800 control deu800 medidas copia au800 boceto copia au800 otro mu8c3b3dulo control deu800 medidas control deu800 medidas control deu800 medidas esu800 importante seu8c3b1alar queu800 quizu8c3a1s este seau800 elu800 punto mu8c3a1s u8c3a1lgido enu800 lau800 definiciu8c3b3n deu800 losu800 mu8c3b3dulos. seu800 define como linea deu800 control au800 aquella lu8c3adnea virtual trazada enu800 forma horizontal ou800 vertical queu800 enlaza enu800 forma perpendicular au800 losu800 diferentes elementos queu800 conforman elu800 mu8c3b3dulo. estas lu8c3adneas deu800 control seu800 diferencias entre siu800 identificu8c3a1ndolas conu800 lau800 orientaciu8c3b3n horizontal wu800 vertical hu800 yu800 unu800 nu8c3bamero distintivo. pueden existir lau800 cantidad deu800 lineas deu800 control queu800 seu800 deseen yau800 queu800 sirven para acotar losu800 errores enu800 lau800 posterior confecciu8c3b3n presupuestaria. unu800 ejemplo concreto esu800 cuando seu800 quiere realizar unu800 producto queu800 consista enu800 5u800 paneles deu800 algu8c3ban material unidos entre siu800. enu800 este caso lau800 aplicaciu8c3b3n brinda lau800 posibilidad deu800 mantener lau800 integridad delu800 producto enu800 elu800 caso queu800 seu800 modifiquen lasu800 dimensiones deu800 cualquiera deu800 lasu800 dimensiones unu800 boceto esu800 unu800 conjunto deu800 productos queu800 seu800 agrupan para representar unu800 plano deu800 unu800 proyecto obra conu800 lau800 informaciu8c3b3n cierta esu800 decir vano definido yu800 cada unou800 deu800 losu800 paneles ordenados yu800 conu800 suu800 medida yau800 definida. este elemento deriva principalmente deu800 lau800 definiciu8c3b3n deu800 unu800 mu8c3b3dulo queu800 esu800 unu800 conjunto deu800 productos queu800 seu800 agrupan para representar unu800 tipo genu8c3a9rico deu800 plano deu800 unu800 proyecto obra. esta distinciu8c3b3n esu800 clave boceto conjunto deu800 productos conu800 medidas establecidas yu800 conu800 posibilidad deu800 modificarlas hasta proceso deu800 traspaso entre boceto yu800 producto. mu8c3b3dulo conjunto deu800 productos conu800 medidas libres pero acordes au800 lau800 definiciu8c3b3n deu800 unu800 vano estu8c3a1ndar. nou800 esu800 necesario modificar estos valores au800 menos queu800 seu800 requiera generar unu800 nuevo mu8c3b3dulo para seru800 base au800 otros bocetos. elu800 siguiente gru8c3a1fico simplifica lau800 visualizaciu8c3b3n delu800 proceso archivo fzgu800u82edocsu82eprocesou82emodulou82etou800u82eproductou82epngu800 center vista conceptual delu800 proceso conceptos asociados conceptos asociados conceptos asociados concepto magnitud magnitudes precios precios precios seu800 refiere au800 lau800 lista deu800 precios. debe existir unau800 registraciu8c3b3n deu800 precios poru800 cada producto activo. siu800 elu800 ingreso delu800 producto seu800 realiza dentro deu800 losu800 procesos normales esta registraciu8c3b3n debiera existir. poru800 cada registraciu8c3b3n existen au800 lau800 fecha 4u800 tipos deu800 precios diferentes. normalmente elu800 precio 0u800 estu8c3a1 indicado como precio deu800 costo . elu800 resto 3u800 definidos enu800 elu800 release 20120328 puede seru800 aplicado au800 discreciu8c3b3n delu800 usuario. nuestra sugerencia esu800 dividir lau800 polu8c3adtica comercial enu800 3u800 tipos deu800 clientes. lau800 asignaciu8c3b3n delu800 tipo deu800 cliente seu800 realiza dentro delu800 mantenimiento deu800 contactos. archivo fzgu800u82edocsu82eprocesosu82epreciosu82ejpgu800 center vista conceptual delu800 proceso losu800 valores deu800 cada unou800 deu800 losu800 precios poru800 tipo deu800 cliente pueden automatizarse au800 travu8c3a9s deu800 losu800 coeficientes deu800 precios establecidos dentro delu800 esquema deu800 datos deu800 producto. existen au800 lau800 fecha 5u800 procesos queu800 afectan directamente este concepto cambio masivo aplica unu800 coeficiente deu800 actualizaciu8c3b3n au800 todos losu800 tipos deu800 precios deu800 acuerdo au800 unu800 filtro deu800 producto dado. masivo coeficientes actualizaciu8c3b3n permite modificar losu800 coeficientes deu800 actualizaciu8c3b3n deu800 acuerdo alu800 precio 0u800 enu800 forma masiva deu800 acuerdo au800 unu800 filtro deu800 producto dado. precios general permite modificar losu800 valores deu800 precios nou800 coeficientes poru800 producto individual. precios tabular normal permite modificar losu800 valores deu800 precios poru800 producto enu800 unu800 formato tabular. precios tabular poru800 proceso permite modificar losu800 valores deu800 precios poru800 conjunto deu800 productos aplicando enu800 forma selectiva elu800 coeficiente au800 utilizar. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n esta estructura deu800 informaciu8c3b3n alberga unau800 matriz deu800 producto-elemento componente deu800 producto. esta esquema permite definir losu800 elementos componentes deu800 unu800 producto sean estos bu8c3a1sicos necesarios ou800 optativos. archivo fzgu800u82edocsu82eprocesosu82ecomposicionu82ejpgu800 center vista conceptual delu800 proceso unu800 simple ejemplo deu800 esta definiciu8c3b3n esu800 elu800 siguiente archivo fzgu800u82edocsu82ecomponentesu82eschemau82epngu800 center ejemplo esquema componentes enu800 elu800 ejemplo precedente observamos unau800 abertura conu800 susu800 componentes yu800 conu800 lau800 posibilidad deu800 definir entre 2u800 opciones conu800 queu800 tipo deu800 interior seu800 podru8c3a1 presupuestar. este esquema permite mantener variable lau800 definiciu8c3b3n deu800 productos deu800 acuerdo au800 losu800 precios individuales deu800 cada elemento. debido au800 queu800 deu800 este esquema partiru8c3a1 elu800 cu8c3a1lculo deu800 losu800 precios poru800 defecto alu800 ingresar unu800 nuevo producto enu800 forma automu8c3a1tica seu800 agregaru8c3a1 unu800 registro deu800 componente mu8c3adnimo conu800 losu800 datos delu800 elemento igual alu800 producto. esto nou800 debe modificarse au800 menos queu800 quiera establecer unu800 producto compuesto enu800 cuyo caso solo seru8c3a1 necesario contar conu800 unu800 producto bu8c3a1sico. proveedores proveedores proveedores seu800 refiere au800 losu800 cu8c3b3digos deu800 proveedores. inicialmente seu800 utiliza para diferencias losu800 productos deu800 acuerdo au800 suu800 procedencia yu800 para facilitar elu800 proceso deu800 cambio deu800 precios siendo estos cu8c3b3digos losu800 atributos deu800 diferenciaciu8c3b3n entre materias primas similares. presupuestos presupuestos presupuestos ---- este mu8c3b3dulo permite gestionar presupuestaciones para clientes deu800 forma amena yu800 precisa dependiendo suu800 amplia flexibilidad deu800 cuales hayan sido losu800 datos ingresados enu800 lau800 conformaciu8c3b3n deu800 losu800 productos. esu800 posible presupuestos presupuestos presupuestos este proceso permite lau800 gestiu8c3b3n deu800 propuestas deu800 venta para todo tipo deu800 clientes. cuenta conu800 unu800 diseu8c3b1o queu800 permite unau800 visualizaciu8c3b3n integral deu800 losu800 productos yu800 procesos queu800 intervienen enu800 lau800 conformaciu8c3b3n deu800 esta propuesta deu800 venta. lasu800 acciones posibles dentro deu800 este proceso sonu800 propuestas alta propuestas deu800 ventas ru8c3a1pida deu800 clientes modificaciu8c3b3n productos cantidades dimensiones inclusiones actualizaciu8c3b3n deu800 precios consulta consulta registro secuencial consulta poru800 filtros funciones adicionales botones activaciu8c3b3n impresiu8c3b3n envu8c3ado poru800 circuito deu800 correo electru8c3b3nico copia deu800 presupuestos descuentos caracteru8c3adsticas caracteru8c3adsticas caracteru8c3adsticas diseu8c3b1o lau800 pantalla deu800 presentaciu8c3b3n deu800 este proceso presenta lasu800 siguientes elementos  cabecera  sonu800 losu800 datos principales delu800 formulario.  datos deu800 cliente  esu800 lau800 informaciu8c3b3n delu800 contacto cliente seleccionado queu800 impacta enu800 forma directa sobre lau800 cotizaciu8c3b3n deu800 losu800 productos dentro deu800 lau800 propuesta  productos  seu800 detallan todos losu800 productos queu800 formaru8c3a1n parte delu800 presupuesto  composiciu8c3b3n  seu800 detalla todos losu800 elementos queu800 conforma unu800 producto yu800 susu800 adicionales.  detalle composiciu8c3b3n  esu800 lau800 informaciu8c3b3n deu800 losu800 elementos componentes deu800 cada producto presupuestado queu800 impactan enu800 forma directa sobre lau800 cotizaciu8c3b3n deu800 eseu800 elemento dentro delu800 producto seleccionado dentro deu800 lau800 propuesta. archivo fzgu800u82edocsu82eprocesosu82epresupuestou82ejpgu800 center vista conceptual delu800 proceso  cabecera  seu800 destaca lau800 inclusiu8c3b3n deu800 losu800 datos delu800 cliente yu800 lau800 asignaciu8c3b3n deu800 unu800 agente deu800 venta delu800 presupuesto. esu800 importante lau800 definiciu8c3b3n deu800 losu800 datos delu800 cliente ingresado dado queu800 dependiendo deu800 lau800 tipificaciu8c3b3n delu800 mismo varariu8c3a1 enu800 forma directa losu800 precios au800 aplicar enu800 losu800 presupuestos. u8c3baltimamente seu800 au800 agregado lau800 informaciu8c3b3n deu800 agente comercial queu800 corresponde au800 quiu8c3a9n esu800 responsable delu800 presupuesto yu800 gestor delu800 cumplimiento delu800 ingreso deu800 toda lau800 informaciu8c3b3n necesaria tanto para elu800 cu8c3a1lculo presupuestario sino tambiu8c3a9n para suu800 posterior fabricaciu8c3b3n enu800 caso deu800 seru800 aprobado. archivo fzgu800u82edocsu82epantallau82epresupuestou82ejpgu800 center vista conceptual delu800 proceso  detalle presupuesto  seu800 detallan losu800 datos mu8c3adnimos deu800 productos necesarios para lau800 confecciu8c3b3n delu800 presupuesto. estos datos sonu800 cantidad producto cu8c3b3digo yu800 ou800 descripciu8c3b3n ancho largo yu800 finalmente alto. para losu800 casos deu800 productos definidos conu800 magnitud igual au800 unidad unu800 solo tomaru8c3a1 lau800 informaciu8c3b3n indicada enu800 elu800 campo deu800 cantidad. alu800 tiempo delu800 ingreso deu800 lau800 informaciu8c3b3n deu800 productos enu800 forma automu8c3a1tica seu800 completaru8c3a1 lau800 secciu8c3b3n deu800  detalle producto . esta secciu8c3b3n esu800 lau800 queu800 permitiru8c3a1 agregar losu800 adicionales definidos enu800 suu800 oportunidad para completar elu800 producto mencionado. cabe aclarar queu800 solo seu800 podru8c3a1n agregar ou800 eliminar lou800 elementos delu800 detalle deu800 producto queu800 nou800 formen parte delu800 esquema bu8c3a1sico deu800 unu800 producto . au800 suu800 vezu800 siu800 losu800 elementos deu800 losu800 productos ingresados tuviesen paru8c3a1metros adicionales au800 especificar seu800 agregaru8c3a1n enu800 forma automu8c3a1tica dentro deu800 lau800 4u8c2ba secciu8c3b3n delu800 formulario. dentro delu800 detalle delu800 producto seu800 observan losu800 siguientes datos elemento cu8c3b3digo delu800 elemento queu800 forma parte delu800 producto descripciu8c3b3n elemento descripciu8c3b3n delu800 elemento queu800 forma parte delu800 producto precio unitario precio poru800 unidad deu800 magnitud delu800 producto deu800 acuerdo au800 lasu800 condiciones delu800 presupuesto tipo deu800 cliente magnitud especificada etcu800. precio precio delu800 elemento deu800 acuerdo au800 lasu800 condiciones delu800 presupuesto yu800 lasu800 cantidades especificadas. detalle indicador para incluir lau800 descripciu8c3b3n delu800 elemento dentro deu800 lau800 descripciu8c3b3n impresa delu800 presupuesto alu800 cliente. esta secciu8c3b3n delu800 formulario presenta lasu800 siguientes caracteru8c3adsticas esu800 indistinto elu800 ingreso poru800 cu8c3b3digo deu800 elemento ou800 poru800 lau800 descripciu8c3b3n delu800 mismo. losu800 campos deu800 cu8c3b3digo deu800 elemento yu800 descripciu8c3b3n delu800 elemento poseen unu800 botu8c3b3n deu800 ayuda contextual. solo seu800 desplegaru8c3a1n losu800 valores tanto deu800 cu8c3b3digo deu800 elemento como deu800 descripciu8c3b3n deu800 elemento indicados dentro deu800 lau800 composiciu8c3b3n deu800 producto. existe lau800 funciu8c3b3n deu800 generaciu8c3b3n deu800 descuentos ante lau800 ejecuciu8c3b3n deu800 esta funciu8c3b3n seu800 realizan losu800 siguentes pasos lau800 aplicaciu8c3b3n verifica queu800 nou800 exista registraciones deu800 descuento para elu800 presupuesto activo. deu800 existir dau800 lau800 opciu8c3b3n deu800 eliminarla para losu800 casos deu800 agregado ou800 eliminaciu8c3b3n deu800 productos delu800 presupuesto yu800 queu800 elu800 descuento seu800 haya aplicado enu800 funciu8c3b3n deu800 esos productos . presenta 2u800 opciones # bonificaciu8c3b3n deu800 unu800 valor fijo nou800 sujeto au800 elemento alguno delu800 presupuesto. # descuento poru800 porcentaje delu800 total delu800 presupuesto. genera unu800 producto deu800 magnitud poru800 unidad conu800 elu800 valor seleccionado enu800 valores negativos . alu800 estar asociado au800 losu800 procesos automatizados deu800 generaciu8c3b3n deu800 producto genera lasu800 registraciones correspondientes au800 precios conu800 elu800 mismo valor para todos losu800 tipos deu800 clientes yu800 deu800 composicion. ademu8c3a1s como seu800 mencionu8c3b3 anteriormente existe unau800 4u8c2ba secciu8c3b3n deu800  paru8c3a1metros adicionales  queu800 pueden afectar au800 unu800 presupuesto. enu800 este caso seu800 detallan losu800 valores distintos au800 lasu800 medidas generales queu800 afectan alu800 presupuesto yu800 suu800 posterior diseu8c3b1o ou800 colocaciu8c3b3n. enu800 esta secciu8c3b3n pueden incluirse cualquier valor yu800 depende deu800 lou800 ingresado dentro deu800 lau800 tabla deu800 valores adicionales deu800 productos veru800 mantenimiento deu800 datos auxiliares lasu800 caracteru8c3adsticas definidas deu800 este formulario sonu800 lasu800 siguientes elu800 esquema deu800 informaciu8c3b3n posee 4u800 grupos deu800 datos yau800 comentados. losu800 grupos deu800 datos sonu800 independientes excepto alu800 tiempo deu800 ejecuciu8c3b3n deu800 este mismo formulario yu800 enu800 lasu800 acciones deu800 ingreso deu800 informaciu8c3b3n deu800 cada grupo. elu800 alta deu800 unu800 producto enu800 elu800 detalle presupuesto presupone elu800 ingreso enu800 forma automu8c3a1tica deu800 alu800 menos unau800 registraciu8c3b3n enu800 elu800 detalle producto. elu800 alta deu800 unu800 producto seu800 referencia au800 elu800 producto enu800 siu800 yu800 suu800 composiciu8c3b3n siu800 lau800 misma tiene mu8c3a1s deu800 unu800 elemento asociado. presupuesto aprobaciu8c3b3n presupuesto aprobaciu8c3b3n presupuesto aprobaciu8c3b3n au800 losu800 efectos futuros deu800 gestiu8c3b3n deu800 fu8c3a1brica yu800 deu800 cobranzas cada elemento aprobado nou800 podru8c3a1 seru800 modificado. presupuesto aprobados presupuesto aprobados presupuesto aprobados consulta deu800 presupuestos aprobados au800 lau800 fecha. gestiu8c3b3n deu800 valores gestiu8c3b3n deu800 valores gestiu8c3b3n deu800 valores ---- unau800 deu800 lasu800 caracteru8c3adsticas deu800 lau800 aplicaciu8c3b3n esu800 queu800 puede hacer unu800 seguimiento deu800 losu800 valores afectados dentro delu800 proceso deu800 gestion deu800 comercializaciu8c3b3n sinu800 queu800 esto reemplaze lasu800 formas yu800 comprobantes fiscales siendo deu800 exclusivo usou800 interno deu800 lau800 empresa. esta gestiu8c3b3n seu800 divide enu800 cheques pagos cobranzas todos estos procesos sirven como  hoja deu800 trabajo  para lasu800 registraciones legales yu800 ou800 fiscales correspondientes yu800  nou800 esu800 objetivo deu800 lau800 presente aplicaciu8c3b3n reemplazar lasu800 mismas . cheques cheques cheques representa lau800 registraciu8c3b3n deu800 cheques deu800 terceros entregados enu800 parte deu800 pago. losu800 mismos sonu800 incorporados poru800 medio delu800 proceso deu800 cobranza yu800 pueden seru800 endosados enu800 elu800 proceso deu800 pagos. este proceso solo esu800 deu800 consulta yu800 sirve para tener control deu800 losu800 valores registrados yu800 disponibles. cobranzas cobranzas cobranzas representa lau800 registraciu8c3b3n deu800 lasu800 cobranzas pagos pagos pagos representa lau800 registraciu8c3b3n deu800 lasu800 pagos deu800 proveedores gastos generales. posee lau800 caracteru8c3adstica deu800 asociar formas deu800 pago para unu800 mejor control deu800 losu800 valores destinados au800 talu800 efecto. losu800 atributos definidos para esta registraciu8c3b3n sonu800 # deu800 lau800 transaccion fecha deu800 lau800 transaccion fecha valor delu800 pago forma deu800 pago enu800 este caso lasu800 formas habilitadas hasta elu800 momento sonu800 lasu800 siguientes chtu800 - cheque deu800 terceros cheques deu800 terceros aptos para endosar. oppu800 - orden deu800 pago proveedores cheques propios ou800 cualquier otro documento ejecutable au800 entregar efou800 - efectivo caja chica proveedor razon social tipo deu800 documento origen elu800 documento queu800 origina lau800 obligaciu8c3b3n deu800 pago ocu800 - orden deu800 compra fcu800 - factura nu8c2badocumento importe detalle permite elu800 ingreso delu800 detalle delu800 pago ou800 lau800 factura para suu800 clara identificaciu8c3b3n. imagen documento origen este proceso permite adosar lau800 imagen delu800 documento para suu800 fu8c3a1cil visualizaciu8c3b3n enu800 caso deu800 seru800 requerido enu800 lau800 pantalla correspondiente seu800 despliegan 3u800 grandes bloques deu800 informaciu8c3b3n filtro general para lau800 visualizaciu8c3b3n deu800 lasu800 registraciones deu800 pago efectuadas pagos para lau800 visualiaciu8c3b3n enu800 detalle deu800 lasu800 registraciones deu800 pago efectuadas documento asociado enu800 esta ventana seu800 desplegaru8c3a1n diferentes tipo deu800 controles asociados au800 lau800 forma deu800 pago seleccionada ou800 elegida para lau800 registraciu8c3b3n deu800 pago enu800 elu800 caso deu800 indicar como forma deu800 pago elu800 cu8c3b3digo chtu800 - cheque deu800 terceros au800 lau800 derecha deu800 lau800 registraciu8c3b3n seu800 desplegaru8c3a1 lau800 ventana deu800 documentos asociado esu800 enu800 lau800 queu800 seu800 emarcaru8c3a1n todos losu800 cheques existentes disponibles para suu800 endoso. para seleccionar losu800 mismos pulse sobre lau800 grilla deu800 visualizaciu8c3b3n deu800 losu800 documentos. enu800 elu800 caso deu800 indicar como forma deu800 pago elu800 cu8c3b3digo oppu800 - orden deu800 pago proveedores au800 lau800 derecha deu800 lau800 registraciu8c3b3n seu800 desplegaru8c3a1 lau800 ventana conu800 lau800 posibilidad deu800 inscribir elu800 documento emitido. enu800 elu800 caso deu800 indicar como forma deu800 pago elu800 cu8c3b3digo efou800 seu800 nou800 seu800 habilitaru8c3a1 lau800 ventana deu800 documento asociado solo quedando habilitados losu800 atributos arriba indicados. generalidades generalidades generalidades esta versiu8c3b3n deu800 lau800 aplicaciu8c3b3n seu800 encuentra desarrollada bajo unu800 ambiente propicio para lau800 gestiu8c3b3n deu800 tareas generales deu800 oficina. este esquema permite gestionar lau800 informaciu8c3b3n enu800 forma clara yu800 sencilla mientras seu800 tenga conocimiento deu800 lau800 estructura deu800 informaciu8c3b3n deu800 lau800 aplicaciu8c3b3n. como yau800 seu800 encuentra indicado lau800 gestiu8c3b3n deu800 datos seu800 encuentra basada enu800 lau800 definiciu8c3b3n deu800 formularios queu800 permiten enu800 general elu800 ingreso yu800 mantenimiento deu800 lau800 informaciu8c3b3n volcada dentro deu800 lau800 base deu800 datos deu800 lau800 aplicaciu8c3b3n. muchos deu800 losu800 formularios yau800 tienen incorporada dentro delu800 mismo unau800 facilidad deu800 filtro simple queu800 atau8c3b1e au800 losu800 productos categoru8c3ada ou800 proveedor deu800 losu800 mismos pero tambiu8c3a9n esu800 posible realizar bu8c3basquedas deu800 mayor precisiu8c3b3n conu800 elu800 entorno donde seu800 hau800 desarrollado lau800 aplicaciu8c3b3n estos formularios enu800 suu800 gran mayoru8c3ada au800 menos queu800 seu800 especifique lou800 contrario permiten gestionar elu800 ingreso modificaciu8c3b3n yu800 eliminaciu8c3b3n deu800 documentos ou800 registraciones ingresadas enu800 lau800 aplicaciu8c3b3n. elu800 otro elemento queu800 esu800 posible ejecutar dentro deu800 losu800 formularios esu800 lau800 deu800 consulta yu800 consulta parcial. para esto u8c3baltimo enu800 necesario indicar cuales vanu800 au800 seru800 losu800 atributos poru800 losu800 cuales esos datos vanu800 au800 estar desplegados. au800 nivel delu800 usuario lau800 definiciu8c3b3n deu800 lau800 consulta parcial consiste enu800 presentar elu800 mismo formulario pero enu800 blanco para poder indicar campo poru800 campo cuales vanu800 au800 seru800 losu800 datos queu800 serviru8c3a1 deu800 atributo deu800 selecciu8c3b3n deu800 lau800 visualizaciu8c3b3n. para elu800 caso particular deu800 losu800 campos deu800 texto queu800 desconozcamos parte delu800 criterio elu800 mismo puede seru800 reemplazado poru800 lau800 siguiente sintaxis like como seu800 indica enu800 elu800 pu8c3a1rrafo anterior esu800 imprescindible anteponer elu800 prefijo like antes au800 lau800 cadena deu800 caracteres. seu800 observa tambiu8c3a9n queu800 au800 ambos lados deu800 lau800 cadena deu800 caracteres seu800 situ8c3baa elu800 signo deu800 porcentaje . este signo tiene lau800 funciu8c3b3n deu800 comodu8c3adn. lasu800 siguientes cadenas sirven deu800 ejemplo like ventana indicaru8c3a1 queu800 eseu800 criterio deu800 bu8c3basqueda seru8c3a1 para todos losu800 elementos queu800 comiencen conu800 lau800 palabra ventana . like vidrio indicaru8c3a1 queu800 eseu800 criterio deu800 bu8c3basqueda seru8c3a1 para todos losu800 elementos queu800 tengan enu800 cualquier posiciu8c3b3n dentro delu800 campo seleccionado lau800 palabra ventana . referencia ru8c3a1pida referencia ru8c3a1pida referencia ru8c3a1pida objetivo secciu8c3b3n spanex 2u800u82e0u800 spanex 2u800u82e0u800 spanex 2u800u82e0u800 contactos bitacora crmu800 permite almacenar lasu800 novedades delu800 conjunto cliente-presupuesto otrabajo queu800 nou800 estu8c3a1n establecidas como dato yu800 sinu800 embargo sonu800 relevantes consulta clientes crmu800 permite visualizar elu800 estado deu800 situaciu8c3b3n histu8c3b3rico deu800 unu800 cliente conu800 todos susu800 presupuestos convertidos enu800 ordenes deu800 trabajo yu800 lasu800 cobranzas determinando elu800 estado crediticio delu800 cliente. contactos permite administrar lau800 informaciu8c3b3n deu800 lasu800 personas fu8c3adsicas yu800 juru8c3addicas deu800 lau800 aplicaciu8c3b3n sean estas clientes proveedores agentes etcu800. posicion crmu800 vista resumen delu800 estado deu800 losu800 clientes. precios cambio masivo permite elu800 cambio masivo deu800 todos losu800 atributos deu800 precios deu800 productos general ou800 filtrados au800 partir deu800 unu800 coeficiente dado poru800 elu800 usuario. lista deu800 precios pendiente masivo coeficientes actualizaciu8c3b3n permite lau800 modificaciu8c3b3n deu800 valores deu800 precios enu800 forma genu8c3a9rica ou800 au800 partir deu800 unu800 filtro dado aplicando unu800 coeficiente ingresado poru800 elu800 usuario sobre cualquiera deu800 losu800 atributos deu800 precio existentes. precios general permite administrar losu800 precios enu800 forma individual cada producto elemento precios tabular normal premite administrar losu800 precios enu800 forma individual pero enu800 formato matricial acelerando deu800 esta manera elu800 ingreso deu800 informaciu8c3b3n queu800 seu800 considere repetititva. precios tabular poru800 procesos permite administrar losu800 precios enu800 forma general conu800 lau800 posibilidad deu800 filtrar tanto enu800 forma horizontal productos categorias proveedores como asiu800 tambiu8c3a9n cualquiera deu800 losu800 atributos deu800 precios existentes enu800 base au800 losu800 procentajes deu800 mark-upu800 definidos para cada producto au800 partir deu800 lau800 modificaciu8c3b3n previa deu800 cualquiera deu800 losu800 precios deu800 referencia. productos productos productos u8c2bfque sucede cuando seu800 ingresa unu800 nuevo producto elu800 ingreso deu800 unu800 nuevo producto seu800 utiliza cada vezu800 queu800 exista unu800 producto ou800 elemento componente deu800 unu800 producto para indicar losu800 elementos mu8c3adnimos deu800 identificaciu8c3b3n deu800 eseu800 producto ou800 materia prima denominado elemento . ademu8c3a1s enu800 forma automu8c3a1tica seu800 generan registraciones tanto enu800 lasu800 tablas deu800 precios como enu800 lau800 deu800 composiciu8c3b3n marcando enu800 esta u8c3baltima elu800 atributo deu800 elemento primario para asociarlo enu800 elu800 caso queu800 seu800 coloque como elemento u8c3banico dentro deu800 unau800 presupuestaciu8c3b3n. composicion composicion composicion modulos u8c2bfque esu800 unu800 mu8c3b3dulo u8c2bfque esu800 unu800 mu8c3b3dulo u8c2bfque esu800 unu800 mu8c3b3dulo esu800 unu800 conjunto deu800 productos ou800 elementos queu800 componen unu800 mu8c3b3dulo ou800 modelo deu800 producto. generalmente seu800 aplica para productos ou800 partes deu800 unu800 proyecto deu800 construcciu8c3b3n. u8c2bfquiu8c3a9n genera unu800 nuevo mu8c3b3dulo u8c2bfquiu8c3a9n genera unu800 nuevo mu8c3b3dulo u8c2bfquiu8c3a9n genera unu800 nuevo mu8c3b3dulo elu800 usuario conu800 capacidades deu800 diseu8c3b1o deu800 productos. bocetos bocetos bocetos u8c2bfque esu800 unu800 boceto unu800 boceto esu800 unu800 mu8c3b3dulo alu800 queu800 seu800 leu800 pueden aplicar modificaciones queu800 respondan au800 unu800 proyecto determinado. estas modificaciones estu8c3a1n restringidas deu800 acuerdo au800 lou800 definido dentro delu800 mu8c3b3dulo. u8c2bfquiu8c3a9n puede crear unu800 boceto u8c2bfquiu8c3a9n puede crear unu800 boceto u8c2bfquiu8c3a9n puede crear unu800 boceto generalmente losu800 bocetos seu800 preparan au800 partir deu800 nuevos proyectos definidos. seru8c3ada necesario elu800 acceso au800 losu800 procesos deu800 modulos para generarlo yu800 luego siu800 puede seru800 modificado deu800 acuerdo au800 lasu800 restricciones definidas dentro deu800 esos mismos procesos. u8c2bfque operaciones puedo hacer sobre unu800 boceto u8c2bfque operaciones puedo hacer sobre unu800 boceto u8c2bfque operaciones puedo hacer sobre unu800 boceto existen algunas restricciones au800 tener enu800 cuenta cuando seu800 confecciona unu800 boceto siu800 bien unu800 boceto puede generarse au800 partir deu800 unu800 mu8c3b3dulo unau800 vezu800 queu800 au800 partir delu800 boceto seu800 genera unu800 producto elu800 boceto queda bloqueado nou800 puede modificarse niu800 eliminarse yu800 tiene unau800 relaciu8c3b3n unu8c3advoca conu800 elu800 producto. mientras queu800 elu800 boceto nou800 haya generado unu800 producto nuevo elu800 mismo puede seru800 modificado. elu800 boceto puede copiarse enu800 otro boceto elu800 boceto puede seru800 chequeado enu800 suu800 composiciu8c3b3n enu800 relaciu8c3b3n au800 lasu800 dimensiones delu800 vano au800 travu8c3a9s deu800 suu800 definiciu8c3b3n dentro delu800 mu8c3b3dulo correspondencia deu800 subconjuntos deu800 elementos. precios precios precios contactos u8c2bfa queu800 seu800 refiere elu800 mantenimiento deu800 contactos u8c2bfa queu800 seu800 refiere elu800 mantenimiento deu800 contactos u8c2bfa queu800 seu800 refiere elu800 mantenimiento deu800 contactos lau800 aplicaciu8c3b3n define como contacto au800 toda persona fu8c3adsica ou800 juru8c3addica queu800 tenga relevancia dentro delu800 proceso. esto significa queu800 tanto losu800 clientes proveedores agentes comerciales yu800 otras personas deben figurar dentro deu800 esta entidad. lau800 diferenciaciu8c3b3n deu800 cada unou800 deu800 ellos seu800 encuentra enu800 lau800 asignaciu8c3b3n lasu800 diferentes categoru8c3adas desplegadas enu800 elu800 formulario correspondiente. presupuestos presupuestos presupuestos u8c2bfque sucede cuando elimino unu800 presupuesto seu800 eliminan todas lasu800 registraciones asociadas productos yu800 elementos asociados alu800 producto. u8c2bfque sucede cuando elimino unu800 producto deu800 unu800 presupuesto u8c2bfque sucede cuando elimino unu800 producto deu800 unu800 presupuesto u8c2bfque sucede cuando elimino unu800 producto deu800 unu800 presupuesto seu800 eliminan todas lasu800 registraciones asociadas deu800 elementos componentes deu800 eseu800 producto enu800 eseu800 presupuesto queu800 pueden variar enu800 cada presupuesto . u8c2bfque sucede cuando modifico lasu800 dimensiones deu800 unu800 producto enu800 unu800 presupuesto u8c2bfque sucede cuando modifico lasu800 dimensiones deu800 unu800 producto enu800 unu800 presupuesto u8c2bfque sucede cuando modifico lasu800 dimensiones deu800 unu800 producto enu800 unu800 presupuesto seu800 actualizan losu800 precios enu800 eseu800 presupuesto conu800 lau800 u8c3baltima lista deu800 precios vigente deu800 todos losu800 elementos asociados au800 lasu800 magnitudes delu800 producto modificado. u8c2bfque sucede cuando modifico lasu800 cantidades deu800 unu800 producto enu800 unu800 presupuesto u8c2bfque sucede cuando modifico lasu800 cantidades deu800 unu800 producto enu800 unu800 presupuesto u8c2bfque sucede cuando modifico lasu800 cantidades deu800 unu800 producto enu800 unu800 presupuesto deu800 lau800 misma manera cuando seu800 modifican lasu800 magnitudes seu800 actualizan losu800 precios enu800 eseu800 presupuesto conu800 lau800 u8c3baltima lista deu800 precios vigente deu800 todos losu800 elementos asociados au800 lasu800 magnitudes delu800 producto modificado. u8c2bfque sucede cuando modifico unu800 producto cu8c3b3digo deu800 producto ou800 descripciu8c3b3n indistintamente u8c2bfque sucede cuando modifico unu800 producto cu8c3b3digo deu800 producto ou800 descripciu8c3b3n indistintamente u8c2bfque sucede cuando modifico unu800 producto cu8c3b3digo deu800 producto ou800 descripciu8c3b3n indistintamente seu800 procede au800 eliminar lasu800 registraciones existentes delu800 producto modificado yu800 seu800 agregan losu800 elementos asociados au800 eseu800 producto conu800 elu800 precio actualizado deu800 acuerdo au800 lau800 lista deu800 precios vigente. u8c2bfse puede recuperar unu800 presupuesto eliminado u8c2bfse puede recuperar unu800 presupuesto eliminado u8c2bfse puede recuperar unu800 presupuesto eliminado nou800. enu800 elu800 caso queu800 seu800 haya pulsado poru800 error lau800 tecla deu800 eliminaciu8c3b3n existe unau800 pregunta deu800 seguridad antes deu800 eliminar fu8c3adsicamente lau800 registraciu8c3b3n delu800 presupuesto. u8c2bfque sucede cuando ingreso unu800 producto enu800 unu800 presupuesto u8c2bfque sucede cuando ingreso unu800 producto enu800 unu800 presupuesto u8c2bfque sucede cuando ingreso unu800 producto enu800 unu800 presupuesto lau800 aplicaciu8c3b3n automu8c3a1ticamente ingresa como elementos bu8c3a1sicos aquellos queu800 hayan sido seu8c3b1alados como bu8c3a1sicos dentro delu800 esquema deu800 composiciu8c3b3n deu800 producto. siu800 elu800 producto tiene otros elementos asociados pero nou800 estu8c3a1n definidos como bu8c3a1sicos esu800 posible ingresarlos debajo deu800 losu800 bu8c3a1sicos. enu800 este caso enu800 particular solo estaru8c3a1 permitido ingresar aquellos productos asociados enu800 lau800 composiciu8c3b3n previa yu800 nou800 otros productos elementos. u8c2bfque significa aprobar unu800 presupuesto u8c2bfque significa aprobar unu800 presupuesto u8c2bfque significa aprobar unu800 presupuesto esu800 elu800 proceso queu800 permite fijar unu800 prespuesto yu800 queu800 nou800 pueda seru800 modificado. u8c2bfporque nou800 puedo enviar poru800 correo electru8c3b3nico unu800 presupuesto u8c2bfporque nou800 puedo enviar poru800 correo electru8c3b3nico unu800 presupuesto u8c2bfporque nou800 puedo enviar poru800 correo electru8c3b3nico unu800 presupuesto probablemente nou800 estu8c3a9 incorporado elu800 dato deu800 correo electru8c3b3nico principal dentro deu800 contactos. proceda au800 mantener actualizada lau800 informaciu8c3b3n deu800 contactos. valores valores valores glosario concepto definiciu8c3b3n -  formularios  losu800 formularios ofrecen unu800 mu8c3a9todo ou800 rutina para elu800 ingreso controlado deu800 datos. enu800 siu800 unu800 formulario consiste enu800 unu800 conjunto deu800 elementos ou800 controles queu800 mantiene unu800 dato. -  base deu800 datos  conjunto deu800 componentes deu800 informaciu8c3b3n. puede contener estructuras deu800 datos como asu8c3ad tambiu8c3a9n rutinas yu800 funciones asociadas au800 lasu800 estructuras deu800 datos -  tabla  conjunto deu800 datos referentes unau800 entidad deu800 informaciu8c3b3n. puede seru800 representada como unau800 planilla deu800 2u800 dimensiones conu800 registraciones yu800 atributos comunes deu800 esau800 entidad deu800 informaciu8c3b3n. -  entidad  conjunto deu800 datos referentes queu800 conforman unau800 unidad cuyos atributos lau800 diferencian deu800 otras unidades registrales. lau800 conformaciu8c3b3n deu800 unau800 entidad seu800 puede daru800 basada enu800 solo unau800 tabla ou800 unu800 conjunto deu800 ellas. - '),(52,'form pagos',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n ingresa registraciones queu800 representan pagos deu800 proveedores yu800 gastos composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla accpayab tabla checkbook estructura estructura estructura formpagos formchequeterceros formchequepropios cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado objeto formpago evento afterrecordchange modulo spanexb macro visibleingresocheque objeto formpago evento whenloading modulo fazzglassmcr macro eventowhenloadingformpagos objeto txtformaap evento changed modulo spanexb macro visibleingresocheque objeto txtfiltro evento changed modulo fazzglassmcr macro activafiltroproductosgeneral objeto btnendosoterceros evento mousebuttonpressed modulo spanexb macro endosartercerosengrilla objeto formchequepropios evento afterreseting modulo fazzglassmcr macro sugerenciaimportecheque bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 grau800 _relaciones#formularios formularios gestiu8c3b3n retail aberturas '),(53,'macro visibleingresocheque',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n controla elu800 despliegue deu800 subformularios yu800 lau800 habilitaciu8c3b3n deu800 operaciones enu800 cada unou800 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form pagos form cobranzas '),(54,'form cobranzas',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n gestion deu800 registraciones queu800 representan cobranzas sobre trabajos realizados composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla accreceiv tabla checkbook estructura estructura estructura formcobranzas formcheque boxes cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado objeto formcobranzas evento whenloading modulo fazzglassmcr macro eventowhenloadingformcobranzas objeto formcobranzas evento afterrecordchange modulo spanexb macro visibleingresocheque objeto botoneliminacontenido_txtfiltro evento mousebuttonpressed modulo fazzglassmcr macro eliminacontenidocampo objeto txtfiltro evento changed modulo fazzglassmcr macro activafiltroproductosgeneral objeto optionbtnar evento itemstatuschanged modulo fazzglassmcr macro opcionctrlxcliente objeto opcionctrlxdoc evento itemstatuschanged modulo fazzglassmcr macro opcionctrlxcliente objeto txtformaar evento changed modulo spanexb macro visibleingresocheque objeto fmtndocumentoorg evento changed modulo spanexb macro enviaclienteidcobranza objeto formcheque evento afterreseting modulo fazzglassmcr macro sugerenciaimportecheque bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 grau800 _relaciones#formularios formularios gestiu8c3b3n retail aberturas '),(55,'vista vischtdisp',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 cheques disponibles para endosar composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla checkbook estructura estructura estructura sqlu800 create view vischtdisp asu800 select \'chtu800\' asu800 transacctest checkbook . checkbookid asu800 checkbookid checkbook . entidad asu800 entidad checkbook . fechadocumento asu800 fechadocumento checkbook . importedocumento asu800 importedocumento from checkbook where isnull checkbook . ntransaccdst andu800 isnull checkbook . ttransaccdst bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(56,'vista vistotprod',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 lineas totalizadoras poru800 presupuesto yu800 poru800 producto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten3 tabla productos estructura estructura estructura sqlu800 create view vistotprod asu800 select vidquoten3 . vidquoteid asu800 vidquoteid vidquoten3 . vidquoteitem asu800 vidquoteitem vidquoten3 . vidquoteprodcantidad asu800 vidquoteprodcantidad vidquoten3 . vidquoteprodid asu800 vidquoteprodid productos . descripcion asu800 descripcion sumu800 vidquoten3 . vidquotepreciop asu800 vidquotepreciop from vidquoten3 join productos where productos . productoid vidquoten3 . vidquoteprodid group byu800 vidquoten3 . vidquoteid vidquoten3 . vidquoteitem vidquoten3 . vidquoteprodid bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120824 alta deu800 vista usou800 usou800 usou800 form presupuesto urlu800 urlu800 urlu800 '),(57,'tabla vidquoten3',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n estructura estructura estructura sqlu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(58,'tabla vidquoten3tmp',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n buffer temporario para permitir taggear opciones dentro deu800 lau800 confiormaciu8c3b3n presupuestaria composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table vidquoten3tmp vidquoteid intu800 11u800 notu800 null vidquoteitem intu800 11u800 notu800 null vidquoteprodid char 8u800 notu800 null vidquoteelementoid char 8u800 notu800 null vidquotecomposicid intu800 11u800 notu800 null vidquoteelementopm intu800 1u800 default null vidquoteprodcantidad intu800 5u800 default null vidquoteprecio decimal 16u800 8u800 default null vidquotepreciop decimal 16u800 8u800 default null vidquoteincluyedet tinyint 1u800 default \'0u800\' vidquotequickselect tinyint 1u800 default \'0u800\' primary keyu800 vidquoteid vidquoteitem vidquoteprodid vidquoteelementoid vidquotecomposicid engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120824 alta deu800 tabla usou800 usou800 usou800 form presupuesto urlu800 urlu800 urlu800 '),(59,'actualizacion dbu800',' actualizaciondbpendientes actualizaciones pendientes actualizaciones historicas actualizaciones historicas actualizaciones historicas 20120831 agregar nombre deu800 usuario tabla precios file checkedu82epngu800 20px agregar nombre deu800 usuario tabla precios file checkedu82epngu800 20px agregar nombre deu800 usuario tabla precios file checkedu82epngu800 20px alter table fzggestion . precios addu800 column usermodificacion varchar 20u800 null after horamodificacion ; alter table fzggestion . precios change column fechamodificacion fechaevento date null default null change column horamodificacion horaevento time null default null change column usermodificacion userevento varchar 20u800 null default null; 20120926u82e1915 file checkedu82epngu800 20px modificaciu8c3b3n deu800 triggers tabla precios file checkedu82epngu800 20px modificaciu8c3b3n deu800 triggers tabla precios file checkedu82epngu800 20px modificaciu8c3b3n deu800 triggers tabla precios file checkedu82epngu800 20px delimiter useu800 fzggestion create definer sas_admin trigger fzggestion . alta_precio before insert onu800 fzggestion . precios foru800 each rowu800 begin setu800 newu800u82efechaevento curdate newu800u82ehoraevento curtime newu800u82euserevento user ; endu800 create definer sas_admin trigger fzggestion . actualiza_precio before update onu800 fzggestion . precios foru800 each rowu800 begin setu800 newu800u82efechaevento curdate newu800u82ehoraevento curtime newu800u82euserevento user ; endu800 20120926u82e1924 file checkedu82epngu800 20px modificacion deu800 estructura tabla contactos file checkedu82epngu800 20px modificacion deu800 estructura tabla contactos file checkedu82epngu800 20px modificacion deu800 estructura tabla contactos file checkedu82epngu800 20px update contactos setu800 clientetag 1u800 where clientetag xu800 ; update contactos setu800 proveedortag 1u800 where proveedortag xu800 ; update contactos setu800 acomercialtag 1u800 where acomercialtag xu800 ; update contactos setu800 otrostag 1u800 where otrostag xu800 ; alter table fzggestion . contactos change column clientetag clientetag intu800 1u800 null default null change column proveedortag proveedortag intu800 1u800 null default null change column acomercialtag acomercialtag intu800 1u800 null default null change column otrostag otrostag intu800 1u800 null default null; 20120926u82e1927 file checkedu82epngu800 20px verificar losu800 casos queu800 nou800 coincidan conu800 losu800 prefijos establecidos 0u800- cliente 3u800- proveedor 5u800- otros 8u800- agentes comerciales 20120926u82e1928 nou800 seu800 verificu8c3b3 file warning-icon-hiu800u82epngu800 20px agrega atributo tabla contactos file checkedu82epngu800 20px agrega atributo tabla contactos file checkedu82epngu800 20px agrega atributo tabla contactos file checkedu82epngu800 20px alter table fzggestion . contactos addu800 column imgcontacto blob null after vigenciadocs ; 20120926u82e1939 file checkedu82epngu800 20px cambio deu800 condiciu8c3b3n para vista clientes file checkedu82epngu800 20px cambio deu800 condiciu8c3b3n para vista clientes file checkedu82epngu800 20px cambio deu800 condiciu8c3b3n para vista clientes file checkedu82epngu800 20px 20120926u82e1942 file checkedu82epngu800 20px alta deu800 tabla tabla telemecomp file checkedu82epngu800 20px alta deu800 tabla tabla telemecomp file checkedu82epngu800 20px alta deu800 tabla tabla telemecomp file checkedu82epngu800 20px 20120926u82e1957 alta generada file checkedu82epngu800 20px falta ingresar losu800 datos file warning-icon-hiu800u82epngu800 20px actualizar routine proc duplicaproductocompo enu800 dbu800 file checkedu82epngu800 20px actualizar routine proc duplicaproductocompo enu800 dbu800 file checkedu82epngu800 20px actualizar routine proc duplicaproductocompo enu800 dbu800 file checkedu82epngu800 20px 20120926u82e2007 file checkedu82epngu800 20px agregar atributo composicid au800 tabla vidquoten3 file checkedu82epngu800 20px agregar atributo composicid au800 tabla vidquoten3 file checkedu82epngu800 20px agregar atributo composicid au800 tabla vidquoten3 file checkedu82epngu800 20px alter table fzggestion . vidquoten3 change column vidquoteelementoid vidquoteelementoid char 8u800 notu800 null after vidquoteprodid change column vidquotelpre vidquotelpre intu800 1u800 null default null after vidquoteelementoid; alter table fzggestion . vidquoten3 addu800 column vidquotecomposicid intu800 notu800 null after vidquoteelementoid drop primary keyu800 addu800 primary keyu800 vidquoteid vidquoteitem vidquoteprodid vidquoteelementoid vidquotecomposicid ; 20120927u82e2014 file checkedu82epngu800 20px agregar atributo composicid au800 tabla vidquoten3tmp file checkedu82epngu800 20px agregar atributo composicid au800 tabla vidquoten3tmp file checkedu82epngu800 20px agregar atributo composicid au800 tabla vidquoten3tmp file checkedu82epngu800 20px alter table fzggestion . vidquoten3tmp change column vidquoteelementoid vidquoteelementoid char 8u800 notu800 null after vidquoteprodid change column vidquoteprodcantidad vidquoteprodcantidad intu800 5u800 null default null after vidquoteelementoid ; alter table fzggestion . vidquoten3tmp addu800 column vidquotecomposicid intu800 notu800 null after vidquoteelementoid drop primary keyu800 addu800 primary keyu800 vidquoteid vidquoteitem vidquoteprodid vidquoteelementoid vidquotecomposicid ; 20120926u82e2015 file checkedu82epngu800 20px agregar atributo elementopm au800 tabla vidquoten3tmp file checkedu82epngu800 20px agregar atributo elementopm au800 tabla vidquoten3tmp file checkedu82epngu800 20px agregar atributo elementopm au800 tabla vidquoten3tmp file checkedu82epngu800 20px alter table fzggestion . vidquoten3tmp addu800 column vidquoteelementopm intu800 1u800 null after vidquotecomposicid ; 20121004u82e1617 file checkedu82epngu800 20px agregar atributo elementopm au800 tabla vidquoten3 file checkedu82epngu800 20px agregar atributo elementopm au800 tabla vidquoten3 file checkedu82epngu800 20px agregar atributo elementopm au800 tabla vidquoten3 file checkedu82epngu800 20px alter table fzggestion . vidquoten3 addu800 column vidquoteelementopm intu800 1u800 null after vidquotecomposicid ; 20121004u82e1621 file checkedu82epngu800 20px reemplazar elu800 cu8c3b3digo deu800 proc grabaitempresupuestotmp file checkedu82epngu800 20px yu800 proc altaitempresupuestotmp file checkedu82epngu800 20px reemplazar elu800 cu8c3b3digo deu800 proc grabaitempresupuestotmp file checkedu82epngu800 20px yu800 proc altaitempresupuestotmp file checkedu82epngu800 20px reemplazar elu800 cu8c3b3digo deu800 proc grabaitempresupuestotmp file checkedu82epngu800 20px yu800 proc altaitempresupuestotmp file checkedu82epngu800 20px incluye lasu800 modificaciones deu800 inclusiu8c3b3n deu800 elementopm 20121004u82e1625 proc grabaitempresupuestotmp file checkedu82epngu800 20px 20121004u82e1630 proc grabaitempresupuestotmp file checkedu82epngu800 20px crea proc resetedicionitemtmp file checkedu82epngu800 20px crea proc resetedicionitemtmp file checkedu82epngu800 20px crea proc resetedicionitemtmp file checkedu82epngu800 20px 20121004u82e1655 file checkedu82epngu800 20px cambiar vista acomerciales file checkedu82epngu800 20px cambiar vista acomerciales file checkedu82epngu800 20px cambiar vista acomerciales file checkedu82epngu800 20px refleja elu800 cambio deu800 lau800 estructura deu800 lau800 tabla contactos 20121004u82e1657 file checkedu82epngu800 20px agregar enu800 tabla contactos file checkedu82epngu800 20px agregar enu800 tabla contactos file checkedu82epngu800 20px agregar enu800 tabla contactos file checkedu82epngu800 20px agregar atributo queu800 responde alu800 imagen asociada alu800 contacto. alter table fzggestion . contactos addu800 column imgcontacto blob null after vigenciadocs ; 20121004u82e1659 file checkedu82epngu800 20px alta delu800 trig actualiza_item_presupuesto file checkedu82epngu800 20px alta delu800 trig actualiza_item_presupuesto file checkedu82epngu800 20px alta delu800 trig actualiza_item_presupuesto file checkedu82epngu800 20px 20121004u82e1718 file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc actualizapreciospresupuesto file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc actualizapreciospresupuesto file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc actualizapreciospresupuesto file checkedu82epngu800 20px 20121004u82e1727 file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc actualizaitempresupuesto file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc actualizaitempresupuesto file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc actualizaitempresupuesto file checkedu82epngu800 20px 20121004u82e1727 file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc copiapresupuesto file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc copiapresupuesto file checkedu82epngu800 20px renovaciu8c3b3n delu800 proc copiapresupuesto file checkedu82epngu800 20px 20121004u82e1727 file checkedu82epngu800 20px cambios estructura delu800 proc grabaitempresupuestotmp file checkedu82epngu800 20px cambios estructura delu800 proc grabaitempresupuestotmp file checkedu82epngu800 20px cambios estructura delu800 proc grabaitempresupuestotmp file checkedu82epngu800 20px 20121004u82e1625 file checkedu82epngu800 20px cambios estructura delu800 tabla composicion file checkedu82epngu800 20px cambios estructura delu800 tabla composicion file checkedu82epngu800 20px cambios estructura delu800 tabla composicion file checkedu82epngu800 20px alter table fzggestion . composicion addu800 column composicid intu800 notu800 null auto_increment after elementoid drop primary keyu800 addu800 primary keyu800 productoid elementoid composicid ; 20121004u82e1857 file checkedu82epngu800 20px alta delu800 proc altaitempresupuesto file checkedu82epngu800 20px alta delu800 proc altaitempresupuesto file checkedu82epngu800 20px alta delu800 proc altaitempresupuesto file checkedu82epngu800 20px 20121004u82e1937 file checkedu82epngu800 20px 20120702 20120702 20120702 agregado deu800 atributo deu800 medicion enu800 obra file checkedu82epngu800 20px alter table fzggestion . vidquoten1 addu800 column vidquotemedcheck char 1u800 null default 0u800 after vidquoteacom ; 20120926u82e1616 file checkedu82epngu800 20px actualizaciu8c3b3n deu800 dato deu800 vigencia deu800 documentos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 dato deu800 vigencia deu800 documentos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 dato deu800 vigencia deu800 documentos file checkedu82epngu800 20px alter table fzggestion . contactos change column coeficienteac coeficienteac decimal 5u800 2u800 null default 1u800 change column vigenciadocs vigenciadocs intu800 2u800 null default 15u800; update fzggestion . contactos setu800 vigenciadocs 15u800 where vigenciadocs 0u800 oru800 isnull vigenciadocs ; 20120926u82e1634 file checkedu82epngu800 20px actualizaciu8c3b3n deu800 datos para elu800 control deu800 cobranzas file checkedu82epngu800 20px actualizaciu8c3b3n deu800 datos para elu800 control deu800 cobranzas file checkedu82epngu800 20px actualizaciu8c3b3n deu800 datos para elu800 control deu800 cobranzas file checkedu82epngu800 20px alter table fzggestion . accreceiv addu800 column clientear char 8u800 null default null after importear drop primary keyu800 addu800 primary keyu800 ttransaccion ntransaccion ; 20120926u82e1651 file checkedu82epngu800 20px crear vista vistranscrm file checkedu82epngu800 20px crear vista vistranscrm file checkedu82epngu800 20px crear vista vistranscrm file checkedu82epngu800 20px 2012092616u82e55u800 file checkedu82epngu800 20px crear tabla clientescrmqry file checkedu82epngu800 20px crear tabla clientescrmqry file checkedu82epngu800 20px crear tabla clientescrmqry file checkedu82epngu800 20px 20120926 file checkedu82epngu800 20px crear vista chqactivos file checkedu82epngu800 20px crear vista chqactivos file checkedu82epngu800 20px crear vista chqactivos file checkedu82epngu800 20px 20120926u82e1758 file checkedu82epngu800 20px crear tabla accpayab file checkedu82epngu800 20px crear tabla accpayab file checkedu82epngu800 20px crear tabla accpayab file checkedu82epngu800 20px delimiter create table accpayab ttransaccion char 2u800 notu800 null default \'apu800\' ntransaccion intu800 11u800 notu800 null auto_increment fechaautap date default null fechaap date default null formaap char 3u800 default null importeap decimal 10u800 2u800 default null proveedap char 8u800 default null tdocumentoorg char 2u800 default null ndocumentoorg intu800 11u800 default null ddocumentoorg varchar 100u800 default null primary keyu800 ttransaccion ntransaccion engine myisam auto_increment 9u800 default charset latin1 create trigger fzggestion . alta_pago before insert onu800 fzggestion . accpayab foru800 each rowu800 begin setu800 newu800u82efechaautap curdate ; endu800 20120926u82e1804 file checkedu82epngu800 20px modifica tabla fpago file checkedu82epngu800 20px modifica tabla fpago file checkedu82epngu800 20px modifica tabla fpago file checkedu82epngu800 20px alter table fzggestion . fpago addu800 column fpagoar char 1u800 null after fpagodsc addu800 column fpagoap char 1u800 null after fpagoar ; 20120926u82e1808 file checkedu82epngu800 20px rediseu8c3b1a tabla tdocumento rediseu8c3b1a tabla tdocumento rediseu8c3b1a tabla tdocumento crea vista vischtdisp file checkedu82epngu800 20px crea vista vischtdisp file checkedu82epngu800 20px crea vista vischtdisp file checkedu82epngu800 20px 20120926u82e1835 file checkedu82epngu800 20px crea vista vistotprod file checkedu82epngu800 20px crea vista vistotprod file checkedu82epngu800 20px crea vista vistotprod file checkedu82epngu800 20px 20120926u82e1836 file checkedu82epngu800 20px crea tabla vidquoten3tmp file checkedu82epngu800 20px crea tabla vidquoten3tmp file checkedu82epngu800 20px crea tabla vidquoten3tmp file checkedu82epngu800 20px 20120926u82e1902 file checkedu82epngu800 20px reemplazar todos losu800 elementopm enu800 componentes poru800 losu800 nuevos valores file checkedu82epngu800 20px reemplazar todos losu800 elementopm enu800 componentes poru800 losu800 nuevos valores file checkedu82epngu800 20px reemplazar todos losu800 elementopm enu800 componentes poru800 losu800 nuevos valores file checkedu82epngu800 20px update fzggestionu82ecomposicion setu800 elementopm 2u800 where elementopm 0u800; update fzggestionu82ecomposicion setu800 elementopm 0u800 where elementopm 1u800; 20120926u82e1908 file checkedu82epngu800 20px 20121005 20121005 20121005 actualizaciu8c3b3n deu800 proc altaitempresupuestotmp 20121029 20121029 20121029 actualizaciu8c3b3n deu800 tabla vidquoten1 file checkedu82epngu800 20px alter table fzggestion . vidquoten1 change column vidquotecliente vidquotecliente char 8u800 notu800 null change column vidquoteacom vidquoteacom char 4u800 notu800 null ; 20121201 20121201 20121201 alta deu800 esquema mu8c3b3dulos alta deu800 tabla moduloscab file checkedu82epngu800 20px alta deu800 tabla modulosdet file checkedu82epngu800 20px alta deu800 tabla modulossbs file checkedu82epngu800 20px alta deu800 tabla bocetoscab file checkedu82epngu800 20px alta deu800 tabla bocetosdet file checkedu82epngu800 20px alta deu800 tabla bocetossbs file checkedu82epngu800 20px baja deu800 tablas yu800 vistas sinu800 usou800 file checkedu82epngu800 20px baja deu800 tablas yu800 vistas sinu800 usou800 file checkedu82epngu800 20px baja deu800 tablas yu800 vistas sinu800 usou800 file checkedu82epngu800 20px drop table fzggestion . logprecios ; drop table fzggestion . precios_old ; drop table fzggestion . predefcab ; drop table fzggestion . predefdet ; drop view fzggestion . preciosvigact ; actualizaciu8c3b3n deu800 tabla productos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 tabla productos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 tabla productos file checkedu82epngu800 20px alter table fzggestion . productos addu800 column productogen char 8u800 null first addu800 column productodflt intu800 1u800 null after productogen addu800 column magnitudin char 2u800 null after magnitud addu800 column magcmpx intu800 5u800 null after insumoimg addu800 column magcmpy intu800 5u800 null after magcmpx addu800 column magcmpz intu800 5u800 null after magcmpy addu800 column magcmpw intu800 5u800 null after magcmpz addu800 column presentacion varchar 45u800 null after magcmpw addu800 column productoproy intu800 1u800 null default 0u800 after presentacion addu800 column productotag varchar 45u800 null after productoproy ; update productos setu800 productogen productoid productodflt 1u800 actualizaciu8c3b3n deu800 rprt presupuestos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 rprt presupuestos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 rprt presupuestos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 tabla productos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 tabla productos file checkedu82epngu800 20px actualizaciu8c3b3n deu800 tabla productos file checkedu82epngu800 20px alter table fzggestion . productos addu800 column compoedita intu800 1u800 null default 1u800 after coefp00p03 ; alter table fzggestion . productos change column compoedita compoedita intu800 1u800 null default null after coefp00p02 addu800 column productoor intu800 1u800 null default null after coefp00p03 ; actualizaciu8c3b3n deu800 tabla composicion file checkedu82epngu800 20px actualizaciu8c3b3n deu800 tabla composicion file checkedu82epngu800 20px actualizaciu8c3b3n deu800 tabla composicion file checkedu82epngu800 20px alter table fzggestion . composicion addu800 column composicobs varchar 25u800 null after coefvanoalto ; elimina deu800 vista preciosvigentes file checkedu82epngu800 20px elimina deu800 vista preciosvigentes file checkedu82epngu800 20px elimina deu800 vista preciosvigentes file checkedu82epngu800 20px drop view fzggestion . preciosvigentes ; 20130912 20130912 20130912 checklist deu800 modificaciones deu800 objetos faltantes proc copiamoduloboceto file checkedu82epngu800 20px proc copiamodulomodulo file checkedu82epngu800 20px proc crearnuevalistaprecios . descartado. utilizada cuando existu8c3ada lau800 lista deu800 precios vigentes proc explota . descartado. usado para lau800 generaciu8c3b3n deu800 unu800 cursor para lau800 base deu800 datos. tabla bitacoracrm file checkedu82epngu800 20px trig bitacoracrmu82ealta_bitacoracrm file checkedu82epngu800 20px tabla bocetoscab file checkedu82epngu800 20px trig bocetoscabu82ebaja_bocetoscab file checkedu82epngu800 20px tabla bocetosdet file checkedu82epngu800 20px tabla bocetossbs file checkedu82epngu800 20px tabla compdvh . descartado. utilizado para elu800 proceso deu800 resoluciu8c3b3n deu800 tktu800 fzgu800u82e000007 tabla listavsdim file checkedu82epngu800 20px tabla magnitudes file checkedu82epngu800 20px tabla moduloscab file checkedu82epngu800 20px tabla modulosdet file checkedu82epngu800 20px tabla modulossbs file checkedu82epngu800 20px tabla navtipolog file checkedu82epngu800 20px tabla proddvh . descartado. utilizado para elu800 proceso deu800 resoluciu8c3b3n deu800 tktu800 fzgu800u82e000007 tabla wscontrolm . descartado. utilizado para unu800 eventual sistema deu800 menu8c3baes vista productosdisp file checkedu82epngu800 20px vista vischeckmod file checkedu82epngu800 20px alta deu800 proc copiamodulomodulo file checkedu82epngu800 20px alta deu800 proc copiamodulomodulo file checkedu82epngu800 20px alta deu800 proc copiamodulomodulo file checkedu82epngu800 20px alta deu800 proc copiamoduloboceto file checkedu82epngu800 20px 20131102 20131102 20131102 cambio deu800 valor enu800 trig productosu82ealta producto file checkedu82epngu800 20px cambia elu800 valor ingresado para elementopm yau800 queu800 poru800 defecto estaba colocando todas lasu800 registraciones enu800 estado simple . au800 partir deu800 ahora enu800 lau800 generaciu8c3b3n tendru8c3a1 elu800 estado basico insert into composicion composicion . productoid composicion . elementoid composicion . valorelemento composicion . elementopm values vproductoid vproductoid 1u800 0u800 ; '),(211,'proc copiamoduloboceto',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n copia mu8c3b3dulo boceto biblioteca biblioteca biblioteca composiciu8c3b3n cu8c3b3digo cu8c3b3digo cu8c3b3digo delimiter create definer sas_admin procedure copiamoduloboceto inu800 pmoduloid char 8u800 inu800 pbocetoid char 8u800 inu800 pbocetodsc varchar 50u800 begin -- ------------------------------------------------------ -- insert from moduloscab into bocetoscab -- ------------------------------------------------------ -- call debugcheckpoint -- concat -- proc copiamoduloboceto varu800 -- pmoduloid - -- pbocetoid - -- pbocetodsc -- ; delete from bocetoscab where bocetoid pbocetoid; delete from bocetosdet where bocetoid pbocetoid; insert into bocetoscab bocetoid moduloid bocetodsc bocetovw bocetovh bocetoimg bocetoath bocetofec select pbocetoid pmoduloid pbocetodsc moduloscab . modulovw moduloscab . modulovh moduloscab . moduloimg moduloscab . moduloath curdate from fzggestion . moduloscab where moduloscab . moduloid pmoduloid; -- ------------------------------------------------------ -- insert from modulosdet into bocetosdet -- ------------------------------------------------------ insert into fzggestion . bocetosdet bocetoid productoid composicid cantidadpr anchopredef altopredef dimensionchg cantidadchg productochg subsetancho subsetalto productovsb posx posy select pbocetoid modulosdet . productoid modulosdet . composicid modulosdet . cantidadpr modulosdet . anchopredef modulosdet . altopredef modulosdet . dimensionchg modulosdet . cantidadchg modulosdet . productochg modulosdet . subsetancho modulosdet . subsetalto modulosdet . productovsb modulosdet . posx modulosdet . posy from fzggestion . modulosdet where modulosdet . moduloid pmoduloid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(212,'proc copiamodulomodulo',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n copia deu800 mu8c3b3dulo enu800 proceso deu800 generaciu8c3b3n deu800 mu8c3b3dulos biblioteca biblioteca biblioteca composiciu8c3b3n tabla moduloscab tabla modulosdet cu8c3b3digo cu8c3b3digo cu8c3b3digo delimiter create definer sas_admin procedure copiamodulomodulo inu800 pmoduloold char 8u800 inu800 pmodulonew char 8u800 inu800 pmodulodsc varchar 50u800 begin -- ------------------------------------------------------ -- insert from moduloscab into bocetoscab -- ------------------------------------------------------ call debugcheckpoint concat proc copiamoduloboceto varu800 pmoduloold - pmodulonew - pmodulodsc ; delete from moduloscab where moduloid pmodulonew; delete from modulosdet where moduloid pmodulonew; insert into moduloscab moduloid modulodsc modulovw modulovh moduloimg moduloath modulofec select pmodulonew pmodulodsc moduloscab . modulovw moduloscab . modulovh moduloscab . moduloimg moduloscab . moduloath curdate from fzggestion . moduloscab where moduloscab . moduloid pmoduloold; -- ------------------------------------------------------ -- insert from modulosdet into bocetosdet -- ------------------------------------------------------ insert into modulosdet moduloid productoid composicid cantidadpr anchopredef altopredef dimensionchg cantidadchg productochg subsetancho subsetalto productovsb posx posy select pmodulonew modulosdet . productoid modulosdet . composicid modulosdet . cantidadpr modulosdet . anchopredef modulosdet . altopredef modulosdet . dimensionchg modulosdet . cantidadchg modulosdet . productochg modulosdet . subsetancho modulosdet . subsetalto modulosdet . productovsb modulosdet . posx modulosdet . posy from fzggestion . modulosdet where modulosdet . moduloid pmoduloold; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(60,'tabla precios',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n tabla deu800 precios sqlu800 sqlu800 sqlu800 create table precios lista intu800 11u800 notu800 null productoid char 8u800 notu800 null precioprod00 decimal 12u800 2u800 default null precioprod01 decimal 12u800 2u800 default null precioprod02 decimal 12u800 2u800 default null precioprod03 decimal 12u800 2u800 default null fechaevento date default null horaevento time default null userevento varchar 20u800 default null primary keyu800 lista productoid engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 triggers triggers triggers insert trig preciosu82ealtaprecio update trig preciosu82eactualizaprecio '),(61,'trig preciosu82ealtaprecio',' category trig lanzador lanzador lanzador alta composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla precios sqlu800 sqlu800 sqlu800 create definer sas_admin trigger fzggestion . alta_precio before insert onu800 fzggestion . precios foru800 each rowu800 begin setu800 newu800u82efechaevento curdate newu800u82ehoraevento curtime newu800u82euserevento user ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(62,'trig preciosu82eactualizaprecio',' category trig lanzador lanzador lanzador update composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla precios sqlu800 sqlu800 sqlu800 create definer sas_admin trigger fzggestion . actualiza_precio before update onu800 fzggestion . precios foru800 each rowu800 begin setu800 newu800u82efechaevento curdate newu800u82ehoraevento curtime newu800u82euserevento user ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(63,'vista clientes',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 tabla deu800 contactos solo conu800 elu800 tagu800 deu800 clientes composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla contactos sqlu800 sqlu800 sqlu800 create view clientes asu800 select contactos . contactoid asu800 clienteid contactos . razonsocial asu800 razonsocial contactos . direccion asu800 direccion contactos . localidad asu800 localidad contactos . provincia asu800 provincia contactos . pais asu800 pais contactos . cpostal asu800 cpostal contactos . cuit asu800 cuit contactos . area asu800 area contactos . telefono1 asu800 telefono1 contactos . telefono2 asu800 telefono2 contactos . telefono3 asu800 telefono3 contactos . telefonom asu800 telefonom contactos . telefonof asu800 telefonof contactos . correo1 asu800 correo1 contactos . correo2 asu800 correo2 contactos . ncontacto asu800 ncontacto contactos . acontacto asu800 acontacto contactos . listaprecio asu800 listaprecio contactos . coeficienteac asu800 coeficienteac contactos . vigenciadocs asu800 vigenciadocs contactos . imgcontacto asu800 imgcontacto contactos . notas asu800 notas from contactos where contactos . clientetag 1u800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120831 cambio deu800 condiciu8c3b3n poru800 cambio deu800 tipo deu800 variable 20120917 agregado deu800 atributos deu800 logo vigencia yu800 coeficiente au800 lau800 vista. usou800 usou800 usou800 form presupuesto urlu800 urlu800 urlu800 '),(64,'vista preciosvigentes',' 20120902. cambio para queu800 tome lasu800 modificaciones sobre precios yu800 queu800 siga lau800 rueda create view preciosvigentes asu800 select precios . lista asu800 lista precios . productoid asu800 productoid precios . precioprod00 asu800 precioprod00 precios . precioprod01 asu800 precioprod01 precios . precioprod02 asu800 precioprod02 precios . precioprod03 asu800 precioprod03 precios . fechaevento asu800 fechamodificacion precios . horaevento asu800 horamodificacion precios . userevento asu800 usermodificacion from precios '),(65,'vista preciosvigact',' 20120902. cambio para queu800 tome lasu800 modificaciones sobre precios yu800 queu800 siga lau800 rueda create view preciosvigact asu800 select preciosvigentes . lista asu800 lista preciosvigentes . productoid asu800 productoid productos . descripcion asu800 descripcion productos . categoriaid asu800 categoriaid productos . proveedorid asu800 proveedorid preciosvigentes . precioprod00 asu800 precioprod00 productos . coefp00p01 asu800 coefp00p01 preciosvigentes . precioprod01 asu800 precioprod01 productos . coefp00p02 asu800 coefp00p02 preciosvigentes . precioprod02 asu800 precioprod02 productos . coefp00p03 asu800 coefp00p03 preciosvigentes . precioprod03 asu800 precioprod03 from productos join preciosvigentes where productos . productoid preciosvigentes . productoid order byu800 preciosvigentes . productoid '),(66,'tabla telemecomp',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n tipo deu800 elementos deu800 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 create table fzggestion . telemecomp telementoid intu800 1u800 notu800 null telementodsc varchar 45u800 null primary keyu800 telementoid ; bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 referencial elementopm enu800 tabla composicion urlu800 urlu800 urlu800 '),(67,'macro copiacomposicion',' descripciu8c3b3n btnu800 deu800 copia delu800 registro seu8c3b1alado enu800 elu800 form copiacomposicion sobre otro producto existente ou800 nou800. hace unu800 call alu800 proc duplicaproductocompo composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n codigo function copiacomposicion oevent asu800 boolean dimu800 sqlstatement asu800 object dimu800 strsqlsearch asu800 string dimu800 oconnection asu800 object dimu800 oform asu800 object dimu800 omensaje asu800 string dimu800 vproductoidorg asu800 string dimu800 vproductoiddst asu800 string dimu800 vproductodscdst asu800 string \'oform thiscomponentu82edrawpageu82eformsu82egetbyname formconsulta oform oeventu82esourceu82emodelu82eparent osubform oformu82egetbyname detalleproductooriginal osubformgrid osubformu82egetbyname detalleproductooriginalgrid vproductoidorg osubformgridu82egetbyname productoid .string vproductoiddst oformu82egetbyname fproductoid .text vproductodscdst oformu82egetbyname fproductodsc .text ifu800 lenu800 vproductoidorg 1u800 then msgbox producto origen nou800 vu8c3a1lido 0u800 error copiacomposicion false else ifu800 lenu800 vproductoiddst 1u800 then msgbox producto destino nou800 vu8c3a1lido 0u800 error copiacomposicion false else ifu800 lenu800 vproductodscdst 1u800 then msgbox descripciu8c3b3n destino nou800 vu8c3a1lida 0u800 error copiacomposicion false else copiacomposicion false ocondicion productoid & chru800 39u800 & vproductoiddst & chru800 39u800 ifu800 querysimple count hayproductos productos ocondicion integer 0u800 then \'existe unu800 producto conu800 eseu800 cu8c3b3digo omensaje existe unu800 producto conu800 elu800 codigo deu800 destino especificado. siu800 desea siu800 continua seu800 eliminaru8c3a1n todos losu800 datos delu800 omensaje omensaje & producto anteriormente ingresado. u8c2bfdesea continuar ifu800 msgbox splitmsg omensaje 40u800 mb_yesno mb_iconexclamation atenciu8c3b3n idyes then copiacomposicion true endif else copiacomposicion true endu800 ifu800 ifu800 copiacomposicion then omensaje u8c2bfestu8c3a1 seguro deu800 copiar lau800 composicion deu800 & vproductoidorg & au800 & vproductoiddst & ifu800 msgbox splitmsg omensaje 40u800 mb_yesno mb_iconexclamation atenciu8c3b3n idyes then oconnection oeventu82esourceu82emodelu82egetparent .activeconnection sqlstatement oconnectionu82epreparestatement call duplicaproductocompo sqlstatementu82esetstring 1u800 vproductoidorg sqlstatementu82esetstring 2u800 vproductoiddst sqlstatementu82esetstring 3u800 vproductodscdst sqlstatementu82eexecute sqlstatementu82eclose msgbox verifique losu800 valores base delu800 nuevo producto-composiciu8c3b3n 0u800 mensaje oformu82egetbyname fproductoid .reset oformu82egetbyname fproductodsc .reset else copiacomposicion false endu800 ifu800 endu800 ifu800 endu800 ifu800 endu800 ifu800 endu800 ifu800 endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120904 incorporaciu8c3b3n deu800 preguntas para determinar siu800 copia au800 pesar deu800 existir previamente otro producto conu800 eseu800 cu8c3b3digo. usou800 usou800 usou800 form copiacomposicion '),(68,'proc altaitempresupuestotmp',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n elu800 procedimiento estu8c3a1 enu800 funciu8c3b3n deu800 lau800 ediciu8c3b3n deu800 losu800 elementos deu800 unu800 producto compuesto durante lau800 confecciu8c3b3n deu800 unu800 presupuesto. agrega au800 lau800 tabla vidquoten3tmp lasu800 registraciones correspondientes alu800 producto au800 editar. lasu800 caracteru8c3adsticas delu800 proceso sonu800 lasu800 siguientes selecciona registros deu800 lau800 tabla composicion queu800 corresponde alu800 producto seleccionado yu800 agrega aquellos registros queu800 nou800 existan enu800 lau800 selececiu8c3b3n original alta deu800 producto selecciona losu800 registros deu800 lau800 tabla composicion cuyo elemento esu800 igual alu800 producto producto propiamente dicho . este punto seu800 explicita para queu800 nou800 entre enu800 loop selecciona losu800 registros deu800 lau800 tabla composicion cuyos elementos sonu800 diferentes alu800 producto adicionales bu8c3a1sicos simple yu800 completo . dado queu800 permite unu800 grado deu800 profundidad adicional toma tanto losu800 registros componentes sino tambiu8c3a9n todos aquellos queu800 estu8c3a1n referenciados como elemento componente. establece unau800 relaciu8c3b3n conu800 lasu800 tabla productos yu800 tabla precios . establece unau800 relaciu8c3b3n anidada conu800 lau800 misma tabla composicion para tomar todos losu800 elementos como siu800 fuesen productos yu800 asu8c3ad tener enu800 cuenta lau800 definiciu8c3b3n enu800 aquellos queu800 tengan mu8c3a1s deu800 unu800 componente yu800 poder calcular elu800 precio deu800 acuerdo au800 losu800 paru8c3a1metros definidos agrega losu800 datos resultantes au800 lau800 tabla vidquoten3tmp previo borrado deu800 losu800 datos anteriores dentro deu800 lau800 tabla temporal para mantener lau800 integridad deu800 lau800 operaciu8c3b3n para proceder au800 lau800 ediciu8c3b3n. nou800 seu800 deben agregar aquellos registros yau800 existentes enu800 lau800 tabla vidquoten3 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla composicion tabla productos tabla precios tabla vidquoten3 tabla vidquoten3tmp cu8c3b3digo cu8c3b3digo cu8c3b3digo drop procedure altaitempresupuestotmp ; delimiter create definer sas_admin procedure altaitempresupuestotmp inu800 pvidquoteid intu800 5u800 inu800 pvidquotelpre intu800 1u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodid char 8u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 inu800 pcoeficientemu decimal 5u800 2u800 inu800 pquickselect intu800 1u800 begin -- -------------------------------------------------------------------------------- -- inserta registro deu800 auditoria -- -------------------------------------------------------------------------------- -- insert into debugstmt fecha hora texto -- values -- curdate -- curtime -- concat -- cast pvidquoteid asu800 char - -- cast pvidquotelpre asu800 char - -- cast pvidquoteitem asu800 char - -- pvidquoteprodid - -- cast pvidquoteprodcantidad asu800 char - -- cast pvidquoteancho asu800 char - -- cast pvidquotealto asu800 char -- -- ; -- -------------------------------------------------------------------------------- -- elimina residuos deu800 ediciones anteriores -- -------------------------------------------------------------------------------- -- call debugcheckpoint -- concat -- prev - -- pvidquoteid -- cast pvidquoteid asu800 char - -- pvidquoteitem -- cast pvidquoteitem asu800 char - -- delete count -- select cast count asu800 char -- from vidquoten3tmp -- where -- vidquoteid pvidquoteid andu800 -- vidquoteitem pvidquoteitem -- ; delete from vidquoten3tmp where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; -- call debugcheckpoint -- concat -- past - -- pvidquoteid -- cast pvidquoteid asu800 char - -- pvidquoteitem -- cast pvidquoteitem asu800 char - -- delete count -- select cast count asu800 char -- from vidquoten3tmp -- where -- vidquoteid pvidquoteid andu800 -- vidquoteitem pvidquoteitem -- ; -- -------------------------------------------------------------------------------- -- inserta registraciones anteriores delu800 mismo producto item -- -------------------------------------------------------------------------------- insert into vidquoten3tmp vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop vidquoteincluyedet vidquotequickselect select s1u800u82evidquoteid s1u800u82evidquoteitem s1u800u82evidquoteprodid s1u800u82evidquoteprodcantidad s1u800u82evidquoteelementoid s1u800u82evidquotecomposicid s1u800u82evidquoteelementopm s1u800u82evidquoteprecio s1u800u82evidquotepreciop s1u800u82evidquoteincluyedet 1u800 asu800 vidquotequickselect from vidquoten3 asu800 s1u800 where s1u800u82evidquoteid pvidquoteid andu800 s1u800u82evidquoteitem pvidquoteitem; call debugcheckpoint past inserta registros vq3u800 anteriores ; -- -------------------------------------------------------------------------------- -- inserta registraciones pausibles deu800 incorporar deu800 acuerdo alu800 tipo deu800 -- -------------------------------------------------------------------------------- insert into vidquoten3tmp vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop select pvidquoteid asu800 vidquoteid pvidquoteitem asu800 vidquoteitem r1u800u82eproductoid asu800 vidquoteprodid pvidquoteprodcantidad asu800 vidquoteprodcantidad r1u800u82eprodcmpid asu800 vidquoteelementoid r1u800u82ecomposicid asu800 vidquotecomposicid r1u800u82eelementopm asu800 vidquoteelementopm sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pcoeficientemu asu800 vidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pvidquoteprodcantidad pcoeficientemu asu800 vidquotepreciop from -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion iguales alu800 producto -- -------------------------------------------------------------------------------- select u1u800u82eproductoid u1u800u82eelementoid asu800 prodcmpid u1u800u82ecomposicid u1u800u82eelementoid u1u800u82eelementopm u2u800u82emagnitud u1u800u82evalorelemento u1u800u82eoffsetvanoancho u1u800u82eoffsetvanoalto u1u800u82ecoefvanoancho u1u800u82ecoefvanoalto case pvidquotelpre when 0u800 then u3u800u82eprecioprod00 when 1u800 then u3u800u82eprecioprod01 when 2u800 then u3u800u82eprecioprod02 when 3u800 then u3u800u82eprecioprod03 endu800 asu800 precioprod from fzggestionu82eproductos asu800 u2u800 fzggestionu82ecomposicion asu800 u1u800 fzggestionu82eprecios asu800 u3u800 where u2u800u82eproductoid u1u800u82eelementoid andu800 u3u800u82eproductoid u2u800u82eproductoid andu800 u1u800u82eproductoid pvidquoteprodid andu800 u1u800u82eelementoid pvidquoteprodid andu800 u1u800u82eelementopm pquickselect -- -------------------------------------------------------------------------------- union -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion diferentes alu800 producto -- -------------------------------------------------------------------------------- select t1u800u82eproductoid t1u800u82eelementoid asu800 prodcmpid t1u800u82ecomposicid t2u800u82eelementoid t1u800u82eelementopm -- t2u800u82eelementopm t3u800u82emagnitud t1u800u82evalorelemento t2u800u82evalorelemento asu800 valorelemento t1u800u82eoffsetvanoancho t2u800u82eoffsetvanoancho asu800 offsetvanoancho t1u800u82eoffsetvanoalto t2u800u82eoffsetvanoalto asu800 offsetvanoalto t1u800u82ecoefvanoancho t2u800u82ecoefvanoancho asu800 coefvanoancho t1u800u82ecoefvanoalto t2u800u82ecoefvanoalto asu800 coefvanoalto case pvidquotelpre when 0u800 then t4u800 . precioprod00 when 1u800 then t4u800 . precioprod01 when 2u800 then t4u800 . precioprod02 when 3u800 then t4u800 . precioprod03 endu800 asu800 precioprod from fzggestionu82ecomposicion asu800 t2u800 fzggestionu82ecomposicion asu800 t1u800 fzggestionu82eproductos asu800 t3u800 fzggestionu82eprecios asu800 t4u800 where t2u800u82eproductoid t1u800u82eelementoid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid andu800 t1u800u82eproductoid t1u800u82eelementoid andu800 t2u800u82eelementopm pquickselect andu800 t1u800u82eproductoid pvidquoteprodid andu800 t1u800u82eelementopm pquickselect order byu800 t1u800u82eproductoid ascu800 t1u800u82eelementoid ascu800 t1u800u82ecomposicid ascu800 t2u800u82eelementoid ascu800 -- -------------------------------------------------------------------------------- -- r1u800 esu800 elu800 sinu8c3b3nimo deu800 lau800 union deu800 lasu800 tablas -- -------------------------------------------------------------------------------- asu800 r1u800 where concat r1u800u82eproductoid r1u800u82eprodcmpid lpad cast r1u800u82ecomposicid asu800 char 3u800 \'000u800\' notu800 inu800 select concat vidquoteprodid vidquoteelementoid lpad cast vidquotecomposicid asu800 char 3u800 \'000u800\' from vidquoten3tmp asu800 q1u800 where q1u800u82evidquoteid pvidquoteid andu800 q1u800u82evidquoteitem pvidquoteitem group byu800 vidquoteelementoid vidquotecomposicid; -- -------------------------------------------------------------------------------- -- joint para completar info deu800 elementopm -- -------------------------------------------------------------------------------- update vidquoten3tmp asu800 t1u800 composicion asu800 t2u800 setu800 t1u800u82evidquoteelementopm t2u800u82eelementopm where t1u800u82evidquoteid pvidquoteid andu800 isnull t1u800u82evidquoteelementopm andu800 t1u800u82evidquoteprodid t2u800u82eproductoid andu800 t1u800u82evidquoteelementoid t2u800u82eelementoid andu800 t1u800u82evidquotecomposicid t2u800u82ecomposicid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120904 cu8c3b3digo anterior delimiter create definer sas_admin procedure altaitempresupuestotmp inu800 pvidquoteid intu800 5u800 inu800 pvidquotelpre intu800 1u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodid char 8u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 begin insert into debugstmt fecha hora texto values curdate curtime concat cast pvidquoteid asu800 char - cast pvidquotelpre asu800 char - cast pvidquoteitem asu800 char - pvidquoteprodid - cast pvidquoteprodcantidad asu800 char - cast pvidquoteancho asu800 char - cast pvidquotealto asu800 char ; delete from vidquoten3tmp where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; insert into vidquoten3tmp vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquoteprecio vidquotepreciop select pvidquoteid pvidquoteitem pvidquoteprodid pvidquoteprodcantidad t3u800 . prodcmpid sumu800 calculoprecio pvidquoteancho pvidquotealto t3u800 . precioprod t3u800 . magnitud t3u800 . offsetvanoalto t3u800 . offsetvanoancho t3u800 . coefvanoalto t3u800 . coefvanoancho t3u800 . valorelemento asu800 pvidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto t3u800 . precioprod t3u800 . magnitud t3u800 . offsetvanoalto t3u800 . offsetvanoancho t3u800 . coefvanoalto t3u800 . coefvanoancho t3u800 . valorelemento pvidquoteprodcantidad asu800 pvidquotepreciop from select t1u800 . productoid asu800 productoid t1u800 . productoid asu800 prodcmpid t1u800 . elementoid t1u800 . valorelemento t1u800 . descripcion t1u800 . magnitud t1u800 . offsetvanoancho t1u800 . offsetvanoalto t1u800 . coefvanoancho t1u800 . coefvanoalto case pvidquotelpre when 0u800 then t1u800 . precioprod00 when 1u800 then t1u800 . precioprod01 when 2u800 then t1u800 . precioprod02 when 3u800 then t1u800 . precioprod03 endu800 asu800 precioprod from visprodadic asu800 t1u800 where productoid pvidquoteprodid andu800 elementoid pvidquoteprodid andu800 elementopm 1u800 union select pvidquoteprodid asu800 productoid t2u800 . productoid asu800 prodcmpid t2u800 . elementoid t2u800 . valorelemento t2u800 . descripcion t2u800 . magnitud t2u800 . offsetvanoancho t2u800 . offsetvanoalto t2u800 . coefvanoancho t2u800 . coefvanoalto case pvidquotelpre when 0u800 then t2u800 . precioprod00 when 1u800 then t2u800 . precioprod01 when 2u800 then t2u800 . precioprod02 when 3u800 then t2u800 . precioprod03 endu800 asu800 precioprod from visprodadic asu800 t2u800 where productoid inu800 select elementoid from visprodadic where productoid pvidquoteprodid andu800 elementoid pvidquoteprodid andu800 elementopm 1u800 asu800 t3u800 group byu800 prodcmpid; endu800 20121009 error deu800 change management alu800 subir elu800 programa deu800 test conu800 losu800 paru8c3a1metros deu800 prueba. condiciu8c3b3n deu800 lau800 tabla vidquoten3tmp tipo select inu800 para incorporar solo losu800 registros queu800 yau800 nou800 existan enu800 lau800 tabla vidquoten3tmp . tambiu8c3a9n seu800 agrega lau800 salvaguarda deu800 grabaciu8c3b3n deu800 elementopm enu800 elu800 caso deu800 nou800 integral yu800 losu800 errores deu800 paru8c3a1metros deu800 prueba para parm pvidquotelpre -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure altaitempresupuestotmp inu800 pvidquoteid intu800 5u800 inu800 pvidquotelpre intu800 1u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodid char 8u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 inu800 pcoeficientemu decimal 5u800 2u800 inu800 pquickselect intu800 1u800 begin -- -------------------------------------------------------------------------------- -- inserta registro deu800 auditoria -- -------------------------------------------------------------------------------- insert into debugstmt fecha hora texto values curdate curtime concat cast pvidquoteid asu800 char - cast pvidquotelpre asu800 char - cast pvidquoteitem asu800 char - pvidquoteprodid - cast pvidquoteprodcantidad asu800 char - cast pvidquoteancho asu800 char - cast pvidquotealto asu800 char ; -- -------------------------------------------------------------------------------- -- elimina residuos deu800 ediciones anteriores -- -------------------------------------------------------------------------------- delete from vidquoten3tmp where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; -- -------------------------------------------------------------------------------- -- inserta registraciones anteriores delu800 mismo producto item -- -------------------------------------------------------------------------------- insert into vidquoten3tmp vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteprecio vidquotepreciop vidquoteincluyedet vidquotequickselect select s1u800u82evidquoteid s1u800u82evidquoteitem s1u800u82evidquoteprodid s1u800u82evidquoteprodcantidad s1u800u82evidquoteelementoid s1u800u82evidquotecomposicid s1u800u82evidquoteprecio s1u800u82evidquotepreciop s1u800u82evidquoteincluyedet 1u800 asu800 vidquotequickselect from vidquoten3 asu800 s1u800 where s1u800u82evidquoteid pvidquoteid andu800 s1u800u82evidquoteitem pvidquoteitem; -- -------------------------------------------------------------------------------- -- inserta registraciones pausibles deu800 incorporar deu800 acuerdo alu800 tipo deu800 -- -------------------------------------------------------------------------------- insert into vidquoten3tmp vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteprecio vidquotepreciop select pvidquoteid asu800 vidquoteid pvidquoteitem asu800 vidquoteitem r1u800u82eproductoid asu800 vidquoteprodid pvidquoteprodcantidad asu800 vidquoteprodcantidad r1u800u82eprodcmpid asu800 vidquoteelementoid r1u800u82ecomposicid asu800 vidquotecomposicid sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pcoeficientemu asu800 vidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pvidquoteprodcantidad pcoeficientemu asu800 vidquotepreciop from -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion iguales alu800 producto -- -------------------------------------------------------------------------------- select u1u800u82eproductoid u1u800u82eelementoid asu800 prodcmpid u1u800u82ecomposicid u1u800u82eelementoid u1u800u82eelementopm u2u800u82emagnitud u1u800u82evalorelemento u1u800u82eoffsetvanoancho u1u800u82eoffsetvanoalto u1u800u82ecoefvanoancho u1u800u82ecoefvanoalto case 2u800 when 0u800 then u3u800u82eprecioprod00 when 1u800 then u3u800u82eprecioprod01 when 2u800 then u3u800u82eprecioprod02 when 3u800 then u3u800u82eprecioprod03 endu800 asu800 precioprod from fzggestionu82eproductos asu800 u2u800 fzggestionu82ecomposicion asu800 u1u800 fzggestionu82eprecios asu800 u3u800 where u2u800u82eproductoid u1u800u82eelementoid andu800 u3u800u82eproductoid u2u800u82eproductoid andu800 u1u800u82eproductoid pvidquoteprodid andu800 u1u800u82eelementoid pvidquoteprodid andu800 u1u800u82eelementopm pquickselect -- -------------------------------------------------------------------------------- union -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion diferentes alu800 producto -- -------------------------------------------------------------------------------- select t1u800u82eproductoid t1u800u82eelementoid asu800 prodcmpid t1u800u82ecomposicid t2u800u82eelementoid t2u800u82eelementopm t3u800u82emagnitud t1u800u82evalorelemento t1u800u82eoffsetvanoancho t1u800u82eoffsetvanoalto t1u800u82ecoefvanoancho t1u800u82ecoefvanoalto case 2u800 when 0u800 then t4u800 . precioprod00 when 1u800 then t4u800 . precioprod01 when 2u800 then t4u800 . precioprod02 when 3u800 then t4u800 . precioprod03 endu800 asu800 precioprod from fzggestionu82ecomposicion asu800 t2u800 fzggestionu82ecomposicion asu800 t1u800 fzggestionu82eproductos asu800 t3u800 fzggestionu82eprecios asu800 t4u800 where t2u800u82eproductoid t1u800u82eelementoid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid andu800 t1u800u82eproductoid t1u800u82eelementoid andu800 t2u800u82eelementopm pquickselect andu800 t1u800u82eproductoid pvidquoteprodid andu800 t1u800u82eelementopm pquickselect order byu800 t1u800u82eproductoid ascu800 t1u800u82eelementoid ascu800 t1u800u82ecomposicid ascu800 t2u800u82eelementoid ascu800 -- -------------------------------------------------------------------------------- -- r1u800 esu800 elu800 sinu8c3b3nimo deu800 lau800 union deu800 lasu800 tablas -- -------------------------------------------------------------------------------- asu800 r1u800 where concat r1u800u82eproductoid r1u800u82eprodcmpid lpad cast r1u800u82ecomposicid asu800 char 3u800 \'000u800\' notu800 inu800 select concat vidquoteprodid vidquoteelementoid lpad cast vidquotecomposicid asu800 char 3u800 \'000u800\' from vidquoten3tmp asu800 q1u800 where q1u800u82evidquoteid pvidquoteid andu800 q1u800u82evidquoteitem pvidquoteitem group byu800 vidquoteelementoid vidquotecomposicid; endu800 20121207 seu800 detecta errores enu800 elu800 cu8c3a1lculo combinado poru800 lau800 falta deu800 propagaciu8c3b3n deu800 atributos deu800 componentes conu800 niveles adicionales deu800 composiciu8c3b3n dvhu800 etcu800 . anterior -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure altaitempresupuestotmp inu800 pvidquoteid intu800 5u800 inu800 pvidquotelpre intu800 1u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodid char 8u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 inu800 pcoeficientemu decimal 5u800 2u800 inu800 pquickselect intu800 1u800 begin -- -------------------------------------------------------------------------------- -- inserta registro deu800 auditoria -- -------------------------------------------------------------------------------- -- insert into debugstmt fecha hora texto -- values -- curdate -- curtime -- concat -- cast pvidquoteid asu800 char - -- cast pvidquotelpre asu800 char - -- cast pvidquoteitem asu800 char - -- pvidquoteprodid - -- cast pvidquoteprodcantidad asu800 char - -- cast pvidquoteancho asu800 char - -- cast pvidquotealto asu800 char -- -- ; -- -------------------------------------------------------------------------------- -- elimina residuos deu800 ediciones anteriores -- -------------------------------------------------------------------------------- -- call debugcheckpoint -- concat -- prev - -- pvidquoteid -- cast pvidquoteid asu800 char - -- pvidquoteitem -- cast pvidquoteitem asu800 char - -- delete count -- select cast count asu800 char -- from vidquoten3tmp -- where -- vidquoteid pvidquoteid andu800 -- vidquoteitem pvidquoteitem -- ; delete from vidquoten3tmp where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; -- call debugcheckpoint -- concat -- past - -- pvidquoteid -- cast pvidquoteid asu800 char - -- pvidquoteitem -- cast pvidquoteitem asu800 char - -- delete count -- select cast count asu800 char -- from vidquoten3tmp -- where -- vidquoteid pvidquoteid andu800 -- vidquoteitem pvidquoteitem -- ; -- -------------------------------------------------------------------------------- -- inserta registraciones anteriores delu800 mismo producto item -- -------------------------------------------------------------------------------- insert into vidquoten3tmp vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop vidquoteincluyedet vidquotequickselect select s1u800u82evidquoteid s1u800u82evidquoteitem s1u800u82evidquoteprodid s1u800u82evidquoteprodcantidad s1u800u82evidquoteelementoid s1u800u82evidquotecomposicid s1u800u82evidquoteelementopm s1u800u82evidquoteprecio s1u800u82evidquotepreciop s1u800u82evidquoteincluyedet 1u800 asu800 vidquotequickselect from vidquoten3 asu800 s1u800 where s1u800u82evidquoteid pvidquoteid andu800 s1u800u82evidquoteitem pvidquoteitem; call debugcheckpoint past inserta registros vq3u800 anteriores ; -- -------------------------------------------------------------------------------- -- inserta registraciones pausibles deu800 incorporar deu800 acuerdo alu800 tipo deu800 -- -------------------------------------------------------------------------------- insert into vidquoten3tmp vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop select pvidquoteid asu800 vidquoteid pvidquoteitem asu800 vidquoteitem r1u800u82eproductoid asu800 vidquoteprodid pvidquoteprodcantidad asu800 vidquoteprodcantidad r1u800u82eprodcmpid asu800 vidquoteelementoid r1u800u82ecomposicid asu800 vidquotecomposicid r1u800u82eelementopm asu800 vidquoteelementopm sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pcoeficientemu asu800 vidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto r1u800 . precioprod r1u800 . magnitud r1u800 . offsetvanoalto r1u800 . offsetvanoancho r1u800 . coefvanoalto r1u800 . coefvanoancho r1u800 . valorelemento pvidquoteprodcantidad pcoeficientemu asu800 vidquotepreciop from -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion iguales alu800 producto -- -------------------------------------------------------------------------------- select u1u800u82eproductoid u1u800u82eelementoid asu800 prodcmpid u1u800u82ecomposicid u1u800u82eelementoid u1u800u82eelementopm u2u800u82emagnitud u1u800u82evalorelemento u1u800u82eoffsetvanoancho u1u800u82eoffsetvanoalto u1u800u82ecoefvanoancho u1u800u82ecoefvanoalto case pvidquotelpre when 0u800 then u3u800u82eprecioprod00 when 1u800 then u3u800u82eprecioprod01 when 2u800 then u3u800u82eprecioprod02 when 3u800 then u3u800u82eprecioprod03 endu800 asu800 precioprod from fzggestionu82eproductos asu800 u2u800 fzggestionu82ecomposicion asu800 u1u800 fzggestionu82eprecios asu800 u3u800 where u2u800u82eproductoid u1u800u82eelementoid andu800 u3u800u82eproductoid u2u800u82eproductoid andu800 u1u800u82eproductoid pvidquoteprodid andu800 u1u800u82eelementoid pvidquoteprodid andu800 u1u800u82eelementopm pquickselect -- -------------------------------------------------------------------------------- union -- -------------------------------------------------------------------------------- -- selecciona elementos deu800 composicion diferentes alu800 producto -- -------------------------------------------------------------------------------- select t1u800u82eproductoid t1u800u82eelementoid asu800 prodcmpid t1u800u82ecomposicid t2u800u82eelementoid t1u800u82eelementopm -- t2u800u82eelementopm t3u800u82emagnitud t1u800u82evalorelemento t1u800u82eoffsetvanoancho t1u800u82eoffsetvanoalto t1u800u82ecoefvanoancho t1u800u82ecoefvanoalto case pvidquotelpre when 0u800 then t4u800 . precioprod00 when 1u800 then t4u800 . precioprod01 when 2u800 then t4u800 . precioprod02 when 3u800 then t4u800 . precioprod03 endu800 asu800 precioprod from fzggestionu82ecomposicion asu800 t2u800 fzggestionu82ecomposicion asu800 t1u800 fzggestionu82eproductos asu800 t3u800 fzggestionu82eprecios asu800 t4u800 where t2u800u82eproductoid t1u800u82eelementoid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid andu800 t1u800u82eproductoid t1u800u82eelementoid andu800 t2u800u82eelementopm pquickselect andu800 t1u800u82eproductoid pvidquoteprodid andu800 t1u800u82eelementopm pquickselect order byu800 t1u800u82eproductoid ascu800 t1u800u82eelementoid ascu800 t1u800u82ecomposicid ascu800 t2u800u82eelementoid ascu800 -- -------------------------------------------------------------------------------- -- r1u800 esu800 elu800 sinu8c3b3nimo deu800 lau800 union deu800 lasu800 tablas -- -------------------------------------------------------------------------------- asu800 r1u800 where concat r1u800u82eproductoid r1u800u82eprodcmpid lpad cast r1u800u82ecomposicid asu800 char 3u800 \'000u800\' notu800 inu800 select concat vidquoteprodid vidquoteelementoid lpad cast vidquotecomposicid asu800 char 3u800 \'000u800\' from vidquoten3tmp asu800 q1u800 where q1u800u82evidquoteid pvidquoteid andu800 q1u800u82evidquoteitem pvidquoteitem group byu800 vidquoteelementoid vidquotecomposicid; -- -------------------------------------------------------------------------------- -- joint para completar info deu800 elementopm -- -------------------------------------------------------------------------------- update vidquoten3tmp asu800 t1u800 composicion asu800 t2u800 setu800 t1u800u82evidquoteelementopm t2u800u82eelementopm where t1u800u82evidquoteid pvidquoteid andu800 isnull t1u800u82evidquoteelementopm andu800 t1u800u82evidquoteprodid t2u800u82eproductoid andu800 t1u800u82evidquoteelementoid t2u800u82eelementoid andu800 t1u800u82evidquotecomposicid t2u800u82ecomposicid; endu800 usou800 usou800 usou800 macro botoneditarcomponentes form presupuesto '),(69,'proc actualizapreciostabular',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n calcula losu800 valores deu800 lasu800 diferentes listas deu800 precios vigentes au800 partir deu800 unu800 valor indicado yu800 losu800 coeficientes deu800 actualizaciu8c3b3n asociados au800 cada producto. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla precios tabla productos codigo codigo codigo delimiter create definer sas_admin procedure actualizapreciostabular inu800 pfiltro varchar 300u800 inu800 paccion varchar 2u800 begin setu800 wcnu800 precios . productoid productos . productoid andu800 precios . lista select lista from listavigente ; setu800 qryu800 update precios productos setu800 ; case paccion when 1u800 then begin setu800 fldu800 ; setu800 fldu800 concat fldu800 precios . precioprod01 precios . precioprod00 productos . coefp00p01 ; setu800 fldu800 concat fldu800 precios . precioprod02 precios . precioprod00 productos . coefp00p02 ; setu800 fldu800 concat fldu800 precios . precioprod03 precios . precioprod00 productos . coefp00p03 ; endu800; when 2u800 then setu800 fldu800 precios . precioprod00 precios . precioprod01 productos . coefp00p01 ; when 3u800 then setu800 fldu800 precios . precioprod00 precios . precioprod02 productos . coefp00p02 ; when 4u800 then setu800 fldu800 precios . precioprod00 precios . precioprod03 productos . coefp00p03 ; endu800 case; ifu800 pfiltro then setu800 wcnu800 concat wcnu800 andu800 pfiltro ; endu800 ifu800; setu800 qryu800 concat qryu800 fldu800 where wcnu800 ; prepare stmt from qryu800; execute stmt; deallocate prepare stmt; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120907 seu800 corrige lau800 lu8c3adnea  setu800 fldu800   debido au800 queu800 estaba tipeado   flsu800  seu800 cambia lau800 variable   sqlu800  poru800   qryu800 . aparentemente lau800 nueva versiu8c3b3n deu800 lau800 dbu800 toma lau800 variable sqlu800 como unau800 constante delu800 sistema usou800 usou800 usou800 macro recalculaprecios form preciostabularxprocesos '),(70,'macro recalculaprecios',' descripciu8c3b3n detecta queu800 control presiona yu800 dependiendo deu800 ello ejecuta elu800 calculo au800 travu8c3a9s delu800 proc actualizapreciostabular composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo function recalculaprecios oevent asu800 boolean dimu800 sqlstatement asu800 object dimu800 strsqlsearch asu800 string dimu800 strqrysearch asu800 string dimu800 oconnection asu800 object dimu800 oform asu800 object dimu800 textomensaje asu800 string dimu800 obotonseleccionado asu800 string dimu800 otextovariable asu800 string dimu800 oaccion asu800 string dimu800 ofiltro asu800 string dimu800 vproductoidorg vproductoiddst asu800 string recalculaprecios false oform oeventu82esourceu82emodelu82eparent obotonseleccionado oeventu82esourceu82emodelu82ename select case obotonseleccionado case botonopcionatp001 otextovariable precios enu800 base alu800 costo oaccion 1u800 case botonopcionatp002 otextovariable costo enu800 base au800 precio 1u800 oaccion 2u800 case botonopcionatp003 otextovariable costo enu800 base au800 precio 2u800 oaccion 3u800 case botonopcionatp004 otextovariable costo enu800 base au800 precio 3u800 oaccion 4u800 endu800 select textomensaje u8c2bfestu8c3a1 seguro deu800 modificar losu800 valores deu800 & otextovariable & enu800 base alu800 filtro seleccionado select case msgbox textomensaje 1u800 atenciu8c3b3n case 1u800 oconnection oeventu82esourceu82emodelu82egetparent .activeconnection ofiltro oformu82efilter ifu800 oformu82efilter then ofiltro reemplazastr ofiltro productoid inu800 precios . productoid inu800 endu800 ifu800 \'msgbox ofiltro sqlstatement oconnectionu82epreparestatement call actualizapreciostabular sqlstatementu82esetstring 1u800 ofiltro sqlstatementu82esetstring 2u800 oaccion sqlstatementu82eexecute sqlstatementu82eclose recalculaprecios true case 2u800 recalculaprecios false endu800 select oformu82ereload endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120907 u8c3baltima actualizaciu8c3b3n usou800 usou800 usou800 form preciostabularxprocesos '),(71,'proc grabaitempresupuestotmp',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n traslada lasu800 modificaciones hechas sobre lau800 tabla vidquoten3tmp au800 lau800 definitiva tabla vidquoten3 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten3 tabla vidquoten3tmp cu8c3b3digo cu8c3b3digo cu8c3b3digo -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure grabaitempresupuestotmp inu800 pvidquoteid intu800 5u800 inu800 pvidquoteitem intu800 5u800 begin delete from vidquoten3 where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; -- ------------------------------------------------------------- insert into vidquoten3 vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop vidquoteincluyedet select vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquotecomposicid vidquoteelementopm vidquoteprecio vidquotepreciop ifu800 vidquoteprodid vidquoteelementoid 0u800 vidquoteincluyedet asu800 vidquoteincluyedet from vidquoten3tmp asu800 t1u800 where t1u800u82evidquoteid pvidquoteid andu800 t1u800u82evidquoteitem pvidquoteitem andu800 t1u800u82evidquotequickselect 1u800; -- ------------------------------------------------------------- delete from vidquoten3tmp where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121002 gestiu8c3b3n interna deu800 correcciu8c3b3n automu8c3a1tico ante losu800 ctrl vidquoteincluyedet . modifica elu800 valor proveniente delu800 formulario para elu800 atributo cuando elu800 cu8c3b3digo deu800 producto yu800 cu8c3b3digo deu800 elemento sonu800 iguales porque nou800 corresponde agregarlo yau800 queu800 yau800 estu8c3a1 incluido elu800 text dentro deu800 lau800 descripciu8c3b3n delu800 producto. anterior delimiter create definer sas_admin procedure grabaitempresupuestotmp inu800 pvidquoteid intu800 5u800 inu800 pvidquoteitem intu800 5u800 begin delete from vidquoten3 where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; insert into vidquoten3 vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquoteprecio vidquotepreciop vidquoteincluyedet select vidquoteid vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteelementoid vidquoteprecio vidquotepreciop vidquoteincluyedet from vidquoten3tmp where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; endu800 usou800 usou800 usou800 form presupuesto macro botoneditarcomponentes '),(72,'proc resetedicionitemtmp',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n elimina lasu800 registraciones temporales alu800 tiempo deu800 pulsar elu800 reset deu800 lau800 operaciu8c3b3n deu800 ediciu8c3b3n deu800 componentes enu800 presupuesto. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten3tmp cu8c3b3digo cu8c3b3digo cu8c3b3digo delimiter create definer sas_admin procedure resetedicionitemtmp inu800 pvidquoteid intu800 5u800 inu800 pvidquoteitem intu800 5u800 begin declare vvarnum intu800 5u800 ; setu800 vvarnum select count from vidquoten3 where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem ; call debugcheckpoint concat proc resetedicionitemtmp cantidad registros delete cast vvarnum asu800 char ; delete from vidquoten3tmp where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem; setu800 vvarnum select count from vidquoten3 where vidquoteid pvidquoteid andu800 vidquoteitem pvidquoteitem ; call debugcheckpoint concat proc resetedicionitemtmp cantidad registros delete cast vvarnum asu800 char ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120908 creaciu8c3b3n usou800 usou800 usou800 form presupuesto '),(73,'vista acomerciales',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 tabla deu800 contactos solo conu800 elu800 tagu800 deu800 acomerciales. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla contactos estructura estructura estructura sqlu800 create view acomerciales asu800 select contactos . contactoid asu800 acomercialid contactos . contactoidabrv asu800 abreviatura contactos . razonsocial asu800 razonsocial contactos . direccion asu800 direccion contactos . localidad asu800 localidad contactos . provincia asu800 provincia contactos . pais asu800 pais contactos . cpostal asu800 cpostal contactos . cuit asu800 cuit contactos . area asu800 area contactos . telefono1 asu800 telefono1 contactos . telefono2 asu800 telefono2 contactos . telefono3 asu800 telefono3 contactos . telefonom asu800 telefonom contactos . telefonof asu800 telefonof contactos . correo1 asu800 correo1 contactos . correo2 asu800 correo2 contactos . ncontacto asu800 ncontacto contactos . acontacto asu800 acontacto contactos . coeficienteac asu800 coeficienteac contactos . notas asu800 notas contactos . imgcontacto asu800 logoac from contactos where contactos . acomercialtag 1u800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120125 alta vista 20120911 cambio deu800 condiciu8c3b3n para reflejar elu800 cambio deu800 estructura deu800 lau800 tabla contactos 20120917 cambia denominaciu8c3b3n idu800 yu800 agrega elu800 atributo deu800 imgcontacto como logoac usou800 usou800 usou800 form presupuesto '),(74,'macro presupuestoexpirado',' descripciu8c3b3n despliega cartel indicador deu800 presupuesto expirado enu800 form presupuesto . seu800 asocia au800 macro controlformpresupuesto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla contactos form presupuesto cu8c3b3digo cu8c3b3digo cu8c3b3digo bitu8c3a1cora 20120911 cambio deu800 macro poru800 diseu8c3b1o deu800 form presupuesto subu800 presupuestoexpirado oevent asu800 object dimu800 oform asu800 object dimu800 ocontactoid asu800 string dimu800 oexpirado asu800 string dimu800 ovigencia asu800 integer \'dimu800 ofechapresu asu800 string oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera onombreimpcontrolador orgu800u82eopenofficeu82ecompu82esvxu800u82eformcontroller onombreimpformularios comu800u82esunu800u82estaru82ecompu82eformsu82eodatabaseform ifu800 notu800 oformu82eisnew then oexpirado ocondicion \'ocontactoid oformu82egetbyname txtvidquotecliente .currentvalue \'ofechapresu cdatefromiso oformu82egetbyname fmtvidquotefecha .currentvalue ocontactoid oformu82ecolumnsu82egetbyname vidquotecliente .getstring ofecha oformu82ecolumnsu82egetbyname vidquotefecha .getdate ofechapresu dateserial ofechau82eyear ofechau82emonth ofechau82edayu800 ocondicion ocondicion & contactoid &chru800 39u800 & ocontactoid &chru800 39u800 ovigencia valu800 querysimple vigenciadocs contactos ocondicion integer odiferencia datediff du800 ofechapresu date ifu800 odiferencia ovigencia then oformu82egetbyname expirado .setstring expirado else oformu82egetbyname expirado .setstring vigente endu800 ifu800 endu800 ifu800 endu800 subu800 usou800 usou800 usou800 form presupuesto macro controlformpresupuesto '),(75,'macro eventowhenloadingfromcabecera',' descripciu8c3b3n ejecuta controles deu800 licencia listboxes deu800 productos 20120912 asigna defaults composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n macro chequeovalorlicenciaok cu8c3b3digo cu8c3b3digo cu8c3b3digo \' subu800 eventowhenloadingformcabecera oevent asu800 object dimu800 oform asu800 object \'eventowhenloadingfromcabecera - inicio chequeovalorlicenciaok oevent oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera \'inicializaciu8c3b3n deu800 tareas yu800 objetos hoyu800 oform oformu82egetbyname fmtvidquotefecha \'eventowhenloadingfromcabecera - finu800 endu800 subu800 \' bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120911 cambio deu800 diseu8c3b1o form presupuestos \' subu800 eventowhenloadingformcabecera oevent asu800 object dimu800 odocument asu800 object dimu800 oform asu800 object dimu800 ocampo asu800 object dimu800 osubform asu800 object dimu800 osubsubform asu800 object dimu800 osubsubformgrid asu800 object dimu800 olistbox asu800 object \'chequealicenciaok \'msgbox eventowhenloadingfromcabecera inicio \'msgbox call chequeovalorlicenciaok chequeovalorlicenciaok oevent odocument thiscomponent oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera osubform oformu82egetbyname cabeceraampliada .getbyname detallepresupuesto osubsubform osubformu82egetbyname detalleproducto osubsubformgrid osubsubformu82egetbyname detalleproductogrid olistbox osubsubformgridu82egetbyname txtelementoid olistboxu82elistsource array olistboxu82erefresh oestadolistboxdetalleproducto 0u800 \'inicializaciu8c3b3n deu800 tareas yu800 objetos hoyu800 oform oformu82egetbyname fmtvidquotefecha \'msgbox call newresetlistbox from eventowhenloadingfromcabecera newresetlistboxdetalleproducto oevent \'msgbox eventowhenloadingfromcabecera finu800 endu800 subu800 \' 20120912 optimizaciu8c3b3n poru800 nuevo diseu8c3b1o deu800 form presupuesto usou800 usou800 usou800 form presupuesto form cabecera '),(76,'macro chequeovalorlicenciaok',' descripciu8c3b3n chequea queu800 haya pasado correctamente elu800 acceso au800 lau800 base deu800 datos yu800 queu800 nou800 estu8c3a9 enu800 modalidad deu800 desarrollo varg ocheckestadolicencia composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo function chequeovalorlicenciaok oevent asu800 object dimu800 omensaje asu800 string \'msgbox licenciamiento & cstr oestadolicenciamientook \'msgbox cambio au800 0u800 \'oestadolicenciamientook 0u800 ifu800 oestadolicenciamientook 1u800 then \'msgbox licencia oku800 else omensaje omensaje omensaje chequeo deu800 licencia erronea. chru800 13u800 omensaje omensaje solicite seau800 instalado nuevamente poru800 cloudoffice ru800 chru800 13u800 omensaje omensaje mensajes au800 info cloudofficeu82ecomu800u82earu800 chru800 13u800 msgbox omensaje 16u800 error fatal ifu800 ocheckestadolicencia then oeventu82esourceu82eactiveconnectionu82eclose stardesktopu82eterminate else oestadolicenciamientook 1u800 endu800 ifu800 endif \'msgbox chequeovalorlicenciaok finu800 endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 macro main macro eventowhenloadingfromcabecera form presupuesto '),(77,'macro controlformpresupuesto',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n control deu800 registro deu800 tabla vidquoten1 yu800 suu800 cascada. despliegue deu800 datos deu800 acuerdo au800 condiciones propias deu800 losu800 atributos delu800 registro. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n form presupuesto cu8c3b3digo cu8c3b3digo cu8c3b3digo subu800 controlformpresupuesto oevent asu800 object dimu800 oestado asu800 boolean oform oeventu82esource ifu800 notu800 oformu82eisnew then oestado oformu82egetbyname txtvidquoteestado .currentvalue \'bloquea formcabecera oformu82egetbyname txtvidquoteclientedsc .setpropertyvalue enabled notu800 oestado oformu82egetbyname txtvidquotecliente .setpropertyvalue enabled notu800 oestado oformu82egetbyname datvidquotefecha .setpropertyvalue enabled notu800 oestado oformu82egetbyname txtvidquoteacom .setpropertyvalue enabled notu800 oestado oformu82egetbyname fmtvidquoteobra .setpropertyvalue enabled notu800 oestado oformu82egetbyname txtvidquoteestado .setpropertyvalue enabled notu800 oestado oformu82egetbyname txtvidquoteacomdsc .setpropertyvalue enabled notu800 oestado oformu82egetbyname btncontactoexpress .setpropertyvalue enabled notu800 oestado oformu82egetbyname btnactualizar .setpropertyvalue enabled notu800 oestado \'bloquea formproductos osubform oformu82egetbyname productos osubformu82egetbyname fmtvidquoteprodcantidad .setpropertyvalue enabled notu800 oestado osubformu82egetbyname txtvidquotequick .setpropertyvalue enabled notu800 oestado osubformu82egetbyname txtvidquoteprodid .setpropertyvalue enabled notu800 oestado osubformu82egetbyname txtvidquoteproddsc .setpropertyvalue enabled notu800 oestado osubformu82egetbyname fmtvidquoteancho .setpropertyvalue enabled notu800 oestado osubformu82egetbyname fmtvidquotealto .setpropertyvalue enabled notu800 oestado \'bloquea formcomponentesdisplay ossubform osubformu82egetbyname componentesdisplay ossubformu82egetbyname btneditar .setpropertyvalue enabled notu800 oestado ossubformu82egetbyname btnaplicar .setpropertyvalue enabled notu800 oestado ossubformu82egetbyname btnreset .setpropertyvalue enabled notu800 oestado \'despliega estado expirado ocontactoid oformu82egetbyname txtvidquotecliente .currentvalue ofecha cdatefromiso oformu82egetbyname datvidquotefecha .currentvalue ocondicion ocondicion & contactoid &chru800 39u800 & ocontactoid &chru800 39u800 ovigencia valu800 querysimple vigenciadocs contactos ocondicion integer odiferencia datediff du800 ofecha date ostatus iifu800 odiferencia ovigencia expirado vigente oformu82egetbyname expirado .setstring iifu800 odiferencia ovigencia expirado vigente endu800 ifu800 \'msgbox test endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120910 alta deu800 macro usou800 usou800 usou800 form presupuesto '),(78,'macro confirmadeletepresupuesto',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n funciu8c3b3n para aplicar ante acciu8c3b3n deu800 eliminar registro enu800 tabla vidquoten1 yu800 tabla vidquoten2 dentro deu800 form presupuesto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n form presupuesto cu8c3b3digo cu8c3b3digo cu8c3b3digo function confirmadeletepresupuesto oevent asu800 object dimu800 oestado asu800 boolean select case oeventu82esourceu82emodelu82ename case cabecera oform oeventu82esourceu82emodel oestado oformu82egetbyname txtvidquoteestado .currentvalue ifu800 oestado then omensaje omensaje omensaje & nou800 esu800 posible eliminar unu800 presupuesto aprobado msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation atenciu8c3b3n confirmadeletepresupuesto false else omensaje omensaje omensaje & seu800 procederu8c3a1 au800 eliminar elu800 presupuesto seleccionado. u8c2bfdesea continuar ifu800 msgbox splitmsg omensaje 40u800 mb_yesno mb_iconexclamation atenciu8c3b3n idyes then \'msgbox eliminu8c3b3 confirmadeletepresupuesto true else confirmadeletepresupuesto false endu800 ifu800 endu800 ifu800 case productos oform oeventu82esourceu82emodelu82eparent osubform oeventu82esourceu82emodel oestado oformu82egetbyname txtvidquoteestado .currentvalue ifu800 oestado then omensaje omensaje omensaje & nou800 esu800 posible eliminar productos deu800 unu800 presupuesto aprobado msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation atenciu8c3b3n confirmadeletepresupuesto false else omensaje omensaje omensaje & seu800 procederu8c3a1 au800 eliminar elu800 producto seleccionado. u8c2bfdesea continuar ifu800 msgbox splitmsg omensaje 40u800 mb_yesno mb_iconexclamation atenciu8c3b3n idyes then \'msgbox eliminu8c3b3 confirmadeletepresupuesto true else confirmadeletepresupuesto false endu800 ifu800 endu800 ifu800 endu800 select endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120909 alta deu800 macro usou800 usou800 usou800 form presupuesto evnt confirmdelete '),(79,'macro eventobrcdetallepresupuesto',' descripciu8c3b3n ejecuta lasu800 acciones adicionales au800 cada operaciu8c3b3n sobre losu800 registros deu800 tabla vidquoten2 mu8c3a1s allu8c3a1 deu800 lau800 acciu8c3b3n enu800 siu800 sobre esos registros dentro delu800 form presupuesto 1u800 insertar 2u800 modificar 3u800 eliminar biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 eventobrcdetallepresupuesto oevent asu800 object dimu800 odocument asu800 object dimu800 oform asu800 object dimu800 osubform asu800 object dimu800 osubsubform asu800 object dimu800 osubsubformgrid asu800 object dimu800 sqlstatement asu800 variant dimu800 onombreimpcontrolador asu800 string dimu800 onombreimpformularios asu800 string dimu800 ovidquoteprodid asu800 string dimu800 avidquoteprodid asu800 string dimu800 omensaje asu800 string dimu800 verifica dimu800 strsqlsearch asu800 string dimu800 ocontadorregistros asu800 double \'eventobrcdetallepresupuesto inicio \'mriu800 oevent omensaje omensaje omensaje & rowcount & cstr oeventu82esourceu82erowcount chru800 13u800 omensaje omensaje & rowu800 & cstr oeventu82esourceu82erowu800 chru800 13u800 omensaje omensaje & oeventu82esourceu82eimplementationname chru800 13u800 \'msgbox omensaje \'situado enu800 subform productos ifu800 oestadoregistrodetallepresupuesto 0u800 then oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera osubformagente oformu82egetbyname dataagente osubformgrid oformu82egetbyname productos .getbyname productosgrid onombreimpcontrolador orgu800u82eopenofficeu82ecompu82esvxu800u82eformcontroller onombreimpformularios comu800u82esunu800u82estaru82ecompu82eformsu82eodatabaseform ifu800 oeventu82esourceu82eimplementationname onombreimpformularios then ifu800 oeventu82esourceu82erowcount 0u800 then omensaje first time call inu800 loading omensaje omensaje & oeventu82esourceu82eimplementationname \'msgbox omensaje else \'oeventu82esourceu82erowcount 0u800 just plain cycle ofu800 rowset view ifu800 oeventu82esourceu82erowcount 0u800 then \'read ofu800 current rowset from detallepresupuesto ifu800 oeventu82esourceu82erowu800 0u800 then \'first read ofu800 data \'mriu800 oformu82egetbyname productos .getbyname productosgrid \'itu800 suppose form data wasu800 commited into record ovidquoteid oformu82egetbyname productos .getbyname productosgrid .getbyname fmtvidquoteid .currentvalue ovidquotelpre oformu82egetbyname datacliente .getbyname fmtlistaprecio .currentvalue ovidquotecoefcl oformu82egetbyname datacliente .getbyname fmtcoeficienteac .currentvalue ovidquotecoefac oformu82egetbyname dataagente .getbyname fmtcoeficienteac .currentvalue ovidquoteitem oformu82egetbyname productos .getbyname productosgrid .getbyname fmtvidquoteitem .currentvalue ovidquoteprodid oformu82egetbyname productos .getbyname productosgrid .getbyname txtvidquoteprodid .currentvalue ovidquoteprodcantidad oformu82egetbyname productos .getbyname productosgrid .getbyname fmtvidquoteprodcantidad .currentvalue ovidquoteancho oformu82egetbyname productos .getbyname productosgrid .getbyname fmtvidquoteancho .currentvalue ovidquotealto oformu82egetbyname productos .getbyname productosgrid .getbyname fmtvidquotealto .currentvalue omensaje omensaje omensaje & rowcount & cstr oeventu82esourceu82erowcount chru800 13u800 omensaje omensaje & rowu800 & cstr oeventu82esourceu82erowu800 chru800 13u800 omensaje omensaje & newu800 & cstr oeventu82esourceu82eisnew chru800 13u800 omensaje omensaje & updu800 & cstr oeventu82esourceu82eismodified chru800 13u800 omensaje omensaje & oeventu82esourceu82eimplementationname chru800 13u800 \'msgbox omensaje select case oestadoregistrodetallepresupuesto case 1u800 \'itu800 isu800 anu800 elements massive insert \'vidquoten3 massive insert \'msgbox bp001 oconnection oeventu82esourceu82eactiveconnection sqlstatement oconnectionu82epreparestatement call altaitempresupuesto sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82esetint 2u800 ovidquotelpre sqlstatementu82esetint 3u800 ovidquoteitem sqlstatementu82esetstring 4u800 ovidquoteprodid sqlstatementu82esetstring 5u800 ovidquoteprodcantidad sqlstatementu82esetint 6u800 ovidquoteancho sqlstatementu82esetint 7u800 ovidquotealto sqlstatementu82esetdouble 8u800 ovidquotecoefcl ovidquotecoefac sqlstatementu82eexecute sqlstatementu82eclose oformu82egetbyname productos .getbyname componentesdisplay .reload osubtotproducto oformu82egetbyname productos .getbyname componentesdisplay .getbyname subtotalproducto .getbyname fmtsubtotalproducto .currentvalue oformu82egetbyname productos .getbyname productosgrid .getbyname fmtvidquoteprecio .boundfieldu82eupdatedouble osubtotproducto oformu82egetbyname productos .updaterow case 2u800 \'itu800 isu800 anu800 product quote data update. complete byu800 trigger \'msgbox bp002 oformu82egetbyname productos .getbyname componentesdisplay .reload \' \'msgbox finu800 ifu800 nu8c2ba4 case 3u800 \'complete byu800 trigger endu800 select endu800 ifu800 oestadoregistrodetallepresupuesto 0u800 \'msgbox finu800 case endu800 ifu800 \'msgbox finu800 ifu800 nu8c2ba3 endu800 ifu800 \'msgbox finu800 ifu800 nu8c2ba2 endu800 ifu800 \'msgbox eventobrcdetallepresupuesto finu800 endu800 ifu800 endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120914 cambio poru800 rediseu8c3b1o form presupuesto subu800 eventobrcdetallepresupuesto oevent asu800 object dimu800 odocument asu800 object dimu800 oform asu800 object dimu800 osubform asu800 object dimu800 osubsubform asu800 object dimu800 osubsubformgrid asu800 object dimu800 sqlstatement asu800 variant dimu800 onombreimpcontrolador asu800 string dimu800 onombreimpformularios asu800 string dimu800 ovidquoteprodid asu800 string dimu800 avidquoteprodid asu800 string dimu800 omensaje asu800 string dimu800 verifica dimu800 strsqlsearch asu800 string dimu800 ocontadorregistros asu800 double \'msgbox eventobrcdetallepresupuesto inicio odocument thiscomponent oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera osubform oformu82egetbyname cabeceraampliada .getbyname detallepresupuesto osubsubform osubformu82egetbyname detalleproducto osubsubformgrid osubsubformu82egetbyname detalleproductogrid onombreimpcontrolador orgu800u82eopenofficeu82ecompu82esvxu800u82eformcontroller onombreimpformularios comu800u82esunu800u82estaru82ecompu82eformsu82eodatabaseform ifu800 oeventu82esourceu82eimplementationname onombreimpformularios then \'msgbox oeventu82esourceu82eimplementationname onombreimpformularios \'ifu800 oeventu82esourceu82erowu800 0u800 then ifu800 oeventu82esourceu82erowcount 0u800 then omensaje first time call inu800 loading omensaje omensaje & oeventu82esourceu82eimplementationname \'msgbox omensaje else \'msgbox oeventu82esourceu82erowcount 0u800 ifu800 oeventu82esourceu82erowcount 0u800 then \'read ofu800 current rowset from detallepresupuesto ifu800 oeventu82esourceu82erowu800 0u800 then \'first read ofu800 data \'mriu800 osubform ovidquoteid osubformu82ecolumnsu82egetbyname vidquoteid .getint ovidquotelpre osubformu82ecolumnsu82egetbyname vidquotelpre .getint ovidquoteitem osubformu82ecolumnsu82egetbyname vidquoteitem .getint ovidquoteprodid osubformu82ecolumnsu82egetbyname vidquoteprodid .getstring ovidquoteprodcantidad osubformu82ecolumnsu82egetbyname vidquoteprodcantidad .getint ovidquoteancho osubformu82ecolumnsu82egetbyname vidquoteancho .getint ovidquotealto osubformu82ecolumnsu82egetbyname vidquotealto .getint select case oestadoregistrodetallepresupuesto case 1u800 \'itu800 isu800 anu800 elements massive insert \'vidquoten3 massive insert \'msgbox bp001 oconnection oeventu82esourceu82eactiveconnection sqlstatement oconnectionu82epreparestatement call altaitempresupuesto sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82esetint 2u800 ovidquotelpre sqlstatementu82esetint 3u800 ovidquoteitem sqlstatementu82esetstring 4u800 ovidquoteprodid sqlstatementu82esetstring 5u800 ovidquoteprodcantidad sqlstatementu82esetint 6u800 ovidquoteancho sqlstatementu82esetint 7u800 ovidquotealto sqlstatementu82eexecute sqlstatementu82eclose \'vidquoten4 massive insert omensaje omensaje omensaje & bp002 omensaje omensaje & presupuesto & cstr ovidquoteid & chru800 13u800 omensaje omensaje & item & cstr ovidquoteitem & chru800 13u800 omensaje omensaje & producto & ovidquoteprodid & chru800 13u800 omensaje omensaje & elemento & 12345678 & chru800 13u800 \'msgbox omensaje sqlstatement oconnectionu82epreparestatement call altaparamitempresupuesto sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82esetint 2u800 ovidquoteitem sqlstatementu82esetstring 3u800 ovidquoteprodid sqlstatementu82esetstring 4u800 12345678 \'setu800 pcondicion foru800 procedure inheritance depending onu800 previous remu800 sqlstatementu82esetint 5u800 2u800 \' sqlstatementu82eexecute \'msgbox bp003 sqlstatementu82eclose case 2u800 \'itu800 isu800 anu800 product quote data update strsqlsearch select count from vidquoten3 where strsqlsearch strsqlsearch & vidquoteid & cstr ovidquoteid strsqlsearch strsqlsearch & andu800 strsqlsearch strsqlsearch & vidquoteitem & cstr ovidquoteitem oconnection oeventu82esourceu82eactiveconnection sqlstatement oconnectionu82ecreatestatement verifica sqlstatementu82eexecutequery strsqlsearch verificau82enext \'leeu800 lau800 primera lu8c3adnea delu800 query ocontadorregistros verificau82egetdouble 1u800 \'valor anterior sqlstatementu82eclose ifu800 ocontadorregistros 0u800 then strsqlsearch select vidquoteprodid from vidquoten3 where strsqlsearch strsqlsearch & vidquoteid & cstr ovidquoteid strsqlsearch strsqlsearch & andu800 strsqlsearch strsqlsearch & vidquoteitem & cstr ovidquoteitem strsqlsearch strsqlsearch & group byu800 vidquoteid vidquoteitem oconnection oeventu82esourceu82eactiveconnection sqlstatement oconnectionu82ecreatestatement verifica sqlstatementu82eexecutequery strsqlsearch verificau82enext \'leeu800 lau800 primera lu8c3adnea delu800 query avidquoteprodid verificau82egetstring 1u800 \'valor anterior sqlstatementu82eclose ifu800 avidquoteprodid ovidquoteprodid then \'check ifu800 theu800 same product code \'delete previous records dueu800 tou800 change product code strsqlsearch delete from vidquoten3 where strsqlsearch strsqlsearch & vidquoteid & cstr ovidquoteid strsqlsearch strsqlsearch & andu800 strsqlsearch strsqlsearch & vidquoteitem & cstr ovidquoteitem oconnection oeventu82esourceu82eactiveconnection sqlstatement oconnectionu82ecreatestatement sqlstatementu82eexecuteupdate strsqlsearch sqlstatementu82eclose \'insert newu800 records -elements- with newu800 quote product code oconnection oeventu82esourceu82eactiveconnection sqlstatement oconnectionu82epreparestatement call altaitempresupuesto sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82esetint 2u800 ovidquotelpre sqlstatementu82esetint 3u800 ovidquoteitem sqlstatementu82esetstring 4u800 ovidquoteprodid sqlstatementu82esetstring 5u800 ovidquoteprodcantidad sqlstatementu82esetint 6u800 ovidquoteancho sqlstatementu82esetint 7u800 ovidquotealto sqlstatementu82eexecute sqlstatementu82eclose \'vidquoten4 massive insert with newu800 quote product code sqlstatement oconnectionu82epreparestatement call altaparamitempresupuesto sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82esetint 2u800 ovidquoteitem sqlstatementu82esetstring 3u800 ovidquoteprodid sqlstatementu82esetstring 4u800 12345678 sqlstatementu82esetint 5u800 2u800 sqlstatementu82eexecute sqlstatementu82eclose else \'itu800 isu800 theu800 same product code. update vidquoten3 columns except product code \'strsqlsearch \'strsqlsearch strsqlsearch & update vidquoten3 asu800 t3u800 setu800 \'strsqlsearch strsqlsearch & t3u800u82evidquoteprodcantidad & cstr ovidquoteprodcantidad & \'strsqlsearch strsqlsearch & t3u800u82evidquoteancho & cstr ovidquoteancho & \'strsqlsearch strsqlsearch & t3u800u82evidquotealto & cstr ovidquotealto & \'strsqlsearch strsqlsearch & t3u800u82evidquoteprecio calculapreciobase t3u800u82evidquoteprodid t3u800u82evidquoteelementoid &cstr ovidquoteancho & &cstr ovidquotealto & t3u800u82evidquotelpre \'strsqlsearch strsqlsearch & t3u800u82evidquotepreciop calculapreciobase t3u800u82evidquoteprodid t3u800u82evidquoteelementoid &cstr ovidquoteancho & &cstr ovidquotealto & t3u800u82evidquotelpre &cstr ovidquoteprodcantidad \'strsqlsearch strsqlsearch & where \'strsqlsearch strsqlsearch & vidquoteid & cstr ovidquoteid \'strsqlsearch strsqlsearch & andu800 \'strsqlsearch strsqlsearch & vidquoteitem & cstr ovidquoteitem oconnection oeventu82esourceu82eactiveconnection sqlstatement oconnectionu82ecreatestatement sqlstatement oconnectionu82epreparestatement call actualizapreciosproductoproposal sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82esetint 2u800 ovidquotelpre sqlstatementu82esetint 3u800 ovidquoteitem sqlstatementu82esetstring 4u800 ovidquoteprodid sqlstatementu82esetint 5u800 ovidquoteprodcantidad sqlstatementu82esetint 6u800 ovidquoteancho sqlstatementu82esetint 7u800 ovidquotealto sqlstatementu82eexecute \'sqlstatementu82eexecuteupdate strsqlsearch sqlstatementu82eclose endu800 ifu800 msgbox recuerde revisar actualizar valores adicionales endu800 ifu800 \'msgbox finu800 ifu800 nu8c2ba4 case 3u800 \'msgbox elimina . design andu800 complete makingup byu800 triggertiger endu800 select endu800 ifu800 oestadoregistrodetallepresupuesto 0u800 \'msgbox finu800 case endu800 ifu800 \'msgbox finu800 ifu800 nu8c2ba3 endu800 ifu800 \'msgbox finu800 ifu800 nu8c2ba2 endu800 ifu800 \'msgbox eventobrcdetallepresupuesto finu800 endu800 subu800 usou800 usou800 usou800 form presupuesto '),(80,'estructuras sqlu800',' #lista tabla vidquoten3 conu800 todos losu800 elementos para poder calcular elu800 precio sinu800 lau800 indicaciu8c3b3n delu800 tipo deu800 lista # sqlcode0001 #actualiza losu800 precios deu800 elementos enu800 tabla vidquoten3 para unu800 presupuesto eu800 item determinado para producto elemento # sqlcode0002 #actualiza losu800 precios deu800 elementos enu800 tabla vidquoten3 para unu800 presupuesto eu800 item determinado para producto elemento # sqlcode0003 #actualiza losu800 precios deu800 elementos enu800 tabla vidquoten3 para unu800 presupuesto eu800 item determinado. # sqlcode0004 #genera unau800 estructura queu800 representa elu800 layout deu800 impresiu8c3b3n deu800 presupuestos individuales utilizando tabla vidquoten1 tabla vidquoten2 tabla vidquoten3 enu800 forma conjunta conu800 tabla productos . # sqlcode0005 '),(81,'sqlcode0001',' select t1u800u82evidquoteid t1u800u82evidquoteitem t1u800u82evidquoteprodid t1u800u82evidquoteelementoid t1u800u82evidquotecomposicid t1u800u82evidquoteprecio t1u800u82evidquotepreciop t2u800u82eoffsetvanoancho t2u800u82eoffsetvanoalto t2u800u82ecoefvanoancho t2u800u82ecoefvanoalto t3u800u82eprecioprod01 t3u800u82eprecioprod02 t3u800u82eprecioprod03 t4u800u82emagnitud from composicion asu800 t2u800 vidquoten3 asu800 t1u800 precios asu800 t3u800 productos asu800 t4u800 where t2u800u82eproductoid t1u800u82evidquoteprodid andu800 t2u800u82eelementoid t1u800u82evidquoteelementoid andu800 t2u800u82ecomposicid t1u800u82evidquotecomposicid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid order byu800 t1u800u82evidquoteid ascu800 t1u800u82evidquoteitem ascu800 '),(82,'sqlcode0002',' setu800 presupuesto 50u800; setu800 presupuestoitem 3u800; setu800 lista 2u800; setu800 ancho 1000; setu800 alto 1000; setu800 cantidad 2u800; setu800 coeficiente 1u800; update composicion asu800 t2u800 vidquoten3 asu800 t1u800 precios asu800 t3u800 productos asu800 t4u800 setu800 t1u800u82evidquoteprecio calculoprecio ancho alto case lista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento coeficiente t1u800u82evidquotepreciop calculoprecio ancho alto case lista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento coeficiente cantidad where t1u800u82evidquoteid presupuesto andu800 t1u800u82evidquoteitem presupuestoitem andu800 t1u800u82evidquoteprodid t1u800u82evidquoteelementoid andu800 t2u800u82eproductoid t1u800u82evidquoteprodid andu800 t2u800u82eelementoid t1u800u82evidquoteelementoid andu800 t2u800u82ecomposicid t1u800u82evidquotecomposicid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid '),(84,'sqlcode0004',' begin -- ---------------------------------------------------- -- update from tables with productoid elementoid -- ---------------------------------------------------- update composicion asu800 t2u800 vidquoten3 asu800 t1u800 precios asu800 t3u800 productos asu800 t4u800 setu800 t1u800u82evidquoteprecio calculoprecio ancho alto case lista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento coeficiente t1u800u82evidquotepreciop calculoprecio ancho alto case lista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento coeficiente cantidad where t1u800u82evidquoteid presupuesto andu800 t1u800u82evidquoteitem presupuestoitem andu800 t1u800u82evidquoteprodid t1u800u82evidquoteelementoid andu800 t2u800u82eproductoid t1u800u82evidquoteprodid andu800 t2u800u82eelementoid t1u800u82evidquoteelementoid andu800 t2u800u82ecomposicid t1u800u82evidquotecomposicid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t4u800u82eproductoid t3u800u82eproductoid; -- ---------------------------------------------------- -- update from tables with productoid elementoid -- ---------------------------------------------------- update vidquoten3 asu800 w1u800 select v1u800u82evidquoteprodid v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid sumu800 calculoprecio ancho alto case lista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento coeficiente asu800 vidquoteprecio sumu800 calculoprecio ancho alto case lista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento coeficiente cantidad asu800 vidquotepreciop from fzggestionu82ecomposicion asu800 v3u800 fzggestionu82ecomposicion asu800 v2u800 fzggestionu82evidquoten3 asu800 v1u800 fzggestionu82eprecios asu800 v4u800 fzggestionu82eproductos asu800 v5u800 where v1u800u82evidquoteid presupuesto andu800 v1u800u82evidquoteitem presupuestoitem andu800 v3u800u82eproductoid v2u800u82eelementoid andu800 v2u800u82eproductoid v1u800u82evidquoteprodid andu800 v2u800u82eelementoid v1u800u82evidquoteelementoid andu800 v2u800u82ecomposicid v1u800u82evidquotecomposicid andu800 v4u800u82eproductoid v3u800u82eelementoid andu800 v5u800u82eproductoid v4u800u82eproductoid andu800 v1u800u82evidquoteprodid v1u800u82evidquoteelementoid andu800 v3u800u82eelementopm 0u800 group byu800 v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid asu800 w2u800 setu800 w1u800u82evidquoteprecio w2u800u82evidquoteprecio w1u800u82evidquotepreciop w2u800u82evidquotepreciop where w2u800u82evidquoteprodid w1u800u82evidquoteprodid andu800 w2u800u82evidquoteelementoid w1u800u82evidquoteelementoid andu800 w2u800u82evidquotecomposicid w1u800u82evidquotecomposicid andu800 w1u800u82evidquoteid presupuesto andu800 w1u800u82evidquoteitem presupuestoitem andu800 w1u800u82evidquoteprodid w1u800u82evidquoteelementoid; endu800 '),(83,'sqlcode0003',' setu800 presupuesto 50u800; setu800 presupuestoitem 3u800; setu800 lista 1u800; setu800 ancho 1000; setu800 alto 1000; setu800 cantidad 1u800; setu800 coeficiente 1u800; select v1u800u82evidquoteid v1u800u82evidquoteitem v1u800u82evidquoteprodid v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid v3u800u82eelementoid v3u800u82eelementopm sumu800 calculoprecio ancho alto case lista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento coeficiente asu800 vidquoteprecio sumu800 calculoprecio ancho alto case lista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento coeficiente cantidad asu800 vidquotepreciop v5u800u82emagnitud from fzggestionu82ecomposicion asu800 v3u800 fzggestionu82ecomposicion asu800 v2u800 fzggestionu82evidquoten3 asu800 v1u800 fzggestionu82eprecios asu800 v4u800 fzggestionu82eproductos asu800 v5u800 where v3u800u82eproductoid v2u800u82eelementoid andu800 v2u800u82eproductoid v1u800u82evidquoteprodid andu800 v2u800u82eelementoid v1u800u82evidquoteelementoid andu800 v2u800u82ecomposicid v1u800u82evidquotecomposicid andu800 v4u800u82eproductoid v3u800u82eelementoid andu800 v5u800u82eproductoid v4u800u82eproductoid andu800 v1u800u82evidquoteprodid v1u800u82evidquoteelementoid andu800 v3u800u82eelementopm 0u800 group byu800 v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid '),(85,'macro botonactualizarpresupuesto',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n ejecuta lau800 llamada alu800 proc actualizapreciospresupuesto conu800 losu800 paru8c3a1metros delu800 presupuesto indicado. biblioteca biblioteca biblioteca composiciu8c3b3n proc actualizapreciospresupuesto form presupuesto cu8c3b3digo cu8c3b3digo cu8c3b3digo subu800 botonactualizarpresupuesto oevent asu800 object dimu800 omensaje asu800 string dimu800 oform asu800 object dimu800 strsqlsearch asu800 string dimu800 sqlstatement asu800 object dimu800 oestado asu800 boolean dimu800 ovidquoteid asu800 integer dimu800 ovidquotelpre asu800 integer dimu800 ovidquotecoefcl asu800 double dimu800 ovidquotecoefac asu800 double oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera ifu800 oformu82eisnew then msgbox nou800 esu800 posible ejecutar esta operacion mb_ok mb_iconexclamation u8c2a1atencion else ifu800 oformu82egetbyname txtvidquoteestado .currentvalue 0u800 then omensaje u8c2bfestu8c3a1 seguro deu800 actualizar este presupuesto conu800 losu800 precios vigentes ifu800 msgbox splitmsg omensaje 40u800 mb_yesno mb_iconexclamation atenciu8c3b3n idyes then ovidquoteid oformu82egetbyname fmtvidquoteid .currentvalue ovidquotelpre oformu82egetbyname datacliente .getbyname fmtlistaprecio .currentvalue ovidquotecoefcl oformu82egetbyname datacliente .getbyname fmtcoeficienteac .currentvalue ovidquotecoefac oformu82egetbyname dataagente .getbyname fmtcoeficienteac .currentvalue oconnection oformu82eactiveconnection sqlstatement oconnectionu82ecreatestatement sqlstatement oconnectionu82epreparestatement call actualizapreciospresupuesto sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82esetint 2u800 ovidquotelpre sqlstatementu82esetdouble 3u800 ovidquotecoefcl ovidquotecoefac \'sqlstatementu82eexecute oformu82egetbyname productos .reload oformu82egetbyname productos .getbyname componentesdisplay .reload endu800 ifu800 else omensaje este presupuesto seu800 encuentra enu800 estado aprobado msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation atenciu8c3b3n endu800 ifu800 endif endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120920 cambio debido alu800 nuevo proc actualizapreciospresupuesto subu800 botonactualizarpresupuesto oevent asu800 object dimu800 omensaje asu800 string dimu800 oform asu800 object dimu800 osubform asu800 object dimu800 strsqlsearch asu800 string dimu800 sqlstatement asu800 object dimu800 ovidquoteid asu800 string oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera osubform oformu82egetbyname cabeceraampliada .getbyname detallepresupuesto ifu800 oformu82eisnew then msgbox nou800 esu800 posible ejecutar esta operacion 1u800 u8c2a1atencion else select case msgbox u8c2bfestu8c3a1 seguro deu800 actualizar este presupuesto conu800 losu800 precios actuales 1u800 atenciu8c3b3n case 1u800 ovidquoteid oformu82egetbyname fmtvidquoteid .currentvalue  strsqlsearch  strsqlsearch strsqlsearch & update vidquoten3 asu800 t3u800 setu800  strsqlsearch strsqlsearch & t3u800u82evidquoteprecio calculapreciobase t3u800u82evidquoteprodid t3u800u82evidquoteelementoid t3u800u82evidquoteancho t3u800u82evidquotealto t3u800u82evidquotelpre  strsqlsearch strsqlsearch & t3u800u82evidquotepreciop calculapreciobase t3u800u82evidquoteprodid t3u800u82evidquoteelementoid t3u800u82evidquoteancho t3u800u82evidquotealto t3u800u82evidquotelpre vidquoteprodcantidad  strsqlsearch strsqlsearch & where  strsqlsearch strsqlsearch & vidquoteid & cstr intu800 ovidquoteid  oconnection oeventu82esourceu82emodelu82eparentu82eactiveconnection \'event from button  sqlstatement oconnectionu82ecreatestatement  sqlstatementu82eexecuteupdate strsqlsearch  sqlstatementu82eclose oconnection oformu82eactiveconnection sqlstatement oconnectionu82ecreatestatement sqlstatement oconnectionu82epreparestatement call actualizapreciospresupuesto sqlstatementu82esetint 1u800 ovidquoteid sqlstatementu82eexecute osubformu82ereload case 2u800 false endu800 select endif endu800 subu800 usou800 usou800 usou800 '),(86,'proc actualizapreciospresupuesto',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n actualizador deu800 precios deu800 unu800 presupuesto indicado. toma toda lau800 informaciu8c3b3n existente yu800 lau800 actualiza deu800 acuerdo au800 lau800 lista deu800 precios vigente. luego deu800 actualizar losu800 precios au800 nivel elemento procede au800 actualizar losu800 precios delu800 detalle delu800 presupuesto invocando unu800 update ficticio para queu800 ejecute sinu800 dead-lock au800 travu8c3a9s delu800 trig actualiza_item_presupuesto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten3 tabla vidquoten2 tabla precios tabla productos tabla composicion cu8c3b3digo cu8c3b3digo cu8c3b3digo -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure actualizapreciospresupuesto inu800 pvidquoteid intu800 5u800 -- inu800 pvidquoteitem intu800 5u800 inu800 pvidquotelista intu800 1u800 inu800 pcoeficienteac decimal 10u800 5u800 begin -- ---------------------------------------------------- -- update from tables with productoid elementoid -- ---------------------------------------------------- update composicion asu800 t2u800 vidquoten3 asu800 t1u800 precios asu800 t3u800 productos asu800 t4u800 vidquoten2 asu800 t5u800 setu800 t1u800u82evidquoteprecio calculoprecio t5u800u82evidquoteancho t5u800u82evidquotealto case pvidquotelista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento pcoeficienteac t1u800u82evidquotepreciop calculoprecio t5u800u82evidquoteancho t5u800u82evidquotealto case pvidquotelista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento pcoeficienteac t5u800u82evidquoteprodcantidad where t1u800u82evidquoteid pvidquoteid andu800 -- t1u800u82evidquoteitem ifu800 isnull pvidquoteitem t1u800u82evidquoteitem pvidquoteitem andu800 t2u800u82eproductoid t1u800u82evidquoteprodid andu800 t2u800u82eelementoid t1u800u82evidquoteelementoid andu800 t2u800u82ecomposicid t1u800u82evidquotecomposicid andu800 t4u800u82eproductoid t3u800u82eproductoid andu800 t5u800u82evidquoteid t1u800u82evidquoteid andu800 t5u800u82evidquoteitem t1u800u82evidquoteitem andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t1u800u82evidquoteprodid t1u800u82evidquoteelementoid; -- ---------------------------------------------------- -- update from tables with productoid elementoid -- ---------------------------------------------------- update vidquoten3 asu800 w1u800 select v1u800u82evidquoteid v1u800u82evidquoteitem v1u800u82evidquoteprodid v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid sumu800 calculoprecio v6u800u82evidquoteancho v6u800u82evidquotealto case pvidquotelista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento pcoeficienteac asu800 vidquoteprecio sumu800 calculoprecio v6u800u82evidquoteancho v6u800u82evidquotealto case pvidquotelista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento pcoeficienteac v6u800u82evidquoteprodcantidad asu800 vidquotepreciop from fzggestionu82ecomposicion asu800 v3u800 fzggestionu82ecomposicion asu800 v2u800 fzggestionu82evidquoten3 asu800 v1u800 fzggestionu82eprecios asu800 v4u800 fzggestionu82eproductos asu800 v5u800 fzggestionu82evidquoten2 asu800 v6u800 where v1u800u82evidquoteid pvidquoteid andu800 -- v1u800u82evidquoteitem ifu800 isnull pvidquoteitem v1u800u82evidquoteitem pvidquoteitem andu800 v6u800u82evidquoteid v1u800u82evidquoteid andu800 v6u800u82evidquoteitem v1u800u82evidquoteitem andu800 v3u800u82eproductoid v2u800u82eelementoid andu800 v2u800u82eproductoid v1u800u82evidquoteprodid andu800 v2u800u82eelementoid v1u800u82evidquoteelementoid andu800 v2u800u82ecomposicid v1u800u82evidquotecomposicid andu800 v4u800u82eproductoid v3u800u82eelementoid andu800 v5u800u82eproductoid v4u800u82eproductoid andu800 v1u800u82evidquoteprodid v1u800u82evidquoteelementoid andu800 v3u800u82eelementopm 0u800 group byu800 v1u800u82evidquoteid v1u800u82evidquoteitem v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid asu800 w2u800 setu800 w1u800u82evidquoteprecio w2u800u82evidquoteprecio w1u800u82evidquotepreciop w2u800u82evidquotepreciop where -- ---------------------------------------------------------- -- join between result ofu800 calculating prices andu800 vidquoten3 -- ---------------------------------------------------------- w2u800u82evidquoteid w1u800u82evidquoteid andu800 w2u800u82evidquoteitem w1u800u82evidquoteitem andu800 w2u800u82evidquoteprodid w1u800u82evidquoteprodid andu800 w2u800u82evidquoteelementoid w1u800u82evidquoteelementoid andu800 w2u800u82evidquotecomposicid w1u800u82evidquotecomposicid andu800 -- ---------------------------------------------------------- -- select what qoute will beu800 affected -- ---------------------------------------------------------- w1u800u82evidquoteid pvidquoteid andu800 -- ---------------------------------------------------------- -- select records notu800 ppdu800 -- ---------------------------------------------------------- w1u800u82evidquoteprodid w1u800u82evidquoteelementoid; -- ---------------------------------------------------------- -- update precios resumen onu800 vidquoten2. nou800 effect onu800 others -- fields than vidquoteprecio -- ---------------------------------------------------------- update vidquoten2 asu800 t1u800 setu800 t1u800u82evidquoteprodcantidad t1u800u82evidquoteprodcantidad where t1u800u82evidquoteid pvidquoteid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120921 actualizaciu8c3b3n deu800 acuerdo alu800 cambio deu800 diseu8c3b1o deu800 form presupuesto -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure actualizapreciospresupuesto_old inu800 pvidquoteid intu800 5u800 begin update vidquoten3 asu800 t5u800 select t4u800u82evidquoteprodid t4u800u82evidquoteelementoid t4u800u82evidquoteprodcantidad t4u800u82evidquoteancho t4u800u82evidquotealto t4u800u82eprecioprod sumu800 calculoprecio t4u800u82evidquoteancho t4u800u82evidquotealto t4u800u82eprecioprod t4u800u82emagnitud t4u800u82eoffsetvanoalto t4u800u82eoffsetvanoancho t4u800u82ecoefvanoalto t4u800u82ecoefvanoancho t4u800u82evalorelemento asu800 vidquoteprecio sumu800 calculoprecio t4u800u82evidquoteancho t4u800u82evidquotealto t4u800u82eprecioprod t4u800u82emagnitud t4u800u82eoffsetvanoalto t4u800u82eoffsetvanoancho t4u800u82ecoefvanoalto t4u800u82ecoefvanoancho t4u800u82evalorelemento t4u800u82evidquoteprodcantidad asu800 vidquotepreciop from select t1u800u82evidquotelpre asu800 vidquotelpre t1u800u82evidquoteprodid asu800 vidquoteprodid t1u800u82evidquoteelementoid asu800 vidquoteelementoid t2u800u82eelementoid asu800 elementoid t1u800u82evidquoteprodcantidad asu800 vidquoteprodcantidad t1u800u82evidquoteancho asu800 vidquoteancho t1u800u82evidquotealto asu800 vidquotealto t2u800u82emagnitud t2u800u82evalorelemento asu800 valorelemento t2u800u82eoffsetvanoancho asu800 offsetvanoancho t2u800u82eoffsetvanoalto asu800 offsetvanoalto t2u800u82ecoefvanoancho asu800 coefvanoancho t2u800u82ecoefvanoalto asu800 coefvanoalto case t1u800u82evidquotelpre when 0u800 then t2u800. precioprod00 when 1u800 then t2u800. precioprod01 when 2u800 then t2u800. precioprod02 when 3u800 then t2u800. precioprod03 endu800 asu800 precioprod from oju800 fzggestionu82evisprodadic asu800 t2u800 right outer join fzggestionu82evidquoten3 asu800 t1u800 onu800 t2u800u82eproductoid t1u800u82evidquoteprodid andu800 t2u800u82eelementoid t1u800u82evidquoteelementoid where t1u800u82evidquoteprodid vidquoteelementoid andu800 t1u800u82evidquoteid pvidquoteid union select t1u800u82evidquotelpre asu800 vidquotelpre t1u800u82evidquoteprodid asu800 vidquoteprodid t1u800u82evidquoteelementoid asu800 vidquoteelementoid t2u800u82eelementoid asu800 elementoid t1u800u82evidquoteprodcantidad asu800 vidquoteprodcantidad t1u800u82evidquoteancho asu800 vidquoteancho t1u800u82evidquotealto asu800 vidquotealto t2u800u82emagnitud t3u800u82evalorelemento t2u800u82evalorelemento asu800 valorelemento t3u800u82eoffsetvanoancho t2u800u82eoffsetvanoancho asu800 offsetvanoancho t3u800u82eoffsetvanoalto t2u800u82eoffsetvanoalto asu800 offsetvanoalto t3u800u82ecoefvanoancho t2u800u82ecoefvanoancho asu800 coefvanoancho t3u800u82ecoefvanoalto t2u800u82ecoefvanoalto asu800 coefvanoalto case t1u800u82evidquotelpre when 0u800 then t2u800. precioprod00 when 1u800 then t2u800. precioprod01 when 2u800 then t2u800. precioprod02 when 3u800 then t2u800. precioprod03 endu800 asu800 precioprod from oju800 fzggestionu82evisprodadic asu800 t2u800 right outer join fzggestionu82evidquoten3 asu800 t1u800 onu800 t2u800u82eproductoid t1u800u82evidquoteelementoid fzggestionu82evisprodadic asu800 t3u800 where t3u800u82eproductoid t1u800u82evidquoteprodid andu800 t3u800u82eelementoid t1u800u82evidquoteelementoid andu800 t1u800u82evidquoteprodid t1u800u82evidquoteelementoid andu800 t1u800u82evidquoteid pvidquoteid order byu800 vidquoteprodid vidquoteelementoid elementoid asu800 t4u800 group byu800 vidquoteprodid vidquoteelementoid asu800 t6u800 setu800 t5u800u82evidquoteprecio t6u800u82evidquoteprecio t5u800u82evidquotepreciop t6u800u82evidquotepreciop where t5u800u82evidquoteid pvidquoteid andu800 t5u800u82evidquoteprodid t6u800u82evidquoteprodid andu800 t5u800u82evidquoteelementoid t6u800u82evidquoteelementoid; endu800 20120925 reestructura actualizaciu8c3b3n delu800 atributo deu800 precio debido au800 queu800 seu800 incorpora elu800 trig actualiza_item_presupuesto yu800 produce unu800 dead-lock alu800 gestionar lasu800 mismas tablas. seu800 modifica elu800 trig actualiza_item_presupuesto yu800 seu800 hace unu800 update falso para forzar elu800 trigger deu800 actualizaciu8c3b3n au800 hacer elu800 recu8c3a1lculo. update vidquoten2 asu800 t1u800 select vidquoteid vidquoteitem vidquoteprodcantidad vidquoteprodid sumu800 vidquotepreciop asu800 vidquotepreciop from vidquoten3 group byu800 vidquoteid vidquoteitem asu800 t2u800 setu800 t1u800u82evidquoteprecio t2u800u82evidquotepreciop where t1u800u82evidquoteid pvidquoteid andu800 t1u800u82evidquoteid t2u800u82evidquoteid andu800 t1u800u82evidquoteitem t2u800u82evidquoteitem; endu800 usou800 usou800 usou800 form presupuesto macro botonactualizarpresupuesto trig actualiza_item_presupuesto '),(87,'trig actualiza item presupuesto',' descripciu8c3b3n trigger delu800 evento before update deu800 tabla vidquoten2 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten1 tabla vidquoten3 vista acomerciales vista clientes proc altaitempresupuesto proc actualizaitempresupuesto cu8c3b3digo cu8c3b3digo cu8c3b3digo create definer sas_admin trigger fzggestion . actualiza_item_presupuesto before update onu800 fzggestion . vidquoten2 foru800 each rowu800 begin -- -------------------------------------------------------- -- changes onu800 price change previous other attributes -- -------------------------------------------------------- ifu800 oldu800u82evidquoteprecio newu800u82evidquoteprecio then select vidquotecliente vidquoteacom into cliente acomercial from vidquoten1 where vidquoten1u82evidquoteid oldu800u82evidquoteid; select coeficienteac into coeficienteac from acomerciales where acomercialesu82eabreviatura acomercial; select coeficienteac listaprecio into coeficientecl lista from clientes where clientesu82eclienteid cliente; case when newu800u82evidquoteprodid oldu800u82evidquoteprodid then -- -------------------------------------------------------- -- changes onu800 prodid change previous other attributes -- -------------------------------------------------------- delete from vidquoten3 where vidquoten3u82evidquoteid oldu800u82evidquoteid andu800 vidquoten3u82evidquoteitem oldu800u82evidquoteitem; call altaitempresupuesto oldu800u82evidquoteid lista oldu800u82evidquoteitem newu800u82evidquoteprodid newu800u82evidquoteprodcantidad newu800u82evidquoteancho newu800u82evidquotealto coeficientecl coeficienteac ; when newu800u82evidquoteprodcantidad oldu800u82evidquoteprodcantidad oru800 newu800u82evidquoteancho oldu800u82evidquoteancho oru800 newu800u82evidquotealto oldu800u82evidquotealto then -- -------------------------------------------------------- -- suppose changes other attributes -- -------------------------------------------------------- call actualizaitempresupuesto oldu800u82evidquoteid oldu800u82evidquoteitem newu800u82evidquoteprodcantidad newu800u82evidquoteancho newu800u82evidquotealto lista coeficientecl coeficienteac ; else setu800 flyu800 null; endu800 case; setu800 newu800u82evidquoteprecio select sumu800 vidquotepreciop asu800 vidquotepreciop from vidquoten3 where vidquoten3u82evidquoteid oldu800u82evidquoteid andu800 vidquoten3u82evidquoteitem oldu800u82evidquoteitem group byu800 vidquoteid vidquoteitem ; endu800 ifu800; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120925 lanzamiento debido au800 nuevo diseu8c3b1o deu800 form presupuesto. usou800 usou800 usou800 form presupuesto '),(88,'proc actualizaitempresupuesto',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n actualiza losu800 precios unitario yu800 subtotal enu800 lau800 tabla vidquoten3 deu800 unu800 producto determinado para todos susu800 componentes. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla composicion tabla vidquoten3 tabla precios tabla productos cu8c3b3digo cu8c3b3digo cu8c3b3digo -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure actualizaitempresupuesto inu800 pvidquoteid intu800 5u800 inu800 pvidquoteitem intu800 5u800 inu800 pvidquoteprodcantidad intu800 5u800 inu800 pvidquoteancho intu800 5u800 inu800 pvidquotealto intu800 5u800 inu800 pvidquotelista intu800 1u800 inu800 pcoeficienteac decimal 10u800 5u800 begin -- ---------------------------------------------------- -- update from tables with productoid elementoid -- ---------------------------------------------------- -- setu800 -- pvidquoteid 50u800 -- pvidquoteitem 3u800 -- pvidquoteprodcantidad 1u800 -- pvidquoteancho 1000 -- pvidquotealto 1000 -- pvidquotelista 1u800 -- pcoeficienteac 1u800u82e0u800; -- call debugcheckpoint -- concat -- proc actualizaitempresupuesto varu800 -- cast pvidquoteid asu800 char - -- cast pvidquotelista asu800 char - -- cast pvidquoteitem asu800 char - -- cast pvidquoteprodcantidad asu800 char - -- cast pvidquoteancho asu800 char - -- cast pvidquotealto asu800 char - -- cast pcoeficienteac asu800 char -- ; update composicion asu800 t2u800 vidquoten3 asu800 t1u800 precios asu800 t3u800 productos asu800 t4u800 setu800 t1u800u82evidquoteprecio calculoprecio pvidquoteancho pvidquotealto case pvidquotelista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento pcoeficienteac t1u800u82evidquotepreciop calculoprecio pvidquoteancho pvidquotealto case pvidquotelista when 0u800 then t3u800u82eprecioprod00 when 1u800 then t3u800u82eprecioprod01 when 2u800 then t3u800u82eprecioprod02 when 3u800 then t3u800u82eprecioprod03 endu800 t4u800u82emagnitud t2u800u82eoffsetvanoalto t2u800u82eoffsetvanoancho t2u800u82ecoefvanoalto t2u800u82ecoefvanoancho t2u800u82evalorelemento pcoeficienteac pvidquoteprodcantidad where t1u800u82evidquoteid pvidquoteid andu800 t1u800u82evidquoteitem pvidquoteitem andu800 t2u800u82eproductoid t1u800u82evidquoteprodid andu800 t2u800u82eelementoid t1u800u82evidquoteelementoid andu800 t2u800u82ecomposicid t1u800u82evidquotecomposicid andu800 t4u800u82eproductoid t3u800u82eproductoid andu800 t3u800u82eproductoid t2u800u82eelementoid andu800 t1u800u82evidquoteprodid t1u800u82evidquoteelementoid; -- ---------------------------------------------------- -- update from tables with productoid elementoid -- ---------------------------------------------------- update vidquoten3 asu800 w1u800 select v1u800u82evidquoteid v1u800u82evidquoteitem v1u800u82evidquoteprodid v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid sumu800 calculoprecio pvidquoteancho pvidquotealto case pvidquotelista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento pcoeficienteac asu800 vidquoteprecio sumu800 calculoprecio pvidquoteancho pvidquotealto case pvidquotelista when 0u800 then v4u800u82eprecioprod00 when 1u800 then v4u800u82eprecioprod01 when 2u800 then v4u800u82eprecioprod02 when 3u800 then v4u800u82eprecioprod03 endu800 v5u800u82emagnitud v2u800u82eoffsetvanoalto v3u800u82eoffsetvanoalto v2u800u82eoffsetvanoancho v3u800u82eoffsetvanoancho v2u800u82ecoefvanoalto v3u800u82ecoefvanoalto v2u800u82ecoefvanoancho v3u800u82ecoefvanoancho v2u800u82evalorelemento v3u800u82evalorelemento pcoeficienteac pvidquoteprodcantidad asu800 vidquotepreciop from fzggestionu82ecomposicion asu800 v3u800 fzggestionu82ecomposicion asu800 v2u800 fzggestionu82evidquoten3 asu800 v1u800 fzggestionu82eprecios asu800 v4u800 fzggestionu82eproductos asu800 v5u800 where v1u800u82evidquoteid pvidquoteid andu800 v1u800u82evidquoteitem pvidquoteitem andu800 v3u800u82eproductoid v2u800u82eelementoid andu800 v2u800u82eproductoid v1u800u82evidquoteprodid andu800 v2u800u82eelementoid v1u800u82evidquoteelementoid andu800 v2u800u82ecomposicid v1u800u82evidquotecomposicid andu800 v4u800u82eproductoid v3u800u82eelementoid andu800 v5u800u82eproductoid v4u800u82eproductoid andu800 v1u800u82evidquoteprodid v1u800u82evidquoteelementoid andu800 v3u800u82eelementopm 0u800 group byu800 v1u800u82evidquoteid v1u800u82evidquoteitem v1u800u82evidquoteelementoid v1u800u82evidquotecomposicid asu800 w2u800 setu800 w1u800u82evidquoteprecio w2u800u82evidquoteprecio w1u800u82evidquotepreciop w2u800u82evidquotepreciop where -- ---------------------------------------------------------- -- join between result ofu800 calculating prices andu800 vidquoten3 -- ---------------------------------------------------------- w2u800u82evidquoteid w1u800u82evidquoteid andu800 w2u800u82evidquoteitem w1u800u82evidquoteitem andu800 w2u800u82evidquoteprodid w1u800u82evidquoteprodid andu800 w2u800u82evidquoteelementoid w1u800u82evidquoteelementoid andu800 w2u800u82evidquotecomposicid w1u800u82evidquotecomposicid andu800 -- ---------------------------------------------------------- -- select what qoute will beu800 affected -- ---------------------------------------------------------- w1u800u82evidquoteid pvidquoteid andu800 -- ---------------------------------------------------------- -- select records notu800 ppdu800 -- ---------------------------------------------------------- w1u800u82evidquoteprodid w1u800u82evidquoteelementoid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120921 alta ante rediseu8c3b1o deu800 form presupuesto usou800 usou800 usou800 form presupuesto trig actualiza_item_presupuesto '),(89,'proc copiapresupuesto',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n copia lau800 informaciu8c3b3n deu800 unu800 presupuesto seleccionado au800 otro nuevo. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten1 tabla vidquoten2 tabla vidquoten3 cu8c3b3digo cu8c3b3digo cu8c3b3digo -- -------------------------------------------------------------------------------- -- routine ddlu800 -- note comments before andu800 after theu800 routine body will notu800 beu800 stored byu800 theu800 server -- -------------------------------------------------------------------------------- delimiter create definer sas_admin procedure copiapresupuesto inu800 pvidquoteid intu800 5u800 begin -- ------------------------------------------------------ -- insert from parameter quoteid into itself -- ------------------------------------------------------ insert into vidquoten1 vidquoteid vidquoteobra vidquotecliente vidquotefecha vidquotefechaest vidquoteestado vidquoteacom vidquotemedcheck select null vidquoten1 . vidquoteobra vidquoten1 . vidquotecliente vidquoten1 . vidquotefecha vidquoten1 . vidquotefechaest vidquoten1 . vidquoteestado vidquoten1 . vidquoteacom vidquoten1 . vidquotemedcheck from vidquoten1 where vidquoten1 . vidquoteid pvidquoteid; -- ------------------------------------------------------ -- take idu800 generated byu800 aiu800 -- ------------------------------------------------------ setu800 npru800 last_insert_id ; -- ------------------------------------------------------ -- insert from parameter quoteid into itself with npru800 -- ------------------------------------------------------ insert into fzggestion . vidquoten2 vidquoteid vidquoteitem vidquotepredid vidquoteprodid vidquoteprodcantidad vidquoteancho vidquotealto vidquoteprecio vidquotedetalle select npru800 vidquoten2 . vidquoteitem vidquoten2 . vidquotepredid vidquoten2 . vidquoteprodid vidquoten2 . vidquoteprodcantidad vidquoten2 . vidquoteancho vidquoten2 . vidquotealto vidquoten2 . vidquoteprecio vidquoten2 . vidquotedetalle from vidquoten2 where vidquoten2 . vidquoteid pvidquoteid; -- ------------------------------------------------------ -- insert from parameter quoteid into itself with npru800 -- ------------------------------------------------------ insert into vidquoten3 vidquoteid vidquoteitem vidquoteprodid vidquoteelementoid vidquotecomposicid vidquoteprodcantidad vidquoteancho vidquotealto vidquoteprecio vidquotepreciop vidquoteincluyedet select npru800 vidquoten3 . vidquoteitem vidquoten3 . vidquoteprodid vidquoten3 . vidquoteelementoid vidquoten3 . vidquotecomposicid vidquoten3 . vidquoteprodcantidad vidquoten3 . vidquoteancho vidquoten3 . vidquotealto vidquoten3 . vidquoteprecio vidquoten3 . vidquotepreciop vidquoten3 . vidquoteincluyedet from fzggestion . vidquoten3 where vidquoten3 . vidquoteid pvidquoteid; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20120409 alta para form presupuestou82ev1u800u82e0u800 delimiter create procedure copiapresupuesto inu800 pvidquoteid intu800 5u800 begin insert into vidquoten1 vidquoteid vidquoteobra vidquotecliente vidquotefecha vidquotevalidez vidquotefechaest vidquoteestado vidquoteacom select null vidquoten1 . vidquoteobra vidquoten1 . vidquotecliente vidquoten1 . vidquotefecha vidquoten1 . vidquotevalidez vidquoten1 . vidquotefechaest vidquoten1 . vidquoteestado vidquoten1 . vidquoteacom from fzggestion . vidquoten1 where vidquoten1 . vidquoteid pvidquoteid; setu800 npru800 last_insert_id ; insert into fzggestion . vidquoten2 vidquoteid vidquotelpre vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteancho vidquotealto vidquoteprecio vidquotedetalle select npru800 vidquoten2 . vidquotelpre vidquoten2 . vidquoteitem vidquoten2 . vidquoteprodid vidquoten2 . vidquoteprodcantidad vidquoten2 . vidquoteancho vidquoten2 . vidquotealto vidquoten2 . vidquoteprecio vidquoten2 . vidquotedetalle from fzggestion . vidquoten2 where vidquoten2 . vidquoteid pvidquoteid; insert into fzggestion . vidquoten3 vidquoteid vidquotelpre vidquoteitem vidquoteprodid vidquoteprodcantidad vidquoteancho vidquotealto vidquoteelementoid vidquoteprecio vidquotepreciop vidquoteincluyedet select npru800 vidquoten3 . vidquotelpre vidquoten3 . vidquoteitem vidquoten3 . vidquoteprodid vidquoten3 . vidquoteprodcantidad vidquoten3 . vidquoteancho vidquoten3 . vidquotealto vidquoten3 . vidquoteelementoid vidquoten3 . vidquoteprecio vidquoten3 . vidquotepreciop vidquoten3 . vidquoteincluyedet from fzggestion . vidquoten3 where vidquoten3 . vidquoteid pvidquoteid; insert into fzggestion . vidquoten4 vidquoteid vidquoteitem vidquoteprodid vidquoteelementoid vidquotevalorid vidquotevtipo vidquotevnecesario vidquoteventero vidquotevdecimal vidquotevtexto select npru800 vidquoten4 . vidquoteitem vidquoten4 . vidquoteprodid vidquoten4 . vidquoteelementoid vidquoten4 . vidquotevalorid vidquoten4 . vidquotevtipo vidquoten4 . vidquotevnecesario vidquoten4 . vidquoteventero vidquoten4 . vidquotevdecimal vidquoten4 . vidquotevtexto from fzggestion . vidquoten4 where vidquoten4 . vidquoteid pvidquoteid; endu800 20120925 actualizaciu8c3b3n deu800 losu800 atributos au800 utilizar yu800 eliminaciu8c3b3n provisoria deu800 lau800 informaciu8c3b3n deu800 tabla vidquoten4 usou800 usou800 usou800 form presupuesto macro presupuestocopia '),(90,'checkedu82epngu800',' '),(91,'tabla clientescrmqry',' descripciu8c3b3n tabla temporaria para almacenar losu800 datos delu800 cliente estructura estructura estructura sqlu800 delimiter create table clientescrmqry idclientescrmqry intu800 11u800 notu800 null auto_increment clienteid char 8u800 default null fechaini date default null fechafin date default null primary keyu800 idclientescrmqry engine myisam auto_increment 28u800 default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form clientecrm urlu800 urlu800 urlu800 '),(93,'tabla reppresqry',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n tabla temporaria para almacenar unu800 nu8c3bamero deu800 presupuesto asociado yu800 transferir lau800 info entre procesos nou800 continuos composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla reppresqry estructura estructura estructura preu800 sqlu800 sqlu800 sqlu800 create table reppresqry vidquoteid intu800 11u800 notu800 null primary keyu800 vidquoteid engine myisam default charset latin1 preu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form presupuesto report presupuesto urlu800 urlu800 urlu800 '),(94,'macro botoneditarcomponentes',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n rutina deu800 control deu800 lau800 botonera deu800 componentes dentro deu800 form presupuesto biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 botoneditarcomponentes oevent asu800 object dimu800 oselect asu800 string dimu800 oform asu800 object dimu800 osubform asu800 object dimu800 omensaje asu800 string dimu800 ocondicion asu800 string oselect oeventu82esourceu82emodelu82ename oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera osubform oformu82egetbyname productos osubformgrid osubformu82egetbyname productosgrid ocliente oformu82egetbyname txtvidquotecliente .currentvalue oquoteid osubformgridu82egetbyname fmtvidquoteid .currentvalue oquoteitem osubformgridu82egetbyname fmtvidquoteitem .currentvalue ocantidad osubformgridu82egetbyname fmtvidquoteprodcantidad .currentvalue oproductoid osubformgridu82egetbyname txtvidquoteprodid .currentvalue ifu800 osubformu82egetbyname txtvidquotequick .currentvalue 0u800 then oquick 2u800 else oquick 1u800 endu800 ifu800 oancho osubformgridu82egetbyname fmtvidquoteancho .currentvalue oalto osubformgridu82egetbyname fmtvidquotealto .currentvalue omensaje \'msgbox test select case oselect case btneditar omensaje omensaje omensaje & seu800 procederu8c3a1 au800 actualizar elu800 esquema delu800 producto omensaje omensaje & incluyendo susu800 precios. u8c2bfdesea continuar ifu800 msgbox splitmsg omensaje 40u800 mb_yesno mb_iconexclamation atenciu8c3b3n idyes then olistaprecio oformu82egetbyname datacliente .getbyname fmtlistaprecio .currentvalue ocoeficientecl oformu82egetbyname datacliente .getbyname fmtcoeficienteac .currentvalue ocoeficienteac oformu82egetbyname dataagente .getbyname fmtcoeficienteac .currentvalue ocoeficientemu ocoeficientecl ocoeficienteac oconnection oeventu82esourceu82emodelu82eparentu82eactiveconnection sqlstatement oconnectionu82epreparestatement call altaitempresupuestotmp sqlstatementu82esetint 1u800 oquoteid sqlstatementu82esetint 2u800 olistaprecio sqlstatementu82esetint 3u800 oquoteitem sqlstatementu82esetstring 4u800 oproductoid sqlstatementu82esetstring 5u800 ocantidad sqlstatementu82esetint 6u800 oancho sqlstatementu82esetint 7u800 oalto sqlstatementu82esetfloat 8u800 ocoeficientecl ocoeficienteac sqlstatementu82esetint 9u800 oquick sqlstatementu82eexecute sqlstatementu82eclose osubformu82egetbyname componentessimple .reload osubformu82egetbyname componentessimple .getbyname componentessimplegrid .setpropertyvalue enablevisible true osubformu82egetbyname componentesdisplay .getbyname componentesdisplaygrid .setpropertyvalue enablevisible false osubformu82egetbyname componentesdisplay .reload osubformu82egetbyname componentessimple .getbyname subtotalproducto .getbyname total .setpropertyvalue enablevisible true endu800 ifu800 case btnaplicar omensaje omensaje omensaje & seu800 procederu8c3a1 au800 grabar elu800 nuevo esquema delu800 producto. & chru800 13u800 omensaje omensaje & u8c2bfdesea continuar ifu800 msgbox omensaje mb_yesno mb_iconexclamation atenciu8c3b3n idyes then textostatusbar aguarde unu800 momento... osubtotproducto osubformu82egetbyname componentessimple .getbyname subtotalproducto .getbyname total .currentvalue osubformgridu82egetbyname fmtvidquoteprecio .boundfieldu82eupdatedouble osubtotproducto osubformu82eupdaterow \'save data inu800 vidquoten3 oconnection oeventu82esourceu82emodelu82eparentu82eactiveconnection sqlstatement oconnectionu82epreparestatement call grabaitempresupuestotmp sqlstatementu82esetint 1u800 oquoteid sqlstatementu82esetint 2u800 oquoteitem sqlstatementu82eexecute sqlstatementu82eclose textostatusbar endu800 ifu800 osubformu82egetbyname componentesdisplay .reload osubformu82egetbyname componentesdisplay .getbyname componentesdisplaygrid .setpropertyvalue enablevisible true osubformu82egetbyname componentessimple .getbyname componentessimplegrid .setpropertyvalue enablevisible false osubformu82egetbyname componentessimple .reload osubformu82egetbyname componentessimple .getbyname subtotalproducto .getbyname total .setpropertyvalue enablevisible false osubformu82egetbyname totallistaproductos .reload case btnreset textostatusbar aguarde unu800 momento... \'ocondicion clienteid \' & ocliente & \' oconnection oeventu82esourceu82emodelu82eparentu82eactiveconnection sqlstatement oconnectionu82epreparestatement call resetedicionitemtmp sqlstatementu82esetint 1u800 oquoteid sqlstatementu82esetint 2u800 oquoteitem sqlstatementu82eexecute sqlstatementu82eclose osubformu82egetbyname componentesdisplay .reload osubformu82egetbyname componentesdisplay .getbyname componentesdisplaygrid .setpropertyvalue enablevisible true osubformu82egetbyname componentessimple .getbyname componentessimplegrid .setpropertyvalue enablevisible false osubformu82egetbyname componentessimple .reload osubformu82egetbyname componentessimple .getbyname subtotalproducto .getbyname total .setpropertyvalue enablevisible false textostatusbar endu800 select endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form presupuesto '),(95,'reporte presupuestosdirecto',' '),(96,'reporte presupuestos',' '),(97,'vista proveedores',' descripciu8c3b3n vista deu800 proveedores deu800 lau800 tabla contactos composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla contactos estructura estructura estructura sqlu800 create view proveedores asu800 select contactos . contactoid asu800 proveedorid contactos . contactoidabrv asu800 abreviatura contactos . razonsocial asu800 razonsocial contactos . direccion asu800 direccion contactos . localidad asu800 localidad contactos . provincia asu800 provincia contactos . pais asu800 pais contactos . cpostal asu800 cpostal contactos . cuit asu800 cuit contactos . area asu800 area contactos . telefono1 asu800 telefono1 contactos . telefono2 asu800 telefono2 contactos . telefono3 asu800 telefono3 contactos . telefonom asu800 telefonom contactos . telefonof asu800 telefonof contactos . correo1 asu800 correo1 contactos . correo2 asu800 correo2 contactos . ncontacto asu800 ncontacto contactos . acontacto asu800 acontacto contactos . notas asu800 notas from contactos where contactos . proveedortag \'1u800\' bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121017 correcciu8c3b3n delu800 tagu800 antiguo xu800 poru800 elu800 nuevo tagu800 1u800 sobre fzgu800 usou800 usou800 usou800 form productos urlu800 urlu800 urlu800 '),(98,'macro sugerenciacontactoid',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n sugiere unu800 cu8c3b3digo deu800 contacto deu800 acuerdo alu800 tipo deu800 contacto referido alu800 momento cliente proveedor agente comercial otros biblioteca biblioteca biblioteca spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 sugerenciacontactoid dimu800 oform asu800 object dimu800 ocontactoid asu800 string dimu800 vcontactoid asu800 double dimu800 orelleno asu800 string dimu800 oprefijo asu800 string oform thiscomponentu82edrawpageu82eformsu82egetbyname mainform oformname instr thiscomponentu82etitle auxu800 000002 ifu800 oformu82eisnew oru800 oformname 0u800 then osugiere false ifu800 oformname 0u800 then osugiere true else omensaje omensaje omensaje & elu800 cu8c3b3digo sugerido estaru8c3a1 asociado alu800 tipo deu800 contacto indicado. corroboru8c3b3 yau800 elu800 tipo deu800 contacto ifu800 msgbox splitmsg omensaje 40u800 mb_yesno mb_iconexclamation atenciu8c3b3n idyes then osugiere true endif endif ifu800 osugiere then ocondicion select case true case oformu82egetbyname txtclientetag .currentvalue 1u800 ocondicion ocondicion & clientetag 1u800 oprefijo 0u800 case oformu82egetbyname txtproveedortag .currentvalue 1u800 ocondicion ocondicion & proveedortag 1u800 oprefijo 3u800 case oformu82egetbyname txtacomercialtag .currentvalue 1u800 ocondicion ocondicion & acomercialtag 1u800 oprefijo 8u800 case oformu82egetbyname txtotrostag .currentvalue 1u800 ocondicion ocondicion & otrostag 1u800 oprefijo 5u800 endu800 select orelleno 00000000 ocontacto querysimple maxu800 contactoid ultimocontacto contactos ocondicion string vcontactoid valu800 ocontacto vcontactoid vcontactoid 1u800 ifu800 ocontacto then ocontactoid oprefijo & right orelleno & rtrim ltrim stru800 vcontactoid 7u800 else ocontactoid right orelleno & rtrim ltrim stru800 vcontactoid 8u800 endu800 ifu800 oformu82egetbyname txtcontactoid .setstring ocontactoid endu800 ifu800 endu800 ifu800 endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121017 ultima modificaciu8c3b3n usou800 usou800 usou800 form presupuesto form auxu800 000002 form contactos '),(99,'macro eventowhenloadingformcabecera',' descripciu8c3b3n evento queu800 ejecuta cuando carga elu800 form presupuestou82ecabecera biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 eventowhenloadingformcabecera oevent asu800 object dimu800 oform asu800 object chequeovalorlicenciaok oevent oform thiscomponentu82edrawpageu82eformsu82egetbyname cabecera osubform oformu82egetbyname productos hoyu800 oform oformu82egetbyname datvidquotefecha osubformu82egetbyname componentesdisplay .getbyname componentesdisplaygrid .setpropertyvalue enablevisible true osubformu82egetbyname componentessimple .getbyname componentessimplegrid .setpropertyvalue enablevisible false osubformu82egetbyname componentessimple .getbyname subtotalproducto .getbyname total .setpropertyvalue enablevisible false endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form presupuesto form presupuestou82ecabecera evento presupuestou82ecabecerau82ewhenloading '),(100,'form posicioncrm',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n visualizaciu8c3b3n delu800 resumen deu800 saldos deu800 crmu800. comparaciu8c3b3n deu800 saldos deu800 presupuestos aprobados versus cobranzas composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n form posicioncrmu82emainform tabla vidquoten1 tabla vidquoten3 select clienteid tdocumentorg ndocumentoorg fechaop sumu800 importedeu asu800 saldodeudor sumu800 importeacr asu800 saldoacreedor sumu800 importedeu -sumu800 importeacr asu800 saldo from select distinct vidquoten1u82evidquotecliente asu800 clienteid \'otu800\' asu800 tdocumentorg vidquoten3u82evidquoteid asu800 ndocumentoorg vidquoten1u82evidquotefecha asu800 fechaop sumu800 vidquoten3u82evidquotepreciop asu800 importedeu 0u800 asu800 importeacr from vidquoten1 asu800 vidquoten1 vidquoten3 asu800 vidquoten3 where vidquoten1u82evidquoteid vidquoten3u82evidquoteid andu800 vidquoten1u82evidquoteestado \'1u800\' group byu800 clienteid ndocumentoorg union select ifu800 isnull accreceiv . clientear \'00000000\' accreceiv . clientear asu800 clienteid accreceiv . tdocumentoorg accreceiv . ndocumentoorg accreceiv . fechaar asu800 fechaop 0u800 asu800 importedeu accreceiv . importear asu800 importeacr from fzggestion . accreceiv asu800 t1u800 group byu800 clienteid form posicioncrmu82esubformsaldo tabla vidquoten1 tabla vidquoten3 select t1u800u82evidquotecliente sumu800 t1u800u82evidquotepreciop asu800 vidquotepreciop from select distinct vidquoten1u82evidquotecliente asu800 vidquotecliente \'otu800\' asu800 ttransaccion vidquoten3u82evidquoteid asu800 ntransaccion vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquoteobra asu800 vidquoteobra sumu800 vidquoten3u82evidquotepreciop asu800 vidquotepreciop from vidquoten1 asu800 vidquoten1 vidquoten3 asu800 vidquoten3 where vidquoten1u82evidquoteid vidquoten3u82evidquoteid andu800 vidquoten1u82evidquoteestado \'1u800\' group byu800 vidquotecliente ttransaccion ntransaccion union select ifu800 isnull accreceiv . clientear \'00000000\' accreceiv . clientear asu800 vidquotecliente accreceiv . tdocumentoorg asu800 ttransaccion accreceiv . ndocumentoorg asu800 ntransaccion accreceiv . fechaar asu800 vidquotefecha   asu800 vidquoteobra accreceiv . importear -1u800 asu800 vidquotepreciop from fzggestion . accreceiv asu800 t1u800 group byu800 t1u800u82evidquotecliente form posicioncrmu82esubformcliente tabla contactos select contactoid ncontacto razonsocial direccion localidad clientetag telefono1 correo1 from fzggestionu82econtactos asu800 contactos where clientetag 1u800 order byu800 contactoid ascu800 estructura estructura estructura cu8c3b3digo relacionado macro reporteclientescrm bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131008 seu800 elimina elu800 subform sfpresupuesto puede haber quedado enu800 forma residual deu800 copiar otro formulario form posicioncrmu82esfpresupuesto tabla vidquoten1 tabla vidquoten3 select distinct vidquoten1u82evidquotecliente asu800 vidquotecliente vidquoten3u82evidquoteid asu800 vidquoteid vidquoten1u82evidquoteobra asu800 vidquoteobra vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquoteestado asu800 vidquoteestado sumu800 vidquoten3u82evidquotepreciop asu800 vidquotepreciop from oju800 fzggestionu82evidquoten1 asu800 vidquoten1 right outer join fzggestionu82evidquoten3 asu800 vidquoten3 onu800 vidquoten1u82evidquoteid vidquoten3u82evidquoteid where vidquoten1u82evidquoteestado \'1u800\' group byu800 vidquoten3u82evidquoteid order byu800 vidquotecliente ascu800 vidquoteid ascu800 seu800 elimina elu800 subform sfcobranzas puede haber quedado enu800 forma residual deu800 copiar otro formulario form posicioncrmu82esfcobranzas tabla accreceiv seu800 realiza elu800 cambio delu800 data source delu800 form posicioncrmu82esubformcliente cambiando lau800 vista clientes poru800 elu800 sqlcode descripto form posicioncrm#composicion anteriormente . seu800 cambian lasu800 referencias enu800 elu800 datagrid debido alu800 cambio deu800 datasource seu800 cambia lau800 activaciu8c3b3n deu800 poru800 contenido delu800 atributo txtfiltro deu800 macro activafiltroproductosgeneral au800 macro activafiltrocontactos usou800 usou800 usou800 '),(101,'rprt individualcrm',' category rprt descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n imprime elu800 informe individual poru800 cliente seleccionado deu800 losu800 antecedentes deu800 transacciones. lau800 ejecuciu8c3b3n proviene delu800 form consultacrm yu800 form posicioncrm composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten1 tabla vidquoten3 vista clientes tabla clientescrmqry estructura estructura estructura select t1u800u82evidquotecliente t2u800u82erazonsocial t1u800u82ettransaccion t1u800u82entransaccion t1u800u82evidquotefecha t1u800u82evidquoteobra t1u800u82evidquotepreciop from select distinct vidquoten1u82evidquotecliente asu800 vidquotecliente \'otu800\' asu800 ttransaccion vidquoten3u82evidquoteid asu800 ntransaccion vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquoteobra asu800 vidquoteobra sumu800 vidquoten3u82evidquotepreciop asu800 vidquotepreciop from vidquoten1 asu800 vidquoten1 vidquoten3 asu800 vidquoten3 where vidquoten1u82evidquoteid vidquoten3u82evidquoteid andu800 vidquoten1u82evidquoteestado \'1u800\' group byu800 vidquotecliente ttransaccion ntransaccion union select ifu800 isnull accreceiv . clientear \'00000000\' accreceiv . clientear asu800 vidquotecliente accreceiv . tdocumentoorg asu800 ttransaccion accreceiv . ndocumentoorg asu800 ntransaccion accreceiv . fechaar asu800 vidquotefecha   asu800 vidquoteobra accreceiv . importear -1u800 asu800 vidquotepreciop from fzggestion . accreceiv asu800 t1u800 clientes asu800 t2u800 where t1u800u82evidquotecliente t2u800u82eclienteid andu800 t1u800u82evidquotecliente inu800 select clienteid from clientescrmqry order byu800 t1u800u82evidquotecliente t1u800u82evidquotefecha cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado bitu8c3a1cora usou800 usou800 usou800 '),(102,'form consultaclientecrm',' descripciu8c3b3n despliega informaciu8c3b3n deu800 lau800 posiciu8c3b3n delu800 cliente ante lau800 gestiu8c3b3n. toma losu800 datos provenientes deu800 tabla vidquoten1 para tomar losu800 datos bu8c3a1sicos deu800 losu800 presupuestos aprobados yu800 lau800 tabla accreceiv deu800 donde obtiene lau800 informaciu8c3b3n correspondiente au800 lasu800 cobranzas. elu800 totalizador deu800 lau800 deuda seu800 encuentra detallado enu800 cu8c3b3digo relacionado. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten1 tabla vidquoten3 tabla accreceiv estructura estructura estructura cu8c3b3digo relacionado detalle detalle detalle #sumariza losu800 productos elementos indicados enu800 tabla vidquoten3 para todos aquellos presupuestos queu800 estu8c3a9n aprobados indicados enu800 tabla vidquoten1 . uneu800 losu800 presupuestos ordenes deu800 trabajo otu800 conu800 lasu800 cobranzas realizadas. #sumariza losu800 valores resultantes poru800 cliente. select t1u800u82evidquotecliente sumu800 t1u800u82evidquotepreciop asu800 vidquotepreciop from select distinct vidquoten1u82evidquotecliente asu800 vidquotecliente \'otu800\' asu800 ttransaccion vidquoten3u82evidquoteid asu800 ntransaccion vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquoteobra asu800 vidquoteobra sumu800 vidquoten3u82evidquotepreciop asu800 vidquotepreciop from vidquoten1 asu800 vidquoten1 vidquoten3 asu800 vidquoten3 where vidquoten1u82evidquoteid vidquoten3u82evidquoteid andu800 vidquoten1u82evidquoteestado \'1u800\' group byu800 vidquotecliente ttransaccion ntransaccion union select ifu800 isnull accreceiv . clientear \'00000000\' accreceiv . clientear asu800 vidquotecliente accreceiv . tdocumentoorg asu800 ttransaccion accreceiv . ndocumentoorg asu800 ntransaccion accreceiv . fechaar asu800 vidquotefecha   asu800 vidquoteobra accreceiv . importear -1u800 asu800 vidquotepreciop from fzggestion . accreceiv asu800 t1u800 group byu800 t1u800u82evidquotecliente bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121023 seu800 elimina elu800 acceso au800 lau800 vista vistranscrm yu800 seu800 reemplaza poru800 losu800 datos reflejados enu800 cu8c3b3digo relacionado usou800 usou800 usou800 '),(103,'tabla magnitudes',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n definicion deu800 tabla deu800 acceso magnitudes conu800 lasu800 formulas para lau800 versiu8c3b3n 2u800 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura create table magnitudes magnitudid char 2u800 notu800 null magnituddsc varchar 45u800 default null magnitudclc varchar 300u800 default null primary keyu800 magnitudid engine myisam default charset latin1 sqlu800 sqlu800 sqlu800 preu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121018 alta deu800 tabla 20121022 insert datos insert into magnitudes values \'alu800\' \'alto\' null \'anu800\' \'ancho\' null \'kgu800\' \'kilogramo\' null \'m2u800\' \'metro cuadrado\' null \'mgu800\' \'magnitud galarza\' null \'mlu800\' \'metro lineal\' null \'pru800\' \'perimetro\' null \'unu800\' \'unidad\' \'yu8e280a6u8e284a2u8c3a4u8c2aeu8efbfbdhru8c3b8u8c397u8efbfbdu8c3b3u8c3a6u8efbfbdg u8c2ac u8c3b4u8c3b1 u8efbfbdlu8efbfbdu8c28du8efbfbd \'u8c2aa3u8c3bd0u8e2809du8c3a6u8c3abu8e280a6u8c2a89u8efbfbdu8c29du8c3a2u8e280a6ru8c2a3u8efbfbdu8c2a9zu8c2a4 yu8c2aa3u8c2aefu8c28fu8c39fu8c2aa u8c3b0u8c3adu8efbfbd\' ; usou800 usou800 usou800 urlu800 '),(104,'spanex draw',' tabla projects tabla secciones tabla frames '),(105,'tabla projects',' descripciu8c3b3n composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura delimiter create table project projectid intu800 11u800 notu800 null auto_increment projectdsc varchar 20u800 default null projectsite varchar 45u800 default null projectdate date default null primary keyu800 projectid engine innodb default charset latin1 sqlu800 sqlu800 sqlu800 preu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(106,'tabla secciones',' descripciu8c3b3n composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura delimiter create table secciones seccionid intu800 11u800 notu800 null seccionw intu800 11u800 default null seccionh intu800 11u800 default null primary keyu800 seccionid engine innodb default charset latin1 sqlu800 sqlu800 sqlu800 preu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(107,'tabla frames',' descripciu8c3b3n define losu800 lu8c3admites yu800 contenidos deu800 unu800 frame dentro deu800 unau800 secciu8c3b3n yu800 dentro deu800 unu800 proyecto. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura delimiter create table frames frameprj intu800 11u800 notu800 null framesec intu800 11u800 notu800 null frameid intu800 11u800 notu800 null auto_increment framedsc varchar 45u800 default null framew intu800 11u800 notu800 null frameh intu800 11u800 notu800 null frameprodid char 8u800 notu800 null primary keyu800 frameid frameprj framesec frameprodid engine innodb default charset latin1 sqlu800 sqlu800 sqlu800 bitu8c3a1cora 20121025 alta deu800 tabla usou800 usou800 usou800 urlu800 '),(108,'tabla vidquoten1',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n esquema deu800 cabecera deu800 registraciu8c3b3n deu800 presupuesto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table vidquoten1 vidquoteid intu800 11u800 notu800 null auto_increment vidquoteobra char 20u800 default null vidquotecliente char 8u800 default null vidquotefecha date default null vidquotefechaest date default null vidquoteestado char 1u800 default \'0u800\' vidquoteacom char 4u800 default null vidquotemedcheck char 1u800 default \'0u800\' primary keyu800 vidquoteid engine myisam auto_increment 191u800 default charset latin1 triggers triggers triggers delete trig vidquoten1u82ebaja_presupuesto bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121026 alta deu800 esta documentaciu8c3b3n modificaciu8c3b3n deu800 lau800 estructura. agregado deu800 control deu800 notnull para losu800 atributos deu800 cliente yu800 agente comercial alter table fzggestion . vidquoten1 change column vidquotecliente vidquotecliente char 8u800 notu800 null change column vidquoteacom vidquoteacom char 4u800 notu800 null ; usou800 usou800 usou800 form presupuesto rprt presupuesto urlu800 urlu800 urlu800 '),(109,'macro eventobradetallepresupuesto',' descripciu8c3b3n ejecutor delu800 evento before record action delu800 form presupuestou82eproductos . principalmente setea lau800 variable deu800 entorno para queu800 pueda seru800 tomada poru800 otros procesos yu800 ejecuta elu800 proceso queu800 chequea losu800 atributos columnas deu800 ancho yu800 alto. biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121026 previa 20121026 cambio deu800 modalidad deu800 subu800 au800 function para poder controlar yu800 mantener enu800 elu800 misma fila columna. seu800 agrega elu800 control deu800 flujo au800 traves deu800 macro checkvalidmeasure au800 aplicar para detectar antes deu800 efectuar elu800 grabado delu800 registro. usou800 usou800 usou800 '),(110,'libr fazzglassmcr',' category libr macro accesamristardesktop macro accesamrithiscomponent macro accesamrithisdatabasedocument macro activafiltrocheques macro activafiltrocontactos macro activafiltropredefinidos macro activafiltropresupuesto macro activafiltroproductosgeneral macro activanuevalistaprecio macro afterrecordchangeformproductos macro afterupdateelementodproducto macro agregacomposicion macro aplicarcambiomasivoprecios macro apruebapresupuesto macro araendosocheque macro botonabrirpredefinidos macro botonenviarcorreopresupuesto macro botonimprimirpresupuesto macro botonseleccionapredefinido macro braendosocheque macro cambiomasivocoeficientesprecios macro centrarmensaje macro changefieldtxtproductoidformcopiacomp macro changefieldtxtproductoidformproductos macro checklicenceok macro chequeoproductorepetido macro chequeovalorlicenciaok macro confirmeeliminardetalleproducto macro confirmeeliminarlogprecio macro confirmeeliminarproducto macro confirmeeliminarproductocore macro copiacomposicion macro datestampprecioupdate macro datetodbdate macro eliminacontenidocampo macro enviaqrypresupuesto macro escondebarras macro eventoafterrecordaction macro eventoaradetallepresupuesto macro eventobeforerecordchange macro eventobeforereloading macro eventobradetallepresupuesto macro eventobradetalleproducto macro eventobraproductoscore macro eventobrcdetallepresupuesto macro eventobrcdetalleproducto macro eventowhenloading macro eventowhenloadingformcabecera macro eventowhenloadingformcobranzas macro eventowhenloadingformpagos macro eventowhenreloading macro fileattributestring macro generafechalistaprecio macro generanuevodefaultlistaprecio macro generaresguardo macro grabascriptbkp macro hoyu800 macro imprimeqrypresupuesto macro layoutin macro layoutout macro limpiarmasivocoeficientesprecios macro lookupdata macro main macro newproductolistbox macro newresetlistboxdetalleproducto macro onclickopenform macro openform macro openmainmenu macro optionbtnar macro optionbtnordenchq macro presupuestocopia macro presupuestoexpirado macro querysimple macro recalculaprecios macro reemplazastr macro reporteclientescrm macro resguardoejecutar macro resguardoinicializa macro resguardosalir macro restituyefiltrooriginal macro sugerenciaimportecheque macro sugerencio macro switchbarras macro switchcheckboxparam macro test macro testmri macro testthiscomponent macro testthiscontrol macro textostatusbar macro visibledetalleelementogrid macro visiblefiltropresupuesto '),(111,'libr spanexb',' category libr macro activafiltrovaloresgeneral macro activarelacionform macro actualizadb macro actualizaregistrocheckbox macro altaproductopresupuesto macro aprobacionpresupuesto macro botonactualizarpresupuesto macro botoncontactosexpress macro botoneditarcomponentes macro checkvalidmeasure macro confirmadeletepresupuesto macro controlformpresupuesto macro controllista macro copiacomponentesimple macro defineaccionform macro despliegagrid macro despliegalistbox macro endosartercerosengrilla macro enviaclienteidcobranza macro eventowhenreceivingfocus macro filtroplustext macro iiif macro menuarbol macro muestrasubform macro optionbtnap macro recalculasubtotalproductotmp macro resetfiltroproductoformpresupuesto macro roundn macro selectc_selectionchanged macro selects_getselection macro selects_select macro splitmsg macro sugerenciacontactoid macro tree_disposing macro tree_requestchildnodes macro tree_treecollapsed macro tree_treecollapsing macro tree_treeexpanded macro tree_treeexpanding macro visibleingresocheque '),(114,'macro aprobacionpresupuesto',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n ejecuta lasu800 operaciones alu800 marcar elu800 vidquoteestado dentro deu800 unu800 presupuesto. biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 aprobacionpresupuesto oevent asu800 object dimu800 oestado asu800 boolean oform oeventu82esourceu82emodelu82eparent omensaje omensaje omensaje & este proceso realiza lasu800 siguientes actividades & chru800 13u800 omensaje omensaje & marca elu800 presupuesto como aprobado yu800 nou800 permite suu800 modificacion. & chru800 13u800 omensaje omensaje & genera unau800 obligacion para elu800 cliente enu800 suu800 cuenta corriente. & chru800 13u800 omensaje omensaje & genera unau800 orden deu800 trabajo otu800 para producciu8c3b3n taller. & chru800 13u800 & chru800 13u800 omensaje omensaje & u8c2bfdesea aprobar este presupuesto ifu800 msgbox omensaje mb_yesno mb_iconexclamation atenciu8c3b3n idyes andu800 notu800 oformu82eisnew then oformu82egetbyname datvidquotefechaest .boundfieldu82eupdatestring format clng cdatetoiso date 0000-00u800-00u800 oformu82eupdaterow \'oestado iiif notu800 oformu82eisnew oformu82egetbyname txtvidquoteestado .currentvalue 0u800 \'osubform oformu82egetbyname productos \'osubformgrid osubformu82egetbyname productosgrid \'osubformgridu82esetpropertyvalue enabled notu800 oestado \'osubformu82egetbyname navbarlistaproductos .setpropertyvalue enabled notu800 oestado controlformpresupuesto endu800 ifu800 endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121030 seu800 eliminan lasu800 lu8c3adneas afectadas au800 redesplegar elu800 presupuesto deu800 acuerdo alu800 estado modificado yu800 seu800 reemplaza poru800 macro controlformpresupuesto 20121029 ultimo script subu800 aprobacionpresupuesto oevent asu800 object dimu800 oestado asu800 boolean oform oeventu82esourceu82emodelu82eparent omensaje omensaje omensaje & este proceso realiza lasu800 siguientes actividades & chru800 13u800 omensaje omensaje & marca elu800 presupuesto como aprobado yu800 nou800 permite suu800 modificacion. & chru800 13u800 omensaje omensaje & genera unau800 obligacion para elu800 cliente enu800 suu800 cuenta corriente. & chru800 13u800 omensaje omensaje & genera unau800 orden deu800 trabajo otu800 para producciu8c3b3n taller. & chru800 13u800 & chru800 13u800 omensaje omensaje & u8c2bfdesea aprobar este presupuesto ifu800 msgbox omensaje mb_yesno mb_iconexclamation atenciu8c3b3n idyes andu800 notu800 oformu82eisnew then oformu82egetbyname datvidquotefechaest .boundfieldu82eupdatestring format clng cdatetoiso date 0000-00u800-00u800 oformu82eupdaterow oestado iiif notu800 oformu82eisnew oformu82egetbyname txtvidquoteestado .currentvalue 0u800 osubform oformu82egetbyname productos osubformgrid osubformu82egetbyname productosgrid osubformgridu82esetpropertyvalue enabled notu800 oestado osubformu82egetbyname navbarlistaproductos .setpropertyvalue enabled notu800 oestado endu800 ifu800 endu800 subu800 usou800 usou800 usou800 form presupuesto form presupuestou82ecabecera evnt presupuestou82ecabecerau82etxtvidquoteestadou82eitemstatuschange '),(115,'libr spanexc',' category libr macro cuadroprueba macro cuadroprueba1 macro cuadroprueba2 macro eventoafterupdatingproductoid macro eventobeforeupdating macro eventochanged macro eventoexecaction macro eventoitemstatuschanged macro pruebadraw macro showtoolbars macro startdocument macro xgridselection_disposing macro xgridselection_selectionchanged '),(145,'tabla bocetossbs',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container deu800 subconjunto deu800 lineas deu800 control deu800 bocetos composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table bocetossbs bocetoid char 8u800 notu800 null productoid char 8u800 notu800 null composicid intu800 5u800 notu800 null subsettp char 1u800 notu800 null subsetno intu800 2u800 notu800 null primary keyu800 bocetoid composicid productoid subsettp subsetno engine innodb default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121201 alta usou800 usou800 usou800 urlu800 '),(116,'tabla moduloscab',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n cabecera deu800 mu8c3b3dulos deu800 producto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura sqlu800 sqlu800 sqlu800 delimiter create table moduloscab moduloid char 8u800 notu800 null default   modulodsc varchar 80u800 notu800 null modulovw intu800 5u800 default \'0u800\' modulovh intu800 5u800 default \'0u800\' moduloimg blob moduloath varchar 10u800 notu800 null modulofec date notu800 null primary keyu800 moduloid engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121121 alta usou800 usou800 usou800 urlu800 '),(117,'tabla modulosdet',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n detalle deu800 informaciu8c3b3n deu800 modulos. seu800 relaciona jeru8c3a1rquicamente hacia arriba conu800 tabla moduloscab yu800 hacia abajo conu800 tabla modulossbs composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table modulosdet moduloid char 8u800 notu800 null productoid char 8u800 notu800 null composicid intu800 5u800 notu800 null auto_increment cantidadpr intu800 5u800 default null anchopredef intu800 5u800 default null altopredef intu800 5u800 default null dimensionchg intu800 5u800 default \'1u800\' cantidadchg intu800 5u800 default \'1u800\' productochg intu800 5u800 default \'1u800\' productovsb intu800 5u800 default \'1u800\' posx intu800 5u800 default \'0u800\' posy intu800 5u800 default \'0u800\' primary keyu800 moduloid productoid composicid engine myisam auto_increment 15u800 default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121205 cambio deu800 esquema para albergar varias ocurrencias deu800 subconjuntos deu800 lineas deu800 control para elu800 chequeo deu800 lasu800 dimensiones. seu800 elimina elu800 trigger deu800 automatizaciu8c3b3n deu800 ingreso yau800 queu800 solo agrega lu8c3adneas au800 lau800 tabla modulossbs anterior estructura delimiter create table modulosdet moduloid char 8u800 notu800 null productoid char 8u800 notu800 null composicid intu800 5u800 notu800 null auto_increment cantidadpr intu800 5u800 default null anchopredef intu800 5u800 default null altopredef intu800 5u800 default null dimensionchg intu800 5u800 default \'1u800\' cantidadchg intu800 5u800 default \'1u800\' productochg intu800 5u800 default \'1u800\' subsetancho intu800 5u800 default \'1u800\' subsetalto intu800 5u800 default \'1u800\' productovsb intu800 5u800 default \'1u800\' primary keyu800 moduloid productoid composicid engine myisam auto_increment 15u800 default charset latin1 create definer sas_admin trigger fzggestion . modifica_modulo before update onu800 fzggestion . modulosdet foru800 each rowu800 begin setu800 newu800u82esubsetancho ifu800 newu800u82esubsetancho 0u800 null newu800u82esubsetancho newu800u82esubsetalto ifu800 newu800u82esubsetalto 0u800 null newu800u82esubsetalto ; endu800 20121121 alta usou800 usou800 usou800 urlu800 '),(118,'vista vischeckmod',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n lista losu800 valores calculados deu800 losu800 subconjuntos deu800 dimensiones definidos dentro deu800 unu800 mu8c3b3dulo para corroborar elu800 correcto dimensionamiento deu800 unu800 mu8c3b3dulo. toma lasu800 registraciones deu800 lau800 tabla modulossbs yu800 lasu800 agrupa sumarizando losu800 valores indicados dentro deu800 subsettp tipo yu800 subsetno nu8c3bamero deu800 lu8c3adnea queu800 representan losu800 valores originales deu800 dimensionamiento interno. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla modulossbs tabla modulosdet tabla moduloscab estructura estructura estructura sqlu800 create view vischeckmod asu800 select modulossbs . moduloid asu800 moduloid modulossbs . productoid asu800 productoid modulossbs . composicid asu800 composicid modulossbs . subsettp asu800 subsettp modulossbs . subsetno asu800 subsetno ifu800 modulossbs . subsettp \'wu800\' sumu800 modulosdet . anchopredef sumu800 modulosdet . altopredef asu800 lineadim ifu800 modulossbs . subsettp \'wu800\' moduloscab . modulovw moduloscab . modulovh asu800 modulodim ifu800 modulossbs . subsettp \'wu800\' sumu800 modulosdet . anchopredef sumu800 modulosdet . altopredef ifu800 modulossbs . subsettp \'wu800\' moduloscab . modulovw moduloscab . modulovh asu800 estadook from modulosdet join modulossbs join moduloscab where modulosdet . moduloid modulossbs . moduloid andu800 modulosdet . productoid modulossbs . productoid andu800 modulosdet . composicid modulossbs . composicid andu800 moduloscab . moduloid modulosdet . moduloid group byu800 modulossbs . subsettp modulossbs . subsetno bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121127 alta vista 2012121 debido alu800 cambio deu800 estructura deu800 mu8c3b3dulos para poder albergar varias definiciones deu800 lineas deu800 control poru800 producto seu800 cambia completamente elu800 esquema 20130419 agregado deu800 atributo estadook queu800 representa elu800 estado deu800 lau800 lu8c3adnea deu800 control seleccionada usou800 usou800 usou800 urlu800 '),(119,'spanexgestionu82eformu82emodulosu82epngu800',' '),(120,'form modulos',' descripciu8c3b3n proceso deu800 definiciu8c3b3n deu800 unu800 mu8c3b3dulo ou800 modelo ou800 kitu800 deu800 producto cuyos elementos nou800 sean dependientes enu800 forma taxativa au800 unu800 vano ou800 espacio deu800 trabajo determinado sino queu800 estu8c3a9 incluido enu800 elu800 mismo composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla moduloscab tabla modulosdet imagen imagen imagen file spanexgestionu82eformu82emodulosu82epngu800 400px estructura estructura estructura formmodulos formcomponentes cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado macro controlbotonesformmodulos macro confirmadeletemodulo bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121130 alta deu800 formulario usou800 usou800 usou800 '),(121,'macro checkvalidmeasure',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n chequea losu800 campos deu800 dimensiones dentro delu800 form presupuesto biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo function checkvalidmeasure optional oevent asu800 object \'test oevent checkvalidmeasure true ocontroller thiscomponentu82ecurrentcontroller ifu800 ismissing oevent then oformcabecera thiscomponentu82edrawpageu82eforms 0u800 oformproductos oformcabecerau82egetbyname productos oformproductosgrid oformproductosu82egetbyname productosgrid ocampoancho oformproductosgridu82egetbyname fmtvidquoteancho ocampoalto oformproductosgridu82egetbyname fmtvidquotealto ocamponame checkvalidmeasure omagnitud oformproductosgridu82egetbyname txtvidquotemagnitud .currentvalue else oevento oevent ocampo oeventou82esourceu82emodel ocamponame oeventou82esourceu82emodelu82ename oformproductosgrid oeventou82esourceu82emodelu82eparent omagnitud oformproductosgridu82egetbyname txtvidquotemagnitud .currentvalue endu800 ifu800 \'msgbox test select case ocamponame case fmtvidquoteancho select case omagnitud case m2u800 mgu800 pru800 anu800 mlu800 ifu800 ocampou82ecurrentvalue 25u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo conu800 valores vu8c3a1lidos msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 3u800 ogridviewu82esetfocus ogridviewu82esetcurrentcolumnposition 3u800 checkvalidmeasure false \'test ogridview endu800 ifu800 case unu800 endu800 select case fmtvidquotealto select case omagnitud case m2u800 mgu800 pru800 alu800 ifu800 ocampou82ecurrentvalue 25u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo conu800 valores vu8c3a1lidos msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 4u800 ogridviewu82esetfocus ogridviewu82esetcurrentcolumnposition 4u800 checkvalidmeasure false \'test ogridview endu800 ifu800 case mlu800 anu800 unu800 endu800 select case checkvalidmeasure ocampo ocampoancho select case omagnitud case m2u800 mgu800 pru800 anu800 mlu800 ifu800 ocampou82ecurrentvalue 25u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo ancho lrgu800 conu800 valores vu8c3a1lidos msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 4u800 ogridviewu82esetfocus checkvalidmeasure false endu800 ifu800 case unu800 endu800 select ifu800 checkvalidmeasure then ocampo ocampoalto select case omagnitud case m2u800 mgu800 pru800 alu800 ifu800 ocampou82ecurrentvalue 25u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo alto conu800 valores vu8c3a1lidos msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 4u800 ogridviewu82esetfocus checkvalidmeasure false endu800 ifu800 case mlu800 anu800 unu800 endu800 select endu800 ifu800 endu800 select endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121203 cambio deu800 valores tope deu800 100u800 au800 25u800 10cm au800 25cm ocampou82ecurrentvalue 100u800 20121115 alta function checkvalidmeasure optional oevent asu800 object \'test oevent checkvalidmeasure true ocontroller thiscomponentu82ecurrentcontroller ifu800 ismissing oevent then oformcabecera thiscomponentu82edrawpageu82eforms 0u800 oformproductos oformcabecerau82egetbyname productos oformproductosgrid oformproductosu82egetbyname productosgrid ocampoancho oformproductosgridu82egetbyname fmtvidquoteancho ocampoalto oformproductosgridu82egetbyname fmtvidquotealto ocamponame checkvalidmeasure omagnitud oformproductosgridu82egetbyname txtvidquotemagnitud .currentvalue else oevento oevent ocampo oeventou82esourceu82emodel ocamponame oeventou82esourceu82emodelu82ename oformproductosgrid oeventou82esourceu82emodelu82eparent omagnitud oformproductosgridu82egetbyname txtvidquotemagnitud .currentvalue endu800 ifu800 \'msgbox test select case ocamponame case fmtvidquoteancho select case omagnitud case m2u800 mgu800 pru800 anu800 mlu800 ifu800 ocampou82ecurrentvalue 100u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 3u800 ogridviewu82esetfocus ogridviewu82esetcurrentcolumnposition 3u800 checkvalidmeasure false \'test ogridview endu800 ifu800 case unu800 endu800 select case fmtvidquotealto select case omagnitud case m2u800 mgu800 pru800 alu800 ifu800 ocampou82ecurrentvalue 100u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 4u800 ogridviewu82esetfocus ogridviewu82esetcurrentcolumnposition 4u800 checkvalidmeasure false \'test ogridview endu800 ifu800 case mlu800 anu800 unu800 endu800 select case checkvalidmeasure ocampo ocampoancho select case omagnitud case m2u800 mgu800 pru800 anu800 mlu800 ifu800 ocampou82ecurrentvalue 100u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo ancho lrgu800 msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 4u800 ogridviewu82esetfocus checkvalidmeasure false endu800 ifu800 case unu800 endu800 select ifu800 checkvalidmeasure then ocampo ocampoalto select case omagnitud case m2u800 mgu800 pru800 alu800 ifu800 ocampou82ecurrentvalue 100u800 then omensaje lau800 magnitud definida delu800 producto requiere completar este campo alto msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation u8c2a1error ogridview ocontrolleru82egetcontrol oformproductosgrid ocampoview ogridviewu82egetbyindex 4u800 ogridviewu82esetfocus checkvalidmeasure false endu800 ifu800 case mlu800 anu800 unu800 endu800 select endu800 ifu800 endu800 select endu800 function usou800 usou800 usou800 '),(122,'tabla modulossbs',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n detalle deu800 subconjuntos deu800 lineas deu800 control tendidas para elu800 chequeo deu800 lasu800 dimensiones deu800 vano para mu8c3b3dulos. seu800 utiliza enu800 forma conjunta conu800 suu800 tabla padre tabla modulosdet composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table modulossbs moduloid char 8u800 notu800 null productoid char 8u800 notu800 null composicid intu800 5u800 notu800 null subsettp char 1u800 notu800 null subsetno intu800 2u800 notu800 null primary keyu800 moduloid composicid productoid subsettp subsetno engine innodb default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121205 alta usou800 usou800 usou800 urlu800 '),(123,'wikispanexsupport',' '),(127,'spanex estructuras',' temp layoutgeneral templates deu800 layout estructuras deu800 trabajo estructuras deu800 trabajo estructuras deu800 trabajo category tablas tablas category trig triggers category vistas vistas category form formularios category macro macros category rprt informes category proc procedimientos category libr bibliotecas estructuras sqlu800 cu8c3b3digosql '),(124,'tablas',' glosario deu800 tablas deu800 lau800 aplicaciu8c3b3n '),(126,'tktu800',' lista deu800 tickets deu800 soporte pendientes crear ticket crear ticket crear ticket '),(125,'tktu800 fzgu800u82e000001',' category tktout data tktu800 data tktu800 data tktu800  usuario   sofia  fecha   20121205  soporte   sasu800 incidente incidente incidente seu800 corrompe elu800 archivo manifiestu82erdfu800 luego deu800 cerrar lau800 aplicaciu8c3b3n yu800 abrirla nuevamente workaround workaround workaround seu800 consulta sobre lau800 acciu8c3b3n enu800 elu800 resto deu800 losu800 equipos. seu800 verifican queu800 funcionan correctamente. seu800 investiga. seu800 resuelve revisar elu800 equipamiento inu800-situ. resoluciu8c3b3n resoluciu8c3b3n resoluciu8c3b3n seu800 verificu8c3b3 elu800 problema. dado queu800 elu800 equipo nunca seu800 apagaba yu800 tenu8c3ada colocado elu800 openoffice quick loader mantenu8c3ada elu800 error deu800 conexiu8c3b3n queu800 seu800 produce cuando pierde lau800 conexiu8c3b3n conu800 elu800 motor deu800 dbms. seu800 procediu8c3b3 au800 quitar elu800 openoffice quickloader deu800 losu800 programas deu800 inicio. seu800 reiniciu8c3b3 yu800 funcionu8c3b3. resoluciu8c3b3n resoluciu8c3b3n resoluciu8c3b3n cerrado observaciones observaciones observaciones '),(128,'vistas',' listado deu800 vistas '),(129,'tktu800 fzgu800u82e000002',' category tktout data tktu800 data tktu800 data tktu800  usuario   lucas  fecha   20121206u82e1700  soporte   sasu800 incidente incidente incidente alu800 tiempo deu800 ejecutar unu800 presupuesto enu800 apariencia cuando seu800 define restricciones enu800 elu800 offset deu800 unu800 elemento anidado dentro deu800 lau800 composiciu8c3b3n elu800 calculo delu800 mismo hecho enu800 forma directa conu800 elu800 offset restado delu800 valor original nou800 dau800 lou800 mismo. producto vano0002 conu800 dvhu800 4u800 9u800 4u800 incoloro versus elu800 mismo dvhu800 4u800 9u800 4u800 como producto solo para lasu800 dimensiones 400x1650 yu800 350x1600 workaround workaround workaround resoluciu8c3b3n seu800 detecta queu800 nou800 seu800 propagan lasu800 caracteru8c3adsticas deu800 losu800 elementos componentes conu800 niveles deu800 composiciu8c3b3n adicional. seu800 hizo tarea deu800 cosmu8c3a9tica sobre proc calculoprecio seu800 modificaron losu800 proc altaitempresupuesto yu800 proc altaitempresupuestotmp debido au800 queu800 nou800 seu800 propagaba lasu800 caracteru8c3adsticas indicadas enu800 losu800 elementos queu800 tenu8c3adan unu800 nivel adicional deu800 composiciu8c3b3n. seu800 procediu8c3b3 au800 multiplicar losu800 coeficientes sumar losu800 offset estado estado estado finalizado. 20121207u82e1930 observaciones observaciones observaciones 20121208u82e0014 falta impactar lasu800 modificaciones enu800 lau800 base operativa. '),(130,'tktu800 fzgu800u82e000003',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   lucas  fecha   20121206u82e1800  soporte   sasu800 incidente incidente incidente generar elu800 siguiente procedimiento sobre todos losu800 productos queu800 tengan como componente losu800 productos conu800 descripciu8c3b3n biselado generar 4u800 registros adicionales colocando como valores dentro deu800 losu800 coeficientes deu800 ancho yu800 alto losu800 valores .5u800 0u800 1u800 0u800 0u800 .5u800 0u800 1u800 idem para pulido para losu800 productos queu800 tengan como componente travesau8c3b1o agregar otro deu800 lasu800 mismas caracteru8c3adsticas pero queu800 seau800 otro producto identificativo conu800 parante workaround workaround workaround resoluciu8c3b3n estado estado estado pendiente observaciones observaciones observaciones solo hacer elu800 procedure yu800 presentarlo. '),(131,'tktout',' tickets deu800 soporte cerrados. '),(132,'tktu800 fzgu800u82e000004',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   lucas  fecha   20121206u82e1600  soporte   sasu800 incidente incidente incidente cuando carga unu800 producto conu800 lau800 facilidad delu800 filtro pasa directamente alu800 campo deu800 altura yu800 enu800 apariencia quiere pasar alu800 otro campo generando elu800 error correspondiente poru800 nou800 ingresarle elu800 dato deu800 dimensionamiento workaround workaround workaround resoluciu8c3b3n estado estado estado pendiente observaciones observaciones observaciones '),(133,'tktu800 fzgu800u82e000005',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   lucas  fecha   20121206u82e1630  soporte   sasu800 incidente incidente incidente elu800 ascensor deu800 componentesimplegrid desaparece aleatoriamente workaround workaround workaround resoluciu8c3b3n estado estado estado pendiente observaciones observaciones observaciones '),(155,'tabla contactos',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container deu800 informaciu8c3b3n deu800 personas fu8c3adsicas yu800 juru8c3addicas composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n existe unau800 composiciu8c3b3n interna queu800 esta dada au800 lau800 fecha poru800 lasu800 agrupaciones clientes vista clientes proveedores vista proveedores agentes comerciales vista acomerciales otros sqlu800 sqlu800 sqlu800 delimiter create table contactos contactoid char 8u800 notu800 null razonsocial varchar 45u800 default null direccion varchar 45u800 default null localidad varchar 45u800 default null provincia varchar 45u800 default null pais varchar 20u800 default null cpostal varchar 7u800 default null cuit varchar 13u800 default null area varchar 20u800 default null telefono1 varchar 15u800 default null telefono2 varchar 15u800 default null telefono3 varchar 15u800 default null telefonom varchar 15u800 default null telefonof varchar 15u800 default null correo1 varchar 40u800 default null correo2 varchar 40u800 default null ncontacto varchar 40u800 default null acontacto varchar 40u800 default null listaprecio intu800 1u800 default null notas varchar 240u800 default null clientetag intu800 1u800 default null proveedortag intu800 1u800 default null acomercialtag intu800 1u800 default null otrostag intu800 1u800 default null contactoidabrv char 4u800 default null coeficienteac decimal 5u800 2u800 default \'1u800u82e00u800\' vigenciadocs intu800 2u800 default \'15u800\' imgcontacto blob primary keyu800 contactoid engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 estu8c3a1 asociada au800 esta tabla lasu800 vista clientes yu800 vista proveedores yu800 vista acomerciales urlu800 urlu800 urlu800 '),(134,'tktu800 fzgu800u82e000006',' category tktout data tktu800 data tktu800 data tktu800  usuario   sofia  fecha   201212070930  soporte   sasu800 incidente incidente incidente mensaje deu800 error solicitando informaciu8c3b3n deu800 feedback para oracle openoffice. thunderlink messageid snt002-w398146b91f00276402d8ebd440 phxu800u82egblu800 workaround workaround workaround resoluciu8c3b3n continuaciu8c3b3n yu800 cancelaciu8c3b3n delu800 pedido deu800 informaciu8c3b3n deu800 oracle estado estado estado finalizado observaciones observaciones observaciones '),(135,'tktu800u82efzgu800u82e000006',' '),(136,'tktu800u82efzgu800u82e000002',' '),(137,'tktu800u82efzgu800u82e000003',' '),(138,'tktu800u82efzgu800u82e000004',' '),(139,'tktu800u82efzgu800u82e000005',' '),(140,'proc',' lista deu800 procedimientos sqlu800 '),(141,'macros',' lista deu800 macros '),(142,'rprt',' lista deu800 informes '),(143,'tabla bocetoscab',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container deu800 cabecera deu800 bocetos. esu800 parte delu800 conjunto deu800 lau800 estructura  bocetos  tabla bocetoscab tabla bocetosdet tabla bocetossbs composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table bocetoscab moduloid char 8u800 notu800 null default   bocetoid char 8u800 notu800 null default   bocetodsc varchar 80u800 notu800 null bocetovw intu800 5u800 default \'0u800\' bocetovh intu800 5u800 default \'0u800\' bocetoimg blob bocetoath varchar 10u800 notu800 null bocetofec date notu800 null primary keyu800 bocetoid engine myisam default charset latin1 triggers triggers triggers alta trig bocetoscabu82ebaja_bocetoscab bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20121201 alta usou800 usou800 usou800 urlu800 '),(144,'tabla bocetosdet',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container deu800 detalle deu800 productos deu800 unu800 boceto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table bocetosdet bocetoid char 8u800 notu800 null productoid char 8u800 notu800 null composicid intu800 5u800 notu800 null auto_increment cantidadpr intu800 5u800 default null anchopredef intu800 5u800 default null altopredef intu800 5u800 default null dimensionchg intu800 5u800 default \'1u800\' cantidadchg intu800 5u800 default \'1u800\' productochg intu800 5u800 default \'1u800\' productovsb intu800 5u800 default \'1u800\' posx intu800 5u800 default \'0u800\' posy intu800 5u800 default \'0u800\' primary keyu800 bocetoid productoid composicid engine myisam auto_increment 15u800 default charset latin1 triggers triggers triggers baja trig bocetosdetu82ebaja_bocetosdet bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 20121201 alta urlu800 urlu800 urlu800 '),(147,'tabla listaatrib',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n sqlu800 sqlu800 sqlu800 delimiter create table listaatrib listaatribgrp intu800 11u800 notu800 null listaatribprodid char 8u800 notu800 null listaatribcol intu800 11u800 notu800 null listaatribactiva intu800 11u800 notu800 null default \'0u800\' primary keyu800 listaatribgrp listaatribcol listaatribactiva engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(148,'tabla composicionqry',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container delu800 registro deu800 consulta deu800 tabla composicion composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table composicionqry queryid intu800 11u800 notu800 null auto_increment productoid char 8u800 default null elementoid char 8u800 default null valorelemento decimal 16u800 8u800 default null elementopm intu800 1u800 default \'0u800\' offsetvanoancho intu800 11u800 default \'0u800\' offsetvanoalto intu800 11u800 default \'0u800\' productoidorg char 8u800 default null productoiddst char 8u800 default null primary keyu800 queryid engine myisam auto_increment 2u800 default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(149,'tabla debugstmt',' descripciu8c3b3n tabla deu800 ayuda deu800 procedimientos yu800 funciones deu800 lau800 base deu800 datos deu800 spanex. actua como snapshot au800 travu8c3a9s delu800 proc debugcheckpoint composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table debugstmt iddebugstmt intu800 11u800 notu800 null auto_increment fecha date default null hora time default null texto varchar 800u800 default null primary keyu800 iddebugstmt engine myisam auto_increment 1172 default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 proc debugcheckpoint urlu800 urlu800 urlu800 '),(150,'proc debugcheckpoint',' category proc descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n procedimiento deu800 registraciu8c3b3n enu800 runtime deu800 mysql rdbms composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo delimiter create definer sas_admin procedure debugcheckpoint inu800 ptexto varchar 500u800 begin insert into debugstmt fecha hora texto values curdate curtime ptexto ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(151,'tabla vidquoten2',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container delu800 detalle deu800 productos deu800 presupuestos. seu800 relaciona alu800 resto deu800 lasu800 tablas deu800 registraciones deu800 presupuestos deu800 lau800 siguiente manera file esquemau82etablasu82epresupuestou82ejpgu800 200px siendo losu800 atributos deu800 relaciu8c3b3n conu800 elu800 nivel superior conu800 vidquoteid mientras queu800 hacia elu800 nivel inferior conu800 vidquoteid vidquoteitem vidquoteprodid composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n #triggers sqlu800 sqlu800 sqlu800 delimiter create table vidquoten2 vidquoteid intu800 11u800 notu800 null vidquotelpre intu800 1u800 default null vidquoteitem intu800 11u800 notu800 null auto_increment vidquotepredid char 8u800 default null vidquoteprodid char 8u800 default null vidquoteprodcantidad intu800 5u800 default null vidquoteancho intu800 5u800 default null vidquotealto intu800 5u800 default null vidquoteprecio decimal 10u800 2u800 default null vidquotedetalle varchar 100u800 default null primary keyu800 vidquoteid vidquoteitem engine myisam auto_increment 6u800 default charset latin1 create definer sas_admin trigger fzggestion . actualiza_item_presupuesto before update onu800 fzggestion . vidquoten2 foru800 each rowu800 begin -- -------------------------------------------------------- -- changes onu800 price change previous other attributes -- -------------------------------------------------------- ifu800 oldu800u82evidquoteprecio newu800u82evidquoteprecio then select vidquotecliente vidquoteacom into cliente acomercial from vidquoten1 where vidquoten1u82evidquoteid oldu800u82evidquoteid; select coeficienteac into coeficienteac from acomerciales where acomercialesu82eabreviatura acomercial; select coeficienteac listaprecio into coeficientecl lista from clientes where clientesu82eclienteid cliente; case when newu800u82evidquoteprodid oldu800u82evidquoteprodid then -- -------------------------------------------------------- -- changes onu800 prodid change previous other attributes -- -------------------------------------------------------- delete from vidquoten3 where vidquoten3u82evidquoteid oldu800u82evidquoteid andu800 vidquoten3u82evidquoteitem oldu800u82evidquoteitem; call altaitempresupuesto oldu800u82evidquoteid lista oldu800u82evidquoteitem newu800u82evidquoteprodid newu800u82evidquoteprodcantidad newu800u82evidquoteancho newu800u82evidquotealto coeficientecl coeficienteac ; when newu800u82evidquoteprodcantidad oldu800u82evidquoteprodcantidad oru800 newu800u82evidquoteancho oldu800u82evidquoteancho oru800 newu800u82evidquotealto oldu800u82evidquotealto then -- -------------------------------------------------------- -- suppose changes other attributes -- -------------------------------------------------------- call actualizaitempresupuesto oldu800u82evidquoteid oldu800u82evidquoteitem newu800u82evidquoteprodcantidad newu800u82evidquoteancho newu800u82evidquotealto lista coeficientecl coeficienteac ; else setu800 flyu800 null; endu800 case; setu800 newu800u82evidquoteprecio select sumu800 vidquotepreciop asu800 vidquotepreciop from vidquoten3 where vidquoten3u82evidquoteid oldu800u82evidquoteid andu800 vidquoten3u82evidquoteitem oldu800u82evidquoteitem group byu800 vidquoteid vidquoteitem ; endu800 ifu800; endu800 triggers triggers triggers delete trig vidquoten2u82ebaja_item_presupuesto bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form presupuesto urlu800 urlu800 urlu800 '),(163,'trig vidquoten2u82ebaja item presupuesto',' category trig lanzador lanzador lanzador delete composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla vidquoten2 tabla vidquoten3 sqlu800 sqlu800 sqlu800 create definer sas_admin trigger fzggestion . baja_item_presupuesto after delete onu800 fzggestion . vidquoten2 foru800 each rowu800 begin delete from vidquoten3 where vidquoten3u82evidquoteid oldu800u82evidquoteid andu800 vidquoten3u82evidquoteitem oldu800u82evidquoteitem; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(153,'tabla checkbook',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container deu800 libro deu800 cheques composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table checkbook checkbookid intu800 11u800 notu800 null auto_increment entidad char 3u800 default null sucursal varchar 45u800 default null docpropio char 1u800 default null cuentaorg varchar 20u800 default null documentoid intu800 11u800 default null fechadocumento date default null importedocumento decimal 19u800 2u800 default null tdocumentoorg char 2u800 default null ndocumentoorg intu800 11u800 default null ttransaccorg char 2u800 default null ntransaccorg intu800 11u800 default null ttransaccdst varchar 2u800 default null ntransaccdst intu800 11u800 default null primary keyu800 checkbookid engine myisam auto_increment 3u800 default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form cheques urlu800 urlu800 urlu800 '),(154,'tabla wscontrol',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n container deu800 datos deu800 licenciamiento. #macu800 address #cantidad deu800 usuarios concurrentes #fecha lu8c3admite deu800 licencia #contacto masterlicence #version nnu800u82exxxx nnu800 release xxxx build datasource urlu800 connection mysql odbc composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 delimiter create table wscontrol wsid intu800 11u800 notu800 null auto_increment wskey1 varchar 30u800 default null wskey2 varchar 30u800 default null wskey3 varchar 30u800 default null wskey4 varchar 30u800 default null wskey5 varchar 30u800 default null wstest varchar 30u800 default null primary keyu800 wsid engine myisam auto_increment 3u800 default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 solo enu800 acceso au800 macro main conu800 lasu800 siguientes caracteru8c3adsticas #verificar queu800 lau800 odbu800 estu8c3a9 registrada enu800 elu800 profile deu800 lou800 oou800 elu800 getcontext hace referencia au800 esou800 #grabar conu800 semilla deu800 nombre deu800 datasource conu800 elu800 texto - sdbc mysql odbc     ingreso deu800 registro enu800 tabla ingreso deu800 registro enu800 tabla ingreso deu800 registro enu800 tabla insert into wscontrol wskey1 wskey2 wskey3 wskey4 wskey5 values encode sdbc mysql odbc encode sdbc mysql odbc encode sdbc mysql odbc encode sdbc mysql odbc encode sdbc mysql odbc ejemplo ejemplo ejemplo insert into wscontrol wskey1 wskey2 wskey3 values encode substring_index uuid \'-\' -1u800 sdbc mysql odbc fazzglassgestion encode 001u800 sdbc mysql odbc fazzglassgestion encode 20121231 sdbc mysql odbc fazzglassgestion corroborar aclu800 corroborar aclu800 corroborar aclu800 select wskey1 asu800 cantidad wskey2 asu800 usuarios wskey3 asu800 fechalimite cast decode wskey1 \'sdbc mysql odbc fazzglassgestion\' asu800 char 12u800 asu800 decmac cast decode wskey2 \'sdbc mysql odbc fazzglassgestion\' asu800 char 03u800 asu800 decusuarios cast decode wskey3 \'sdbc mysql odbc fazzglassgestion\' asu800 char 08u800 asu800 decfechalimite from wscontrol alargar aclu800 1u800 mesu800 mu8c3a1s alargar aclu800 1u800 mesu800 mu8c3a1s alargar aclu800 1u800 mesu800 mu8c3a1s update wscontrol setu800 wskey3 encode date_format str_to_date cast decode wskey3 \'sdbc mysql odbc fazzglassgestion\' asu800 char 08u800 \' yu800 mu800 du800\' interval 1u800 month \' yu800 mu800 du800\' sdbc mysql odbc fazzglassgestion where cast decode wskey1 \'sdbc mysql odbc fazzglassgestion\' asu800 char 12u800 substring_index uuid \'-\' -1u800 cambiar fecha aclu800 cambiar fecha aclu800 cambiar fecha aclu800 update wscontrol setu800 wskey3 encode 20121231 sdbc mysql odbc fazzglassgestion where cast decode wskey1 \'sdbc mysql odbc fazzglassgestion\' asu800 char 12u800 substring_index uuid \'-\' -1u800 urlu800 urlu800 urlu800 '),(158,'form',' lista deu800 formularios asociados '),(173,'doczoom',' category oobasiccode  site   subu800 doczoom dimu800 docu800 asu800 object dimu800 settings asu800 object docu800 thiscomponent settings docu800u82ecurrentcontrolleru82eviewsettings with settings .zoomtype 3u800 \' .zoomvalue 10u800 endu800 with endu800 subu800 '),(174,'oobasiccodeu82ewindowu82epngu800',' '),(175,'oobasic nociones basicas',' window when theu800 document isu800 displayed theu800 frame componentwindow containerwindow andu800 contains therein theu800 border ofu800 theu800 window. part ofu800 theu800 green andu800 blue portions ofu800 theu800 part containerwindow blue isu800 componentwindow. then theu800 frame will beu800 inu800 theu800 frame. oobasiccodeu82ewindow ventana 200px fcmframe frame 600px containerwindow containerwindow containerwindow iu800 want tou800 access from theu800 frame. ocontainerwindow oframeu82egetcontainerwindow componentwindow componentwindow componentwindow iu800 want tou800 access from theu800 frame inu800 theu800 same wayu800. ocomponentwindow oframeu82egetcomponentwindow show andu800 hide show andu800 hide show andu800 hide returns theu800 display state boolean isvisible toggles theu800 visibility inu800 boolean visible void setvisible also beu800 hidden componentwindow that areu800 included andu800 tou800 hide theu800 containerwindow. moreover theu800 entire window will beu800 hidden ifu800 youu800 hide containerwindow. enabling andu800 disabling enabling andu800 disabling enabling andu800 disabling returns theu800 state boolean isenabled enable andu800 disable void setenable inu800 boolean benabled size size size gets theu800 location andu800 size ofu800 theu800 containerwindow iu800 want tou800 change. comu800u82esunu800u82estaru82eawtu800u82esize getpossize returns theu800 size andu800 position weu800 setu800 theu800 size ofu800 void setpossize inu800 long xu800 inu800 long yu800 inu800 long width inu800 long height inu800 short flags position andu800 specified from theu800 constant comu800u82esunu800u82estaru82eawtu800u82epossize theu800 flags. youu800 canu800 specify theu800 size ofu800 theu800 particular coordinates oru800 specify theu800 addu800 xu800 yu800 width height posu800 size ofu800 possize. '),(176,'fcmframeu82epngu800',' '),(177,'model controller frame',' category oobasiccode  site   autor  dannyb there areu800 three objects that youu800 typically associate with au800 document. there isu800 #theu800 document model #theu800 document controller #theu800 document frame. when youu800 need tou800 dou800 something tou800 au800 document youu800 need oneu800 ofu800 these three objects. which oneu800 ofu800 theu800 three youu800 need depends onu800 what youu800 intend tou800 dou800. calling loadcomponentfromurl always gives youu800 theu800 document model object. ooou800 basic also hasu800 au800 variable called thiscomponent which returns theu800 document model ofu800 theu800 document that contains theu800 currently running macro code. sou800 using either technique loadcomponentfromurl oru800 thiscomponent always results inu800 theu800 document model. sometimes foru800 instnace tou800 useu800 theu800 dispatcher youu800 need theu800 document frame. other times youu800 need theu800 document controller foru800 instance tou800 manipulate which shapes ofu800 au800 drawing areu800 selected . theu800 following three functions from myu800 library areu800 howu800 iu800 easily move between theu800 three different objects. \'############################################################ \' apiu800 navigation convenience \'############################################################ \'---------- \' this will always return theu800 document document\'su800 controller. \' pass inu800 anyu800 oneu800 ofu800... \' theu800 document document\'su800 model subclass ofu800 comu800u82esunu800u82estaru82edocumentu82eofficedocument \' theu800 document document\'su800 controller \' theu800 document document\'su800 frame function getdocumentcontroller odoc asu800 object asu800 object dimu800 octrl asu800 object \' ifu800 theu800 caller gave usu800 theu800 document model... ifu800 odocu82esupportsservice comu800u82esunu800u82estaru82edocumentu82eofficedocument then \' ...then getu800 theu800 controller from that. octrl odocu82egetcurrentcontroller \' ifu800 theu800 caller gave usu800 au800 document controller... elseif hasunointerfaces odoc comu800u82esunu800u82estaru82eframeu82excontroller then \' ...thanks that that\'su800 just what weu800 wanted octrl odoc \' ifu800 theu800 caller gave usu800 theu800 document frame... elseif hasunointerfaces odoc comu800u82esunu800u82estaru82eframeu82exframe then oframe odoc \' ...then getu800 theu800 controller from theu800 frame. octrl oframeu82egetcontroller else \' theu800 caller didu800 notu800 give usu800 what weu800 expected msgbox getdoccontroller called with incorrect parameter. endif getdocumentcontroller octrl endu800 function \'---------- \' this will always return theu800 document document\'su800 frame. \' pass inu800 anyu800 oneu800 ofu800... \' theu800 document document\'su800 model subclass ofu800 comu800u82esunu800u82estaru82edocumentu82eofficedocument \' theu800 document document\'su800 controller \' theu800 document document\'su800 frame function getdocumentframe odoc asu800 object asu800 object dimu800 oframe asu800 object \' ifu800 theu800 caller gave usu800 theu800 document model... ifu800 odocu82esupportsservice comu800u82esunu800u82estaru82edocumentu82eofficedocument then \' ...then getu800 theu800 controller from that. octrl odocu82egetcurrentcontroller \' ...then getu800 theu800 frame from theu800 controller. oframe octrlu82egetframe \' ifu800 theu800 caller gave usu800 au800 document controller... elseif hasunointerfaces odoc comu800u82esunu800u82estaru82eframeu82excontroller then octrl odoc \' ...then getu800 theu800 frame from theu800 controller. oframe octrlu82egetframe \' ifu800 theu800 caller gave usu800 theu800 document frame... elseif hasunointerfaces odoc comu800u82esunu800u82estaru82eframeu82exframe then \' ...thanks that that\'su800 just what weu800 wanted oframe odoc else \' theu800 caller didu800 notu800 give usu800 what weu800 expected msgbox getdocumentframe called with incorrect parameter. endif getdocumentframe oframe endu800 function \'---------- \' this will always return theu800 document document\'su800 model. \' pass inu800 anyu800 oneu800 ofu800... \' theu800 document document\'su800 model subclass ofu800 comu800u82esunu800u82estaru82edocumentu82eofficedocument \' theu800 document document\'su800 controller \' theu800 document document\'su800 frame function getdocumentmodel odoc asu800 object asu800 object dimu800 odocmodel asu800 object \' ifu800 theu800 caller gave usu800 theu800 document model... ifu800 odocu82esupportsservice comu800u82esunu800u82estaru82edocumentu82eofficedocument then \' ...thanks that that\'su800 just what weu800 wanted odocmodel odoc \' ifu800 theu800 caller gave usu800 au800 document controller... elseif hasunointerfaces odoc comu800u82esunu800u82estaru82eframeu82excontroller then octrl odoc \' ...then getu800 theu800 model from theu800 controller. odocmodel octrlu82egetmodel \' ifu800 theu800 caller gave usu800 theu800 document frame... elseif hasunointerfaces odoc comu800u82esunu800u82estaru82eframeu82exframe then oframe odoc \' ...then getu800 theu800 controller from theu800 frame. octrl oframeu82egetcontroller \' ...then getu800 theu800 model from theu800 controller. odocmodel octrlu82egetmodel else \' theu800 caller didu800 notu800 give usu800 what weu800 expected msgbox getdocumentmodel called with incorrect parameter. endif getdocumentmodel odocmodel endu800 function nowu800 iu800 canu800 dou800 something like... odoc loadcomponentfromurl ..... then later iu800 need theu800 frame iu800 canu800 just call... odocframe getdocumentframe odoc theu800 above code provides three functions... function getdocumentmodel odoc asu800 object asu800 object function getdocumentcontroller odoc asu800 object asu800 object function getdocumentframe odoc asu800 object asu800 object allu800 three functions accept anyu800 ofu800 theu800 model frame oru800 controller. each function will convert tou800 theu800 desired object. foru800 instance ifu800 iu800 need theu800 model iu800\'llu800 call getdocumentmodel butu800 iu800 canu800 pass itu800 theu800 model theu800 frame oru800 theu800 controller. obviously ifu800 iu800 pass theu800 document model tou800 getdocumentmodel itu800 doesn\'tu800 have tou800 dou800 anything butu800 just return what iu800 gave itu800. where these routines areu800 really useful isu800 inu800 writing more general subroutines. iu800 could write au800 routine tou800 sayu800 copy tou800 theu800 clipboard. theu800 routine takes au800 single parameter odoc. butu800 youu800 could pass inu800 anyu800 ofu800 theu800 three objects model controller frame . this makes myu800 clipboardcopy function easier tou800 call. youu800 just pass itu800 whichever ofu800 theu800 three document objects that youu800 conveniently have onu800 hand. ifu800 internally theu800 clipboardcopy function needs au800 frame then itu800 will useu800 myu800 getdocumentframe function tou800 getu800 theu800 frame from whichever oneu800 ofu800 theu800 three youu800 passed itu800. hope this isu800 helpful tou800 someone. '),(178,'awtu800 toolkit',' category oobasiccode  site   autor  dannyb itu800 isu800 interesting tou800 look atu800 allu800 theu800 stuff inu800 theu800 apiu800 under.... comu800u82esunu800u82estaru82eawtu800. itu800 isu800 possible tou800 create newu800 windows addu800 menu bars tou800 them andu800 draw anyu800 kind ofu800 graphics within your window. youu800 canu800 putu800 newu800 controls inu800 your window. inu800 fact au800 window created byu800 au800 component using theu800 awtu800 toolkit would look andu800 feel just like theu800 native windows ofu800 calc writer impress draw. here isu800 au800 funu800 test program tou800 exercise what iu800 have learned there. just copy paste andu800 runu800. iu800 apologize that this isu800 wayu800 more comments than actual lines ofu800 code. theu800 code would beu800 quite short ifu800 youu800 removed theu800 comments. subu800 main \' getu800 anu800 awtu800 toolkit. \' ooou800 ooou800\'su800 awtu800 notu800 au800 java awtu800. oawttoolkit createunoservice comu800u82esunu800u82estaru82eawtu800u82etoolkit \' create au800 topu800 level window. owindow createtopwindow oawttoolkit \' atu800 this point youu800 should check outu800 theu800 interfaces \' andu800 allu800 ofu800 theu800 methods that they give youu800 foru800 \' manipulating this newu800 owindow. \' seeu800 comment inu800 createtopwindow below. \' change theu800 background color ofu800 theu800 window tou800 baby blue. owindowu82esetbackground rgbu800 240u800 240u800 255u800 \' atu800 this point ifu800 youu800 stop theu800 program youu800 will have au800 \' newu800 ooou800 window onu800 theu800 screen butu800 youu800 cannot dou800 anything \' with itu800. youu800 cannot even close itu800 \' inu800 fact youu800 have tou800 kill theu800 ooou800 process asu800 even ooou800 \' cannot close this window since itu800 hasu800 nou800 frame andu800 \' therefore isu800 notu800 integrated into theu800 desktop environment. \' sou800 iu800 hadu800 tou800 gou800 onu800 writing additional code.... \' create au800 newu800 frame. oframe createunoservice comu800u82esunu800u82estaru82eframeu82eframe \' initialize this frame with ouru800 newu800 window. oframeu82einitialize owindow \' tell theu800 frame that itsu800 parent isu800 theu800 desktop. oframeu82esetcreator stardesktop \' atu800 this point youu800 have au800 window that canu800 beu800 resized moved oru800 closed. \' note that ifu800 youu800 wanted tou800 youu800 could nowu800 load au800 component \' into your newly created window \' oframeu82eloadcomponentfromurl private factory scalc _self 0u800 array \' create au800 newu800 button. obtnctrl makebuttonctrl oawttoolkit owindow meow _u800 makerectangle 20u800 30u800 100u800 40u800 \' create au800 menu. \' createmenubar owindow \' menubar tou800 beu800 provided later.... \' okay well maybe notu800 seeu800 below... endu800 subu800 function createtopwindow oawttoolkit owindowdesc createunostruct comu800u82esunu800u82estaru82eawtu800u82ewindowdescriptor with owindowdesc \' specifies au800 topu800 level window onu800 theu800 desktop. itu800 isu800 also au800 container. .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82etopu800 \' isu800 au800 modal topu800 level window onu800 theu800 desktop. itu800 isu800 also au800 container. \' .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82emodaltop \' isu800 au800 container that mayu800 contain other components. itu800 isu800 notu800 au800 topu800 window. \' .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82econtainer \' isu800 theu800 simplest window. itu800 canu800 beu800 au800 container. \' .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82esimple \' specifies theu800 name ofu800 theu800 component service. \' au800 zero length name means that theu800 vclu800 creates au800 blank topu800 \' au800 container oru800 au800 simple window. .windowservicename \' specifies theu800 parent ofu800 theu800 component. \' ifu800 parent 0u800 && parentindex -1u800 then theu800 window isu800 onu800 theu800 desktop. \' .parent 0u800 \' .parent createunovalue comu800u82esunu800u82estaru82eawtu800u82exwindowpeer 0u800 .parent oawttoolkitu82egetdesktopwindow \' specifies theu800 index ofu800 theu800 parent window ifu800 available. \' ifu800 parent 0u800 andu800 this struct isu800 au800 member ofu800 anu800 array \' then this isu800 theu800 offset from theu800 beginning ofu800 theu800 array tou800 theu800 parent. \' au800 value ofu800 -1u800 means desktop. .parentindex -1u800 \' specifies theu800 position andu800 size ofu800 theu800 window. \' this member isu800 ignored ifu800 theu800 window attribute isu800 \' windowattribute fullsize . .bounds makerectangle 100u800 200u800 300u800 400u800 \' specifies theu800 window attributes. .windowattributes 0u800 \' specifies that theu800 window isu800 initially visible. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eshow \' specifies that theu800 window fills theu800 complete desktop area. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82efullsize \' specifies that theu800 window isu800 optimum size. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eoptimumsize \' specifies that theu800 window isu800 minimum size. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eminsize \' specifies that theu800 window hasu800 visible borders. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eborder \' specifies that theu800 size ofu800 theu800 window canu800 beu800 changed byu800 theu800 user. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82esizeable \' specifies that theu800 window canu800 beu800 moved byu800 theu800 user. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82emoveable \' specifies that theu800 window canu800 beu800 closed byu800 theu800 user. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82ecloseable \' deprecated specifies that theu800 window should support theu800 xsystemdependentwindowpeer interface. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82esystemdependent endu800 with oxwindowpeer oawttoolkitu82ecreatewindow owindowdesc \' look atu800 theu800 capabilities that these interfaces give youu800 \' foru800 manipulating your newly created window. \' interfaces supported byu800 oxwindowpeer... \' comu800u82esunu800u82estaru82eawtu800u82extopwindow \' comu800u82esunu800u82estaru82eawtu800u82exwindow \' comu800u82esunu800u82estaru82eawtu800u82exwindowpeer \' comu800u82esunu800u82estaru82eawtu800u82exvclcontainer \' comu800u82esunu800u82estaru82eawtu800u82exvclcontainerpeer \' comu800u82esunu800u82estaru82eawtu800u82exvclwindowpeer \' comu800u82esunu800u82estaru82eawtu800u82exlayoutconstraints \' comu800u82esunu800u82estaru82eawtu800u82exview \' comu800u82esunu800u82estaru82eawtu800u82exdevice \' comu800u82esunu800u82estaru82elangu82exeventlistener \' comu800u82esunu800u82estaru82elangu82excomponent \' comu800u82esunu800u82estaru82elangu82extypeprovider \' comu800u82esunu800u82estaru82eaccessibilityu82exaccessible \' \' properties... \' menubar \' windows \' group \' possize \' boolean visible \' boolean enable \' toolkit \' pointer \' long background \' boolean designmode \' long foreground \' controlfont \' minimumsize \' preferredsize \' accessiblecontext \' graphics \' size \' info \' fontdescriptors createtopwindow oxwindowpeer endu800 function function makebuttonctrl oawttoolkit owindow optional clabel optional opossizerect \' create au800 newu800 button model. obuttonmodel createunoservice comu800u82esunu800u82estaru82eawtu800u82eunocontrolbuttonmodel \' create au800 newu800 button control. obuttonctrl createunoservice comu800u82esunu800u82estaru82eawtu800u82eunocontrolbutton \' tell theu800 control that itu800 hasu800 au800 model. obuttonctrlu82esetmodel obuttonmodel \' tell theu800 control tou800 create itsu800 window peer. \' tou800 understand what this means itu800 isu800 helpful tou800 \' read some java documention about howu800 java java\'su800 awtu800 works \' even though weu800\'reu800 notu800 working with java awtu800 here. \' basically this puts something visible onto theu800 window. obuttonctrlu82ecreatepeer oawttoolkit owindow ifu800 notu800 ismissing cname then obuttonmodelu82elabel clabel endif ifu800 notu800 ismissing opossizerect then obuttonctrlu82esetpossize _u800 opossizerectu82exu800 opossizerectu82eyu800 _u800 opossizerectu82ewidth opossizerectu82eheight _u800 comu800u82esunu800u82estaru82eawtu800u82epossizeu82epossize endif makebuttonctrl obuttonctrl endu800 function \' ripped from myu800 library.... function makerectangle byval nxu800 asu800 long byval nyu800 asu800 long _u800 byval nwidth asu800 long byval nheight asu800 long asu800 comu800u82esunu800u82estaru82eawtu800u82erectangle orectangle createunostruct comu800u82esunu800u82estaru82eawtu800u82erectangle with orectangle .xu800 nxu800 .yu800 nyu800 .width nwidth .height nheight endu800 with makerectangle orectangle endu800 function when iu800 provide theu800 menubar implementation itu800 will beu800 painfully obvious that youu800 need au800 real programming language iu800u82eeu800. notu800 basic . well this isu800 probably true ifu800 youu800 areu800 going tou800 implement au800 full blown office component anyway. here isu800 myu800 proposed menubar implementation. butu800 itu800 doesn\'tu800 seem tou800 work properly inu800 basic. iu800 believe theu800 problem isu800 that youu800 cannot setmenubar tou800 anu800 object created byu800 createunolistener. like iu800 said youu800 need au800 language that lets youu800 create real objects. ifu800 youu800 study itu800 iu800 think youu800 canu800 seeu800 theu800 idea behind itu800. \'################################################## global oapplemenu global oorangemenu subu800 createmenubar owindow omenubar createunolistener mymenubar_ comu800u82esunu800u82estaru82eawtu800u82exmenu oapplemenu createunolistener applemenu_ comu800u82esunu800u82estaru82eawtu800u82expopupmenu oorangemenu createunolistener orangemenu_ comu800u82esunu800u82estaru82eawtu800u82expopupmenu owindowu82esetmenubar omenubar endu800 subu800 \' ouru800 menu baru800 isu800 hardcoded. \' menu apple \' hasu800 items apple pieu800 apple juice \' menu orange \' hasu800 items orange juice orange jello \'################################################## \' myu800 menu baru800 interface \' \'################################################## \' comu800u82esunu800u82estaru82eawtu800u82exmenubar \' \' anu800 interface like this just plain needs tou800 \' beu800 written inu800 au800 language other than baisc \'################################################## subu800 mymenubar_addmenulistener xlistener endu800 subu800 subu800 mymenubar_removemenulistener xlistener endu800 subu800 \' this trivial implementation ofu800 theu800 interface \' does notu800 support inserting oru800 removing items. subu800 mymenubar_insertitem nitemid ctext nitemstyle npos endu800 subu800 subu800 mymenubar_removeitem npos ncount endu800 subu800 \' this joke implementation ofu800 theu800 interface \' hasu800 hardcoded theu800 contents ofu800 theu800 menu baru800. \' calling insertitem oru800 removeitem does notu800 change \' what theu800 following routines return. function mymenubar_getitemcount \' weu800 have twou800 menus. mymenubar_getitemcount 2u800 endu800 function function mymenubar_getitemid npos mymenubar_getitemid npos endu800 function function mymenubar_getitempos nitemid mymenubar_getitempos nitemid endu800 function subu800 mymenubar_enableitem nitemid benable endu800 subu800 function mymenubar_isitemenabled nitemid mymenubar_isitemenabled true endu800 function subu800 mymenubar_setitemtext nitemid ctext endu800 subu800 function mymenubar_getitemtext nitemid citemname ifu800 nitemid 1u800 then citemname apple elseif nitemid 2u800 then citemname orange endif mymenubar_getitemtext citemname endu800 function subu800 mymenubar_setpopupmenu nitemid oxpopupmenu endu800 subu800 function mymenubar_getpopupmenu nitemid dimu800 opopupmenu asu800 object ifu800 nitemid 1u800 then opopupmenu oapplemenu elseif nitemid 2u800 then opopupmenu oorangemenu endif mymenubar_getpopupmenu opopupmenu endu800 function \'################################################## \' comu800u82esunu800u82estaru82eawtu800u82expopupmenu \'################################################## subu800 applemenu_addmenulistener xlistener endu800 subu800 subu800 applemenu_removemenulistener xlistener endu800 subu800 \' this trivial implementation ofu800 theu800 interface \' does notu800 support inserting oru800 removing items. subu800 applemenu_insertitem nitemid ctext nitemstyle npos endu800 subu800 subu800 applemenu_removeitem npos ncount endu800 subu800 \' this joke implementation ofu800 theu800 interface \' hasu800 hardcoded theu800 contents ofu800 theu800 menu baru800. \' calling insertitem oru800 removeitem does notu800 change \' what theu800 following routines return. function applemenu_getitemcount \' weu800 have twou800 menus. applemenu_getitemcount 2u800 endu800 function function applemenu_getitemid npos applemenu_getitemid npos endu800 function function applemenu_getitempos nitemid applemenu_getitempos nitemid endu800 function subu800 applemenu_enableitem nitemid benable endu800 subu800 function applemenu_isitemenabled nitemid applemenu_isitemenabled true endu800 function subu800 applemenu_setitemtext nitemid ctext endu800 subu800 function applemenu_getitemtext nitemid citemname ifu800 nitemid 1u800 then citemname apple pieu800 elseif nitemid 2u800 then citemname apple juice endif applemenu_getitemtext citemname endu800 function subu800 applemenu_setpopupmenu nitemid oxpopupmenu endu800 subu800 function applemenu_getpopupmenu nitemid dimu800 opopupmenu asu800 object applemenu_getpopupmenu opopupmenu endu800 function subu800 applemenu_insertseparator npos endu800 subu800 subu800 applemenu_setdefaultitem nitemid endu800 subu800 function applemenu_getdefaultitem applemenu_getdefaultitem 1u800 endu800 function subu800 applemenu_checkitem nitemid bcheckmark endu800 subu800 function applemenu_isitemchecked nitemid applemenu_isitemchecked false endu800 function function applemenu_execute owindowpeerparent oarearect ndirection applemenu_execute 0u800 endu800 function \'################################################## \' comu800u82esunu800u82estaru82eawtu800u82expopupmenu \'################################################## subu800 orangemenu_addmenulistener xlistener endu800 subu800 subu800 orangemenu_removemenulistener xlistener endu800 subu800 \' this trivial implementation ofu800 theu800 interface \' does notu800 support inserting oru800 removing items. subu800 orangemenu_insertitem nitemid ctext nitemstyle npos endu800 subu800 subu800 orangemenu_removeitem npos ncount endu800 subu800 \' this joke implementation ofu800 theu800 interface \' hasu800 hardcoded theu800 contents ofu800 theu800 menu baru800. \' calling insertitem oru800 removeitem does notu800 change \' what theu800 following routines return. function orangemenu_getitemcount \' weu800 have twou800 menus. orangemenu_getitemcount 2u800 endu800 function function orangemenu_getitemid npos orangemenu_getitemid npos endu800 function function orangemenu_getitempos nitemid orangemenu_getitempos nitemid endu800 function subu800 orangemenu_enableitem nitemid benable endu800 subu800 function orangemenu_isitemenabled nitemid orangemenu_isitemenabled true endu800 function subu800 orangemenu_setitemtext nitemid ctext endu800 subu800 function orangemenu_getitemtext nitemid citemname ifu800 nitemid 1u800 then citemname orange juice elseif nitemid 2u800 then citemname orange jello endif orangemenu_getitemtext citemname endu800 function subu800 orangemenu_setpopupmenu nitemid oxpopupmenu endu800 subu800 function orangemenu_getpopupmenu nitemid dimu800 opopupmenu asu800 object orangemenu_getpopupmenu opopupmenu endu800 function subu800 orangemenu_insertseparator npos endu800 subu800 subu800 orangemenu_setdefaultitem nitemid endu800 subu800 function orangemenu_getdefaultitem orangemenu_getdefaultitem 1u800 endu800 function subu800 orangemenu_checkitem nitemid bcheckmark endu800 subu800 function orangemenu_isitemchecked nitemid orangemenu_isitemchecked false endu800 function function orangemenu_execute owindowpeerparent oarearect ndirection orangemenu_execute 0u800 endu800 function  atenciu8c3b3n probablemente tenga errores  your first macro stops atu800 hisu800 position \' .parent 0u800 \'.parent createunovalue comu800u82esunu800u82estaru82eawtu800u82exwindowpeer 0u800 .parent oawttoolkitu82egetdesktopwindow with theu800 error message comu800u82esunu800u82estaru82elangu82eillegalargumentexception message; illegal value given. thenew macro stops atu800 owindowu82esetmenubar omenubar with theu800 message argument isu800 notu800 optional. '),(171,'embed multiple components into au800 single window',' category oobasiccode  site  remu800 basic global component1 global component2 subu800 main onu800 error goto main_error \' setu800 theu800 globals tou800 null initially sou800 that theu800 topwindowlistener canu800 \' recognize whether oru800 notu800 they point tou800 valid items andu800 only runu800 asu800 \' appropriate. component1 null component2 null \' getu800 anu800 awtu800 toolkit. \' ooou800 ooou800\'su800 awtu800 notu800 au800 java awtu800. oawttoolkit createunoservice comu800u82esunu800u82estaru82eawtu800u82etoolkit \' create au800 topu800 level window. otopwindow createtopwindow oawttoolkit 100u800 200u800 800u800 700u800 \' atu800 this point youu800 should check outu800 theu800 interfaces \' andu800 allu800 ofu800 theu800 methods that they give youu800 foru800 \' manipulating this newu800 otopwindow. \' seeu800 comment inu800 createtopwindow below. \' create au800 topwindowlistener \' this isu800 necessary tou800 close theu800 ooou800 component frames when theu800 window closes \' which isu800 necessary sou800 that ooou800 doesn\'tu800 crash. seeu800 details inu800 \' topwindowlistener_windowclosing . otopwindowlistener createunolistener topwindowlistener_ comu800u82esunu800u82estaru82eawtu800u82extopwindowlistener \' addu800 theu800 topwindowlistener tou800 theu800 topu800-level window otopwindowu82eaddtopwindowlistener otopwindowlistener \' change theu800 background color ofu800 theu800 window tou800 baby blue. otopwindowu82esetbackground rgbu800 240u800 240u800 255u800 \' atu800 this point ifu800 youu800 stop theu800 program youu800 will have au800 \' newu800 ooou800 window onu800 theu800 screen butu800 youu800 cannot dou800 anything \' with itu800. youu800 cannot even close itu800 \' inu800 fact youu800 have tou800 kill theu800 ooou800 process asu800 even ooou800 \' cannot close this window since itu800 hasu800 nou800 frame andu800 \' therefore isu800 notu800 integrated into theu800 desktop environment. \' sou800 iu800 hadu800 tou800 gou800 onu800 writing additional code.... \' create au800 newu800 frame. oframe createunoservice comu800u82esunu800u82estaru82eframeu82eframe \' initialize this frame with ouru800 newu800 window. oframeu82einitialize otopwindow \' tell theu800 frame that itsu800 parent isu800 theu800 desktop. oframeu82esetcreator stardesktop \' atu800 this point youu800 have au800 window that canu800 beu800 resized moved oru800 closed. \' create au800 subu800-window. osubwindow1 createsubwindow oawttoolkit otopwindow 100u800 200u800 300u800 400u800 \' create au800 subu800-frame. osubframe1 createunoservice comu800u82esunu800u82estaru82eframeu82eframe \' initialize this frame with ouru800 newu800 window. osubframe1u82einitialize osubwindow1 \' tell theu800 frame that itsu800 parent isu800 theu800 desktop. osubframe1u82esetcreator oframe \' addu800 subframe tou800 main frame oframeu82egetframes .append osubframe1 \' create another subu800-window. osubwindow2 createsubwindow oawttoolkit otopwindow 450u800 200u800 300u800 400u800 \' create another subu800-frame. osubframe2 createunoservice comu800u82esunu800u82estaru82eframeu82eframe \' initialize this frame with ouru800 newu800 window. osubframe2u82einitialize osubwindow2 \' tell theu800 frame that itsu800 parent isu800 theu800 desktop. osubframe2u82esetcreator oframe \' addu800 subframe tou800 main frame oframeu82egetframes .append osubframe2 \' create au800 newu800 button. obtnctrl makebuttonctrl oawttoolkit otopwindow meow file cu800 tmpu800 test-smallu82ejpgu800 _u800 makerectangle 20u800 30u800 100u800 40u800 \' nowu800 allu800 theu800 windows andu800 subu800-windows should beu800 added sizes setu800 etcu800. \' sou800 nowu800 load items into them... \' load something into theu800 first frame osubframe1 which weu800 putu800 tou800 theu800 left component1 osubframe1u82eloadcomponentfromurl private factory simpress _self 0u800 array \' load something into theu800 second frame osubframe2 which weu800 putu800 tou800 theu800 right component2 osubframe2u82eloadcomponentfromurl private factory scalc _self 0u800 array exit subu800 main_error msgbox main there hasu800 been anu800 error inu800 & smacroname & . & chru800 10u800 _u800 & error text isu800 & error erru800 & chru800 10u800 _u800 & line number & erlu800 48u800 error message endu800 subu800 subu800 topwindowlistener_windowopened oeventobject \' dou800 nothing endu800 subu800 subu800 topwindowlistener_windowclosing oeventobject \' inu800 here weu800 need tou800 close theu800 components using theu800 xclosable interface \' rather than letting theu800 system automatically \'dispose \' ofu800 them. \' theu800 class documentation says that ifu800 xcloseable isu800 supported then itu800 \' should beu800 used inu800 lieu ofu800 \'dispose \'. \' \' tests ofu800 this window handler suggest that xcloseable must beu800 used -- ifu800 \' itu800 isnu800\'tu800 then openoffice crashes. \' \' also note these components must beu800 closed very quickly introducing \' anyu800 sort ofu800 delay before closing them even \'wait 100u800 \' causes ooou800 tou800 \' crash. \' ifu800 theu800 first component exists close itu800. ifu800 notu800 isnull component1 then component1u82eclose false endu800 ifu800 \' ifu800 theu800 second component exists close itu800. ifu800 notu800 isnull component2 then component2u82eclose false endu800 ifu800 endu800 subu800 subu800 topwindowlistener_windowclosed oeventobject \' dou800 nothing endu800 subu800 subu800 topwindowlistener_windowminimized oeventobject \' dou800 nothing endu800 subu800 subu800 topwindowlistener_windownormalized oeventobject \' dou800 nothing endu800 subu800 subu800 topwindowlistener_windowactivated oeventobject \' dou800 nothing endu800 subu800 subu800 topwindowlistener_windowdeactivated oeventobject \' dou800 nothing endu800 subu800 subu800 topwindowlistener_disposing oeventobject \' dou800 nothing endu800 subu800 function createtopwindow oawttoolkit xu800 yu800 wu800 hu800 onu800 error goto createtopwindow_error owindowdesc createunostruct comu800u82esunu800u82estaru82eawtu800u82ewindowdescriptor with owindowdesc \' specifies au800 topu800 level window onu800 theu800 desktop. itu800 isu800 also au800 container. .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82etopu800 \' isu800 au800 modal topu800 level window onu800 theu800 desktop. itu800 isu800 also au800 container. \' .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82emodaltop \' isu800 au800 container that mayu800 contain other components. itu800 isu800 notu800 au800 topu800 window. \' .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82econtainer \' isu800 theu800 simplest window. itu800 canu800 beu800 au800 container. \' .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82esimple \' specifies theu800 name ofu800 theu800 component service. \' au800 zero length name means that theu800 vclu800 creates au800 blank topu800 \' au800 container oru800 au800 simple window. .windowservicename \' specifies theu800 parent ofu800 theu800 component. \' ifu800 parent 0u800 && parentindex -1u800 then theu800 window isu800 onu800 theu800 desktop. \' .parent null \' .parent createunovalue comu800u82esunu800u82estaru82eawtu800u82exwindowpeer 0u800 \' .parent oawttoolkitu82egetdesktopwindow \' specifies theu800 index ofu800 theu800 parent window ifu800 available. \' ifu800 parent 0u800 andu800 this struct isu800 au800 member ofu800 anu800 array \' then this isu800 theu800 offset from theu800 beginning ofu800 theu800 array tou800 theu800 parent. \' au800 value ofu800 -1u800 means desktop. \' .parentindex -1u800 \' specifies theu800 position andu800 size ofu800 theu800 window. \' this member isu800 ignored ifu800 theu800 window attribute isu800 \' windowattribute fullsize . .bounds makerectangle xu800 yu800 wu800 hu800 \' specifies theu800 window attributes. .windowattributes 0u800 \' specifies that theu800 window isu800 initially visible. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eshow \' specifies that theu800 window fills theu800 complete desktop area. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82efullsize \' specifies that theu800 window isu800 optimum size. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eoptimumsize \' specifies that theu800 window isu800 minimum size. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eminsize \' specifies that theu800 window hasu800 visible borders. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eborder \' specifies that theu800 size ofu800 theu800 window canu800 beu800 changed byu800 theu800 user. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82esizeable \' specifies that theu800 window canu800 beu800 moved byu800 theu800 user. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82emoveable \' specifies that theu800 window canu800 beu800 closed byu800 theu800 user. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82ecloseable \' deprecated specifies that theu800 window should support theu800 xsystemdependentwindowpeer interface. \' .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82esystemdependent endu800 with oxwindowpeer oawttoolkitu82ecreatewindow owindowdesc \' look atu800 theu800 capabilities that these interfaces give youu800 \' foru800 manipulating your newly created window. \' interfaces supported byu800 oxwindowpeer... \' comu800u82esunu800u82estaru82eawtu800u82extopwindow \' comu800u82esunu800u82estaru82eawtu800u82exwindow \' comu800u82esunu800u82estaru82eawtu800u82exwindowpeer \' comu800u82esunu800u82estaru82eawtu800u82exvclcontainer \' comu800u82esunu800u82estaru82eawtu800u82exvclcontainerpeer \' comu800u82esunu800u82estaru82eawtu800u82exvclwindowpeer \' comu800u82esunu800u82estaru82eawtu800u82exlayoutconstraints \' comu800u82esunu800u82estaru82eawtu800u82exview \' comu800u82esunu800u82estaru82eawtu800u82exdevice \' comu800u82esunu800u82estaru82elangu82exeventlistener \' comu800u82esunu800u82estaru82elangu82excomponent \' comu800u82esunu800u82estaru82elangu82extypeprovider \' comu800u82esunu800u82estaru82eaccessibilityu82exaccessible \' \' properties... \' menubar \' windows \' group \' possize \' boolean visible \' boolean enable \' toolkit \' pointer \' long background \' boolean designmode \' long foreground \' controlfont \' minimumsize \' preferredsize \' accessiblecontext \' graphics \' size \' info \' fontdescriptors createtopwindow oxwindowpeer exit function createtopwindow_error msgbox createtopwindow there hasu800 been anu800 error inu800 & smacroname & . & chru800 10u800 _u800 & error text isu800 & error erru800 & chru800 10u800 _u800 & line number & erlu800 48u800 error message endu800 function \' this method isu800 almost-identical tou800 createtopwindow above except that theu800 \' windowclass isu800 setu800 tou800 container andu800 theu800 window window\'su800 parent isu800 setu800 tou800 \'parentwindow\'. \' foru800 details onu800 what everything isu800 andu800 howu800 itu800 works seeu800 createtopwindow . function createsubwindow oawttoolkit parentwindow xu800 yu800 wu800 hu800 owindowdesc createunostruct comu800u82esunu800u82estaru82eawtu800u82ewindowdescriptor with owindowdesc \' isu800 au800 container that mayu800 contain other components. itu800 isu800 notu800 au800 topu800 window. .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82econtainer \' specifies theu800 name ofu800 theu800 component service. \' au800 zero length name means that theu800 vclu800 creates au800 blank topu800 \' au800 container oru800 au800 simple window. .windowservicename \' specifies theu800 parent ofu800 theu800 component. .parent parentwindow \' specifies theu800 index ofu800 theu800 parent window ifu800 available. \' ifu800 parent 0u800 andu800 this struct isu800 au800 member ofu800 anu800 array \' then this isu800 theu800 offset from theu800 beginning ofu800 theu800 array tou800 theu800 parent. \' au800 value ofu800 -1u800 means desktop. \' .parentindex -1u800 \' specifies theu800 position andu800 size ofu800 theu800 window. \' this member isu800 ignored ifu800 theu800 window attribute isu800 \' windowattribute fullsize . .bounds makerectangle xu800 yu800 wu800 hu800 \' specifies theu800 window attributes. .windowattributes 0u800 \' specifies that theu800 window isu800 initially visible. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eshow \' specifies that theu800 window hasu800 visible borders. .windowattributes .windowattributes comu800u82esunu800u82estaru82eawtu800u82ewindowattributeu82eborder endu800 with oxwindowpeer oawttoolkitu82ecreatewindow owindowdesc createsubwindow oxwindowpeer endu800 function function makebuttonctrl oawttoolkit owindow optional clabel optional cimagefile optional opossizerect \' create au800 newu800 button model. obuttonmodel createunoservice comu800u82esunu800u82estaru82eawtu800u82eunocontrolbuttonmodel \' create au800 newu800 button control. obuttonctrl createunoservice comu800u82esunu800u82estaru82eawtu800u82eunocontrolbutton \' tell theu800 control that itu800 hasu800 au800 model. obuttonctrlu82esetmodel obuttonmodel \' tell theu800 control tou800 create itsu800 window peer. \' tou800 understand what this means itu800 isu800 helpful tou800 \' read some java documention about howu800 java java\'su800 awtu800 works \' even though weu800\'reu800 notu800 working with java awtu800 here. \' basically this puts something visible onto theu800 window. obuttonctrlu82ecreatepeer oawttoolkit owindow ifu800 notu800 ismissing clabel then obuttonmodelu82elabel clabel endif ifu800 notu800 ismissing cimagefile then obuttonmodelu82eimageurl cimagefile endif ifu800 notu800 ismissing opossizerect then obuttonctrlu82esetpossize _u800 opossizerectu82exu800 opossizerectu82eyu800 _u800 opossizerectu82ewidth opossizerectu82eheight _u800 comu800u82esunu800u82estaru82eawtu800u82epossizeu82epossize endif makebuttonctrl obuttonctrl endu800 function \' ripped from danny danny\'su800 library.... function makerectangle byval nxu800 asu800 long byval nyu800 asu800 long _u800 byval nwidth asu800 long byval nheight asu800 long asu800 comu800u82esunu800u82estaru82eawtu800u82erectangle orectangle createunostruct comu800u82esunu800u82estaru82eawtu800u82erectangle with orectangle .xu800 nxu800 .yu800 nyu800 .width nwidth .height nheight endu800 with makerectangle orectangle endu800 function '),(169,'oobasiccode',' lista deu800 codesnipets enu800 oobasic '),(170,'topwindow having menubar',' category oobasiccode  site   nota  veru800 #correcciu8c3b3n delu800 thread correcciu8c3b3n delu800 thread subu800 main onu800 error goto handler dimu800 onewframe asu800 object onewtoolkit dimu800 onewwindow asu800 object dimu800 onewmenubar asu800 object onewpopmenu asu800 object onewtoolkit gettoolkit onewwindow createwindow onewtoolkit makerect 50u800 50u800 150u800 150u800 onewmenubar createmenubar onewmenubaru82eremoveitem 0u800 onewmenubaru82egetitemcount onewmenubaru82einsertitem 0u800 menu 0u800 0u800 onewpopmenu createpopmenu onewpopmenuu82einsertitem 1u800 popu800 0u800 0u800 omenulistener createunolistener menulistener_ _u800 comu800u82esunu800u82estaru82eawtu800u82exmenulistener onewpopmenuu82eaddmenulistener omenulistener onewmenubaru82esetpopupmenu 0u800 onewpopmenu onewwindowu82esetmenubar onewmenubar onewedit createctrwithprop _u800 edit onewtoolkit onewwindow makerect 0u800 0u800 150u800 onewwindowu82eoutputsizeu82eheight _u800 array multiline vscroll array true true oneweditu82esettext string... oframes stardesktopu82egetframes onewframe createnewframe onewwindow newu800 frame onewframeu82esetpropertyvalue title title addtopframe onewframe exit subu800 handler msgbox error endu800 subu800 subu800 menulistener_highlight endu800 subu800 subu800 menulistener_select evu800 select case evu800u82emenuid case 1u800 msgbox popu800 endu800 select endu800 subu800 subu800 menulistener_activate evu800 endu800 subu800 subu800 menulistener_deactivate endu800 subu800 subu800 menulistener_disposing endu800 subu800 function createmenubar asu800 object createmenubar getprocessservicemanager. _u800 createinstancewithcontext _u800 stardivu82etoolkitu82evclxmenubar getdefaultcontext endu800 function function createpopmenu asu800 object createpopmenu getprocessservicemanager. _u800 createinstancewithcontext _u800 stardivu82etoolkitu82evclxpopupmenu getdefaultcontext endu800 function function gettoolkit gettoolkit getprocessservicemanager. _u800 createinstancewithcontext _u800 comu800u82esunu800u82estaru82eawtu800u82etoolkit getdefaultcontext endu800 function subu800 addtopframe olocframe asu800 object stardesktopu82egetframes .append olocframe endu800 subu800 function createnewframe olocwindow asu800 object slocframename asu800 string asu800 object dimu800 olocnewframe asu800 object olocnewframe getprocessservicemanageru82ecreateinstance comu800u82esunu800u82estaru82eframeu82eframe with olocnewframe .initialize olocwindow .setcreator stardesktop .setname slocframename endu800 with createnewframe olocnewframe endu800 function function createwindow oloctoolkit asu800 object _u800 alocrect asu800 comu800u82esunu800u82estaru82eawtu800u82erectangle asu800 comu800u82esunu800u82estaru82eawtu800u82ewindowdescriptor dimu800 olocwindesc olocwindesc createunostruct comu800u82esunu800u82estaru82eawtu800u82ewindowdescriptor with olocwindesc .type comu800u82esunu800u82estaru82eawtu800u82ewindowclassu82etopu800 \'.windowservicename window \'.parentindex -1u800 .bounds alocrect endu800 with with comu800u82esunu800u82estaru82eawtu800u82ewindowattribute olocwindescu82ewindowattributes _u800 .moveable .closeable .border .show .sizeable endu800 with createwindow oloctoolkitu82ecreatewindow olocwindesc endu800 function function createctrwithprop ctrtype otoolkit owindow apossize apropnames apropvalues dimu800 octr asu800 object octrmodel asu800 object octr createunoservice comu800u82esunu800u82estaru82eawtu800u82eunocontrol & ctrtype octrmodel createunoservice comu800u82esunu800u82estaru82eawtu800u82eunocontrol & ctrtype & model octrmodelu82esetpropertyvalues apropnames apropvalues with octr .setmodel octrmodel .createpeer otoolkit owindow .setpossize apossizeu82exu800 apossizeu82eyu800 apossizeu82ewidth apossizeu82eheight _u800 comu800u82esunu800u82estaru82eawtu800u82epossizeu82epossize endu800 with createctrwithprop octr \'model canu800 beu800 gotu800 from returned value endu800 function function makerect nxu800 asu800 long nyu800 asu800 long _u800 nwidth asu800 long nheight asu800 long asu800 comu800u82esunu800u82estaru82eawtu800u82erectangle dimu800 olocrect olocrect createunostruct comu800u82esunu800u82estaru82eawtu800u82erectangle with olocrect .xu800 nxu800 .yu800 nyu800 .width nwidth .height nheight endu800 with makerect olocrect endu800 function correcciu8c3b3n delu800 thread correcciu8c3b3n delu800 thread correcciu8c3b3n delu800 thread global onewframe subu800 main onu800 error goto handler dimu800 onewtoolkit dimu800 onewwindow asu800 object dimu800 onewmenubar asu800 object onewpopmenu asu800 object onewtoolkit gettoolkit onewwindow createwindow onewtoolkit makerect 50u800 50u800 150u800 150u800 otwl createunolistener topwindowlistener_ comu800u82esunu800u82estaru82eawtu800u82extopwindowlistener onewwindowu82eaddtopwindowlistener otwl ... endu800 subu800 ... subu800 topwindowlistener_windowclosing oeventobject onewframeu82eclose true endu800 subu800 subu800 topwindowlistener_windowclosed oeventobject endu800 subu800 subu800 topwindowlistener_windowminimized oeventobject endu800 subu800 subu800 topwindowlistener_windownormalized oeventobject endu800 subu800 subu800 topwindowlistener_windowactivated oeventobject endu800 subu800 subu800 topwindowlistener_windowdeactivated oeventobject endu800 subu800 subu800 topwindowlistener_disposing oeventobject endu800 subu800 '),(179,'vista viscompcnt',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n vista deu800 cantidad deu800 componentes deu800 unu800 producto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla composicion tabla productos sqlu800 sqlu800 sqlu800 create algorithm undefined definer sas_admin sqlu800 security definer view viscompcnt asu800 select composicion . productoid asu800 productoid productos . descripcion asu800 productodsc productos . categoriaid asu800 categoriaid productos . proveedorid asu800 proveedorid count composicion . productoid asu800 cantidad case when count 1u800 then 1u800 else 0u800 endu800 asu800 compuesto from productos composicion where productos . productoid composicion . productoid group byu800 composicion . productoid bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form copiacomposicion urlu800 urlu800 urlu800 '),(180,'vista productosdisp',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n reservorio deu800 productos sumando losu800 generados au800 partir deu800 losu800 bocetos yu800 queu800 hanu800 conformado mu8c3b3dulos. enu800 elu800 caso deu800 lau800 tabla modulos seu800 completan losu800 atributos faltantes queu800 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla productos tabla modulos sqlu800 sqlu800 sqlu800 create view productosdisp asu800 select productogen productodflt \'1u800\' asu800 componentesut productoid categoriaid descripcion proveedorid reposicion magnitud magnitudin coefp00p01 coefp00p02 coefp00p03 productopid insumoimg magcmpx magcmpy magcmpz magcmpw from productos union select moduloid asu800 productogen \'1u800\' asu800 productodflt \'0u800\' asu800 componentesut moduloid asu800 productoid \'modu800\' asu800 categoriaid modulodsc asu800 descripcion \'fazz\' asu800 proveedorid 0u800 asu800 reposicion \'unu800\' asu800 magnitud \'unu800\' asu800 magnitudin 1u800u82e35u800 asu800 coefp00p01 1u800u82e38u800 asu800 coefp00p02 1u800u82e41u800 asu800 coefp00p03 moduloid asu800 productopid moduloimg asu800 insumoimg modulovw asu800 magcmpx modulovh asu800 magcmpy 0u800 asu800 magcmpz 0u800 asu800 magcmpw from moduloscab bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(181,'fzgu800u82edocsu82eprocesosu82eayudau82ejpgu800',' '),(182,'fzgu800u82edocsu82eprocesosu82eproductosu82ejpgu800',' '),(183,'fzgu800u82edocsu82eprocesosu82epreciosu82ejpgu800',' '),(184,'fzgu800u82edocsu82eprocesosu82ecomposicionu82ejpgu800',' '),(185,'fzgu800u82edocsu82eprocesosu82epresupuestou82ejpgu800',' '),(186,'fzgu800u82edocsu82epantallau82epresupuestou82ejpgu800',' '),(187,'fzgu800u82edocsu82eprocesou82emodulou82etou800u82eproductou82ejpgu800',' '),(188,'fzgu800u82edocsu82eprocesou82emodulou82etou800u82eproductou82epngu800',' '),(189,'fzgu800u82edocsu82ecomponentesu82eschemau82epngu800',' '),(190,'form productos',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n gestiu8c3b3n deu800 datos deu800 productos. caracteru8c3adsticas caracteru8c3adsticas caracteru8c3adsticas ingreso deu800 registros cuando seu800 confirma unu800 cu8c3b3digo deu800 producto elu800 mismo seu800 copia enu800 forma automu8c3a1tica alu800 cu8c3b3digo deu800 producto genu8c3a9rico. cuando seu800 confirma elu800 registro elu800 attr compoedita seu800 completa conu800 0u800 para indicar queu800 esu800 unu800 producto queu800 nou800 seu800 genera automu8c3a1ticamente yu800 queu800 tiene posibilidad deu800 gestionar componentes. elu800 attr productoor seu800 completa conu800 1u800 para indicar queu800 esu800 unu800 producto queu800 nou800 seu800 genera automu8c3a1ticamente yu800 queu800 elu800 origen deu800 generaciu8c3b3n esu800 elu800 formulario enu800 siu800. eliminaciu8c3b3n deu800 registros elimina losu800 correspondientes enlaces enu800 tabla precios yu800 tabla composicion composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla productos tabla categorias vista proveedores tabla magnitudes tabla composicion estructura estructura estructura cu8c3b3digo relacionado bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131110 seu800 agrega enu800 macro confirmeeliminarproductocore lau800 excepciu8c3b3n deu800 losu800 cu8c3b3digos deu800 prefijo dtu800 seu800 agrega enu800 macro changefieldtxtproductoidformproductos lau800 excepciu8c3b3n deu800 losu800 cu8c3b3digos deu800 prefijo dtu800 usou800 usou800 usou800 changefieldtxtproductoidformproductos '),(191,'tktu800 fzgu800u82e000009',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   sasu800  fecha   20130311  soporte   incidente incidente incidente cuando ingresa unu800 cu8c3b3digo deu800 producto ingual au800 unou800 yau800 existente dentro deu800 composicion debiera deu800 agregar alguna descripciu8c3b3n queu800 seu800 sumaru8c3ada au800 lau800 descripciu8c3b3n delu800 producto elemento workaround workaround workaround resoluciu8c3b3n estado estado estado pendiente observaciones observaciones observaciones '),(192,'tktu800 fzgu800u82e000008',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   sasu800  fecha   20130308  soporte   incidente incidente incidente nou800 deja posibilidad deu800 retorno cuando equivoca elu800 salto enu800 prespuesto para saber queu800 magnitudes ingresa workaround workaround workaround resoluciu8c3b3n estado estado estado pendiente observaciones observaciones observaciones '),(193,'tktu800 fzgu800u82e000010',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   sasu800  fecha   20130306  soporte   sasu800 incidente incidente incidente generar logu800 deu800 eliminaciu8c3b3n deu800 productos workaround workaround workaround resoluciu8c3b3n estado estado estado pendiente observaciones observaciones observaciones '),(194,'tktu800 fzgu800u82e000011',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   sasu800  fecha   20130410  soporte   sasu800 incidente incidente incidente losu800 algoritmos deu800 comprobaciu8c3b3n deu800 licencia parecen nou800 funcionar correctamente bajo windows workaround workaround workaround standby resoluciu8c3b3n resoluciu8c3b3n resoluciu8c3b3n estado observaciones observaciones observaciones '),(196,'sqlcode',' cu8c3b3digo sqlu800 '),(195,'estadu8c3adstica registraciones spanex',' category sqlcode  site  cloudofficeu82ecomu800u82earu800  autor  sasu800 select \'productos asu800 datosde \'2013u82e03u800u82e21u800\' asu800 fecha count asu800 registraciones from fzggestion_20130321u82eproductos union select \'productos asu800 datosde \'2013u82e04u800u82e05u800\' asu800 fecha count asu800 registraciones from fzggestionu82eproductos union select \'composiciones asu800 datosde \'2013u82e03u800u82e21u800\' asu800 fecha count asu800 registraciones from fzggestion_20130321u82ecomposicion union select \'composiciones asu800 datosde \'2013u82e04u800u82e05u800\' asu800 fecha count asu800 registraciones from fzggestionu82ecomposicion union select \'precios asu800 datosde \'2013u82e03u800u82e21u800\' asu800 fecha count asu800 registraciones from fzggestion_20130321u82eprecios union select \'precios asu800 datosde \'2013u82e04u800u82e05u800\' asu800 fecha count asu800 registraciones from fzggestionu82eprecios union select \'presupuestos asu800 datosde \'2013u82e03u800u82e21u800\' asu800 fecha count asu800 registraciones from fzggestion_20130321u82evidquoten1 union select \'presupuestos asu800 datosde \'2013u82e04u800u82e05u800\' asu800 fecha count asu800 registraciones from fzggestionu82evidquoten1 union select \'productos presupuestados asu800 datosde \'2013u82e03u800u82e21u800\' asu800 fecha count asu800 registraciones from fzggestion_20130321u82evidquoten2 union select \'productos presupuestados asu800 datosde \'2013u82e04u800u82e05u800\' asu800 fecha count asu800 registraciones from fzggestionu82evidquoten2 '),(197,'macro resetfiltroproductoformpresupuesto',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n biblioteca libr spanexu82ebu800 composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 resetfiltroproductoformpresupuesto oformproductos thiscomponentu82edrawpageu82eforms 0u800 .getbyname productos oformproductosgrid oformproductosu82egetbyname productosgrid oproductodscmodel oformproductosgridu82egetbyname txtvidquoteproddsc dimu800 ostring 0u800 asu800 string otexto otexto & select otexto otexto & \' seleccione filtro \' asu800 descripcion otexto otexto & \'00000000\' asu800 productoid otexto otexto & union otexto otexto & select otexto otexto & descripcion productoid otexto otexto & from fzggestion . productos asu800 productos otexto otexto & order byu800 descripcion ascu800 ostring 0u800 otexto oproductodscmodelu82esetpropertyvalue listsource ostring oproductodscmodelu82esetpropertyvalue label descripcion oproductodscmodelu82erefresh oformproductosgridu82egetbyname fmtvidquoteancho .setpropertyvalue enabled true oformproductosgridu82egetbyname fmtvidquotealto .setpropertyvalue enabled true endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(198,'macro',' listado deu800 macros '),(199,'knowing problems solutions',' ;enu800 elu800 acceso directo au800 lau800 aplicaciu8c3b3n despliega inmediatamente unu800 error sinu800 desplegar elu800 cuadro deu800 dialogo deu800 acceso au800 lau800 dbu800 puede deberse au800 unau800 nueva instalaciu8c3b3n delu800 software deu800 openoffice libreoffice. verificar herramientas opciones xofficebase databases queu800 exista lau800 relaciu8c3b3n conu800 elu800 archivo odbu800 propiamente dicho. '),(200,'tktu800 fzgu800u82e000012',' category tktu800 data tktu800 data tktu800 data tktu800  usuario   lktu800  fecha   20130625  soporte   sasu800 incidente incidente incidente pau8c3b1os fijos activar cu8c3b3digos adicionales para pau8c3b1os fijos sobre travesau8c3b1os yu800 parantes conu800 codigos iguales pero conu800 cantidades diferentes para poder agregarle como elemento deu800 composicion yu800 poder seleccionar cuando arma. inventar unu800 producto para reflejar lasu800 colocaciones coloc300 300u800 dvhu800 refleje losu800 valores deu800 descuento yu800 deu800 coeficiente alto correspondiente deu800 acuerdo au800 losu800 valores workaround workaround workaround resoluciu8c3b3n estado estado estado observaciones '),(210,'lista diferencias',' category sqlcode  site  cloudofficeu82ecomu800u82earu800  autor  sasu800 mysqldiff --server1 sas_admin cocolino sasu800-desktopu82elocal --server2 sas_admin cocolino sasu800-dskcontgu82elocal --difftype sqlu800 fzggestion fzggestion--changes-foru800 server1 --show-reverse --force comparacion. .dbu800u82eyyyymmddu82ehhmmu82etxtu800 '),(201,'tabla bitacoracrm',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n informaciu8c3b3n deu800 sucesos sobre presupuestos clientes detalles detalles detalles bitacoraat nombre alias delu800 contacto queu800 generu8c3b3 lau800 incidencia bitacoract contacto-cliente bitacoraqt nu8c2ba presupuesto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla plana sqlu800 sqlu800 sqlu800 create table fzggestion . bitacoracrm bitacoraid intu800 notu800 null auto_increment bitacoract varchar 8u800 null bitacoraat varchar 25u800 null bitacoraqt intu800 null bitacorafecha date null bitacorahora time null bitacorausr varchar 25u800 null bitacoratexto varchar 200u800 null primary keyu800 bitacoraid engine myisam; triggers triggers triggers alta trig bitacoracrmu82ealta_bitacoracrm bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20130815 alta deu800 tabla usou800 usou800 usou800 urlu800 '),(202,'trig bitacoracrmu82ealta bitacoracrm',' category trig descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n agrega informaciu8c3b3n para sellar lau800 informaciu8c3b3n conu800 fecha. lanzador lanzador lanzador alta composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla bitacoracrm sqlu800 sqlu800 sqlu800 delimiter create trigger alta_bitacoracrm before insert onu800 bitacoracrm foru800 each rowu800 begin setu800 newu800u82ebitacorafecha curdate newu800u82ebitacorahora curtime newu800u82ebitacorausr user ; endu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20130817 alta enu800 bitacora usou800 usou800 usou800 '),(203,'clientes',' clientes abertec centuriones fazzglass vieroabogados cliente5 '),(204,'fazzglass',' sitio direcciu8c3b3n dardo rocha 1396 elu800 jagu8c3bcel buenos aires tu800 011u800u82e4296u82e0129 tu800 011u800u82e4296u82e5837 contactos contactos contactos claudiofazzini mu800 011u800u82e5452u82e7723 lucasfazzini mu800 011u800u82e3320u82e4226 mu800 011u800u82e30779289 aplicaciones aplicaciones aplicaciones spanex soporte soporte soporte softwarefazzglass software hardware telefonu8c3ada '),(205,'softwarefazzglass',' accesos correoelectru8c3b3nico correoelectru8c3b3nico correoelectru8c3b3nico lavidriera hotmailu82ecomu800 pswu800 clau23521156 fazzglass hotmailu82ecomu800 pswu800 clau23521157 tvu800 tvu800 tvu800 707325105 pswu800 rumbo9895 pswu800 7276 '),(206,'centuriones',' contacto apuntes apuntes planeamiento estratu8c3a9gico planeamiento estratu8c3a9gico '),(207,'apuntes planeamiento estratu8c3a9gico',' programa deu800 reuniones plenaria reciben elu800 programa deu800 reuniones plan estratu8c3a9gico frente au800 lasu800 estrategias cuales sonu800 losu800 planes deu800 acciu8c3b3n organigrama '),(208,'vieroabogados',' contacto anau800 maru8c3ada vieiro vallejos 3128 3u8c2bab cuenca yu800 helguera mu800 011u800u82e5061u82e5897 '),(209,'actualizaciondbpendientes',' 20140101 modificacion enu800 tabla wscontrol modificacion enu800 tabla wscontrol modificacion enu800 tabla wscontrol alter table fzggestion . wscontrol addu800 column wskey4 varchar 30u800 null after wskey3 addu800 column wskey5 binary null after wskey4 ; 20140220 20140220 20140220 modificacion enu800 tabla vidquoten1 alter table fzggestion . vidquoten1 change column vidquotecliente vidquotecliente char 8u800 null default null after vidquoteid ; alter table fzggestion . vidquoten1 addu800 column vidquotecompany char 8u800 null after vidquoteid ; alter table fzggestion . wsml change column mlkey3 mlkey4 binary 1u800 null default null ; alter table fzggestion . wsml addu800 column mlkey3 varchar 45u800 null after mlkey2 ; '),(235,'tabla wsml',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n tabla auxiliar para administrar lau800 relaciu8c3b3n entre empresas clientes mayoristas usuarios yu800 suu800 correspondiente logo. idu800 auto 1u800 companu8c3ada. 2u800 mayorista. 3u800 usuario. 4u800 logo. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura delimiter create table wsml mlid intu800 11u800 notu800 null auto_increment mlkey1 varchar 45u800 default null mlkey2 varchar 45u800 default null mlkey3 varchar 45u800 default null mlkey4 binary 1u800 default null primary keyu800 mlid engine myisam default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora 20140220 alta tabla usou800 usou800 usou800 general spanex urlu800 urlu800 urlu800 '),(213,'tabla navtipolog',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n composiciu8c3b3n estructura estructura estructura sqlu800 delimiter create table navtipolog atributoid intu800 11u800 notu800 null auto_increment atributoord intu800 11u800 default null atributocat varchar 20u800 default null atributodsc varchar 40u800 default null primary keyu800 atributoid engine myisam auto_increment 8u800 default charset latin1 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 urlu800 urlu800 urlu800 '),(214,'spanex instalar',' siu800 lau800 instalaciu8c3b3n deu800 lasu800 libreru8c3adas deu800 oou800 ou800 lou800 registrar lau800 base deu800 datos enu800 elu800 entorno oou800 lou800 copiar elu800 documento .odbu800 cambiar elu800 usuario deu800 lau800 base deu800 datos cambiar lau800 constante ocheckestadolicencia au800 true grabar documento .odbu800 cambiar au800 nivel deu800 sistema operativo au800 readonly '),(215,'form consultaclientescrm',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n consulta resumen deu800 losu800 presupuestos yu800 pagos deu800 clientes basado enu800 suu800 contactoid. losu800 presupuestos queu800 figuran sonu800 solo aquellos queu800 seu800 encuentren aprobados cerrados yu800 pasados au800 taller . composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n form consultaclientescrmu82emainform tabla contactos tabla vidquoten1 tabla vidquoten2 tabla accreceiv select vidquotecliente asu800 contactoid t3u800u82erazonsocial vidquotepreciop from select t1u800u82evidquotecliente sumu800 t1u800u82evidquotepreciop asu800 vidquotepreciop from select vidquoten1u82evidquotecliente asu800 vidquotecliente \'otu800\' asu800 ttransaccion vidquoten3u82evidquoteid asu800 ntransaccion vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquoteobra asu800 vidquoteobra sumu800 vidquoten3u82evidquotepreciop asu800 vidquotepreciop from vidquoten1 asu800 vidquoten1 vidquoten3 asu800 vidquoten3 where vidquoten1u82evidquoteid vidquoten3u82evidquoteid andu800 vidquoten1u82evidquoteestado \'1u800\' group byu800 vidquotecliente ttransaccion ntransaccion union select ifu800 isnull accreceivu82eclientear \'00000000\' accreceivu82eclientear asu800 vidquotecliente accreceivu82etdocumentoorg asu800 ttransaccion accreceivu82endocumentoorg asu800 ntransaccion accreceivu82efechaar asu800 vidquotefecha   asu800 vidquoteobra accreceivu82eimportear - 1u800 asu800 vidquotepreciop from fzggestionu82eaccreceiv asu800 t1u800 group byu800 t1u800u82evidquotecliente asu800 t2u800 contactos asu800 t3u800 where t2u800u82evidquotecliente t3u800u82econtactoid form consultaclientescrmu82esfpresupuesto tabla vidquoten1 tabla vidquoten2 select distinct vidquoten1 . vidquotecliente asu800 vidquotecliente vidquoten3 . vidquoteid asu800 vidquoteid vidquoten1 . vidquoteobra asu800 vidquoteobra vidquoten1 . vidquotefecha asu800 vidquotefecha vidquoten1 . vidquoteestado asu800 vidquoteestado sumu800 vidquoten3 . vidquotepreciop asu800 vidquotepreciop from oju800 fzggestion . vidquoten1 asu800 vidquoten1 right outer join fzggestion . vidquoten3 asu800 vidquoten3 onu800 vidquoten1 . vidquoteid vidquoten3 . vidquoteid where vidquoten1 . vidquoteestado \'1u800\' group byu800 vidquoten3 . vidquoteid order byu800 vidquotecliente ascu800 vidquoteid ascu800 form consultaclientescrmu82esubformcobranzas tabla accreceiv form consultaclientescrmu82esubformsaldos tabla vidquoten1 tabla vidquoten2 tabla accreceiv select t1u800u82evidquotecliente sumu800 t1u800u82evidquotepreciop asu800 vidquotepreciop from select distinct vidquoten1u82evidquotecliente asu800 vidquotecliente \'otu800\' asu800 ttransaccion vidquoten3u82evidquoteid asu800 ntransaccion vidquoten1u82evidquotefecha asu800 vidquotefecha vidquoten1u82evidquoteobra asu800 vidquoteobra sumu800 vidquoten3u82evidquotepreciop asu800 vidquotepreciop from vidquoten1 asu800 vidquoten1 vidquoten3 asu800 vidquoten3 where vidquoten1u82evidquoteid vidquoten3u82evidquoteid andu800 vidquoten1u82evidquoteestado \'1u800\' group byu800 vidquotecliente ttransaccion ntransaccion union select ifu800 isnull accreceiv . clientear \'00000000\' accreceiv . clientear asu800 vidquotecliente accreceiv . tdocumentoorg asu800 ttransaccion accreceiv . ndocumentoorg asu800 ntransaccion accreceiv . fechaar asu800 vidquotefecha   asu800 vidquoteobra accreceiv . importear -1u800 asu800 vidquotepreciop from fzggestion . accreceiv asu800 t1u800 group byu800 t1u800u82evidquotecliente estructura estructura estructura cu8c3b3digo relacionado macro eliminacontenidocampo macro activafiltrocontactos macro reporteclientescrm bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131007 seu800 cambia elu800 origen deu800 datos delu800 mainform deu800 lau800 vista clientes au800 unu800 select deu800 lau800 tabla contactos . select contactoid razonsocial clientetag telefono1 correo1 notas from fzggestion . contactos asu800 contactos where clientetag 1u800 order byu800 contactoid ascu800 seu800 cambian lasu800 referencias conu800 losu800 subformularios deu800 clienteid au800 contactoid seu800 cambia lau800 rutina asociada alu800 atributo txtfiltro deu800 macr activafiltroproductosgeneral au800 macr activafiltrocontactos bitu8c3a1corau82e20131018 bitu8c3a1corau82e20131018 bitu8c3a1corau82e20131018 seu800 cambia nuevamente elu800 origen deu800 datos para reflejar queu800 solo seu800 muestre enu800 elu800 grid aquellos clientes queu800 tienen transacciones yu800 nou800 todos losu800 clientes. elu800 sqlu800 anterior select contactoid razonsocial clientetag telefono1 correo1 notas from fzggestion . contactos asu800 contactos where clientetag 1u800 order byu800 contactoid ascu800 usou800 usou800 usou800 '),(216,'form bitacoracrm',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n detalle deu800 eventos yu800 sucesos registrables para ampliar lau800 informaciu8c3b3n histu8c3b3rica deu800 losu800 clientes composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla bitacoracrm tabla contactos cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado bitu8c3a1cora bitu8c3a1coracrmu82e20131008 bitu8c3a1coracrmu82e20131008 bitu8c3a1coracrmu82e20131008 seu800 cambiu8c3b3 elu800 nombre delu800 atributo bitacoract poru800 contactoct para poder hacer usou800 delu800 macro activafiltrocontactos enu800 vezu800 delu800 macro activafiltroproductosgeneral queu800 estaba siendo usado erru8c3b3neamente. seu800 cambiu8c3b3 losu800 link deu800 referencia entre form bitacoracrmu82ebitacoraresumen yu800 formbitacoracrmu82ebitacoradetalle bitu8c3a1coracrmu82e20131017 bitu8c3a1coracrmu82e20131017 bitu8c3a1coracrmu82e20131017 seu800 reestructuru8c3b3 elu800 form dado queu800 nou800 funcionaba correctamente. seu800 elimina lau800 cascada deu800 losu800 formularios estableciendo unu800 u8c3banico formulario. seu800 cambia elu800 usou800 delu800 evento para elu800 filtro deu800 macro activafiltrocontactos au800 macro activafiltrobitacoras yau800 queu800 cambia elu800 origen deu800 datos au800 lau800 tabla bitacoracrm enu800 forma directa. alu800 seru800 unu800 form queu800 solo tiene habilitado elu800 alta deu800 registraciones para evitar queu800 puedan efectuar ingresos enu800 elu800 doble estu8c3a1ndar formulario ppdu800 yu800 grid cuando seu800 produce elu800 foco sobre elu800 grid seu800 aplican losu800 eventos macro eventowrfbitacoragrid yu800 macro eventowlfbitacoragrid para activar yu800 desactivar ingresos. composiciu8c3b3n anterior form bitacoracrmu82ebitacoraresumen form bitacoracrmu82ebitacoradetalle tabla bitacoracrm tabla contactos select bitacoracrmu82ebitacoraid bitacoracrmu82ebitacoract asu800 contactoid contactosu82erazonsocial bitacoracrmu82ebitacoraqt bitacoracrmu82ebitacorafecha bitacoracrmu82ebitacorahora bitacoracrmu82ebitacorausr left bitacoratexto 45u800 asu800 bitacoratexto from fzggestionu82ebitacoracrm asu800 bitacoracrm fzggestionu82econtactos asu800 contactos where bitacoracrmu82ebitacoract contactosu82econtactoid usou800 usou800 usou800 '),(217,'macro activafiltroproductosgeneral',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n define elu800 filtro para elu800 formulario correspondiente deu800 acuerdo alu800 atributo genu8c3a9rico txtfiltro yu800 leu800 aplica lau800 serie deu800 atributos enu800 forma deu800 filtro. biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo function activafiltroproductosgeneral oevent asu800 boolean dimu800 strqrysearch asu800 string dimu800 ofiltrodb asu800 string dimu800 oconnection asu800 object dimu800 oform asu800 object dimu800 ocontrol asu800 string dimu800 ofiltro asu800 string textostatusbar aguarde unu800 momento. consulta enu800 curso oform oeventu82esourceu82emodelu82eparent ocontrol oeventu82esourceu82emodelu82ename ofiltro oformu82egetbyname ocontrol .currentvalue ofiltrodb ifu800 trim ofiltro then ofiltrodb ofiltrodb & productoid inu800 select productosu82eproductoid from productos where productoid like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 proveedorid like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 descripcion like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 categoriaid like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' endu800 ifu800 oformu82efilter ofiltrodb \'msgbox oformu82efilter oformu82ereload textostatusbar endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 '),(218,'macro activafiltrocontactos',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n define elu800 filtro para elu800 formulario correspondiente deu800 acuerdo alu800 atributo genu8c3a9rico txtfiltro yu800 leu800 aplica lau800 serie deu800 atributos enu800 forma deu800 filtro enu800 tablas asociadas au800 lau800 tabla contactos biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo function activafiltrocontactos oevent asu800 boolean dimu800 strqrysearch asu800 string dimu800 ofiltrodb asu800 string dimu800 oconnection asu800 object dimu800 oform asu800 object dimu800 ocontrol asu800 string dimu800 ofiltro asu800 string textostatusbar aguarde unu800 momento. consulta enu800 curso oform oeventu82esourceu82emodelu82eparent ocontrol oeventu82esourceu82emodelu82ename ofiltro trim oformu82egetbyname ocontrol .currentvalue ofiltrodb ifu800 trim ofiltro then ofiltrodb ofiltrodb & contactoid inu800 select contactoid from contactos where contactoid like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 razonsocial like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 direccion like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 localidad like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 provincia like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' endu800 ifu800 oformu82efilter ofiltrodb \'msgbox oformu82efilter oformu82ereload textostatusbar endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form bitacoracrm form posicioncrm form consultaclientescrm '),(219,'macro activafiltrobitacoras',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n activa filtro sobre activecommand enu800 formularios biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla bitacoracrm tabla contactos cu8c3b3digo cu8c3b3digo cu8c3b3digo function activafiltrobitacoras oevent asu800 boolean dimu800 strqrysearch asu800 string dimu800 ofiltrodb asu800 string dimu800 oconnection asu800 object dimu800 oform asu800 object dimu800 ocontrol asu800 string dimu800 ofiltro asu800 string textostatusbar aguarde unu800 momento. consulta enu800 curso oform oeventu82esourceu82emodelu82eparent ocontrol oeventu82esourceu82emodelu82ename ofiltro trim oformu82egetbyname ocontrol .currentvalue ofiltrodb ifu800 trim ofiltro then ofiltrodb ofiltrodb & bitacoract inu800 ofiltrodb ofiltrodb & select bitacoract from ofiltrodb ofiltrodb & select ofiltrodb ofiltrodb & t2u800u82ebitacoract ofiltrodb ofiltrodb & t1u800u82erazonsocial ofiltrodb ofiltrodb & t2u800u82ebitacoraat ofiltrodb ofiltrodb & t2u800u82ebitacoraqt ofiltrodb ofiltrodb & t2u800u82ebitacoratexto ofiltrodb ofiltrodb & from ofiltrodb ofiltrodb & contactos asu800 t1u800 ofiltrodb ofiltrodb & bitacoracrm asu800 t2u800 ofiltrodb ofiltrodb & where ofiltrodb ofiltrodb & t1u800u82econtactoid t2u800u82ebitacoract andu800 ofiltrodb ofiltrodb & t2u800u82ebitacoract like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 t1u800u82erazonsocial like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 t2u800u82ebitacoraat like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' oru800 t2u800u82ebitacoratexto like \' ofiltrodb ofiltrodb & ofiltro ofiltrodb ofiltrodb & \' asu800 t3u800 \'inputbox query test ofiltrodb endu800 ifu800 oformu82efilter ofiltrodb oformu82ereload textostatusbar endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form bitacoracrm '),(220,'macro eventowrfbitacoragrid',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n desactiva lau800 posibilidad deu800 insertar registros biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 eventowrfbitacoragrid oevent asu800 object \'testmri \'mriu800 oeventu82esourceu82emodelu82eparent oform thiscomponentu82edrawpageu82eformsu82egetbyindex 0u800 thiscomponentu82edrawpageu82eformsu82egetbyindex 0u800 .allowinserts false oformu82ereload endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form bitacoracrm '),(221,'macro eventowlfbitacoragrid',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n reactiva lau800 posibilidad deu800 insertar registros biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 eventowlfbitacoragrid oevent asu800 object \'testmri \'mriu800 oeventu82esourceu82emodelu82eparent oform thiscomponentu82edrawpageu82eformsu82egetbyindex 0u800 oformu82eallowinserts true oformu82ereload endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form bitacoracrm '),(222,'vista listavigente',' category vistas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n  esta vista hau800 sido desafectada  incialmente yau800 queu800 seu800 trabaja bajo unu800 esquema deu800 lista u8c3banica yu800 modificable. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla precios estructura estructura estructura delimiter create view listavigente asu800 select listasprecios . lista asu800 lista listasprecios . fecha asu800 fecha from listasprecios order byu800 listasprecios . lista desc limit 1u800 sqlu800 sqlu800 sqlu800 bitu8c3a1cora usou800 usou800 usou800 urlu800 '),(223,'form formmenu',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n menu8c3ba deu800 lanzamiento deu800 lau800 aplicaciu8c3b3n composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n estructura cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado macro menuboton macro menulimpiar macro executeprocess macro inicializamenu macro showmainmenu macro openreport bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131018 seu800 elimina como elemento delu800 submenu contactos elu800 rprt individualcrm queu800 seu800 ejecuta directamente desde elu800 form consultaclientescrm. para queu800 tenga efecto seu800 modifica tambiu8c3a9n elu800 macro executeprocess . usou800 usou800 usou800 '),(224,'macro executeprocess',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n ejecuta elu800 proceso core delu800 menu8c3ba principal. consta deu800 4u800 vectores #menu # screener delu800 menu8c3ba. tiene queu800 seru800 igual alu800 objeto listbox delu800 form. #tipo # tipo deu800 objeto seleccionado fu800 form su800 separador ru800 report #objeto # nombre delu800 objeto #path # cual esu800 elu800 u8c3a1rbol au800 recorrer anidamiento delu800 menu8c3ba para lograr lau800 ejecuciu8c3b3n delu800 proceso biblioteca biblioteca biblioteca libr spanexm composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 executeprocess oevent asu800 object dimu800 oparser asu800 string dimu800 vmenu dimu800 vtipo dimu800 vobjeto itemseleccionado oeventu82esourceu82eselecteditem \' \' warning. ifu800 msgbox function call oevent isu800 reset sou800 take au800 value object tou800 maintain parameters \' vmenu array contactos precios presupuestos productos valores salida vmenu 0u800 array consulta clientes crmu800 _u800 contactos _u800 posicion crmu800 _u800 bitacora crmu800 _u800 reportes _u800 contactos vmenu 1u800 array cambio masivo _u800 masivo coeficientes actualizacion _u800 precios general _u800 precios tabular normal _u800 precios tabular poru800 procesos _u800 reportes _u800 lista deu800 precios vmenu 2u800 array presupuestos _u800 reportes _u800 presupuesto activo vmenu 3u800 array categorias _u800 composiciones _u800 copia composicion _u800 masivo poru800 elemento _u800 masivo poru800 producto _u800 productos - elementos _u800 modulos _u800 bocetos _u800 modulos _u800 modulos poru800 linea control _u800 productos _u800 reportes _u800 productos vmenu 4u800 array cheques _u800 cobranzas _u800 pagos vtipo array contactos precios presupuestos productos valores salida vtipo 0u800 array fu800 fu800 fu800 fu800 su800 ru800 vtipo 1u800 array fu800 fu800 fu800 fu800 fu800 su800 ru800 vtipo 2u800 array fu800 su800 ru800 vtipo 3u800 array fu800 su800 fu800 fu800 fu800 fu800 su800 fu800 fu800 fu800 fu800 su800 ru800 vtipo 4u800 array fu800 fu800 fu800 vobjeto array contactos precios presupuestos productos valores salida vobjeto 0u800 array consulta clientes crmu800 _u800 contactos _u800 posicion crmu800 _u800 bitacora crmu800 _u800 separadorreportes _u800 contactos -resumen- vobjeto 1u800 array cambio masivo _u800 masivo coeficientes actualizacion _u800 precios general _u800 precios tabular normal _u800 precios tabular poru800 procesos _u800 separadorreportes _u800 lista deu800 precios vobjeto 2u800 array presupuestos _u800 separadorreportes _u800 presupuestos vobjeto 3u800 array categoria _u800 composiciones _u800 copia composicion _u800 masivo poru800 elemento _u800 masivo poru800 producto _u800 productos-elementos _u800 modulos _u800 bocetos _u800 modulos _u800 modulos poru800 linea control _u800 productos _u800 separadorreportes _u800 productos vobjeto 4u800 array cheques _u800 cobranzas _u800 pagos vpath array contactos precios presupuestos productos valores salida vpath 0u800 array 1u800u82egestion contactos consulta clientes crmu800 _u800 1u800u82egestion contactos contactos _u800 1u800u82egestion contactos posicion crmu800 _u800 1u800u82egestion contactos bitacora crmu800 _u800 separadorreportes _u800 contactos -resumen- vpath 1u800 array 1u800u82egestion precios cambio masivo _u800 1u800u82egestion precios masivo coeficientes actualizacion _u800 1u800u82egestion precios precios general _u800 1u800u82egestion precios precios tabular normal _u800 1u800u82egestion precios precios tabular poru800 procesos _u800 separadorreportes _u800 lista deu800 precios vpath 2u800 array 1u800u82egestion presupuestos presupuestos _u800 separadorreportes _u800 presupuestos vpath 3u800 array 1u800u82egestion productos categoria _u800 1u800u82egestion productos composiciones _u800 1u800u82egestion productos composicion copia composicion _u800 1u800u82egestion productos composicion masivo poru800 elemento _u800 1u800u82egestion productos composicion masivo poru800 producto _u800 1u800u82egestion productos composicion productos-elementos _u800 1u800u82egestion productos modulos modulos _u800 1u800u82egestion productos modulos bocetos _u800 1u800u82egestion productos modulos modulos _u800 1u800u82egestion productos modulos modulos poru800 linea control _u800 1u800u82egestion productos productos _u800 separadorreportes _u800 productos vpath 4u800 array 1u800u82egestion valores cheques _u800 1u800u82egestion valores cobranzas _u800 1u800u82egestion valores pagos select case oeventu82esourceu82eimplementationname case comu800u82esunu800u82estaru82ecompu82eformsu82eobuttoncontrol case comu800u82esunu800u82estaru82ecompu82eformsu82eolistboxcontrol foru800 iu800 0u800 tou800 ubound vmenu oubicacion aseek vmenu iu800 oeventu82esourceu82eselecteditem ifu800 oubicacion -1u800 then \'iu800 ubound vmenu iu800 select case vtipo iu800 oubicacion case fu800 oformlaunch thisdatabasedocumentu82eformdocuments vparser split vpath iu800 oubicacion foru800 ju800 0u800 tou800 ubound vparser oformlaunch oformlaunchu82egetbyname vparser ju800 next oformlaunchu82eopen case ru800 oreportlaunch thisdatabasedocumentu82ereportdocuments vparser split vpath iu800 oubicacion oparser foru800 ju800 0u800 tou800 ubound vparser oreportlaunch oreportlaunchu82egetbyname vparser ju800 oparser vparser ju800 next ocontenedor thisdatabasedocumentu82ereportdocuments oconexion thiscomponentu82eparentu82ecurrentcontrolleru82eactiveconnection openreport ocontenedor oconexion oparser endu800 select iu800 ubound vmenu endu800 ifu800 next iu800 endu800 select endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131018 seu800 corrige elu800 cu8c3b3digo enu800 elu800 marco deu800 lau800 eliminaciu8c3b3n deu800 unu800 elemento delu800 menu8c3ba malu800 ingresado form formmenu#bitu8c3a1corau82e20131018 usou800 usou800 usou800 '),(225,'tabla filtroqry',' category tablas descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n tabla temporal deu800 reposo deu800 texto para query composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n sqlu800 create table fzggestion . filtroqry filtroqry varchar 30u800 notu800 null primary keyu800 filtroqry engine myisam; bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131022 alta deu800 tabla usou800 usou800 usou800 form preciostabularnormal urlu800 urlu800 urlu800 '),(226,'macro afterrecordchangeformproductos',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n cambia elu800 estado delu800 campo cu8c3b3digo deu800 producto para imposibilitar lau800 modificaciu8c3b3n alu800 tiempo deu800 lau800 gestiu8c3b3n enu800 elu800 form productos biblioteca biblioteca biblioteca composiciu8c3b3n form productos cu8c3b3digo cu8c3b3digo cu8c3b3digo function afterrecordchangeformproductos oevent asu800 object dimu800 oform asu800 object oform thiscomponentu82edrawpageu82eformsu82egetbyname mainform ifu800 oformu82eisnew then thiscomponentu82edrawpageu82eformsu82egetbyname mainform .getbyname txtproductoid .setpropertyvalue enabled true else thiscomponentu82edrawpageu82eformsu82egetbyname mainform .getbyname txtproductoid .setpropertyvalue enabled false endif endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form productos '),(227,'macro changefieldtxtproductoidformproductos',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n valida lau800 acciu8c3b3n deu800 ingresar unu800 producto dentro deu800 lau800 aplicaciu8c3b3n. biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla productos tabla precios tabla composicion cu8c3b3digo cu8c3b3digo cu8c3b3digo function changefieldtxtproductoidformproductos oevent asu800 object dimu800 ovalor asu800 string dimu800 ofield asu800 object ofield oeventu82esource ovalor ucase ofieldu82etext ofieldu82esettext ovalor changefieldtxtproductoidformproductos false ifu800 left ovalor 2u800 dtu800 then omensaje elu800 cu8c3b3digo ingresado utiliza unau800 cadena reservada poru800 lau800 sistema msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation atenciu8c3b3n ofieldu82esettext ofieldu82emodelu82eparentu82erefreshrow ofieldu82emodelu82eparentu82egetbyname listafiltrada .reset else ocondicion productoid &chru800 39u800 & ofieldu82etext &chru800 39u800 ifu800 querysimple count hayproductos productos ocondicion integer 0u800 then omensaje elu800 cu8c3b3digo deu800 producto yau800 existe como producto msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation atenciu8c3b3n else ifu800 querysimple count haycomposiciones composicion ocondicion integer then omensaje elu800 cu8c3b3digo deu800 producto yau800 existe como componente msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation atenciu8c3b3n else ifu800 querysimple count hayprecios precios ocondicion integer then omensaje elu800 cu8c3b3digo deu800 producto existe yu800 tiene precio asignado msgbox splitmsg omensaje 40u800 mb_ok mb_iconexclamation atenciu8c3b3n else changefieldtxtproductoidformproductos true endu800 ifu800 endu800 ifu800 endu800 ifu800 endu800 ifu800 ifu800 notu800 changefieldtxtproductoidformproductos then ofieldu82esetfocus endif endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131109 seu800 agrega lau800 validaciu8c3b3n deu800 prefijos reservados para elu800 sistema. prefijo dtu800 . seu800 ajustan lau800 gestiu8c3b3n deu800 mensajes yu800 warnings. usou800 usou800 usou800 form productos '),(228,'macro confirmeeliminarproductocore',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n funciu8c3b3n deu800 confirmaciu8c3b3n deu800 eliminaciu8c3b3n deu800 registro deu800 tabla productos . tiene asociado poru800 medio deu800 trig productosu82ebaja_producto lau800 eliminaciu8c3b3n deu800 losu800 correspondientes enu800 tabla precios yu800 tabla composicion biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo function confirmeeliminarproductocore oevent asu800 boolean dimu800 omensaje asu800 string ifu800 left oeventu82esourceu82emodelu82egetbyname txtproductoid .currentvalue 2u800 dtu800 then omensaje omensaje omensaje & elu800 codigo seleccionado nou800 puede & chru800 13u800 omensaje omensaje & seru800 eliminado desde este proceso msgbox omensaje mb_ok mb_iconexclamation atencion confirmeeliminarproductocore false else omensaje omensaje omensaje & u8c2bfestu8c3a1 seguro deu800 eliminar lau800 registraciu8c3b3n & chru800 13u800 omensaje omensaje & puede generar inconsistencias enu800 losu800 procesos select case msgbox omensaje mb_yesno mb_iconexclamation atencion idyes case idyes confirmeeliminarproductocore true case idno confirmeeliminarproductocore false endu800 select endu800 ifu800 endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131111 seu800 agrega lau800 excepciu8c3b3n deu800 nou800 permitir eliminar registros conu800 cu8c3b3digo deu800 producto conu800 prefijo tu800 usou800 usou800 usou800 form productos '),(229,'form auxu800 000002',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n formulario resumen delu800 form contactos para alta exclusiva deu800 registraciones deu800 clientes au800 partir delu800 form presupuesto composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n tabla contactos estructura estructura estructura cu8c3b3digo relacionado macro eventobraaux000002 macro eventoaraaux000002 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form presupuesto '),(230,'macro eventobraaux000002',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n rescata lau800 acciu8c3b3n ejecutada enu800 elu800 form auxu800 000002 biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 eventobraaux000002 oevent asu800 object oestadoregistrobraaux000002 oeventu82eaction endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131109 alta deu800 macro usou800 usou800 usou800 form auxu800 000002 '),(231,'macro eventoaraaux000002',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n intercepta lau800 acciu8c3b3n sobre elu800 registro gestionado enu800 form auxu800 000002 yu800 refresca losu800 listboxes asociados au800 tabla contactos dentro deu800 form presupuestos biblioteca biblioteca biblioteca libr spanexb composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo subu800 eventoaraaux000002 oevent asu800 object ifu800 oestadoregistrobraaux000002 1u800 then oform thisdatabasedocumentu82eformdocumentsu82egetbyname 1u800u82egestion .getbyname presupuestos .getbyname presupuestos ifu800 oformu82ecomponentu82edrawpageu82eformsu82egetbyindex 0u800 .isloaded true then oformu82ecomponentu82edrawpageu82eformsu82egetbyindex 0u800 .getbyname txtvidquoteclientedsc .refresh oformu82ecomponentu82edrawpageu82eformsu82egetbyindex 0u800 .getbyname txtvidquotecliente .refresh endu800 ifu800 endu800 ifu800 oestadoregistrobraaux000002 0u800 endu800 subu800 bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131109 alta deu800 macro usou800 usou800 usou800 form auxu800 000002 '),(232,'form gestionmasivaporproducto',' category form descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n gestiu8c3b3n deu800 productos elementos deu800 unau800 composiciu8c3b3n conu800 elu800 despliegue deu800 toda lau800 relaciu8c3b3n poru800 producto. composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n vista viscompcnt tabla composicion estructura estructura estructura mainform vista viscompcnt grid subform tabla composicion grid cu8c3b3digo relacionado cu8c3b3digo relacionado cu8c3b3digo relacionado macro activafiltroproductosgeneral macro eliminacontenidocampo bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora bitu8c3a1corau82e20131111 agrega columna enu800 grid principal para representar lau800 cantidad deu800 registros existentes para lau800 composiciu8c3b3n deu800 unu800 producto dado. usou800 usou800 usou800 '),(233,'macro eliminacontenidocampo',' category macro descripciu8c3b3n descripciu8c3b3n descripciu8c3b3n elimina contenido delu800 campo deu800 filtro enu800 losu800 form queu800 utilizan filtros estu8c3a1ndar biblioteca biblioteca biblioteca libr fazzglassmcr composiciu8c3b3n composiciu8c3b3n composiciu8c3b3n cu8c3b3digo function eliminacontenidocampo oevent asu800 object dimu800 odocument asu800 object dimu800 oform asu800 object dimu800 oobjeto asu800 string oform oeventu82esourceu82emodelu82eparent oobjeto oeventu82esourceu82emodelu82ename ocampo midu800 oobjeto instr oobjeto _u800 1u800 oformu82egetbyname ocampo .reset oformu82efilter restituyefiltrooriginal oformu82eparentu82eparentu82etitle oformu82ename oformu82ecommand oformu82ereload endu800 function bitu8c3a1cora bitu8c3a1cora bitu8c3a1cora usou800 form gestionmasivaporproducto '),(234,'inventario',' intranet wirelessids wirelessids wirelessids idu800-mau800 #smmu800u82egfmu800-b8u800 5eu800 7bu800 7fu800 56u800 64u800 1u800 #alsu800u82egfmu800-b8u800 5eu800 7bu800 80u800 0bu800 ecu800 2u800 #sasu800u82elp1u800-88u800 9fu800 fau800 86u800 a3u800 7cu800 3u800 #sasu800u82elp2u800-00u800 15u800 afu800 a6u800 1eu800 e4u800 4u800 #sasu800u82ene5u800-d4u800 5du800 42u800 0fu800 96u800 4eu800 5u800 #smmu800u82elptu800-9cu800 b7u800 0du800 14u800 d2u800 c8u800 6u800 #sasu800u82etblu800-00u800 c1u800 b1u800 01u800 e1u800 31u800 7u800 #sasu800u82es3mu800-94u800 d7u800 71u800 46u800 64u800 45u800 8u800 #smmu800u82ee63u800-00u800 23u800 b4u800 e5u800 b8u800 a8u800 #alsu800u82enc3u800-a8u800 e0u800 18u800 49u800 43u800 b5u800 ');
/*!40000 ALTER TABLE `peg_searchindex` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_protected_titles`
--

DROP TABLE IF EXISTS `pvt_protected_titles`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_protected_titles` (
  `pt_namespace` int(11) NOT NULL,
  `pt_title` varbinary(255) NOT NULL,
  `pt_user` int(10) unsigned NOT NULL,
  `pt_reason` tinyblob,
  `pt_timestamp` binary(14) NOT NULL,
  `pt_expiry` varbinary(14) NOT NULL default '',
  `pt_create_perm` varbinary(60) NOT NULL,
  UNIQUE KEY `pt_namespace_title` (`pt_namespace`,`pt_title`),
  KEY `pt_timestamp` (`pt_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_protected_titles`
--

LOCK TABLES `pvt_protected_titles` WRITE;
/*!40000 ALTER TABLE `pvt_protected_titles` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_protected_titles` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_templatelinks`
--

DROP TABLE IF EXISTS `peg_templatelinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_templatelinks` (
  `tl_from` int(10) unsigned NOT NULL default '0',
  `tl_namespace` int(11) NOT NULL default '0',
  `tl_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `tl_from` (`tl_from`,`tl_namespace`,`tl_title`),
  UNIQUE KEY `tl_namespace` (`tl_namespace`,`tl_title`,`tl_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_templatelinks`
--

LOCK TABLES `peg_templatelinks` WRITE;
/*!40000 ALTER TABLE `peg_templatelinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_templatelinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_oldimage`
--

DROP TABLE IF EXISTS `peg_oldimage`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_oldimage` (
  `oi_name` varbinary(255) NOT NULL default '',
  `oi_archive_name` varbinary(255) NOT NULL default '',
  `oi_size` int(10) unsigned NOT NULL default '0',
  `oi_width` int(11) NOT NULL default '0',
  `oi_height` int(11) NOT NULL default '0',
  `oi_bits` int(11) NOT NULL default '0',
  `oi_description` tinyblob NOT NULL,
  `oi_user` int(10) unsigned NOT NULL default '0',
  `oi_user_text` varbinary(255) NOT NULL,
  `oi_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `oi_metadata` mediumblob NOT NULL,
  `oi_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `oi_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL default 'unknown',
  `oi_minor_mime` varbinary(100) NOT NULL default 'unknown',
  `oi_deleted` tinyint(3) unsigned NOT NULL default '0',
  `oi_sha1` varbinary(32) NOT NULL default '',
  KEY `oi_usertext_timestamp` (`oi_user_text`,`oi_timestamp`),
  KEY `oi_name_timestamp` (`oi_name`,`oi_timestamp`),
  KEY `oi_name_archive_name` (`oi_name`,`oi_archive_name`(14)),
  KEY `oi_sha1` (`oi_sha1`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_oldimage`
--

LOCK TABLES `peg_oldimage` WRITE;
/*!40000 ALTER TABLE `peg_oldimage` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_oldimage` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_langlinks`
--

DROP TABLE IF EXISTS `peg_langlinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_langlinks` (
  `ll_from` int(10) unsigned NOT NULL default '0',
  `ll_lang` varbinary(20) NOT NULL default '',
  `ll_title` varbinary(255) NOT NULL default '',
  UNIQUE KEY `ll_from` (`ll_from`,`ll_lang`),
  KEY `ll_lang` (`ll_lang`,`ll_title`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_langlinks`
--

LOCK TABLES `peg_langlinks` WRITE;
/*!40000 ALTER TABLE `peg_langlinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_langlinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_log_search`
--

DROP TABLE IF EXISTS `pvt_log_search`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_log_search` (
  `ls_field` varbinary(32) NOT NULL,
  `ls_value` varbinary(255) NOT NULL,
  `ls_log_id` int(10) unsigned NOT NULL default '0',
  UNIQUE KEY `ls_field_val` (`ls_field`,`ls_value`,`ls_log_id`),
  KEY `ls_log_id` (`ls_log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_log_search`
--

LOCK TABLES `pvt_log_search` WRITE;
/*!40000 ALTER TABLE `pvt_log_search` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_log_search` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_filearchive`
--

DROP TABLE IF EXISTS `peg_filearchive`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_filearchive` (
  `fa_id` int(11) NOT NULL auto_increment,
  `fa_name` varbinary(255) NOT NULL default '',
  `fa_archive_name` varbinary(255) default '',
  `fa_storage_group` varbinary(16) default NULL,
  `fa_storage_key` varbinary(64) default '',
  `fa_deleted_user` int(11) default NULL,
  `fa_deleted_timestamp` binary(14) default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `fa_deleted_reason` blob,
  `fa_size` int(10) unsigned default '0',
  `fa_width` int(11) default '0',
  `fa_height` int(11) default '0',
  `fa_metadata` mediumblob,
  `fa_bits` int(11) default '0',
  `fa_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `fa_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') default 'unknown',
  `fa_minor_mime` varbinary(100) default 'unknown',
  `fa_description` tinyblob,
  `fa_user` int(10) unsigned default '0',
  `fa_user_text` varbinary(255) default NULL,
  `fa_timestamp` binary(14) default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `fa_deleted` tinyint(3) unsigned NOT NULL default '0',
  PRIMARY KEY  (`fa_id`),
  KEY `fa_name` (`fa_name`,`fa_timestamp`),
  KEY `fa_storage_group` (`fa_storage_group`,`fa_storage_key`),
  KEY `fa_deleted_timestamp` (`fa_deleted_timestamp`),
  KEY `fa_user_timestamp` (`fa_user_text`,`fa_timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_filearchive`
--

LOCK TABLES `peg_filearchive` WRITE;
/*!40000 ALTER TABLE `peg_filearchive` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_filearchive` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_valid_tag`
--

DROP TABLE IF EXISTS `pvt_valid_tag`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_valid_tag` (
  `vt_tag` varbinary(255) NOT NULL,
  PRIMARY KEY  (`vt_tag`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_valid_tag`
--

LOCK TABLES `pvt_valid_tag` WRITE;
/*!40000 ALTER TABLE `pvt_valid_tag` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_valid_tag` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_transcache`
--

DROP TABLE IF EXISTS `fzg_transcache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_transcache` (
  `tc_url` varbinary(255) NOT NULL,
  `tc_contents` blob,
  `tc_time` binary(14) NOT NULL,
  UNIQUE KEY `tc_url_idx` (`tc_url`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_transcache`
--

LOCK TABLES `fzg_transcache` WRITE;
/*!40000 ALTER TABLE `fzg_transcache` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_transcache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_oldimage`
--

DROP TABLE IF EXISTS `pvt_oldimage`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_oldimage` (
  `oi_name` varbinary(255) NOT NULL default '',
  `oi_archive_name` varbinary(255) NOT NULL default '',
  `oi_size` int(10) unsigned NOT NULL default '0',
  `oi_width` int(11) NOT NULL default '0',
  `oi_height` int(11) NOT NULL default '0',
  `oi_bits` int(11) NOT NULL default '0',
  `oi_description` tinyblob NOT NULL,
  `oi_user` int(10) unsigned NOT NULL default '0',
  `oi_user_text` varbinary(255) NOT NULL,
  `oi_timestamp` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `oi_metadata` mediumblob NOT NULL,
  `oi_media_type` enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') default NULL,
  `oi_major_mime` enum('unknown','application','audio','image','text','video','message','model','multipart') NOT NULL default 'unknown',
  `oi_minor_mime` varbinary(100) NOT NULL default 'unknown',
  `oi_deleted` tinyint(3) unsigned NOT NULL default '0',
  `oi_sha1` varbinary(32) NOT NULL default '',
  KEY `oi_usertext_timestamp` (`oi_user_text`,`oi_timestamp`),
  KEY `oi_name_timestamp` (`oi_name`,`oi_timestamp`),
  KEY `oi_name_archive_name` (`oi_name`,`oi_archive_name`(14)),
  KEY `oi_sha1` (`oi_sha1`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_oldimage`
--

LOCK TABLES `pvt_oldimage` WRITE;
/*!40000 ALTER TABLE `pvt_oldimage` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_oldimage` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_categorylinks`
--

DROP TABLE IF EXISTS `pvt_categorylinks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_categorylinks` (
  `cl_from` int(10) unsigned NOT NULL default '0',
  `cl_to` varbinary(255) NOT NULL default '',
  `cl_sortkey` varbinary(230) NOT NULL default '',
  `cl_sortkey_prefix` varbinary(255) NOT NULL default '',
  `cl_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `cl_collation` varbinary(32) NOT NULL default '',
  `cl_type` enum('page','subcat','file') NOT NULL default 'page',
  UNIQUE KEY `cl_from` (`cl_from`,`cl_to`),
  KEY `cl_sortkey` (`cl_to`,`cl_type`,`cl_sortkey`,`cl_from`),
  KEY `cl_timestamp` (`cl_to`,`cl_timestamp`),
  KEY `cl_collation` (`cl_collation`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_categorylinks`
--

LOCK TABLES `pvt_categorylinks` WRITE;
/*!40000 ALTER TABLE `pvt_categorylinks` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_categorylinks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_msg_resource`
--

DROP TABLE IF EXISTS `pvt_msg_resource`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_msg_resource` (
  `mr_resource` varbinary(255) NOT NULL,
  `mr_lang` varbinary(32) NOT NULL,
  `mr_blob` mediumblob NOT NULL,
  `mr_timestamp` binary(14) NOT NULL,
  UNIQUE KEY `mr_resource_lang` (`mr_resource`,`mr_lang`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_msg_resource`
--

LOCK TABLES `pvt_msg_resource` WRITE;
/*!40000 ALTER TABLE `pvt_msg_resource` DISABLE KEYS */;
INSERT INTO `pvt_msg_resource` VALUES ('ext.svgedit.editButton','es','{\"svgedit-editbutton-edit\":\"Editar dibujo\",\"svgedit-edit-tab\":\"Editar dibujo\",\"svgedit-edit-tab-tooltip\":\"Puede editar esta dibujo SVG en el navegador\"}','20130830130243'),('ext.svgedit.editor','es','{\"svgedit-summary-label\":\"Editar resumen\",\"svgedit-summary-default\":\"\\/* Modificado con svg-edit *\\/\",\"svgedit-editor-save-close\":\"Guardar y cerrar\",\"svgedit-editor-close\":\"Cancelar\"}','20130103115026'),('ext.svgedit.toolbar','es','{\"svgedit-toolbar-insert\":\"Dibujo SVG\"}','20130103115026'),('jquery.byteLength','es','{}','20130103115026'),('jquery.byteLimit','es','{}','20130103115026'),('jquery.checkboxShiftClick','es','{}','20130103114845'),('jquery.client','es','{}','20130124185829'),('jquery.cookie','es','{}','20130103114845'),('jquery.makeCollapsible','es','{\"collapsible-expand\":\"Mostrar\",\"collapsible-collapse\":\"Ocultar\"}','20130103114845'),('jquery.messageBox','es','{}','20130103114845'),('jquery.mwPrototypes','es','{}','20130103114845'),('jquery.placeholder','es','{}','20130103114845'),('jquery.textSelection','es','{}','20130103115026'),('jquery.ui.core','es','{}','20130124185903'),('jquery.ui.mouse','es','{}','20130124185903'),('jquery.ui.resizable','es','{}','20130124185903'),('jquery.ui.widget','es','{}','20130124185903'),('mediawiki.action.edit','es','{}','20130103115026'),('mediawiki.action.view.metadata','es','{\"metadata-expand\":\"Mostrar datos detallados\",\"metadata-collapse\":\"Ocultar datos detallados\"}','20130830130243'),('mediawiki.action.watch.ajax','es','{\"watch\":\"Vigilar\",\"unwatch\":\"Dejar de vigilar\",\"watching\":\"Vigilando...\",\"unwatching\":\"Eliminando de la lista de seguimiento...\",\"tooltip-ca-watch\":\"A\\u00f1adir esta p\\u00e1gina a su lista de seguimiento\",\"tooltip-ca-unwatch\":\"Borrar esta p\\u00e1gina de su lista de seguimiento\",\"watcherrortext\":\"Ocurri\\u00f3 un error al cambiar la configuraci\\u00f3n de tu lista de seguimiento para \\u00ab$1\\u00bb.\"}','20130103114959'),('mediawiki.htmlform','es','{}','20130830130201'),('mediawiki.language','es','{}','20130103114845'),('mediawiki.legacy.ajax','es','{}','20130103114845'),('mediawiki.legacy.upload','es','{}','20130830130201'),('mediawiki.legacy.wikibits','es','{\"showtoc\":\"mostrar\",\"hidetoc\":\"ocultar\"}','20130103114845'),('mediawiki.libs.jpegmeta','es','{}','20130830130201'),('mediawiki.page.ready','es','{}','20130103114845'),('mediawiki.page.startup','es','{}','20130124185829'),('mediawiki.special.movePage','es','{}','20130926114121'),('mediawiki.special.search','es','{}','20130926204622'),('mediawiki.special.upload','es','{\"widthheight\":\"$1 \\u00d7 $2\",\"size-bytes\":\"$1 B\",\"size-kilobytes\":\"$1 KB\",\"size-megabytes\":\"$1 MB\",\"size-gigabytes\":\"$1 GB\",\"largefileserver\":\"El tama\\u00f1o de este archivo es mayor del que este servidor admite por configuraci\\u00f3n.\"}','20130830130201'),('mediawiki.user','es','{}','20130103114845'),('mediawiki.util','es','{}','20130103114845');
/*!40000 ALTER TABLE `pvt_msg_resource` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_user_former_groups`
--

DROP TABLE IF EXISTS `fzg_user_former_groups`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_user_former_groups` (
  `ufg_user` int(10) unsigned NOT NULL default '0',
  `ufg_group` varbinary(16) NOT NULL default '',
  UNIQUE KEY `ufg_user_group` (`ufg_user`,`ufg_group`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_user_former_groups`
--

LOCK TABLES `fzg_user_former_groups` WRITE;
/*!40000 ALTER TABLE `fzg_user_former_groups` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_user_former_groups` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_page`
--

DROP TABLE IF EXISTS `peg_page`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_page` (
  `page_id` int(10) unsigned NOT NULL auto_increment,
  `page_namespace` int(11) NOT NULL,
  `page_title` varbinary(255) NOT NULL,
  `page_restrictions` tinyblob NOT NULL,
  `page_counter` bigint(20) unsigned NOT NULL default '0',
  `page_is_redirect` tinyint(3) unsigned NOT NULL default '0',
  `page_is_new` tinyint(3) unsigned NOT NULL default '0',
  `page_random` double unsigned NOT NULL,
  `page_touched` binary(14) NOT NULL default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
  `page_latest` int(10) unsigned NOT NULL,
  `page_len` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`page_id`),
  UNIQUE KEY `name_title` (`page_namespace`,`page_title`),
  KEY `page_random` (`page_random`),
  KEY `page_len` (`page_len`)
) ENGINE=InnoDB AUTO_INCREMENT=236 DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_page`
--

LOCK TABLES `peg_page` WRITE;
/*!40000 ALTER TABLE `peg_page` DISABLE KEYS */;
INSERT INTO `peg_page` VALUES (1,0,'Main_Page','',4,0,1,0.011153619173,'20120111184056',1,423),(2,0,'Página_principal','',746,0,0,0.713296900133,'20131231003937',1449,557),(5,0,'TABLA:composicion','',25,0,0,0.704924155991,'20130322182336',1222,1965),(6,0,'Vista:visintdetpre','',5,0,0,0.471942670926,'20121212174747',161,61),(8,0,'FZG.Vista.vislineabs.sql','',4,0,0,0.195893338386,'20120315150106',126,1256),(9,0,'FZG.Procedure.ActualizaPreciosTabular.sql','',5,0,0,0.672085503093,'20120319194332',130,2299),(10,0,'VISTA:_visrepprec','',7,0,1,0.509610726457,'20120320002742',133,601),(11,0,'FZG.Vista.precioscmpl.sql','',2,0,1,0.894037857555,'20120321132705',140,710),(12,0,'FZG.Vista.viscompcnt.sql','',4,0,0,0.251910836809,'20120322001404',144,471),(13,0,'Developing','',114,0,0,0.819823361405,'20130921180359',1310,3775),(14,0,'Spanex:Releases','',379,0,0,0.283227436305,'20140220181142',1464,30005),(17,0,'Spanex:Relaciones','',397,0,0,0.024884537515,'20130926170854',1331,3622),(18,0,'Vista:visindetpre','',0,1,1,0.703582918232,'20120328143459',162,36),(19,0,'FORM:Presupuesto','',13,0,0,0.79637234732,'20121213000724',1047,218),(20,6,'FZG.FORMS.Presupuesto.Relaciones.Macros.jpg','',1,0,1,0.505359781842,'20120328151845',168,0),(21,0,'VISTA:visproadic','',12,0,0,0.519174211063,'20120831183535',199,2250),(22,0,'PROC:CalculaPrecioBase','',10,0,0,0.586293097723,'20121212205245',1023,3216),(23,0,'PROC:AltaItemPresupuesto','',32,0,0,0.585107160163,'20121208042104',946,13956),(24,6,'Warning-icon-hi.png','',3,0,1,0.147771719731,'20120926222855',217,0),(25,0,'Spanex:PreciosABT','',69,0,0,0.582158065784,'20130926170259',1330,18187),(26,0,'VISTA:visprdparam','',9,0,0,0.482008865844,'20121212204853',1014,617),(27,0,'VISTA:visrprescmp','',28,0,0,0.832340866712,'20121212204607',1006,1138),(28,0,'VISTA:visreppres','',19,0,0,0.18775693465,'20121212204554',1005,1334),(29,0,'VISTA:visprodadic','',13,0,0,0.034465112333,'20121212204519',1004,1229),(30,0,'VISTA:vislineabs','',13,0,0,0.541768027539,'20121212204847',1013,2316),(31,0,'VISTA:visdetaobs','',8,0,0,0.216553063607,'20121212204859',1015,981),(32,0,'VISTA:vissubxitem','',4,0,0,0.97746540346,'20121212204620',1007,502),(33,0,'VISTA:visintdetpre','',8,0,0,0.688287790875,'20121212204842',1012,2927),(34,0,'RPRT:Presupuestos','',17,0,0,0.493298383275,'20121212210921',1036,18946),(35,0,'RPRT:PresupuestosDirecto','',7,0,0,0.316295627861,'20121212210932',1037,157),(36,0,'PROC:CalculoPrecio','',10,0,0,0.628603049141,'20121208040809',941,3383),(37,0,'PROC:CalculoMedidaReal','',3,0,0,0.620296660063,'20121212205250',1024,412),(38,0,'VISTA:viscomposimpl','',7,0,0,0.421238003181,'20121212204905',1016,1292),(39,0,'PROC:DuplicaProductoCompo','',13,0,0,0.571460510667,'20121212205304',1026,4923),(40,0,'TABLA:productos','',25,0,0,0.278365105177,'20130927031940',1337,2340),(41,0,'TRIG:productos.Alta_Producto','',14,0,0,0.140869605278,'20130307171606',1075,1597),(42,0,'TRIG:productos.Baja_Producto','',5,0,0,0.800950674896,'20121213111941',1070,939),(43,0,'PROC:AgregaProductoCompo','',7,0,0,0.793010061115,'20121212205202',1022,1292),(44,0,'FORM:CopiaComposicion','',8,0,0,0.872141630805,'20121213000724',1045,1322),(45,0,'VISTA:vistranscrm','',7,0,0,0.778326019528,'20131008012232',1011,1088),(46,0,'VISTA:chqactivos','',10,0,0,0.101885035176,'20121212184005',989,894),(47,0,'TEMP:LayoutGeneral','',129,0,0,0.303794783412,'20121213111133',1064,1180),(48,0,'TABLA:accpayab','',7,0,0,0.140909454875,'20121211172415',954,901),(49,0,'TABLA:accreceiv','',6,0,0,0.591382201053,'20121206131736',864,849),(50,0,'TABLA:tdocumento','',10,0,0,0.726034196228,'20121211174937',963,457),(51,0,'Spanex:UserWiki','',48,0,0,0.19710353963,'20140220151335',1460,32062),(52,0,'FORM:Pagos','',14,0,0,0.071305177684,'20131009021140',1046,1051),(53,0,'MACRO:VisibleIngresoCheque','',5,0,0,0.241358465757,'20130508022741',1257,235),(54,0,'FORM:Cobranzas','',10,0,0,0.920196759431,'20131112003003',1048,1400),(55,0,'VISTA:vischtdisp','',4,0,0,0.286901413372,'20121212204653',1008,585),(56,0,'VISTA:vistotprod','',9,0,0,0.964574989688,'20130515113617',1260,895),(57,0,'TABLA:vidquoten3','',3,0,0,0.474284532767,'20121211175143',967,146),(58,0,'TABLA:vidquoten3tmp','',8,0,0,0.739153988265,'20121211175216',968,912),(59,0,'Actualizacion_DB','',171,0,0,0.774190605423,'20140101212946',1452,14346),(60,0,'TABLA:precios','',11,0,0,0.527611451461,'20121213112042',1073,651),(61,0,'TRIG:precios.AltaPrecio','',6,0,0,0.102199154842,'20121213111206',1065,345),(62,0,'TRIG:precios.ActualizaPrecio','',3,0,0,0.710441106964,'20121213110937',1062,352),(63,0,'VISTA:clientes','',13,0,0,0.267152236154,'20121212203512',988,1436),(64,0,'VISTA:preciosvigentes','',5,0,1,0.487001524621,'20120903025836',482,593),(65,0,'VISTA:preciosvigact','',3,0,1,0.043372647605,'20120903105612',483,916),(66,0,'TABLA:telemecomp','',4,0,0,0.450623899589,'20121211174958',964,343),(67,0,'MACRO:CopiaComposicion','',3,0,0,0.184160803678,'20120905000249',502,2968),(68,0,'PROC:AltaItemPresupuestoTmp','',31,0,0,0.967692752711,'20121208042117',947,27632),(69,0,'PROC:ActualizaPreciosTabular','',11,0,0,0.872605328569,'20121212205157',1021,1859),(70,0,'MACRO:RecalculaPrecios','',2,0,0,0.592063870976,'20120907133934',541,1883),(71,0,'PROC:GrabaItemPresupuestoTmp','',11,0,0,0.123838531674,'20121212205310',1027,2974),(72,0,'PROC:ResetEdicionItemTmp','',6,0,0,0.99088780986,'20121212205322',1028,1212),(73,0,'VISTA:acomerciales','',9,0,0,0.542535892361,'20121212203512',987,1542),(74,0,'MACRO:PresupuestoExpirado','',6,0,0,0.000448539978,'20121212203512',562,1541),(75,0,'MACRO:EventoWhenLoadingFromCabecera','',10,0,0,0.255952630144,'20120912121013',575,2124),(76,0,'MACRO:ChequeoValorLicenciaOK','',4,0,0,0.210414797522,'20120912120248',572,1065),(77,0,'MACRO:ControlFormPresupuesto','',6,0,0,0.617181224737,'20130508022457',1254,2718),(78,0,'MACRO:ConfirmaDeletePresupuesto','',7,0,0,0.19573415327,'20130508022359',1253,1915),(79,0,'MACRO:EventoBRCDetallePresupuesto','',9,0,0,0.464879573805,'20121212174747',628,14379),(80,0,'Estructuras_SQL','',19,0,0,0.654877598486,'20121212174747',686,761),(81,0,'SQLCODE0001','',3,0,1,0.770478135927,'20120918190920',608,717),(82,0,'SQLCODE0002','',4,0,0,0.767543714787,'20120918202805',613,1915),(83,0,'SQLCODE0003','',2,0,1,0.333757852494,'20120918223724',615,1961),(84,0,'SQLCODE0004','',1,0,1,0.814001350648,'20120919110108',619,4540),(85,0,'MACRO:BotonActualizarPresupuesto','',9,0,0,0.668502772001,'20130508022218',1250,3924),(86,0,'PROC:ActualizaPreciosPresupuesto','',14,0,0,0.393873918008,'20121212205155',1020,11539),(87,0,'TRIG:Actualiza_Item_Presupuesto','',6,0,0,0.541633171277,'20121212174747',721,3041),(88,0,'PROC:ActualizaItemPresupuesto','',5,0,0,0.490549435409,'20121212205147',1019,6900),(89,0,'PROC:CopiaPresupuesto','',6,0,0,0.098072947034,'20121212205300',1025,5884),(90,6,'Checked.png','',1,0,1,0.024153591341,'20140101213137',648,0),(91,0,'TABLA:clientescrmqry','',1,0,1,0.338764857198,'20120926205614',662,477),(92,0,'SQLCODE0005','',2,0,1,0.595877053773,'20120930021431',687,3590),(93,0,'TABLA:reppresqry','',3,0,0,0.167333147535,'20121211174917',962,460),(94,0,'MACRO:BotonEditarComponentes','',3,0,0,0.921196299287,'20130508022242',1251,5219),(95,0,'REPORTE:PresupuestosDirecto','',1,1,1,0.189747233085,'20121212210932',699,42),(96,0,'REPORTE:Presupuestos','',0,1,1,0.691302785575,'20121212210921',701,35),(97,0,'VISTA:proveedores','',1,0,1,0.391130704999,'20130307171606',737,1279),(98,0,'MACRO:SugerenciaContactoID','',4,0,0,0.253690241207,'20131111161512',1256,2061),(99,0,'MACRO:EventoWhenLoadingFormCabecera','',4,0,0,0.344050596002,'20121029165200',781,954),(100,0,'FORM:PosicionCRM','',16,0,0,0.577169700862,'20131009021549',1368,4526),(101,0,'RPRT:IndividualCRM','',7,0,0,0.057678865048,'20121212211105',1039,1919),(102,0,'FORM:ConsultaClienteCRM','',3,0,0,0.966702419726,'20121026134707',762,2200),(103,0,'TABLA:magnitudes','',10,0,0,0.276037975289,'20121212142549',971,857),(104,0,'Spanex:Draw','',199,0,0,0.311138713647,'20130926162524',1320,58),(105,0,'TABLA:projects','',1,0,1,0.217408977375,'20121024175253',770,401),(106,0,'TABLA:secciones','',1,0,1,0.054681448489,'20121024180220',771,340),(107,0,'TABLA:frames','',2,0,0,0.669930702987,'20121026012812',774,625),(108,0,'TABLA:vidquoten1','',6,0,0,0.017943253885,'20121213112828',1079,1071),(109,0,'MACRO:EventoBRADetallePresupuesto','',2,0,0,0.606883268868,'20121204022818',783,648),(110,0,'LIBR:FazzGlassMcr','',6,0,0,0.057046929673,'20131112003003',1031,2927),(111,0,'LIBR:SpanexB','',6,0,0,0.122096635532,'20130508005411',1032,1235),(112,0,'Pendientes','',22,0,0,0.598940458008,'20130307171606',1054,1039),(113,0,'MACRO:MuestraSubForm','',3,0,0,0.338541090696,'20130508022652',1255,1149),(114,0,'MACRO:AprobacionPresupuesto','',8,0,0,0.391116633787,'20130508022135',1249,2899),(115,0,'LIBR:SpanexC','',3,0,0,0.63844485652,'20121212205938',1033,402),(116,0,'TABLA:moduloscab','',7,0,0,0.978749358276,'20121211174649',958,535),(117,0,'TABLA:modulosdet','',11,0,0,0.949486359629,'20121211174707',959,1999),(118,0,'VISTA:vischeckmod','',20,0,0,0.260200650513,'20130419203846',1240,1974),(119,6,'SpanexGestion.FORM.Modulos.png','',1,0,1,0.817163706967,'20121130235450',839,0),(120,0,'FORM:Modulos','',6,0,0,0.851701566481,'20121201003241',845,538),(121,0,'MACRO:CheckValidMeasure','',9,0,0,0.18276755416,'20130508022302',1252,6626),(122,0,'TABLA:modulossbs','',6,0,0,0.039789223772,'20121206132320',874,631),(124,14,'TABLAS','',34,0,0,0.875606945271,'20140220181142',873,36),(125,0,'TKT:FZG.000001','',15,0,0,0.637812722196,'20121206211939',910,778),(126,14,'TKT','',32,0,0,0.962062463902,'20130625185547',1211,146),(127,0,'Spanex:Estructuras','',85,0,0,0.109595442581,'20130508005636',1247,348),(128,14,'VISTAS','',9,0,1,0.021835196383,'20131018223611',901,17),(129,0,'TKT:FZG.000002','',10,0,0,0.130777619009,'20121208040055',932,1139),(130,0,'TKT:FZG.000003','',9,0,0,0.116533648281,'20121208040200',934,700),(131,14,'TKTOut','',14,0,1,0.265431524226,'20130102141412',911,28),(132,0,'TKT:FZG.000004','',4,0,1,0.098563712117,'20121208040220',936,432),(133,0,'TKT:FZG.000005','',5,0,1,0.384964105268,'20121208040234',938,282),(134,0,'TKT:FZG.000006','',9,0,0,0.034919415242,'20121208040039',930,438),(135,0,'TKT.FZG.000006','',0,1,1,0.657033771624,'20121208040040',931,32),(136,0,'TKT.FZG.000002','',0,1,1,0.898228494911,'20121208040055',933,32),(137,0,'TKT.FZG.000003','',0,1,1,0.045630805201,'20121208040200',935,32),(138,0,'TKT.FZG.000004','',0,1,1,0.003594791512,'20121208040220',937,32),(139,0,'TKT.FZG.000005','',0,1,1,0.069417216004,'20121208040235',939,32),(140,14,'PROC','',6,0,1,0.288980766606,'20130917152050',942,27),(141,14,'MACROS','',2,0,1,0.471137197716,'20121208041539',944,15),(142,14,'RPRT','',5,0,1,0.418992204806,'20121212210955',945,17),(143,0,'TABLA:bocetoscab','',12,0,0,0.862046138111,'20121218094854',1109,733),(144,0,'TABLA:bocetosdet','',7,0,0,0.271318589408,'20121218094957',1104,817),(145,0,'TABLA:bocetossbs','',2,0,1,0.286072911198,'20121211174522',957,505),(146,0,'TABLA:listavsdim','',2,0,1,0.278336520372,'20121212142514',970,341),(147,0,'TABLA:listaatrib','',1,0,1,0.907374706581,'20121212145013',972,428),(148,0,'TABLA:composicionqry','',1,0,1,0.117320618371,'20121212160939',974,667),(149,0,'TABLA:debugstmt','',3,0,0,0.544661185691,'20121212161650',977,532),(150,0,'PROC:DebugCheckPoint','',1,0,1,0.350390618886,'20121212161616',976,387),(151,0,'TABLA:vidquoten2','',13,0,0,0.331497355643,'20121213113347',1085,3763),(152,6,'Esquema.Tablas.Presupuesto.jpg','',1,0,1,0.823289531691,'20121212182410',980,0),(153,0,'TABLA:checkbook','',2,0,1,0.953105142369,'20121212184004',990,855),(154,0,'TABLA:wscontrol','',22,0,0,0.17846683932,'20140210134500',1458,2989),(155,0,'TABLA:contactos','',2,0,0,0.408507397761,'20121212203622',999,1647),(156,14,'LIBR','',3,0,1,0.860820288634,'20121212205938',1034,30),(158,14,'FORM','',11,0,1,0.038597852378,'20131112002653',1053,30),(159,14,'TRIG','',7,0,1,0.025756361989,'20130818025735',1061,25),(160,0,'TRIG:productos.BajaProducto','',0,1,1,0.541588942295,'20121213111942',1071,46),(161,0,'TRIG:productos.AltaProducto','',0,1,1,0.448990602444,'20121213112135',1076,46),(162,0,'TRIG:vidquoten1.Baja_Presupuesto','',1,0,1,0.366522406501,'20121213112827',1080,464),(163,0,'TRIG:vidquoten2.Baja_Item_Presupuesto','',2,0,0,0.132938371418,'20121213113325',1084,421),(164,0,'CONCEPTO:Magnitud','',2,0,0,0.241022799768,'20121213115844',1089,2241),(165,0,'TRIG:bocetoscab.Baja_BocetosCab','',6,0,0,0.171077439257,'20121218094834',1107,487),(166,0,'TRIG:bocetoscab.Baja_Boceto','',0,1,1,0.464276631335,'20121218094834',1108,49),(167,0,'TRIG:bocetosdet.Baja_BocetosDet','',5,0,0,0.027900206799,'20121218095132',1113,407),(168,0,'TKT:FZG.000007','',10,0,0,0.723268137024,'20130110183736',1159,6366),(169,14,'OOBasicCode','',13,0,1,0.735564195025,'20130410235941',1129,31),(170,0,'TopWindow_having_MenuBar','',1,0,1,0.840378903578,'20130103115538',1132,4900),(171,0,'Embed_multiple_components_into_a_single_Window','',1,0,1,0.472615470376,'20130103115852',1134,13341),(172,0,'SetZoom','',1,0,1,0.829011307564,'20130103121344',1140,836),(173,0,'DocZoom','',2,0,0,0.729898443305,'20130103121845',1142,325),(174,6,'OOBasicCode.window.png','',4,0,1,0.735833441751,'20130103124414',1143,0),(175,0,'OOBasic_Nociones_Basicas','',8,0,0,0.507020346025,'20130103135637',1152,1515),(176,6,'FCMFrame.png','',3,0,1,0.717409788092,'20130103134815',1147,0),(177,0,'Model_Controller_Frame','',3,0,0,0.538729178015,'20130104231027',1156,6230),(178,0,'AWT_Toolkit','',3,0,0,0.027656064883,'20130104232351',1158,15530),(179,0,'VISTA:viscompcnt','',1,0,1,0.48811050661,'20130205001141',1161,845),(180,0,'VISTA:productosdisp','',2,0,1,0.675181539911,'20130228013619',1179,1379),(181,6,'FZG.DOCS.Procesos.Ayuda.jpg','',1,0,1,0.071990068334,'20130228135438',1183,0),(182,6,'FZG.DOCS.Procesos.Productos.jpg','',1,0,1,0.99992154169,'20130228140136',1184,0),(183,6,'FZG.DOCS.Procesos.Precios.jpg','',1,0,1,0.606665440428,'20130228140852',1185,0),(184,6,'FZG.DOCS.Procesos.Composicion.jpg','',1,0,1,0.195747903267,'20130228140904',1186,0),(185,6,'FZG.DOCS.Procesos.Presupuesto.jpg','',1,0,1,0.702178770061,'20130228141013',1187,0),(186,6,'FZG.DOCS.Pantalla.Presupuesto.jpg','',1,0,1,0.410836895377,'20130228141103',1188,0),(187,6,'FZG.DOCS.Proceso.Modulo.to.Producto.jpg','',1,0,1,0.435735648701,'20130228173000',1190,0),(188,6,'FZG.DOCS.Proceso.Modulo.to.Producto.png','',1,0,1,0.945392174301,'20130228173116',1193,0),(189,6,'FZG.DOCS.Componentes.Schema.png','',1,0,1,0.740058309325,'20130301020054',1198,0),(190,0,'FORM:Productos','',8,0,0,0.464140021822,'20131111153141',1432,1180),(191,0,'TKT:FZG.000009','',1,0,1,0.31354576121,'20130312013820',1209,389),(192,0,'TKT:FZG.000008','',1,0,1,0.313667195436,'20130312014337',1210,311),(193,0,'TKT:FZG.000010','',2,0,1,0.803137080413,'20130410204147',1229,251),(194,0,'TKT:FZG.000011','',1,0,1,0.029844282966,'20130410204404',1231,300),(195,0,'Estadística_Registraciones_Spanex','',5,0,1,0.103300707904,'20130411003735',1234,1475),(196,14,'SQLCode','',4,0,1,0.234652575143,'20130910014810',1236,11),(197,0,'MACRO:ResetFiltroProductoFORMPresupuesto','',3,0,0,0.250855469941,'20130508005636',1246,1134),(198,14,'MACRO','',6,0,1,0.879894878429,'20131112003003',1248,17),(199,0,'Knowing_Problems_/_Solutions','',3,0,0,0.878436971328,'20130530213359',1263,327),(200,0,'TKT:FZG.000012','',6,0,1,0.907230026804,'20130625185546',1265,600),(201,0,'TABLA:bitacoracrm','',10,0,0,0.962202990317,'20130924201951',1313,773),(202,0,'TRIG:bitacoracrm.Alta_BitacoraCRM','',3,0,1,0.896856295923,'20130818025735',1277,432),(203,0,'Clientes','',8,0,0,0.280841623133,'20130825150811',1281,92),(204,0,'FazzGlass','',9,0,0,0.459504460735,'20130825143948',1290,302),(205,0,'SoftwareFazzGlass','',7,0,0,0.41207768721,'20130825144317',1292,174),(206,0,'Centuriones','',1,0,1,0.746201822378,'20130825150615',1293,92),(207,0,'Apuntes_Planeamiento_Estratégico','',1,0,1,0.242063634227,'20130825150615',1294,170),(208,0,'VieroAbogados','',1,0,1,0.189226795269,'20130825150810',1295,94),(209,0,'ActualizacionDBPendientes','',43,0,0,0.708216242282,'20140220180058',1462,689),(210,0,'Lista_diferencias','',3,0,0,0.041106804234,'20130910014836',1304,317),(211,0,'PROC:CopiaModuloBoceto','',4,0,0,0.097268544262,'20130913015509',1307,2381),(212,0,'PROC:CopiaModuloModulo','',3,0,1,0.678368052862,'20130917152049',1308,2391),(213,0,'TABLA:navtipolog','',2,0,1,0.576789995927,'20130924202117',1314,445),(214,0,'Spanex:Instalar','',5,0,0,0.200917535509,'20131217121726',1443,290),(215,0,'FORM:ConsultaClientesCRM','',30,0,0,0.782880918041,'20131112003003',1388,5045),(216,0,'FORM:BitacoraCRM','',10,0,0,0.936199882631,'20131017223554',1382,1891),(217,0,'MACRO:ActivaFiltroProductosGeneral','',2,0,0,0.252148267373,'20131009021205',1376,1296),(218,0,'MACRO:ActivaFiltroContactos','',1,0,1,0.505085094324,'20131009021548',1377,1482),(219,0,'MACRO:ActivaFiltroBitacoras','',1,0,1,0.631268748502,'20131017214847',1383,1819),(220,0,'MACRO:EventoWRFBitacoraGrid','',2,0,1,0.461844613712,'20131017221408',1384,457),(221,0,'MACRO:EventoWLFBitacoraGrid','',1,0,1,0.118360246928,'20131017223543',1385,418),(222,0,'VISTA:listavigente','',3,0,0,0.631695872811,'20131018223653',1395,478),(223,0,'FORM:FormMenu','',3,0,0,0.113905115139,'20131021195434',1400,544),(224,0,'MACRO:ExecuteProcess','',5,0,0,0.615223774828,'20131021195757',1403,6149),(225,0,'TABLA:filtroqry','',1,0,1,0.503235831816,'20131022151206',1404,359),(226,0,'MACRO:AfterRecordChangeFORMProductos','',3,0,0,0.420406370561,'20131111131128',1426,731),(227,0,'MACRO:ChangeFieldtxtProductoIDFORMProductos','',3,0,0,0.03598465722,'20131111133348',1428,1959),(228,0,'MACRO:ConfirmeEliminarProductoCore','',3,0,0,0.496115040596,'20131111152436',1430,1357),(229,0,'FORM:Aux:000002','',4,0,0,0.434102085361,'20131111170741',1434,353),(230,0,'MACRO:EventoBRAAux000002','',1,0,1,0.520375796188,'20131111170404',1435,372),(231,0,'MACRO:EventoARAAux000002','',1,0,1,0.227813982226,'20131111170741',1436,904),(232,0,'FORM:GestionMasivaPorProducto','',3,0,0,0.527152976393,'20131112003153',1440,591),(233,0,'MACRO:EliminaContenidoCampo','',2,0,1,0.140796528669,'20131112003003',1438,680),(234,0,'Inventario','',4,0,0,0.711125280377,'20140215224456',1459,338),(235,0,'TABLA:wsml','',1,0,1,0.000477029886,'20140220181141',1465,626);
/*!40000 ALTER TABLE `peg_page` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_objectcache`
--

DROP TABLE IF EXISTS `fzg_objectcache`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_objectcache` (
  `keyname` varbinary(255) NOT NULL default '',
  `value` mediumblob,
  `exptime` datetime default NULL,
  PRIMARY KEY  (`keyname`),
  KEY `exptime` (`exptime`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_objectcache`
--

LOCK TABLES `fzg_objectcache` WRITE;
/*!40000 ALTER TABLE `fzg_objectcache` DISABLE KEYS */;
-- INSERT INTO `fzg_objectcache` VALUES ('sergios_mwcloud-fzg_:messages:es','K?2??.?2?R\ns\r\n??S?δ2??\0','2013-07-16 18:31:05'),('sergios_mwcloud-fzg_:pcache:idhash:1-0!*!0!!es!2!*','?KsG???~EvH?I<??hN???$s-?wc/?Bwh??r?4??7}??_6b??3+?????1??\r???2??2?|T??8靋????U???d4?????z????TL?{;????kY??Oi?E?OҨ*???????J1MdG_???a\"?B}>>*s?7:>??Q?\"?|x|???L?;چ?????%?v:J?&|,$t??Ѓ湼????K???+?4K????Z-?2????qPoP\"????p?qUC???K??u:?j????<???̊+???Y?H??k?r??t^??M??Qs????f?#?-??P7?dץ?[,?\"?\Z^M?j?Lg?x7?k??^+)?,?fi?q??M??I?:????~E??@N?^?Kh???|tP4yu?????W??b	??*7????΃l?_?nʗy6ג?\rf??%???\rG??i!5j???n^ߐ|???\$q$??c?z?\\kN}?<3򝼐?L????d????i???????-??>?x%??Y?????6l?\r\Z????؞oA?gl?N?B??????:?????m?I?\"?Ż??⒉\n?b&??~?ũ?y?P?p?/{?p?R?p??\?(?S???HA???0????,?\n?????՛?? ??%K\r?5P??b4??????a,d??????)?P=??l?????˟?\n?x[??\0GxP????\`w06?/??c????EVl?{8?\0??????#??U\0?????1??;3ׇ	+ք?3	??rJm????󝒨?c?????,1HP?T\0??????dN&r}???{?????MWzѢ??_/232?????m???1(?\"ߺ??a??V?i??????\0?????O???:Ȧ???$3?????\Z[?0?OE??q?1?U?$H3E?z>??^??đ??bvg?qJ??????v+??????l?3???=wAc??z+?*?0? ?4??XX5???Ki-@fӊg????@?O_FR?y)?l???il???Ph?_?j?n\'+h?Qs#?gi?????̑?UKn?Z????P????B?1|??@I?)T:?LWY????D:G??\'o??H?\ ?1z?\0?ia$p???~6]??y.???\\XX?A???????<+?|?3???u	?5a???PǂDj?b??\"m?????"?n{;?U???Ƹ?/???e???$e??ұ?0????#E?<?y??????{?b?o???????E?\0???1?|j????È?\\??E\"U??}?}??}%%?????􂹌gs?܃-?\0?t????Zz?2hDW?????R+t0????|?????:??J[??j?Y??T?2J?8??>G?3T\0!??e?????Z?5k5???QjǑO荑???{?3?/ړ	?w08?P???z?????\"S?;?EЬ?+???k?A<pq\0?_H?\n.??>??$?JT??Xb??*?=?Ӳ??t??B????*1??@???????d?\r\0i8?7???U?Ȑ6?,??R??g???R???dZ}vW???????????????\'\\?&????X?^???ot?ԝ?	\n??YՖ$`W??fΤѦ??Q?\0&xa?4?(TK?YM(?և?\nA7?@z¥d+8s?.?5?M@?c?I???(cr????\nq愘??s?/?E?̠+o???,P?????x8͒̌?2i??A۔???@??t?lraR4\Z?>I?\???\"??J??4?ɍեk???? \"?,JQ7)}?\\+??J҄?g?pi(x*SLw?????q?EP?*3PX%b?\\????\r7?g??y???G+?`??\r??+U??꯷??0U?ո3\r?sh Z???iS3?ԁ?}_3?z???N?%??뙝Ճ??rܣ`?ޞF%Q?f???v????9??SX??~ۑ?Z???\Z???S??PPL???qb??URD?`????@Xef????\0؅???$\'J?2v?O?T);?Ќ?$i)b??? ?y?Z?3??,$oa?A??\"?d??@???5?)???m4?I?T?v?ʺ?[.?IV??$????c9e??Vae?:va\"#a?\0?+?????H	??S&??Nr$????ӘT?\"p??&?\'Uh???}=?5???]e%n+xN??????=??@	`>? ?Ps?> &?-|\'\'?td???8?R\0???pg4<x?{??E?"?u?**?@?k`??f:?{?XL??%??H???C?,?3?Oa??+?,??Өu??\0?Ӷ???um?B???ԛ???ބC???֗?w?Ok??J??`w?^?S^?T?t\0????????F?L?pK??c?????6?c\r?L`Lǋ?nv?Eu*?\"??2	0?4?Q?8EȂв?Nh\'??a??\n\\??????iCAWq??!???u? \rΤ?x#??)4E?iM:]R??t?\nEC?-nA?^QN?؂???G??33?\r????RL+pJXW?Po????U?W??/??n$?????c\n\Z??P??z????Rx?f?^,q3߬??\Z??lC\\K$?????Ep7???ۧ?z?!???P??????W?\njM/?Z?oc?\0g? ????G?em?{0j?5\rz???Y{3??7A\\?X&??_?˛ؠ?Z,M?^??H???@t?茈???y?;?_?I(?$??,s??x?????Tη?«???????g???LQ?O???????,xz?)???GXy????,/ރ?89?ľ]?0S?NB\\J??u???	??\?&\0zY?}???g????/b\'?Ϧ?]???Q?4??* ??%???y?E??????uk??VY?!lI!`s??PHE;y6???p??Ң?8??P?%-??=??"\'k??????\0|??^?#C\'?x????J?0?O6&R????G%????S??x?WfTn?(?{?/?&t?aZh-?ƥ????????????Fmo+?16?yW?S[?#??????,1??z??^??c?W??P???d4]??E????[?Gb??b??B*6>UԂ???Бr??PT???P??r0/	ȨP?&???Ч?h?eO??sdK?#+??*??_/q?qé???	nܲ?\\6Jd??~??(?*??X?{?f???O????ֈR8?.?|??i??X4????HlV?+?b?E?zA???$??l??\"u?W?VM?J\'??VqQ󮖮l,M????F?!????`%Ƥ?Q/S:??;:E?\'???Ǔ??j?(T??{??NS??t?????MJ\Z)?HDr?t????3??Ԓ??A?\\??\Zz\0N???????r??s?\n?kd??????i	#Ȧ?i?:??q?S????K??R?\Ze??r??+????[1??\'??[?0?n?p?V4w???n??\n??p??-:?U~0??????jۀ?N.???3*??)???W	????jNJ??0# ???<m	W??*j+??滑E?31???4~\'jNMHW??\n??$?aΏr-?eA??6a0?	??Th??:b?b???r???q???ifӑ?ZqNV?gp!???aD??iR?U???r???[rw?\Z??<??[rw?/u]?c?{^ȷY??E?vW?ciz,?t?]?p?T?S??,?0???V?Z1SN\\?j?????(?6Ղ^????P???<?>F?k?K9??)?Zp?1?????0?????M???#ϑ7?6\"?z?ٯT??g???l???f??_????-??JKX??<?υ????I=8f?c??:??\n=\n??\'??????W_}~:??d?n&?V?)???@.??K?o??-??f???W?e?d%????Z?m|???5ܯX?s?????9s&?V??e?????^?D~?,???????+yu|??0?????4)cB???sڂ5?<?aG?0????&q???M????AFMןQ̇?\nL??n/??? ?????m?_??M!???X???U\Z\Z¼`Ѝ(X????~\0?	???u?tW??$5&??Y?RoX?\'?\Z?\'???X?c\"<)??z@旟\n?M?T?Cx????ʨ?=ic?0?;sO?-8Y?????פJ?M?R????\"n???-???%\r???)??>?5?5*?\0c{?????%??;?$???@&??˟?1c?J?R?\Z???"vx?h????ѹJ??{`%头?c??-?Rr???`;??U??????^?^?\r??u?[?!?3?????\"??p=\ZwI0?K????b????[XM?????nz-gp?{??n~???1??W\'?8?1?y?\Z?.?`??h??{F???4NSep$?nD??Y?4?nU?KI???W??p_??<??u?o??Zبp?????1VN+?ɟv?Y?)?X(W?5?t\"h?X$???j\n̷8E?_a8W? %?eL?5q?|?iTdeN,?G?r??ԈW:??Q6?#uA?l4?.??U???:\\???v???Z?Yŭ??\\?}Q???pϼ]\\~?x?.d??"????^Z?p#s?:m?}??	t????E?L??c????W??????݃?7=?Yx7u&4?]???u??-L!??20??/??T??W!??W?\0UH?w??<?Z????oț???	?\"?jRI3B=????{\Z????Z??]???{??\'iF^?Z??@??`B?uuSY??U????n?a?^?U???qk????9\0yo?E}??sm?*?Q?Q?˿?????2?s??s?}?!\'Z*m??+p?z?sA???????ƽ????1B?a:O?yV?\"?ß?>?f?&?Ȁ[1???9U??o???w?kS??k2?ea???~XE?]?3?m???F???*????sW2T8?Lkʵ?\n#???˟1?O6?B???????=????k??Q)??i??ԍC??,8	?%Up??m)??? ?n?k??t???PB+?`w?????>H?\0????	M???$?)??ǿ?n^?׿\"@ޠ꜐?Cy?o????3???????{K?Y߲n?sIU`t\"??{??1?Q\n\0?\Zm?\n?#??{O?????v}?ER>??5W?g???7?+???bV>????m???3??#?Ef\\g</?q?[??????\03?:{?r}?t???yV9??C+?ie?t?@????e??????????z??\"?*u??ʸ??ⱅZ0?????ҷ???yms??(?J]H##رY\"?w???\\GS?҉D\0?z<~o??ň?d*???t??űW???J?+y?N??t3???T??oG?Z?8ݔ???M?q??E???QW?T?KT?r?Q??GQ?6??-?7Bjx??5??8?9?ʽ?\0?????QL?\\=?;V?/?Pw@??'?????-db?]I:]?$QU?^P?;oC?N\r??@)?ss???\nF??t?qꉇ\\?$?ϓ̤+?2?*r??T%??R?ȱ???N?Qp-S?e\\GGT^H\r?????6k???mw??d\0?_?	i6??4r/??gpf????n\\?*?sU???=?!c???i?^ɴ9??z?+M????Y?-\n@͔鴙g???e/?r]??l?r?,m?O?{??P??U?????t?\09\n??\\??Wz??-S?????O??̃??s?1vy???Y?????o??І.?2_?4??+Lϳ???%?v $8?F?2T??uz?lג?????NB5?\'?/??????ꜫ?[????~Pͱ??b.(<?????9?Ә!ʩ?W??T;??|?????X?"O7?!o{Y???C?<ԅf<d/T7???ײ(??ːȳG??Jv?`?O???ޕ???P+:<\0l(FMj۔?4??Ɓ߼?(u`?Dp?A|J??????'???ҥ?γ??3????'???el\Z??\r/?h??TIL?]??]?k??${?]??U_挒U;͒ɨv8?|???>dr??Gr?O7W???XR?	?ZI?ѝ?ڥ?f??쐕z??\n&We}?(M??[?*?b*?<[1E?M?8B?g\\l???????W{ċLs\\?(V7???E?K???	}M?\0?U??k.?????S???s?o??ּ<}.P????0?D???>??\r?m???\\?Z?4??#?d)??\"???-8??0???Xl?)(H*????,??w????5rH\r?$?yx;??j?`??P>??N?????r???A?$??@??l?LMn	?p??????????撯;?j?u????:<?%\'x???rS?\0u?A<VC~k\'?r=T?v??	???8u??N????!??4?d??ͥ??	_???Nj??d???(#???iN?É??k??w?Ç????y?????9.?????HB????=ء?E?P?M??\"\\???;?????????:?;O??t?;{??_I?(,(̤y??????b%qp?L?\?r??t???+,??<??0{5YR?I?1?????>?L?\r??C?̀s?c?T????????+/??*???i??)z??g??\0?qz.????,??3؟??ux???n??Ɠ?0??A/?0YA?Qr?6/?iz?J?L?????5????t?9O??:???!\'C??\\a??6hkf8p?ۛ?tt???????l\\?N???5??刦??ܟ??#&?C????J?????7\Z?e1?O?<\\/?\'??I_|(?b>?a???zHֵ?|?{???ݖ???????.21+ޯ.^?}???????w[F?X??l?ެW??*??b?&??^?YV?????c3?\nf????{Y5wG????p?????????\\?-??m?n?V???|?>?X%?6*?A2k??S???`?3????m??:N?\"?.?|?~={??????N?:???R栶?r??\'?&???GSRq?7q$[?:{?}?Uv???????\0?~[!??|??\??ld??k??]???m?~j?sY????????k?g?????U???{hm??0\Z,?9<e???`????u??T7?]?B?t?o?y??\Z@vqQ????kĘ_?????????k???%???????uN???+.???<??<?k<??????????>-? ???)?*;?\Z?p5?#W???W.%???<?p??]??Z8۽#g????ܛ4/\nCw?????⸅Ž;?????Np?w{\rC??:ҪX?s????\Z???o?v?\}G?r[5?]9\rv??|???Y8??,?Y?U??????M?o?K?P??G???????K\r??nz????????[?8??&?\n????:?wF??A1???vA???4??ڸl]?â????q=;*???Tt\rv????}?!?w??1?O\rU?U????1?I?????A?<ll^???:??????~Δ?"??R?u÷^~{??gO???????????__??????????_`????'?????k????0????7?̄?\0????*:???ă??klO?j\r??F?M?z?H?9?1/l0??O?XQ?n?@]?&\"???0?????07?K\"???xtWE??r?%\n?:?e=a??:p?ڝ?_Ƙ\"x?wARqZ|?D?,??K?H?????p??_','2012-08-28 21:02:01'),('sergios_mwcloud-fzg_:pcache:idoptions:1','E?M??F??$(??D??O??j?N%fw\'?@?>?5xD8???	p??\Za?R?X????J?Uv?!?Qڨ??V?\\??????X?_)Uܡ?)$??????o`[T?????S?`V????_??????2??uz)???E(.?mKx? ii??$~\Z:??','2012-08-28 21:02:01'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:275fc68d8dcd26575c54c2e4ccf53852','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȭ쪚??VT??w??o?nAZ_????Z??a??V???~?B3??G~?|????????0?(?7\n??Qh?~?"??:J3?ڌ?4???E+>???I???,k\0??Śa?????/\0?\Z&h???r?}???̠x仡yy???,\n?\"?V??/?iY?N???????M?M-9???????>??V????fPCj?|7_:??k???????}??????<?\n?-~??͢?s?????z?{Ap???wJ<d?X_?0?-w??????s????	?qO?,?4???n?Nܓ[/>oTm?\'????iav{??|Q?d~t???;E{3?ɿ:?????v???????ԵR?n7??\nrA{vLH?m>z??X?]???׎?L?$??-?a²?\'?	3??]?w??Pd????}?)1Y???c6.???=??#?????????????y}	?B%=d|???s??n?qq???????>?\0}???{?Hٶo?KN*?????i????o?|,?\0o?k??/?u?+~\0b?f?@7??~|?bEx????>}	???gȶz????ﾛ?e?9;????\n^??\n?nέpq???3?ޮ??u??7_?,y=w???^??O??B?B?@\"??/?ð??i=9?'???ON?Tny)j?7^?#?x[?????f!?_????(ϷW.?*5_㤢1?????i??+^??;?\n???M??????????A????ZfT{S????\0??ũ???U?^??n??Z9??ȏO??$?.?m]?P???L 1ޘ???????K?p??1??x???ڹ????M˲??Ĵ?^?\r???????-?A᳂B??U_4\0?Y>?z??tO??&?~??+H??7?????bM{z?ҳz*ݬ?\\q?#W늙?r3q?O?>(\rȕ?????z\04?,`?RZ??--p??@?^?@?#PӼ1???bk?o&?t?~(???+??KI???:=?a?\0????[~ȹ??<]?w??????׵*??\r???}?P?zq/n??w?nķ??8??15?^?^u???{?|{?᜜a??o?????x݇?;??kYw??Ńg@s???????%@gL?p???tݲ?;?w<\r???瘳?C3L???M??xpj?\0??\\i?/f??ZT?-^V)???Z|{?5???ů?u??C?,ï?/?Ӈ?~-s??W?ǰ?Ki?????O??\n???(9??S??Eۂn!/m???x*e?*????\'?a?Z?m???s??%?.C????(?5?/?ű?W??|{??w\'?T??N??%?D????ֶ??o<?&Z	k?Z????????䭳޼n?_-7o?l߸X?:d???nc??\0????Z?8?????d?i?????n????֬A????tu?r?v?R\0\0yP\r޽?V4W?_????[?[n??~??\?T?L??-h??????[W???_??[o?????zy]??q?\Z??<iz??0?@`?.?v?9??tQ?]??c??A????ۥ ?J/??t;r[ 4???\Z&??n??R(?W?@?B?????h_?v??K?e?E?x? ?R:.z????q??A`??b%ѿ?~?k?ۅ X4?Թ???N?QF??{sv?~??_??$&?>_???~h?־?8׊??KE?Z?vO\0????\n??\r?3???s????LS????\r?p??&?0?G?>??U?C5?\0????寥???n??(???c^kN??[0`?*?Kk]y??????a?7	?G???&>?|??]???8???????s\n?+F?w?\Z؃R???qq?w????)?V?0>??o-?{ ?a?=??\0@z?????ߋܹ\\eA?+\nw?\\???Ы??gt????=Ӣ?w?+?????%??????̊W=(??"???-_7?!?a?nh&?Y?èh?kWn?\\??}????P??X?`??߽??j;?sK??|蠤YN}T?\"x?=\'???+:???@?7}???????E???L??/?????????????I????????nn??x????י?7??T?L???؛?k??Y?*???Aނ?di?@?Y?g??0xT?_?M?G:?J???k?D?E??|?d???Zc??b?2?Z?q{?NӞ˻Q71??%#??Ҫ??Cҟo^????_?o?X???`\'^?k߮=??ۂ|?????????\Z?????0?U@O???y?'Ё?Vn\r?F?C????ұ????_???5??r??????P!h?ۃ?@????Wp??t???x3??`???v????\\??7?d???J??*??鎫??o??(?w??\n?y??+?pS?ͳ?p???Q?K?r+_?)????i14U(?]<)<??w՝g?\{??W??z*_?8??u@???@}???Z??G???B?????G?y?$~ϭ???c x猁ֻ\ri?\ZÿU??\0??J?????q???#& ??B?ѣ? ?????\\?>g??;?????????|?2?t?W????-Ӿ?Z?\"	\04Vjv;O???v?????g?\'?|?cv\n?r<?2\"a??l`????iq?-sSU?0oLl<e48,?@p2E?<G\r???Mj)M?\'???f?\Z?.&?ϥ?(Y+?%ϺG?1o??????.s8?\Zʩ???(#>?KYk\rFs?+?m\'??????#?I??`{t???_P?\'??a?*?UQ?s??n??/??l+ǌ?:?2]???Τ?6?&?ʉր?Qt#R??z,8z?z???7D?Z???x???ӓ\'Za?N?4??Z?????lf?=?m?gF!#??ʬ??7\'???m?OVn2a?H?-:!,?? ???"[\r?%?????:Ӗ??S?ft?o??9Y\"+_?????G?}Ǘ??0??ݵ?????'8o?W??g?圁????-?nO?F>nYM=??V??Z?)??s?bk??u????????aC?Ì??P?<u	???ӂm??㾱?ƾiv?\nH?>[7?????????S???o?3\nӕ\r?\\.???????!?Hc?CQgc?G?%??k??Ԋ???|Ŧv5?\n????k??w??????,?M?UzђF?ڀ\'\n?LP?n?????l!?3?n??H??B???W?ەG???B@K?W??%??`aj?2 k%&?77?i?????˝??Z|?m????????3#gT\\?l?t|?(0sD??;]7??1???Ƣ?|]Ң4?u?v_????@%??\0-~???m?;3????*󔮭4??e?????G?CR??Z\0}b?\r>h??WUK4?3,㽏5?U?q?\\V0U ????^???N??R7?????Y??S??S??U?z?"?=????x?,??r????;?R???????XMUWK?2R??ڮ̙8Oa{N???rWY??G?\0?A??????T?C????^?P\'@???m???'C???j??i\"PU??j???7??th??x/?T?\r?_:?}7H1X??x????=ζc?W咯d?.?Yd?U??G9??*?\0?????i趦?0*?Ϯ?Ϳ????4\n硂FA|Q?Y?3??̛?N????ٛ ??ү?D?L?tQ??a????=T4b9??:?~4??E???y?0????E?K?i??ܻhC?E?&A}?A~zح??+}O??>D?????8^w_z?\~??ZhC?????I6?????xѤ?c?;??#;?{?q??/W???????6??c?H??F????|?????[???/\"??\Z?????7??\"\"o??]?_B^????I??m]e6?m\Z??x?	? !?\r??1??R?Ҋˆ??D???̘??l\"`ؤ????f?B9#???-?[?????<???????(?|?a?@PzF??4???XN?\'NÉI=?93???m/?2??r.?9\Z?s̩KG?dQ$?F??U????????(?l糨??VS7?n??\\T??????CA?=?\"S??l????ց??.????\n茜w\"?5[t????]$\r$o??\?ҘB\Z??N??{??????Kc]??~/ֶk?w?h?Kõ`$????f??Z?N??\?.?}̹???1?h8Ef?V?b?J?1?r83?Mn̈Ԉ???Uc????-ܡ<Z??iF?\0#\r???u\n|??\"??e?ϘT#?erTV??3?[z?'ӄ:n???X???????$?R,?4.c??8??d????l+?1\n??n??pa???a?;???e8eŭ??Ƒ?re???c?oOsΡw?D??#Ռ?ѭ?q?>?z??vr?????x??}?1?\9?6?;?&?3????C^?͹?ȃ???????f?k?$?w?^Nc??6?ƞ??vv??n;\0{?q?x?S?Źl8?;?f?a\Z˪U?Rf2??>??\nQ?;?Dl?????E?ӢO?:?05?Z?&E#[?͕#?˙??`Q!???0È??5????????qh?8??q4???uǜ?rn?m?S???`??M?????&??A?U`]????2.???]~????G??\\L???Y,H-???D_?3????Մ?]g???w??\Z?(?Wu??)	??B*??i?O\n??X??T3?h{??y?J?i75\\qZ?:?X??Ic\n????0??J?9???M?q?"???-(c??pVf?*Z???hǗ?7gF??`???0?I4??px=8x?;??=?N\Z??b(!?LI?p?\\??\?h̖??!?C?dt?Vr?K?<??+?\'?P?Ey??;???\\;\'Y`g?cY?mr?n6{n\'??=e?\r?]??nٛ??^wbxJ\'Kxݰ???dS??d?|v\0>????\'E?em?Vs?:?A???OFNbe]=?=?*????xF?G~?>?{????-ɥ̮UI?6s<??B?q}?Ŏ?4f\"?`??ױ?>?&%?Y_??????,?B?y ?1?D]#?vN?2x-U%?q?a?Lޢ;i7Y??@wa9cuY?[1?'z?N??C?6??f?b????;M>x\nύW?????_u??ZaS?s?	\'\05??9N?T?h?t(h????i?l?[??(????i+d=?M??l\Z{3y???3R??Xq<?86W?????H????h?*?\"vY!1y?DKM?;??ozK??._??Rn?A?/\\?XG??c??X?ⱶ?O??:?&@????6V?????8???G?8??fP[ۖr{??????$?-1????????-U???s??\"K??&r2\'M;????P??W0&\'|<W????????́???=ő??9!?????^ѭ??5??U\"·u???1?[u\Z???@#yd%?!?!kR????,iS?)Ȭ?FB??8&?V?g{????sĔ?HrȎue?ܰm???˶TeU????ۀ݁R?%m!4??ax\\\rƋ?0??Cc?I-0???J?힉	#??S\\s?/?cX????x???ՑM???l???e?????Q?g\'??qw#?#3??|???????蕾???U|??_???"???l?i{g<P=u?n}?X???!?]??N?z\Z?X-?K?V.?e<ԘR\ngjc?'?Sʥ??w??*/`u?J7????4?m4vsrf(??\\w?????r,?????>?	????rw?#????v?H???\\uI1$v\Z\n#t???>?\n?R?CWڏs8K?E?HJ??????	c|\n?]H??i??6h?v`?KZ?B?͈돎?? ????2?w26???a??szl????P?b?8`?"?Z?3?ʵ=?i\'&gIm?cm9?)????EcxB?????-????z?1?e\'?k??Ș?⺍J?d??y?\Zu???MT??>???ZK???!p?thOx:??0???#dw5??Y????7??Ⰾ??r ???d{?c???\\?y:?\r?\"F?1? ?\Z????l???l??F??-W?Ǎ????XG?R?P?d;#?v??[???==ጺ@bw???Er!|F}?????,)h}????Io????????:??\|F??DN;???n??8??b??\Z3ǋ?0???????Gn??2xHu?KjM?>AĦ=?Y??rLk#1I??!?-??l~????O????V҄???x;\n?81wU??Z??\';s8\0g&.j?Kuka?s?t??|?	|-?V????_k?\n?F+??	]X?TR?Tő??t?\n+6??di?1R$ME?Miӑ?H#?F?%??~???????ڲY?QKgA?k?v/??R?4R?f?????s&R_??m??	6[R1BǦ\"-??1njs????????u??(\\_?]\'ׇz?J?=|?????;E???Mĵ???-?Yp#l????2??ذ7?r\"@?ԖsE???i@^???5?_???o??2??9y?]?*D?? ????ߦ?gHܭ\'<ϕ??>e?Iv???!???L?bB<\\?????oU??n?\0v??L???a*P? ?8&?4?X????PX?u??鈔??&?L???զ8?q???g5??Mc17??[?x?e?:?U(????W̏???w???6?Z+K?\"??\0\0????z?ƾ??g:!??:??j\r?\r{B?'?1??%??{?3C?@?;?????W?r???p???F??(?M???\"\"?R???HLzW?n1??b???0f?\r??+?&??:,???8]?gE??-??SiE(q?8?v?k?p4+,T??s??eOH\\??cf1-??#*?6h?ng??X???|J`V???E]?>1Zc??j?B?i?? ?=.=7?Vˑ?x??>??#?b?U?0G??T\Z_\"??s???#\0\"?PS?C ??G?eK????K\0\n???:??Ŭ%{+f??f?????h?n\r?s?Q?(?\\\\?W]3܎d?^????:??????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????@[q\n^ \\?????ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V????L??	????@dB??؂??`.?\0?`q?c??H?C~????Z4??[I\\89G?i?NMVR???l?????????:?sv???)?c????????ln\0?H??#??;3f?4?8N?|?\"C?Ώ0M?IT	?%:Zx*??74?3???Fn??!??no??q??IG??ʷ???QH?h?ug]9^??]\rL4?H_ZC4?.r]?4?5?/?@D?G/?^?r|???ہ???<?:_m? >?UW??c?????VЙPf??f)XK?5G?\n?iF8????`???????Ǝ?yV?OC?2?J?[a??˴?̙???Rm ?p%	l???je+?N]=1#E?0U@S???&?:cn{?B:[??:??ħC8$?:M?JA??5???????+??v\n*t???z;??r,?U??B늎??s??d??T?!?`C??*?$??Z??4???A?Ml???\r?(??u??xh??-*&?ʐ??>???}xA?`^pQ?@?;????0?@??6??P?\0~X?5\\?!??*?B;???\\???#c??????;\Z???rY?r:???|??,l\"??1)?Lqs?;??N?????\'???f??????,?Z??;Kb!8?&X??M?x?W?^??3???N?m???x???D<????[=촏F???}??و???"??k?V?=?x+?(???ls\"??p??	[z??9?:\r=??0?`4??P0?6???o@???\n]?̻\0???5PI?ZE?@\r?ڝ1	?V(T?@?/?9?0?Vl?A;??????8?b??[(?@?0/SPP??j?????y?y?(`?#?q???c-VaF;?????6W?]z??{LF]]??d??8,??????%μ??͐??:?%\"?н??n2<v??Y??j%;?I .???*e?	q??\'?$\"??&\"?i4Ǔ??CX?1????ݨ*K??A????k=?Bg?	:#A?0???#(?,?????z???\n)	8@?N\'?=d??????VP??????ԄE@??5ZP???{?ح??z?	R?IWm/A|???E%MD\r??\rS??u????7q??3???????Ү????9??1???c<??;????????	????׾pdA??l??c?ۊt?\'@kL???Y???a?0???o?&???}?Ri@`ɸ?Rr????z\"]?440K??46P?!1\n???\0j?z\n??\r??CU\0??z#?????/$? ?O\Z?B???Ը<h??-???ج}zq?>??2?\n????H????!?E ?h??????w?*?????|??L??FF??h/??\"??0	Z΢??Y???7?}:???	?ڮS?r????f??Q?N?'\n;?	?\\7??Zw?!??x/[??V?E?F$Jeńb=-??0*???g?\\Y?A?1p??BYԱ!???>\n??$o???????\r9?????8d?^?^?Z& k@\nB?*?#9????ahfn???G>	?Ay?@?ή??95?W???op??????/;M????)????<??<??e)??0???Cc@S?c??Ӓ?%???1??	?b?Z??	?.?0%x??)JPI?o0??;????+uD)??S?S27????t??r\n?q&??@?VcHm?\"?b?\"漍A`l	+?? ????\'?(?\0?5??= ??0??,r\n̉?9??k???fC??-?8?cg?K?6;?q?ng.????JwMy+&?E??f֕ڹ???"?6?LQ@??\r??jɘM????0??;J;옚!?????????????L?d[[??c?????8_Z??B???#Z???c}\r?J__??S?????@Z??P_CjB?ЈC?\ru????d???|???c?}͏???ė????<?Qs(-?a?M9b?\\o??1:?\'? ͦI???Mp??s˗\Z???+???.?x?$fZ^E???x4`;H?R0<?6?=????9??Pl??۞?????j5q??8?m-f?sH????-T\n????????=?Z???p???u???z?޺Wזvui????k?????Bx}?[?I?????6?pe????>|????I?hk?{?|?\rd?|#Jܣv??[??L?/??????????n??????tS?x??????,??????^??4?LUhWna?h9?'`??\'8?h??e}D?????d?????ӷ?-/??KL?~?\\??x$Iu??r??? ???j?M?ۢ?????\'?????????Г?N????????%?-?\\??+???/h??Deen+I\rE??&?ګt?oY????/?-???ݚʌ????@??}?3SH??#?]~b`?fO??????@~[C?????k>)W????7\"cY??:C?x?6#%;??u??:%?E?ס????/?D?𻂪?Wc4Q%pj???9Ք&䠣3?k???U?M????,??[?*?O8??;?2????؝????.??SǞ???|?,???v?)?Ί??i??hwtdm?t???+??2Pm???:?-*?|4rq????S?n??I?v???J??8?7X???w?}=??????֟??0?Ic?q???	?u?<???$??]?\"\n??Ds??w???-?w?v?V?????A\" ??xOq:E\\m(#:?-?\nho??Q\0$Q??z/?wn5??L3]?BWo?j~???ĩ?n?do24??18͆~?R?!??Y?0M]?e?N?f?8t2??ɾ??ȧ*ҝ???r~???	?(???V?W\0\r?c??$???0o=	?T?oX@C?U)/?????MKS)?6>#???L-Q??i*?R:\n J<??????,?f????x\"??y?^?e?1?땸bi<Z???????TO?=?9??Ⱥ-F???5?^	??.3z0?????,??Y???Ҁ??!??K]???:?\')O,??k???>???4P?S?x@?ڳl?P??x??;@nn?R?Rd???)?)??;????tefvZ?C9^?:u??or?)?\n?b???P?????????0???:o4z??߭[??`?@??ѡ?n??????}t<q;&i????Z$??h͛??l(??=???????#<?????K?N?????\'????o??l?-c?h????܅?????7?ȍ?h0\n&?ް??Ǩ94Z?>???[(??l?͝p̼e?s??\\??/g?lF??:?'?T??ĜB??ʤ???`B??Xɍ?\'? ????\"?????YCљC?bp}N??r(??\"??<!?????\r?g??_??\r??6qP4???A?????C?-???? ???cm??\'mz??us?????sa	?5??X?????]?]??T?~?P~?X܉\Z???\?lHqޛ??U@????f?:u??˦?M?8??Ag?s?o???_???G/W݋?:?7i#7{???M?-I?????6]??!%L????=?O??~7\Zへ86??`??Al??>?????Ƞ????G? n?T?b9hL[???Ĭk֦??r?$o?N??>?Z?ѺάGa?6V??9u?΃1_3??3?n?t?5?7}??????HX?K??m??SN\ZRk<2(W;,w:,????\"?2+,??e?v???8???102??y??\\?b???bs?\n?>??mC_??e(??m??şS?v??8?ve??G5????\r??y?????ߑw\rr????;???????8???*^o?ۑ?7???E7??CFy?cH(Uª??3$j?ܼ?l4t?v???l?	O???y????a?!x?Ol?v>Uf?????0c??9\\.?ie????6p????~?v?U?????O?~?0z?k8????i?%????M???ŧ?</??Z=????ۙ?OW?V||\"?Z?̻	꯵?%????????N????g-^PNV?vu????߮?2?=??g?6??$??v-6*??Қt?8???????B?}\\I8^?c8?????s?ߟ??P?????!?&Y?F\";?G??,Z?|z?;) ????)\r???????GVVO?;??Tv~i~???????ќ???_?????\'J?[??a?|s?j??]??U?J<ζ??????䇶끳p1z???M????\"?F??С??ҽ???%jZKdUm?Q?LTt?Q?1\0?	BH??FG???????7T??]?o??85??p??衍v? ތ??'rv???,hp~?????P???D?{?|??Z!????o????\'?>?????6R??R?????A?\'?S???/q1??????_zh?_?[??곫S?????0`?\'???o-?{ֻ??*\\?~^xuS??ă}k_ 蜹v?????nCحb?/?????^? K?S\0`???`?;p?ؾ??\\7??n?W%??b?P??ƃ?)\r~I??????ӌ?\n?}??i????[sUư?裌9?U???rP:???C????\r=?????^\'جaHƢnji?Ot?????G냻??o??q???8??z?ċ???P?\'P??I??~??.:K??i???q8sn?????\'d?W??$c?٠?????????????? 6GYڨם??#n6Wq??ec?e????[?"???5??wu??W??B??@?????%??G2?????w??r:??3s??z@???$??cz??wk?3??y??7??N??w?i<0^??+?]??????????N???x??\'4??Va?և???O?ʜ_5?o?/f??뫚???????ܴ?????????C??[?Z?????&Za???E	?MXTDz??\"#,????0?ISZ?3?8?Z??\n?\'?ٶpFm?p??O?r??:?2h1???l,1??\"?@,pv??m???SX?????\"%?5	lXl_?<ψ??;?-6%?&??p??ru????;ZH??)^?%????X???a?s܀?=q??cN??D?????T؟k???g8f??>?8??\r??O??EG?.?:n?\\???~??v	:??O?5???u????3?k??.???Gs??5?܇???'??ϗx?x?}????z?l?+lu{l?\'.T??{o???????T??G????8n?xh^?-??BpG??)?j}?e???\n??????5w?j???sf:P*????k۟????!<?\'^5޾N????]??t??D???ʟ~4?r{??????8O?>;??r2??|}?m?K?????v?M\"?n?0-m?????|??????L??پ?????J?!??\"?<xy?]6??Q5??~?\'???v^??3xx??ey~?-g??N?????A????F??=????杂?lt?x?v?V??ip?h?t???rd??\r$Vh?[\n?%?%h?????t?o?6??O????;??y3?D?>Y?????>ܱK?֦??r2`19????:?}W???ǽW?Z?ߣ<3??ޗ?GW???????????O?~..?o?/%\r??>\Z?;?UJ?q???m??????7?h?z???\'lY??@???P?~[??x?п?\r????????J?	}?:???????8???̻g?T??b??b?	???\'T?C?X͏??]?r?q???b\0??*?????/ϲ?????E?~]N/>ՓoC?????Ló?rE???;????&X???C\r[????z?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J??ƟhlJD???ԧ??}4}???ŏT?ڃ??\"????~?.?\0?e??[?oE??+\Z+?2x@?̣??W????\"??0}?@7???\'????+?3x>1?#^?<?IW\\f?sC?\"?\'??N??Ⅷ?????Zѽ\0w>???G?VA?.I?????tr??o!???n?s?\\9????????????q4^$?????ir?&????\0~p???????br=\\??\n?3?Z/??ri?????p?Zd?:?n$#?l?(??@Qe|?m?n/\'?vX?\ZX>\Z???>7???zd6;?v?-aM?F\r;????\"?dy?|4??Q1a????7??????4??帕??i0???SizF????	?\r???0???vE?J?qt??????<=9?????y???k?????NL?o????????Y?߬?\'Ϝ?U?????\ru??k߰?\'???ϯ?s?$y????$??????\"+?֟b??2?? UY?????w??????????ې?/XX?&$W2wa??j?'?HCRkćşV8???????/?~T=????_W?\\????^|>>D??K??\\c$??M?G+Z?;?x??j?b?????l?o?Dy\\????n???(?ߴ?-J??7r??\0J?J7?/*\02?M???雷??K8????w?w(?z{???{?????x??#???Kt????Lo??~?????i??J??????ʒw`??V???l?\03??r|[y\0(??%q~|7????2?e?*??(?f/???]??[\'????^??????	???)?\J?5??EY????????K??ᛯN???i4fq??&?/?o?k?>9?\'??????<TX????snՔţ???3[???????/????+?????^??g??m???jy?w>*???\\????o???????^?o0??? ?]\0???? ??????ԭ?u?5??۽.^???vJ6C??{M_?l?W?O?L?~+?j???(?ߞ????77?k@U>???Y?䭍?T???d?Q\n>?FD????WX????xp?j??????pW???????`??.?h4??E???%o??P?|?N???????Q??_?Z??*?Ӽ\0w??@W?ˍ??^J?>%?N+???ȳ|?3?????p??a??4??N?G~?濔P????x?k??jW?U?0`?6?#L?f?uηG???j?ݘ??*F;?{{?v_??TT?q?b?Ɗ?Kû???P?Dx}?z-???)???SϚ??NQ?G??d?\\?^??;t??????^?\\?0A,???k?Z??췚kIj=@???n?=?n:]l?\n?K?}?{?_S?r?3??V?e?n???a?J?^?&^u????d?]/?+\\<?????ٶ2??<uq?n???]⃪Q?|??7??k???=???;??`}?=зy	??tv??rw?{ƭ?n????+D?c?[G???s7 w<???????$??,??_??f??u?Z?^i?nU!?g9^????7?A????j?_Q{o{?b??L?\\y?)?Z???S?|QqU???}?????j/0?>]ZP??,??l?Y\Z? W>??k?r?U?Aq?8U?c11??S???veÛ!?H??gH?Y?k/???y?c\"*???.?*\nZ???]??}??OΑ:???]\r????݈R%aPz??3~/?????\\??????u35?k????K??J?5畓??͍??w?h?(?V?v?a?3?)R?CS???~5B?p2??7θw?ZW??8??v????h?i/\0cfj????L????v;??Z??wE\0-R(?y?\n	QH뿶܅~??8u(#)Vj????To?LU?`???*F?0??????r?#?{ˣ-???֑:?m?l+?\'Ң??Ĭ#+ ?6?1??????????G?^\\????? ??+0?3?	u????A???????\n????????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????q???ߔ?㔋??P???$^$\Z\Z?n?~???[$????elf?ƾOꚖu}˛?T???̈́??-???1?tL\\????KʣN[??q??`?\ҷ=?.?[??H;??U???????jx??%??S?S,F????U??$??????R&h?]???o?$O[y3w]?`{?»S??\"ޔ???`?q2?4\Z$׻cl?r??????Q%??F??Z`k?????a?A*fl??N?hN??m?r\\PW)??b#?NL?~jM?M?\'??%?ϥS ?D???+?????o????q?????m??`??I?a?5?Ѵ?í???nXv??=M???Z????ORmB$S??NKs?C?\ro%?d.?e?O?g?n???TX.??u?v?$?]y.?_Fu?-? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??f???\'?????x?\Z3??\n\\?'J	,?s?ܟ????3?&?S*??Qj??V??,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	???W\nzAǿX҃??t?'Ji??Nl?s?i??\n&???o?w\r󏒨rN???u?&????G.?r?w?A?hA??:????.?ii???[L??3	??????q?N??H????D8G???=ߔ????D??L?U?vAj?.?6L???5??ԙ*h?GlX??7??A??,a}??b\0???A??o<mD?.???U|?[???Dp?nԛ=*mH??.???qQ??? 7];<????"?t?閹񥥊d#?wܵ\Z~??????s?F?T??K???(?C??vGu7??7????????/??p3???>,v?????1+]?@?4???Q?v?_?\r??????\Z8~?/4p??9I??Ib?_$?FdU8{~??f?V????B??@Oj+.?g??AN?????????8llXfՈ??1l???`\"vb:l??,? 1k???????6??RoN??k hS?\\?l?????????Ҩ???????}}??{??\0?1???\r???ɠ?\'?}?o??F??\'???==?1O????ɘ???N?)m#h7#\Z?ƒ[?Z?촙tL??w??Il??#w??N?Š?~??Cc+????Z8??Ҥ???c?M???t??'????b?7:?}????ځeۮ? {9\Z?n???Ʈ1\Ztˤ1????x0??\rY׎@?WDM?\"278\r?;?	??f??}y?t???Cwߘ\Z??q?ۓ???[?????ͅr???Z3H<\'y?\'?(\n?2?76?g?Zkު??????Qۛb??q?Ƽ?	?zc??F#>}?7?I?d??|???4??fNG?ioO??\b?3l+O??=?????h????Aܹ???G4މ????????C\r??????h?GS?(?R???\"??#%z?U??k??\n?h1Ng*??<S.U???Ձ???Bj?n\'1A??+?*u?????of0U\'|ߏ?Wp??7?ev??p?*???'?վ??̵Lw?$??[???V_m?h?n??V?ⶋA۫1?u?K?\Z$繇?????U,??TN?|????????}???l12??F?c??2I?Tr??????4????I߫?ٺ??\Zn??f??Z?O?S?o?պ???a#?}????p??jl?a]?L??Z?????c?}b?S??(k7Z?Q?\rt ?????D\\????п??A{?z̮z??????\}?C?e??<kz???5R-?????%??l;?uxqRw????&C?O\r??=i???;^;????????%y?k%?Q?6-W???c??ʹ^?G??1?j???d??6j7???^hֳN?}?y?\0t?2q???F4hw?7)v?kж??coM\Z?4?????qd?^??????zY????˷?v?p?2????u#1\Z??\r`?z?\n?,آ?i???ծ7&큗???J?0????kx$>??1Ni(??]?O?M?dת?Zߧ?A?Irh??S?Z	?Ʃ????F?????????7?a??iSl??	??E?C?[??@??5?\'Ypl??Z?????\r??r??x??\Z?7???\"???$?e2?,Z???w???OZ?!?@_\Z?N($~*\\???\\CON?_?d?????vJ???Q?q????1ޖ?w?	?u????oG{???ɤ?d?|?D??????Z??7????FNdm??ܘl??G?C???0??ƍC??@A??????J??b??6x????Q??G???M??? ?\Z???t.뙧(̮\n?I??W??zlH0J????????\'m?\'??/?і{{????????zG??*?w?\n? ]c?+??lfR??F?秭R]`?}F7??]??|?Q?d?_?V|\n??????c?й??Z???(?Fg????%??9?[?MD?d0?????????`0?ZRs???????;?]?O?$7$=g??????1yo?????0Z????i??DfOfj???????&????xN?z3?ԝ?2?98???#????Z\Z?	q$??M?!?\"4M?\\?{h???sw?v??XX?\'?3???t?q?3_????F%ga?;t93h	?O?U7?ɖ܋M9?Γ??)?ܽ{???? [??n?Ac?w???q\'zL?֨??N?w???r?f?Z??&?0?v??\'?\\??1??ϰ&%۽??@cy?˝6?7??ܭ7bL?q??e?COmg\\J\ZD[??v?ӎ ????E??????^??>?R??	?N?N&ӳh???=_??a4I??P??&?`x?i?=o?1n?Z?̤9??R??`??*?.?;)òIO???ϵQ?m?MFMd???m??ud??5I?Z/?}9^?#???H8??(L????%????I,7????\'????v??????8Z)|\r?????A?~????W??,??þ??Q1????\'K??<??$????=??\'?c?????????k?????q??j??vGʈ?l??l=????x??/?L??fٚ$??Z??ߢ9????0݃Ǔ??>??Z$?Nn\'?rW??$qX?Y??w\\?c?H???l???b?6?>t?,?I?????ǹB??6r?T????.ctLȫ??r{\"<{?r??jˌ??o??Ρq??DQĢ?0??tF˂G?b?g\"???H????Ef?a?;?*???q??~?2*?2?Gqo????qf?p֐H~???c;d?????y?#??ǅ?ˇ\"???Nb?\";b?????&q?+@%\n???;C\0?\ZOq2??|??ђ+|?9??M????e?E;\rIn&Kq?*??ṅ/׼????i????\"?C[?p?\'?)o??9??C???{\Z???/ݐaQg)<???Dۑ<?r??Y???n?u?-\n???[????e\Z????bF?z?0??5?1?vI???+?,?@co?S?Df?[M[???$???8p0?$|?\"?c	N?%1t??6?l>@F??IY?9??!????))?qS?-?`$9?0?sy<Zav????J?2:?B?A}?(x?:E????H?%3?2i?+?\"?b?7:????Lv,???4?G?*L=?DY??g\"Bɘ?Q,\"ŘM????夿?)7?<?$;$rv\r3????c?`5\\??????]?b%????糢???????X??#ݩ?G ?o?}9??????T?|??e??̍?]?????֊???y?ZK?v????l??|M?poB64???냀?k?eF??~?m?PK?????.?u???̎????j???}?\0','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:27cedf66b625ac1ebee81cd83da1c6ba','????E??\n??I?9K$~?1	V?d;?iſ??ZRu5?{?d??=[??F?rm?R??o???9??-+?w???T?G??t\nZ?{\r??GϲM?~^8?h̿\r?e???|?p??{?I????Zpٵ?Q?KO?8e?c&???ğ??3??I?k\"???băk5???????{aQ???`?ϪF??սn&*?g{V%??,EY??\0T?T??\????6Y?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:4250852ed2349a0d4d0fc6509a3e7d4c','}?\n?@?O?,DKL?Ô?L?i#?H?Ż+????l?Ҧ??t?????	?@??1?K??lN3?~I?r?\\V?/??}#?u7#?F0䈉?	<??????;?<d??'?V阍6Zu?S?A???ڷ????8y????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:8460fe023bd7a617e69f8da6147c2fcc','?W??}?????l?0!?n??d?mk?-?$2.?}[?\r?2???+Z????^??Y~?9hMSІF?????\CLL<??[	???#???UL\n????ϓ2??!5?;????n?{)3[a?$??=???????$?L??y??t2%H?ʟn-??*????????\\T??\'??\r??Z????9???>????\"i???=C?\Z??Qъ1?<[tpC$$;??Ҡ?&8?UFR??Spm?.ia)v??R????^?ė???p?AXȣ????\'?;D?8iͺg\0???9\\?k??? ??HV?xɡ0??X?4???·?n??e10??? ??L??i????\n~r??6ʞ&?n?{??^?bd?e?x?8?\U,S?1?u}?&e?K@b?|??Z\n???W?1????xy??|?"????:F\Z\'???I?????ac?\0??sLG?G?g???15?n??\0\n???\r?Pԩ??l???T?.???.Э???|???HjBھ?Ep?҇?R??pA??)???b?8\0??um֏?????B?\??~??P]??????J)?&?s??={?k??????Q%F?b?/٢???/?kH???/????@??~??@??Z?\"S?M?3????/?6?\??HΝ}oe????)h>:??Rla?HuN?͝???\\s?V?JD;?@$O>??????K??\Z?Y?(+3(???j??f??<????\"?l?????	\\¡??????????-?^?eS??&??CQս??ۮ=f??????$j??S???????K?KO?u??}?nr??gA?!<`??%?~8???R???F??ޓ?F????k?N?`????o??݀?D?1? ?}?1??d?-??c??^Y̭?Hk[,&??˕Sò?i8??\n??2????<?M??d??5l^?4??.q2????(??????^{???Fm?O^??\ro??gx	??m?\Z??P;?c??????׫????<?????????ۏG?ˀ?$?3???sz<??D$e?`??N??4s^?#`Z???~]$?X=G?7??1??ްU?y?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:8b08bdc91c52a9ffba396dccfb5b473c','???n?E?|???K\09Ǎ-L Q???\rQA????????;\\VesT?? ???t?T;??hGm??????2?,&?o?i??\0?5\Z?.?Z	4PR+???pb?^?b~?b?qoHC9S????^\r??????gE??\"\'y?c~-??\0\rg=ޕ`?????t??2]??ݎ??V???fuP?????j???O?e???X??,'2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:a2401e4d2a708f1d4cdf1dc3feaaf68f','?i??H?(???\nM???ZВi??a ?\0???6?V????;Hh?Ȩ쪞??VVeJ?w???O?v?Ƞ???+0\rW?ŉf?5???'?4?z??/k\r?o?yȞ\rS?-s????Y?_G?a&_???kԾh???;?v???e\r?o?fnhE??\0?r\r?h???ie_[fP????GY_???/?iY?N???????M?M-9??????>??V????fPCj?????a??f?v??n??????+?z???>???\"?0?R???\r?E;?Z^)??`}!?˷?2競ˢs?Y???A&???D?K@/?^?p??z??j?????L?{???勺\'?????7?? &???N?????G???ŐW??tU?rسcB?-h??\\???\nG????ƾv,e?$?l????^0??{??\0EF?Q˴?o?$%&??,9????|6?	^?g?d????????p?}?W?#?^¨PIO\0_6? ??j??9Q\\\\0vA?p??G??O/@?e??Ñ?A?E??ג??g?????W?Η?>X??|??5s?:???u?+?\0b?f?a?????\"??t3}??ew??m7??6??7=?sv?ͯ?$?x?:?+h+8??????Ƙ?x??zA?E?J????yЕ?j_?}j_?*?F???????֓?r:O??K喗???|???D?.\0oK???????????:?kY?؈?\0????ʓ?⤢1?????i??+^??;?\n???U???l??????A\"???~??:?????|-Nͯ?/????y?`Ϭ???}????}ݻ@????UL????????0ژI??/??W???݆x??/_4?^;7??[?~?iY??????j???~|??h????c????????W??H??u????s?ڦ?\n???=XӞ????J7?eW\\???b?tC??C??re+?e??g?\0???"?T???jK\\??5?_ [?xҼ1???bk?o&?t?~(???+??KI???:=?a?\0???K~ȹ??<]?w???????U?(:~???	?\r????ܙ+??9???Լg???`+?????Ϸ???|???3u?U^????ptg??p-??~dFq???.?_???"?i0??j#]?,?oO????????? Dy??\Z??B?W\Z?|?(?-^V)???Z|{?5???ŷ?u???TY?_%_??w???Z?U???-??>??eoGr?T ?\'W?????5?^?-??????Rv??B????\\r???a~??k??vN??^?ea??rcht?<??%1?&?:?8v5?]??ooC????*????X??h_`[\0?^????????+a\rR+??3+????\Zb??u֛?܍?&?????XB?r?a~?s???{?V{N??>??;Y??d~????2n??A????tu?r?v??0\0y??z?X?q?A\n????????zq?QQxs11S?????fX?C?_??.?>?v????(?).ܾ??^\'O??D?\0??ؽ?˯?`??:,]T}?\01???? Z?R??U?wA??m???A\rKw\rv?i???@?B?????h_?v??K?e?E??? ?R:.z???????A`??b%??8???5ҿ?,\Z@?\?j???p??9;O???/P?MF?/???Ծ?8׊??KE?Z?vO\0???????5?Ϥ?#??????I?3Ma.?b\\?+:&Z/???-L?a?R}:??V	ȯ2\r?Lފ?????W??U?-?|и???QsZ_????0??Z?MhO\\4???~??z??/,Ga?=ȷ??u7?^\r??z?;??|N?s???P{P\n??z*~\\?;_?~?F+s\0??????=??ʞc-K? =?K??ߚܹ\\eC?+\nw?????Ы??gt????=Ӣ?w?+?❛%??????̊W#(??M??|???;??o4??T????7K??z????\\r?r???Qb?V???y?g^=??Y?򡃒fE8?^#???????`?к?\0͏g???T???~MW?3??|???????*????~g?g?\'~????nn??x????י?W??ԠL???؛?k??Y<?܉?(??\r??<߀?????޻?p?z???t??Y?????????rx?kk@?Ί?"?k?Y??;M{,?y????xJ???I?x?~8|?y?|?]?a??z{=??sz?}??t.n????*??zv?j????V?=?jb???\0X?5????????^?{v??\'??Ñ^A)g\\???\'??v?<???	????r??׮???!?\0??r??|??ūy?Kv?Z?TH?B?lA????@?%???C?4?w%n???zV??W\0?\'3?p?Tn??\"<??2\"-??\n%???\'???????Ϲ?p\\O?=?\0????:?Ҁ<?O?\0Xt?޺X?\KB??s7s????????6??u??1??!-?Kc???7?q??B?\\?s???ua\"?2p??Qh??u???c?<?????K???u?=??>??W?vY?|<X/??Xf???????e??D?H\0?????;?r??AE-*?C?6??ÿ[??;??p#??FN6?I?k洸ޖ???[?7&6?2\Z???8??U??ȈN???&Óe?u??3o1\rDq??????ْg?j?????Qc<v$~?9E\r?]????穥?????t??d2??x???$Is?=???f?/(?ᰍ??0??uo??(????R?d)7???\\?Q???c??B??gw?AgR?\\]?k????y??Z=?n?UWa??gk-?c?z<?I????0Y\'?V?^g?-LcqfY_63?t{?6????Be?Ǜts?6??'+7??\\$????\0?аCb????B?????]?Y[?i?z??F3?ٷXۜ,???/???^??w?K?}??}??R}ߟ??????3?????H??[?\'ig#????zD?~X???9M?5?:k?I???ݟ?!?FV}(???????i??f?q?wc??a2?$x/????E?t+B???????7????v%.??V?n7?r?Hz?Q???ס???̣Ēe???RDjEdF@?bS??]?R?Y????;C{?hgD??&??hI#??m@???B?\r(q?z}?C???f?i>7[S???????΁????mv?DI!????ݮ??/0?0?Q??????o????}r??:?rgĪ????w?jl-??????!5???\"^ҝ??i?ꚘW?s>@c?i?.iQ?ƀ:?V?oh&	pB^???Ј\\??Àf??;3????*딮?4??f?????G?CR?e??,????Gi?@w???z?D?s?e???洪8*~??+?*?p?^z\'L?]?U???Z?`???e?,??_?a?k??\n?q???߈UF<?f??????A???u?_?????-kq?)W?mW?????\0\'h??|??,v??=K\0???Y??X??©Yp??k/S(??????x??????#????*o?5Tu_h????th??xk?T???t???f?b&?v???Ȼn?8??_?K?:?1?p\\??"C_??y???4????{?9?LG?O???w????$??a:????T??/?i?J?3?8????????B???	b\\????)??.\n?$???????F,?_?ҏ??????????)?j?3??{?????\"?w???????oI???Hz(?%?~?w?????g_m?wKW??ߍ??/??p?t???]\'????U?n??;???.?|?ѣ????x?0o??>ýF?\"?\n?????q?K???W???:-?{?_?h?[WY?Nł??^?d?*H??nuT?A??Ty??????K\"MF|fL??a660l?4`MX3?H?????l?-???2?z???shK?U>İA (=?ER??vr,????????y??\rƶ??1??9?v?\r??%?#`2?(?yX16???s߉?D[?QC???	i%????7?Q.*??q?u???? ?A??w??????Y?JG?pz?I\n?tFλ???-:]????????|j?p,iL!\r???=j?0n??k??????\?k۵»|?ݥ?0?he?T?.??z`?c??s.C????AԘ`4?\"?pl+K1V??M?o#9???fDjD?Ӫ1k??X??-y??4?U??D????>W???2?gL???9*?K????B???{,pf~f?hOIW)??\Z??\0?{??*?	L??Z6??b??Bl???0c?V?0??2????`u~??B???׷?9?;w?\"o??j?0????[F=m>G;?ߋ??<y???q?Zn?R?us?????a0???\r?????k:??f;3?|λ?q/\'?1?E??c?N;;mlF???wqڃ8U??z???\6ŝE???eU????)???Nl:`?????\"???pqa?k?\"??i?'uZ??a?????-?ʑ|??TZ?(?x?\n??aDXS???GD?T?D?4Q?I?8???0??c?9????v?|??G?r?????IZ? ??.g?fp?V?N?T??.?Gy?Xl??JpT.&b+????M\"??יz??????3???f?`\r?V?殫:^J???y!I???'n1|?KG*?~?=??<S?p???\Z?8-F?Q???1z?N??o%m???i?8d? ???1?8+?f?F?ZQ???3??0?U?m???\8???Ì?\r??\'?YN1??C?$O8D?r?h.L4fK?j?u础v[2??+9?H??y5?Ӣ<a?\r??Uf?,.???,?3ֱ,ݎ69A7?=???p??2y??c?????zA?;1<??%?n?JG???2?>;\0?^?7ۓ?ǲ6???D?o?n?\'#\'????\\Dn?a?gz<#y?????L?Ö?fת$K?9?s??!???l?b?\Z3G0_??(W?????빌??CZ?F!??Y??K;\'???h?0???顸??vZr&oѝ???x????????,????=o1\'qV????y???L1C?ѝ&<??+^S?d??:?????ބ?\Z???\'C*?4A:?s(?y<D騴|6??MO??@k???Ц\\k?6???<???)? ?8???d??s??}?jt?%E4??t?;????<O\"???vӝ?f?7?????/xb`)????J?????ӱb^,L?[?r\"?????i+G?ۍG?\\b??m\Z??\3??mK?=?鐍V?ɖ??F????Ė*???0K?%?9??&????(j?+?>?+As?p????@?b????|??????\?K??????r???:????:?FXov??<???f???5)b??f?r?????d?????\r	~?ϳ?f?Z?9b?$9dǺ?@nX?6??[*?2????w?k?m?????????0<?????1????????%????)??uI????,??0L<?\?Ȧ??\\6?\\ܲ??@?(Ƴ???ґ?>wG^???????>r?얯`?s??>?Ŵ?3??:L?>???e???.?\'z6=???m??X+??jL)?3?1??)?m???\r??n????M???\\??p?\Z?993\n????q?Yy??9?[???Ą??M????\n?X6??a;D$??p????;\r?????M???H??닡+??\r??ܢS$%OYG?|??1>???M?4?\r4I;??-?!l??GG?#}??K?t??]wŋ????=??CQ{?O1D0xJ]-pN??Ĵ???6l?????`l???1<!t???[C~e?=?ra?K??͵?d?q??|2?F?<^??????Fq4w?%??ѐw?@8|:?\'???u]\0qt\'?????D?Hn?n???Hg\ZqXG?9??FZ???m??V?.?f?????#?{????DR??f?6s|a??????{?s???)_??a????Q;]?\\?????pF]?	?;??"?>?>?]??K?4?>???ᰤ???y??K?Xh.>?lud\"\"??K7NKy+V?I`????j\'?w׾???w:?#??W<????&ls? b?v??g]9????$???6?H?ߧK`?+iBf?????N???*???쓝9\\\0?35ꛥ??0?zc:????????{?W???5SZ??܏Ǆ.,}*)P*????|?J??qK???)???æ??y?"?O#ْᗊ]???݉[?y{m???Ĩ?? n?5??]|)J\Z?L3??	?9?????????c=??-??cS??j?7??t?X>????^?:u>A?/Ю???C%???????r??\"??d??^?8?u|?,?6aNS??\Z?OQl???xj˹\"?P? /v??㼚d????۷?I?_YQɜ?خu???|E??ࢇJ???0?$???|}[???Sbw???b%E? n?N㲸???폛%???)?M???5|??cK@3???????uY׎?H	?c?ȔL?Ym?????|V?4sq?l??u??PF???Y?r??M???Q?X???t??@n??%f;??\0\0?.?v?zc?C????yJ`z*?????=\n!w????Ƨ??????!Y ?Mjs?r!?+ok9bz?\\8?{?\0DrA?돦?UW)?8?$&?????*??G?????j;??]\nW??Hjy?.???\"?\n????\"??O?\"???8??@┹h?c??\'$.[?1????rт??????V?3?	??jE>%0+D??¢.[???@qr??!춴?gi????rk??R<y?TÑ~1??K?#CK*?/???9t??\0?@??\0?!?l???Ӳ%n??y????M|Y??b֒??\nVA3[??u[<??n??????l84?~\\?W]3܎d?^??????????I9??????yRHiV?niN?β????s?3?@$׫?\0???*?N;S~~$T???Q??!?c?^!^?w???0e??\\??n??wC?T?????n\"??!M_jgd:?????Y?????ȝ??????ܫ????D??B\0\"?@=my??u\0??(?\'$2\0N^}?uB?\0?PW??2d?????9$?_-}??;???\0M?d?B?u??t?4??$I{?????C[q\n^ \\???h??ry?vפ?\n?$+C??\n?????(?R??'h+o??U?!?c??D\Z?%?pN@?c?Ca?4W$?ɦ?????X?b?Hb?v,?O:??	???H??s?He[?\'??(???????JG?I?n?ʊ?????5V?6Ư????-V??~?H??	????@dB??؂??`.?\0?`q?c??H?ڃ? ?icr\Z\\?-???h??$?	???e??Y?&+)??T6t??ZRge????T??ez?|??G??_a??67\0?n?c?R?g&Н3?\Ze#?{>F?!???&?????\n-<?Nˌ\Zә??#?a?_?7?8?5????\?{A??F?q^??????tu?&\Z???!?O???\Z?Z?? ?s??P/C9?????LHw?@???Z????{б??t???t&??s?Y\n??V??:?s????n ???A?)???c$G?????L??V?:???:3s&?t?E?TȲ<\\I`???Z???WO??:@Д?t|??@??Θ??\'???i??3Z(?Ʌr?N??RP{?Mq???t	????>?AA??\n?$?`??!q?K@pU???к???????\0???ʐ?P?!?0?r??s?n\r????֠t?.?P????v?n??̀[<???	\'@e?;??t??0?>??^0/?(????cc?\0^ oX?S?\\\0???К\0???@C?U???W\nx??L??1????]????N??L9v??>\nH?6?ܘN??9?`???e??<?nv?x?????H?NjlQ?4?O???%?V,f??v=<߫?/o??~?V??C?????f\"??Mq??v?#?(?`r?l?d?bFw?5?+?	Z??WF??9?竈or8vr????-????v??f{?z\"0\Z??j8(P?@?r???@????\n?\0?\0΁?\Z?$h\r??D???`???^+?O?᠗??j0?0+?͠?(t;r=?=?B?M??J y??)((UU5?T?g??<???Z0t??8????0??E??zbw??x??.=?v??=&????Q2Dr&??1?V??v???g???V???@??|7?????W????ԃ$???D?2ɋ?????b?DB{?????q??!,?w??Ct|?f?nT??qU??m?????S?3?????q?????\0???A??@??????? C??2? ?h?C+(rhX??КAjB\n?\" ?0껀\Z-??T??z??A??c??0u??_?фkQI?0QC?i?6??0-1:???o!?4s׆9M???????iNi9^L?<ld?O?@????G?>???7t???õ/Y??=??"??Z??vB֤3_bX4?zȀ?B??=?d?6?T\Z?A2.?????D?W??H?\r\r\r?@q?2?\r?cH???*?Z0???c`?P@$B9??Ah(??u???=\Z???ƪ?ih?\05.\Z.`?x~6k?^܏??????r~+??o<?a?uB?1????`????J&C/-dz?߶] ?7_???????ڋ?Ǥ?\'L???(e?y????ra??N}?a5nx?????\\`9F.?YkqBT?S???eB0?|????H????????#?qP=??RY1?XO?????<?o?(W:|?j???z?P?ul?q????D1??q@b?š<ClC΀d???8? C??????Z???C?\nO???ne??[9????P?)Р??#nN???%??\\??	??No??ʻ#?$c ? ϳ?Y??+???????<?o	h=<p?<??^?xe???????tyB?=@	?m?TR??G?'???QJ-|??͡\'?\\.ݰs?m?	-*Ф?R۽?u?X??9oc[?o??\r̅?V??o|?C?f?\Zw@o????SX9???BϵUw)E?!ώӖv\Zر3ۥk???8h?3?\n??[^?????uH?"?\\3??\ZLqA?WE?( C??$?d????Ta??vL͐?q4tZ?T{i?C]???W&????Hw??E??t?/??X?	?u???V??????x??/h??????\\? ??l??!5!Hhġކ:?J_C2?U?\Z?LEg㱏??????}M?}o?KVw??9??l?0Ҧ?1??7?c??Ǔ??fӤ?K?&8c?ع?\rt7???\\?l<?3-/??\r?A<\Z?$q))R??@?x3k/(6S?O\n?|j?????Mo?i???$???*???u?<??????v?Q???p???u?o5?z??u?~[?O??~{޳?h??)???k?c3I]-?۸r???D???]?:ܙ?w??7_?i?[~0µښ??=_%?????(?????????vi~s?˃???}??ރ?G7Ͻ?x?i?d??Wy?p??0U?]Y?????3?p??5????????2???????%/????[???<???]?j;Y????V??.[???????>l?n?&̳Y!\n=?M?݄^?L?8.\Z?Y?݂??)<??z?\Zo)QY??RECQ?!??8???*???i???\\??6x?-n??2#??a???h??R???j?\'&?j2??(v?[?uy??j?o?R?????DƲ(??Nu???mFJv?'?quJ4?n?COa_??4#?U??h:?J?r!;s?)M?Gg??!,?????(????Y?&\n?U$?.pr5wbeW3?;??d??\r\'??=??i??Y*xg=??S??+f஦1???@??#k????^?vB\\i.j?????wQ??????7??\ntGvH*???DGS\n?????rD??w\'.?9?%??????r?4?m???[????i??{?e??DZ?h???ד}?%5???r?7t?H?o8\0?N???\reD\'?????F?[??\n?$*T??έfV?i???mYYͯ?Ɓ?8U??????\08\"????Y-Ľ?????+???z\Z?N???K9?|?\"???!o,?j??????@_??x?8&1??l???ѓI?N?4?	Q???^????д4?ri?҉:??I??2>&??\0?D???n<n???nV?<m^?\'2???u?>??/??X??K??\r????N?R??E?1b7P&\0???X??s?уA?ED\rf?8????}E?,?\r??\\??Ж7?<I?xb??0?^S?f????%@??\n??rԞe+0?\n<?<?rs?%?2.?\"#l??H?M???gb\0e?+3?????թ?d???MѮS??\r????w????p,?x??4&?n??????qc?OIwFh}??1I?????Y?Dk???C??'a??\r?^T???^߯??]t???g|L?>ٶ?woy3?5em;D?F??`??x?z(/{l}?YGn?NG?Q0a/?6?f;F͡?????e[m`?[????vX?9k?f3ZT?>?$??dU&%??02펧?JnTD8???FJ??qǥ???Z:?????Z???CId?I,?????r??6;??????????:??y??h????d?F ?b????mCϗ?nn?١ݕ?.,??րޯ?Q>??ҵڕ*\Z????ˍ???;QCX?k?\r)?s???\n?߼??lU??\0??l\"řt?:???y?|?????\??/t8i#75?ئ??$Q???ᣢk?\'????\0pb????1?Ac<??<?-?????b0????	??\n???r}???@S,?ik?"???u?ԓ??!???d?r։??'Yc5Zי?h ??j?????y?\"?!??a?{?ݚϛ>N?o??`	$,????6??)\'\r?5???;???fo???ƲX;Xԉ??[C??{΅??ŪW????g窐??y??%Ca}?K??+???f?.q\nd???G5??(Dz?????+U???_(7uG???\Z?V΁/???j?8?$??*^?i?V?x<L5??@wq1????Z??j/??????z?E??c?KtMw̢D&<BO??K??+?`?#x?\'J??O????%~???>\r???UT???:??O???]=???????ZNuY?;?.-JR=]]???n?o?>]??)?vLh????3????x?D???\'0????,?gԴ??T6??|lCZ?K?n`????Ag?h??r?v??rE<\\??!?y?u????k???xVӳ??*??,??kê??gݮ???n??z????\\\y.N?????k+͏?pb?#?f\"_Cf?m??hxt?@?,?x{???Y?>~???Q\0??>?)??_???{?nM??)?[@?A\'?4ׇ}>WO6???\\?M?8z??t????<??rC\\???p?r?(??ɱ羾%???P?v??>?w??$???1?5????}Ϗ???<??????n>??}9/?0E????n????9?}?P}??\Z?i???RA??\"???z?V?o?\0??Z????L???6???JHR?%?j?r?DQZ?]W???z???\\????-?o???ToE}???_oKp}T?н:??z9?l???????[??yNh???.??n?YKW?y?#/??߽\n????Moo?>9??0E#5?/?0??4=???L{??Tԭ??D???4??????\r??????:o??S9??G?]?8{??\\q?????C ??qX???n?\'?J3y_??I??V????????w?.?X{?~??s\"?,>?RX?j?q̳???0??7????ט,?X????GF? K???{`o?O@?l???J?????\0????????\"N???_?\Z???UQ?ʽ?Ӻ???İ??s0:^|?!?i~VN?_???q?v???U????J??????\053??wϭx^?o????x??????cP?)n?ͪU????g??P? f~|??ӳo??????Ų???|???????x %,??>r?????\Z~=O????f?vEȐ??Z-???*??x??:2??IH??????Z?>GN~??c??\0?K???99?(R????q6+??dz>???\n1Z?%?9?s???\\Fu?\'?89Ĥ;t>-k#???Hd????E/?OO=e\'?M????K?0??\';?	?¼]?.>??T}m~XT??Kb?ќ???_?????\'J?[??a??q?j??_??U?J<ζ?p??Zϥf???&\n.	???{vU\'?n?E???E?G?????iIT,?U??KD%?Q?F??0,?Gd??Ogtn??MM\'?a?|C5z<ѵ?־]?S?\nי??g?ͥ???B!gWG??ɂf? ?@i	~??\"?Ð??U?r[K??T?????Iz?}FH????;ϲ!գ?*????X?'?A?\' R??̖/q??\n5?g??u????Zߦ?n?Wa??H??G???\Z???z?⮌H?????}? `?е?,???\r??\'\n7????N?~k^????0??E\0??R???\50<㪄?O?)??1??/	5uqtP?Q?Ma??o46?1????bk???}?1???C\\??JgSsr??Y;??U??{?????5??-m??????2??>???????0????ͪ??3A??׹?\Z<?҇\'?ę?\'??r.?S??k???=?R#0!O??.!I??A???;??1\\???	??@l?\'???Q?;K??F????n??R?9?<A??;j???9-eE??F?\Z??@Qc???%??G2?????+?9?Zٙ?9t?mw=??Zo???9=?p5s?J_?????\;Z9?X????\"??(?};????W??fig??uZ???6?????????ʜ_u?o?/f????????ug??W;ϳ=?????C??[?Z?????f!T?}?>,?K8Ch¢\"?h?a?$?]?????????հJo5???i?ۀ5?Z~*Wl҈??\"??,T?ˆ????r	?g??\nO?Q9?q^6??ڛK+RBZÐ??E???F7Kܡl?)?4)\r???êU{s}D?B?L?)m|?u?rۜ?o?F.s???F???ݠZ@??Z?P,???r6????u၁??????ߥWG?߭i?҂?_????C??"ӏ\ZL?G???????]<????k?׸????OZ???/?{??be????????=2??t-ڽ??9????ǥ?r?:ok??|?C?o!???;B??y?GNu??,\'?*J_??,??R{O-???ӁR?????????{:?K?G?Rۻ??B?Ϟ??>???????#t?(???y???Kl>???N??n??M??????2?\0????~{?E??xo?3\\???~d{?f?*?\rc/??T?????˕w??[??ś5Mw?쾜?g?B??Lo?U&?e?K??o*ew7?????ɧ?j[?????????Ǯ???峙?.ˑ?K6?X]l??)?_?l???vZ??C??S?????!&\'?;쀶?8?m?u??>o}?c??e9Gq???su\Z????ߟ?~???".???;?\??/?5tӉ?b?\\)?????{.</?|???)i????x???ǹ???N???{?-W?o?\'lY??@???????ŏ?{???uZ?D??k??~?S?oJNKT??M????8??}??s`??>R??ju?O?????\'??f??p}Y??=܁P??*??˂??=/????E?~??S|*F?uZ?2??׫ٯ?;9???bY?t???׭?m][??ךŎz?fh??????Cs????ƑM5?Zs??N\'s?k?6?;?4??&J???hlJD???ԇ??}?|?r???{??:????MA?\"?'Y?u[????v?"k??E@k???{y?{)??tsI?P,8???????>2???t?g??wt??H;?W?B????yᩥ7???>w?`\07?US?UP?K??f?ݱ>????r*????<?~??sY]7X?q?q?+??Z???4^$?????er?6???O????C??|S??????J?p?O??U.?B???X	W?EV?#,?2\"a?=?6??U???l?r?i?u??壁?????l??;?٩?Sl	kJ.6j??(?B?y??f?????	,+H>&??3??F?8?AIs??r?X?[Y??A͖???0???$??@?_?^W ծHR?@b???'???_?g!\'???????q?(??7??+????Nj?~?????f??x???_-7l?;?o\\???=9?Ӟ޾~????I޻T?V?:	??9???PdE_?L\"TXf???Y??J??\?{\'y<>???O=\\?\r??????lBr%sv?????4$?F|X??1a?C???9??H?????U????\ZX%?7m5c??6h?`?ڦ?k?D???hE+????߱V?Z???*??zG?Ǐ???i,]??????qq?&p??????/?????+\0?M?/߼}?S=ϙW??ʣ?_߮????E1?ZVeT*????ķ}?j}?c?j?}??\n7|z?J?1????RV?fg???e??\\?%?z?????_wD^??apI?o?%j???Ji????^?k?*???˥???u????<??Z???p?7ŕK?????.????|???5???S~??@cWK??2Xnx?????9?'??䴟?Γ?>9???\n+?:?nέ??x??xi?^?<??\0?2V??iV?????+??????F?n??E???{???{?׺Ӯ?? ?????????S???@??^??o?>\0q??\n>???}?u???6??@6+?,|????{u??r????h?9\n????\"????\ZP?O????=yk?Ղ?<czDaT??O??q???|????????????pW????????`??.??%K?d?rn?t?Ӓ?ay????N????????X??????mU?i?y???*???8??9?\'?/`{>%?N+???ȳ|?3?????p??a??4??A?G~?濔P????|????	ԮN?>\"Pa?޶l?*F?*?/g???ׂ<??}3毭???ў??W,*:??V1w~cEk???߃|Z???|\"?}?z-?«??)???SΚ?r̥?|?G??d?\\a??]%?@?0?j???veh???<?8??8k%ג<?\0-??Y+T???8f??ߛP??_??Z???9??`?	E ??毼????7???e??Q??庵?J???V?ř?)\r[??U??u??k???G??.X??]t?>\\??HYY??q??B\\~<p?W??v????g?À?x???QU?p?d?????"??е?W??]=F?)?\n???/???%??Z???j??/W??)?!??`J??cx?|???e?.*?*?(?fS??7??????GN??????????r??c??.&????J=?S?/0#p????e??\r??? ???|?????eEY????V?^EA?:d?b?\\c?z???G?*߫?S???(U???)?5v+K??㼁?u?4?k????[??I?5畋??͍?נ??Sz4E|?H??d?????)???A????????gܻB?+?r7???h?i/\0cfj????L????v;??Z??wE\0-R(~?7???m????p?FR?Ԥ???C?ފ_??4????U????r?a(\r{??Y?G??&?G[ڏ:B???#7t6????bO?E???YGV@m?b???lCߥfk?j?&?9?????r\0??I??P`^?f?n?	??ӂ?/E?Ņ.`/??????I??7HinD?bqI0??o?f???ш?\'???a?׏??ݹ?O??(????bRʦɔ?{p??-u?܆<1?khx֩?????j}e??CM?@??=`?Tc2!?{??7?;J#???%? &?????OdXi=??????Ob?rs4??????ċDC?q?=د[?u?_{??ش?ͬ?w????.?oys?j??"??0زE??c5>.?؇??????aIy??17κ???????ӡ?YgkMiG?\"zD??j????y??N?d?X\rtc?Ě??????RqA㸸\n??	?????)4?????	L???????z?=D???oJ??U???7?Ng??l\\	7?NVV[E?????i??U?׻R?0?i???z:8ɢ}8?\"???R?A]?|?????81??5]??????o2=?,??????V1?}~?i?R`.??Y??E??Qr?&??v?FӮG?????a??4??k\rv?0GE>I?	?LM?Y8-ͅ?fN??<??5??:??̜ŭ??OU?34?<B??^???<?_Fu?n? R?|??t?l{????4?Öl???i???p<I???)ѐߧycN?iƒ?;?\"\Z?-?? )?????8???\?Nt??<>???s?7?4Z[?L?Mo?\Z?)???۩??????????d?????h??'Z	,?9X???????l????D?96??@?,{_mg????????\"???OI???d?].?;?fA??c?e}Qr??;G????-%????????H?hv-?Z=???mSvH0???,+?x??M!\"??t\n9?Q??6?j5??[???;???d=F	?????dI>%?\'Zi??\'6??l??QA?????y?(xHş%Q?\"??p??ŋMkO??\\P??m??тd?ul?r:?]?????ӱ????w?fv[???ֵ?????1B_?p?n????)???٧????(????Ԝ7\\^m???\\k\"?Tg???U:b??H?\'???????0????????6\"}?ub?*???Z??? ??ܠ?f?J???K઼`O\\?\"\'?E??0?x???&??en|i?\"وo??e????n??sh?7?\Z??b?-??^?wA??ʵ?;???=\'????vw??v????-??eu??a?????!?Y?????????[m?\'n??7??/ɊsD?????????????\"9?\"?????;ǰ??7?0g?_?0zR[???r?-?r:?О8??J?ⰳa?U#6?eǰM6:???؉?+S#?X????w?o?;?V??c?vH?=8????M?]~???>ZZ{??zJ?^V??S&?FwL7???t0???.?x^??'???L???9\"\Z?˟\Z{qSo???O??&cz??.??m????݌h?Kn?k4?????????'???;b?ܩ???5?????Ih6??r.jᴆJ?v??q??E6M??V????n?=k??]??ӥCk?m?J?? h?վ^???,??d??t??d];?_M41??H??h?$<?????Ơ?t???????kOZ??\r&ˣ?.?.?4Bk??=#?4?(\\?h?,??5j?y??????|?Dmo???????u?P\Z?? ??&I?>?R?x??Y8???=M\Zs?9ΰ?<????4N????]d???q???\'Zʢ6?b?5t:CO?\"l????M?ݣdJy$r????8??'J??-????????\\?>5?\'?*O???????????L`9??.???i??C?7+?????8?}????:?q8T?UX???_t?????'x?z???R.??붺??Ru??R9???խU??C?Ar?Gx?:?O?RN<I?M({?K?M^???n?	?#C?4?l??|?$??A%???(??Ic?=lNF???z???ݢ?{?c6?\r?u??;???[I??6rp??\rg??????3?\0??Z?lX?C\0m????m\"??????C???9?8?????????0Mxf=????TTF_cr???|=fW?}?y???v?>?zв?a#???5=?f?ۍ\Z?H???u˱???o6???:<?8??kg?z?fz?!j?b???4N?n??????????n???ǵ?u??[???O????I??Z?zꟘH?n=	?{2?|_?F?0/4????_\0:q\n????^#\Z????;?5?????&?uJ6??t?V?82Y/I??N?,F??[];Y?????ݺ?\r@?0M=??Sl????H?????K???L????5<???4??.֧]?&F?k????Ԍ$94??n??^????q??	X??g?t??????z??)???\"j?!έy>^?M}?\Z?,8??q?Z-?f????)9D?h<AM\r큋?8???ZI?L??~?e?|o?\'??M`,?E\'?.F???\'?̯a5??pZ?;???ɨ???m?[ߏo??;߈???a=˷?????d?3?k??{?}??Mg?	s???`o?O#\'???nL?Gs?#?!??w\0?t{??? ? i???D????F{?[w???????p???t??\r0??Y???O:????f???$Da?{=6$%Ix?H?ߟ???ѓ6~?????˽=??vC?N????x?0C?y?;r3?Y??1וP?63)G??a??\r?.??>??.?V>֨?2??B+>??z???V????????r?3???????????\"?2?????S}???RZ0?d\r?9n?B?rGI?ͮڧy<?????3?Xsz?mH??????0-Mv?޴\\^\"?\'3??t\'??W|???ng<\'[???Cc\n??????\r???:??-?Ʉ8?u?i?ѐF??&?.??=4?`???I;?`,,Ձ????f?Ƹݙ??????????????§̪?i?K???{????F?=Py??(?-~?7۠??;	????	?=??Mk?Y??D\\W??????B??K;?????.???O?X????qͩ??<????Z?1&??x?˲ߡ???3.%\r?-??w;f?iGM[i??"?m?}N\\/ED?h!?L????F\'??4?w???W??$}?(}jotu0?ٴў7?7??t1fҜn??)|}???nD?ờ?a٤??1ۉ?(Ҷ??&??N?\\z?:2q?̚$O-??ƾ??ёNd?l$D&?t?O?֒??om???~????|X???????sA5G+???_v???/>?{??n??j?ۋk?]n|????ٰ]???όIߡ?????k?ngO???m\"༥=q=o???d?Z??10?[?????v???2b&?pF??????\0??Sd?Y?&I?????i???@??䬩?????Ii?ӂ????*P?$???V???7?@?G?[m?;~?1???d?H\Z???e?8?j??$???:??t??cB^%???ەø?U[fL???ot??CG?%?\"?????3Z<\n?#?9??!?c??????lR??:?9????\"?2?Iʨ??R`Ž)/?:ƙ???YC\"?->r4????? ?v???????,?4?Z??!??DSg?˘???0?(GdR???mh<?<??GnDK?????:4?{<?????$??,ŕ\"?????\\???M?\r???m??ܞ??X?Q?J??R?????tC?E????C>?mG???1R???Z??(?\"??n?0?Ɩyxh??cWX2????7s??\?ͦ??????A??N??Qso5lg?ȒHv???0?????%8y??{???jK???\09R?%eI??g???`/?rT??T?lL??L】??????b?*i/?h??s~????????\\wl\"Mǔ?ʤm?\0?X???\"lg#F2???\ZЬ٫0M??He?(3??%c?F\r??c6????????????K?????(??\r??9OpG?GOZv????b,?ϊ?(??V???_??t?R??V8?r???1?W9=??\Zy??????.??????Mw̚g??3???{qHx?[\'??3?v?nB64???냀?k?mF??~???iv????V???[o[??YݾU??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-css:4:c88e2bcd56513749bec09a7e29cb3ffa','E???O?e(e?9r\\?DipZ1??S!T???/!?!??	??#9=?@??O??ā?L_-??d\n??\r|?ƅ?||??\0E}??B?ZW???d9S?tf?*?T6?åśKͳ:?p??K0?n?h??????i*?????ʹ*p?Azc???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:0d86e1cb95fe5f49dfae19e0c4d796bd','?Z?R??{y\n??[??????-???@??il??-?$?I???Gȋ]K?X6aCm??V???%?????_%?	?dL?HcO??$?Z??$D??J???????k?\\\\???????c??	???I?(?P\"?????????<^\r??V?<?ʑMH?MR?*??=$??\n????!?P?>??C\"$???? ;=g?=???8???i??:1\'??`?.?Ӳ?I???e=\n?\n??ts?9K??%j?\\?e??d??Yd@(NP?????E?=X?@?6f?\"H??&ބx]\"kw`??1Ӵ?\r??D4$?KV?bq?ny?=???b{??$?Ȯ??JvF)Ii?_???pB៼?0??B?8???#i??N??7???ͯ&$???m?4%8n??Q?`???Ѹi?u(???Ams*)ԇ?Gb7???????D?L????Q???ȇXK?uT??. ?b~??\'??8a?TB??\'??OW?=f?Y?e??)\"?K?i??tvədr??????mP?4??z^랭??h|?N??R??`\\v?O^a???׹?%??V????Щ??r??\r?Gmj+	vPH?̶)??\nC4n?9M4%}?l>gI??z?t???????03u0??N??>?2?Ŭ??QYpS?3??\n?_f?R?S)_{>??	??w?L??A?}?\n???vז?x\r??7??\0???mz?XN?6li	??An??:/?j????????/\"?i????? ~?????W ????????%)??????p?M ?|Jj??\n%?,?v?,??g????M?E?eZdKe?r??F?5???\\??Ȳ??겢?|?????#???mkڑuTS??YR?WzK?V?????1?d,?	#,?%?6???y??~??ZwQ? ,Q?ˈA??,?DYsy?a?????+??????c???H_???ޤ??=,?"??_?? ?o?p??o?bHc)????I`???<???G???)??xĦ??{???8?`f????Ҵ???K????sy???????VKj?TyLd??n?\"_r??c?.ؿ???2????fٝ?(??χ?Jm???	n????V8?_D6?p0?n??O?2?????$?mW????ӎ1JpGr?3߁?????????|<NC?ߔz??\0?\r!????Q?\04?N?i?*wřH???ww??I?Y\r?}?{?J?d?yY?????8??1N??NeS???<S???i\\?O*Ģ????sI<\n??Y?S??I?Xp??FMf?J?\\?}????yW??n?8A??q̖??j??\0?>?@??77?"?lX??,?????V????6???v?#??\r??࠿??e`Ǘ玫??M?q\"?op?R*???B[???M??N~A??L??p?9??0??)E???_4?,??UҘ?_?Q?Rf?Ip4?7?jJ1??>?}]??	㲔?ad0???anX???af??$?????5%\\?	?z???g?oXb?LTDbur??u.??\'$1ZU[????f?Q?ľ?T?T??t6?0?<?wc\0??2v?֪Z?᥂|????\Zs#R?G5j????؊?=o??	e7??\r?A?Bd?H:???f????(??5B?u|9?6,?Ք???1?,??N?dCƿ?W#wk-U?g?????????r5?XIwK?1??????(?B??A??V??S???`??bݽ?\\???????Þ??t[?j\r7\0ᵳ??+? ?W???(?O\"??Ko?????в??????9q?$?1?A?h?P???????(??$VO43UX?j?@?G?D?ҵ>?֯9?41zT???Tࢦ?E??w~W??o\0r????I?\"Ґ??	??8??l??B?3?G??r?S?ʤ?G???p?*gu??0?~?6L?@?|A??T^xh?cX?uX??e??<??K???9???p????D??????@???E?\,??????NTM+??????\0.Uk?Quq	Y&?7??!x\n?hܯX??{??~fs??R1l?p@[%f:???\"\'?L???*?)?Jq?d???????#?U?$?????Fp?g?s?۞y??*?7?+??t?7??|????E?#,???X?L\0???a?9??12?J???y????\0?[?????J>?d?DTՁ??|????ee?Uy?????????)޼ora???HL???pw??`??n?w??C?@xp????po?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:0eed8143f1b3c093a663e8f27ae1095e','e?͒?0??;>?\'?$aߡ?;??\0/?m?v??rd??>K???L?ER?~|?s?h?????h?*?dǸ	??xd%Xà<# ?hu?zB:?T4\\?h\Zt>\"ғ?p?ѢR\\I???+??+?֯t???66?????!?n??=???=?<o?t~??=jq??3?A??@Lcz??N6?`,???`?Z5?I?\r????V\n?YD? ]?[??L\Z??R????????ue?co??<?z?T?.?b??c???6x???UJI?$?V??{???-????Jv??K????+vG?\bH???h?c???????e???΍?Ate??{2s6t%???f??j????????]??}??٨`?;I?W\Z??r??|k??FMQ??\\޻0????????ꄨ?G!??-B???c3P8}	#9?[??г??G^??Ur??I|?aT7???o??4??I??W??O??@7\r?"O]??Vz;?HYY?r+?ߐlC?oH?!?r9m?C???Q?۰??6?????eq????V?i30\0^???ATu\n	?Z??qN?H?????-&Yz.????\"???r<?c.8VP??me?F?????9?Y7?c??<=}???????Zi??⇱?R?i~??????YKE;?????????2??zJY?VO?E??zL?s?ϟ?>??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:12dda4402e03538920e314403614828f','?y???????%[?)?׹???I?3k???DɌ)QMR>F??N????۷???$PU\0\n?BP\0?ޓ?ϟ?ӛN??0??N?ެ?c?w??8?\Z$??/?q?:??Wuo??\r??5?????g????]^im??ׯ??[?S?????>>u???K?4n???>?\Za\'???-5԰?!?;?*?i????gd??<H\'a???_???? ?撘?z2?#???g??$tr?_?3?\r	??q???????K??(???)?,??`\Zz???d?)????ɸF????????]\n0_??V?0?.?^???Nx;????\Z;[? ?\Z\rY?\"????:?U!??\'???????Ⲙ??<????ҟ?7?7?t????$??Mz???U??\'???݃??5???I@!K6??9Т???GsDE_?\0?]|wA?h??i???0??9E?f???Z??(??Q2\\??I):%?|?g?????:Of(?$?\'??==.???	?NǑ,?0?H|H3@??m4\n	 ??k`g~???(o:}(j??M???~? t?6??Q?e???^?6?t??$? ?;??(ߧ????<??Z?%f??ٴ? \r???z???????*|??0ϢAnT??????Tv\'??M#Yx1q?.?e?en/?r??4@y?F??˚??=???By\"=?Dc??`m3??f?M?:?&?8|??r?j????6q~B(^4?`???x??q:?ɯ?\Z\0??-W?i4T???c!\rf??zy??K???5k?2j܌!$?]?2???i??&??????G???bAA3FM?>HFw/sP?R??,??`2$Y??@G|??????0???3?a?\"oJ}X]gR??hfl!?&?U?????~Ojq??)??\nN??\nh???At??٠׀?????{Է?,Z^?\"??[U?l?%\0??e)N+{1U\'_????@+??J??%)<[?[??? ?o??7??ZhA?WJ?Fa???L??/???O̯?E??7??gӻ?٠m? Oˠ??V???jd?.?dX?ه?8&j?$??i2&[3}?ҩ? ?4Q?\?IxE(i8M???Xl ???v??$?ʐB\0%??s??Q??????=??m?z@??Vl4?????aE??\Z-?5?i???\"hX??h??9??y?;E\ZY?%h??????????\0??o(??6;Zn^/??Ӓ???????]????lđ?iOs?oan??-?N?h???5얖S??4??? ?f?TK??B??<?9???????|???T\Z??4?l?jCl?_????@HF?Oi8Q\'5f?l?E??s?\'Aʀ??x\Z*\0??\?,M???r?C?\Z??+?Ò??\?g?\"?????c??b?/???k?D??@?????\r:-??!;??aXM?t23? ??x?????f`?j?\"??e?0????'???Z????*??^??e?Rcb???????F?nm??W??#?\\y\ZO??O??????Gi?^M??W??17??_?????L??q???1???S?~??ӿ,YM?QL??zg\'Gs?N??q????}?m?â????`?-c* ??M?ծL^?4??:?SJ???2???"?e???m???2???????L??e??V.??Q`???1?????r???M]??????g?]???,?UCV?ecj?K???t????r?r=o\Z?????{? ???????\\?\Z???`?d?7?? Z?????&C=???Ն???]?w?Z??(???7W??\'?4̒E:y??S??4?E?0?OzO???0>~?8=??Ϟ<?ߏ?k???ulm???H?<\rҺW?e??\0?????6;?&???}\r?sx??p?*w<?:`??????/Y[??[??? ?=??.g?6Yy?c?H?TT??˭?H?????M??X?=\"?hOO@?!l\'\Z_????7?v?d?_:?[W??`?S?????\02g-,Uc?9&???b??????T????6?q??\n?$)??\'?????0???o??de?x???I?,?(V!!E??No@?<?]?K???~Az?????A֌@???-???@?:=\n????"d?KC?\"?6H?ٰFU?j???p?!?R???8??MT?????N?NS?h?/?/??V ?+Ɨ?S7?Z򤹋???w?f ;G???7???UeJi?|?4c??\n$?Y?NkO?ԟ??\0?w?\n	?H\Z$)????%Pp????,q6B%????C??\n4~?k??Z?B\"T淛+?$9?f=F???@???GK??g?\Z?(pY?Y???\'?08?a0\Z>????????8<<?????n>?I??pV???,??󞂁YUM?Ñ?୓\'2?D????e?}??<??	-?? ????'l$\'b!?^W<?A??2??1r?H*̆?<??3-Y?????r?W??G????g?g??ī????/?$Sa??a,I???;?d?@g?TH\Zᚽ,?????????@?#???J?_??=~k????I1פ???Cp$??U???_+*V)&`gy????M??A???"?O܆%3E$???:[y6y;*??M?4:7B?B\"?V?07??????1?A?q?(?$s~!&k?ӏ=?}eF։,???j?8?T_??????ɜ????[`?8J3???r??\"??+֖s?v?Kq?C????[?=M??g?*??????h??mǢh???X???le???My*??{?;{??%Y[WR?z}??P҃?I???\Z???B9?t???7p?j:8X?+???0\r?GfML?cp???\"?}aG??B?|?e?d?*چV?A\ZOȆ?d???	??A?H???Ku?F?A???H???2??J(?~?9???4>???-????1?9è?4????RC??Z\Z#W?ά?6`??tp?dJ?f؊a?Z\"??dJ????;;?M0#I?]c???????A;c\Z????\"%W????&t?f???????ܒ<@?UY?*???N?????;h???C0tA???\r:?7??ӛ	?2ѧ?FxG???D?(??4?!_3O_?؇??$??#??M8?~???H??ӏ???S%y??n???x???\\g??拈0?-D?屙??DZJ{?rg?f?E?ߥ?Y??	أ? ?I??|??D?l??R/Ȁ^??????O?^??PW??eѾA??????	r ??????j0?[?L?U*&???q?2?\'?0?\'\Zb?9?rr䧤??;?????ݣA??c@}֓C+O?8??a?Z????????~??`?$\Zt\\eT?_b\0XH<?TEM?v?Ѧ|K? &?>??ź??ma?&??ش7X??F???4?ͤp????? 7QOG????s3?LB40??\0???$\0\rk??`:*V??ȣ??R??G??\\OtlOW??̥??N%?3H;y<?e?_????`O/??B?????\'?,?3q7ߡ?????+?yܹK?O????K???o?I??;?Ѯ??(d,Ó?	nkMo??ީM?8*ϭ:?+?\'D????v?????C\n??H	??0????i\'֭t??\ZU??no???ky??:?????<??-<???6???<??bJ-???t%,?h?(<A|L\'|?&?q?(D??|(@??tK??]?a?p??8E@m?VE>?\?Zy?\Z\Z?(??'????ă}!???)??m>i0?c@:?U-??k?GꩧĊ?~?(?(?9I?\Z v*<?*??&???9??b\Z?%u?v??????W\\f?k??asF?y\n??????e?d????X*?\nv????OY?K?? ??@Ȏ(?Wj?d-p??????抨???0??\\.???>??3??o?Aټ?????ġ?? ??!?z?s=??>??ȼ???y?A???hJ?C????+l^??[cۢ?g????(?I??^+rX?????%???YXI?<??=??YD?lӌ#?+??#???d?ev??3??-G@l??\'?~?????+?ǰm$?HX@f???Z??Eg?N,???> ???_?r	k?S??\n??????M?f\"z?l\"???, dM??,??lqp0???1!?:G-?e?Jr6-݊WI???bo?d[?씥iD{\\[??qmLNVA?e? \0gH8?.?6?	??p?`????Agcp????ݶGg ju??~?t???UH? ?/??[??ޱ?आi?DqP\\?i?1??6	???Y??>(???H??t??P$$zc5?Pr??s?@?bdQ?V?Ud?٩?+??E???&?p??\\:N}??????W+??f\n?U?????!???,~????Z?G4???M??\"???쒳OM?v?\\[??a????q??zXz\\?ֈ?????%??@a??2 ?H??~??/??"?x?(d:?O?iv???S;?:?????PE\0d?|!o?????ʉY?????cg\"??nU0A?>?oQo??`祄V?????!?*?HC???q?%???hnYВ???:|?}Z??qFxi?!?H?!k?P\'??<|?d???.?G0?t?y????z????????????????O~????Cp:\'?ї?x:K??Y???????%^\n???!???q?\0\0=?8?N??,Y.???Q˧}Bꥭ??[?w$T?U?l?J??,???EV????	?nm???	̚?ߏ??ק3?ĭ?<.D??\0???Ո??je???%?bvc???[:??dZ?dݧid̄?͎J?????U?Z%???FT???ڽ?ԋ??>~???!K??bx\Z?fW᝷-????(????p??l?;~D<??Á??Ks?%_4??)\\L??}CTT]?$?5???/y9???a??????b?{E??3i????=?ʒd???Ì?BQ!?$j&L!	?E?<???????NQ?we?(I??ir㼟]&???/܁?p?6@?@????sx?\0f?4??ڶ/TfI0-??~zuΣ՞o+@?՘$b??{??ZY?f??@?\nF??R??y?Z??????VTN\n?3???߷??NK??????$?F?\Z??t?Hw\r?????h????v_??gW\nA?\Z?/????P???FV?\ZX??s3????0??^?޴u???.W:????ZG1?=??H`?/^x2??d\n???!?cZ3?Kx?1?~J	?kk?ٰ?U??!?h???RRH??????9???\rmhS??&?q\'???,T#?\Z?p?,?X._>=|vO[?\"T?.}????Ǔ.?????p??h\'?p?7??F??5*+F?_????,׏???q؉?\r?E8]Ch  U??:e`?LIѐ?n7?0?)C?<??ky?@?Cg???_)??1gX????}?ݱ????C?T)?61???b?L????,?e?\\??<???V:?Zru]Y?x??T???܅X!Q?nS???j??u??[q????ۦ???\nק?օ=?B???7?d???Z?Z???n4*??4?/???2:???}o??59?+??V?N<6??ҾKQގ?]l?Jh??P? ????=>ƴ??v??u??~C?%G???/4]g????????:?Z??-??j?E?ւ??-hM?wV+?,uHۀ?]rC?`????\'????$Z1???c9????N?@v?9]܉!A?L\0	5??E!8HBh????Y???|E?qh????:f??8H???Xt35$?>X?Jq<1Njz??????(?e???E,?b??8[?3\rOt?@/?B???괎3??*?2?AG?Ռa?@?,?_???H?R?????#l???u??Ÿ?Reu??5?OE?b???C?k??fZ??@?????#?U??n??`r>????????????????????0\0Wl$O?4$6?L??i?1U^?\Z?7???6Tl?U?????SmaIs????????y?A?r2x@?~:.Ʃy???Ӟe??\0?|?_g??@?ɆR???x?\n?>?5??-?ajcz?????Nb?sQ??}`B?~?oތ???l@??Kn?/AԉRJ?LG??n?\"?Xԍ?I??܅??Җ??t\\R?I?4?uZ[L?}?y?p?f??˞#?]??#?c????=^-???p/??۟ArK????T{=?]{?W???9Ŭ????hi????$e?^-????*\"?NRP&FA\n?4???,????cV?H??Jc?ю?????>f,B?????0?,?%:xx?8`i(\"??Sk|?|ү9e??????V/U??/b_Ar?6?B??k??t-?R?I+??"?.??:Z?D	h?K_*?6T??`߳P_??\n՚n??su???t?^Fz2>@???\'/??NH?? ?PM??E??F?D##a????e???ރA?;?S??-??Y#??FC\r??Y??\n?ѐO??h(?>?mu?@=4?نS/???2?2@¡???$???ӣ?$??]??????SE~\ZJRF}?{J??h?????????????y???=?&??+??\r??B\Z?-??K?`-?h?\\e);?Qn??a???????<{???4?yt??:?iҔWX????`??,??}??ho??i?1????[?N??4w:>}|xx?y???σ???????????k?Z?g????'???4@սO>??\"?.R?)lk???a???:??6D?It	f6?z\0W???=?WE?Ml?S?qТ\\=?ţ??\'ǣx?	p?Nr?n???שG\\?}????}x?:?????\\????R???ǋW?8y??S?}z?:??\'????K??|pD???I?yC??&I|t?????[?k?O?u؎h?K?ע6#?]w?????l?G?????2??W?괋??????[N~z+?????wA{|??O?qP????څ?U5?6???r??{????t7?????T?w?????o?RI??{???9?G???yQ???q.\'????8??a?(,&S??Y????cf?/z???/c?؀???b??k?8?k?V?^ݽc???{o\\??ӕ???|?X+?XU?\"\Z??D?7?d???????^??zV????Nhk^???????xZ??BQ??ڌY1#o@6?Z.o??NG??<?L????????4?Qf>??!~?]?(8??|?ԓ???p?a?d?/?%Cqx????.????G?Y?ט??79??N??J.??e?pA?4?(?Ȼ?fĥE\Z?18????f?L?ô??ia?5?햳Okڝ?%?Ofa0??????sy???a???#?t.?E>?j)~f?b?D?Q?I?????a\Z???}_?I	3Oϫ?@y?M???f??NtЈ-?ф?W?}??RY???AI4??8?;	`???#\\qlE????X???%\"??`??o?u?0??i1?;??$?ir??͋?0?kyR30??\Z??Ԃ\Z???&K?P?Qx??~??Q???کO:??{?0E??#=?<?05?E?R?????*$??Ɠ:?\n*1??%??훛?6???\Zܫ??\r&ӀNc/C?.???m,6Mb??%m?K(Ɍ???????[?G???D??W\ZCЃ?Z?A=??u?/\'???\"ϗ??=?7?BAa???)T-%6oK+\Z|Ǻ^Gܫ&?b??????6?xp i???\'W#Exy+?)%D?Ţe]?am??o?Um+˘?f	?Fq??L???`T???G???@b????L?K??~U?	?^?ӄA	J????l?vD4qF?q???Mp3??(;R?V1`+um?????-Y??ێV????,Y|DyVi???,??&A???<A?O~Jn?i?Qv1	?W??O???MI#C??pEb2???5s?:???sP?7??_L???x???2?R?rxW)?\Zm]P ????*?\n\\ƳQ????bݎ???????#?2???%FP??>cd\\@??Eꌂ???-1?\\????????ꭊ\0??1??F??}v?z???4????Gg??7?????-????`?nw&䖰(???_??b\\R)?S?D??if??O9?e?V/?U!??kG??*R*t???3?q???ߧ\'??:?O?\r?km??W???g?ZeT??S??^O?Q?>+??4???\Z???Ї?xୁm?*2?Ⳋ4~??^;?u????x???e?ÏIr?/t ??????)!0??$?F=5?\\???]??4???/8?a??w\nmS1?Ox}F?|I8??o?Z?p?GGB?X!??;2,?0}?9\rn\ZC??#????Y??Qm????6#h?qn?+X??kl?O!???,_`?'NK????y^?\nt)???????~?*D??6??ې??fYC????\\?b?>?#??\\\n???r1_?)??z????Ŋ??n?\0?????߄????:?ƐY?o40???Y2\0%&nV??WȨ?FQ?H~!?w??a??rc?Z??&(f???????????ڻw?)\\?pn&??;<b??,???4r?sQ\'O???Z?uv???40?C??????0?f!_?GW\\?Cs???0͊06?\r?y??B?R??	?y???v?H?????w?F?_\Z?\Z\0Y??ww????E8H??&\rI?b8[?j1????rӛ??(??<?F?J?GU???	?ZU????;u?>???\\*???v??-????H???7???\"l]U]Zn????Vz#???J;??@*?^lǊ?p^nǙqCJm_\r?ͧvH?Ks??ǻ?W?w6 Znh?.???7\Z??{?F뫎gH7?j??nw?2?CW?S?_??7???6??{???2?!2K??????::???h\n?\'\n???????	U߸?jc??????~f?m?B(\0y???FE&#~)`?p??k??v???\nZ?2d??ܬmD#S,?Ðw?????=?X?????Bֶ?yl?_xL?>I???\"dE??"???,Kw(@????!?biƦ?M????7?d???-T+??#E?Պh(?A@?.??e??2?E?F??B??r-???,C?:IF?a??k??\n=?U???v???j????????wX7?s?x?G?<?Aݯ?\'t??F?\r2?????Y???????`Ӈj$?5L???1?a??(?>hxm??a~_ ?\rJ??????Yd(?n{A^h\raI?}\"?.q`@????????vUø\"P.??T????2>GC?r?$?->????0d)(?b/?6?%??i8??cKE$??y?\d楘???2?yjG5????\Z?.~?????n_Z????4????!!?w\'\0?̍?%?)X?Gw???,??6@O???0(s??m??????C?,r?28????Y??{?\'.?ΚL??6A?n2???*#??~??%??]???|z??Ŵ?L@?H+??????888Ea5?Z?????ߑ?uV?&n???-p???L?Pg`????0?h????)|????\0??0e?txRs?9x?n????(???????????-?ƸcU??xC?Y:????/?V?O?w?u??W+Kz?z??\'?{?_0??H\\^͓)\n?\'EBݯT^?ԥP?V?/΄?K?le`M\0C\\?鋪??H\0hQm_6?&䗄Ӟ???f\"?\n|??????qԘ???x??\'??????w*Ԉ?(?i??K2????$???BP???s???L????D+ت?@???G4u????|QȖ#?R??>?<?QD?j?]????ȫ??ڍ+?????HV?P??A,0HS>??\??????Jĵ\'????Q?.???r ˍ?(?"M1?\2??s??8}ֺ͟l?V?	?`??,???.]8-Xϱ?????0???0zV?K???%?o@?~9??x?WһzW/67?%???!W缻.??&H?Y&/37??_7???K??Œ??(?;I?$rFG<??qTf%??[8?K!?HDї1(??bh???X%\r????\\W?0??????RK!_4??????м??J??K?!?%6iܰ?Ru>?[??E?E???F?@??X?W:Q1eP?}M]U??;???????R?-uחc}u?j? I??y*?K?Q?&\'1?qײ#?<??탡???C??j???V.-?F?8Y?Zt?Ŝ?R\\rπ??"???1????.A?\'?t@\0l\Z;?B?QE???y?8?T^?}sOy?L????B?}	5?ƎB	???"???Pw?b\\??\r?6??N?;??\nZ^??-??????q/????\n??????QSl?곘U????V????RIh?Dg!??\'?9W\'c{?n:?έ@2??????σ?)?ߥ!?F??7?m*߱iF<{˟??Hl:??\nU2\Z?qrh???d???9٫????]p?#????_?jk?F??m1????̦M??V0?d????\\?9?5*x?;,????n-??-??|????q??W???]?i	?<???????N????tQ??\Z????~?[??C^⻎?|?*|?S?????%q?X?n?g??jm?\\Aˀm?K?e(tM?y???:֢???BjSXo???ILx??T?sS?e?\r??I?dܑW??\'?j?H?!?????Y4????????\'OÃ????|܅???O~8?a\\{??S?o','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:136481d3e5b25a7f711a49b5e58cc216','?Z?R??{y\n??[Àg?sS[@?Wa?[H??il??-?$?I???Gȋ]K??Xc?m??V???%?Á????8eq?$Q<?ė?%??H???	??d????z?$	???W??l?e8???>E\\ු!i%RJd1??????'?eƓ?Q??????)фD\\?O?R??ϒ?D?Oסv??r5d?*?????D????Db?????????i??8	>\'??`]\n?e?\r?w????N*??L`n?????n???\'a,Us??N&(?_C%{?O\"CBq???6?H\"????\0b??c-A┶1??#3Xä?\0?,J?fml`?$?Am?J??V?????.?o?)Fv}?L?3JI*Hc?\n̘Dc\n????1VF????$?k5?I?-t??1?Flv5&?<????@S????\"?f\n??Z???Z?2?^?$h՜J\n?!??G??9N?ϵ??U?SyK0m@mԪ??6??????\r???\'????Nج\r?R?1???U`???p???(yl]?=?????2tzədr?????%?P?,???z^랭??ht?N??R??`\\??O^a???׺?%??V??.???S6%ء?Y5 fp?R[I??B?d?My????(B??T@S??p???ƨc?B{?y|.{3#Q#??O????| X???G??c?Naa????Q&???????鎖?!B??`1;????a?m????b???WA??mÖ?0?r???/??Q?QK?e?%y???,R???BH??B?\n???{b![?>??"?|jiFZ?Z?EK@??J??V?%???????,?????Eo??H??l?-?m?ST??+ә\nq?H1?<+[\Z?.+????t?r??F`?gKmW?yG5?Y??%U]?q??4ݒa5?ڪ	?3JF?{???~?Qb??`cɚ???k?6???%j1??t=?Q?\^n?>!x?ʧ?>?ph?4!j?Y?L??]t??????x?bb?\'??`?rC?t??Qi,]?R粕??$0?z?AVo?#jb3Ȕm??nx???{??8?a?q???;U?̅9?}ek+w???٪K?nGȟW,?j?R??M7a?!C?Yr????0u??b??oɬU?F\'??2Ϡ??r8???,!$??o??# X?~???xŒ_2?ʜj?s6?_M!U??\n???ӟv?Q?;???i?D?2_g<g[M???U??9?????\0X|?r?>?ȱ\Z??@?zϩ>m}F??c)?[?v?>??(?a??p?V??"??1/??˲?$UBS?0?ԩl???A?s????1I*??XW8?=?c.?O?s?)?JS?I????????N?;h?[tը????Z?@}@?FP?????<?mo{ͳ\0??eY??Xy???a? z|W????n?L_j7;???v݃?<K??_?;??bX6?Ɖ????!ʨ|?[m??n??`:?A?3Q?	?~C<?#??~ш?FsU??b~??E?XH?%N%??g???)%l?h\r????B\\???$F#?????rs??\r3??\'E\\}Ž֩	(?oO`???w?|C??(??"?????s???Iк?>Iu4???%?R?bՃ???[.T????j}C??	?j?j???=?Q???T`k??E???S$??U???]???\"9(ku?.-??c?????5B?u|???jJ??h?XT?@j>?`?????{??*??R?B????????\n5{[.????lc1??j?a??(?B?`???+????=0?\???\\?*i??Tj5?????J??sAx????u\0??????֝h?qYx?T?Z֔X??(}(\'n???\"??e?q}????D)>/??z\n????/?V?\n?8%B???Y?~????ѣ*????????+???!x?kq?h??&*\"????H?????$?h \"L|4yP{?:EɯL?.?xǫrVW:\0?`???????&8??S?eY?Q??(?	?P<1/\'??sU<?ȟ<(T??a?P??x?4s%????$7?U?n^?X@??0\0??5Ǩ????,?̚Z?>F5?,X??N???@??68??3?M??~?l?TTU?	|??K2?Ugs?e??	7?O?667??b8?uPo8???o???o?0?'?\ru?;??8=R???\n??C???w????:\Z??QJ???E?????u????}??J?CDU???k?????\\????x?)K)????&v????$$?o?ov???ި???u????~?_?q{???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:21abd0848c0104ae8aee849116bdbe3f','?{??????ň?%??????$???g?l???(?1%?Iʏ?????'I?????c?*\0?B?\0\nY?????gם8	?ډf?8??????2Lo;??pt9Ln?\\D??m?.?d9?2o???י?0|??7???\n?\"\r??nH?????W~e??!?.!tWѤib???????kx?@?P?? ??\"??E?xcỞ?v???????#^???<O?+bB8???H8t???kw??? ?????2?GkHh~?7?w0X{+??;?oIr?v_1??;e??????,0%#>緋0??c???I4???+拿ww??\00?.?^???Nx??????\Z;[~ ?\Z\rY?\"????a?:ww??N??r??K?F?b6??????BH^׾?Mw?ߝ,̏?Yؤ???p[?>>x??y??v?.tkg!?,?B?l?@s?EՇ\n? ??~\Z%:????\Z\'? ?+?<?4?c r?B????,????h??&?脤?/???q????E2Ga$p=??q??<?M`t:?dV?)?J????Pl?QH\0u\\;?\0?lGy?@Q?$m\"h???Љ?4?D??I??ze??\'љ?????Ì;??7%P?O???y4?K?Q?i??a\Z???z-T?AR?f?e?6???E?ܨ̽ٵ??7ܕ?*??.?F???]?\Z?^~?^i????A?5??{???8??z??????0\n??C????u.??L?q??Y??g?(?m,??P?h??<?!\Z??k???_?5\00[????Y?\Z?׷??!?F\"?j?-dԸ#,HL7???d??\r?\rM??o??4A??u$H?AĂ?f???|??o_研??[؝y??dH?0????n\'˓E3Oaj????˼)?\r`u?I?R????蚠kU?Ǝ{wWJN??G?? ?_?	0?@-???0???B7??qpU6?c?????E?T?vt?*_?-6?`V^??,?e/??ѹF[heZ???????$?g?ak>?<J??1?r??Z??ҿQ?????I??aV?????~?=???2????A??ˠ??V???jd?.?dX?9??pLԨ?Iس??L?f4?S?AVi????8?P??\\????n@$m?_I?!?(\0\nJ.J9h??ɣ??\0˙?=d?Az???????????Zl\Z?M.dok?0???mdH?gh;??a=Z?]??f?g?4?HoJ?\rW[??????`?)??r?	ܟ??Rd???2مyni檾?ʚ?5????h?'????Z?v?M??????ͮ??V??\nU4J0dO???P?HÉ_T?j?x]?4:??\0????^)H???6???Nj̇?p????3N??!i-?4T\0H???Y?@iA?w?j????<?????q????#??9?4ay )6?⸾?Y?!???_$2Nhl??uj?14???򎧓?9??0?6?'?>?r?!jf??H!,??qe?c???H?VVU??k??,??\ZKwE/lV?н?5jWh??K{UOm=ak)O??Y?sr?6?c??\Z?W??\0?E??̍v??1?Ѯ?Ǧ?i??G?1?<`Al9???.?/KC??&????????<?!7?(??????\"WAl?{????|_????\r???1??s?+?Hj?ڪc??j6?L%???{??;?s,S?~??V?+y?aQ`???1????????M]????????4+=TY*???2??K?<oJ?0[?z?G?ߢˈ?????j?YM??i4??5\'[??<\\o\0?A???,og?-L?z:???????X?o??,L?Q??S?/ۓ???4̒e:\n???S?ßY4?&???????<?v??<}t??????????x?t^???h??$? ?{u[???0?l\0??̲`\Z?In??????W?????????????\r?2p?r??9???r????F?JEE??<z??M???,?#l???bc?????zRa;??\n??<??C%????ݺ?0?L+F??r??\0??9ka?\Z???????E?Ϭ$ť?%????sWUX?I??:Pg8???????S\\\"++G????????bR???\'T?x?biQt?Hos?U?0Ț???vf?k?#?N??\\\nL??2?ݥ!mH??X??d	5?P?ku????WQf\'?-??\r*?@?\\t*{\'??\0??z4w?W????V ?;??S7?????????f /?$O+??@em?ʔ????i???HF?/?՞?e?\0?~??:?4LR???-K????4?K,q>F%???G???`?\n4^???]\\?S!????h?ft???!? ?y{t??M??Z?(X????qN|1??G/{?g??d<y?|<\ZM?φO?{???&??i?\'x?U??H??.??00???~??p?}????Qk???־G??-?? ??????N?N?B4?^w<?A??\r2?1r{H*??\"???Z?;?͓?պ?u?Nۿ흞?????S?~z?׫#?(?>?	?O?cIrw7?s??3O?1ta?C???x?rC?Q??z???v?O?+??o??总;????]\\$*&NV$?\?J2?\Z?`!?B??R\r?J?P?J?0;?%3Gi\Zm?7????cX2SD??ݮ??ժ?o{??????Dg??UH?]t?\Z????X?Z?kX ?E?U?9??5w???}cz։,????8?T_????[?ɂ???v??~?f??C??9:A?3?W?-纫???0He??V?0{?i?U??=I?\"j?t\r??E???-????*?^??L+?w?n?J????h???????/?r??@??r??j??_?$?i?`a?Vׄ???YX?2kB``????\Z.???4_,??@VK???mh%????,????k?0??i3t??H0h???6U&???6F?%>ï?\0??????'S?D?\"?%uxL;H?7????\n?x???c??&ȕ<?5k?\r???n:x~?%Gsl?@-ތB2??G??;;?C0#I?]c??x?????@;c????\"%w????\'t?f?????u??????y?C???2?nO㱙?q^??t?"`Ԩ?圓????͂??'\ZbC.?rZ???OO:?O???A?t?????<I?Z?G,cE?[N??n????E#?D???.?UA??\0?0UQS#??r䊍?Q0@L??|7?uY???4M??Y???	?aݧ?+?3)<!#???<5?L?)???s=?k&??a?????ed??hX?(?	p??N?wPJ?%???????{;?????#^?q?t?G??f?x?`OH/?2a? ?????`???}?n♧C%?sݻ?]????2;E?????X?Y??6\r5+????q?"d,Cw???g?????@?m??	a??????Pj??5?	??y(t??@`???g徴??{ݻ??t??f??w?C????j?xYxn?\"???o??Kg?S?(???X)@W?_??????D??t??⻍8=?SJ>??z??s??ї??wg???VE???\n??\0e	m?*|?????\"S~R?iL?B?ۊΓ?s?3?,??Yׂܹ?v?~??\\?Hj??bR????\\???n????W??)??K????Fyx??????????asF?y\n?????1??????5rX*?\nn??.?OY??E? ?c?@Ȏ(?_j????????QU?sET_j<??j??ilM]_Fi???m??I\n?l^N????ء?? ??N0z\0s=?????̼?0??i?A???hF?C?????S?&?[cۢ?g(-??? I??^+rX???p8$???YXI??6\r?AE?y	wP?Q+۴??????r|?????K\Z???FJ??\0۪?b????4ޏ1,?Vh?a+?H?i?02?]?????W\\Qԉ?~?WXj??zҾ??r°v?2?y?0`\n?:\Z???Vn???Pó?0g?	y k???G??w?S??`B??-?e?r6-݊7I??{#%ۘ????bOj??ݵ ????¹*???,??	???*=\rj?z?w8?<??<??Q?޷W3M>̵)+??+??????F?Rgl?I\\??S?r?Ď?0??i??WVL???1?\rW,??????AP?P-?F-GA㩖?np	\ZM=?k`?W?ˆ?N<?P????Z?Y?ہ???ㅣ???m\Z?Q???? qtk?DU?$Ɂ???dW??xH	#?!ng?=?\r????????zH?Yf!????`???ݟ?@?Qp??񗟏>:z>? ???/????;??\Z\r?(NWa??a?6	??fԹ\Z\Z|?x9\'W?"??z?>Bd?xo?FJ??2??z??o?Td?\ZL?Vf???v?t??\\<\n1إ?ww??)?????	w??G*??\r 0?h????fٯD?-??g??@??V)???Z??8_μ?=S????̛9od???e@d?ȭ|???M]?bV???*\n?-??3}????0?N;???h?.T\0?*?P???[XK91+3????L?A_?\n&(?/X??=B#??npڎ?=4??E>?i(#?K?o?x??5?#@??ᒨ??=M??3	?\@a???Zz?;???????Ƃn4?Ü~w{O?>{?݋?Go??????_?????}?????????;?`^?^D_/?<Y??f????K.?$?B?$?I?\0\0?L??5?X?<ID?	:zBꥭ??[?Q*β*?l??M??<???eVy??	?n\r?\"L??\0?0?[ :cOĩ??\r^+^z???hz??????8x@y???Ã%?s\\???!?e??R{????E?K?*?`?m?d3#*r!??\n?o#?VS?<f?Ԑ%n?9?\r??????2<?E??\0ő?I?@yqT ???U^fG?sh??M??t???*В(???#?(?3y9??J???JP?}??R9VM?g?n??EY?J?Ѡo???*?D̈́)$!݁h?8?t??ў?????㹣?%?>p?1M??s?h??`Q??N??0D?	??n$:h??6????0????*?\"??_H??<??jϷ a?d?1t????,?f???@?r?g?R??y?Z?r????ۋ?????F>?m?r???????8?W?x??\r?Z?ccp:M???Nct<???4E???0???-??fX?D??@B3C=`?cn?kX???3?3?&??E?bvw??v?4?嶿#T,?&QL:*???H`?/>x2???4?$i7N????????f?????\n?F0?q?JI!?m4@?#???ihC??8o? ?0???????\ZY0	?H????????????????<ލ?ι???!.?9?\Z?枙?Ț$7Fe?}d????<2?%?o??q?\\?\"2{#i??k?Y????{6??`J?F????????!?+???#\0	???H>??w??q?H~?Q?h(?*eצ%?M?1?)?"??E???ܷ?w???΃???\\]???-??q?\">d?x!VH?+????5X8??[q????????\n?????[???y|?<????\Z??\n\ZA?M?Q??z?#??ߙi?MN|a%????|̉Gf?R??/ܱd?-2?͖*???.?7K?˓#L?i?m_?,?U6?[Z(?????????>]Rwwێ?T5ā?Z??oq-ZМ吥I????!T0:/}?b???fHE?ӡ+????7!????^܉}???P?:	?`H??,?CBCfb????G?\"??C+4T?{s{??????б̢??!????Z\Z?????>XIe?1???k?\\?j??5?x?8d???8?\0???\"?K?t????$ɲ????\0??M?\n?/?\rws???,???x?T????????=??W6G?.?\\9?n??o?>?w??J?,?&?A˃????o\'?=:{|?<sZ{yE????\'?5\0?^3?\ra\r??X&??јuv?\r???X\n*???K?j??[X?-?k??N??IF?{?P???@??t\\t????e?4\0????Eg??@?ɆR???xc]?????\rSs??\'????-D??!?q01`??????l@E,??ӗ ?*????B?Ҋ??bS7Z\"?\nӏ?ٍF?-??"???%9[??im1???ggu??yX\Z?y?4v?\"??I\n`?a??N?px??nω½?J??r?[?Д?:????[TZ????o????5B?òq\"o??`\nSmv?F?+,(???4}??<??????o??EN??0??}1Y?O?r?y?(p?X?x?`i(?S?k<?<Ԝ2Ey/?x&zC?*?/??G?4????|#??el?r]?ԂT`?~???K??Y?4D??J?\r???,?j?B??[??,?\]P????x?#=???P0?\"?-K?"?E??\\?&Q???cQ??	z5?n????#gиh?N??DF??t??,??Co?J????Bh4??4}z?????\Z?cQ/????1?2@¡?ț?$????SQA?.?X?:zͩܠ\r%)]?iyJ??h?a?]?/]???rsoϕ??M???}t??07\ZFG????\r??-??k?`m?h??)/ƍ???<(??Y]?N<{???4?y?ഺ?iҔA?r??e`)_	Q?f????t????Y?>???U]??+i?2z????\0{???G??r??_\Z??i{????Vw??{\0?>yz?/??@T???g??v??Ma[?M???sz?k9t( rM??K0?y????1\0?$5??m0NE?ŭ?r?x-e>_==\Z?aua???x??I??b@??????\\?}????}pvw?8;<=??_?????o???????0???yz??<????????k?8??{??I⣻z?6???؊?X?\"??D??????????`???M????+Q?\n?Y\\?2??'Xu?FU?????>???(k?z??\'g???5?߭]?uW\r?\r??_S??????:?U?q???????G?ϟ?RI??????9?ǘ??ySO???\\N??ŅIqG)Ü?8\\N?8??????a?????;ve??8!???????b??0F\rd1?????V3?o???I4???77?$n?a???#?\rEt?7l脞?-f?????ښ?@65????{?.??????P???6}V???M????6??0?Ѽ??O??,$M}??/R3?_?.\nΧ?t??????h?&Y2?h?E???G?6?M??O?Z????{}q#;Ƶ??\"??r@??ӓ@`?f?y%$??9qi?F|F??????z?%L?´??ia?6?햳O{ڝ??_f?y????a???!??X?????k?L????u?\'p??P?C9??NLB?yrVM?????f??NtP?-?фԯo??Ư3??n???h:G?z??l???0ݣ??|??Nc??G=?t?W??/?B?4???Z?=Y???k?\l^d?\\˓????mok?Rj0v??\\??U\'TO?9???+F\"??\Z?O?L?{?0E??#=???05?E?R?????$q??k?\n*1??%?7??6?P?ht????4????4???? 深??~???k.?$s???|?·=Yn?oʅ??S?]i8\nA?kM???kut?~?¥y?Xm葽?\Z\n=dpе?ؼ)m45??GDb?K ???ZF???]IZ?????Z?F?0?.SJ???e?%????t????e??`? ????k\\0??5-?\\5??.t	??Dk?W??? ?_	?>M???? ????MԮ???!??a????	?\'_XeG@??*l?n??RW\0b??9??\Z??[ɒ????Yv???֟W?ȓ?|َ?h<??ZV????8?L?}???֔t?d?w$?F?I??ÜηN??;???YvA????%0U?VjPv?%?ς?m?\n???wd5dxԁ!??????9t???x?????? 䈅KHp??#???\n?12.`P?"uG?lyǖ?W.@:?????n??~?UE\0]˘?Z#O&??p;?9???,???(?ǧ?O6??????????7??L?a?/?_?>_?6E??R?g2???s???I/?q\Z???&\\*y??i???H?0?*???m?\n?x?}?????گ??M?j??ԂA????:?xk?Y?\"J????؟eQXkRV=o}?v?5???EfW<??=??Ig???w?L??s?(w?Os?~H?K}g??k???????L?`?`0?$r_?v???vb~?eę?+E}?k???N~b?x`LŻIb?H??r????O???+8|E?e{?E?Z????uc?ѣ?pd씥n?ՆZ??fM???UecK??|M???????\0,??i??3???!G?RNΫ?b????5(rC??????4\r????5?]X??+??c!?7r^x?%???s\\$?M.@L>?????.n????'\0?|?z?????~?Jޭú??????~?'?̓!(1?U?????FN?H~?DX0?????????P???%Ei?}???,R???\O?%??x??k,?????\0??<Y?nsCMl??v{|???\n?K!??c??7???|?Z??_?iV?????X???\n?JU?&?????]a- ???P???(^?????xw׎\"]??7???9\Z??7Bw???H׿+\\?f???f??????NU粃?0?????Yw?}Zw?TJ??!F???-???=H??7????l]U]?????Vz#?-?J;???C*?^mǊ?p^oǙ\n!?v???;?????v???ZV?A?x???\n?q??w7\Z??Q??o??U ??wW?^U?q?o?T?(??-?\r}??????l??B??ڎ?2?[??󉣝{???p?E??x????B8?P??6&?`?)n???M??+???M$??g?/9,bq???I)?e??!??E^!??ޡ		????y???Y???F?Y۾?籱?V?R?I?o?-?v!+ܬ?q?ֆ?#gY??\0E?S\\?n???\'B?\nҌM)??E\r?C?d???-T+??#E?Պh(?A@ԛ?gU*???a???a???\"?\\?e?\'I?,?\"s-uR?g??????ow5???????wP7B?n?0???p?k??O?x?r2q??!9?o???%,z??[???j;$?6L??\0??0U???4?6?(>ԑx?%?nz7?x?obJ???ZCC???K?;?\Z???4z?\Z??ralz?H?2????/?*??v?ρ??aE?Y\nJ?8?6??d	i,?4?Jde???o??<dn2???[?????\Z#K]??Z_/j?f0?;Џ?Ԟ0??@+??????2??X? ??ѳ?!KA??	??????\rp%??\˅??6??Jlc\ZġB9\"?chg?]2?{?\'??gM?c,?6A?1\"?0ơ????q????????.?U?i???r?V?i\0	?\r?Ӷ?(pp??????F;??Ow}G2ֹ?k?:???OڍwIa\"\'??=?Y\r??G?tM?ΒU?\'\0p揆?ѐ)??@}ap?9\Zz?\n????*??????z?????M?߂??QU????V?꼗v+??bh?;Kz?z?Ed?}?L~&$\"???B??P?????J??\r???prk????	??kY8}Q2?	\0????|??a???,?d.<o,???j :?yG??K????үb??g0?S?E?D??%[???aI???鿃?6?V?T??i?[??f?h[???h?????\n?_??쓋3?d???90(??:)??Ӹryz?*a??d?E.4\Z?\0?4???r??lpR????y]?5?7?/???0???ŜT?)&?[?`؟?fn?eǱ?????v?՛\0v]=????r)??`=?r??ّ???????Zɰ????\0\'_?)???????r\\\ny߭b??????	????d2#?Ɓ␔?f	ְX?? q?{???g??Z?=??ܬĂ?]???Z?NG??Zt?>=쪤a^==?\'???\0??̑m;??E??>?<U]???b????٧̸\'??ㆽ???A???.*\ZWU4*?\0?B??\n?xŔA????k?U??t???	????w??oF-_$)?4oEZ?h\\????h<?숷??\\???}1t#??~(G?6?{?????7?Z?N??S?[j?K?P?X$3?s??????xS?]???ͦ?EPt		?\'>?s???7ϔG?????ۗP??? ??[xt:??A?[3_8???????T????h???OF??b??X;E???*???1Ŧ?>??)_??nw???T?4?,8?Y???l?Ngљ??Vyy)d3?`t????@?Ct<????r?6?cl?????M?M?%?B?????ھx?\\2??{Ŝ?@?/?p?#???????ey#Qζo!n`}Ef?U??+?o$2???????g?\n????BK}x?/_?E??#\"^??Yk\"zhGD??4@1,??;ۜ???Z0??z	~s|????U??(?>N?!??)??f?O,?~?2|?S??\'????V??q?	?V??nZlS?M ???F?u?M9???Ԧ~dr??+?"EA?9?????	?`~??9\n???4?I ZgcS?\r?TWao???/??H???n??r?	?$x?~7	??"?H:?L/a	5j??A?3??͂h?Q$$v1????=??V?T\Z?"?\'?\"?$S?*??_?-???q??\Z?He??/J8?X???!?RE8xPҗ?p*??>???N?????K????(?FO%Sd?\'vL8?T??3d/??`Y????/?b$?ѣhV%?gL?\\u?eIq??$z?hE\\?K???<?Q7?????R?Bq_?\n??[??Ykߕ?$?!p?0п`1\ZQc??C}\n??W????mC?????z?\n??????,E?jh_	??$???!Bd?-=???#?z?\n*6??I???ŷS D?]h??o)B????Ċ???????f??????A??ykN?d??ܶ??\'????&EV?*?.?U???hPh?\r??\r???x?\\?????<??????\'[?G?p???=O??-PlWϟ?j???Y/>???S?L?e?\0??$????? ZD?|$??{F???:!;N~H??\'??0?`N??`??sA9??4????<??S?_??}???f??ab??-N?w0??!E??E?l??e?Y??:|??\Z???.0??B??X??Fx?\Z\"]??\\?hY????????1C??ǦHVk??{?????MR??h_?-Ld|*?fi?????V?ܴ???\r?ݔ?g???&0??ş????h?0?????ﺸ!???l?[??\'\0?Zڂ?T???\"?t?.??qE?u??id???zܶ4؀??v??h???O??0?)ـk??3?]E?Ew?P??`?????*H??%]Z3a?hZ8?<oK???A?;??S?)?)???Z/??1xP\'???a?+?$ϓY;??y;\r?2?;/?@\0??\"?KH??%?Em,??????&A?߃g	??^t߿?`(??,?\\\'i????????ԅ?QA?W????????Z?$??\Z%??I/ۓ???(\Zdw?????A???{?e???????????`??a??7\Z?x2z????x?t^G!?????A??ج?ti?j$??H?F?n8·u??j?T??Z??? /?J4?¨??G?????????/F??i??[O_?zχ??d???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:23703202f5701c31a5f29914d79ed806','e?͒?8??S:mg?`c?r??R?Ԁ!y%a??????????4?JOǤb?2:?/???š???@?q\0????J:	?*&??QyF@6????tP?h?????D(?\'??@?E????_?????+?ot???66?m???!???=???=?<?~??{??X?ՠB? ?1?Ԁ?\'?0?c?l?s?Z?F?3i*C\'??B?.??!-EA????!V?????????|U???Í?f?A???+UJI?$???5u=5?AH?%?P?NF7?[?7??#??J?80????J??\n??8`?????f\"Ռ??\r]??]????@?????R?;???]??W?rߜ????Tlv??????\nh?????1t??\\$?J^q?AT\'D=?<\n1n?'???[??{??0?s?\r	m??zz??>P%????Fu?(^\r?C??7)t?\nVB??????a??W???Uގ?RV5?܆d;???;rܑӎ?;rޑ4٣}?>?w?<?G???}q???;?????,E^?L`΋B?!ϱ<b?M]fY???tj5%$?xn?1?p,?2yZ???????Ј?8O?zx?!G4??l?????q??x??I???(~???ͯ?gE_?im?U?T?c+?IZo_??Ze?)ɳ$k?S??????U???????{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:256ae3ddbf2f87b3ce6ced38ac00b711','?Z?R??{y\n??[?	sS[??-????l???m??-?$?If`??Gȋ]K?X6!???d?Sw??u??ю?_\'?)?ģxf?/	K66??p#A3!?????I??Í?NO~???5???q?_S??}?H)?Ř????6?p,3????\n|?)?I?A??&$?mZ?*?}??$?$x??3?n?!??P???#\"$?WW? ;g?;??????n??fp?L???҂)?N˒?6Ry?BesD7?È?,???å??.??Jv?D???Emm?ݑDg؇u??acw=A?1??3Xä?\0?,J?G?>6?zш?>Y%J?+???O??e??#?>D&??$??~fJ?)??/?k????pɩ??Fb?r?:y??;?-.?$?Ǵk?n4%8i??Q?`??.?׶???A]s?(4??;b7?`??8x	~???????ij?V2????<????}@6?4?,O??\0???P)E>?2\ZX<]\rv+?}??????ޥ??>?l?:??2?Lq??ϒ?6?DEXX=?u??䝪ӱ??T&#??ꓰ??b}?nn	r???????\n??D	t??$\0;?+]b????=R\'?m?C??Y죭?????-?M???:??r?X?fF?FB?_???_??@&???0???g*?ǘ??Bi???j /??@x???G?t??!?????}k?m??װ??@??oӫ??B>?aKK?\rr???/????9Y<H?A???E\nb??U???? ~?????\' ????ʐ?????>???p?M!?|\ZJj??	%?\"??,????X??wxI?E?UVfKU??թ?ig:S#n?\Z)?e+#?Ű??i?N??Q?n???Զ3?;??,?ꊌk?????OhV?Q?m??K??F?E:???-$k???_0??}?!CK?8bP?=?)Q?\]n?>#x>???>?p??4!?jy????[dO+?H?1ӗ? H??0??ܶ=??\n??窕wPq??d{????2e[????[n/4??\0??\\1=N?X?.?Suɼ:~?sw?n]`?u]?`8B??Im?*{D?݄?%f?\'?????????&?^U?x??<?Ҡ?|?????f	!????F?N??@?±?\"?????p?%?z?u*???B??vpss????w$7>8?\r?~a?θζ????(!?^9???4??\0(?k?TA???\0?q????>??ל????{}?\rUMTհ??ߨ?K??Wu?i?eUO?:?9??C?5ňPɠ?1?sE???%5??F,?k?͏???ħ?͔???????\'i?????,$N?;h?[t5??w????@}@?FP?????\\?mw{-?\0??eY??Xy???a? z|S????n?_j?;???\Z??;??Qvt~??a?\'??\n?(??d/?!?Ej?A??΀?A?i\'?3?\r??)F?^?\"??FKU??b~??E?XH?%N%????n?̔6+[?囦S?%???`$0?\r{??6|\rC??q?IW_q/ujJ??\r?r?? _??\n ???$?6ه??#\"	ZW[?'?????ā?T?T??p???<?wk??*v?֪Z_??|????\Z?d`?j?U[j?5??F???S$????Xg?? \"3Er??5a???????כБ??\\#dTǗ?z?nXM?m???nH?L6b??Z????RJ/u}\Zhm???L?P??5??tw?m??ݑ?Zm4??:d,?i?j??c?Xw?,7 ??4?j???IK}???Z?????q??\0ݯ????M(?Ob??Ko??????Ъ??????5q?$?1?Q?h?P??????[?(??$VO43UX?j?@?ǠD?ҵ>?Zޯ9?5zT???Rಡ?ex???????}?0???E?Q9?\Z?q?{???!\Z??D?7??Q??z????????????????R{M?N`??Y?E????|.^\0?/??????\O%?'\n??}(_&\0?z?/?l??V??B??Rմ?K	??D???U???E[??????˸??g6gh???UB`?c??2q??yHEU?ޏ????$3\\w?W7?6??p??$ics???,?s~8W??s????u???\0??ÿ?;????*??`QTA??b???K?/,?ˉ?_?Rz??.?f&Ƙ?wF?ڹ????V?%???L???W??kk???ȟ?;?t??????\\?}??V?L.?n?????x7?p??>?q?{???o4Z?q{???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:26824a89365a40f4af7e018abc19d2da','}?]k?????nF?Ӕ]9v??? ??Ʀ??????y??Z9???M?\n?\'u??S&\Z?	?0Mcv?&Yy#B?<Mv???0%Y}7av??\r?>T??*?k֦?{Ն?N??`??{A^?4+?2\"4?n?!????????7?????H???X?lk?? ??`2?®v?????????c=?Ն\Z?ڇ?^?TH??V?~?????b??\\=.?LE???%l???2??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:285912070b3dc9e1e0cab6c5efa88e4c','?kc????\nǓ??Zv?î??fڝ?????}??+˲?F?<???>??\0???????ww\ZK$\0? ?$H僧/????????8̺???0)???av?r??z????&??w?H?\"J{???w??x??ngy??yޜpH/Y?S?𭸊?>u?%???????V?????????Z?????9L??qxg???v?????Ͽ?J?v??E??B8??.O8???5???3\\r????%$??Z??q?õ????vK?(4ۊQ??Q?7~???)9ɹ?????????N?8w?????=?X?`+?\r9T7??GY?{??p??-??KP??`????6\n3k?*eu??ӓ?%S???/¡??Z?!?$?m|?3?n??????v??'Ϟ<??^????q2?%P??*	??\0?}`?d4E?$???\\??D]h??(?8?h????$j?Lq??@??*;??Mh?i??n?????\'??&????˫?"?.+?$/?_R蝖%D?l0?!?!?0?*??%??Z???{%?n>??¶?P?????z??q?L??a????Uf6=?.dJP^?r?=??)?1??\m??qXV??I???п??n\Z4z??H?0??4??y???1wg?ܞ?0????4???l-Ex9u?/?M??^q?ޞ?4?x??'?????\n?\\?C(???8?(L4?t#????}~2??r??t:??Ld??{\Z\'?Oi?XC???I^?I?4f?Ԯ??\"?Z????eX??L?[?`f??i?wJ??????)???`A|?Q<PkiR@?\r?\\vMƷg?E???E?\Z?J#b@A5ƶ????7??u???E)\\?4s????"??C?q???/\n[?(?h:???H@=c?A7???-g??$??d҈?o?ϰ??$0@??$4?ke?\n?\02v??v??0?y?\n??N??%*\0:?$U-?[??'_??Z?#Ӑ?&v????P?-Z????<??0??????h@?Oj?Fe6X?o???K?????r?=kmfû2?A?~3-??GY??D??3?t??؊c?C??f` 1Α?Iز??t?}?iH???????t?+B?YzS-_?^\0\")h?H3??D>P?zQ???.?l6?f\Z?????%l??j??????UXwk?\\?Vi?*??OPwPA?4T?????W?4?H-JP?-Gy??????j?o??ߤ6;JoN ?YEm???}d??s?׵%V?p:PR\Z??n?Ĥ?ן??KcR?>?-]?vA3?]?-?)^*?Ȟ?9?1??q????]???M????`s ???^?V#?!?e?D??F?|x??5g),	RFd?h?3???e\0?	-\\1???ު?S:?c?^??s????`?n??i?.?<?Ǭ?{e2???1??Zm\r]v?AXO?U2ԏ-?L?IҶާ0Cn0???9h|\'??????\????[?|?;4???J?????(?6?l???s?۫uT??R]??>??H???<??I??/?I?vE6?4ho??^?\0r??1???`Ѯ|0bN?l?????Z_W??9?E??U??_?_?̻?6????9J??p?Ҍ#&@1|?ć`?:,?H??N?uLZ?e?????+?W+`u??h?\n1???*????q??v????ߠyQ?;?qW??*g?%/e?!??(l???y?1xVzѦ&??,և???????J?5?ҫ!??1???\'???t????r?r=w?#???Ķ??~7??YN?/Y4?*?r?'[??4	?@?-?/:yq?!??\'???F?Wa??4??Fi~I<?w&??^?0OY?=0Nq??(?&?? ???{/??????ٸ7	??^?O??A??y???4???/2?k?MS????\0|\0xh?#?\Z?M??P????????b??????%????w8???d??G	???r????JEC?????O????Gh;oz|a?%?a?z?wa3Qs?J???????\\Vo?t$S#?\0S?????\0T2k?Um?%&??6??(??I?0Y̑??????L_n?38a?o?G???]]?+K???kM?t1?G?\n	)???r-6u????:?i???Ʋ}Ț!P???????G ?:=r?䘬???6??4u?#mP??ZM%????F?s	A??y?v????MP^*?\"?RYt\'`n\n?4ɇ?c???ӵ1\\1?JomUcɓ??.?\'??H,??ɑ?i\r5?r?嶮L???1?m????Y?????z?H8??????<???A0??5???????I??N???E??p?6?ktk4B???@g?0????ǐ?.????????(???I???pL|9???W???5????????`2:={???\rj????Hq?8???VC~\'???*x?Ȳ?-R{\"?????}??\\??z?A??\'.??8O??????+??B\'??#p???\n??????Kp??o???/׶??=i?w~??;??p??n?|??zQ?}:???Ƃ?n???????\Z??ޡAR7l?zC? ?fs???i??;ʍ=??Z???????"Q>p2CR????/a\0?%ƿ\0K\r??B???Yn?ΰWg???ϲS\\?????۰?d?????$oF?,*GQ=?.?Pb??]tu&5p?=?.?\n&&N???$d%&??????i?{=?j<??\'Q̵}??tN????1y???????&??x!??ܲ\\g??EpE ??N*8???]?TY??\n?Q??fk???Z^=m????Z??\r?ZקrZ?%Xc?ڧ?k??F??\ZJv??!??X^\r?q_?\'????Z??S??\n?rvM????ɟ????????Q??A?{?2_Ȑ??`KĨ?oh$h?????c??Gŋ?N?Tg?%h4?ۋ???]??ƀ????OSZ[A?T??\"??m!9è?????RC????T???06??[??%G	?"?J?wAH????\\??S?c}D#iY?i?5??l?~@?A?k/?̢?Ԭ	?磦????ք??g????$?????????h?????T}?)-?Q???|}|ۼ???yOn`F?	??M\nEz*???a?????????|??[??l?r~?? ?qq????????ů?????Z?Y?,?~?W+???	{?????#B?????Cg8?\0??D???'???_??6_?,?L?/??2?*?V?L37J?p?f??7?:y?:6??ic?SD҈????R\0?*O\n!??C??F1?{g*?????i?^x?]b\0Uv???`??SrV8f????:b?-???\"???nPo{`pcYA+?)???HSJ?(?????5???ՉG??E?Ձύ_??|??R?????>??0\'$????L????1\'?=y?\"??????/^?:~{?????????????|>??/?????\n??E_??????????Z?(???G?&q\n\0?b?3?????\Z?=JP?	27k?U?Ơ?XQ<dP?A??)\'?^ۺ????????~?.??/??\r?n}??f??{;?*g??۰-?\Z?\n??وB?˫????T?ތ???Gwi?-L?qٿ??????\\?ԤT_??&,?>)S/̪D[d???T??R?????Qէ?͚j?j8Zס???m]???\n09M??Ƌ???⊇?\\?g?;???*????~gT<???b?A???????&?ƁE??VV??h?ډ??~?E??{ri???8c??ΐ׀?Y:???L?4??膋)8/?7???x????1?P??,ͺ\r??\'?\'????g?+ vD}H????????I0m??~v}?z?ϴ??A?ch?Թ|??Z[?f??@?m??+)s?????[?y?-??B?q?οǐ??6}m[??s????m??J?*6?ُ??j5??6???\??????,?(??cs\":????$*\"P?\3????j???U>?shpړ?q??m??J{ll?wv?{??w\"l?[(?rM??LT??\'0??????,????q͏?\0J?Sx?)?~6	?w??C?zY\"@??{+%??t?0q?֑Y???:?q?5??.?Y?0??f??????O??^?9<x?@e?*_?[???V?>g???????vJs??Y?4???c??ҷ~??@??QL?8???I%\\???INq?Y??)?6ө??L???C??HB???8?C\0?`QT\\p??\"??\nD??????(??VKR?)?&-?ά??\"??+r{?Y??ʋ~,B?p??%~?G??x5???$?\\?P(ε\n??6_??U????K?;f4\n???|?0???JW???ݦ?2?v??<?U??J|j[t?B???j?#?ڿ???????f??zڹ?_\Z?K|e$>a???Rڋw?Oj???Z?z???᠇4/?R???F?{L?%?1,??ԗ[?)??	?E???/?TI?V\Z?`8e?MG??Ȣy?.4c?\r?i??,?!i???????ϟ?URq??~À??aQD?lq???c0??b??aX?x?>c(????S<Հ$???:?????bETq????r??l???:?S\n?n?w??K??\\Z%\"-?&-?\r?8?q?/\r~????"????4?z\Z??.?Ä??X?M|??E\ZA?????$????ƛ??O????kۯ&??ο?Y??0????????R????AO>?7??53-}?`_`?????ԯ8\r?Q46?7??N??~;???\'g?????!?.tR???\0??yYs?0??LԗY?5???k???TX??mfa{????X???e@???????~???O???`???w9-??r?\0j???Sl??۹????x1K:??rp?ص???L/??NS<?:w?P?],	?0?G!`???5??[b???I?{J*0ѥ??s?u?y???w!?ժ??YS2?t\\R???4???\\?s???]?ʙ???M??ήXJ???)?0???u??????^???? ??e???????tF??ɸŒ,*?;??-?P?Є?[???yPHi?ͯ#??ҁ:1?3?L??N?pD????x}#?S?#/qR??Q?M????5G???g???+???e!#\'߬F???aêRa\"$2?<>???A???ei2_Ğ?d? ?,bW????F\rH	&???Z??;??W???j?p?5??g?a???n)p????!@??~?#;?G9???Q?qd?rMK??|<H>SO??E??ƼDu??|v??fG?ɖ????E۳\Z`:dFۺ??[??^P?%?????h??Ah??? z???G;?P?\r??6???N_G ?DD?if5????)??Eg??/?m????a????f?FD??3S#J?N??ڞ#b?v}???>?????\nF?2?D?\r??F?X#Q*.h?ȗq?,gX??w?)?2\re????ٱ?nI>?-?u?\"???5????A\\?X???3Dεhsgk3??$??????ULw6	?\\?t?w????n?-???????v????6]???>?????????p???K???0?e??.?QZ????-??}?%?i\r\0?>?\0{x2Iq6?r?)?wwFAZU??\<?|?yv<?B?a}??\'?}?>ᣧR?{????sp?:?\\????w????˷?}???!?^????yu??{????$????(XmE??,???D?*Lkyu????~?]j-Y^???Rv?]???㤦??UL???;L#????{I?sY??QRu??M\\?0~+????ǝ?~gr??@r?J??v?U?\r??_S?ྠZ;yD??J?ۤ2mT;???x????|3K???7??`?G????????q8?????????A;???s9G???~6T?Y??\"̋K????ְ?]??q????f???5d>????9?$*???????/??E\\DCF]?i!???aŷ?	]#?l#c?rǳ5[???~?p??@???c???J?l??V4???????r??x?1?4???????%?\nf??7?¿??~7???zz??Ndi?N?*Z\Z8?????q?N\'?"7??h0b???/VI??pG????(%2|??+r??~\'\Zs?????"?I???zB?w;?f7aֶm?:??[_?[???ݝ_?rD?Ӷ????Z[i??S??B?*??\"ۂK}???Z?????<??\nFi?3?S??N3??Q^ʻ?\"???D?m??O_??Ϋ?d????w??8?)`????.!0?sT??n\n}??E]?V??z?i?|/\Z?|?Ϳ?0{Yz???y?7???a?/?\r\ni?\r?qC?@?B?&???????O???V?U??F??û?y??8?AO??f?Ӱڤ*\r???.^5R???;xdP?$??]???????F?????ә????w?n???1?\'iG??J?P?I^??	?(6ʌd?c??`????+???a[m??9?C???¡p&@?s\Z#???(Pg????}WY	????`2???~??72???i~Z?K?y?)?Op?RAd???)?|???c?\0)?T??????q??Ljo?~Cc;/?rY?7????L?(xÓ??O%Hs?f??j?~D?G?q?0??????@??;l?q??R?a,zK??:???+?,>??\"??fY֧/???_?ŲO?*??q?H ??ap?z???f:\Z??++P?tf?$,h????W???$??p		\"?]?PEl?e???˙?:?@{Op???hCS?q?\'??#I??%?h?,>o?q1??\"??|??9+`X/!yDA?E?dW-@?z?5??`??|????1?k?<?x?<,???0??	\'Q???n??????k?[?r????????Lȭ`Q0?Wz???9??JƫC?D?Y??դW?,???^?Y??l?掬?,R*tt5?y??U[ƭC|????#?:??\Z????]uYU*0?????caX\'Z???R????؟?ذ??e???9???2??*??P?}?wX?餻?^{ϻ?&J`C/w?????鵺???kQ???.u@Oĳ`???k?ro͖.???N???O??|???3???O????????jF[F????\rV\n??Xė????yd??vC\0?4}???eɓ \Z?N)?а=f?????,`??R?	??<?ԋҲ|????Z?y????yX??ج?\\g??QV???!c???Z???5??o? ?_?+?????7\n?G??\0??\Z S8FQ#w???????XU?C|?\\?Ѳ???4m??oCf|??8??O?tF???F\"x??I??2?<?LX0??ڨ??_l&ȇ????????????)\\??n?o?{<a??L\'[-????N????!6H??=?4???3!Zo }?9r??T,χ1?C???`Ja?-n?Z?]?D1?D?.C?????7:w7????ՊCQ??|???E?\0-??/?!?uH??U??$???]??wM(?????*?????!???,@??|?:kdFW6??ۜ6?a!?????7[YM??y?0R???Z;?????z˃,[-k[?6V???ۑ~j?^oǊ??Ǚr~A??v?ͧv?w/????rV?Ϙ????P?VK?x?3jvD?g?H?}??!???3W4}?????n?8E???????_?\"????^3җ|\'??]}??ѽ,pz??<{Hq?V??P\r??&??桑?7??`??@^?7?x??????_	X.?????ȐP\0?\"\n???Ң?)????D o>?? d?\Z?????ҧi?Q???????ZĹ?Yݝ???hY?Cʤ??X??K?O?$\n??R6??Z^??a???n[jG?H?QW.e???\"??e??*sˀ?V9??<?.^?9?G?ZID?a??ka?JM???櫚;ڿ?\Z??7V{ξ?;hrA??mjg????????<?????l??36?1?8K??1??),X?C5Rk?\Z????f?0?vʯ?^??5G?ɀRl]?I\"yT01?J6?P?h=????ό???pi??|?3?V5U\r??0֣Q	??U?]??Ӕ?'cs??<Ʈ??T?????h[K??K??f-1??G?9?C?\"3[?	??2?Y̆6~T#0?;????mOo\0(?ILPO????L,?PW?n??Mw|?Bk??????????Z?????#?\???ɖ??K?80d??WĐÑ?	??!??$???d???m޴	R?Pܼ?1??Zq????Gi??r??ad?8?4Ru??H?j08?#??#??h??v?`???yŬ???u\0??n?k????????h??\Zc???	,??\ZK??0?F??{?@????FnP#r?Y?_?dƿ?.?? he???i\\Ж5???a??J???Z?Df{?2?W?\'#???????)΄?Г???p?N?U?????????pbi????`?kU;=?n?]????{?24 ?!D???F??#??6j%Pm???:O?w??wƭ??J>c?\",?jp?w?І?1=??>?2?l[g??%?@??\ZFK4wT????z]?=?J??g?]]?0\"Ӷx?b?́NY?%E?U?CU?P1?+??j?}?O??X?????%??v}C7?????v\rȘ?sV?&??/?c~?;ͶF;?:l???N?i,??M?Q?u??????0?G?*???6????kY!?/(/??\0g_.?\Z%??+????????[\'????.?U#&(?^&[e?&???H	???ǒ???;M?$JF]???????0+>a=Ƙ????????x?Ҹ?ܿ?c{TP?UR0??????Շ?Nw??:?\n???^m?????/@?{1?nh)???\;(??????\n??su\'????\Z?g\0qc!|S^??A9??|Ɯl*V??VNc4??a??V[XWwc}5?n?z??t?S?iLK?q??&?&ѠqӲ??YN;?n??ϟe?T?=??DNiq????v?E%ҩ?-5???4(7?K?[?	??yN????g?`S߉fSZ?\"(:??? ?h,?,?=???d???????FK??q???v?=?n1???Fq?Lq{?%??SK9-?Y?I??DA??V?r?\0k?./?b???\Z;????H????Q_??&{Qk$??}??f?ܛ?F?1wΈ9?.?82???K??~Q???{?'?KM0??v??#$	??r?m?q??zH\0?0BՈ?DۂyI?ēV??#@3??ZP??0??Z(s?\n΅$??y???ƭ????lC???d????xdX#|-?	??\n_JݶP??l?;,????\Z+??{?BQ/<????j?3??~???|???5|_?a?????<?5r????3\r?oQ?tɶm?>?n03?:<Q)6?.&??v׌???ZԦk?	??\ZZ\Z,2?Øcu????1H??Z?r*?6??@޴?@??#;;??'????^????O?????8\'?˗!}ev?9?/','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:2ae91962e9e99044a649399acfd2aa8a','e???0????Nm?ll??cf2?X@AH?$L?N߽+n????c?ytLw9?o?????????qޡV؁???r?Nt*?!???1????נW\n??K?u????pd??x?UYH.ooz??????u??J;QuBi??ABY??;??(???8?a??r?8T?????!??n?ZQ??6Cd}ׁkU?_$e֫V?Q\ZQb?"(x??I?\'RS?zat?c]D??ԕx?zKy?t??\\??7\n????9???????W-?????h\Z?R?z,ٙj.pЪf??r9}!??P??\r3??+??Q?N?с?v轟?ځ2??H5&3?`|W?~LW???T??\r?G}w?)???dچ?R??_??z?Tlv??????\n???k????=9I?????N?z`xB??O?-;6??0??c??5?z????S)?5????u?\\u?2}C????# |?t?aT?0???v?gz???vA?IVd?\"?IW?"??$ڭ??v??;Z͑????:/n???????5nvĄ#???8N*??8?{L?Cu?Q?x{cS?f?b??????Pd<??(J?j??$?dz[j??G?zx?!G4??m?"?%/O?a??x?I?ھw???Y??u??R^	I;6??????a?fQ?Ƙa??{H?Y?e??28???{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:31963ef083f8be7f0df3ea369b81cf10','e???0????Nm?`????cf2BZ???\\I?:??{W<ܴ?vW??ʴ8$%??n?K??????0ց?Q?)?\ra&?x?)	A{?)??\Z??t?R?)???????K????F?1%Y{??BX?L????????mlT[@??rn0????Z?G>P?Z%??.????n??B? ?1>$?fW\'?0?A???j??P?????Fr?YD? ???F???^Y?XمX?'ve?!???:ꛨ]?7\Z???me\r??/X)%u;??ZQ?R?W?m?r??g????h!???C???????N?h[????D?=ZY?x?S????f@??9?6t%??5f??8hF?!????Ӂ?A???ƽa??Q1? ??M.8~??}_???\Z??r??u???'\'Ɂ??j?a,?B?Y???BˎM@??=????lAB[??|=??wo???\Z~M?????S?:s???A?\n]?P+i???C????W?????RR\n?܂?$[?|E?+rX?bE?+rZ?4Y?u?:?w?<?#????u^?,?yo???$???$?????<K?,߳\"?Y????F?N??;vȊ??ʎ?E???9???e(??????:???!?o<<?<=??µ|D?Z\Z???th???^?ez\\????\nwl?3???Õy???C\"9f?A!.2??TS&??偼?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:337b16a83de9b436fdc62b5623db3627','e?͒?8??]>?fz???0?=NՔ??1v?a3[???&??,?C?:)?c??mrh???ݛC?ǿ?????r?>7???GV3?-L??m?V??\'??FEí즮C?B!=?\'\'\Z-\Zŕ?C?a?:y?????FW/?jc??Z?\"(?`Hك\Z.@a-????I??`?G-f5????i,????n??#??????\")?I???K?1???xk9^IGQP?.u?c?U?????19?y`???^??q??І?~6?J?RR+	?\r?????m? ?]??g?[i׊=?7????J4?0???G%GIF9YY1x??s3e]Y3?jJf???D???\\ofJI??A@?	),?d	??R??rߜ??y?Tlv??????\nh????S?=?J?????N?z`yb?"??m;???p\'a$???nz?????}?JN{?9?O8??>OQ?\Z???fuoR???????)?D?????pGV{;?'HX݂r???#???ؑrG?9?rܣ}?>?w?<?G?ߗ????a?vX1-??9&i	m?YV?U???\'?\Z????O?v???[8???s~n?S??(??d}[?s?~??B?h?ō??%//߿????%?N\Z?k??a????_5}]f????T?Rю?i&i?}?p??β?I\n?2??????E??&+??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:3537948b8ef90c40307e538c818c7691','?{?????!?^??a?,?????ٓH?,?`\0P?!????O\0??;w??ٍEtWUWWWWWwWwg݃??????\'?0L;?\Z???7????????e~U?F????Is˝??B??r?<u???I\r~w?\Z???}z6?y?ӆ??????}??o߿?}?O?8?\r-\0??}??S?o???????nW?i~luF\r????F??\'?8v??_EY\'??錃;????a???L???E?Br??\Z??~??Y??\r???s{\r?|?Y,??H??a(?e????=??\?\Z?y\0?u?,?o?????Fn#7A<?`a?@_??\\vFi2>?&]?7?nK????`??Z?8\nfq??sB˺M????V\\???r??\Z?q4?~????????\"??\Z?D??_???3@??????F??8?<?f?\Z6?8?-????????????????J???9\')?î???CG?p???Mb	BBC;??a9??:\n+\r\rg???#E?)?d$?~\Z&?\Zel????&??;`???X̗????_??P??\ZA??????\0r?ѐ?g2??Y,\nY?<??䘻??6????;GH??????$\Z?M??n?????O????u??\"?PȒ?i	??\0?}?O@	?84Jt4??Q\Z&??(?D,?a????,??'b????Ϥ????ㅓ???8N?d??????M???????? Q????,4_????\0??v?\0:?????FI???E????V???N?2n\n???$=??;?C?c?ԹZ ??bð$?5????ap\r?\\?d=H}?]?q?4??q?Қ{?a??X?\'WM#ex1}?.?u??n+?\nr?FC0??q????\r??!?\'?M4&?Ѝ??????`??e$??q??E?+?ep???\ryh=!/?dy0ɿ??<Jm?8???)L?p\Z\r?\"?w,a??}?2?? ???F?BF?k1?r??Y??Z$??o?f?k2۾?i???jG`?bAA-?M?????s?ɽ?vg??p?,̠?#??????z?3??Vә?EA?k?.	?V%?Y츋E)9?#?Z?!yL?{?(?C45E?%a]j?nV???sUV?c?????E?T?ut??/?+Q0??\")?qZي??:?J4?Qׂ\nZ??????Rw?V????A??d??????hA?+??2[???i??\0eV???c4?Scjû?۠}? ?)?Aӧ,m?\"?1pd?.???٫?*?Բ??\Z\\??H??????is)&q?????)?ob??H+}??H1??C?ZǑ??9?4?ǣZ?\0˙?;d{Az?????\n?x??8????ƦCXQ???ZgM?:G?f?ʃ\n\Zޣ??eo??J?????qKR?o?????\'?x???Ʋ~?DY??W?????M?u8??v?{??[#\09g?'??z????u?]6S?v?n ?a???\nW?HdK??P?JÑ_??????htn?\n??\r??~?R#?!???D?Ԙ?i?k??)}?Z???\0?s??4?҄??*??o????,M/?4R??sD>????#VRcS.???????/?%\'4???3?Z?T?w<???????4i9??!??f`vk?\"??e?8Wv?7???y?-:??K&????ӭ?eY4??1?tS4?k??tT?9??N???$??(J??sr{?5]?v)\r?۫??¡c|???n?X????W??????{???8`tAl6Yժ?/?/K]Ә?)?Ɏ?????8?(????l?b??\"q?1x˘\n????)?\r??%b???J??h\"ie???m???2???7F?Eh?u?jX?QV&0?\r???/\0z-lH??j??6?n<N?[?F?K?4,=?\*???2??K?<???;???a?\Z]G??W??W??\'A??˫|Y???l?L?\n???v??hH?g?????\\????[??J????=??E7\r?d?B?\0??gM??{?eݧݧ{;/???ӗ???g4xv?????jO??u?m????dy\Z?u?n+3\0~\Z??\0??Y\\?o???6:4??v?????????d????fm???±=?\\y??\"?ѹ??????,?B??/??"?f\'??6?;be?u??y?=)???h8|t˚M??\Z????֌B_@2?`??Fxp?\0?J???jl_?Ȥ}{???-r|?%Y.U.?$?=it?W??$E?jG??X?y??\\?Luy??x?????M????:?\0Ly?K2-????Σ?j Y2??g????a?S(??䖣???\\Z???BC??%?J??P???	A??yev?4?oڠ?T#F@?rx? `?np??*4???kZ?b|??u\r?%O\Z?8]??7?\\???H???\Z?T2[U?TVn?G??z???hF??8???7#S???0?:??R???ӻZ?@ɵ??A?????t?v?\r?z#??S??"/?j?\n?P<L?3?\'9????仠?y{p??Mfh?\Z?(??????_8&????/w{????6F?????zL|hP???&y??e???:???U?:N???????ֶG\Z???ǟ!?$??=NV???o?<?^?????H*??4??n5-????l?????????ӳ?w?ҫ??m??\\??M??$CS???:?ۙ$?ڂ?ޡ=?7<????(O??X?<!}???!`???~a????b?CR̕T6?L?\Z`&1???~?p?\\&I?o???W?i`T2H?\\???G????\"?{???????c?s\\??z\Z??\nĐ???\Z?{?S,\\M?Ll?\"?%*)??H?:,????1C?i?5?n<???P?}??J???[`?HJ3???rm~?N?\F???\w????@?\0:??5??i??lRE9s???R%?\r?l*????I??D?H?\Z{i?צ:?\r?m?Yj???-+)Z????}?1`d??r??@??z??j??_0\'??<?a?fׄ????{drB`????????4???O?%?T??\nPyB6&I}??????J?Twn$4z???*#?]V?ʀ????OSX?B?ꉢEQ?s?v?????\Z???p???1r\'?r?P*yzor???|7?ن??	????!???G?A????>?-c-???????@7c?}H?\"š?kK???\rٓQ_?$??3?6???J??0??	???]W???m?,?O?3坈-??[葷??-wS?П???u?i?'	Lz?]W???l?8?<??,??U??2?&?C??_H]M2?k	S;?dX\0??5???0????˜Z?R~???}x?N??O?6??????)i??C?\'P4?????h\\C?????\"?8?0%??K??;?7??4A??7?ο1p?Aq????g?\n?EIk??+1??E,S?1??g@??X:d??????*????]?[?v]?n??.S) Q0B??4I?Ao?R?G??????#;?H$d;h??#?d???ά&0???,VHYi?C??????I????%?#2\\V8$}d7	=??~???iԋ?/ZH_?????ndV??(??N??\rY??????|?@	??5l!boYY??wd?(??Z?}D%?a??;|?)c&??9x?JR???l>4q6)????MQm?P^K????E?????~	ddac?z??s?Tm͎??i+?#֛??7??\n=?\"Qt\"y\\@\Z\'C?l?MccT?Y??+?+?b:ݍj?????R&??d????<?:j?M?I?ԙ\0??6?rl???\'+????dlӯ?p???Y?j\0?+Z?r?TʨPQ???\"?뻒???8⓭??4?C?l???????U&&?L??f????E)?G?????kU?i??\'????V?8a	???????????lB?)֡W?}+i?V??Ф?h4l?&???j?*k ??vV??R????ِg??eU?!VU???ۢ?D?Qz??]?$\r?gi??G???[????J;??}?We?O??F?&\'_?MU??Gx?ב[?E?:h?@?`6롫<?4ڧ?.???R?6P1??H??5?%?d???h?\r????ޯd{C?:??\Z?x??ڪ?`?,?🊾?F,?DC?\0???Zs?T?\'?./1?f????o:ٞ?{5?\n~??;???????0?B0?ъ??r?%lS?????Wg??????I?]?C?*??*?Q???????' -??I|S??????g8?2??|ƬZ??\\?ԿCAF????'HM???\\GOf???	A!_?W?YJ???F???>f?м?Or?TibSCr?X`.?~?Zal?Z???W?Ksj??E??H???H???(?n?A?RBy?*J?\\S??(r?c5??????b???\Z݇k???\ZI8Q#??5R??Rߗ???Z??????r????i?<\riԴ:?n???\'??0}?e?}=ⷯC)ފ??	{?I?>)돰?B??$&l?yW&(4e??3???kW??1?(??????8A?_]$b??m?\\3Ӱ??S1??ZGv??X?.??K?{?p??4???xK???=??m??????#?%9=?;O??x??C6???s??(???A??t??????+?B??t-?N?; Q?5\Z??-.????-??ۯ9??΁?4?s?w_`g(9G<u??IW?,?\\?6?ڄ???\n?}ZB/ϩ?ڊyU?j??NMr???!DFm}?*$?.X/@j?V???%?,}???F???&??I?,e6,N?P.L:???5_yf???^????\0??????M??6_????|Z???Lc?+K?1*?Xp[??1Ř???????d??x?0????\Z???????`??w?v???\?	?`?W?[????j???.??J????y-?vb???????5??ő??$??>nr\"gkVp*?????????,?T?????[??ڕ?j\0P*!K?MV\\;?ţe\'??୸sE?o??V\\\n,?l????`??Bz\"?Kl\\?h???\\w3Cݧ?sG?U????پ\nt/???KWk8z!?\0$???K?F?\\TF?MVқ???`????j????h?1ı?`?Z?a?b(\0?G?\\3??l$U?nd?oQQɖ8???J??z?풯b?X?a\\Psù???w?OҶ?n??}??X2??+??$Nn4l??D?????\z??????)]ؔʋ???=EY???&?ѻ??{*:?g?Ǩ??`?%)[ ?f?]?o?p???-:|̿?.????\\?7Va??gLn?h?????????A????(?q??,ϡ??s/???AVV\0u???z????D??Zm?J4`>??MA?\'?˃˟????^F????F??!^\0?%L???O?????xH??Y:???\"????3\ZvEAx??߶?t?\\ug??Qu????p?5?̨?!?b?X6?<)C*X!??"^W?H?-?Qnh!??T/R?aJ?.??l1fI?h`?\nDy1?H?????MS??:??h?X˲bH??B?????\08z?ԆLՌY3??}??A?9?]t??r:R`??\"t?A??B??R?穮???D	?ǯ??/3?????wN7?v\\Ȗ.&Fb?bp?V??B&???\n~???6???kp?̓??W??,k?8e??????`??eq܁?7K?\\Վ??c???#]?~??tM6][?\"??8r܁??Qc???????v?)F????Em?\'rYl?[?\'?2??;????fZI@I ??L?\'}????KK????<????:q]??M?\Z??<??w?CE8??J?M8Ie:f?\'\Z?=?QЖr????k?|???\\???>?My4m???|?0?M3$?\\\rr?h??ݤ?[AU?{%D??n`??????G??R????0W?8nyYr?s??I?=T+6?^	?6MiV;?b?.??J?\'Hd]?V;????V?H?/??\05?bw?h?GD?ub0??N?ySO??\'j???\r??-?|-=???????H?\r?I?\'????<?\0?? mq?i\0??9\\\\	?)??\'??W9TM????)s?kj4?h????????4(*??pX??????a??y?6??;W?X˱??*?J?9?v???]?E ???r[??#??u)Cr\n~??yﳼ???t@z?{?^?w/X?4Z?L?QL??(X)@W?[???@????;????? :???.e?T<an:]?2???t\" ??Y??k.?n???????*???C??C?]?S6¢ۆΓ\n?S\0C-݉????޹?v?~u?^Ѿ???UŠ?	Z?6??lPɁr*>mqC(???~7??~M?<<??\rp?}#?S?~=n?9<N???ȕ???RR.? NW:???M??\Z????{?>3Q?wB?\0?\0?KU??B?/???*?wE?/-#????5t?3Mqd???yt?~\Z????_N?\n?6?0?焘?4??]??aC\"Ǝ?G#?9????;????4;7?m?m??1??<?Q?$??(a????QBOr???Tp!??W??Awa?:je?~?^IQ?!Q??\';-??Nc~????dq?`[(??I_=????-?ǰUD\r????mL??T?????Kt???h\rH{~ŇB??ʔ??!??h4??M0???7H?;/g??&??]?{??V?v??????P???Z?o?4\r*!?JJ?3?I?iD??fv?kA\\?D?֓4?\0? Ἲ??Ƌ\Z???]??wV??gx??n??B\"?5?d????>:ƊZ8?????l???F.???a?@eo??C}c???Ou?>?q?لnaU?顝C???X?J??\n??v?W<??0?S?TfK????????q?\'?6?bA?e\"????]??q??vϱ????W2@`??5??\"??ћ	?@?s?R?Qen%??l??]?o፨F\Z????6?	?AY#r+?\0??m?????(d<?O??*^???S;?:???޲?\"\02U~?/?\0???ŉ\r)V8dq?ga?嚈??&(??&???\0?????np?:?????.\n?[HC%?h/??x?S?Z??p͊?\nYB7??????ˍE|?\n?!??vv7?#j?k~\n???????Ӄg??<zs?????ÿ???????>9???_??3?`?y}??Ǔd?{?峛ۻ?Zzᥠ?{??oDs???????h?)A???Tk{|?ߋ????җfG????܏?YVy????+??b?\"\\??????cK<????(?6??F4w_#]l???{?(????#?\'cE?s???>u^??G????rYQ?\"??L?\0[?d#*J!??\n?^*?T?Ȫ?????2???:4ͮ?}?A?>???`(?pd4a܁??M????<?~|AP?V?+?tiݗ1??IQ6??;?D???6???7??Ե?]?n?W?????P?%??\Z?r#??b$?@I0&<!	?D\r?E?N?4?3\"S?:]?e??y??(I4????r???x5?Hg߶Sc,||?Φ?P+??g?[??qnǻ&;wMW?ḥ?_H??>Wg???m\0	?c?<?E<c5u!???V?j???1?(:TQ]???5?S3?|?)_????B??=F>?kԵ??%??iq&??𞉽?9??-??ѹ\n?&?è1:?z??\Z\"y??C{T8?`[\nA?\Z?pk0???? \"?`yK???shpZ? [?-?/?߶?m???r??ʓQV?L??}??t?q?0!??G?f??S\nv?l?]??A???B?8d?????q?>V,?ѷ?NA???\\??Ч?f??F??42???忰^?>??@]?*^??Y?????b?t?@?N&ص????W??:??3???????????|?nB?펻?\"]??@>\"V?b??B@?k???`L??w?????2?~??????p聃oX?4?o??-?e???5i?;v\rEQ?lڴD:[)?f??]???"&{e^??d??8?\'A\\GO??y????;??x)f????VHؕq??*,?\nխx?????CKx>??p}???GQ?o??ۙ\\?u\nW??????{X?dy5V?=bD?2??-?s??f??_X?.\'???p⑙?_???]x?k?\Zm?̪8???0????u????????;??W???GB?B??v??QR?źeuņX?$???6-.?O?V ?Ù	??\\???Z\'??k?u?](?_???=<???]?aN׉?+??`h??,\n???? 3х?????Ŋ????h???	ߗ	?\\ci,???˭C??\\Z??!?\n?d?o?&c2?e?4ɵY,??Qf??5?ng4???????*?=c???Î??$YV???Fs???^&???`?ݟ??,?^bvCG=???8??p?~?6????v??o싋;?>?w?;?J???r?LӃ???o??}w??x:?m??????0\0W???4?9H8hb??0?c??ͪ?<?>???ab[lbw??X??jK??????n??6?s?\n??????qj?3??oe?T\0?t??_g??\A??R<O?=F}?????\rCs??\'?	>t)??7G>???꙯ġ(+P????K???ni??D??n?\"?XӍ??7څ?܄??җ?\r?t\\R??5h?s????y?p?3K?ϑ??XJ?1??????S=?.???t/????\')Q\\?W????nF??3*]Ls??bV???#T?%)k\'?Kq&?0???t>?J1R?L?'>q9	?dyP?????7?S??(?U?????2??&	Џ/???ea??8B?Ӈ	X\Z??<??\Z????2Ey??L4?x?|?>???d>?}?}?nD`[?&M?F7r? ??_?hQ?GG??(\r?0^%?nF?y*?{?????`Z?n?ñ%??u?#=	?ߒL???o?iZ\"\'!Ň?)?j,?n(J4B0\"6?:]!ZX&;?[???O0*??1?d???????\0 q?\Z\r??_????>4muo)@????^,?K8se???C?o8?f???}???Xvv?.?\"~?;XN?i??I?????f????w~hu?\????????Ư ??i????G???¯?f\n?Z??????J\n???-??]K??{???4????!i??IS???í/?L?za@p???̷??D?C{8Y?#???81&~???K?;\r???.:^Z????n?\r??????v???ս\r\0??z?.p??X??䇏!w??Sa{?}???sv?o9?+ rM?`K0?y????	\0l?sj?kb堟????e?x.e>?=\Zava???x0?n?d@L??????6????;_?????\r]?|????Oo?????\0zp?؃?O?????ÿw????޾%\nNK?$1?????t??T??i?#???嵨?e???Jj?\'5?D??????? Y?nQ????CZN?t??\Z?????|?\n?Nv??~-?֡?ϖ??p??Z:yD?p??MRx?ƪ?\nv???m? ?-?????~mw??s:O0?'?Z?4?G?????/\"`?0?./???Y?i??,?^???w\'N?????@,w-??W??4????+???#?o???I???7??I\\DC??i!͝??YvtB?#[?|?? ??7~????6?ǅ??*Ԥ?͘C0R?dӭ?V8??OD?Ѱ??>~??Ϭ$֕W\Z????Qp~??^QON>9?Éi?%????\\?u.???ӆs??am??\"F????xg?c?*??\\?????? ?gF?Gޝ7!1?H?y???H?/??????M?:-?æ????iQ?3???f?1??\Z?4??)wT??d9tȶ?_?@-??U?C???J?(?J.??h??jr?G\'֕E3?[9?Ck?фԯo?y??2Yw??C?l?ߏ?A??ͦ8??c?????ףO*\Z?y?\0i????* ??1-?GrQ??V/Mn?r?{?:p-Oj?f????]\'??(Thބq2E?:????sT?+????P????8?AO?D L???԰???Z?p????????}{{?塶???{U?J??@?W?f?:ǘ?b??I?????L(܄^\Z\\Qp???(x:(???'?{????tZwx?>??????D?R????GgS(?P,?c?ؼ+??K???d~????f|ogG??????H>d???\"_cY?????????t???Vb,P??? ?\Z_?D???ZLjo?\n]??z??!t???)DI?\"ͪ?\n^??A	?Z???YE???????j???v??A?????5q???[?l???\r,?????,??yV?r֧c??A???t?ޓ?z??L$??׉?M?;hĚ???l_??$??洿u?????S?7??_L???x??A?2?R?r|W)?l]P???/??7*?	?Ö?ͧ?\r$%:ͱ\"?|??#?e ! v/Jr?j??*|???^????\n[?]?\04??\\?\n??W-c??<\Z??",??t??h??0?m?!??????k?r?????,0?w?Bn	?b????)??2^??~?I????????.X+?b*y?d??C<R*tt=??ԏ?U[ĭB|T?~AG|y?=P6????aMa?*`=/\0?`?W%Z???2J?????gQXk??oy\n??K C????y?????M^:????g?r?%?u+????Mp`?>I?????P?{2?f\"?????Ɛ+?\"`^???u??S?L#?E@x)?۔B?q??>#\0Cޘ*懔oZ??~ ??????B?W?_v`Xđa?Xs\Z???F4}\rn??c???m?g??v#h?rn?++X??G?bM?c?R??e\0V??ı?F????t??K)\'?CQ\0????^Q*F?????P??dY???????\|???4^)xy??r?\\??\0m?\0b??~??q???]??Kq??????<[??a٦}*?q`?|2I?`?j ??nU???DZ?O??>?3?Hn?ZQ,|???־??J???j???p?ù?|?????o?b?l4??k曫:9^-?????+?P??	??}?{??]?????`?????X?????MPu?(???? ??-?b?=n,j\0d!޵t???11~J0?OyE?ļ???f?~l?k,?:?o?<?X}??????1K?ժ?Fvpeݩ{?˺????<\r??ٙS?m???M@??h??.??X?e??ܢX?ų????^?k?????z??\n?z?K?#n?@??η?؎??]??-????V?ĳ?????3Tּ??&????}???^,VΈۻU?ơ+??=??-.?ͫ?T+????G??JX?????}?g?G?r?r\r??{?!??:??lB?n?ژ???????7V??Yp+??@^.W?x??Q????\\??C????C[?JE-?2Y?Zi?t82#{???????!?l^?lӎo?;?y?|?n?ᲛYf5?3?V4?\nP$??qg/?\'B?n҈M)??wE\r???6??\Zĕ^đ\Z?Eԕ٠?????dQF`??S?0?.????-?a9??2?ˮ?\J???q??*|???o??kF?6k?-w۫o???W?G??C??}||??_??0x??\r2q??!?sc??9,vi?6\'Q@?o?Ƈ17\Z?x??-L?ڝ?A??Ҍï??????+?yɣ??Ye(?n{AQhatIKzv?/?+?f??xs3\\f?@?06?Q	??m(???J?ے?;?nӆ%-??????,?VlE????4&_\ZN%?ת??4?2טy)f?????=???\Z??Ǝ?f0???Mm??4?ҩ7??B?\Znr`??????????t?	̙??9?\rp*??\?????N??%6?1\r??EN]CG?P$?pKzx^O????????U???F???????t`D?{????Ɇ?3 . ?T???b8???(dcЧ?.p???w??R????u?S?????j~\0?&?j0?=???+>F????SN???>S??J:;?%??A?Ĺor?_D??lE??Y<???i?[0V5??7??e?n?Jm????vHt`?Ky?yڰR?\' {?_H??H?̓)j?\'uBݯT^?ԥV??Oh?	\'?	???\0?????????\0X??/+C?B?6Y?D??/??S??\Zc?6?yүy????SaE?D??)[?????$????B+J+???<ɴ?5??%Z?V??'z-?\rwv?U![??q?!??\\F٦?u?vtʢ?NK)j7?\\??JX? Y5BQ\n??0?M??[??,46??T\".=iYW?s?\r3?j??r(k\Z[Q?E????f????[q???u??>k?V?	???u??KN?0?t?ovdL쾂???2?Vʋ=??p???gP?_I?Z??Z]?޵??y\\???,V???????fd~[?P??,?\ZK\Z?_iJ?$JF<??0pTe%&?G2??{!?H???K1?G?p???y?toG?.??__?We???X???/\Z?V???,?C\'??s??!3?Ti?؃???B???N*\Z\'?4*%D???7.D,c?+????2??q???Mͪ??i??\Z<̺??\r?n?of]???Nr??\"?yi4,???4nZv?Q??(??CW??C??j???)-???8Y?Zt?%??R\\Jπ??"??~?zeY?2%xs]?\ZO?s?0X????E?m??7?.\Z????>????l[B]F#G?q??"???P{?bz;???g9Q??Z*hyU???L?\'#\n月??$ɕ?0`????e?rvL??bg6?\n\0#so?}-??????????B\0??o?N??t?[?d0h???B7?<Wޕ???rm\04??r???*?iS??M3\"@??~??\"????U`ɨ???G?#(O??????R=2R?????????r??aJ?\\!??̦??J?2<2??????i???9:ǳ??t??x?Wa?>?㰗??\"?W^ջ?q?\"z\\D?iЃb???????>??~?vƛ???Ѥ????G?(?>N\r??BD????x>?\r????<|????зn?\u??!<>?^Z[Aˀm?K?e(tM.y??^kQ??Ai???[??@??jtl\n_??`d???????E7.g??Zw?a???D?{p+?O????>}??^?????_^?<?r??d{???,'2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:3b4ba91a96a64c6fc377dc09edcb3e2d','e?͒?8??]>?fz?H????jJ??;k????}??\r?Iq?>K???J?"????훹zi?{s???q>???T?UɁqg:	?*&??QyF@6????tP?h?????D(?\'??@?E??????,V?O?????j?3HmlT??7B?r){P?(???x??r?????R1???4?;???cd???kՒ_$e6??IS:)0f?to?\"?i)\nJ???ǹ.r??ԕ?>FGy?໨]??7\Z???m8?׳?????_HP?????8?;!u;??5?8??T쁼?Ɛ??w5P???\\??l?Tr?dt\"+??pn??+k&R??????ѕ?D)	??!??!??Ӂ???\n???ᛳQ1? ????4~???X???????|ta??\'ɡ?7\\j?Q,?B?[??	~?m??p?VFr??CB[A/?^?ym?{?T??\'??Q???W??-??????J??]?ݎ4??<w??KX??? eU?H?#???Ŏ?;rޑˎ???N?a?????\Z?_???\"X?vX1͛??y&x?ϛ??,;?DvNȊ??dK?V??i?H˼,???|,?dy?yL???\Z??w@o?!?Y??m\"|Pr?????=ޫW??q????[?U?eFZ??U#??f???W?????p)???cY\n?\\P???x??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:3d76a0a08c14d32293eaebb066291b4c','?Z?R??{y\n??[????-B?Wa?[H??ɶ?ȖW??sp???%?s,?????d?Sw??u???h?f??q?I?<	?ė?%?I?????d|??=?z?$	??????l?e2?Z}?}???o(C?J????????9?O?D>???Ϡr?Dq?.?Kχ>KBM<_??J7Ԑ??\0?\0???kG???3????????4????	??TZ0e??Y??G;???ޣP???I7?È?,????å??.??Jv?E???Emm?ݓDg؇u??ac?=A?1??3Xä?\0?,J?G?>6?zш?>Y%J?+???O??e??#?>D&??$??~fJ?)??n/?k????qɩ??Fb?r?:y??{?-.?$?\'?k?n4%8i??Q?`????׶?????A]s?(4??{b7?`??8x~???????ij?V2????<????}@6?,??,O??\0??-?P)E>?2\ZX<]\rv\'?}??????ޥ??>?l?????B??I&?)??Y?u?Ȣ???X??3u:?ї??}??S?Ͻ?-A?^/??z?t??(?Ns؜`??c?k@?8?[E??B?d?M?{H?Q!?}?Ж?????\ZX???cA???H?Hh??S8?>?3? ???\nF}d??L?;??(???\r?R>?S8???n? $?F???o?-U?Z???o8?\0(?v??mz?XN?6li	??An???:/???DNV?Rb??un?\'???}B?xB?RHt???Yw?$BeH?,??\n?\Z?DK@??L??V>%?ǟ???a???'cp?srO?a`??\"Ңê?+??????ƴ3???\\??????ظw??4I?m$?h?8[jۙv???uv?TuEƵ??+??īh?\'4+???????z??"?A????o3?/W?>???%j\Z1?w??Ք(o?.7??<r???Z8?T\Z???<Gҟ?Z???x?bb?G??R0????:?`??4????Թj??Fܷ^/Y?d??;?66?L?8w?c6???G͠ ???0WL?,??K?]2??_???[?]??5????Y?U????m7a?!C?Yr?I??e??`?f?g?oȢW?G\'??2O?4?r8??ɿYBH\"$???\"_??# X?~????ݒ?<?ڜ\Z?s6?戀*???O;??ɍ??z?_??3???&2L?*J??E???)\r??\0?\ZB.?9U??\0h?G?է?Ϩp?g*ezs???\'UU5???*5\\?)?]b?`YՓ?Nh?\r?UM1\"T2?J?\?$fI?>???Zg?v??xN3e??i?'?b??G\Ze4??j-?????s?]\rj??=?%??1_?C???????)Wk???@?aY?0$>V?k??X!??f?ج?ӗ????#4???????(;?8s\\?Űj????C?Q?\Z??7?"5?^j2?t???\rf????????#??~??X????	1?T???A,??????7?fJ	?????S??㲒?ad0???anX???af??꤈???W:5%\\?	??r9?n`??	Xb?\\TDur??u.??\'\"	ZW[?'?????ā?T?T??t???<?wk??v?֪Z_??|????\Z?d`?j?U[j?5gzޠ???)?^?\r??]???\"yP՚????????M?I?2??Q?a??t?6???Ee??&1??Z????VJ/u}hm???L?P??5??tw?m??ݑ?Zm4??d,?i??Z??1W??_???Z\Z?k??थ>?N???@x??8΋M\0??ztG{?z\n??;???F;??)??)=?\"?\"z_M?IcE`??\Z0?1??/???J?9???\0?Vxi??&P??(?t?Ϣ??+EN1M?U???l?oY\0^h????lpe?7\0??G??QiDT?y?F???b??\"?3?{??r???ʤ?G??gp?*gu??0?~?6L?@?zA????h?X?uXV?e??\"??K????\"!?????ɃB?ʗ	??)?<?9_*??,?? ???R5????\"\'Q??R?9F??d?d??!??q?b?2?????Z?KŰ??m???h?L??eRQU??$?.?ם???ͣ?$ܨ?I??0????A??,v}?g]prS???o?Î?????>\'XU?F???\0?o??K?b藣??'f?????1&???v?ƻ??????q?QU?f?ƃ?????????=^???R?y?x??]+?'&		?[w?sw??}??v^???`w<>?{????p???n?9G?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:43f0128dc50d8cdc3ff82bb372e7e61e','e?͒?8??S:mg??9?U?Fj?!y%a???؃???Sw??h|???Y͆??^?(k???????\0J{Vg;?<Tt????QF@Ii??&=?<4:?e??-??\n?<8??Z???zy???l?SmV??%e?Kj+???A??1?0???5{O|??;?|X.?????_ܙ3?c? ?1?$???X?E6??V-?ERf?鍝??SSI!Jg?r??????g{?뢆??E])v????\0?K*?????2ܾ`,??ͅ*???U?=u3\r?A(?%;S?N?喊????#??J???\\??Z\r??J?r8`??'??rv\"Ղ???]I?]????@?????S?;??O]???X?:[??r???B??!9?M??9?Б??Yzr?<ju??I?????0?CH??Zwl\Z???εۯHl+???ol???j5n?$>???8E??????I??p\n?O????#\r??????n???Z??+Rl?CRn?CNRm???m?ηa????-???n?;?p?q?;ovYe??ʀ7?VM?ϊ#f\r???????????\0^_Q?\\?????\rF??m?F?????9?YW?c??<=}?????????Ze?ρ⇩?*??k???ks~??Jӎ?i&i?}}???>????&*.?^ʪh????s|??퉽?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:5b88ea69f8b69da609a5bfb1295f0246','?Z?R??{y\n??[?3|???- d????$[u@?d[?d??A???????ג?֘?P[E2???????e	wx????\"NY?\"I<?Ga????dc?	74!??wQ?~?\\@O?$??3??????F[???-eH???Y???m?}???z???G_?T??hB\".ߧU???IH?Q????@?Z?y?`?8\"Bb?qs?\"???;????????uL??I??I???8-K?j?Nogx?s???*?[(???q???K՜m???	?????P????\r=??????n-??%??\"H??&???mbk??`?E	?h?VO\"\Z??DI?x`???a>o?\"1O?V@?bd???;????4֯??I4??^?ce?7??N\"9????HL\ZFn?S%??՘???M	N????`?\"?)x?k??e??$?Ъ9?????M?0Es???k???l??ڀڨU?????,??????M0?O??c!????Y*??cF?????????2Q??1z????????e??3?<ŭ:?=K?۠\nYaa???[+?w?N??R??`\\??O^a???׺?%??V??.???S6%ء?Y5 fp?R[I??B?d?My????(B^?i*?)?d8K?cԱN??=ǂ<>???????????p?}??>?	,f?\r???#?nw?1?????evk??I?? <L?o??e?mD???X???۶T??K???????(????m?F?@n???:/???DNVORb?????"?i?*???? ~?????W ???-B???fT?ծ?????Dia?PR{?U(I????bxJ?5\\??????????Eu,c?2???\\?????겢[?w??4I?m$?hƋq??eڑwTS??YR??K?V?????1???G1????t[Hּ??`\\+?Q? -Q??}??N???????W>M/???a??Q?$?qݣ<?z?A/R???A\n߀???%???*u.[?\nJ#???,`?z?Q?A?l?W?c6????\'͠ ???0WL?,?f?ة?d^?^[?;??.??]?`8B??bIVQs?*{D6݄?%f?\'+n,???????%?VU?x??<?R??|???????DHpKD??f???`?c?Ed??K~?+s??ٌ~5?T??????F	?n|r?????q?m5?n:VQB??,r\\?M???????!?\}?c5J???S}??\n?s???????}V5QV???R?E,c^??	?e=I?????\n?S?#B%???O?b?T?n?8?p6?zf?\???S?~?*???QF?9??6?8Q??9????? NP\"k?\09??\ZA?*.\0:?O ?r???m4??eC?幺:/???]aF??ͺ?2}???;BC???t????q?ò?Nd??\rQF???h???x??\\0?/?6???N0g?b??R????E?a???%?R??\"??2K?J?cOg???)%l?h\r????B\\???$F#?????rs??\r3??\'E\\}Ž֩	(?oO`???w?|C??(??"?????s???Iк?>Iu4???%?R?b???5????[}????S??j}C??	?j?j???=?Q;em=??֜]???H(?٫?Xg??!\"E?a??????\r??:???????e?ڰVS:VD?Ǣ?R?????_?ܫ?T????>??c?hwk\0?T???J?=e??_}?6\Zv??*d,?i庻?Z\r?Ƙ+?_?k??J\Zḇ?Z\r6???n?W??}^;(?\0????n?^???$????,???h\n-kJ,I|??>?7KR[??e?q;???W1?R|^?Ab?@3S?%^Z??	*qJ?(]볨?J?cLS?GU*:J???=mW??\r.?? ??~6MTD\Z?cާ??G?:I?D??h&???u??_??(\\???W嬮t\0?&???(?/\\?kMp?˲???P?????xb^N?$\\?*??yP??????\n?h.?j%K?Hnj\'???????a\0.Uk?Quq	Y&?5??1|?>jܯX?????~fs?f?R1l?p@[%f:??? \'?L??TTU?	|??K2?Ugs?e??	7?O?667??b8?uPo8?????ݖ?:??v6?qz???Et?Q,F&\0??ta??%t>2????f?????1F?^?????`p??%V2n\"????[{put????㺏?1^?sw}I?[J?.?o???k%??!?????x??0<???\rўz??p/?rv???s??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:62030e5c9dfb429f0f4868a168962e51','e???0????N?qS?1?z?3?EZ@AH?$L?N߽+n????cqez̓????>???F?\'?????FcR9V&;?8t??L`\r?򌀬k?????-??i??PHO???F?Jq%yw??X?L???lZ?????????/\n??+R???3PX??????\"???ƬR?1??Z4?:???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.?????co??<?z?T?.?b??c???6x???UJI?$?V??[???-????Jv??K????+vCޜcH?????p%?8*?2:?????387Rѕ5#?fd?l????f??j????????]??}??٨`?;I?\Z??r??|k??FMQ??\\޺0????????ꄨ?G!??-B??кc3P8}	#9??\"???g_??2???䰅?x?èn?ū?\?hTK?BW/`%???wL?n\Z????????????$ې??<o?C?r9nH?!?\rI?-??n??q?????_^???"X?vX1???u~?\n\0???$&y?p?rا??+?;???=?HD??{?Vi*?ө??"Ɋ`2??Ј?9O?zx?!G4??lፒ??????Z>?V#????0v???I_?hmN/??T?cK?IZo?\\?\\??O?O????S??%H????????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:6e7a71be8c53ec12267b6ac44819715e','e???0?y??Nm???w??i!??0u:}??8x?I?????pE?gۂu??>???F?\'?????FcR9Vl7???8??GV0??3???V?h\'??RE??u???Bzr?A4Z??+???Cd?\"??me???6^V??F??xFP ?]???՞?d????I秃?ǣ׃+?\ZTH??Ƌ*??=n????]v?UMq??Y?[mMeh???E4?xk?HM*(?ҚǺ?h??ԕt?zGy?t?hC?\'\Z???m8??g?????H0-???uߕh!u=??5?8]I;U슼9EI?{?	???p!?,??9?b?!?	?(?ʚ?LSrs6t%ڧt?Z3PJ5?i??Ha? ?h?J????X?}+??L??????*?Q?*?????r?T?\r?9!?qep???/????L????Hh+??-/?w???*ٯ?$?0?+x;E??\Z???3X	???rS?랆qޏ]?鶬?/????$]?݊??"ي?r\\??I?k?V??e\'k?Zx2+????u~?}x?;<1?Ɨ?a?1?dw,????.??*?D?ɏ?76ujvɪ??????|??Q?\0?.?Lw+4???^?C(Ͳ??\r[(?R\npw??pߙ?/?Y??????V??{A_???o**??h&?{?pž??<)?;??fy???$;9??{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:70575098f4c1c64371db55b3cf10ca70','?{۸?????ň?-\'N6R_\'?ts??4??{}(??S???lge???'I??n???f??`0\0`?r?ɓ??????(ʺ??D?V?v>??????\n????x\\?N?j?/fa??֮?l?/????0Et[?? k̳?????$`???q>??n?غ???????n?us,???Qs@?Z??w\Zs??ѭ??FF??l??^p??x?\r?\"k-IѨ/?"?N?V?e?B \'??E6#?V???lw0XyK??ll?4??#??????2??w$??瘒????(7(c?P?<??\0???5\0??I???q????No????0??fS2PF???:?2?????N^,?x6qY?A\rte?r??????r?????F-z???]f???GO??????Z%y?K??%?=?hS??\0???H??Q????w?(???????Sj??Ls̯X ???Fi?@E?ZtJ????t???t:Og????\'???????z???!L?WR???b??(??Zع_??.Z?0?\Z?YAc???M?????|??U?-z\Z??Ȕ???h?JCPc?Թ???^??\"?\n5??;fQp5X?V????va\Z\\E??	?<L?????{^?v?\nF?w? ?ly(1?[}?/?s??P??-??4z?y??7?PC;?Gp???fׁnt???/????\,#?L??r?LWt??(?k,???x????>??m?YR^?\00P[f?i6U??????m??Uʥރ??\Z5?K\r?F????????o??2߾?i\n ?-jH????????}~Y?QTX?????(????n^????І?????%?r`5?I?R????芠u?_$?{wWIN??Ȥ??%?y?a﯑8H`??ZIDWڠ?z\r??j+ٵ{}\'d`Q?a????T\0L??Z?նb1?O??kԵ??V?%??Ll??%?<?k??? ?o?????UЂ???????ߦ????Y??\'??????w/b?A?A3-??OY??D??S?v?\\lű?!s\0?30??ਅIز?L?f4?SٗA^???8ȊP?h?^W???@$?m?i?!?(\0\nJ/*9???ˣ??\0????d?Az?????\Z?X?U??6*??7UZ8k??724?=?T?-ծ*s?k?W?4?H/JP?rW{??????j?o??_?6[Zo^/@?ӊ???????]???kK?đ䴯?8?07?	????????֤&???L????\rC?4?xu??RB ?Z??/?????ov^??^?Z???6B?k??? $?ݧ,?Gh???a>??b?圓 eHV?V<\r\0Zl.VP?Ђq?Ce\Z??Z=?3:????? ϳ?8?UПǬ?Ŧ\\??}?~??n???\Z?c??t?\r]v?aTO?t2? ??x?ަ0Cn0D????E??p??/l\'??-??Zti?LfKm??1?x6i0?l[??s?\0?tT??R=??>??H???<??q????u?$?E֧4ho??_?\0\n???̵~?lW1?Ӯ?Ǧ?i??{???8`tAl1[ת_??/K]Ә?!???z????"??4??(?????D?E??1?qǤ?[?@??V???e??p:=G6J???P???M$?lo???$F3?Ħ??7h^????]6??Y`?EY???D6???L`??\0?<+?h]??_?????i?F??\ZK??Wf??Z}ɓ??A%]lfb?\\sCϛF?8?[|???$;??z?Y??4(?Y<?,V\r?'?f?Z??N?L??g	?v6????j\\E???<?q?_?7W????~?\"#?\0???g?s\'???????o???'σ?ѓ?8|z??<x==	???;X۪???1͋,??[?Y?0??\0ܷ??0?^????hȟ?턫?P??w??u???w?ނ?c{???d??9+????"?R??/???f7???Z?}??Ή?G?虞?]?4???v5?nwhd?^:?3\n???\"??3?sp?\0*?????{???EO	[?,J2\\?X?*?G;???³>I?Ն:??&?D?\0m?\Z??]Y:wP=g???9<?UHH.?????Խ\"Ҳ??_????a?#P??????G L??^\nLn9z:?ͥ!mHk??X???	5?P?k5???8?WQf7?΋?T?????N?NS|?????V\"?+Ɨ?KW?Z򤱋???? O??Lk??@-?ueJm?|?0c??\n$??M?\Z?F???????.$\r?m~o~?S(????a^a??\Z??3??1??(?6???\Z?Z?P<????????!???E\'??????MLY?Y??_8&~;?v8\n?????x<?:\n????c=&??ݼ?\"???GZY?!\Z}??\Z?t?#???He쉚s?v???<???????@oW\\?oq??????h?=\\?:a?:????(?y??Z??????r????????????sv??Azq?]:N??%??v????;KG?4a?A???y?zC? ????;????}??'\Z?d??_??Vq??8ِ?sM*?S?b???R?Z?P?ʀ0;??????:Yv??P?<	p???,??u??u????r4???U ?D???07???~?1`?`?,QI?LB?a?{??ʌ?Y0??? ??????B????6?9E;?6??q?f??B???\"??+s˹???????Trܷ????H{6???9?J?Q??ak?ݶ,?F^=m??n+???,???rZ?%???+?ѵU-E??\r\r%;x?&?{_,??и/?L7P?M??)QC?5?&?"??L?R?	???S?x?(??E_x?l?P!_ɖ?QE?J0(@?٘#Y??e?Va?,?:a?ݥ?`?l.?W,??Avyc?\ZF|?_c>Mim?O???E???v???a???$op{??!r\'?r?Q*E??~06??rp?dJ?gX?0@+݆????p?Ve???A?T?k<???>:??7^????Y???M?ը{J/?	???g??k??k7??_?k?<???o??\'?m??0_?????*a1???N??6??+?;Sj????????=??P???u\\???_??I?a\0??w?8m͐???)Q???d?rp*.?\n:?"\0Fjd???????#gl?o??b?\ӤU???f??,;?j%?Q&<?u???4?ͤp????(???4q?$2?\'?Z??̙?n;??2???*?!?????S?>??8颖?9*????\r?l??-???@?/I??A6?#	d???y?`Oh/?2????!ʭ $??a~yB???P	8h?\??[>s??f????5K??o?U??9\Zm?.B?G?Lp?z?^??m\n$QYw?ԹP??8????e??\\????9)B?K??ݜ?2???]?????[?7??yG?ˣ9?zR=??????sK?W?[@?`?DX???r2%F1?x??J???,??@_??????y`?J?0ݔҫϋ-?????opuVD6!+?*???%?-ê?????L?a??1?\n?n:O*???AL鰄?[z?Z??z???????uŠ?	Z?AU\r*mv	A?????SoV??n?-????;5??V??L??ƌ????E??3?e?????5JX\Z?\Zi????y??? ??@?(?_????d-pyݥȢ:?wE?/-{?????,????a?d???y䒂??W?????8????|?0??0?q??ܻ???Z?D?+?F???l`?%??e??-??Z7?\n?q?\"??k???e?C????$??-g]??g?pU??M?????(ܐ??ܓ????d	`???qL?-?Pl??7????7B{[SE\nM????(??yF?C??\nS???XEk@??'<A5?U?to?nW?qޛ$??\r2=	\Z???M??&??]?{|????????p2?\Z????MK?U?eA\r!?K?&y?9?b?c1c??$?0?c???\ZA\0ΐpQ_????p?p????w???ᡇ?V????I?n?]YqF??d?0?5?V???{I??؜Z??K? ???????ɘ???1?\r3????\'?(??3??H??K.A??c\r???Pԉ\'???]|?M??????([?#^?4??w?Z~[e?\nO?0??}?MQۑ$?~ȯ??I	=?!.g?=?\r???????)>???P?o?q??3$b??ρD ?(8p????8z<-\" ???/ͦz?;????M?(?V?O??'6	??6fԾ:\Z|?x1?P????z??2B?ײт?s????"U??????????\Zޖc?n???G%?????O55??{D???=`?x?? 0?h?˛??Zf?D???%g??@?޹6)???Z??8[L??=\\&??j???/d????e@d?(?|???M]?2Bb???B?s??\???????????V%???\n???t?c-\'aE#????X?+?`?\"?x`??????V?????*ʹ_JC?i.?*/?dC4ƃlΑ68?????4?g?$??\n?1?????????(N?x?E?$?#_??????Ͼ}~??wo???w??~???????????¸>???]%?:?=ˋ???,??Ќ???O7???\0?Cs?a?r\'y??%?2/k?t?G??XS?U?f/?vb???Ԅ??i????H??\\??K@?	>~?F~i	Dg?*`?&U?\'?n??^b?U#??wwF?t?f+P????#?`M???o{t??????q??$|CVX#|Ҧ\n^ت?d????u???W??z?U?O?Z??.«?????8@?ǰH0`8rZ<?0^|+??\0?쫨??fG???k????1??Q6??kK??arr?Mq)	???*AEW??K??\"??V???%??Mz?????!?$8???t?\nb+???FFd?V???8???2??$?Ž??q????GBD9O?\r?+z?'\Z????g?[?/??,?ٹ+?/1?$??_J??:??fϷ\r a?dZ	4??<W?-?f??@?\rFd?PR??y?Z????ㅖO\n??g7?|????/?-??is&???z??F?5?Hw\r???7+)i????&0???-??f??ĳ??ACs?`?c.?kX???=?-3??ͻ?w???4?岿#LL??B6*?叮H`?/^x0???4?i5N??????3?????N??Goa??Уq?HI!?}4@??s??tX:P? ):r?L??<3Yb#???]??^?<<xzO]?*^??]???lL}??Z??p?ΰk????[f=k??Z̊^?*ȣ?x0l3yk\0???rc?8EdvCy?Ns?Yӛ??{???`H?C?cXOC???HB_?!?+???\0	?y???\no?r?3????Hq?Q??*?*eۦ%?L?	?)?\"7?E\\????5?ie? ?OnG?Ȗ???[s?d?x?VHؕ???,?Kխ9?????zS???K??b?҆]),????ܾpJ???Om?n?P?\n\Z5??!?ޣ?=??@?Ӟ?ig-N??t9???????go(.ܱ6d?2?͚???>Ҽ0K??cL?io1mO?,?U֔[?(s?~????????????M[L?\r?a??????-?r?sQyꐴfC?rNMh\ZBc?Ǐ????ռRъ??!?M?x?k?w??(*??:	>bh??,?GC???????Pǡ\n**x?}>???8Xf?U?\0~??K?@??db??Ki?????"????leG?<??0?84M?????c??\Z9P#?xI??A??K\0??'?y(]?O??ps????,n,U??t?s\n?F뢲?rDhb+??fZ???????#?P?????|?&onA???????ѹ??#*L?????	\0?????Ys?(la??/?s????k.????m6?????zN??%?j>?d???[??G-?v??r?????9?{R\"???T?????A?\r?;J?:??-??3??????y\'I\')^%;7??݇\0&?0??*??n?????D?A??-??ZysQ,??M??#nCv?Y?sK??A:??\0)??4g???r.z{g???p?3K??ϑή\\J???>?0?\"<?ǩv/\n???Q?P?۟AJK??P?{=?]????T?J???-6Q|%-?P?vİ????????_???(?.M?x\\r2??hy???տ/???vE?c\n?{1?Zx$UL?Bf?B?\"?GA^???	X???????\ZN??<C2?!v???j? ?!??H>?7??Eb?r_?ԂT`?~?H?I?ݬP\Z⚘Z?5??<?,???Z?Tj??????f??`???Ü??0?uE????H?:? ?PO??E??G?D#)1?וB????%ޜA????S|m??_w#??fSu??Yá?ٔO????>?mu?@????^??K8sau??C?\'I1???MQ-;?H?}_i?,?\n?6???????????9?u,?r??7̵=W????Gw?w?C?/????????ٿ???X?$Z?WY??q?(wP{0?0??+????m?d?5$?Nm?4?V9???	Q?f?y?}$?ho\'k?6c$?????O?X?>>8?肽???~??7?j:??g?=?跋?\\ޭ?k????'???4@?ߟ???E??]d??????휝u?m\n?\\?>????>?\0?x?\Z?X7觢???=???????G#?]?.l?)LpқW0s?!>?[:???ۃ??O?;????󣳳??9??\?{?\'o|??8???yr???臟????&???#\nN[?$9??+3Q?n??????\'Һ??Jͥ?S?Q̮?M?b{?0??r?5声Zĵ??%Y???N{(?:q??Ԑ?Ӈ???A]???3>_??\' 8?=[??W?	u???ܯ?}F??t?????tDܪ?\Zv?G?????j?*????>?\??kŋ??????I4	?5&??s.F?1????\'r?8;?~_Dyq??^~s???????*N????U?W?߁3j ??׽???5R?>?(??D??xs??d?4d`?ߜ?????ȳ??6??@[?Ⱥj???>x-?Z????7????̊!)x??py+\Zu?§???\Z?????+IK~????E???~;M??zr?yNfi???*Z\Z???]t?q?N??2j???2Ġ?Y?_\\ɮq??,?Qz??"Ç?$x??g	??[oFRZd1???} ſ?|???k?ZrqZx?G-sy??њvw~	?ݗYx?C8??????R7?BuˑC???b????????C?*?6???\n?i?N&?\r\'&!?=?\'Gy?????hf?\':`h???z???~M?!?u???D???㿓?N???=??S?5-ꁼdP??x?|?* ??1-?wGr??V/Ko?r?{??:p?H&^l??A???}\'i?(Th]GI:G?\0:???Bs??jՓ??P?*D?G8?AO???O!L???4????xN?Il|w?\Z??ILb?m???\r?\Z?b???&Ӏ?&????9???,6K????K(錢M??r???H?[G??rѶ?D_b??,\n#???F?t???˗?@??\"???=?[[?a???\\l-%?n+K-\rn^?nb7?@滟?\"??????%iq=?͗q?=R?׽????^????a)?m?:V?(2??Y?Q\\ ?>???5?`R{kX??\Z*?C?~$(S??9?]?a>@??R?\Z0(AY#VA?9)?1uC?Q?hw[?܌??1ʏ?T9?Ut???&?\0>?8zK?-rԶ??5??knO??q??????????P?ŲO?*??y???@?_L???????6?%?d??H܁?????E???;???r???. A&????Ԡ?I????\n4???$???????????0K?????? 䈉KHH???? ????1r.`P/\"uF??E??W-@??????!~?VG\0C˘?J#????;?=???4?E?JFg{???@?\r?r?????`?^o&??(???_??b\\R%??L???\\53?5?!?????5R??2wd?c?R???Σ~???n??{???Y?????ֺv5e?U???F|6?P-??A?lM???(E????o???EX????|?V@?6_?m?F?????tw{??iw?	<F?rG??<Á?4??fɻ?????8?	?<&	??AO\r\"????ra?Mj?拘F????????)???\'f}F?|7IL)??_3?@	?1`????#????C??,?i?|#\"F4}\n???????m????v#h?qn?k+X??kb?O!???,_`?\'NK\\?0?u5??<\nt??<k(???AV??4T?X??mQ+0????6?????|???4Y+yy?T??\\?\"m\nb??|???!n??~??'\0>~??H??7!?I*y?y?2???`?|:K?`?]?z$?????5\n?\Z?3a??o????֗|???վ??Z???jo?X?p?ù???Fo??7??N6?r??0Wu?t?-?r5?A?Z???(PN?h????J?Yts\"?磄??`??L?\"J??f????)????h??C^????Z???ww\'?(????ƪ@?????~Ck?\"G]?gK^-?t??&]?z??E????????\\???"W??Z??;Ύ?3??4ʐg??`??P?f? ?th??.??`?U???/??Tz3???????5X/6c%u8/7???!?v???S;d?????????V??j?h?.??5?6???=??Z_t<?D????Έ;??L??????)?5m????????????ځ?????????\Z??{?!??:??lB5?n?ژ???????ׅ?Y`k?\n@^?֑?ǇQ???_	X.?!?????h&?????,?wq?h?\Z?0???7? o?>???d?Z???????i?V?????	?Z$??Ykڏ?e?(???u?~?R|\"$Q? ?ؔ??W?s(\"?|??u??ҫ8RE???r)D}??V??\"?CXl6?D??r??[-???d??]???6??̫???_?Ա????|[??]w????6]?N)\"??\r?_???P?S6???B\n????SX?6??`sԶH?1l??㑏d?????<hxe?P|h ?J???Ƀ??Ye(?n{AQhatIK|v?/?+?f??xX?????	??3\Z?@j> #????6帡?A?;???`XQ?C??Z+??Ml#YB\Z?/\r??bl???s??f^?	????Y??8?Z?h4z????o6\0??1????hF7??f?nr`LwP?h??????K??)̙??9?\rp&??\?????>?<Jlnc\Zā!???\"?chk?_2?{?\'.C?Lǘ8??4?/?E???4㊿];????????ZL{?T????RM?H?n0??}¡??!\n????N;?؛?۾#?ݵpc?h?;?wIa \'??/zlȽ\Zc?g?n???%Y??\0p?A8d?$P[?m?C/??8?M??@?N??.?_????i?[0V5???e??J?????{?DV???i??Dq3\nH???87???J??P??\0?&u??:???3??[X?תr??r?\r\0??eeh<~I?0??,?t&\"o????z کy?D??K???{???L?{gx??S? ?aI??????֔V??T\n0x?i??[&K???????Z??[???????{ff????\"?M????Y?VR?\\?<=TU???@?j???Ma?A????,46;?T\"?=iY׷s????n\0Y??bNkҔ??Cp??w?mǾ??w?Á????X?w?\\???.ݾ.Dϱ????1?????hZ)?O(0??\0???)^???????\\	}߮?9?b??	?????F?%!???\n?????ҷ????"?-GՅY?	???-\Z??{$???1??k9?G?p???y?`_I??`?Wm???X???/\Z?V?W?hYl.??y??)?17??9Ҹfm???q?p???????e??	???????t2?b????c?5?^??^ƭ??l????K?6?Ǻ????Ճ$????k^\Z??7?????]?ߡpg`]K???ʷT???????(o䉓??E\'[©?-????(6,?3?3d???	j0<)Ρ`]߉?Z?\"(:??? ?x??,?=??N?^<?	5?ǎB	??"???Rs?b\\??ȗ??\'?[I-?Y?I?dD??q+V?V??^?U{?????????6u?,fu`d|????????h??g)??\'?;W\r\'c?n:?ϭ@2?????AQ?)f?KC\0?6??#\"???<?cӌx??????`Z??dT?Ўţ???????{???)??e??|??????r?%xq??2[6???tdT#|#??_b???Οft<?W?wT\n?Q?5V?{?DQ/?<??????9}hG?iЁ???O?m\n????ݗ???+?;??????(?^N\r??BD???5??`??^E?uJK|V???..\ZC?????-??ؖ?DXV?B???}ήk-ʹ?VR[?#??? }?ckk????R?\rZ&q?_pC^u?L.?p???k??????????l?????????????8????????\0','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:7451b11d34ff85eae3ea96ab2686a8b3','e???0????N?qSc0&?z?3?EZ@AH?$L?N߽+n????cqer?%????}2g/?vO????????r??7???GV2?5????Vר\'??JEõ솦A?B!=?;\'\Z-*ŕ?M?a?2?????i?JW/?jc??nZ? (®`Hك?@aM???I??`?????\ZTH????j??3	???\r}v?UC~??٠;mFMeh???ET??5?Ϥ?((?ʚ????ߩ+?{?=Ѓo?Jt?;?c????[\\?_?RJ?&A??R?_?m??T?3?\?t-?\??C?=P??D?;f??+ٞ???ё?,??????2???I?@f???D?]?֌??@???ކ?R?:???]??o??:r\'??B??!??o-Ш)*ߒ???zr?*y??Q??????E???Zwl\n??!a$?ڥ+?nz??p???}?J[?1?w8???Q??e??F?4)t?VB??????a\\䩫?ܞ???V֠܊6$ݐlC??o?C?\ryސd?Eۨ?m?6?x?D?????}X?+??Xv8?I??g9y????.*.2|>U??W6wj1?E?O????>%Y??gE???8??d~[?r?~??B?h?ŕ?*?%߿<???$?F\Z????a?????.3??^*k?hǖ4??޾??2+O???DPnuqD????9U???{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:78965a7326c70d95ff1d0d42cac481f7','e???0????Nm?????z?3!?@AH?$L?N߽+n????cqez?'%??n?K??????0ց?Q?)?\ra&?x?)	A{?)??\Z??t?R?)???????K????F?1%Y{??BX?L????????mlT[@??rn0????Z?G>P?Z%??.????n??B? ?1>$?fW\'?0?A???j??P?????Fr?YD? ???F???^Y?XمX?'v%ې????MT?.??\rC???6????????HP?(ko?뾫?6@??X?3?\???v??rys?!????\r???????Q?V:?Թ3???P5C3Ԇ?D??\\cL??ft\Z??>??R;???]Űo??8r+???ㇽA??o,Ш1*ߠ???|r?(y??Q???(??\Z??/????L????Hh+Փ??{^??U?_ïI??TW???g.?4??I??j%??^o????gy?O????@JJA?[?lEv+??H?\"?9??EN+?&k??:]????ׁ?s????΋ۇE0??b~????ۧ???P????e@?4??)?????:5?$9?(?$e\";?vY\"??`??*???2G|??????ِE?7?^??l?>?V-?{?~:???~/?2=???RH?;?ę?????<O??vٞ~*?Hy?=?T?^?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:7e27e5cf4ba72511faeef0e79411ebbe','e???0?y??N?pS쐐w??i!??0u:}??8x?I??????/?%????{?????ç?L?????????q?+	Y??????F_??T*???4\r??J????ZYi???E??~??Ʃ?\r+[c??{e?Kf+???AJ??1?0?;ɚ?\'>B?V>??O@#?W??\rHiL???f?\'0)?????"??tƎ??*?)?dw\'?\n<??TPꕳNuQ}Ԫީ+َ?\r??????\\?O?)?\r?n-.kk?)?L7?hZ?让???еR?f*ىj?p??Vn??{J?~Ի\n(??9!??E\\j?r:???c?x?R)??#?f?\\???ȷv??$\Z?D?????&?u?d_y?b??:	??NQ?ٙƏzC?0T?uT@?\'U??????t????Z$sB?\'??!}?hݱh????đ?j??Hl+?9?-?l??j5l?$?8?x;E騷?\Z?Ҥ?38???????q?]???n??YY??+?mH?!?\r9n?????[?Uͷ??V7?n??_^??;ć`y???z????\???2Q???X?__??ť??????8f?9???P???߭-Ј??@??x??@4??l??)???/?靹?RޓU???Փ~?o?{󫤯??N7???Ɩ4??}{??,0+??Ev?Ě?8Ǫ?/??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:810622990fbefe6aecff490754f841f8','e???0??\n?Nm?Ʊ??CO=f&??????ݻ????iw?,6MN?Sʚn?4[}uB+???e?7?6 ?e?ø??3?rp??c?t??(\n????&??\?mY?ua.????ɥ??g???X?,d??(+7?ډ?J??6?o?̠Oف??@a????\n?o??ʧ??ҧ?\0!????[Q??6CdmӀ?U?_$e֪Z?Q*?c?"(x?n?I?RR?zft?}]D??ԕ??}???h?UA%???v!??9?nǳV7????Ẁ??24B.Tٗ?5?U3TlBN_CH?[?????N?/?(E#?HV??`mGWFw??\'3?`|W????l?;J)G??>?????\r]??\'????z?Tlv??????\n?e???ԅ???$?R??AP\'D=0<!n?'?????{?ɾv??\nj??;???T?6?_???~T#???p??\rurl??\r?????IPeK??W?K?i?$,-@???\"??#r??D??D$?(?:??⸓8?????qq;?ƽ?̯~3?ool?????:Z?8??-?~g6{a???zzX?=????ھ7?t?c?????^?RZI;2?????a?zNv???r?x?q?????H?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:843fccdc48112f89d2f565edfe36bb4c','e?K??0??s?)??&???;d?e?R?Ԁ!9?0qR?{Z<????[??L??d??28?/???š??ޣ??T????,\nZ	?J&??AyF@ֵ??P????i??PHO?!H?F?Jq%yw?sȃ,V&{??lZ???˺??h???\n??+R?????)z?x??|~{?~pgV?\n?????Q\r?ߜl???????N?j(.?1t?ͨ????awo???3iH?^Y?T???u?o??<?z?4?!?b??c?{?6x???UJI?$?V??{???-????Jv??K????+vG?\??_??J?c???o?J????????΍?Ae??rs6t%???f??j??????&?v?d߹7|?6*\n?NR?ٕƏzC{?T??T@?&U????.??t????ZDsB??&?!~??ݱ(???????j??Hh+??#??w???*9l?$>???8E??\Z???+X	???S????q?]?????w??????rܐӆ?Rl?C??mU\'[?Vw??,?}|}]n??O??`?s?%?C~<^?I! /??'???????;???f?N?d???9??*;???g???߭Ј?8O??x??@4??l??)?????y?V>?U#??ٓ~?/???I_???n*k??i&???ʬ,???\??C]?š>??(jLO???????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:884102e7547df20f5abae37625160ccb','e???0????N?qS ???z?3?EZ@AH?$L?N߽+n????cqe??????>???F?\'?????FcR9V&;?8t??L`\r?򌀬k?????-??i??PHO???F?Jq%yw??X?L???lZ?????????/\n??+R???3PX??????\"???ƬR?1??Z4?:???cdC߃?jՐ_$e6??QSZ)0f?to?\"?i(\nJ???é.?????co??<?z?T?.?b??c???6x???UJI?$?V??[???-????Jv??K????+vCޜcH?????p%????b????)????T32s6t%?t?3RJ5?yz?sHa? S?v?¾qo??T0ȝ?b????d?T??T@???|K.o]Bg?Yr???ZDuB?ˣ?!~?hݱ(???????j??\"???g_??2???䰅?x?èn?ū?\?hTK?BW/`%???wL?n\Z????????????$ې?r??C??oH?!?\rI?-??n??q?????_^???"X?vX1?????(??<x??f\"/??:?????N-&?:?QT?dG??JO??????`2??Ј?9O?zx?!G4??lፒ??????Z>?V#????0v???I_?hmN/??T?cK?IZo?\\?/?b?&?.??P>??Ϋ???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:9296dee82f6426583b735eb8d8649db8','?_I?(???B?=?dB???c??COw_`?*AI?Q?p~?????I6^??*	?{??9??*3\"232222322?X??e?:?j??M??2?F??U??sMo?g7Y?\Z?gU0??8מ???G.;йi6???l6W?s\ZM?a/?????U??????-?x??????s??ԫ??@л-?xo?|H?w??-???`k??????O???4?Z??6?φ?-dq??lZ??sīw?\Zݖf?L?{?\'(?C??Ѽ?n&?MMm#?NԼ??{A???f?"???H}????M??n?8????i??΢??pZ?O?N?QE???T?"\0?!t?M?ys0MF;RU??5?݆??c?&????hΆY\rx?=[???ջ???Ի<K?.??3?{?uw?{]C??X????"<?/???!v??l??????bq?BM5?}?????Z<??~ݷ2?fNϣ?^?/????T???8o?Q???Ɠ^??KF(h觮???$?qT?h8??E>	??L0%%Fg7?(T(c9??A<???,??ww??(?\Z??????ft=?a??m?@\09???*?G??tM???\\V3K~=?!Sg9????K?~???8????0`??<?j?.?F??O??>k??A?֕?\"?9P??\Z4?\0??8bi??$j??????????~2\n??Ē?S4f\Z?fSSa?DL???\'?ʙ?#/?h??뗽?d4I????i????L?I?4?&0:=??忓?f?????K\0??v\Z?0??g5?E\r?i\rA??_	?????,ɠ?^??(>!ݫH?R??R???W??7??U???wϦQx	?\\?=H}?^???2??4>Fs???????zÙ_?Qػ?Yy???y??+,tO??0??ʳ??0/{??՞????!?/???lF᪝???<`??e$???Yf\Z?Ī?R?????????q?K?Yj?i2??a2 ?\\oeE???{?h0????L\Z=??Ys9?Q???mL??z???MS=4?ځSm,???ԏPI??????Yҿy??N???7????!I?:??i?Ljh???O?9?Q?F??(`?:???hH;c????1`6?ww????T???Nq??,$P@??>\',??F??r?d\\??l??~???\"ю???`?\0ؕW,)???~y????:??T?,)? Dؘ??	??W??o??K????R??n?S??i?\n@N?5??2?~?Ǘ?0???0???\r?3X?Y4?Z>??A?\\ӡ??2?%K?v?L????.M??E???(?\\?MxE(??|+?oc??Hsm??H0?%C??Q??h??ţ{?\0???9?Af??	???[?x?ņ9??4?ŶAX?\\??V???۬?#K????????Q?????S??GfS?Fn?s[R?ߖ??%???0T?\ZG??e?^Yߑ?湣?˺?FU?c??0???5?4???u?Κ֯???7??????Z?J??#O??????i4??U_?Z_?*??4?\0l\n?*=l~P-???@H?O??NZ????\nքSN8	R?kі??@???JZP.?c?u?ӿE???p$??C?!ϫ?jN???,$?_?:?C?~?\'BNhl??yj?0?>?%?&???\r?????'?B?0D??~RE????2???\'???-?@????F\r?S??i<>?0???m??\rT?rn}\\?z\Z?;?\ZN?x?f_???h8??˦J??+??t\\???i{??V?*??{\\\"0???͈?ƺ????????R?U?Mkͣ?(??ͫ??,\Z!;?1sPM9?!?%??QD?8??????@A?w???U???۞?1??s?K?Hi??PǮcT??V??t???)?@?,ի??]????֏???`#?\0??????????>??V~pZZ?i?R?d?9F??_2?7?[H???????q?[|?^5??j???I?u??Ev_???l????9 0?n?q????r̆z<>?=???T??n:?4???zJu??\\???3??6?|?0????Q<?7??4?v6׷Z/?֣???˰???g[?????٫<];W??EC\r\Z?1I?i8??UW???0??\0<t??ix?M?:????+c??Qu??	? ?[???5]Գ?Z4???7???B?????V>???P(*z???[?m????uKv???f?\'?2???ˡ;?]I?ɬ??|n??(?$S??y?8? Pȼ{1U??d???ښْ0/Is???0!ylI?u?0??'???`I?<??k??dE??Χ??eR??:?*??v/?/;䤷v?u1?#P?{?7??Z??N?E0?{?>D(???+$?4GBV?\r??*?B??Sw:\\8=N??F?IvSsA?????{?pO8M?\Z4Y{m?k9Z?c|?\\??-O??8]M?;??????bi	5:\r(?lY?JX??e??M?OnG@3w???????,A:??$?7!????O?+i%W~?zݳ?w?E?????i???;\0?c[\n4^D?{??J?D\"t&?+?z?d0?????!?Y?{???ڸ?*\n-???\'Ή/?/??????r087^>?z?????fN|hR?ڟ&Y???????!\Zd?y??2?^??D9????5?<4|??-?? ?????0??8C?~?<?Q8?St??r?*J{???;???A?????V?k?y?^?Ǔ????ڹ_=>~Ү\"?8}???3$#????:??\'?????vQ?o???!?(`O?zw???	??6?ES?ݝr?\nrg??.?y?I>WQYB2?ר+?[?U@޿i*׸I7?%#?ih52?Nq\n?n??xKv?$K?????.y??g?C?(>???B?Ѵ+i?[???|??n0`???V)?&&?ӷ}?????,????8ө???????L?	?;???OJ;?l??n}???y?k˹??*?R?? U5????}?T???D$W??C?5˚-??r??h??c??N??bGp_/?? j???N???}?>`?/?!??k?>???ԕ??5QŸ?3??&?<?????????,?j}???d?}???Z?mC\'??\0?\'dk??G??\r߽???Z?Sj???ht??+?*?Z???W??M?۳B????CQ?L{H?G?\Z??w񀩉>r?h\r\r?+?Ʈ?\"`???\0e\rJ???^?Z\"??dK??9??8??;?X????`??#??͌Q???!?>\n?GW1????Kj$#/?aD[0?m??[^?:M??p|?\nP??]ǐ=?????	O?Sm??Г+?W ?S?ĳ(?͒I?U3???0?E??D???![???<???????.??	֨?\n&>?B?q??B]H???8????O?3????o??Ʒ^???????????6%???J?0LI??IB?gz?C??A?J	4?4Q4????h?>?\??????c?4??ot??P<??'??FeV?(?J??[?˔v?<8??P??.??֪??Q??*??D??h?CW???2dJ$#D??@???#????Qd?`???7d???D\"փ?Sy޷v????pe5???b	??T??>???o???I???2?\"?E}?G6????t??z4??qz???\r\\)n ?f?????QM\0????Y???W?W??o_(???\rD?????l;G?O????'x?,SU??????T???Ap?n2e?q??vh?j#??Z?\r?t?\n??#5K,????6??MGM??=??\rhʍ??DD꺀RN?4????As惚?ZZ\nwHS?:K?}w?;?L????$eNy?V?\\;??4(i3@??(???,??2^??7??UU?堬?????????I?DR?FEY∱1X<??}g0??t?iPke??Z?H6H?rP=W?21?a????P4?u%?\rJ??c?????u??F),??yJ	????Z????\r뷨??k/p??L?nSlC7???????A?)5???n?????岮/??K?g??+?2(%l?u??P?:b~Qe??O7[?????~??s?L???M????1ܝA?)?J=9O??W???G++Ta2?m????Z%??:z7)?^???YM??? ?Q?M?R?4.$=?u?7Y?rSi?t2???L??jo??Q??Fi??????K?ՊuR??r	.?I????\r\rb??6\Z?ȕ?-P?z?L?s?*[x??m?F?o[?~NL??? ??]?p???]???ц?????}O??/?N???????^D}1P)XP??K??ݟ?W??	???ڗo\Z?\ZX~?"?<J]5?3?=??.?f?EW??~???O??V}]t]?r=??$Z?	$8?7???+D?ũ???	?0*???zL??u?՟d???C??Y??eK?uL?i??Z???ԩӺ ???rP@?3%ͣ??\"O?e[?H3偦h?[lY???j??A?z????YÇ[???)8i?=?ir?Z?(???E???7?????i?,\r?Ԍ8??X?+?RT??Xl_????P?n?|U	w?I?i폰`^Bޛ#ELt?IG%h4????3??{WK?????~羂m?????_??ѯ?\0??;$?4\\???,*????Y???:??	?\nI?GWd??:1ZCi???`?I???ș???r?ρL&Y??Kizskд???@>??&?X-?	i???D?a?Lq\0??v?V{????i2@\rR??ϯ@?|?]{o?w^?(G?tSS?i2?li?U?X??m??Nke]5ԭ\n?d?&??L?#?$????qCRB?`Q?i?Z\r???Xc??n?Kyb˨?&???\Z\0???_?Vs??z?Z4??`?X?Ǉ&c???e??i?jt??3??????Dh???u?YK?[S????$[-_Y!??v?1??i??B>\n{ޛ?F?c?????ןB	nd?o??Y??\r?`??/J???c?R???U????J????V???W??o??l??t$?ߢ??\'j?`?D?%C?+??1?c??Y????pgZ?:5?WO\0Z$Tiˁ]????ٲ?m???޷w\n;.?\n????廪??rE??\\?7W?_?ٮ??????`????????(??g6?@jXy??he???ΰ?o??ܔ5ǲ@???]˹???N}??F?VU,?`??^?w??I?0?;Tt?Î2???/$?X{ϡ?N?.??-yW??ۏ?d?*bf\\??`\Z??#?d/;??0%q????.?i???e?uY?\\?F???euᠸynTX??)k?<?7??`\\???y?????آ`UKQvj?u??ϟ?G?Iv???h??&|/\n\nK=:??s?{<X??????>K???%?,?x??~uJ~{u?l?e?????o?v? -+@?,???pXPf??!oڣ??G!?c???	p???Yx?y????S???????x???1????s?s?V{g}?)????^???)?d>?G\n????jU???=?M???0??[??Gu???E-?Z???U6?U\'??2TC\r+Ҧ0?E?.ٌD?ڑ\Zm????&?LS?t????e?բ?\Zgy#?\0????j??r:????X??K??՜??;ٗ]\0??ЇL?Y?????R??,??Z?M?????m???״?&????\r???e\'(??+????r^?V1?k??:d+=1?M??g+??F???I?6S?n????????\\??a?L??2??W)?Z??%??Qy\"++R??]??/?,}+pe\':??&^??r??X???????=w??\n?1vx?.??Ujaz`?\\n1?LAB,`?\"=????.???$?Zl???̌??>\n?8?h~?TW9?????[K?k8?>??ق???_?\???????sxT?ww?fcN??v???\\??9\n?Rm?5??9>y?V????F.?*?JSOV{??z7??H?\\\r2????ݦ??*t??y	0US??????)???@l??l4??r??t?L?f\r???N??O?+??? ?t?\"7QyG?I?wu???\r???/T̎??aM?⭋?`ŨI^?Y<???s??˚[̒SNݗ????ё???\r?>q????~??5\0?Ez?[??? ???k&??=?	0?????ʭ?-????Z?\"}????X?\"??K????N??9?\Z?f???zn?? ???s?N??XD??Pi?????I?\"?5)???0??ϊ}?\'WxM???d??Y8x*??_?=???x???^-6/??4[O???R?Y0tR????I?	? ~??\'???????B?Ji?????!S+??\'???X??R?A*??,=?k??<䵵(2??Z?lD?????????b??lֵ wuk:{?u?\\ѹ?ҔeeR2?H?^?*0§???E?[x???c???΢?==??nD/??zܜ?x????W??????&q\n?V:????h?X??L?1H???!?4?W@?\0Y3?Q??e?w????|????l:t?.0?	??7?.??\"ռ?~?>8??#??t?	Ƭ	1קhf?Կ????\r1???>???????????vE???yޣ?6I??Z??})$?(?\'L?&??\0??oQ?Sؼ?:ٶG????<?????N??PEm?-????\nh???Ʉ?????z??ؒ&?)?ζ?JWU??S?{|)????????!Q?T??)??\Z4???Ƙ?????B??F??Y<?W???6???"??6^????tVJΥeZ??N?B?=??kLr ????mTfc6?+?Gg1<WXNf?8F?y!?	??Ϟ???sn?*????7?ϓ=??D?W??????p?t$2F\nr???|?????Y???b*?????b??q?e;?s731v??Gh:_????aC??}??Y?????>q??Uo???2]?q?K??U,\0M?&??\Z?\"???J????`d?au?????7]???!L?PP?t=?ݬ???o?rzx0e?_?\r?`??Io?ï_??x?r4??H????++???k7]Y?????f?C?C??A?o8?l?????1E$??D?N?#\"#??\Z5(9???????????HI???Ûd/??j?a;0ԡU??.???[??ww??)?QlA??w??G?K?L???n?O4?u????\Z?\01ah?}bT\neXM??J?~˞s? ???̛?+\0:?!?ʀ?"?9?????i???!????BF???/`d?,W1?9rӎⓓ ???L?_J?*`K7?89?EfE}f????????U??Й?M?<?!\Z????????B?"?;?4????8\\t????\0??K?????i:{R????1??{K??rs,??1X?Y???q?\????????????w????????????????????[xփy??\"?z9????i6?vu}?G.?)H?:??\\?m????U?#?s/q??G?f??????5?K??a??E??f??Ҁ7aF?k???0???{?)???'H&㉼G?%\Z?(?????h?\"?Y?]`R???<_??=y??%??f?|[??*uDW͎???\"?]????ͭc?#?!6͏s?_Dԏ??n<?[j?Ws{??e6^F7&?G?K??P?8R?i?(/~?S<?LZ?_Ӕ?{~?pnS????0?TtI??*??\'?Bd??<???????u??c(w<\n??RN?4p?U?GQ???Y?o???$?JR11?d?+M??]?N?4???{?\"??>FR?Ť$?z?L?+oom????V_⤋?hTr$?hι?7Ǻ?/I?R<?\\e؉???.O???@?????[N]???bP0???????,?l_?5×j?G?<D(????^,?׆?x\ra_???bx??Elt??\Z\\?N????ݞd??fH?ah?N?"?????????0ͳ7?k??BF?˓?C??Ӊ|??j\r+T:Վj????{uM?|????????a%?a\0`%I?q???M??n???ׯA\'?ΫQ???V?PF4N?)i?????/wKL?UhS8???]?????xj2W?4??J?7??;??g??*Bśҗ???x??_?sw7?&C.?1??=\\?=3??5H???(}??|?a1ydK\0??\r??????????5?:H?>?\"?K???G~?hY?!?~????WǞW_?z|z/????F?qd9L??%?ʊ??S?]Z??\n???L??:??e?X?%?4????XEK?j??????5?c?X\"VH??????7X?s?y?????n????\\?U??܁].??7\r?f?????????q\'??87??3?<???????v\\?Nb?_:?O9q??OJ{?Kџ=?&?"?R??\\?????v)?ƴ?????L??2??Bq?G???????P?t	H?-:b????GV???\rhN???R??9??4?e????rV??Nwb?z]??ʁ=?Fm?^DQF??$?&??Z_M?\"4?e?Z2?!?????: ?'?\"??C+J\\+ӷ7?<??::?9tSذI5??42D+?\'?.?@=????Rɕ???????????\rB|??%3GGv????A?*?[?????[??a?????nu?|Ge??PY??pMA{>PѲ??:t??au3m}??_??o?@???$~?<????q????9?ZO?*=Ӆ1\ZԎ??\0u??6\n??A?^\r?y????Y?~T?#X	[\Z??\Z?E?i??X?-?c??^g??F6^?M\rA????r?Ӭ?Ϧ?&}?9B??_\r@i?Q??)???ҝs(?N\Z??|?=??F??\r3s4???09O?W?\\@T??>8?"|??k???v?j@ŊB/??ng?@?3???ֹ???[?=???zb??!{e?Ԕ?	?t?0R🖜h?w?X????*???,?O?|Oٺj\'?~20r???8??w?????????[?х_m??;R?)?L??ܷXC??#T???\Z\'y????i??:?[«|?8??4݆?Q??i???꣋L??"???Z??g?C?ɗ?	???K?pڻ??XM#qNU_^e??f??)????r9T?/???????!??|?̆?M?!??5?:?\ZLٯfC???n(\ry?kNE??6^z???:?-?F$b?????f??\"cz??1?|:!??U?Z??=???4b_J?ܑbq?ף.???=3.?<\Z???$?᝔??d??????,?pe\0^p????\0z?N??h@34???^????/?2@????P$?J?????nX\rvIWc??4???????)=?@{?=K??W??ao??Zʽ???\'?.???,\r?yW???*q??_3g??x?Kq-n???\n???]???????????????4?MS?L????SraA??og?|?????6p?6\nc??3?=)?????z[??!]?????j??\\??_V????յ??N???????\0?ml??????0U?9??a??N?dS?Ʋ????7O\Z?	H?Mt	f?t\0?<??\0???z??a??J??Q?z??ӽ?o??>,.lv)?8?[X?Z?&?\r?\r??j?????????7????/??{??o?8?r~}@?N???????w?r??????$???ۍ{;Q?n??4????&??\\w?\Z?ds????5۞??3v$w?\"??n#?????62???fq????????۫?????M??:??+X?????????s??????9???χg????RA?????9ͧ??t?????!7?<??ܗ?+JK)f?????????v??΢4;???w=7????\ZN?y?G?q????-d?_q??^\"??z?\n|?O\'?XY?\Z???{hX??&???V?=S?Љ|\'[f?3g?R????????ul?\r<??nW?(??m??X?Q?? k?\n?E?fSl?m\n??M?????e?/,$N?7???.\n??4\\o\"??8??7M??ђ^qx???bn???̆?????s(yr?i??????\"??????o_??kL\\?Mc???t!%?:???ߢi?VS{????ٻ?ro?????????T????Ô?\rC(????????0?r??Z%$???O??<ń?C9~?6!?:)\'Gy?A??YG??ZPCH?????%c?T??6Fxq??ۿ?\0??	.??Z?;?_????_ʧ^?X?0`?h?r?iC??T-?$3??\n4?in\0W??ba??Fn*?R	+0v?Uy\n??o???zZ?0=\\?r9?????w??4ʤ?\"???G??????HR*8????Y?$??xk\rP1\nH?Y?^???Z????.?????磐n&?.??J????X??8Y՞??????????r?(xQ.Z6??????R?Z?o*??t?}Ph]?N)K???#??&\Z\n??%֮[??ꦼ?,?B???_E˨??z??HK?l???:????j?????]????sk???ޥ[???,c??\0_?????&?,??`{gZ???p??P?La%???U+&?x%Ђ?F%hm?"+g+e??0?a?3Z?\ZF0???W?VF????ʀ-?tNj?n?,???Tْ?O-,??Z??	?ڲ?n??c%???^???fg?j?H?W???#???{8ɞHTT|?\0?y??\'?a????:??Z-???4?`\n؟F????[}+H??I!???<??Жlz????g$Q?ǋ??A?/?N<????y???xy\05???,????b?B?->????}?D\'?????6??o?????++nNؓ~Â??!i?0GD#? ??GK??!?????n&,?B!߽:LB??*?d?:M?E?)???YR1D?V|fn????~???J?L3{????U??IYF}??????wy??dd}Z͙v?^qC<?%ÃI8?x??4???Ef??\n?۠>?$v++\ZX?~\Z??飮S<?90?f??????	X???s??^~???{d??H?\'?'????w-\r?F\n??5?gҵ?#???ݼ?- ?%_>X???.sȕz5?m͈\nn=eY???n=?#?r?؋@?!???`z?+??>????[?Jf?;?{?r;???K????.?$}i?a?n%?uw?=I?Q^????????$?	??Z??l?m`??\'?XpȬ??@r???ȸ?ۅ??_$Ȥ?kEGy??q?\'?pQ?*?fA??ˎĂ6??/?????????1?F׆?Wj??2??`B??ڣ??T????(_\Z?8 \0???:???D?8ru;?????????$??????7???*u?$q`,??o?(^1?n^v??KZ?	J0?r??U3?????@?91}{??W*??xO?k?\"?? Ң?`l>??W?(͓???=:??5LYRo=?z?\\?v9?F??5?g%+?_\r*??Y?\0?l/??-??2l??4????م???M???,^L	]????AK???????-??s|,@??]A?thci#?@?????\Z????^??[???\n?)Y????{??@;8?`????rP\\?I\0?ٸo?S?.7????Q_bM????;?CͭT?&|>??A?????֞?5??{???}????Y?0?ݥ?K??v?\"?e9?-??[????	\'q?E,+??]??uC??\n&??l??????B\nzұ?X????֙역4&?;?(k?z??g?A\r???5???N}ܪ??X^?5M????l????9?\\??I?>T[c???_őG??*O?ɕ?*1=??m????r?:?7??^@V?q?<???ͯ9JF?????\n??B[@???gL?_\r?=VT@?P?\"??R????2I?SP?ҰtG?>?@ sf?++?do?V?6n?q????b?;?j2?3U	O?,/(?A??p?????.g? }b?y?????O????چ??1??c??"?}?R?ƶ\rKUDy??m??????$??G?~??\r3\\Z?c???w?h?^?OO??\'?\Z?Yk?M???k??\ry???8?:???+o???U?SN!E?^Eg?0fT(???	??????T5T4p<????v??xR??4??5}??Ѩ$bw?#????1R.?[?R??(????<??	??W?	??r???????ut???&?㵍y2x?g??B^_ o.<???f?`^??0!??E???)????-?D??iv?b?-N??b?/\'?+??*R*t??{ʟ?U?Q?-@??/?/??G[??Q??ͬB?%??\nͲ?????b=? G?}?6J???߶??#Ї????,????\r??I????Z?:6??믂gM<?%??zb????$3J?????j!?1v?\"?F???/Vf?]l?֦vdȢ??d٭?k????d????uaR??\']?o???????????{?;?&$??Z?\r]@?\Z~??M???C-??д???-m,`???P`??x?\'97?\"\0K?ת%bq7????}Ŝ??|??w???K?<;???????K$???????9??_?|q??\\???a???x?}?\0m????M?п?x#}???4?????_??n??PxX7?\\v?{??\'g???z\"???(?Ҁ?	?|??;?i}/??	ʬ??_Z?Ie?}?????ޡwu???D?_Da?\\Y?,V?텙???[Ol???3????{d)D????h菣?CsZ??9\"0_??Y?-g?糉??.?c?g?z@^??7?v߰???	?????e9!d.lMݑe?Wl?????by;B?$????쌢??D?Qm]Y?ϡ?1?m:+????S?L???^կ?W?L)?ȧ?_=>??8????H㪉dcU?????}Yuii?`??oQ???Tګ.F?\'T??b?a????t.H??l?Ώ?????\nǦ??s?hy?+䙳?Y????C?}W4??????\"^m?eZ1???@E\\v?n??=???!xtx%snR?aaBq??9?=:~(??{?4??\nā?)???>?*!>w???h?۩????9V???G?FG?A?B???\\??紐?Ę??2?1?U?u~~?\ZL?\n?qC?Y-DU(-???\Zb?	jE\n???(????~vx?e?,?=?f??\nnA!???\rS??\'\0It??flJ?g?kjx?,?d??W4?VfGIH??????X?!?i?%_D??<?J>?#??n???׋e8?>u????e?d??????>+v??????J????????'???y???\"X<?:?~\Z,??0tG`??l??K6??)?u7?????Mq<?PcOmt??ܸ`<k7?U??????SB??P?I K??E???d??֐t???0.Z;??wS~?b_o??v?{4??G?m??P?0Q???/?&?0?)H???&>????????V????V?BJz)LC??o???r??.	ph????8?R??X??X???(C?Vt?Fm-dS???B?Y=??LÒ{?KfksW-kC???`??????@?mC??u??COGt\'?#????K?S?????????H?I\'D?|?Hn????wuؑt??5ַ(???f:??@:??{;?\0?8c???(?F???h?????zww5?pz???quc?DN5????\Z;?g?4E`?JUݤ?I??Θr\0	?gk?3?W???W9?Y????>??ur?+H????[\n+???/??We?ց־?s?W?\'\'Q??w?y???  ?vœ)\n??DB\\?????J??wE?8??I?N?\0??(???ԅ?K@?H??Z??_&??????`8U??Q???*v???;<??`xOE?????%[8?~!L`&g??-?SZ??P?b??,????l][????9???@O]???|!???죋u???{fxuTHѧq??U??ɺ?\XY!?TA????&?-N?\"?^??s?\r???;?[@??????4?{????^mX?l?ب?k??Z?7?5????__?????p?t?X??????~}}e???W?,???\']?o?*r?@??vu/Eܗ?qy?3c?p????????}?3H	?\0k,ӨOA????\09cnI\n+?7*??z???-?$>Gt??r????.=?`^m??????X????sTd??<?h???\\??/C?[?m???Za?? |?"??\n?ȭ?WЊ?[F?4??N?D61??SLV??????j!xReq?u??'(T?e?U7?ŸO9?{;???,???p??ɂ???NA??El?ǹ??p?????1Lw?\'y+O?r*???\n?Wܳ????$?	ײs<?m	?rKȂT\0捝xtN[Q???'p.??t???2\Z%?uL??<?J8??[????u???/:?`?pGH??_???G?$??2\"a/?\'i?ZY)K4??6R??[??>?ؔUg6.?\"?z}?-??J??u3M??sB???7?s??|????U\\]?l?Y?.?Y?????#\"???T|~?<#T??I?y?*i?5??ţՒ??s?_??????G?9a??2?U[W??????֗d?\R?????V\"3?W-d????gT?w??}??%jjo??^??Ӌ8?W偊j?:J`MN?~U??4ACX????a|?\'?UY??#p??\0?~??|??W?h??i6?YQ)5?q8?q???}|{DB??Yx??\Z??>?q???$??2)KU?34?SЛ8?????v׆yeeu??\Z?xu???W??hp?1o?vV?????sx0.p??????V?ʹS?[L?ٺҺ~?oN??xl:P?g)???.??????\n?Z?_h???K*???Gc?T???SK??q\0????~?;(?????D???-#?- ???V*?mJU:??.?a:V?IlT+kA\0:???5???1aJ??-?P+?XJ??y?X?*:?F7BhN?I7??R]?A?g??D/7????|????0EG???N-??ρ????6?S\Z??O??RL???k??\Z?P>EԎ4?\"]????/???w:??????uX?ΦK{??E?k??R@???\r??h\"E?<nj???????;?ǩ??O-R???+?R?*?n?3??:?Á??m??<?^֔???\0???~_PxN??0?=??&ҍ]]|^???:?&?????/?Ŗ?U?Q:???L????*a???S$?f??{+?R9?ɢ?+%?N?ִЪ7?????\n??^???\"?:4#??"?v??G?v$?(nYȼ???Q??L[?PD8????????_???B?u?V??|Q?\n??>?_@????vhQ????bIDY?Z?#?H?I?VxP??^W\"?m??T??OU?e??*??#?:?d??֍uqa??}??kj???(7èZw??nn????"%iM\n\\?D???ܐ?$?S\'?j\Z??a-U?.?%??2@|M??N???2?<?K??ؑ????:?<??y@?/U?\r?&????b%j?1??hy?t?:֏ԏf?5?Vx?B?nU??c?U?0h֟?\?W??IU?"\0~??G\r??/U-	??????F?61?????1?P?!?)?????{???~:?????ժ>\n??r???o?wS?u<x,???sTŗe?~????택?=?ڀ??_>9???'?&|}?????y??Ǘ??ϟ??T?\'?3????????????R^`?!??5?v?zm????k???o???c?!??,<?&?oa?p\\U?D?????\\\\(???4??\0d??V?A?T@t*=u?P??4?*???????ڻ?F(gVbՇN??b???_vVi?Y`?@????Q??$ذӸ??r8Y???????v??D???)ފ9?@?o\'W?%??'?JIEx{#zS?:I????\0r??`D???6?4?*;?QE?TA>w2?.E??;=?;\"?6p`g??/^l?F????3??c?s??T?????/o*{?X0!P?5? ????X*?.@?R?;@?X RE4??*0?Tv*?/1O????K????|@5z??ᶈ/P.~???&\"?? T???ǉI??:??7&?P??:?`?b?=??r???\Z?t??R,???\ZT?;??!}\"<????Qc?G??P??fc*d?????7h\\?5??sY?X?eS??"?w!n???h-??.=???~??yE??$\0nc???N?ޏ??.Y?zqv8???9M???\????X??}?}?a{?w	t?!?^T?;????\Z\Z\r?\'???p?C?%Ƭ?a????????\n?5{J?Io???BY{?? 6\n??????[Z????f??????̧???U?+\04??/????2Ȯ`????~\"s1$-^\\]$??\"?ߌO?+????? \r????66?S;?f?SJ?"?	R\'!??gX6??? ?r??Lj?????ƃĆz̔e?7??x???)Z}????;?k=jRXf.p?ڋBv?BFM?/??v<o?SoE!??|,ٙBu܀?Ō?nM??8?????+O?b???vf????l,m???\nCoh????ϷZ-?l?`q?r???Er?)a??E?ί)뮑3??O)|???D0??a.??\r&J<???ػH??o\ZL8z*0????;?F?Nb?j??;?`??L\ZU|?%??A?^2?\\?Zԓa??mT?;Ů??[????*?c???z@i???`h6??%Y~?k?`??̢?/)???0ʠK?}(Y??U?J>?R	??g!?w???H?$???h>O??????54?j?;?d\\?PLk??I7\'{???u?\rH???1?*?p?????8L5Q???6+?J??XR2o??/??igY?$???c??P?#]??O?\rif??P?_???Rz???_?????1?o?9?j?\r3??1}?XooRm?re,??U?|1?pУY%??ghƽ4?8Ie???L}??*9[??(ǵ\Z?y??y?P_???????D??,;??t\no?H?-	?$C\0G&?=Ѕ49A??:??ش????,???Jy?>??`?ve?ı???/?? /I?jp?&???}f?Qd?f???|e?з?d0?P?B????????????[?Nh???4??/q?????-??|?/?RM\0?ɹ?fzQf0???p:%e~s>??]???0?^+???g?&??_tM?V?E?o?Ef\"3H6\"+{?????oZWP??x3?{??????l??\rY??M9H+?j?=??_?I????D\r???U?*ϯ?????\r?????P?ɴH!ρ???????ét&??t?E\\@C????5fX42X?Wy?n?S?I??|Xs?????(?\';\0v????Ņ??]v??@??B?Q??B?2JT??r2??=?R1?j/6???~U???????ɶ ?z????h?\"[?jAG/$?????g?i;,p{?R\0\r?@???W;?sMP\ny?/d8?7F?DX?59????vۈ?????????????Hȍ??5,?K$?????Pw?????X??Q(?,\n??:+E?R$m?<?6DKz\\???ck?Ҷ?cqh3\0\Z???K?e????????@ӿ?\Z?\r??~?n\\?Oh?2._?&?)?\r5???\\/?*)e+???@?_?hr????????4\Z?i????\0h?A?P\n??ّTK????,Z!??Yel0??C??C???!u?b???͙Һ=c??1\'e}Ψ???\Z????W}???>?̳?F?%????>????.?/???R???P7???@????9?N\0??]+???Q8??????N?Tv1?9???A??ڂW?f_[\nz]*W??S?l?T^\0?&???????7#???HĶF\\g?G\"?k?rF?$???G\"nj?F?$?|ƈ???L#>g??D|????A 8Lw\r??o,??\09(I{??|?y??????\'???0֧$??????????\nh????06?񱟃??a]1??{d&Rw???kXh?????????}????Q?֓??&Em&?mE?2?S%mp҆????V?\'mYI?陕???[I/8酕??^ZI?T?e??IZ???݀????$??Ҭ6Z<??ڜd?:X???\'Ye69?r??v????9\'Y\\Ȅhqm??\rB??]?3I???4?}I?[?\\??Ѥ????T???? G?q?S\Z]2???<?=?	????S?0q\'??????\'?JR?&ߙ30?x??[????4?U0-??G?a??Y?W~??\"?? ?m?N?O+???????n????k.????,?*?e.Пf_?SM	rMn?7j?64\\?S?i?߉?Gtî??7??{???$??A??????4Q{8?x9??jq??Q?/??a«`?j???x?:?????????Jܴmd?h?ZY?4?i??-?f\n?rV???By?u????s|k?}m4??{?Nbww?.a??\\¤M?,??=N????b?_??}??Ų?\\;????\nF\n^B?~Lk?r??	?p???z??#?????kiF???%K?©?0?i\r|?????A????։?O?Q8????\'c+??s???nz?j+??Ȝ??$????I9_Y9<8?_4?????C?U???i?{??4и?x?e|???4J ?>M?XY?????????x??\r???P????+??n]B?C??ʻ??-,?????R?w?n<ԋ?,U??K??٠R?l0?]낦I??ى}s	?8u?>???l??^???╻?ɼ~˓???????d???uƙ]?}??? ???V?xM?V1?L?Z?R??&7??w???\0?Av??d???v\r)1??:??k??DN??\\k???Z?4r??Z?????O??~??{<I	W?2???\0??4ŋCv):?d?AS>$i??^?h@om??u?J?\r??X9?\r?W3?#k????;6???*rg????\X?\"aj?U?q%Σ??o???[h?n.?????@ȩ?x/?U???d? ?i???U??2ئ2??}??{֪?]\0??o<k-FX???K4?K?qW1??T|U??#????^??zM?C??????????R??,????-ͫ?öߐm????Msg9?0????#?Q`?Ȅ0??{??^/??f*½?bї??\0?z?̢?w?P+????7D\rҡ??????|5?\"^??:>57????Q?}\"G?oZ????j???????(??vL\n???s?&F6P]n6???}?????	??uE?????h????t?Vk:???+??Q?̲x8?.???N?^\"5?*?;I40Z@?????P 	O?5?????k\"(?{???Rz?????yt??{??Ơp?????ev??k}??????f<?$?M??D??Do?WV(7P^???WBժ??T???<?|???-??t??~?\rӠ\n?^5k?\n???R?v???Xv&u?8??|?0?z\r?????%?_?1ji??]_??7????&P?G?\"?4N??&t}????c??)\\F???H_???S?S~- ?զ$n,?x?@??u_?CEI??5????1???\Z^1?\n\ZX???5?[??????\Z׎?C?G7O???|???|?t\r?KEHQ?	S?d|???????_?>??F<b??DY??h?\0????Y]??v????Z??e???^Y???N?\n??cy??M6<?\r??/[?I??????w??ੴ̮?z?/P>????`?ؑ>w????k???Z?^???U	????޾??W?ZӘOm8yX???&???%?Ԁ-?J,??NВ?ƫ?.?:???{??v?M?]??V[?^ZtV?h\nn?(fф?Q??<??	?????=?0\n??e???q?????"????G??=0?H?0?)痠+Q???|??9? ??Y?\nMEժ4J~Ҫ43?F}??]&Z쏂VC?`\'?{?7??????ݼ?Ӂ???%U??K◝z????=a[?|???K???V>?C\ZИ55|t?,????:?MP?d?/????]??????JDu??gq?s????i.*԰?*ٞC??\0)?Et?>.?????I8?U?J_h⭬Y?^Z&?5?rq??Um	G\n??	\r?)n?Amm)?a???L??AA???y?E?cx?+A?e??,???2?? ???s#3w??*2?????v?Œ??\r??J?T?f?5Y??j{???1?Z?ZDz`/y?&ʄ??Jy?2??&|??ਓ<?.?9?5>?8=??\\r???????o????v??R??	7?U?p?Fe?P%\0?2?i/~X,r??{;???e??+??HC??<<<????	?]Q???!?_??C????,??\rī4A?&??J????g?? ????p?B?????IW/?)????,ͫ2~????y???>s??n????π5Z.?RZǨ?|- E?=???[??vEX??????f????]9??Z??'?o?\'?iZ?r???V???gh?????K?RuwX?Q????C%J1??o~K??MB+x?=?eġ&??ܭ?Dlc?P?KkO+?x_??n:?z\'??\\??u~\n??odt??0T;?xnV???????Q?}?s??????[????g?/?g/*Oז??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:9876e9f9e3a8aa574c6f717c697b750b','?kc????\nY??????????ѓv???????쑴???'I?$;?w???\n?B?P\0\n???|???1Yt??i7??pN????????z?_7??:̣d?u???Z?Un???\r?:??n\Z?`???????;????o^?????ػ?'O׆\0?n?>?h?????????n????(???v?????]Fc????K?ȯ????&?s????ee????"B?9,?ݛ???Y??\r???????׾??Vawx?\'????e????q.~M??????׷AZ??F\'??????n??????^u?29?\"]??\0o[u?nƆ]h??7???x?=????yxo?????????????w@6???Ă]???_??.v?Yr?;???VG???\r[??uwq?MG??????????????j??.璸?z2?+???v??	\r???????K??(?T4??{e\ZLB??f????Y??딱?sh???R???j?\\?,?/9N_@uûY?????0?Pͦ$?X??? L?ժ????OOxȸ,g? ??1q?K???\r????,??Iآ?+????9|??>??hVW*+BY\0?,????*0?K?$Q???#(F????]?\'\ZC?dDSU???????*????	?,ɿPb??d8G9?BtF???N???~??I2?%S?EVn?h??dz\\??/????R?	?HzH3@??m6	 ??k??@7????P?I[\Z???? g????51h?W&-{]?烌;m?vT?|?W??6l??U????4n@?˙??????<I??e?7jso?\n?PB?rk~???/?o??????A???4:????ɢ3???By\"=?D?$?\0?Q???`:??s???*??Cw\rJ??Ҽ?O??Tċ?YL???;f?.?@?Fr?8ͦJ??V???}[/2i?Y;]͚;??:?b?????@?5L?9????}?l???ԏ@??Ă?V?Z?|???栓?%ҭ?i??dH?0????n?\'?????*~??=D?*?Y]g???ifl??&???V??~S???1R??\0	?d?焁t?5?٠(?????]{??,Z^?"??[E|	?؈?I?dIY??^??עs??D??????????E??1??$??\"??F?I?k????????Ͷ\0?Y??\'???X?\ZKC?޽??m9,??>ei-_`~N?\"???%????9????&??`k?OS:?d?&J?k1???H\ZN???f)??????B???qd??9-m?#?r?e????*m?zD??V<?͜?r?mh?iV??????XSm?Ƒ!??????h?vY??[??)?#?)A#7p??????P2?؜́????ڏ?(+?????Lva?[???+?\rG?Оfb??M?@??D???Q????~?dW-??^]?5,oh???ī*+Z%8???s???_??o|??f/x[?4??4?l??l?ߨ?ā@?F?i8Q\'5??l?C??q?\'Aʀ?my\Z*\0???,M?????J7Z?[VzMgK?eh)??\"???1??????X??/?!?bl??yj?3?:ŨD?:???\r???x??'?B?3D?٫%??E?a\\?_?<?[b??R/??*????}?e??θ?????T?1PM?&z??Wtj?[?\ZN??????uyڣ4????@?	??	??<m??ٯb2b?]u??&??q???1???tS?~?ӿ?YMcͣ?(;?9?????栜>\n?C??K???ê???`?-?T@??v?V???Zi\0?s?N)!?bnrEI-G[ul\'?P???d?t??]|?}?_???U`??G^}??6?n7pL?F~??CʣhS??????8?>???-???u??Z??#S?????????7	GQ??⳽FǍ^?Zd??	?\Z]]?:??`?\Z?7??(Z??w??fC=??O??ԇ???߄??z?WQ?]????_W??4̒y:???S?ßI4???a?????>???0>}?:?=폇/????/Gφ?\'{???l?A??<\r҆װ???\0?????N;??¯???:4????@Ty????DQ????(:H?ñ>????\n,?1???:d????JQ???\"e?`f7???ܷ?bg????i?=)???h|????A*?????ք?@4?b???,?{?@!s?T5?/?eR??9P?9>?????n?Ö4N:L?0?O?\"~u??R??R?{Ql???Y???Wi2??O?\r	)?uz?0??^??xZ???ZF#???T?|;????c??B0EI??B?ݥ!m!?6HH?ٰFU?j???p?!?R???8??-TT????vO?NSt@?f{o?r??w???EK?????????w??/?$K+??@%?UuJa?|p??5?V?,\'?3???????3P??w?C??I?:?`vW?????8???rV9??N?W??_?G[\n8^???]]?[!???f:?$?ݤc4\Z=}d1???x??q?\nmZG??`????W??W?????a?<O_?\r?????O???Ф???&y???????]8???	?8r?z?>Ѯ???g??<4<?Z?!?????P؈N8C?????Fazd?? ?0???q)\nZg???u?????잟?_\\?{W^?|?????d\"l>?2T>?;;!?ÿ?2\nO?/?????-??@l?\n?h?V??H?????h\nX????_8?q??7Y?s%?\Z?I???$??4??U?W?I;?&?\Z??w???????dAގ??ղ?o???/Gc=?.g\"H?]tM\"\rp?<?)V??,??"?$s~$&k?ӏ=????\'?`J3??At?L\'S}U?ܗ??Mf?????EI?i?}-???????^tEj9?f?(^??????na??,Ԟ????{\"?????a?ŖRV5ja??pU?^[?NŴrGp_?$j??V??ib?=???uC?޼??PN0??:????=x???̃??IX?2)!0?}?a?\r?ز??????/ɒN?hZ	h<6I~,??kQ`?*f?ݥ?`?o??W쪌?wY}?\"J|?_}6Ma?n?Oƨ?F???t:R\'i????.?ȝ?54F???I?6`?????M??0?Dx7ɖv>r?pr?????k???%0F\'????(/?C??((]?Z?z??F^|\n???M??^?*M?ǟ??(T??&I?\Z?%hMe?Lx)??`D.@??S???????????=^???JCC?宩?<??,??U??:??S??_?]-??R?[S?g???u?֖0??????z?\\~??B?}x?n??M?:?.YH??)I??C??P5??\Z?k?h????.??\"?8%7???K??\'??Za?8E??7?ο??A񴺘?W??(???F?b?a?_???a?????*???t?M?}WU? ?=$z???S???-C??A?b??h????P?E?.?	??9^9?S@F?Y>I??*/?F»?o!0\\YMae?H?ಒ??g????,??WBFWd??pD?fzJ???Q???!}m?H\n?@.??8l	\0??u??OVd?w?#?k\0?2}la?ו???????O?P????8J>???ɘɊ<????????u???/M?OK?&4??@SX????~jS/???*<?Jc?z??s?T}͆?????+??????\n#?\"Q\"y]@*\'C?l??T?惖?Z\nwH3,?j?=w?{?L?k?\"%eC}?Vt?\???̯h3@????K˹Y???}??ޤ\n;??????jL0Vd{???hI7DR	?*????>??}g0ı<?ݠ?fS?J??l???q>mXubB?yk!q0?ʷ)?a?=%?????\\?g?%d????FX:6p????c/0=:?Ҿ[?m?u?@?<? ??&?M[@>??6w???JH.????D????uk??^?l?Cw?????7[Ժ????~??s???<͒?:??\rwkP?q???\'7i?/0㪔?\ru??d???Zq?k????(|-?f=4u???F??6:iZJz@*??>?觚h?T2R???4????-???????rI5Z?*?U!?f6i@a?mC]?????????Z?itu?~GU+?3?|??Lk???W??=??`? \\?`???6?E?!,a[?~(\n???0u???B\Z?>?F?8*????U?-ӽ4X|?I???c_?ߪʟ????9?_}?sɪM???E?;dd????Ĵᩪ]?m?d???p?&?`!??o|E??%?|?K?B `?|?i???`F	?;??$㮦j?\Z???\0si?˔\n?????jC?S?u?/ڏ?2\0?NJ?G\"-??t;???b?MQ????l6F??\Z?#|_??G|T?P??>?"Յ?H??l?B??E????-n??(??\\!???,?[??n???iH???4??U6?4(???۷??(E[1_ao???'????:?Ȅ??UL?c?猬r?p?U???f?M?_??`?y???d??h?@\"??*??+\rn{=???}dWn7??ﲎ組??????$eN???f??N??P\Zi?IW`??L??DWm<Ylp??I??ހ???u1e@?.?:??	?%V6E??\n?|RX?q?$)@??h?_?ѹ{g?&c?.??~2???z????d?M&M%?r??\n?\Z\"b??i????Z+??j?_l#5?2?!Dzm}?\r*7$E??7 u?v???-?4}??z??L???T?vY?X?B?^??t??yf?@?^???\0??????]?ق7?Y???3ښ??g?c??s?1\Z?Zq_?????Z???4@E??f???f????E?X??0t???7??^?????W??k????j???}?V\\ꍤ?+?yo+?2?D߽?떁???]{H?#??m8z?D? ??Th?Z????^???T؏???[??>??jP\"!k?MR\\;?ͳe7?1??<???wJ;.֚?Fbi?.I0??}?%??7W?_??????~??ʿ?_9??^?ӣ?Z??+\0??Ԗ???wU??ox??䦪9?*?Ff?nDdZ4zq\"?A?2R?`????]Hհ??η??d?UFO%_H?7?v͡ئV?.?j՜Et?Ey?v?03???8\r&ʑQd???0%qr?i?uw#*m??4}????U]\n]?F???yᠼy?U?????????xo<u???8fS?$f??Ѭ?x?\'?r??????(,??E??x?\n??c???$wxG*ʓ$??W?????????`4???L?Ҳ?;?g׭???=?M{?E,??u?^6.?F3/?~??S?{?!;??vsi?????<VB?@[??N???ގY??;|???<?t??q?U???g4ꉊ𞣾\\3Ytw:??g?è?K?q?????f?H:	T?a,;Iޔ!\n???io??f2mjKj?ZH.՛??????ʨ[??,??Q^t0\"?????_˔<O??N|??KYVt???Zpx???}?\0{??????>k?^??\rXZî??W?ް+F???_?M?A0?Sp?_K?<5t}??(???????:1?????????O?t_tN??:Ǽ?'\\??2S?n6??F-?]???l?L?+c=?????\\??x>2OHG?)?j6U]? ?Dd饀?:?0????&???kV???{?xurc??ݭ??Qkiz`?\\?????&?<?>????g???I?5??????$?????B??????7L?1?Xۯ1#裆K??????C߆\\\r?b??]?b??߳\0	??E?\ZH??0??4?m???ˣݰِ?O)DO???@??H/?2ZPs~?????+?e??p?\"?__???6?????q?????Zџj????r|??=??P}?\\`?m?l ??<?\nWF??\"??\"b?P?B??a4?{ɨq:?????Wx9\0?lvRm]E9???Ӏ\"X	??E\"??٨(O?ڨPq)!????J&3???|?Wm?a\0sf??y??u?D\0d?:??????r???_?i?f??_ ?EzȈ7???J???T?\0g?Z????\"?{?4???z??r?Q?T?Jj??g?k?S??\0crՉ???ttȓ???al?â??igYP????g??|????޽??????Ï??ӧӟ??????!,!???????M?|~?????%^\n???????~?	l%???+V?Ѩ???????Tg??????npA??+???\n??O?kfQ0M???d?U^\0?\rq?@_አ??<W???0*?T:cWho9J4??Y??]4????.????#??X&??,???????ݠ?Hp????1?yE?x??*???m?1????G?v??!?5???/??5??/V7ÛЈ???-{<??@Q??h3h?@y?bkOӰ????	q?1?76???m??KB?#?nv?Q??x??v?(?0U??)?(?ѐ??3?~?,???o????&?L?0a	IH?/Z n?r:M?ΈL?t???;y????ŝ?4Y8?`?#????i?v?\\n_? ???]??j?l?????????jxW???n.??ȷ5 ? ?y??8???s?'?jP0?????>?aRXHپ????Z??9E(???\\?XlFl?׶󿜶`_?͙?\'?(??ʥq?C?ccp:M???N??mƚh???7-`???)? h\0????D43??9=?x?U??!???Cs?̀R(??Ytt(3?W2<?????_>?d?.???????Z.??8?Z??LA?߁N?:a6??x??h#\Z?쭘T?⡩?/Y?;hS?\n?Z?Mč?4=Y?#?\Z?p????\\?}~??%T?n???ǐp????Q???N??$o???qrg+F?A?ŀ??#3X8\0?r?I), ????8M!fM?R?ߌ?l#?9)\ZRL???X??!t?{?w??x????n???Vh߯8??2t??S`j6F??c?鬥0??)?\"?K?"\"?eZ?0?T#.??7АkhZ????B^???-?\n??҉???ޭ??\n??v???}??\\??O??\\?I\\\n??4X???r\n?0?j;-]??%/N?_???i????????/ʹ?\'??]N|m%>?c3??;\n?D\'??oj????@????˟?cZ?;|?i{???9\r??K+??Ѿ????o?Y?AT?U	??Ny??2>\r????\n?f\"??6???I\n?ÕI&?<?n|?dm??;?1+V?C?M?|?48?=?-????s?k.??P??????Afb?`??V??يPġG\r???L?Us???\\XSX?3}ӿK??\Z9?4??#???g??M?ؑ???\\??<A???l?Hʹ?[??Uq????Vl?rJ??f;?$ɺ??ʛ?_/?M?z??????Ͼ?X??W\"V?y?RОZ??_?.9????ʹ???y<?}???????!=1?	M?T??O??;?/g?|u??yt??22??~i?+?&~\Z?Z$??N??I?9Q?5?+???R??mְ?4??WX?-?c??No??E6?{?P???@??t??i7????D??a\r@i??3??3Hwn??x\r\r?x>?v0Pa??:?Ж?ajc??u?*?gP???2???q01Py?C\0\rAق?G?P_??Ы????]J+xaFbS7?^??qp???[???E?P?Jt?????o7v?_4p?)?>?i??D????ڜug???rr,y?r/????n?ȭ?;o???x\'y??1*ML?kr?>at??#T-t!?-4N??a?0?7it??),????^M?i?????i9?\Z??8?u?Ī?b.???i??`dY??>>?`????N}9????u??Q??#???ap?Oj??????H???	?<?ʚ8k:?n?j?*8ie?????Z`*L?C<?PYj???מ??ƪ??K?????ly8???h݆??O?A?????\Z?-K?"????!?P??P???D?:???q???N1????=.1`<????Ce????u?5?j?W?G?~??????@O?C?Q????m,?Ƹ?3w?H84?????j\"`9????I\'??g??JG??8?V?-?6??j?V0?h?0??\\RZ[???+࿉n?\n$?????-X??t.?-????$?^??^?uI????4?	e????m]?2k?Z+5q??=?2???????eF???<?7p?6	\"??s?(~???%՝??ϟ^??:????j?OM???????r?????\Z??}v??/q?@T?????X?J6?m-;m41???y?????????Qળ?'\0??/?)??m?q*?n֕??x?}?x??4?Յi???\'Y|\r???_?1y{?ӳ??????|??|t??w?>^~??w>?>??C???y}?:???{???򿮉??o??(????LT??+?c???.??Bo???d?????k/?[٦ǎ??C?>???+bց??r???{a?????n?AY??ǝ?Ag|?<?瀒?څ_?j?mE??k?\re_??yD?p??}R??l59???x?v???f?J??m?>?\\??ͻ?£???W??|\n/????s9\n?	N?,}Vn\Z?:???w????????4??@??\Z7:?Z?????7?????|?<???D㫪zc?\"?=4$`?Ӝ??? ]??	=+_?k??/\'?v{???mO\ns??(J?<[?>+g$?rȖ[??p?\n???.CӼ???6????X?5G???p??&????~tW&\Z?I????d???0ǅ6?$?T?&y?y?N{S? ?pcӤ9z\\d??Dh??<?H??\'?e?1???????\\??>????Oaz??K???e???=???A?{2?;G?$?w???*?C?T;?9?[p?/????f?Ӯ8 QmTgx?H?E?md??h\"???jt?G?E/??\Z????-?D???x?w~Ř!?u??8??q??l>Å0?5fO?(?w<oZѣ0LxH??C?MZh?8?ƴ?IE???,@s?y?p=O?I|??N???c\'??Z?hކq2C???Cqtq?|?T?)*?㏟P>?????\'2?~??j?`??D??C~w.?\n???>?E?L?ٻ??nu?\Z=[??\Z\\M?g?/???a??B?`?i?4??\*?L??????d?c?O????Օ??????x3?gm?+?(،?\n ???o-???A>?\0??[w??\0??B<@$?C?>?,??$???%jq???b??P????T?c????ɭ?????r?Z3?\06????1|?????????B??????J/??ѯJ3! ?_	?M???? ????M?AD?g?Q?0?U???'VF??*:??[????+????ޒu?u??J?Ԓ??(??Y???x???*ȓ?|َ???B???f?U8?I?=???֒x?d?w$V #?LW???????\"???]??b?$?E8??J?\r?]???0?\rt?????BF?2,?mw?T?YH?NS????@?KH0?͋????<?ȸ?~5???	?[??????n?????n??1??.<?{?????\Z??0???CP??vf>?"o.???Q??KI??\"gF??9m??I???e}?ঙI/???s??}_&M?T??Hi??H?T????訶X????????????7?6??ɫR?ܳ)?V$?Xk???L???E?+?&Y?D??[??:ğ??Z?٫B?CV;???|???\'???????a??????q???Ir???q-???:?e?\"/?I??hd T??|0o]??Kۙ?!??B ??M?mJ\"&8??U????\"?Ҍ????XF?BԅX??b?/?,b?X}2|ۢ9?Х?pd씥n?d??t?A??s3Y?(???&\Z?x??m?2\0???ZL<zje֣QY:t?????~0??o=??rC?????CvQ??k~?????+v_??72^x?%????;z??????pq?m????\n?O??????=J\Z??uH???arЏ??2\0%&X???+dTa#?L??~?R0???????_nF(??/??????\0???*?pW_???x???&?Mi??????K??6{|????!? y3^3???EW	c^Cs???0#?kl?7??'=^?7}?:C#T?&???&u?H?????\"????g?\r\0-8»;????11>~LЌ??DC??=b#>??Q\'1Y?????eɿ????????\Z^??s?<?&OC|???????O(4mh?????ri????????f0??KD;??*J??*?*?{?+QFD?@?????֎??/?\'_t?K?*7??V????+Tֺ??????h}???^?6.?;U?Ɲ+Z?????弙r?Ն?cwO???R6xf??}{mO_?F???????)?~?c/?$?^??FT?|??]?N0?7S?&?3l?B??&???7?/9,bq????Q)?e??!??哆???72?\"??????E???s?<6?_????|?h??Y?5?3??y???e)??NqqfDt\"?DH\"gA??)e????a?a?J??#ڲAT?)\"?DC??\r?ނ?=??l???~T???۽??????\\K?T?Z?U?O؟z??eUwM\'?}??y?????}??;\\?G???֊?	?o^?A&????,$???޼??Mn??Z\n?q?1|us????lga???_??6??0>֏x?%?n?0H,y?31K%[^/?n?!?٭?쳽}?\\?\'P???????;?K????`e\"+?_lU?j?$?C\'?????n?%d-(???m$KHc????x?Oe?a??1C??le?&c;[?h?z????f??S??hI??˭?<5??X? ??ѳ???!K?rX3??r]????0*???	m??Jlc\Zȁ ?\nCG??\'?0K?x_O??ھ\r????1?? 5}\\?es??Ћ?82?????S$N{?????RM?GĀ~??D????ံ??h?????9?U??\'?0?f<jw??9??.?Ѝ=?΅?+??֝%i?g\0p?????\\	]?Ԭm\rް??6??\n<??$L??z?\\???ƶFU??R?tZA_??ڭ ?w???jeI?TOV??ܱ????????????L??*?卉]J????prk??????kY:}A\n?]???d??14!???:??U\"?\n???\Z?j?c???O???w??w*???(?b?\'B,?zr6?ц?n>=??N2nK?m`+j?=?p?????~Sȗ#?Z?9,d?]_H7???\0;e?Yg?u\ZW?OOU?R<B Y?B?\r??@\'M??Wf??-ti68?F?????????@??????4?s?????\r?8???v???`??G???W?p????;s?K?0;6???_??=+?E/??p???o`?_??????????*~?\???VϘ ????&32?l(I??`\r?%\rGQ?!???????Y?"?U{U?Y????=???$??ǂr?V??=쫤a?;?N???\0&???#?vj??&{}?x??͋??pm|ξό??n?\??d\\.???ꦢqQpY???B4?????\n?xŔA??|?ljR?G-]ƨoo?ä??V[Hױ???t]?|??p?Ӽi-K?Q?&?1???;?2Ю??C?pQ3?p#?????????-iq?7???֢?-??Z?}????u?mM??3?7?%???8??Mc\'?\\?A?$`???#???C?S?_????????h?"A??????ԟr??g?q4??YN?;??\n\\^Uay>ZFa?sIĽXb?V(0?_l??j???9???3?V???V??M??RIh??T???\'?5W?&cs?9?.,?2??ʫK!?A???,~??4Ԡ??GH?YŜ???o?.??QQ?Nl9?.ih2Z?~rh??z??\rs?Weo?T/??w?ϡ?t?A?-??r?????d?lT%??Ȱ??F\"3?@2_q?堐9?5,x?;,??(?n-????|&????\Z???5Q?6???fi0?bX?7???k??v??????E?h-!?YF?Fe-?)P}?%/zYR~?{N?x90\Z?=	n???;|C?q?X?7?&8???̠??X$??q?M?\\?I?Z?r. ?6R?Y??????????:ݛ?߄??:L-WQ?]rO????????????$?F?0+z??_?|?????????/?/^??|????٫5??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:9e979b956d26839076b2ffce72b0d9b9','e?͒?8??]>?fz0鄆~?9????-?????	??w_??7???^???\r????P????Z?(?????F\'	Y?60????Fߒ?Tj????}H?\nd?Dh?????=?\"??? [?ۅ???A5?2??\rtxE????r\0???\'>A?V>,???F?????Ҙj???W?X\'0E6??V-?ERf?鍝??SSI!J?r??????g{?뢆??M]?????\0?K*?Z?cpJ?0V??=[s?Jie??D?ZDO݌C??C?ʴs?Ts??5?rK?(?\n??zW%z:0\'$???G?EF\'?r8`??'??rv\"՜???]I?9]????D#`??>?S?;??O]???X?9[??r???J??!9?u??9?Б??Yzr?<juťI????$?0?CH??'?l\Z?a%q$?7$??????G?H?\Z??p?|??t5??rMzmR??????i0?ø?W??U???	8?\Z?C?9?뎜v?Ŏ???#<ۣ}?6??????????;????b??7?K?ⵆ?8?goe?\'Q?69???'[:??\0??????????x-y4Y?h?|??=????#?eyc??????????x??I?U?\Z(~??o??WE_?im?U?Ҵc+?IZo?|?Z?Xe]????ˬ8??,??t???{?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:a25e427ad203b9c521a06ddc14d11af0','?zG? ??OAVk@?PI?;??cK?ڻ?mK?^??D?,	`(JM`???32?\0Rݞ?????gdddDddD???g??k/i_?.V?־+g??]v;??嬘?????????r??6?/?ƫ?Rs\\B6?_??I??6???ˏ???d?Z????ŇUz?,V????????????Z?9???L?d?J?\Z??}?	OL?????????7???O??gwg??:/?//FO????????z?-g???*????Y?W\\??????*??!??@?IyU?~W?jZ?_A???NzV==;?????HX?xZN.??\n\n?Y?sV?`4??.??<9;;;>??-W?????G?_}=??|?_I??]1????X~v?=M֫???O?b=??N???I????l??j4??1\'??Η?ڃ\"??{??0?a?2w?;?w?????B?;??9?l??u?O?\0??,?o????????N??????ZFk0????.???{8>??h?`\Z??6???????ut?]^?o??qUx$O?ٴX????g??;I?vW?/`\"X??xx[??p/???i?r~ߏW??O>~WV???߿D??????\'?[?>ͮ????j???(???]???Z`ϗ??Ϋ????οX.?M+??U???eQ*as??!5??T|??Qҳ?鸪?aR~????W!???\\\Z??ĭ?J?'?rC??R7\0?t?_^????\'??o Ks????x?H??+?1<??O??v????ۚ?<9?O>&?ց4?)?Nԏ??à0??Z???};??V0I?ԑ?|?j??X?9???)?|aKr΋????\"?????)??HGs?Ň?????H??????Z???5=?W\0??Ph<???3b$?ړ?}\0nޖ??f???}???D??=ᎇ\r??4:??i:.g?#??nA?n?/`﯊?\0o?????f?+X =~?&@ʝ\nl???5??????N?^?????;ʰ?Q??#0???|>-R?b:??u)m???0	:??????)?WE?638@??????|??????AK?Z?ow1^B??????\nJ<???(n,ݓؖ???\Z???$???7&br??|C??????~:t???pX?uL^??mS????ٰ???K!鉎l?O?\n:b???x?B/I2d/9?k????U???g?7.\r??CC9:y??`??????Ƴ??7y?$o@???????P?t݁??R???\'???o???W~S??B??\Z?p???`y?????~??q?`T?/m.?Ųx??:?90g?[=??b`B???F?|???2?Dq8?M?)?,??ǧ??C\'???????=Xg?U?Q\0?Ey?b?n???U???D;?r?@?2	?B????6J?	?;:e\"􃼞??e??qY.???~k?????D-o+??ͻ??\0!2X?YB?Ifv??????v?%)?v3^?`[??,??Wdl?w͙??#?Z?[g????'??3{?ϗ????Y? ?\'?2?.	???Z6?j?HJ??~(	X^\0??H?|?<??8[ā$8???^??2????e??X???=?\r7;???*??ZG???̟Y????	??׏.?Z?v?\rp??.???Q?\\????????\0???D????^Q!\nL?B&5ļQ??K?$? ??g9?-h??V3?s?B???mV,?(4I??Ű+_???????ZQ#????F!?e?\\\r??C?(???F?3~Fǿm????ڄ[?}????	?+?0????J}.?\'f?O?????(?`??՟??#???<A???O\'\n?>&???e??R???{?	?;C?n????cA?GGqÈHX??q+K#d:??N??՛??ڶ?O??jQ???\'??O?eQͧ?u??\\wd9?y ?^]?V??\\?Ts?5?????+sG?????\ZƧ???X.?	sMfTΟ12??Xɣ?h?O&_?Gu???[????I? B̴/?\ob\nŀ?C?*n???????j;?Ϩ?\nqq=?]?1?ф5?II%??,?S!f??{?$-??x?????Jqm`??)߯/????6qj???0v?qƟ>i??Y@<???)??`??u_????1V?~?I7?~??0?߹=I@?a!P??T??a?????+????ZQ???*????\Z?V?2{^?T???????hΟ??[???AfX??\Z~8??+?p????cD2h+\Z?(\'????\'i?????,?I???I???a:??>r&??Wp\\?AZn??:/H	?_?Va?mc????)??	>???Ԯ???n%??n~\"<^V?{?????5??T??v|?NL??IJ?Q?̭?q?}?#??Եk??#- ?0(??dh1?e?P????%???,????1խro?7????&m??? ???QS?C-?????p??p3?7??`?Lh?X	??q.	??J9?3p?^?d??Y??1IT?ű?/????CL?/?|V?U??'?w\\}?]\0UDJ()>???\r;$???$?\n???\Z?ί????????$(?0???G[Yh\Z????W?W??x???i???[??N?\0???S?\\?????)?L?x??.u??????5?W??zu?%7ՑEWw?.?R???@p?BA?X?R?jAѯ?x??VK???tGz?{?J ???x?U6-+@?	??֥H?I􃛇T????Y?1`????.??}?????SB?Gc ???⦸??S??%AϦ4u??m??+33??{V\0?!?\0Ի??܊???%d?!I??hT?P?T-Ԗ+o?x??Y???t???p??0ª???TIX??#?(??????*???zy |??&8f?'-???\"?s4܅(o	p??????57???\n???,1_?????\\???U?Eͦ???(u}\r???	ׅ8?!?iu+?=??\0^L?ʜҔl???.???ɓ??\'?c???^P????????Fȹ???F??Z?]r?i????h^?B?R?08\\?}.g??Gx?????????5??U??\0!44	???|Gt?j??u??\r?)x[ ߚ??VE,N?_?\\΂݉J??n?ڢO|q????^o?Rm????\\?hT;נ???r@% `m*?Tog??(?̀n?d??7EF??/\n6????EW]?????????Z~????7 ?	??l(٨a?????Tf	???KR???͛?\Z?g)????ͺ{<A?B?d?Ƌ?9?{]?9??^?<?/????\0?U?Ap?K ?` I3?Z???6ˆ*{b?q?=?c?{????S)Z? K԰N~?????N٭??gHQ?=.g~K????77?_??i?P???w5pUO?j???w?? ???W???(?~?-?????W;???|7?s\\?3D???ME?8????M@[6?r???}?U?O?$}??Lq`Ox?bJ?&3I??!]Om ??E??????????1??Pl?9??vY??Z????{?u?!???r??ѰT;\r??L???^??H?I8R??%??k??G??{k&?z?%m?PY????`?\r6?T̼jW??G?\Z?\n̞???5[?o6????k?K?&???}fӝRd?NK??*??????B???v????f?i??!?}??%#?<??qY?e???&??dW>?M>?\n??r$,ٕM?5$?HjT^????r?,?Re?????\'?b4???\nSG???v?O????5Kp??????`5&7??|??Z!.?p]??kP???W?'_xģ??\n?f?|=??P???F;??Z??i?)?ro?????g*????*?/V?I?\'h??9.??8Z?????????xz7?X???b??-G?L?/|??=?pL?V(?`?XR?????&?=?8??;p??=?X??????????}@??N????|ȶW[D+2`??\?5?K??????????⚦2?\"ȥ?i??P?W???^?&2J?Ԋvb?d*??G??Ð\Z㿤??`?n???%???a,??t??r??u?%?z%??2\rm??dۄ,?B\'2s?,??.?3?m??f?7???????~dA??:Fh???<??Q??p{?ڑ/{<گ??59??7??\"???],?+D????s??3l??\\r???g?A?b ?cD??)?Lc~???%C?i????k(_\Z?u???%??d????D??x?CnӉ?Zm<???Z,3??7~ ES?<%?\0??)?q]?a(???H|?ًׅ??T?x?y]??7?I@(E????*`?&y???8?0??\r??fC했??U?}Ժ?N?h????m;}??j?v?~?	Yϱ??R1?-???(>?y5r3n??M$??e?}>?R?\"2b?Q:?D?_?~????1?.?J?O?i???\0??8HV??U?\"?D??????u???xG?}?\n?bK???u*???8_??+ֈ??ބ?D???h?????Il?9^g???\r*?p0?k?,??8J??3???Xf????	*??\r???>?u?????:????v??/W???????y?cG??M???X?????v???٫?&c????????O?Ʀ??W?E??TY񞰍??@׺p??a?¸? ?|?	??vU???%(??r??o??.O????O???????c?;޿^????p?????]|?N?UE??|1?(W{????b??x??M?/?/Pf:?8<~??L9??x?F7ޑ?NR8-i?ɼ\n??͉???4?l]]Ά????????ėT????i?;??<^E??)??????Z?\n?V??0!5?????,??#?,???pF\Z????X??>?8?<\\q_?V?w?{??1V38D`?b??\r?0?\nb~B?wǰZ?\"?/\'?O\\?^Wr????&?:8?M?~??????F~F?^??X?T??zm?H???6S???7??s???G\nTVFI??\nU9??Y?????\n6?vۤ??rP.????P????Z??Afy?????3??????\'?\Z&jl??h?iIj+A??t?R?&?=??֚??;)+?'j	`?J3?Z??e&\0???VW\"????X\'??Z??N??R??ˆ??8???]?JA?Jj??P?|?h?;z???ܷXH$????	?}Ut????g/\"ݼfЖ??YRE?ɑs%????u?O}ѐ????:&??\r??o|?L?.:s>?h?ߕ?????$?\\8k?>Ҹ?w???1Djk????t??b?>j??eU??S?^?9??$???N????	?*\'r?\nH?K`?&?d`I6???эM|???I??? @|ay??G?\'\'\'\0?`??c??"???°E?6.????-!E\0\Z?r???@?r???\\}Y?????6???$?jJŤ0??W1?????!T??C?\'????S??n??c?0??h????3-?\rݦ???h??A?ƫρ?:?2?UҞモ??????2s?%?7юds?N???}b?{_M??:??&}?w?<+$O??P????h?%?$L?????T??hS?HmW???q?????????3?L*N?????s?nI??d/9Ij97????i\r$?k?d?-??q????vɛD?^ߛ??6?Yvz%ȧ?H??7:??L.ߎ??˻H??U?n???-??\'W?C$t??L??SD(?=y?t%v?\Zj?	~?~?n???fOhXva ??EU?R??q_P:??`?ǜ\n????27?Nzѩ?1??]:???=?e:??=۬φ????@????Ώ?/???=??/??E??ݢ\r?VS?p??c???????5pCP??@Ԝ?????/?j?\Z????f???m]?z?_^????:??}utzzqy????}????????PZ???\r??? ?Ir???9?8?!f\r?i??Q?)??????7#ةX?˅i???=[?g{5??"?!???2??.??8Pr?????ߋ?y8:???H;E???%?k\0???9gp???5?JN?\'	?%aON?6̼???3????????M??	h6?u	l?J??'b??K?ƕ?\:?f\0??W9? ?\Z0???!?n?Iw???9>FѦ??-?{???KHTS#?4?zU?\????????Zz?-wy}\r??uߜNzt?s!~???\"?\'\\??<?`G#?P??nAV??x_?-?????Z??.7H}8<????qɽ?h???\'!W8????1-?G??!??`???G?ޠ?{r?\Z1??z4/0֤?kX??{??-N+!\n??oi?´H7OR7ڌ?6??PѠ????\\???~YH???0	?ĂƽI?????4\ZOi?Z?o\"?????????0??_w??-???ađA?n̻???q?????3c??Bu?]?????*_?J????5h!?:㜮???8????#??W??v????)???\\	??,?????ʅ%LF?v??5v>????C?7???WjTIȔ73??N?d?A?Y??LAP?Zj?G	!Z???s???r=???F?\ZCN^<?|.?$	6$??Y?Ja=?t?=?U?NmZ)??n\'???vȅh??I6䯓?e??? ?(?Y??k?7I???=??@FP>!s1\r%#m? ?,y/??O\ZAT5???X???4???7???л?G??a???? ?????c??????ᮊ?Yr?4I?{?%3uQ?m|??O?7t??:| x?0????????-??}BЬ??o?8???y???s ??ڡb?pD?FHM??~?%???]?????h????oQ???\"?r?\'y?;\nr???()?úa%%??f`J?y\rL??b5`\0?]Z?<?`?j\r??r??\ZLS}3???<9????x?F??kסư?X?0???????_???EZ??`?`?????^\'??T??_:aK{?9=??;???v;?(~Qd?M?4??@?4H?٧?????B_??ɖQTp???pm?)z??d????_?[???$????5??\'?????flZ7e??= ??????@??v??!Y??E5?Rl?o?Si\r}?\Z?,?4???&z3????_?6??aT?cZ[u?????q?? ?3㾱?\r,?ҡMЦf#? 1\n?q?ą	??D?????X?s`?f5!??l\Z؊X?+{(\0x??kXd??6??Q)? ^?\\;b?G@ƽ??\rMr?S?\'?\"t????d?b?h??=???0;*?A???'?7l;P3?e?????ǘ\rG???4P?d??e?C5?5???o\n?T%@de?ߡ?i?{rA?0<??F\"6b\rl3ul??Lj?????2\\?????~{??v???15?b?^q(7Fp???j??T||(d?U#SU????????9?d\'H1N??%ׇ?%ff??,??lͦ@O??Iףx%\\/?fl]??Z_?????CE?P?x??Ʒ?9u??xK?&GUk?????Z?\?F?fK??t>_?I4[L??|I??n>?~???C?uu????0Q?f>????????&?`\nɼ?ا??e?5?H????Zß ;??ޤ??NCŦ?P?5Ʞ????פ???I???7Q??<+??Ǔ?????6??0?}??	@5????`??]????????\'Ϸ??֑??ۡ?????d??}}?z??,;g`աu????C,???\r$?j?|??Ωh?]??????:a?$?/`?Ӽ???,???48?m˫7?M_kx1?Y<?????K??h???\'Ԋ??ӽ&$?b!?K?]?Ɍ???Z??˸>??Hg\\͚??@?????LۍV{?|??k????]8?.iL?i@???ڈ\\=T\'?L??]¬????ii??Ż2?3?Zޕ?a?_?????Q??UD38?/C-6??k??A??\\b?a????\Zd?裇??.1???2f??QB???K?Q???rɻ??????e??=??W???L4???s??>i??߃]?H\nD&T??yEHǀ?????$ z?V?\"?A[T?\"???????o?6u????k`\0+?y?NE????j)??֐??v^?:?\",?xB?Q??????|???ƻY\Z=?M?2?Z???n?-?:?\Z?K1d.?t=gi?h??6?????v??%?B??O?????)Ƙ?D??9???T???Y?N??Gw??n;W??	??C4???p??Y?}ٲ\ni???0?4s0y?񵝢?5?^?????e?Ƞ?+???Q<j\\??x(???߻?o?? o#q3???w???Q6T]??e1x???pT\ZgjW_?\n??????ș?F\'?B\Z???MK[?j?iy)??? ??F(7?2????O4??:)Ԩ2.?3`??#?4??ZHi????\ZCsi?W@?ZՇms??+\'E??p?/?˂q3?V?)oP???HcpQX??.?\\???\\[??1??~?v???U?,Bk\\\"8R???IO?r?=???..????_???_??<[??.@???F??;?ؒx(?J?*?O?E???/~d???0?bMm?z???c{?h4?/5+????7z/?_e?z?/\\????5??D:򇨷???,FZ@?8?#}fbwL\"??ق??xrb	??3??????SY????w@?C?@:P?\'???2???+?]\0???q?1??fZB?????1??r\0r?Y/??*`??T)?Ĩ??#y????6??鄜??a?u?Р???Ñ8?????`ܜ?3k??~???1/kP=?Y&?6z??t??\rx ??&????Rk??\\???+??`Eh??T?U?	~?y?b<;\\??l?4Ѱ????`???\Z~?n???<?ܑ??*/?]y?I`x??7\\??O|1;~??>?DP?nλΕ??e?M??j???q0?\Z6?^????Տ????^???+c?Vza?f\0/\'QN???L2t&??|L??k??}fI9???`~Uf0?????ǔS?????N????Q?&y??????R??II?3?\rJ?J??v!>???S????l???I,`??Z???A??h_?86W?<^9?cF=1?때\n?o?????p???\'?{wx???v?iX??yz????d%_????J?.F\'??5\Zq?JW?Q???V)?Kh8??.61u??-????E?N????????c??f????#??z???????§?'7????<?\0???\"V?t?Lٽ???\Z?7?T??k?P??a?K??z?k???`????????u;j??r4?<??ÄdE8YPD????f)%z=?\(??F+I?r?ht????7S?p&??t?Ϣ,???????D??\"??i???D???1??f??׏@???ak????<t??????^n+?r?)??}???7T??@?%E????k??#*?????b?+??p?C?cViK?.??<???q?2??D]oo.R?UV?n??|F7????ڔ????ʏϺ?Sr?\02?WP?bS(???^n6????O???????A??gwgUw?????g??}?kv?z??\ZS??+IM?gr~uG?qr??NhT	??????????M?_?p?j?r?s?o??e????L?\?ڡ?\n??????dJ9f?v??̣?_?	`??W武Ԣg߹fv?SF~^?x?????Dd?0͘???????@???p???>?+??O?gAw#??ō??h?\n[? *?$	??2??jSA?~ϩ??3?p?n?B?r??f?D?=@o?6j????	_J@?G\Z?????Ӯ?????Iڭ?η??9????8?5??׋>??????n7?݋KE?!?f$?KP?I?"뵼?????߁TFf??^??=y?0?ʄHT??ј?ܦ?Z?n?????y?JE??Ӂ???f?\"???\\??m??f??í?xQL?K4V?â?c1??3U\Z??Y??h:??~*~??\n?l??b????;=???YD???p ?׎??????/??9M?*K?h????y{m.?j??-$??52	?k??d.?p???ס?NR?\r?z+MV?3-???\r????~H????]Cl?;	~?ڿ???i?}Кc;1v???e?^?)?1??jm??~??V?ȝ????N??????y0z?箬???f|.#bB????d\r?D?c???њ(?B???#?6~.?<x?@9?d???h?$`??6?T??u???3?5?f??^??t!|?`???l?W\Z?Lo??}???2???sSS?<^?[t}|??-?E?%o~ް?Ţ??֒7?ь)??me?Y????Kn????U?01~H????5?a?????????A&?6g\'6???7?Gr??ӳ0????p1???E?9=HHT?/M??e??????z\"?G?l%????(???>??;?(?r??a2?????|?.#?g??!v???B?\n??????_?[??Z?\'\rYKyB??U??I_?c϶????\'@??D???V}#??S?$s??????Fn??\"?V??9UQ?IN???k?\n?4\Z???V=11B?y??0?Wt?ޛS?2?????{??IR??*??۩=?N??:????me	g8T?4?????h_?K?\rB?:???r???!?qc? \n?? [x?@???u??8?3?$?gnV%,??\\??<I????|Y??\Z??s??{?2??x|??????xٟ⿊?]?k???)?rP??j??뷙S???_??[;?0=BI]R??Ӊ\\????$!??Mz?o?+?????B?F???꫺\':????,?p???{ҩ1??\r??BH?w?:??}C?N?Ȗ??_Q?????^?%?OD0| ?c???O?NF?????^3??[z?????2?hc]1?\nt???նjC??u?/??????{}?\"?kG¨s.?YP??0+?gH?j?ho??{ ???r?*\Zi???/??^2???$S?????^????}???^h#?&l˗???@???ۿX-??0??:??ʣ??\\????@?\"?:????????7??????϶???ۇ???@?K-a?@@???Qu?,????????i??j?	?`?b?????_\\???52?s??6?vi?PB??J??<??b6;ن??????,+L???q?64???@N:??M?l??GT9#?CM?9sj??OD׮A ????V,:??ܫU0?˭??po???\\?????_yP????E0?oG????)?@????????$??G?<?P+o?OR?߂??V???1?6??6?\'?Y\r??\Z??d???!)?H?(\\???L??X??䐁i?v ?y?i???2??Ӄڶ???????????5?MBg2??N??7?\r>?O?P?v?K?a?B??q????L??ɦ?f?+`??\n?*(?\'?9??/??Xo??7??????ݵa?\"????76?w\\??E??i??w?E???M????qX!?Ll$????A????n?[?ij/σRME????z@oM?S~??ڏ?$??j?? ?m?p?o?&?qq7&n?4E??[9???????f????????e?h%?#<??g?̾{??kQN???9???Y\\*ȉ????5?8?\n???%:?ޠoҚ??0N~j?\nw8??o?׫????-??k?YiM?a?x?4$*??e?!?:^j????1????Bb?<?????=_QÝ8??Ok???H?hj]???u??m?j\n	̡jd??M2NÈw?Bv?v??V_??YH?;F`Kn|w%?d?<i,1??|l???\'???&???z??,|RC?O?{???YU?g ?????x&T2:???\Z?;??ؐG?q??6\Z?\'?)<?????f~[???B??&??c8?%?v?????չ??d.\Z7????6?\Z#%ǌql??p???`?n?2(??*?Mv?6Xiԡ???2?p?׃????zm???????k????\'??-:??3VR?9ws???7S\r8?TU?5[????#ϋ?}?????m\'?!????09d?????C5???w??\0He+???	???ms?c?$0???-??L???????Ж\n?\?q?Gv??u? ΢7?????????X?/???.m??`????WZ??????/m\01?ƣ$?8>?@?q??\r?F%r?A;??>?y5z?b?1u??\'????&??Y?c%?a?gL??l䊆??\r\Z??l?C?$???&???1?X+?}?hÂ?_tQ???o<?oB?^??2?????~??w????Qx\'??|?g????g?[?z?????D??~??{t?ҡ???Zzۆ??>?q???Ϟa??lC????3?+?\0?1???]?<?x??ZI??Q???b@·?d??\n?}?U??J??L???????F?j=?????Y?lWvlX?K??%7b?Rg?We^O=ǹ?r͸?&Tv?$?A???jM.^?Zӽ??A??$4l?W&	?2{??I?????F?C??I?V?M??P?.?????t8?S??ԩG??a)?I??!????Z[6??O??X???/????Z*l9??˔?Iܼ?K?ן??*<??????L^h?d?3{	?4?r??J???S?u??GC\Z]?(?؄???QD??!?QX?????????#?>?%?ۖ??p??v?p??AVZu9???P?????\0??lΞ???m:p?eu.???g??\'zk7?`g?.@?1?C(?o?j?#???F?܊%?\n^E1Ĺ????c??@??uj??SPy?v??????\ZE?|?Y?]???]	T???*0)u(DA¡4?:?z?k??Jyt?????i??.??lW?[?y?kB	a\"?o?c+ҋn?N??????<??????:?H???Xn??t?:???u(???0j?A??}??\"z%q&?cKN?C??S0?LbL[Z#?????`????]???R(??e?*?p9?t@??~????OҋF?\Zh?	l?O>????ua??\"NQdO{\n?J???s[???y%??\n?Ş9??R*??q?\r$????\\?l?|F??0?[-;?? K?W???wg?k+^??+X??^?"0?u???]??????g?pBb,o?,?M:??fo??\"?#FF?P_???k.?%~K???\'	z?G??	???????.Ŭ?*?iP??m??M?\"Hl?Y??ߎ2j??t?????wϚ]b?E5ː??P?}???\n{????1???o?\Z{V?`F??S??J?LH?|K?hƤ?????^???y\rvU?*??׋?^??:????\"j?Vf?n`????/k????????-IT޼?????\"-?]???3m?ǋ?????w|?gQ??????9w\r???E?m\0????2?????U???y????\\???;e?D?{??7̶2????f[Cm?Ɣ~bhRO?????ŵ®?E?u?0\rK-~???{????8n(??ǹ??H???w?8!?8F???\'3?-?\"9?????L?La\\?<?????܂??????&?%??????>?k???ߣU?F????ש??5;|$?6p?????؊Qn?????????????????ɒ?e#?#<?Co\'????/?????? ??{??}6?g???\r????H:???O?n?U?Nj?Aa???M?????~w_???f@?7?"?A?څ???2?h??ы????	?\'n???i?=?^?Z|????<???????𼸾????\r??3????:g?????Y?/gó??h=<LF????k??ˏ𠆤?????q??!|??Y?4???v??-???z|?aA???9?7B???_^??<?}?????I??/??????3tD?????N?~>?O??????5?T?D??.??w?3~???cW??????¢?5????G=f??\Zi?\ZR?]7?P?T???\rM?{:?4N~!B1???{?L?rL?>}\\\0?};?????w9????l1^??I?=^?|?8ɂ\nNp???A?N2?~3?lԧ&?P?????@4X.?\'?|C?e????ӏ??;????E=v???udt(N?ŃCW@?)?????(s*\0?.??(eG=??C?'??xVv???̃:8?-7?:Q?M4\'????????1????-N>1?}?\??9????????????03???݈^C???c[????h=????M??0??=???F7???M?>R.a?R? ;??????)????A=??\\???^?\' )??<?3???	g?B???!?????????cjK??X?8?j6?Щ)\rn[??8Q???=?C뵑?C$G??z??C??8G???\"????2??ry?`?Z8??$2??|4_?'?I?????H?/?\"?;\Z???tk/܍??RA???????9?C?/3??????????n????NY??>??c?Y??N?x_?%a_.57s? ?5?????????z?T????????2S?B??V??a???Jg??a??b?Qꨘo\Z?r4:??4*?<E0]!u?:??D???|i?H????)?O?????!?,?Գxm???9??Ĕ%9?A=1Aj`??????9;KD???b?{M:n? ????^?=?u?17?y??????sY?*1?*?j??7?????y?|???Wފx^8????<똛?3????;?}?z?????Xa8\r???D?Ll????z2;͉?asT?????,\r????P귋?9jl?????L?`??E?P\'/\'?\'??8??S?)R????c?k3,UO5??r?n?Q\\M?4?nAn???_u??'.wȇ????*2?#XsI?????c???_?YLE?F???_E4?V?R???f.~?~4??Ύ+1??$???\r?????ȐR?W??$؆vh????rĂ?Z:>????ܵ\rݵ?z?@u==????Zf9?K^??????????_?=?>6	?>1?:P???p?*?ۜ{?3L?}?d?_|??y?MF????o_????????????gG??I;???^??\nbP?tI9j{??E??o?	+?U??^?? ???>?g????4]???	p????`???@?G????\Z?3֗??G@P\'?\r??Vv=?L?jZ?M:??:???2餃??????_cg???j??J_ܭ???\Z[??>?G?F??????le\',??U?ޙ*?>?)B??k?9??nqQi??xѻo\n???hf?#J???P??޺>?\Z??G2??l0???????	~?P?lf?@??]?V?U?^??f.???*.O-U????~D???\n]p???²rѽ4?9;B?C?m??<??4fP?xcE?h*???????ӡGb?DWF??XԬ??r>aA??tf`ɋ?Gw0?a@?vP??}?p??b??A	w??0?(??˅z.^??t3??Dc???{??\'??Y??3I?OA????~=?'?n[?h??u?\\?<=???Hj;?Hx?P?i?	``???C? ?(????i???/?~;??6\0???@???Y?oF$???i???TX?}\0#?Rgk]3ΐ?ǚC??v%:\0?#??????J?0i?Z\"??????'K??)]{pp(???z?̏?z@SQ.A?YZޢ??>??\"\rV\nOf:????1?)??~Gy?V??;a\"v?&?????Ap(C}??0???#??W???t?2?b?|g??Z?b;???#???9\"???T??\'?1`?E?U???f?Т?????/g?5p?0?C	???n??<7?˳?g?f5?kƂ?:???,Y?m??9??????ݘ!?d?D}6?Ӿk??u`????N??J|6???$????$?O????????3ͭ?HD8]??>9?????ϝ2????K\ZѝY??И\'???FlBҠ?ף?SG??ѷ\\d낦<v?&]?Q??l???E{????>??rs?^<?~?????)???c????ūt3????\n????|Nt???Y԰?so????<ՎPM?D>R???2:????C?aW%???????FAT?(A???\r\n?????H?ȧz??/QM??I??x???????Yp?N-*?-??l?|}69.??\n???8?\r)E?2?|[e:yKT?<? x????z-??D???\n~Z<?;~I????q??d????w?\'??\'????????gK?&|?SmG??w????0?6;w??&????O??jq$?9Q????????.mG??0??6z`??]????P????C\n???A!R????ڹ A*?>??\Zt?\n?????!?@)?I1??ۻ??g??/3.??M??}?$\Z???????P??!?8???????????c&??1?\rw???$?KU&?9??5?"?ڿ8??Q??3??3@?7d*??Q??b?	Y??I?[?Y3?W???\"???U{?Ţ????pl???X,?>?\n????L????*???\Z	?$=?I;+??*?5?CB?+?`*???T?????D?ر텚FɷG??\'??????d`Ey??s\Z4????głfsC?Q????0???h?1?b{r1??6O?҄a1???-?rI??P/\0?h|nt2??Gy??@??nݙ??/?p????!???E?D?vp\r?9?=?u{???ު?*H?&ѵ???id$??H?????K\Z\'?׆i??????^???\0?ld?hL??n98A=???^}??8$?(e;I?:???\\?>>=\r??P?q?\'=??\'????ZpO5????2?e?0?/Ͷ????:??g?%??e ??WH,s?C???6G???c?#8?If?N]??ѻ?P???,<?=???9H??H???]Jls7@\n??4[??El??]?1jO???6?V??????R?????I????m????}?3pu;[???ճ?6\Z<`@w?Lc?7??5??OgE{O???a?y}\'?v?;˚Ŷ???????N??????t)????\"?x?Ӱ$k{?\Z?f?͓i4??G?b????????\'E? R?[)w???/?5uGas%?O?bV͐???w?}?xޫ??Ӽ*ٿ?k?=;g3/??dM<????Z6?{ǊY??N{p?=T?}??>??$蟚???cٯ??Z??ߤex?????x?N??o??? ?/???????M(??KN?#>?r??t[???:?p???c??=h?o???????7?4?w??|>??Z?sG8^г??[?yޘ?q??d????G?i??	2???\0iH[o?F\r??l???ڊ?*\n+[i????O??7q?с?"Y???8z⬝*c?@|?i??S4?K??ԿI?p???^????{??\Z?X?1?v??I?>I?r?\'??\\??+???i?)?Y??9??x%\rD@?Z?7??\'??&?r??_$}l???%??c-j؈ai@k#??n8k??Y?A+??bL ?֐?????=?????K?#?6[??Z(\0HM?A???8????GW?m?$~?)?????ބ)!GN?ʏ?v?i8?n<????	??~9??	??[??????݂rJ<v??M?[٧?[?iPoJ?????~??^wm\Z?F????/??_$\n1?W??? M?U;??.V?C\"`??????ٳT?f???5?>?-???O\'?d?!???????&???}???z???????S??,?\Z#=???????&?\0l??L4??7O??_?w?\'???n??F??!f+4???R??z?,;\r??v??ܵ??|Z7S???|?Q??????\n?"?r¼?g??ӝ??6Ξ???އ6?Q}0??? ???\nʉ`??i1??M+÷~?è)eJ?4????-.˽?Uc?t?3???ZWKX?\"??1R?f3\0Y???Z??Z?x????X?????????????z;??Uq??J??ϫI???K?n????@4???[[B\'V???q2??;9#~r??t?E?U_T?d??n??<\"?_;aB??????N@??ò?WK-????k@?PڸsgO|ֲ??ή?r,?4S??7f???s??;b?Q^&e??????$??5?????%v??8??O??????m?`?m\'|?	?????|R?>?????r?>9=?)apZb{>ֻ?}`U?t,???????I?i\0$?`q?\r?h?&~\\?칃?}?s\Z??Ct????o??V?	? ??/?M\'f?ݿ?E??????xMǌ??uʡB?0??I?q??O???!$I?O?H?v<ۤ???????9wo?]\0fI.?~?q??Z蕀Y?m/e?T5C?_?O?????????Ђp?:?M\rz?Sϰiwl\ZBk???0??R??ᴂ?tj_??+???\'?? ??nC/d??&t??l?C???X??B}M???/#؆Ǚ?B??W;??ӕ????\'/?????A{????Alo/?]q?-S ?h9e??B=??NҚ??4?A??Nx??kdv???m???b?Y????L?z6?n??6u/%&A?zu$????ܹn?y??t\\?-??γ[?qn??????0??(Aǿ?\"Mȗq?HП?t???\\?a?F?I?i?(IdWIڈw???$E???s=8?x+?w?/?L??lUN???'??e?\n?P_3??ZS??B??\0gn鎳c8^?7?i???z8?u??h?.????\"\0??P??/ǀ????{?Ҁ1???F???үMC?????1˾????}??????M??dא\"?!9?0v?t2????O9P}`G?????N?P?%?]?ϲ???F?????	#?? ?ă????6{nژaӘ?D?sI]:\r?j?dw\\??^?\n?;c\'\\?Rp???????6^?l8?-?dB?p?Y+w???Y?=Y/|aՄuvL~??????{9#[?ΏX\n?s???ȃm?????sV	?hv?y>p?D`Pɳ;=?4~C9n߃?????????9???8.+?????ڃEU(?v*???]V???? ?P??aU?X????ܽJs?DH?^*??x?Vo?6???N???Һ??rz?jCt???R?\r???????Ɣ?OX	1?48L>(qW??sw?????21?@0???ðJk????\Z?QM@??|??u?X?\"K?0?k????B\n?{?$???+?\"???a?z?n?d-a??}?׫?t?5H??????\"{:1???\0??G??RO??Z?^=?Or??Gzh?ֶ?L&4?\r???0	??$?????+??$$`??zZ??c?}v??ݮu?,?ө?7?j?	N7??nYʲzet??o??ҡuL???*??pf??^]f?5? -,?Z?^N??H?U=?????Y8T?y\Z?	ؓؤ?Mw?ԑ????TՍk??ö?\\\Z???&???e?=<\"??QMIQ?\Zޟ?\r??!{?7?? ????g?6????O??m?<?<@?D????qM??8#???BC?gN?|??k????Cy_.??X??Pɢ???1?s??:??p>*ũ???bx?p[?D9K?????,d?;p??n???a)??&O???\0?[?T݆?Е?A,R˳?-?6:ZX?C??????y*??Q??e;O@kC!#96V??6(???هn?p??????&????N?&?C?????Е??????a3cJ?B?\0St?	???oݚܱ?b_???IC??lf\"ƛ?M?6R??W?̶???Uj>?EU?n?u????^??&jv{#?Д?o;iZ??`?WR???VE4?3T/???g?Y>??拭] ?%CĆ??,??؅܍e?ݎ??Y,?wE?H?w???'?x??iL9????Q{-?/?~p?1A?!?^H²y?c??????$?8??+?5u&4σ?=~T?{ޅ(??????????\Z??PX??:??T$-???$6?\Z????)?@9?.?b~,ݝM:y??V\'?5y?0??O\0?_?+?e?6E???-?Ѕ???},????9bs?\\?7Wk?Z\0??[??1?ߤm4??:??hq?⸄?lw?MJ>t?B?H????$???gw?>??v????[_??z\0S?>N??[?[?c?!~o?k4??5],??	S?ώ????f?r?\0H??'?]=??XS/_}??????fs?/(?0??7<͒?ϋRԖ?p???	:\"??S?k??N\' Uq??JbX5.?B?=\\B~b?????J?i?B3?????R|????@C?? d_-?n???x?Oq1?1??p??$C?2??]\0(??????4r_?x??_:\n?0?ʾ8B?u??r?????????"??.?%??e?:?\'7)?\'??????\"t??Z?1??,T;?4W\Z&?3F;?^ҭ??ǁ???4??c?1sޔ???0?\????}????tN??b?\\??\'\Z?Zx??NA??x?w\\?-???\0g??֩??????G?cq8V?Z\'?v??\'IsV???`@?\r?ob???????蠥??\"0ʏ\"ƯP???9Ja溲???\"ߢyV?mI??m????-???|E?_?@?|?\'M????AI????έH??!l1???\r7k藓?9?2??Q?u?s????8\r?4ImG3?????\x??n?bnM?@????3ov?DE?U?n??z??#9?\"?ػ4?\r???⑚???Ҁ??vz?,?+@t?*ωڅ?Ι??)??d?Hl?r?e ????M ?N?y????6@?	?r??ؿ1[?7? O?j?\Z?7??ێ???5??h?B?3???59hQ??X????????.?=^??E?Pw~t???H??7?G?L\'?BD=?S?'??t??M?? ?DVƥ??A?<?b//?%??Z?)\\;?׫?\nhAČ?\\?p;?w??qx?@?Z/u??$Ů????k?d4K???H+?[\'?\"??\n??j?#?&Y??uq۶??\"J?+??X??,??0	&^G?k?U?!?)aO??HRzV??4]^+??E#?m-?c?h?=o??????M????I??\'KE?T?(O?"b??.???j????~??G?̄x???_E???e??9D8?؝+?8r<??pV?oѱޏ8T$?̩?`?l??7??VN\np?u??j?f3\"6@\Zڶ@?????3K?????X=d??\r??A8$_?O2Ҳd????zFGPv?_ѓ)??x?x?\Z/?۠? ??$?????ګ?M????*L_????=BC??????A0_?q??N?>S\rj?d?R? ?̠?sW????=?mΗ???{_KQ?$?2\n???DDȱ??n??%G??	W?(سSP0??4 ?s??Պ?????O|ș%;u??\Z/YR?B4;???o{??eX??????E?????r[?Y???ɓq?[K?6E4???\0?bv??wY4x???m??^B??.nyŊ@s?η?}Q{X?\0??;L??K???Gb!??hj?nT???gTȴ@yG?検??4O?{?X??g?9?XI?\'?0¨???k\r:??]?MO#1D-??]???7??Ⱥ????@mU?0{???7?}?߾?7?????a?`??"@`??$?P?X??z?fk?,ʉ?	?J;B????weD}?S?&l????.}c???q?,???U?R	??/??48????d????5檡E?e<+???{?L??????M0C???<^?E>Li?1S8b??\r?L??t?$V?????]3g?MS_?8???ل???~Bj??????VmF????%?p??M????????/Z4??BI??ZBGǭ8_/֎?ٙ\')Wd?;I???x?????1?׸i?u?<??R?A??(??K??R<?z???? t???(??ߵ%[-???q#6??w ?Rہ?ud?P?瞋?ᄼ?m?????;u?R?????????潄%?????dV?ZbN???êP1	??)??϶轣n÷偗>?>????????[W?e#sG#\\N\Z???/`͜?R??]W9>????X?\"???e?5??5໘??M}ȈO????;????ё?4???5_^?%O?\"1?ťL+R???_?^]???\r??td?ͪ????<?*?Z:??\Z????\0?cˤ- ??Z??S\Z?\0?7??Ċ???\re1t?f;??tbP??rup?.?;OOQ[=˕W\"?\r?\'?S????s??v*?#u䙑??O?:??;&?qa???N?D,;\r궶r???2???#:%??ڋb?t??o????,f?$?????^?%?l?,i?+~???7???{??3?????e?ߏE????mL?I?$\rL9C??+2?\'?r???p??!]?偛\r~\r|?G?\'???????!T?ױU ?,?Q?^n\Z???U;Q??}<Soj???o?\n1?#z?b_?rl\\}?VolCi ??5B?\0???cg?ӳ0=6?b??c\n?{ҷ9ǅ{z?!~???aTv?v?????:3?޻?-?Ś?-_?n??v-\'H?i?n? lC3????8??'?\"???&?????/?h뵡&o?"??V?>??I?!??Ȃ??????ݰ???)D?дᅥ??6?r=p?zm?uML4\n?$??????\n^W?r?L=]??iڝ????C48Fsa??(b?.U6Ѿk)?.????"H??Z?\"aU@??2^??n:??;???????%v???Ԩ?]?v?]G\'?8܁????4?3??l?B?Z??\\e??$f?????\n2??`t??:?r6Ȭ]Лs???a8%??6?cq~XNF???????/?Z????Z???F?=?t?r?l??s*ن???ZYv?M?7]-??BЬ??7?&t?????J9U?+8IeldSAҖ?2???j?v??}???4+Wg쿉?[???m??:?O???B??ot??Ŏ6/??铓??????+b??8???g?/)???s8???Xp&>?mU,?????9Z??Z_???????r48?tеЇt?[?\\?u???nώ:?4??ݳIA?C.????.?_?߯^2>??X?{_V?9?????9??t~????????\n????W?|?U??????|??????PЗ?8???|Y??B?0??.??.R?xS??[?r???????????Ykf{?6T??һEz-S??/\ZaR>???㷘???]ջ??_?]?? ??*?0?E?!???}??n2HNz?\ZXl??t?&mm\\????????,??J.a??L8?)h?M?2?̗?3f?~ޕ?????;]޺?9 ???{??L?h=VlW??1H??g???>zۖ[\\;?u?EC????p*????????Ŕ5?HGus?v?8?{4\"j3???&p???_??j?I???M?&/ֆ.U??v???ӧ??l?v?FV??H?ԓ2?me3?ne?j?????\r?????K?5?ދ\"|?a??+V?£?re@􉮿y?2??ˏ??h?E??7????\??\nDי??{?Ҟ?d|L?U3h??wl?v+bR?!\"?X?F?v?1??\?[ݍ?%??%x<H? <琞h???kH?O[?? ???Ud???? ??\?????-,p?r???Z?0q)1t?>?ri??Mׂ&jV&?t\Z&???ꮮ??[?????J?\0?????????6\n+4??I?l|.???BN?m???8Fw4?0??10M??d?0S?؝D\\??????!!?\r?????0?߭??E?\\נ?\"?z??????\0B???=>=9I;I????@??0??`|???e\nwS???؊B?1?-%1T??????-?+?x?u|?<8Y?`\'+~?V8(o$???)h8hO?r?y?-*?x\rL??????????;^t)9h?bY??1??zjm????*0%?0?????PG??ل?{5?_???H!????H??p??>9a?R????4?hN??`!??a?J1i)?;2Ө?vc?'??S?9?hӔ?,7????E&	2K???&i??\Z????&???3???0?|?e6?"A??u?<r???,???%m????QG,D?4???f??pp??????\'S?\r????]K?[V(V??lU???M?\Z1	e?I?BoD???o?????7??????ς+n|#?ry(?.?^?xY?????	Ap?E???b?|L?V9?QD??.R-y?.(FK??֞??}P???Y?A??˽?uyq?5J?M?AW??'a??\nW$?25?7?Q?C??ު$2_I??{?2??(?]-Q\r?n????Q?BPH???G?	??왣????b???<`?S?ro???????]H?DK; ?,T#??]\"??|M?_VD&?˺B??5???T????k{E?WѠՒ?(&?$??????5U??S??]f??9?????ER?Ɣ??m?*?E?$???g\'??_???lx6B?/???????z\\]???%zS?FQ??:H{????$?-??h9xr|?Ȑ?]?̧?z2^????ا1:\Z???t}$?zͺ??b\\Uw???xvU?????W?M?uj?9]?Ż?????:??????x???Ύ??9?ƺ??#?V????E??5G\'?'?T????????x???}???????np??????|??z*j??s?9%?O}??-*Ђ?/s眶V?f?o???o??[???Pa?h???/???/????;?1Dc/EG?	????Rz?I\'M)?W??????h*x?~?a3?D????0?????2?-??|?<=NF???譪??O???4????c??\"ی1?[????T????s?k???&#N9}3?????v?Z???J??8B#e? yk?S/<???L????f?<??>?u-?S??t???G?4#V?	q\r?+MȦe??6`???j(???????p?$Z???#ؔihh?9??}???&w+4???4Zr?04????Z$#\'kU????B??{???????\1i???U]<t??Ur?k???t3y2?\'?ax?c???.?O2???8?~??`?G????髯?{?`j?????G?Kk???jl??a??l?F?$6??Eی??}???g?A̢\"?A`?277??vV?ϰ??@?????H^??F????<\"޻??g??J:Ѓ??.V+t????ΈKP5??k\ZB???MM??zd?\n???3-MS???n@ϟ????L؏d?S8<D??Κ??ZվGX??7_t\"????Ġ???p8????h?B????#??^??}?A:??5????3??v???ܓ?c%ߩ۔???e???$????}?o<?C\nاs?$??t?5a?n?q ?????~?????&????+??[??kB?]??\']??^??????@G?:??+?r]?D?????TT??b??_?6????jm?\n??]?$??R?u?b???YBh?&\"????[k???-???y??Y?H??glp,7??+??(m???f?7?@????)??DS )?????(?b?c??E?@$`??9???P???G?^x?N?4ޓ?S;qȀ???1?z????a??S???Β?R޶?ix?B?3KP?LR???zye?	??\0????/?Kٓ|aaο%???/ބ??h?????U?W?w???<??\'^2g?^?ϛbu=?hC?4} ?K????zHmL,????ː?Imd?Dt???\'S\ZH???S1?nX?(b?M??w\0[??????p?1?r???N?b??????[?`???M?ƭ??W?E?f;???8?????e}?????Z1P?5?nō?r{tl?Y?i/ԝ?[#c?m?????lO<i??lIɭ8???;??z.f@??)?$?j?--?\'`?C?p3?\Z??f?%??????%???\0??%.]??H#??מj*L?\Z?v̽QG?,5u?qg????????;?=??}?Dn?w?<?%?;?񚸾??B????{???\n???y0??e?{?\"??D| c6F\'?i6?4??\\?Z^cĵ?J8?????zJ?Ys#??9Ԑ??)??\\??????0A??\0???:+9?\rX?g89????t?d???????%?????\"??2???a??B)+/??O??促?~??????z!/LBf???%]P6J?Z???????D?gUѰ??]?????.???ˁ4?\'_c??R????X?a??)??N:?}??\r?lY?=K,???]Ȱ???Pi?y?l?W?\'u?p???)?PM??\\??/l?~?Ø????h?.=?j?襄~?b??U?Du?$?$s?\';?%]???@.:????\\?\"?R?X?x??Hż??,??߹??^\'T?D\\???)???m?HD;?Z?뗩??3????r??ʮuM?WNzFc4???N??7Ch? ??DI?ݽ?\'??\'D??Xl???o?|??????U[uQ???F?????|??F??;9i???g\'\'h{??????kדJJh?EN?m???:??J?[}??n?????? ׶???i?V,???;F??ѡ???^X??q?$?E|L?1ҾmQ?[sW<?4?,K?Or?S???u_??a?Җ?????z???ӷi?????.)\rO???z??G??φ??????	?f?jn???\r?1?a???{??\"????\\?i??y 41??B????i????A^?e????n?1?h?G?'Z?ĵ6???#?6;????!!-?[&knJ8??A?X?s????/?T?y\r.??Y<wX݌D??)`o?x???B\Z??]??F??<ʇQBv???H͇??;??iu]̰???y\"?]????4???R???Nr|?7?.????O??????Q?b9?t~r??,?[a\Zvt?k??H????q?Ȓj????N?z?Z???????3|n\n?~/ꨡ?<%d??????SH??u3\'?*uN?"?f?m??(??5??ޝ?f?????μ??F?Sa???ޘCb??8s#??Y??\0?z`{??4o??7???\":\0??????.ۗ???N??ҫ??????u)?|2ƺ2W??<??ڒP??#W??&\\};\n3????N???M?^\\?^;?Ǝ?T????C??+??c??`???K??.A?O?G4?????\0$???\W{Mm?#Sk?ҧ!??Y\0??hچa??5???D<????j?I????{B//Ҟo???ٕ?v?Բe???Zr?8??ytui>??R????=?ўYFsR??????Sf?௻??h? ???R?a?????$?f??ׂ{3P?N??%???1?I-??\"?!?[)1?5??m??HyҠ??L???+?v???lB????`y\Z?L??V?]X?4*?=?1?{~?zW\ZO&?ծ?C??C??????????O?"?	Þ?Hi???6??#{Q-??????;4??1ڳ?%ʽ?}?*?.;JC??Iv??G?t???????$\'???8s????B~Rc	?,???K:I\Zz?n?~???}*P,?1V4??M?Z?Ֆ?OM?e????u?!HR????????uM%?UNFI??	N?????Iv{?=H	??\0?m??4($o@\ZC?0?????*????4???????s??/3??,???n??]ȫ?K4{z???I??S?auw?a??ك?+?8?&~??????.???UH).?T?'?6U????U?%ңLB?)??*n?q??اn%??F}V\'3:?Z?[??(?????o4Hzyp:qw?+?qb???T????|???HS???\0?eG?Ͱ?????\\?n?y)????6?&S???????^%????Q? ???=?{i?,??'?sJ?>?a???1j??14(a? !;?5?S??????\r3ߓ?3)G潭????????????:22??Bi??fh??Pjz?W?1???3ZBZh?????r?`r?C[??'ϕZ?[?&????gs??b??'{???a??j%N?G?hSA???nS?L????~?#u)?-?	d?j????́v??????u??6N????????ʷ?????????????`?Tnb?????h\'?:ɯ???\0`oYӫ???MF4d??H<#???_??v??*?D???LЊ?????f?R?????i????f&{?u>?????_??????ET\"D	m?????????d??=?	YV_??4?5:ɓg|?%?W???6$ f?4>??n??K9}?\'o?+?v?B??̀?we??7f??Fy?ϟ???̝?_?;??? ??.?.?\Zv:Hk-?-??RO??NlAd?\Z?F\"?a?ݸڟ??H9?????@???Nt.j?S?Q????b??`????iL?p?k?%??׾?d?>????p???;?T35O9?5S=??5Q?X?0???K????i?lۤ=a????/?{?S,$??y@??A???M?<??l?;?D??????B??5???A\noR?N=?o$?Z^??^?zE?AG?+hjven????\'M??|???fo?>???5?B	k%??????P/??VK????8??4ܘ?:??>ps?i?;9ɜ!\0???6??mBwʱQ?q?M?}????\r{\r?p??q?gʤAə??4e????E0????/b?q\n??????X???????_mBf??????ux;\r??E?Tv?L??|_▝_???7o~J??Ԉ0?ݠs??e???a?V??z??}?B????~F?ֽ?(	D????+W??????5JxMST???S?ݲ?K?=u???@????/UC?J#U??w?up)d?;?\0@{*?"?~_ ?;_3????}~?f??٫rrgU???????I?? ?&\r?\?/T%T?E?E?2?(?s׭??^n???ɾ)&Goh?3?\Zr??	????k*W?UpE%??\\p?_?7?^??????w22?3>???7?p3????lw???Q?n??d\\=??\r\'m?????s@1?M?{?:?qQ?1\'?d??"???VlÊY?6?t?\'PBKW\0Tν:C}??r??\'f;?\0(?U??D??92O?.1\"???8q??+???#?0???'?{????;}??W?q1??r??:?????6>\Z?Os?Bx۶?/?ѽ?:?????bK?\'?ӈ???P?Ÿ?w:t??\Z??????hm>???????&??(?i???gc??f????O/??????_d?+R?????Z???zY)????8??????M:?$m????r????\0???U????????m熈?????)?%.??;<WI?K?|???????[%??1?h?;?????@?Ţ??ɭkPbmƳ??}U̾?\0??d??Ys\r???t??[??r	\'L>??g]?G!?W<W??t?a(???Qi???8?D??"?????W?]`??xP?vCŎ?\Z\Zf?\0ɾ}??S=?g??V??奆?V?ѵL8??OAS?\rn????Y@E??F?[?|zT?1?^g?2?y??	????????,???T}?_??L)Ƴ?֍??JƫZ?.g?;??aL{?9\Z\\???\'=	??BR???X=ưQۘi4??01?U?v????\'????U\\n̄?>h?I????R??rЅ\'X?[wI&????bKq???X??s։??\0??Y?>???]???02\"????w6$?J\rX???ڱO??????s?`㰠?*n?<G??O8s?v?S?Ū>n\"?D?????L??\"?!???8?J?¿	q:?g?G\r/?????lN????f??v\rԋ?,+??b????]?`???z??0?px:?Q?3V?3%???t?V-I]Jbc?}X?u???wy?%?֒J$\0efJv??m)v?5???kne?}??U??+*??r:?ˇ썃yHb֐?׽?Կ?Ѓ*??sȦp1v???????????^}7??6??f4?	|??Ɍ??GēȐ??rI??s??ۅ8?w\r\r@??????U?ԃ??Z??G?????=Ƃ\n?A2???%GN??g$?? ?i????NTz?M??}[?????9??r?ñ????fu?<?H??Yv?s^dm??>M;XR??Z??2?M-P?T?г͢??8ʓ???}\nyi??\'?Q????a6?6?g5??#[???????????5??.YІΑ??윷q\'$3?G9??9??)?\n?????$r0????J?)?I?Q?:?(ǵ?\\a(w????i8??S?b?\Z ???k:??@?(=;??M?`??\ZGh?\n?PQ??x?F^?Ա?\'?O9p]?	?9??\\ta?5?N??L?????ژ???^ ?????9^?F?0?1???L?k??f?ەɠ?ˤ??4??#?q????8?|3??QS[???6Tt?\\x9s?N???j?;?qcT\"?{?bp?\\?-e\Z?H?N?Ń????g??-?ԛ???E???ݽ??ध?ƶ???4?????o??\n????1????C??o?L?????m?-)?3??&9??m%.RV?>?V?C.??.\rȷ??2\0c?b??09??7*M??w??Vm??r?@?j/????M??????ӧX??Q?f??ҳ%?3??"?}??;?I??dh9???b?\0\r?);?.&????4\"J?Kcʄ????m???Gn#J?C?????????_<:z?z%?J??Δa????I???Af??$?n?V?gX?e???????e?K??51ʗ?????I?????????Y?????z?29?+X\\?ο??j???z??=??^????l<??????zI???5?\r\'?\"cٶW\'	?a?WD????;?X??X?)D[??0x???X?	????ś\Z?Ãp?`$O??!??~??P???\";N{\'?Ԥ{w?6???k????????e\Z40d?.???????k9?Z	anG?????b/???n?????F??M@d????	 ?????Zꨦi[???=@?Eb|???Ҫ?TX????????*|?5L?,?+?????\"???|?\\&ڙ?\Z?(?TuD\"?$]?I?^???R??ⱷ/Z?\0?0?	eY???7????\">?Z5??Ry??D\n????Q?r}?V???}nYH]?(??}???d?Y?#1???f???J??Cq8?????驥9.w???wB?E?tJ?y?4UՉ?GG,??r??????Ȕ??N???q?N=.?z\\?#1f?{ ???\'\' VU???????(????!BP_F??X$???Š:?|0?K?|?S???ܼ-??c??!??f??XO?v??J???p1	*^???훃?8?K?B?2WU???>?y?M??#D???d??ބ`?9#???|????????\Z???~3oc?ne??(r-G+DI=\\Ԋ??\r????٤?]??K\nb?KG?????l?=?}? dK͠c??Z?M?~&#??:L?q??1??w?蓏??T}?ObI?????????P?????	?\n~N?J/,?????lh1?LF\0F???5????????V?\Z0???A?)	c?B_??+\n??d}????????????ghL?Z??Z?=??????,U+6U8e?}??z?u????!??r?vf\rS?$8???~?ʋ?`N?(-jL~d?%C>-?J?#Ce21?\rQ???,n??N???)Ni?E?e?Ⱑ???х?F???????H?+%oL???꥝?????\r?ץ? ??>??.1,?IAN8ɪ??:????|U???]3????R0Oj???ݷ?J?f??ݿ~b?f?$?.\0???????i?}3??[\'Z#<??ߎO??7?0?qS?wA?ҌK?DO4l?:N?????OߏY?Wl?V*m??b?/?c<20+{?\"-#?:t3i?_?i\r?Z\n(?}ȼ??WуwI?u?ĔyE.-??u0r,JUh_ba`X?????8,?\0?#?u??Ch????K?)???\Z@kP?̋???y*?J???x*<C1E?|`?pd?\'3??8/????R??ɣ~??W???N????????????(\r\0N???rÎ?7??&?gn???l?e1%??????y??????s?H;??vzf??ʠ?T?S0:?\na˙?????ĭ??k???>I?r???|?Q??A{,[Mh?߫}????ԙ?⦸???@@??Plv5????????Ѯ???}(WN??prr???'????ً~???CϏͿ4??=??\0u?B???sP???,???Y?8?I?5r?*???<ѡ\'??3{&c???	-????Ģ??8??0??T?????~,x?]Q???????V????\0???0r?HP?l,??$ok?H\0y?c?=U?j??˵V??hC??F???氉??=??׍?;???`o?a??s</G?uK[?d????]Lo\'ӑog_:?5o?D]?+Gp\Z$?[????g?=????$??? ,;?<?i?ꇨi????޹H`?K??-??C?GM9?9l?xj??MXFb4p?_? I1x?-?!??e?|???7s?#\"????Z?)?.na?ߖv???{Rg	???????:???!??G?l=?/? ?ɟR\\Y???????a?q#?)???/??b?HJ?Z?????Z?4x{?Y??Ȏ?W????^s??\0????{???Ym??h7????v??S??T??c&?a?_??Z3???yN??m?(#\"?M#?|?R`??h? ???????ֽ,5u^=[?+?-??/?fs??4D?????F˒P?ijm?????=Cq\rh?3P-j?m??=.¤d݁!?\n????h?x?L???9?\0???	??$?1yӉh=?\ZÈ??????8?깗??+?????wx\\??r¬???5h\'F?????3,?Q??)??ZXT??{Љ??)\\?"=?~V??pjl?P?`???%z1?e?o_ J۲???}L??z??Ƭ9?s?*-+?9?{No$????&r?6?n?\'?!~????lAD2l!?1!?<?E??r?s??Hf?;)??g،???g?dd?? ??\r??~3%m9~5V?n7k????Y??o?????ΠоD??<@jěwc?RF\Z?n??Ѳ?mYXe?u\'\'|\"????Qu?:>g??????M?E??-??k????l???-???Z?\\??ݕ?2ƈ?Q?{:Q??	?9:?Ay,??[p?s??t?ٽ%:????eq???E}M?tؖtCDP?)qW??]?????)&??]???????༡?:?Ri??g??7??";?*?Du?:?z???7T?V?_avu?1??vi_??q%]??b???????[&Pq??S????\\??C?;,G#f?0??M?C?N\n?v-??i??Zz????\"?IOA?7???ѩ??\\2??7k*?4??X5/????$\n\0`WRW?\"?O.??(?ЯF???\0?QK!?,\0Zz????n??\0?y/??4s???Y?낃??}?Ojq?l`k?1???-?????yѦ??xc??w?????U??0^??.????????zv??\"?3???????9???F???p?a??X?he????h+lR??????^???]????/???ÎV??8t??3XM@Σ\\?Wb?@}???.D?>W?.?????l?????N???յ???????OңS??K?`??????{?O;???|??????֋1?[??R7A+\r+Kӱ????b?.??S?8??r??hO湵E??'?Q????????΃= ?@+??4\\???A???:??qLEĵ??đ???C?_OEM??_CkvH????ǸP1TAC`??Zu?\"???wn&1UP?W[&RY??f??O0?^??u@?g!W???`???9EA??z??y????????'??;?U??????O\n???\0Q?x??Y??m????????????Z^Е|???HEg??04l?Ѽ?a??;?????h???E\'@u???؅!HG{8rj?qw?Z-ۇ?av???Cc??N??`?r?H?,??:?I??M|1?? ???Ƨ????N??	???NvÍ?I?8??????|??????av???OO?\'??q2??e??w1???\Z???~?1?+z?????~??N???\Z???M?~>[]???K???f+k]ٚ?vUؔ??IE?????????V?p?'?StXO???????;?????^??Q?????4??+f{?p?R]?<?\n?????W\n??#?ߙ???y`??=wfS,\Z\r>??|gq?3?U?Roo7\\???[.Tr????m?????Ļ@$ė????+?Q1???z_uHl?ۣgfI???H?r?}q}??\"8nZ??Jf/P????s8%?HQA?X?????]?\\Y\"!?ކ7N??$?nv>&_CO?`MZ?Ӳ?????r?y?/?8?m4?x???ž??$XNd0??Óvv?Fo??W?s?)I{??d?S?F??t1??p`????????@?kB?*??:	?Gu?\r??:???\0p?C?\'\Z??????????s??E???#8?QB_u?^?C⡐y??0???@?B]KT??%*6?X?????F?t?????=ssP?????b??ad~?k}9;ٗ:??\??????9?C?oo\r?7L?/!???\QI???????]??ԋha?"??F??8?m\'???????;????)p?U?=???B6?Q]?0???#??,G?T?[??Ү??j=<?M?+??_?3S?M*?n\\1?-?F??wGY~q僩4,G?9?Q?,?Y=@#?\n????O??????ބ?0?O??L^?0}8?????>?/rHuR?i?i^3??:??<???:?|O!0G?????f???ż\0@?\'?!??i?j??0?$?: l?)_8?Oa2?\0?\Z??Ns??;???>ў??G?\"?)???l?ExB??????xr?H?\0??TA(qx+???Xt?v?d?I21ĵ5????F\"??dW??b?"??/E?d?|????9n_1????O?j<???Yc?!v`???\r????m,?O???,80?e*?ݒ?*?@|nr	?K?EB?????\r?F??ZeI?4-?ٓ^?*d????C[??????e?2G?2E?\"????/??G6?M\0???~?H d,??vRE??\Zҿ;$/?v?K:f????8??HR?RَUؐ?Msv(?QW~??????m???????F?:??}??????}\Z????\????P?ʗw???2+??Q9t|?Y????=??????`WK????;L????u??p???3?????}?????\'?$w??a?l?N,;???I????\ZZp?l??(!??c????x9\"??>5 [C(?ZRs\\6?1	??\r?;/?????D̲Y?????????\\$;???7??{n?F?7w?$%8 ?G?5??\Z?-???-?ҿ?fiI?`?0??N?0l[VMQ?u8[h_?T$ջr????1\'0?e???? ?x@,6)??85?%???9?]?9????窴??,P0(????7\r?????D?uA??rk??????e\Z??>q???ϛ\Z???h 0i??N????0\n???}?J`\Z?c??M???S?w:?	??%???n1????h^?}??@\'.?}?????^???????Ȯ5??F ??-??z????!?Z	?!??~?l❞?+녫??}?$?mr??rW[?#S=??????h?Ù&?\r?=?L?}???q?I??Q?5?^P ?N_\n!?ylO^ɺ????ҘWࡧ?i\'???????Z??????p[???{\r쏎t?)??pwڵ??F??M?????܈ԯ???0??????Oey!?הÞcc??l̀???y?$?=????p?j?????????$\'??n??>?#???Z??B]?x_??H;??m?64VV??????DnY?H?S?á?g4p6?F+x???H?P??g?t7e???;􁳻R?=I????.Y?;????Y???d????|m??v???WU?4:hRصZ\r?Z0???9p$O???w??ӊr??f???>T??N\r47N0???w??h??n???x?!ب?Ƕw???8??.?C6?п?Lg???JW?????ZwRz\"?Tف???OU??????Q[??Sw??y=??\Zm?v?X?@h?U????????]\'?r???g?oX??␀????K??.???\"??B???b?n????A	???Z???7W?????<?v???5??I??s????0\r?*?	{???=??-??p?\Z}?-9?\Zz?ԁnǋg?!?F>)4?y`h!??3?????????m???Z???e??F?[??&`m\rg?Šgױ??????9\\?}?Z??4?{ڇl? 6 ?D??xh?qy?}y?s??PQ!*?t3ݴ???y?i?X3?gw5??Hѝ???[KT???8??????vJ+U?wr?????\Z.?=J﫻?0V6H?aғ?\"???|???&&?.???J????|??\\b?'?o?C??xh???ÿ)&??F?Y8??\Z????0?-O??,?Q<?tK?M??L*????y\ry\nн???bUxw?8?4?s?\'?G?P??? ညڛ%??Ie??J?*?F?3u??\'??s??V??}5?]`[\n~j@t?V???-x????q??;?[k?X??????q5?????\Z_?}>B????k?Ӷ=??Ei??1?>=??7??A?) M\r5??}{???G֚?R???c?W????E??>q?aCI/!*?qϕ??4 *{{??/?????????+~wt???_{K???ý?rV^~<z[?>?????O??|v??|v:>?????????^?','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:b235713604ad0221f42c356d3029edc2','e?͒?8??S>m??	???S?F?c?ڦ?־??z?f}?d?!l???b?6Y4o???͢????Z?BZVE\'Ƶ?\\??CV?[??cD?%??j???????=9????\\\n><?r??'Y+#??t?v?????????1;?v ?+PX???gp??º????5??3\n?O?	?4??ZP?nE???M?f?UG~??٤?gEe??!???8?%9^IGQP?.u??U???$\'?1Y?y`???+??Q8??/(́?????Q??P??j\r|x????F?4BuKɮTs??V?0k??k??zW%????r??????r?28??~kg??2z&Մ???	?	]?ϔR???}L???tړ%h?Ja???w??AP?ٍƏzC??j?*??KT?\'??.L???*Y??\r?:!?Aap?>?O??\n$.?F?H.?Kwķ?????{O???????|??p5??\r?k??\r?????IP?ø?W؈U??	bV? ??Hv ??r>?ˁ?GGt?:>?㎏???}y????~??lv?[?E{??%ˊ</1.??2M???O?vj3??M?\rfm?E	Q?P???/u??Mַ?\Z??w@?!????????????g^?W???m?????w????KO?6???VHڱ???o?ʪ:I??QM?$q?%<͋&????~????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:b4b179e82c26c40639f621479b89207a','?Wmo???_??(Ɗ?i?iA?[???`-Q6c??)?k???R??!u?{?s枟_?????	?tX???<???.?\\:A???\n?p????\";???	????##???p?,R??i?\r?指b??MH.????9EF????ʒb棂ϸ?s??G???8?????RI???u????????_??;?\"?????????~?Q???	??????$?Ģ?{???????f??&????{6B#{`4uHD$?VG?1?PE????.?<H?a??K?????\n(lAU??0.?+?#6??{	{abj?`7k?Q??6ɘ??7Ӭ??{(\"??G???C?8?l\r????p????r?s??)i|?T|GX盓?x񲝵O??,a?LW??1?r?FЮ\nM??UNT??:????????g???L?\\??S?\Z??u???,?B0?mc?fMAm$d???sI???\"?\\dj1?*??-????1,7l??&\nP;??+?????q?̉)???u?x?e}?8??5???l4?]?{kI?????Ր?????????ٙ??:j_?t?\n????N?RY??]Γ`?%??v?VA0^?=M̀b?N????1???/ꮮ?*+_7J+??[???{5????Z?}!?SO]?uCh4??>?~R\"3????ld??_Q???????9ڙ\0?Mu?y?ڱ?ˊ??޶???۞?k???ʩSQ??n?=??????~#?Μ>j??6?g?_;o7?P?? ????????o??EMW??0?eT^ʲ????R?!W??V?\Z?z??M??\Z?@n??yn?6?CZ?[??7w$?:Q,T?vC)<@????Z?????????????x?9,?\Zƿ??h??????s\Z??Ȥd???P???#???ŹD??????? 2z?????`48*/j?͈??8?˂??~H?#x?a?z?H?ͩ~\n?B❃ӑrJ??\"qFê/oM?g?ŉ?*??\Z???M???+?:??Ib??f?n?Z?\?ئ??8ރ?n?[O??؃*Z??????А?9?1\'%?9?y???j?\ZT?C?6&T?.?????&♶?PG??:8?wU??]?(?	?m?$?>???=?~b??????ֽp???k??,8?.?????????Y??t?{??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:d6de1bf453bba5610359b14cde399221','e?͒?8??]>?fz0IHB?Ü?8US???ۄ???l M?S?I֟_???????^??ƿy?˄?\Z?i?lǄ?g????Lb\r????kk????-??iЇ?P?@?I??J?D??(bX???5N5mX?ZT?c]R[A?7\rR??)?(?????|\r?	h???S)??Z??{??uSdC߃?jՐ_$e6???Z%1e??t???i(\nJ?r?é.??????|?OyL?ڤ?\\.Ŏ\'ǔ?c??oknT)?L7??Z??????еR?f*ٕj?p??Vn??{M!?=P??D?;愄;ٞ??\"?#Y9?z???#e?\\9;?jNf?Ů$???|kGJI?0ADC?)L??d\nڧ?R??X}[??r???F??!9Uh?)?В????r?<juùI????$?0?CHO??;6??XHɩv??m3?zy?r??R??-???'Gu??(??6??Q/M?]??S????4??<u???܀?????$ߐ??6?ņ?6??\r?m????6n?\r?/????}Y?.?eo???X??Ny?q,?\?2A??~8ϋ???S?I?U{??g(`?d????$????@#?????rD?,??>(9xy???5??+i5?_=?c????*?ف?tSY+M;?????????RyU????c????񃐸?\\?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:dfe3f5687acc6e7185386f5a08625dca','?{۸?????ň?-\'N6R_??>??m???(?L?Z???????O???ݞs{??$03?0\0???ӧ?Asz??e?x:O?i4+?Ͽ-??/??«Qz?????8?jz??,??q?m??7???\n??nwyd?y]???l?$CL???·??[????1?}???^??%?\\ j?Q?????c`???????zE?]D????%^?????KB4ȼ?H8tă3p??;\\Yr????b??\"?$????W??s??M??n+? ?t?̂i??"?9????J\'\r????πsw)?|?w?\\\r?@}nle|s???????r???????\0r	?Ւ??g????̹?+e??????,?]??f㠈??2ki?K????r<???????Q?^.ċ?3?h?ɣ?{?_ooυf??<b?%PȒ?j	t?\0?}`?d4ET$???\\??D]h?N?x?p??p????\n5???9?,??Pe??\\??I-:!?|ǋfa:?~???u:??3TFR???O?????\n???Ȑ\r???Yh?R??V)?\r?/?ymgEMҬ????7?_?^??????|??U?mz??Ȕ???h{JCPc?Թ: ??^?"?\n5??;eQp5\\?V????va\Z\\E??	?<J?????{^?v?\nF??? ?ly(?	?[}?/?s;?P?;m??<~?y??7?C;?Gp???fׁnt???/????\,#??H??,2]??/?4o?a?H?cB?Y^??̃Զ??Hy\rW\0?d@m???)???׷?V)?z\"?j?.e4?\Z!$???V??n????????)?Z??!A?\"Tc?^?t??FyXa??Ң?.C?G9tt?{y??EC?q{??-???7P??&?KHQ?f??+?n??8?]%9M\"?F?.q̃{?$?A4?????ݬ?@?U[ɞ??!??W???_?-W?`2/ER????q}?\\??%\r?2-??eb??/I??EX????????IoVA?R?????6?_Rf%??_??gWo???!????	?fZM????/?_?????؊c?C??f` 1?Q??e?d??؛ҐNe_y???RL?+Bɢiz]-?b/\0???u	?T?T?\0((??䠟?.?j6?fZ?????l??jl??????????????YSU????????h?vU???{??QDzQ?zn?[?????P?C?]j?????????e????l<rم{nY溶?JNZ?Cs?????4???ZY?iM?;?ڎ)q=??Ͷa????UTJdG???и̢?????n?h??`?9j?X{?Y?H???v??h?Mj??|x??5?N??Y-Z?L\0h???Y@iB?W?i???j<????WqH?Ϟc??VA??>??rq\\???!???_&:Nh쏡wf?04t??Q=y???/?\\??'????r?!\Z??,B8X?se?e;q?no????H?2?X???q?ǳ?˶E+?7???FG5?+?é??{?Dؚ???^|Lo^GIBmWdJ???\Z?????\\???;?yl\Z0?v???}]?F???u???R??d??)????????/?)J3?Y?r?(??~??\"q$&1v˘\n???ݶL???0N??F???W?????M????f????͋??c?????P5,y?(??3??????\Z?	l?\0???g??k??????Z?sTڦQ?Ry5?>?V_?y1`XI??X+?????_ż????9h????A1???Հ~?l?΢?Z??΋n^|???@Og????0/??????"N?????? ??????qJ\n??Ƴx??????޷???????o>=?<??????G???&ֶ??H?"??״u??\0???\0?}?Q?ѫ??}\r?ct??p?*w<wz?b???\r??W???pl? ?=???t.g?6Yy?#\\dP*\Zz??[?|??????rO,?s??6z?\' E?\r???n?]͢?\Z?ݗ??֌Bg@25?1u??/\0?J欄?j??Ĥy{??9>???*??\n??4?9̪?2}???Ү	,?@[????<DW????TϹ???$??L`?x?iYu?io{?U?0Ȋ??o|;????S?G???[?^?NbsiH[G?Z?Vh*9DB\r???\r.$-N??ً??K?E?r!:??{S????|???????ez?U??<i?t9??\Z\\?	?ȓ#)?Zj?P?]?R[?0?m???6?????s?0? a?I?4C?ߟ??\nn|???WX??F:??B??p?+\n4???+??F?F#??tGi#??x<~???r/???i??l?S?`?s????ߎ???????x>???????2:=y?X???\rj7??Hq?8???C??&?????x??q?+R{????????<??=??B?H????֒????+??C\'?9F??}$?0?>?]OKr???9=]??]?Q??????{?OOw?M??ҩp?4??$??#????Y:???1?\Z$?pͳ,????4?ww??????'\Z?d??_??Vq??8ِ?sM*?s?b???R?Z?P?ʀ0;?????,?:Yv??P?t?,?)\"Yp??l5??96:G??\'??@????ɤn?????\\c????X????????????Y\'?`H3?At?H\'S}?b???m??s?v?ln?)?ʹWb?ʵ?9:A?3DW??~????:??`5??m??lRe9s???R%?\r?@?mY??z???????YO?KpcoWڧ?k?Z?V??\Z\ZJv?M ??X^?q_?\'?n??Z??S???jvM?Ep?0?J?G&\'??L?????}?ǳ?B?|\r%[2F}C+??\0?\'dc?d???	?\\	?Q????Ku?F?Ac??Hl^??2??1j?8~?9?4??t>???\'Zy/???r?Q?Y????????74A????M??o????ϰa?V\"?\r#r??G??{[?M0?I?Mc??d?????xA?c\Z?f?O?\"5W????&toOf????nP????~?C?-\'?*?.O㶙??_???"?ר?Ō?????N??\'\ZbA??????OOz?O?v?A???֓}E?&E<?Lc???4Cb.F4ƤDq???A7????*??\0`???*j?c?Q???Q??\n?	sYL?v??Պ?-ʲ4????F???*?Ҭ6??2\npN?`v??]S????~?n.>??	??c????`?\"\Zrڋ?^:?q;?@ޢ??j韣??q=Ѱ???\\,Dm?I\Zd<??P??9???~m\0???b/?Q???nB?Y???\'??{?????????w<wi6?h??=Vc??Q??6\rT5+????\"t,??\\????????IT֝+u&??Q)N??i?"?70~?h??P??;?@7???̪mi\'&??u(ö??o??fޑ?h???Tϭ`p/>???G6??!1,??L?QLi^#?R????0???#D?!t??{q?D???/@7?????`,e?\\?Q??GȊ|n?\n??t\0e	m˰*|??l??!SqR??¢ۆΓ\n?C?S:,????޹?v??J?hj$-eE1(i?V??GPU?J?]BP?o?T??s?v???\":??\rp??U??j??1??8??d??K?+%???t??F?F\Zh??h?E???H???\0?T??3 ~Y\\^w)???{????\"9O?\"K???????o????????ri/_?8??\0?p??T?"?n/????!c??e`t?C	?*5J????m??Ǎ??xܣȀ4???,a??\"???Ff?Igi???5M?$?UG?lӏ#?ë(\n7$?!?d?c??Y??:)G?l?%??i<cx?ˍ??T?Bӄdf?z=J)?W?Q4I?A??j%??Z?D??aԸV?ҽU0??z=??o?x\n37??h?r??t??<??g8??????0???7Ǆ????F???Z???j!?ZJ?3??c???ݍ i??t?4XO?p????B`??\r?F;}??zkw??/??6?`??|????ڄ?\n^?/첵Z???F0?策A????nb???-??֢Ѹ???????%?D?P????zO?\'?????*[<??0?S?f?K???qF??t???6=???V&?TS??????_~???w?@`??7?q?Ͳ_?N?/??1???3?R?Qen%??b??]???T#??T?vt??]??5???{?t????????????9?~q??(10\'v?|v???E\0d?|j?W??}?q???h?B??0?%LP?c?-??1y??????h(???rl?QIj???$ٰ????7?h???md?ZÓ?x?\n?!??t^h&w?P/??E?,?c_???????????z???w????~??_?~:???????;?0鼸??_%?:?-ˋ???Zz????Y2?.??$)\0???????w|J??/?u?Ǡ?XQ<H^?|_???sW?f??]䵫?AA?????Y/a?[????_???q4<T?<P ??\r\'?hn???"?C???8|@y?z?????#?\n?w???,?e??}I????F??M??U?7??????ǥz?6?b????ȚnqU\re???d,?]E_?M?O??``(?p?a܃??Mt??z??\'?ZD?V?k??hݗ1??Q6?%GA??????^?P:p(????ܷo?pCQ?????Ft_?_	~??`LxB??\Z??N?A\Z???Z??Y?n??VQ?h?[??y??0hF??o?0???}?F?D?9??ux?\0F?,?ٹ+?,1?$??_J??:??fϷ\r a?LZ	???<WC?-?03_?X???\\#?L???N-?F[^kA+*??????|??Ե?/?#???&???z??XF?5ږ?\r???%fh???w????m)?kk0?gq????4gP??j\0???h??A?G??ӛ??#3#|??#,L?&qB&*?_O$??/<?N:?KZ??#Z3?K?Cv?l?Ս????z4?))$?᠋??t??Ȓ.kC?$E???I?m??g`&Kl?$?#=	???????O?1B?ҷ??<?Ϲ?[#?!??v픶q?y}??cM??Y?_y??l&??\r?g܄0ۍ!Df\'???ᆫ-u???T4?\'T????n?P0bBR?????y?@?C\'?Bްibߘ3?c??1?B??M|?)?*eۦ%?Ja???)?\"7?L??GL??ie? i?\'???P??\"?\\?WsX?v?π?T?ELs??5]Q??+5?-<??T?>\"?*??\"?,?Y?[?􉁨??蠼?PMШ?????n?i?o?;???;ms??ˉϭ??xd&?\'?={K????]??oe?f|k?O?{H?,???0m`??ô]]?ء_Spe?x??:????#???????6-?+6?"??`hf???Iyꐴ??hB??ƧO????ҼE?nTs??@?Nx??g??(*?C?->ah??,\n?A?????v??Ŋ??<毾s$?pu?????K\0??n̥Q ?21??ya?$?/kI?㼐&??H?Uev1[?3\r???.?#?????3	??*?W??Հa?@?,kXk???R??\r??؈???y??A?\n?:p????U0??pZ???[?F;????P?⎨?+vC???t?D?ɯߜ=:i?9????????ɯ-\0p??Ϣ^t?m,f?MմY?????06Ll?M?????S?Iw???????69y?A?2x@?~z.Ʃy??Wx???9T\0?t|?_g??\C??R??κxH?>`j?][>?%????7???rD)P??I0???м>?@Y????\\O_??cw????]J+E??M7??.o?	p?[?Z_?[?5?H???9???p?͝??&v?g????#}]??=?C?mj:?5?????(??x?? ??\\P??=?]?????J?.???Q|\r??P?v??????D?i?ͯb2???J12?L???E#?<?տ-???vE??3z1?Zx\nO??!c|(`???"?XYx?<<??,y?i????6?*Ey?D&\ZC??o<?????7???? ? ^?@??k??|-?R?I/??"???:Z?B	h??1j????????B??[:?)?\????ຎ`????ç??ĺ?MK??|?z?R?\'Q¢?cQ????a?J?2??/?n???????sf?oU??YR?????,?????'QC?}????w??XocR/???2?J@ڡ??]???????$??]?˾?????SE~\ZFRF}?????w??	\\9L???+?˃????v???گ!?zh}Ɇ?G?v??o?d\n?Z???????֞E?\"???X:????]????????5??<?m?í/?K?0 8\n^??????N֦Al??q˧ų8?S??$<x??Нb͠?Ͻ??v??uNO?????gy??Ϧ????Γ?9.=h?jz[????y?ŝg??????㜞???n?\\?\00&??\0\\}??\0v?	5ĵ?r?E?I?*{<???????0}؀S<???`2 &?#|????????N??g???c?t??ߞ??p???}??\0Ѓ??}?yr???釟???&??7o???$I???LT??+?cm?????k??Te????'\r?Ԟ>Lj??m???=??%Y???N?(?:q????3????AUԣ;9[??\' 8?=[??W?	u???????~h?\r*7I??U?5???ʑ?ei?,U?w0?????>i׊uqG??%?~?9#&?e?>?F??????}Vn??????????V?˟{??ܵ4??5?5?X???_??.{?]??ӵ?j??|?H+??W]?\Z\Z]B?kh??G?9???ˑ????9?ge??md??????u??}8}????6?????*Ԥs?͐C0R?d??V4??K4??G4???????GV??>?GG?ï????v????????8?<?U?4t???誳?R?^??dܘ?E?e?1{??????=?ϑۖ ?????᜾?h???HL?,?b???c??R???OQve?v[.N??m.ow?]Z??A?2c??=???~???!???-?????e?-??\rUG??\'QZA?(\ry?Å}??I3O??~we?D(???щ???&?????խ_??ݺ?#????豈?b??:9f???????rM?z /?;?|+??\n??hLK??\\4??.???rX.?.?ni?ī<?4(??4??\rYE\n???I??v@?W?K?B?\Z|I?v???(????Qq???i8Ҕv??O???}??T0?I?"ٽ??tqq??6??-t?n?Yp1\r?Fx?_?|]???r?4?Y???????/???e??8\n???\'???eQ?!7????Dt?????y???瑿?\n?\Z`k)?}[Y0??H?S???㇟??????ޞ$-?l??#??%NR*?|ҿe]?IQm͗o?Uc???f	 Eqe????辣`??I?Qa@?:h?0b???a?L!Jt?fU?	?\0o?J?i??e?Xa????v?\rqDGI???Op3??(?R?V?km퓚???-Y??????WUY|?^?rև?,??/?\"?[?t???~???????\"\n?R?~v{h??F???(I:???YT??????H~9?d?4???J\r?]??????@?_r!/T@1LO?w?KHJv?cEF?!G??@B@?T??ou???s?	?#\nf(8?\"?j2fnۿ?v髷:Y?W\Zy2?wET??>?????2>??N?\0??vn ?P72??X`??0!??E??~?|?Ò*?d??媙IϪI?8?U?/ˬ???}?{d?????N?~???n?????i?@???ֺ?5?U???F|6?P+??a?lM??|(E????w???M?/???>?+ C{??̶????xMq??Nz;}??????a??D?cp?????^?Ȼ????w8??<&	?O\r\"????ra?Mj\'拘F??????E?)???\'&}F?Ņ?R??R?qf?f??8:?!\"?J?1??a1???p?n?8h?\\9?d?s ??]?а=????t})??!?@?iU?\n??z??%N}q]ͼ0,???\*9O?p?4?X?\n+??-k??T???<o}???????%M?n^?????\Z??0@???|ң?????D	??\0?>?????????<Z??a?????80L>??#0b?I=?{??*j??4?\'??9?#7?z?[?>[OQk_?????\nj???p?ù?x????	?/?b?l???k曫:E:?ކ\Z?M??????\'?B???%??9??Q?hN0??%%?v?e???RHT?4A???y{mrw?\\@\n???P??cQ Ka??U?j$?7??$?͖?Z??wM$????8.^-?O?????;????\n?V?5?c+?N?^4?!??2??w;M????YSG??r?[ձK???촜M??????V{h?H??U????:???q.???v???C;d?????9???jV?Ϛ???NPY?V˘w?j>??U??J????털ۯ??\\????Ӽ?C????p??T?5aY?W?^;???Z????uC#8=QX/<??^?t??M????US~?Ju????5N??V[??è???_?W.]?????h?w	?Wd?d?W?}?F?P䯏B???9?X2??$c????????:&K?????e??&???f?i>\n???H\n?K??=wI???D??4`S??]Q???TrMx?\r???\r?b??l??\0??gY)???????a??\\?/?????F?qXvM?ڤR??*x?5???]?c|ۍ?w??7??׵G??C\n?}xx??]??O0x??\r2q????????1Dx??4E?s(?Fj?AÔ?}?Î&^???!?3\n??????P???%?HJ?C???B[?KZҳC})\\Y\'0???憞?FIM?\\????R?e|??f/?%??n\n??ܖ????TZ?mb?Ҙ{i8??#KE_??d.1?L????9??W|@??ϵt|??n?/43?&A3???6Cl??c??VFӎ?Ї,]?;Ja?,?im?3Iί??X??\'t??bs?Y?1???	?d??	*M?????1oZ??c//?L?#?@3??c??8?????????L@??H+?????'	???pD????u??R??]??N???|?rr?s?¢!|}????g?n??m%Y?\'\0p懣a8b?$P[?m?#/??8?M??@????.????d?ia??-?\Zu?FͲi%{?v{i?B|?G??}wg)?4OV????c?S?	????[lc@+<?? ?$/?Rgw?C?q&?\\?`+C\0k??_?B~??`}߾?\r\r?	?q???????RC5??1viS?yO?3@o?)t?X/U0b?d?\",?zp6?w?К?!=???2mv????@??GK4u????|Qʖ=?R??>?<?AD?i?]????,??J?ڌ???G?\n?HV?P?B?E\"0DS>\r?R?????Jĥ\'-?vn?Q?t??r k[S?VM????d????;u???u??????f`???Xԕ?G???\\?oZȞc????cb????ѴR`?Q`?\0N>?\r\rJ??+????5???]\'??3?\??!???W??{Ɍ̯?J@R??X?ɢq?????%??\n[?7?V:?LX?0b??/??sD?Š?ʑ=:??#?4̋\'?{:DrU?\Z??Bg?jsd?-|??w?K??/@?s1??%???qLb́?k+u?????[k?QԝS4?.\r\"??\0?B???????\nwy??=??z@??l??????6??o?j?j?I??y&Қ???M<Mb@?O|??(??B?????j???VSZ?q??O??K8?????????Eb??2b?,???.A\r??9r@\0????֢????+H.??<}?????????0????x?? )|?,??z???\\!Ƶ?O??g?;ˉze?RA˫C???U?:Q0?܌I??`?3??(f)ko?c?M;?Y]?_;??{???5?4?bX?_???U????b?3+???R?PAx????@?=t??H????/?????$???tJ,?09?C??d???1٫????BFJ8a?\'??cpk????m	?,?~K??&?mӪ?_FGF5?Y?%?P?J?1:ǳ??tG?p?g?+??-G?|????q?sМ?0)?O???? \rzPS?|C???u??^????D???z910??Jwl????I????4??^????sFx??2Ywg??e???????e???²\n?&?<??]=kQ??????_???@?[[????I?r??A>????=x????????q4?5??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:e557e2d70e40d470447b4177d3d62476','?ks۸?c??b,ђ??A??һ???k?v?cyn ?A??J??|I?}?N???}cw	?4\ZyǫG?2a?J?n\'?w????nH	???	%aI??͗ĭ???P?????r3?+??V??$?Ip?\n???=?0$s$????~Sn&07?m\nJ?l??L?b?\n??1z$4?g?Tw?/)??Kv0?\0?b?i????|???a???}????h]??j%?'?A?R?ߝ?~ ???p??M???,???K???%??;?۾?N??\'5g5U\nS-??????7U???QZ?i?\0*݂\"?&??W?B?(D+?0?\nKĆG?J??????Ѳ?oӧD?]	?։R?????d?tz??N??ө??;4?2???zv????&??)??w??N?k?8,g?S%/IY??(?E??9j)?hGE??:?vx?}ĳ%?vs???V/rE??\r?ѩ@Gєc!Y???n??P\nY?0?!????lV%.\n??H?)??,aB=S????\Z?3?I???*}???e???ɞ?'??'jι\'s??ٙ?k??r҄???#?w??.ht?[?e??X??͏?VBꯐ}? [??#?nPZB?K??l?)	~?????Ӟݳ????ҳ7?sf;??5{r???~gr]\0/C?d??G?#?{??f?u??j`??n?:?wr0??c?.??>e???!?2?κ??I?G????4|?]?W:SqSb?=|??P?k?qԐb\'??e9k???ۋ{??????ϝo?5????:{????{j?ƽ??\raܩ\\??vΉ?o6???mT???n?n????=3????ݡ?\\?J4?!?iW???????]:???]?n????)ܫ X?????)S?????p);??o?$?يt񺭒?j?۾?d_7`+??\r?S?g??Kį??gʲ?ޖ?[??\0	Cy\"\"<8?3=A`ѳ].???????,?????,???s?7???;?U~Q?]?x???%?!K\"R?n\n~?:??ڠX\ZԳE)(?Dw&F?J)?Q?+????ת?֘?Ў?u????سKQ?9c?Q?TɠM?\"}Ԣ??mC?LwP޶????]?(W???A?dI?ͱ+$?K?94@?F?Q??H@?6?,\0??=?D???J?8$???5??,????;:>Y=`uO?:?͌b?@a?ӊY2r?7?P?Q?Ϡ?s!;e???\'?????@}?2m????Z?ю?x???:;???(?g????????N??&??GɅ7\Z???&??rX????\??\'\'???!M??+?$̘}?^m?̠\n?$!???d?Y?????C?\n1??o?԰?ƤDHK?(Q?B2FA???\no?t??qA$?|?=8????? _?w?4??N\0?B?*??r?7??'?y?????氏R?K??Wѐj[C?????[?Y?C??)O$???R??????????	??N?b???~<Z???ñ?\"߶߭??q,??;^<4?a??lDZ??H??????L%e?9(e?؁dQ??????5͠??U??????`?h795?\r?{h?I?id?N??~??ܴ??t??ݵ?@?F?ZNx?D? ?Mժ-<PUX??=e4?4???Mۄ??2j?\r?WP??(?(??;?L?~nʏ\r??ï\">???~????&??\r??f?C6?J??\\?p??\"?A?E?$?ѹC??13V+jFK??z`W?ޤ????????n\0}?(?<?h??(=???????4? :6?ڍ?t?	?i??[ñ(?\"U;?0?b?W???K???)??u?_?ڢh???bL瘯?E?4?;	?RE??F????????%??OT.)LASg6???Tqr???v?J??l?"%E??Y?ޗ???1??ٶ-I??:_?6?iO????;?i?1^\"??g?t7wv?5X1?[?;??!?nv%!V??n?!଩???&?\r????<?ߎ??C?m??=?ӟ?n????H?-????+??f?i^???!;	Xx??\Z,}??\rG?Ya?7?:U??????@*?????G???p?E?sJh???n???oXd?m??mo???#}^?S???B8??	?\Z?S?i?!_+??\\__???>2??????C:%L?ir??n?????k焉ߊۄ??2??[??K/&6??\"	??????\\c<_̢+t9?7???8??z}>M???????????A?p	??K?\r???D??,s*0??$?\Z?à?is\r??N???W?c\"????v????gi?`??7U?㟺Lޫ???#}???F.???? ??n??m\\ ???????uV?????P??wW/??s?ةBQ????a?E\r~?\n???!???p2??MFWW?t9?\\]B???','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:e65a51731c12fbd573a69d1428d26955','e???0????N?qS???z?3?EZ@AH?$L?N߽+n????cqeZ?????>???F?\'?????FcR9V&;?8??#+??\Z?Y??k?????vCӠ???????\0?????琇?X??F[ٴ~????u/??Qm-^aW0??ug??&????E0?????Y\r*?~b\Z?5h~u??c9???;ժ!?H?Н6??2?R`?"*??ZE?g??zeM?S]db???l?GyL?ۨ].?7\Zǘ?m8?????????IP??w???h[!u3??5?8\Z]K;W솼9ǐ~Ի\n(??p%?"???e???΍?Ate???9??3?r?)%????\r?9?0u:?)h?Ja߸7|u6*?R?مƏzC?*?*?QST?%??.???,9T?\r?:!?Q?ap?????N?B?N?ۯHh+??=??w???*9l?$?0?x?E???\Z???X	???S????q????p	+?????A??d?!??o?C?\r9n?C???Q?۰??6??????eq????V?i3???+!??<)?$?8U?-2??????S?	O\n~:????Β$=$?\"K??y0??hğ???=????#?eqe;??????/?q?vx-I????~?o?{󫤯??6???*ڱ%???oo?|.??????{8?t????<?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:ea4f7dbb0297c77afa6138e584c7001a','e???0????Nm??l?=????"-? $W?N???\07?????<?I?~??ks???v?e??h4? ?cy?b܄ÑN<??	,?S??ei??F=!*\Z??:\n???	?Q(?$onzy???l??U???Y?R??A?vC?Ts\nk?y??:?^????]ܘՠB? ?1<T??\'?A0?c??k[?C?*?:??*C-??B???Q?$EA??8??!V?I]٬????|U?˩?Fc3\\??\r^?6?B?RR7#	?????m? ???????{?KiǊݐ7???zW\0%?_1?\\?G%[IF{?????????\'?r?9??7t??J5?q??sHa? C?v?¾qo??T0ȍ?b????d???T@???|M.o]?g?Qr???ZDuB?ˣ?!~?_hޱ(?????j????У??{^??U?[¯I??T???k.?ԫ?I????O??@W\r?]???{?HY^?r3?Y??d? ????I?%ZF?.??q?????_???"??vX1????T8w[H?\'???|??.?????S??I?`)6َ\'??(???????o+4??w@?!?Y\\ي?"?Qr?????????*i?K?????N_??m/??cs?IZo?.??2E?lN?(??????$)<>?<??','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:f2a1ade230ce312eb546dbad5a11014d','e???0??]??bc?w?/3??????ݻ????????peZ?????>???F?\'?????FcR9V&;?Xi%?#+??\Z?Y??k?????A?B!=9?? \Z-*ŕ??!?X?????i??/?jc??nZ? (®`Hك?@??葏????Ap?????Y\r*?~b\Z?5h~u??6??ʆ?;ժ??H?Н6??2?R`?"\Z???5?Ϥ!?zeM?S]d????co??<?z?4?!?b??c?{?6x???UJI?$?V??[???-????Jv??K????+vCޜ?????Jt?c???o?J????????΍?Ae???9??:r?)%????\r?9?0u:?I??]%??r_???þ?Tlv????o-ШI?o)?C?]9?*y??ќ????E???Zwl\n??!a$??+?nz??p????J[?1?w8???Q<?e??F?4)t?VB??????a\\?SW?????RV֠܊d?o????ņ7?i?E[?Vv?՝n?????_^??ۇ?`y???z?<y?U?!-???P?28}}}es?Q?? I??#??!? -j~LE??|?2@#?????????+۱???\0߿<??k?HV?4?O?a?????.3г9???[???????AJgY?p????T?\Z?I??????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:f9fba907172d1bec15e59c70619a2029','e?͒?6??S:%????Vm5R4ɑ??7?wOK?7?ֿ???KV?az=?7{\r?Z????/?@kp\0?=???.??@@V3?F%?5???????mч?P?@?H?ֈFs?x????,V?{k?j???56(9(c]2??7\rB?\r?)?H?=??a9??4??΀????????^??:?I??Z?ɘ??7v2T?N	LY$???BpVS????Ro????\Z?V???r<?????.???k??)e???X??m͍*???M?#u3\r?A(?%?R?N?喊=P????z?0%z>0????K?ENg?8`?~?'??rv\"??y????;QJ\r?e\"??kLa?$?h??J?<X?Y[?????F???}??*?ճ????Y?r???K\r?9!?i?dp??>?O??4???ε+6$????76?g?H?\Z???p?|??t4??rMzmR?\r?????i0?ø????V7?'?-A?\r9??#?9?eG???#Վ????^w???????}}?C|?;>1????!0k?:?M?]rY]8J?R??????Xdť(2@?<???(EYT????.??????????\nD?,??6\n???|?????+Y???釩?*??k????|S-??7?????뇯O??dUV?Q?r)>?%%Z?1;V?_?????','2038-01-19 03:14:07'),('sergios_mwcloud-fzg_:resourceloader:filter:minify-js:4:fa771484fc6c7adef0f68f986fafc0bd','e?͒?8??]>?fz ???0?=NՔ?epc?????6$M???Y????^??\r????P?7???Z?(??????????f%?:0JJk????-??mч?P?@?I?ֈFs?x???X?Οdk?j???6(9(c]R[A?W\rB??)?(?????r\r?	h???S)??!	?߼jg?:?)?q?͵j??2Mo?????H\nQ?@pV?ㅴ???\\5???~?FOy????\\ދoN)?????\?RZ?~!Q??R7????2?\??\??Tn??{I!?=R?Z?D?s\\??l?x?PdT?????x?Qɕ?????ؕ???+??Rh8,C?8\\b\ns?#????????g?S?Q??]i??7$??	??Z=G:r??;KO.?G??????8??w??D?@?=?ɹv??m??zy?r??R?????'Gu??(]\r??|C??7)v?\nNA?????v?a??W?????	rVK?E?rؐbC?r9nH?!?\r9oH?m??v??;???????}q???;??????\nʲ*?????p.<?\";???'[:u7??|???o?8?\0???Ħ*??y[[?uo>??^?C?Ͳ??[E???????g^{?կ???\r?L?7???U?eGZ???T?vlM3I?ۇ??EU?????R??<??t? yֈׯ???','2038-01-19 03:14:07');
/*!40000 ALTER TABLE `fzg_objectcache` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_site_stats`
--

DROP TABLE IF EXISTS `fzg_site_stats`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_site_stats` (
  `ss_row_id` int(10) unsigned NOT NULL,
  `ss_total_views` bigint(20) unsigned default '0',
  `ss_total_edits` bigint(20) unsigned default '0',
  `ss_good_articles` bigint(20) unsigned default '0',
  `ss_total_pages` bigint(20) default '-1',
  `ss_users` bigint(20) default '-1',
  `ss_active_users` bigint(20) default '-1',
  `ss_admins` int(11) default '-1',
  `ss_images` int(11) default '0',
  UNIQUE KEY `ss_row_id` (`ss_row_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_site_stats`
--

LOCK TABLES `fzg_site_stats` WRITE;
/*!40000 ALTER TABLE `fzg_site_stats` DISABLE KEYS */;
INSERT INTO `fzg_site_stats` VALUES (1,127,64,1,7,2,-1,0,6);
/*!40000 ALTER TABLE `fzg_site_stats` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_msg_resource_links`
--

DROP TABLE IF EXISTS `pvt_msg_resource_links`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_msg_resource_links` (
  `mrl_resource` varbinary(255) NOT NULL,
  `mrl_message` varbinary(255) NOT NULL,
  UNIQUE KEY `mrl_message_resource` (`mrl_message`,`mrl_resource`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_msg_resource_links`
--

LOCK TABLES `pvt_msg_resource_links` WRITE;
/*!40000 ALTER TABLE `pvt_msg_resource_links` DISABLE KEYS */;
INSERT INTO `pvt_msg_resource_links` VALUES ('jquery.makeCollapsible','collapsible-collapse'),('jquery.makeCollapsible','collapsible-expand'),('mediawiki.legacy.wikibits','hidetoc'),('mediawiki.special.upload','largefileserver'),('mediawiki.action.view.metadata','metadata-collapse'),('mediawiki.action.view.metadata','metadata-expand'),('mediawiki.legacy.wikibits','showtoc'),('mediawiki.special.upload','size-bytes'),('mediawiki.special.upload','size-gigabytes'),('mediawiki.special.upload','size-kilobytes'),('mediawiki.special.upload','size-megabytes'),('ext.svgedit.editButton','svgedit-edit-tab'),('ext.svgedit.editButton','svgedit-edit-tab-tooltip'),('ext.svgedit.editButton','svgedit-editbutton-edit'),('ext.svgedit.editor','svgedit-editor-close'),('ext.svgedit.editor','svgedit-editor-save-close'),('ext.svgedit.editor','svgedit-summary-default'),('ext.svgedit.editor','svgedit-summary-label'),('ext.svgedit.toolbar','svgedit-toolbar-insert'),('mediawiki.action.watch.ajax','tooltip-ca-unwatch'),('mediawiki.action.watch.ajax','tooltip-ca-watch'),('mediawiki.action.watch.ajax','unwatch'),('mediawiki.action.watch.ajax','unwatching'),('mediawiki.action.watch.ajax','watch'),('mediawiki.action.watch.ajax','watcherrortext'),('mediawiki.action.watch.ajax','watching'),('mediawiki.special.upload','widthheight');
/*!40000 ALTER TABLE `pvt_msg_resource_links` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_msg_resource_links`
--

DROP TABLE IF EXISTS `fzg_msg_resource_links`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_msg_resource_links` (
  `mrl_resource` varbinary(255) NOT NULL,
  `mrl_message` varbinary(255) NOT NULL,
  UNIQUE KEY `mrl_message_resource` (`mrl_message`,`mrl_resource`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_msg_resource_links`
--

LOCK TABLES `fzg_msg_resource_links` WRITE;
/*!40000 ALTER TABLE `fzg_msg_resource_links` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_msg_resource_links` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fzg_user_newtalk`
--

DROP TABLE IF EXISTS `fzg_user_newtalk`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fzg_user_newtalk` (
  `user_id` int(11) NOT NULL default '0',
  `user_ip` varbinary(40) NOT NULL default '',
  `user_last_timestamp` varbinary(14) default NULL,
  KEY `user_id` (`user_id`),
  KEY `user_ip` (`user_ip`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fzg_user_newtalk`
--

LOCK TABLES `fzg_user_newtalk` WRITE;
/*!40000 ALTER TABLE `fzg_user_newtalk` DISABLE KEYS */;
/*!40000 ALTER TABLE `fzg_user_newtalk` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `peg_tag_summary`
--

DROP TABLE IF EXISTS `peg_tag_summary`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `peg_tag_summary` (
  `ts_rc_id` int(11) default NULL,
  `ts_log_id` int(11) default NULL,
  `ts_rev_id` int(11) default NULL,
  `ts_tags` blob NOT NULL,
  UNIQUE KEY `tag_summary_rc_id` (`ts_rc_id`),
  UNIQUE KEY `tag_summary_log_id` (`ts_log_id`),
  UNIQUE KEY `tag_summary_rev_id` (`ts_rev_id`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `peg_tag_summary`
--

LOCK TABLES `peg_tag_summary` WRITE;
/*!40000 ALTER TABLE `peg_tag_summary` DISABLE KEYS */;
/*!40000 ALTER TABLE `peg_tag_summary` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pvt_user_former_groups`
--

DROP TABLE IF EXISTS `pvt_user_former_groups`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `pvt_user_former_groups` (
  `ufg_user` int(10) unsigned NOT NULL default '0',
  `ufg_group` varbinary(16) NOT NULL default '',
  UNIQUE KEY `ufg_user_group` (`ufg_user`,`ufg_group`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pvt_user_former_groups`
--

LOCK TABLES `pvt_user_former_groups` WRITE;
/*!40000 ALTER TABLE `pvt_user_former_groups` DISABLE KEYS */;
/*!40000 ALTER TABLE `pvt_user_former_groups` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Dumping routines for database 'sergios_mwcloud'
--
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2014-03-03 17:11:54
